roebe 0.5.187

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.

Potentially problematic release.


This version of roebe might be problematic. Click here for more details.

Files changed (2901) hide show
  1. checksums.yaml +7 -0
  2. data/README.md +5852 -0
  3. data/bin/blinking_cursor +7 -0
  4. data/bin/browser +7 -0
  5. data/bin/colourized_tokenitor1 +7 -0
  6. data/bin/colourized_tokenitor2 +7 -0
  7. data/bin/colourized_tokenitor3 +7 -0
  8. data/bin/colourized_tokenitor4 +7 -0
  9. data/bin/colourized_tokenitor5 +7 -0
  10. data/bin/compare_these_two_directories +7 -0
  11. data/bin/create_file_skeleton +7 -0
  12. data/bin/create_my_directories +7 -0
  13. data/bin/create_wpa_supplicant_build_file +7 -0
  14. data/bin/create_zip +7 -0
  15. data/bin/custom_invoke +28 -0
  16. data/bin/delete_empty_files +7 -0
  17. data/bin/display_gcc_version +7 -0
  18. data/bin/do_a_google_search +7 -0
  19. data/bin/extract_gem_file +7 -0
  20. data/bin/fragment_maker +7 -0
  21. data/bin/generate_fstab_file +7 -0
  22. data/bin/handle_xorg_related_boot_phase +7 -0
  23. data/bin/hello_world +7 -0
  24. data/bin/in +7 -0
  25. data/bin/increment_application_version +7 -0
  26. data/bin/increment_application_version_then_push_the_gem +13 -0
  27. data/bin/install_all_registered_fonts +7 -0
  28. data/bin/install_jruby_addons +7 -0
  29. data/bin/install_my_addons +97 -0
  30. data/bin/install_my_addons.rb +97 -0
  31. data/bin/interactive_file_creator +7 -0
  32. data/bin/java_compile_statically +11 -0
  33. data/bin/kill_firefox +7 -0
  34. data/bin/kill_palemoon +7 -0
  35. data/bin/konsole_title +7 -0
  36. data/bin/larrow +7 -0
  37. data/bin/log10 +7 -0
  38. data/bin/menugenerator +7 -0
  39. data/bin/modify_shebang_header +7 -0
  40. data/bin/openpdf1 +7 -0
  41. data/bin/openpdf2 +7 -0
  42. data/bin/openpdf3 +7 -0
  43. data/bin/openpdf4 +7 -0
  44. data/bin/openpdf5 +7 -0
  45. data/bin/openpdf6 +7 -0
  46. data/bin/openpdf7 +7 -0
  47. data/bin/openpdf8 +7 -0
  48. data/bin/openpdf9 +7 -0
  49. data/bin/passwords +7 -0
  50. data/bin/path_generator +7 -0
  51. data/bin/print_this_unicode_symbol +7 -0
  52. data/bin/quick_colour_test +13 -0
  53. data/bin/rarrow +7 -0
  54. data/bin/rdate +7 -0
  55. data/bin/remove_this_substring_from_all_files +7 -0
  56. data/bin/replace_space_with_underscore +7 -0
  57. data/bin/rfirefox +7 -0
  58. data/bin/rinstall2 +7 -0
  59. data/bin/roebe +7 -0
  60. data/bin/roebe_documentation +7 -0
  61. data/bin/roebeshell +11 -0
  62. data/bin/ruby_cat +7 -0
  63. data/bin/ruby_dhcpcd +7 -0
  64. data/bin/run +7 -0
  65. data/bin/rxinitrc +7 -0
  66. data/bin/set_alias_1 +7 -0
  67. data/bin/set_alias_10 +7 -0
  68. data/bin/set_alias_11 +7 -0
  69. data/bin/set_alias_12 +7 -0
  70. data/bin/set_alias_13 +7 -0
  71. data/bin/set_alias_14 +7 -0
  72. data/bin/set_alias_15 +7 -0
  73. data/bin/set_alias_2 +7 -0
  74. data/bin/set_alias_3 +7 -0
  75. data/bin/set_alias_4 +7 -0
  76. data/bin/set_alias_5 +7 -0
  77. data/bin/set_alias_6 +7 -0
  78. data/bin/set_alias_7 +7 -0
  79. data/bin/set_alias_8 +7 -0
  80. data/bin/set_alias_9 +7 -0
  81. data/bin/set_browser +7 -0
  82. data/bin/setpdf1 +7 -0
  83. data/bin/setpdf2 +7 -0
  84. data/bin/setpdf3 +7 -0
  85. data/bin/setpdf4 +7 -0
  86. data/bin/setpdf5 +7 -0
  87. data/bin/setpdf6 +7 -0
  88. data/bin/setpdf7 +7 -0
  89. data/bin/setpdf8 +7 -0
  90. data/bin/setpdf9 +7 -0
  91. data/bin/show_available_users +7 -0
  92. data/bin/show_ten_aliases +7 -0
  93. data/bin/simple_extractor +9 -0
  94. data/bin/start_lighty +7 -0
  95. data/bin/symlink_directories_from_that_directory_to_the_current_directory +7 -0
  96. data/bin/symlink_everything_from_that_directory_to_this_directory +7 -0
  97. data/bin/symlink_files_from_that_directory_to_the_current_directory +7 -0
  98. data/bin/take_screenshot +7 -0
  99. data/bin/to_binary +7 -0
  100. data/bin/tokenitor +7 -0
  101. data/bin/vim_paradise +7 -0
  102. data/bin/wlan +7 -0
  103. data/bin/word_count +7 -0
  104. data/bin/write_what_into +7 -0
  105. data/bin/yaml_check +7 -0
  106. data/doc/README.gen +5790 -0
  107. data/doc/add_ons_for_ruby/README.md +3 -0
  108. data/doc/add_ons_for_ruby/activerecord.md +99 -0
  109. data/doc/add_ons_for_ruby/ansicolor.md +62 -0
  110. data/doc/add_ons_for_ruby/axlsx.md +60 -0
  111. data/doc/add_ons_for_ruby/bundler.md +20 -0
  112. data/doc/add_ons_for_ruby/byebug.md +14 -0
  113. data/doc/add_ons_for_ruby/camping.md +9 -0
  114. data/doc/add_ons_for_ruby/caxlsx.md +72 -0
  115. data/doc/add_ons_for_ruby/cgi.md +124 -0
  116. data/doc/add_ons_for_ruby/chunkypng.md +19 -0
  117. data/doc/add_ons_for_ruby/classifier.md +7 -0
  118. data/doc/add_ons_for_ruby/coderay.md +82 -0
  119. data/doc/add_ons_for_ruby/daemons.md +92 -0
  120. data/doc/add_ons_for_ruby/dl.md +114 -0
  121. data/doc/add_ons_for_ruby/erb.md +25 -0
  122. data/doc/add_ons_for_ruby/erubis.md +124 -0
  123. data/doc/add_ons_for_ruby/ferret.md +16 -0
  124. data/doc/add_ons_for_ruby/ffi.md +28 -0
  125. data/doc/add_ons_for_ruby/fox_and_fxruby.md +492 -0
  126. data/doc/add_ons_for_ruby/fpdf.md +389 -0
  127. data/doc/add_ons_for_ruby/fpm.md +46 -0
  128. data/doc/add_ons_for_ruby/ftp.md +70 -0
  129. data/doc/add_ons_for_ruby/fxruby.md +14 -0
  130. data/doc/add_ons_for_ruby/gist.md +30 -0
  131. data/doc/add_ons_for_ruby/glimmer-libui.md +43 -0
  132. data/doc/add_ons_for_ruby/gmail.md +22 -0
  133. data/doc/add_ons_for_ruby/gosu.md +12 -0
  134. data/doc/add_ons_for_ruby/graphviz.md +246 -0
  135. data/doc/add_ons_for_ruby/gruff.md +95 -0
  136. data/doc/add_ons_for_ruby/hexapdf.md +66 -0
  137. data/doc/add_ons_for_ruby/highline.md +16 -0
  138. data/doc/add_ons_for_ruby/iconv.md +20 -0
  139. data/doc/add_ons_for_ruby/id3lib.md +173 -0
  140. data/doc/add_ons_for_ruby/inline.md +30 -0
  141. data/doc/add_ons_for_ruby/inotify.md +130 -0
  142. data/doc/add_ons_for_ruby/instiki.md +38 -0
  143. data/doc/add_ons_for_ruby/jruby.md +253 -0
  144. data/doc/add_ons_for_ruby/json.md +64 -0
  145. data/doc/add_ons_for_ruby/kramdown.md +34 -0
  146. data/doc/add_ons_for_ruby/lexer.md +19 -0
  147. data/doc/add_ons_for_ruby/libarchive.md +91 -0
  148. data/doc/add_ons_for_ruby/libburn.md +29 -0
  149. data/doc/add_ons_for_ruby/mail.md +51 -0
  150. data/doc/add_ons_for_ruby/md5reverse.md +10 -0
  151. data/doc/add_ons_for_ruby/mechanize.md +195 -0
  152. data/doc/add_ons_for_ruby/memcache.md +22 -0
  153. data/doc/add_ons_for_ruby/midilib.md +35 -0
  154. data/doc/add_ons_for_ruby/mime.md +15 -0
  155. data/doc/add_ons_for_ruby/minitest.md +39 -0
  156. data/doc/add_ons_for_ruby/misc.md +3 -0
  157. data/doc/add_ons_for_ruby/mongrel.md +68 -0
  158. data/doc/add_ons_for_ruby/mp3info.md +121 -0
  159. data/doc/add_ons_for_ruby/mpd.md +16 -0
  160. data/doc/add_ons_for_ruby/mruby.md +13 -0
  161. data/doc/add_ons_for_ruby/nokogiri.md +32 -0
  162. data/doc/add_ons_for_ruby/opal.md +53 -0
  163. data/doc/add_ons_for_ruby/openid.md +10 -0
  164. data/doc/add_ons_for_ruby/padrino.md +4 -0
  165. data/doc/add_ons_for_ruby/passenger.md +4 -0
  166. data/doc/add_ons_for_ruby/prawn.md +269 -0
  167. data/doc/add_ons_for_ruby/pry.md +85 -0
  168. data/doc/add_ons_for_ruby/puma.md +29 -0
  169. data/doc/add_ons_for_ruby/qt_and_kde.md +793 -0
  170. data/doc/add_ons_for_ruby/rack.md +212 -0
  171. data/doc/add_ons_for_ruby/ragel.md +19 -0
  172. data/doc/add_ons_for_ruby/rails.md +97 -0
  173. data/doc/add_ons_for_ruby/ramaze.md +72 -0
  174. data/doc/add_ons_for_ruby/rbenv.md +13 -0
  175. data/doc/add_ons_for_ruby/redcarpet.md +6 -0
  176. data/doc/add_ons_for_ruby/redcloth.md +11 -0
  177. data/doc/add_ons_for_ruby/redmine.md +8 -0
  178. data/doc/add_ons_for_ruby/rmagick.md +555 -0
  179. data/doc/add_ons_for_ruby/roda.md +6 -0
  180. data/doc/add_ons_for_ruby/rspec.md +12 -0
  181. data/doc/add_ons_for_ruby/rtf.md +74 -0
  182. data/doc/add_ons_for_ruby/rubocop.md +84 -0
  183. data/doc/add_ons_for_ruby/ruby_users.md +23 -0
  184. data/doc/add_ons_for_ruby/rubygame.md +403 -0
  185. data/doc/add_ons_for_ruby/ruport.md +23 -0
  186. data/doc/add_ons_for_ruby/rvm.md +17 -0
  187. data/doc/add_ons_for_ruby/sdl.md +200 -0
  188. data/doc/add_ons_for_ruby/sequel.md +55 -0
  189. data/doc/add_ons_for_ruby/setup.md +92 -0
  190. data/doc/add_ons_for_ruby/shoes.md +7 -0
  191. data/doc/add_ons_for_ruby/sinatra_tutorial/sinatra_tutorial.cgi +7 -0
  192. data/doc/add_ons_for_ruby/sinatra_tutorial/sinatra_tutorial.rb +960 -0
  193. data/doc/add_ons_for_ruby/sinatra_tutorial/sinatra_tutorial.sinatra +56 -0
  194. data/doc/add_ons_for_ruby/slop.md +27 -0
  195. data/doc/add_ons_for_ruby/spreadsheet.md +153 -0
  196. data/doc/add_ons_for_ruby/sqlite.md +115 -0
  197. data/doc/add_ons_for_ruby/systemu.md +21 -0
  198. data/doc/add_ons_for_ruby/thor.md +16 -0
  199. data/doc/add_ons_for_ruby/tk.md +468 -0
  200. data/doc/add_ons_for_ruby/tty.md +9 -0
  201. data/doc/add_ons_for_ruby/tty_box.md +28 -0
  202. data/doc/add_ons_for_ruby/tty_prompt.md +25 -0
  203. data/doc/add_ons_for_ruby/vorbistagger.md +33 -0
  204. data/doc/add_ons_for_ruby/watir.md +30 -0
  205. data/doc/add_ons_for_ruby/webrick.md +399 -0
  206. data/doc/add_ons_for_ruby/whois.md +52 -0
  207. data/doc/add_ons_for_ruby/windows.md +346 -0
  208. data/doc/add_ons_for_ruby/writeexcel.md +67 -0
  209. data/doc/add_ons_for_ruby/wxwidgets.md +3 -0
  210. data/doc/add_ons_for_ruby/xml.md +198 -0
  211. data/doc/add_ons_for_ruby/xosd.md +21 -0
  212. data/doc/add_ons_for_ruby/yard.md +39 -0
  213. data/doc/add_ons_for_ruby/zip.md +67 -0
  214. data/doc/core/abbrev.md +31 -0
  215. data/doc/core/argf.md +26 -0
  216. data/doc/core/argv.md +102 -0
  217. data/doc/core/array.md +1142 -0
  218. data/doc/core/base64.md +7 -0
  219. data/doc/core/basic_object.md +24 -0
  220. data/doc/core/benchmarks_and_profiling.md +87 -0
  221. data/doc/core/bigdecimal.md +13 -0
  222. data/doc/core/binding.md +33 -0
  223. data/doc/core/blocks.md +45 -0
  224. data/doc/core/class.md +43 -0
  225. data/doc/core/closure.md +207 -0
  226. data/doc/core/commandline.md +9 -0
  227. data/doc/core/comparable.md +9 -0
  228. data/doc/core/compiling_ruby_c_code.md +1969 -0
  229. data/doc/core/conditional_requires.md +13 -0
  230. data/doc/core/constants.md +87 -0
  231. data/doc/core/csv.md +55 -0
  232. data/doc/core/dir.md +102 -0
  233. data/doc/core/drb.md +121 -0
  234. data/doc/core/encoding.md +158 -0
  235. data/doc/core/enumerable.md +160 -0
  236. data/doc/core/enumerator.md +38 -0
  237. data/doc/core/env.md +12 -0
  238. data/doc/core/errno.md +24 -0
  239. data/doc/core/error_codes_in_ruby.md +19 -0
  240. data/doc/core/etc.md +95 -0
  241. data/doc/core/eval.md +20 -0
  242. data/doc/core/exceptions_and_errors.md +247 -0
  243. data/doc/core/fiber.md +23 -0
  244. data/doc/core/fiddle.md +20 -0
  245. data/doc/core/file.md +388 -0
  246. data/doc/core/fileutils.md +74 -0
  247. data/doc/core/float.md +33 -0
  248. data/doc/core/garbage_collection_in_ruby.md +75 -0
  249. data/doc/core/gem_and_gemspec.md +447 -0
  250. data/doc/core/getoptlang.md +19 -0
  251. data/doc/core/handling_networks.md +63 -0
  252. data/doc/core/hash.md +485 -0
  253. data/doc/core/hooks.md +47 -0
  254. data/doc/core/imap.md +7 -0
  255. data/doc/core/integer.md +106 -0
  256. data/doc/core/io.md +126 -0
  257. data/doc/core/io_console.md +31 -0
  258. data/doc/core/irb.md +180 -0
  259. data/doc/core/iterators.md +194 -0
  260. data/doc/core/kernel.md +227 -0
  261. data/doc/core/keyword_arguments.md +10 -0
  262. data/doc/core/loops.md +24 -0
  263. data/doc/core/marshal.md +123 -0
  264. data/doc/core/math.md +452 -0
  265. data/doc/core/matrix.md +16 -0
  266. data/doc/core/mechanize.md +3 -0
  267. data/doc/core/methods.md +221 -0
  268. data/doc/core/misc.md +1779 -0
  269. data/doc/core/mkmf.md +164 -0
  270. data/doc/core/module.md +76 -0
  271. data/doc/core/mutex.md +63 -0
  272. data/doc/core/nil.md +14 -0
  273. data/doc/core/object.md +238 -0
  274. data/doc/core/objectspace.md +28 -0
  275. data/doc/core/open3.md +24 -0
  276. data/doc/core/open_uri.md +29 -0
  277. data/doc/core/openssl.md +45 -0
  278. data/doc/core/openstruct.md +67 -0
  279. data/doc/core/optparser.md +234 -0
  280. data/doc/core/pathname.md +49 -0
  281. data/doc/core/performance_considerations_in_ruby.md +31 -0
  282. data/doc/core/pp.md +39 -0
  283. data/doc/core/precedence.md +27 -0
  284. data/doc/core/prime.md +13 -0
  285. data/doc/core/proc.md +131 -0
  286. data/doc/core/process.md +303 -0
  287. data/doc/core/pstore.md +23 -0
  288. data/doc/core/psych.md +7 -0
  289. data/doc/core/pty.md +11 -0
  290. data/doc/core/ractor.md +12 -0
  291. data/doc/core/rake.md +130 -0
  292. data/doc/core/random.md +17 -0
  293. data/doc/core/range.md +25 -0
  294. data/doc/core/rational.md +7 -0
  295. data/doc/core/rbconfig.md +39 -0
  296. data/doc/core/rdoc.md +67 -0
  297. data/doc/core/readline.md +306 -0
  298. data/doc/core/refinements.md +23 -0
  299. data/doc/core/regex.md +663 -0
  300. data/doc/core/reline.md +76 -0
  301. data/doc/core/ripper.md +57 -0
  302. data/doc/core/ruby_and_c.md +8 -0
  303. data/doc/core/rubyvm.md +28 -0
  304. data/doc/core/set.md +26 -0
  305. data/doc/core/shellwords.md +34 -0
  306. data/doc/core/signals.md +32 -0
  307. data/doc/core/singleton.md +47 -0
  308. data/doc/core/sockets.md +137 -0
  309. data/doc/core/splat.md +10 -0
  310. data/doc/core/stderr.md +3 -0
  311. data/doc/core/stdin.md +27 -0
  312. data/doc/core/stdout.md +14 -0
  313. data/doc/core/string.md +854 -0
  314. data/doc/core/stringio.md +54 -0
  315. data/doc/core/stringscanner.md +43 -0
  316. data/doc/core/struct.md +52 -0
  317. data/doc/core/subclassing.md +41 -0
  318. data/doc/core/symbols.md +47 -0
  319. data/doc/core/system.md +3 -0
  320. data/doc/core/tcpsocket.md +14 -0
  321. data/doc/core/telnet.md +35 -0
  322. data/doc/core/tempfile.md +34 -0
  323. data/doc/core/threads.md +127 -0
  324. data/doc/core/time.md +335 -0
  325. data/doc/core/tracepoint.md +7 -0
  326. data/doc/core/unicode.md +5 -0
  327. data/doc/core/unittest.md +8 -0
  328. data/doc/core/unprintable_characters.md +17 -0
  329. data/doc/core/uri.md +14 -0
  330. data/doc/core/xml.md +13 -0
  331. data/doc/core/yaml.md +376 -0
  332. data/doc/core/zlib.md +111 -0
  333. data/doc/deprecations/deprecations.md +60 -0
  334. data/doc/documentation_viewer.cgi +87 -0
  335. data/doc/linux_may_have_issues/linux_may_have_issues.md +92 -0
  336. data/doc/misc/how_to_publish.md +49 -0
  337. data/doc/misc/links.md +19 -0
  338. data/doc/misc/the_initialize_method.md +2 -0
  339. data/doc/misc/the_perfect_book.md +14 -0
  340. data/doc/roebeshell/CONFIGURATION_FOR_THE_ROEBE_SHELL.md +381 -0
  341. data/doc/roebeshell/MANIFESTO_FOR_THE_ROEBE_SHELL_COMPONENT.md +391 -0
  342. data/doc/roebeshell/PHILOSOPHY_OF_THE_ROEBE_SHELL.md +64 -0
  343. data/doc/ruby_on_rails_tutorial/data_types_for_rails_migrations.md +11 -0
  344. data/doc/ruby_on_rails_tutorial/ruby_on_rails_tutorial.cgi +404 -0
  345. data/doc/statistics/statistics.md +94 -0
  346. data/doc/the_ruby_philosophy/the_ruby_philosophy.md +209 -0
  347. data/doc/todo/todo_for_the_roebe_project_on_windows.md +4 -0
  348. data/doc/todo/todo_for_the_roebe_shell.md +741 -0
  349. data/examples/README.md +4 -0
  350. data/examples/date_and_time/is_this_day_part_of_that_range.rb +45 -0
  351. data/examples/gui/fxruby/hello_world.rb +11 -0
  352. data/examples/gui/fxruby/text_editor.rb +51 -0
  353. data/examples/misc/argv_encoding_test.rb +38 -0
  354. data/examples/misc/arrays/center_two_arrays.rb +24 -0
  355. data/examples/misc/forking_example/forking_example.rb +28 -0
  356. data/examples/misc/loops/display_coloured_vertical_bars.rb +10 -0
  357. data/examples/rack/README.md +2 -0
  358. data/examples/rack/all_in_one_rack_example.rb +241 -0
  359. data/examples/rack/hello_world_in_rack.rb +44 -0
  360. data/examples/recursion/README.md +2 -0
  361. data/examples/recursion/quadratic_sum_of_a_number.rb +23 -0
  362. data/examples/recursion/reverse_the_string.rb +31 -0
  363. data/examples/recursion/shift_highest_value.rb +30 -0
  364. data/examples/recursion/shuffle_sort_string.rb +35 -0
  365. data/examples/reline/multiline_editing.rb +21 -0
  366. data/examples/reline/simple_example.rb +39 -0
  367. data/examples/rmagick/001_axes.rb +68 -0
  368. data/examples/rmagick/002_basic_2D_canvas.rb +29 -0
  369. data/examples/rmagick/003_a_walking_duck.rb +42 -0
  370. data/examples/rmagick/004_black_rectangle_with_red_border.rb +37 -0
  371. data/examples/rmagick/A_WALKING_DUCK.gif +0 -0
  372. data/examples/rmagick/foobar.png +0 -0
  373. data/examples/tty_box/all_in_one.rb +33 -0
  374. data/lib/roebe/autoinclude.rb +4 -0
  375. data/lib/roebe/autoinclude_encoding.rb +11 -0
  376. data/lib/roebe/autoinclude_open.rb +3 -0
  377. data/lib/roebe/base/base.rb +29 -0
  378. data/lib/roebe/base/chdir.rb +48 -0
  379. data/lib/roebe/base/colours.rb +671 -0
  380. data/lib/roebe/base/commandline_arguments.rb +109 -0
  381. data/lib/roebe/base/constants.rb +25 -0
  382. data/lib/roebe/base/copy.rb +72 -0
  383. data/lib/roebe/base/editor.rb +18 -0
  384. data/lib/roebe/base/encoding.rb +54 -0
  385. data/lib/roebe/base/env.rb +22 -0
  386. data/lib/roebe/base/esystem.rb +141 -0
  387. data/lib/roebe/base/home_directory_of_user_x.rb +27 -0
  388. data/lib/roebe/base/is_on_roebe.rb +22 -0
  389. data/lib/roebe/base/misc.rb +502 -0
  390. data/lib/roebe/base/next.rb +29 -0
  391. data/lib/roebe/base/opnn.rb +63 -0
  392. data/lib/roebe/base/prototype.rb +523 -0
  393. data/lib/roebe/base/reset.rb +53 -0
  394. data/lib/roebe/base/run.rb +17 -0
  395. data/lib/roebe/base/simp.rb +25 -0
  396. data/lib/roebe/base/support_for_beautiful_url.rb +35 -0
  397. data/lib/roebe/base/symlink.rb +52 -0
  398. data/lib/roebe/base/time.rb +175 -0
  399. data/lib/roebe/base/verbose_truth.rb +22 -0
  400. data/lib/roebe/base/write_what_into.rb +33 -0
  401. data/lib/roebe/browser/README.md +5 -0
  402. data/lib/roebe/browser/browser.rb +26 -0
  403. data/lib/roebe/browser/constants.rb +43 -0
  404. data/lib/roebe/browser/firefox.rb +47 -0
  405. data/lib/roebe/browser/menu.rb +103 -0
  406. data/lib/roebe/browser/misc.rb +367 -0
  407. data/lib/roebe/browser/output_url_then_open_in_browser.rb +175 -0
  408. data/lib/roebe/browser/palemoon.rb +59 -0
  409. data/lib/roebe/browser/reset.rb +47 -0
  410. data/lib/roebe/cat/class.rb +226 -0
  411. data/lib/roebe/cat/method.rb +14 -0
  412. data/lib/roebe/classes/add_irc_quote.rb +132 -0
  413. data/lib/roebe/classes/add_newline_after.rb +124 -0
  414. data/lib/roebe/classes/add_newline_after_n_characters.rb +65 -0
  415. data/lib/roebe/classes/add_this_user_to_the_sudoers_file.rb +67 -0
  416. data/lib/roebe/classes/add_two_binary_numbers.rb +58 -0
  417. data/lib/roebe/classes/add_user_lighty.rb +107 -0
  418. data/lib/roebe/classes/aggregate_all_files_together_from_this_directory.rb +86 -0
  419. data/lib/roebe/classes/aliases.rb +683 -0
  420. data/lib/roebe/classes/all_games.rb +61 -0
  421. data/lib/roebe/classes/all_my_gems.rb +100 -0
  422. data/lib/roebe/classes/alltagsgeschichte.rb +106 -0
  423. data/lib/roebe/classes/alphabetical_sorter.rb +213 -0
  424. data/lib/roebe/classes/apache_configuration_maker.rb +234 -0
  425. data/lib/roebe/classes/append_this.rb +158 -0
  426. data/lib/roebe/classes/append_to_line.rb +141 -0
  427. data/lib/roebe/classes/ascii/README.md +2 -0
  428. data/lib/roebe/classes/ascii/fix_missing_numbers_for_ascii_paradise.rb +96 -0
  429. data/lib/roebe/classes/at.rb +343 -0
  430. data/lib/roebe/classes/audio_information/audio_information.rb +116 -0
  431. data/lib/roebe/classes/auto_rename_file_based_on_time_today.rb +76 -0
  432. data/lib/roebe/classes/autodater.rb +112 -0
  433. data/lib/roebe/classes/automounter.rb +181 -0
  434. data/lib/roebe/classes/available_classes.rb +219 -0
  435. data/lib/roebe/classes/backup_core_system.rb +223 -0
  436. data/lib/roebe/classes/basic_configure.rb +110 -0
  437. data/lib/roebe/classes/batch_generate_all_my_gems.rb +132 -0
  438. data/lib/roebe/classes/become_another_user.rb +86 -0
  439. data/lib/roebe/classes/bezirk.rb +91 -0
  440. data/lib/roebe/classes/birthday_notifications.rb +291 -0
  441. data/lib/roebe/classes/books/books.rb +781 -0
  442. data/lib/roebe/classes/books/finished_books/finished_books.rb +136 -0
  443. data/lib/roebe/classes/books/menu.rb +258 -0
  444. data/lib/roebe/classes/books/sanitize_this_book_path/sanitize_this_book_path.rb +117 -0
  445. data/lib/roebe/classes/burn_iso/burn_iso.rb +262 -0
  446. data/lib/roebe/classes/burn_iso/constants.rb +43 -0
  447. data/lib/roebe/classes/burn_iso/initialize.rb +33 -0
  448. data/lib/roebe/classes/caesar_cipher.rb +88 -0
  449. data/lib/roebe/classes/calendar.rb +369 -0
  450. data/lib/roebe/classes/calendar_maker.rb +61 -0
  451. data/lib/roebe/classes/celsius_to_fahrenheit.rb +195 -0
  452. data/lib/roebe/classes/check_for_bad_blocks.rb +67 -0
  453. data/lib/roebe/classes/check_yaml.rb +71 -0
  454. data/lib/roebe/classes/chmod_current_time.rb +71 -0
  455. data/lib/roebe/classes/clipboard.rb +221 -0
  456. data/lib/roebe/classes/clock.rb +118 -0
  457. data/lib/roebe/classes/colourize_numbers.rb +70 -0
  458. data/lib/roebe/classes/compare_these_two_directories.rb +101 -0
  459. data/lib/roebe/classes/compare_these_two_files.rb +167 -0
  460. data/lib/roebe/classes/compile_kernel.rb +114 -0
  461. data/lib/roebe/classes/config_generator.rb +204 -0
  462. data/lib/roebe/classes/conky.rb +114 -0
  463. data/lib/roebe/classes/conky_rcfile_generator.rb +61 -0
  464. data/lib/roebe/classes/convert_encoding_of_this_file.rb +216 -0
  465. data/lib/roebe/classes/convert_file_into_utf_encoding.rb +89 -0
  466. data/lib/roebe/classes/convert_this_cgi_file_into_a_sinatrafied_application.rb +145 -0
  467. data/lib/roebe/classes/copy_from_glibc.rb +134 -0
  468. data/lib/roebe/classes/copy_here.rb +76 -0
  469. data/lib/roebe/classes/copy_kernel_config.rb +59 -0
  470. data/lib/roebe/classes/copy_these_directories_to.rb +121 -0
  471. data/lib/roebe/classes/correct_gibberish.rb +89 -0
  472. data/lib/roebe/classes/covid_lethality.rb +243 -0
  473. data/lib/roebe/classes/create_asoundrc_file.rb +66 -0
  474. data/lib/roebe/classes/create_benchmark_file.rb +77 -0
  475. data/lib/roebe/classes/create_desktop_file.rb +236 -0
  476. data/lib/roebe/classes/create_docbook_sgml_dtd_catalog.rb +113 -0
  477. data/lib/roebe/classes/create_file_skeleton/constants.rb +70 -0
  478. data/lib/roebe/classes/create_file_skeleton/create_file_skeleton.rb +470 -0
  479. data/lib/roebe/classes/create_file_skeleton/generate_c_string.rb +31 -0
  480. data/lib/roebe/classes/create_file_skeleton/generate_cpp_string.rb +33 -0
  481. data/lib/roebe/classes/create_file_skeleton/generate_ruby_string.rb +124 -0
  482. data/lib/roebe/classes/create_file_skeleton/reset.rb +56 -0
  483. data/lib/roebe/classes/create_file_skeleton/run.rb +23 -0
  484. data/lib/roebe/classes/create_firefox_extension.rb +178 -0
  485. data/lib/roebe/classes/create_iso.rb +203 -0
  486. data/lib/roebe/classes/create_iso_for_games.rb +307 -0
  487. data/lib/roebe/classes/create_jar_archive.rb +58 -0
  488. data/lib/roebe/classes/create_local_images_yaml_file.rb +83 -0
  489. data/lib/roebe/classes/create_my_directories.rb +208 -0
  490. data/lib/roebe/classes/create_ruby_directory_layout.rb +117 -0
  491. data/lib/roebe/classes/create_zip.rb +118 -0
  492. data/lib/roebe/classes/css_analyzer.rb +125 -0
  493. data/lib/roebe/classes/current_monitor_resolution.rb +107 -0
  494. data/lib/roebe/classes/custom_table/custom_table.rb +198 -0
  495. data/lib/roebe/classes/cut_after_colon.rb +79 -0
  496. data/lib/roebe/classes/cute_emoji.rb +142 -0
  497. data/lib/roebe/classes/daemonize.rb +131 -0
  498. data/lib/roebe/classes/date_sort.rb +149 -0
  499. data/lib/roebe/classes/day_calendar.rb +153 -0
  500. data/lib/roebe/classes/dbus.rb +127 -0
  501. data/lib/roebe/classes/delete_all_directories.rb +100 -0
  502. data/lib/roebe/classes/delete_empty_directories.rb +96 -0
  503. data/lib/roebe/classes/delete_empty_files.rb +158 -0
  504. data/lib/roebe/classes/dhcpcd/README.md +3 -0
  505. data/lib/roebe/classes/dhcpcd/dhcpcd.rb +232 -0
  506. data/lib/roebe/classes/dhcpcd/kill_dhcpcd.rb +75 -0
  507. data/lib/roebe/classes/differences_between_two_directories.rb +140 -0
  508. data/lib/roebe/classes/disable.rb +172 -0
  509. data/lib/roebe/classes/display_gcc_version.rb +135 -0
  510. data/lib/roebe/classes/do_a_google_search.rb +67 -0
  511. data/lib/roebe/classes/do_install.rb +337 -0
  512. data/lib/roebe/classes/done.rb +158 -0
  513. data/lib/roebe/classes/done_and_open.rb +185 -0
  514. data/lib/roebe/classes/doskey_generator.rb +229 -0
  515. data/lib/roebe/classes/downcase_directories.rb +83 -0
  516. data/lib/roebe/classes/downcase_extension.rb +131 -0
  517. data/lib/roebe/classes/download_from_this_url.rb +266 -0
  518. data/lib/roebe/classes/duplicate_files.rb +115 -0
  519. data/lib/roebe/classes/email.rb +881 -0
  520. data/lib/roebe/classes/empty.rb +81 -0
  521. data/lib/roebe/classes/enable.rb +60 -0
  522. data/lib/roebe/classes/enable_autologin.rb +371 -0
  523. data/lib/roebe/classes/english_to_german.rb +128 -0
  524. data/lib/roebe/classes/ethernet.rb +171 -0
  525. data/lib/roebe/classes/euclidian_distance.rb +148 -0
  526. data/lib/roebe/classes/extract_documentation.rb +191 -0
  527. data/lib/roebe/classes/extract_gem_file.rb +208 -0
  528. data/lib/roebe/classes/feet_to_centimetres.rb +106 -0
  529. data/lib/roebe/classes/fetch_url.rb +77 -0
  530. data/lib/roebe/classes/file_filter.rb +143 -0
  531. data/lib/roebe/classes/file_filters/jpg.rb +61 -0
  532. data/lib/roebe/classes/file_parser.rb +126 -0
  533. data/lib/roebe/classes/file_renamer.rb +229 -0
  534. data/lib/roebe/classes/files_that_could_become_apps.rb +91 -0
  535. data/lib/roebe/classes/filter_apache_log.rb +90 -0
  536. data/lib/roebe/classes/find_all_files_encoded_in_iso.rb +95 -0
  537. data/lib/roebe/classes/find_all_files_with_a_question_mark.rb +148 -0
  538. data/lib/roebe/classes/find_duplicate_entries_in_alias_file.rb +191 -0
  539. data/lib/roebe/classes/find_empty_files.rb +85 -0
  540. data/lib/roebe/classes/find_expanded_alias.rb +262 -0
  541. data/lib/roebe/classes/find_out_version_of.rb +186 -0
  542. data/lib/roebe/classes/find_static_libraries.rb +213 -0
  543. data/lib/roebe/classes/fix_mcookie.rb +76 -0
  544. data/lib/roebe/classes/fix_timezone.rb +95 -0
  545. data/lib/roebe/classes/fluxbox/README.md +3 -0
  546. data/lib/roebe/classes/fluxbox/autogenerate_fluxbox_files.rb +20 -0
  547. data/lib/roebe/classes/fluxbox/generate_fluxbox_apps_file.rb +155 -0
  548. data/lib/roebe/classes/fluxbox/generate_fluxbox_keys_file.rb +110 -0
  549. data/lib/roebe/classes/fluxbox/install_fluxbox_style.rb +85 -0
  550. data/lib/roebe/classes/font_installer.rb +139 -0
  551. data/lib/roebe/classes/foto_searcher.rb +351 -0
  552. data/lib/roebe/classes/fotos_f/303/274r_ingrid.rb +53 -0
  553. data/lib/roebe/classes/fragment_maker.rb +141 -0
  554. data/lib/roebe/classes/general_overviewer.rb +258 -0
  555. data/lib/roebe/classes/generate_alsa_conf.rb +133 -0
  556. data/lib/roebe/classes/generate_etc_resolv_conf_file.rb +106 -0
  557. data/lib/roebe/classes/generate_fstab_file/generate_fstab_file.rb +255 -0
  558. data/lib/roebe/classes/generate_gemspec/constants.rb +58 -0
  559. data/lib/roebe/classes/generate_gemspec/generate_gemspec.rb +195 -0
  560. data/lib/roebe/classes/generate_grub_config.rb +186 -0
  561. data/lib/roebe/classes/generate_locales.rb +92 -0
  562. data/lib/roebe/classes/generate_ls_colors.rb +87 -0
  563. data/lib/roebe/classes/generate_master_shell_script.rb +254 -0
  564. data/lib/roebe/classes/generate_nsswitch_conf.rb +95 -0
  565. data/lib/roebe/classes/generate_overview_of_the_locally_available_books.rb +267 -0
  566. data/lib/roebe/classes/generate_protocols.rb +253 -0
  567. data/lib/roebe/classes/generate_rewrite_rules.rb +266 -0
  568. data/lib/roebe/classes/generate_robots_txt_file.rb +97 -0
  569. data/lib/roebe/classes/generate_rtf_file.rb +123 -0
  570. data/lib/roebe/classes/generate_system_values.rb +164 -0
  571. data/lib/roebe/classes/generate_unit_files/README.md +9 -0
  572. data/lib/roebe/classes/generate_unit_files/generate_unit_files.rb +192 -0
  573. data/lib/roebe/classes/generate_xauthority_file.rb +119 -0
  574. data/lib/roebe/classes/generate_xorg_conf/constants.rb +145 -0
  575. data/lib/roebe/classes/generate_xorg_conf/generate_xorg_conf.rb +767 -0
  576. data/lib/roebe/classes/get_dependencies.rb +175 -0
  577. data/lib/roebe/classes/github.rb +60 -0
  578. data/lib/roebe/classes/good_night.rb +72 -0
  579. data/lib/roebe/classes/google_url_cleaner.rb +147 -0
  580. data/lib/roebe/classes/grant_superuser_rights.rb +146 -0
  581. data/lib/roebe/classes/grub/grub_config_generator.rb +176 -0
  582. data/lib/roebe/classes/grub_appender.rb +246 -0
  583. data/lib/roebe/classes/gzip_this_file.rb +86 -0
  584. data/lib/roebe/classes/handle_lighttpd.rb +210 -0
  585. data/lib/roebe/classes/hello_world.rb +60 -0
  586. data/lib/roebe/classes/hex_to_rgb.rb +89 -0
  587. data/lib/roebe/classes/holiday.rb +99 -0
  588. data/lib/roebe/classes/hosts_appender.rb +171 -0
  589. data/lib/roebe/classes/html_form_fetcher.rb +101 -0
  590. data/lib/roebe/classes/icewm/README.md +3 -0
  591. data/lib/roebe/classes/icewm/icewm_keys_generator.rb +162 -0
  592. data/lib/roebe/classes/identical.rb +174 -0
  593. data/lib/roebe/classes/imdb.rb +86 -0
  594. data/lib/roebe/classes/in.rb +156 -0
  595. data/lib/roebe/classes/increment_application_version.rb +306 -0
  596. data/lib/roebe/classes/inhalt.rb +166 -0
  597. data/lib/roebe/classes/inputrc/constants.rb +37 -0
  598. data/lib/roebe/classes/inputrc/inputrc.rb +567 -0
  599. data/lib/roebe/classes/inputrc/misc.rb +11 -0
  600. data/lib/roebe/classes/install_debian_file.rb +165 -0
  601. data/lib/roebe/classes/install_flash/install_flash.rb +179 -0
  602. data/lib/roebe/classes/install_libreoffice/constants.rb +43 -0
  603. data/lib/roebe/classes/install_libreoffice/install_libreoffice.rb +277 -0
  604. data/lib/roebe/classes/install_my_gems.rb +100 -0
  605. data/lib/roebe/classes/install_openssl_certificates.rb +238 -0
  606. data/lib/roebe/classes/install_ruby_project.rb +180 -0
  607. data/lib/roebe/classes/install_wrapper.rb +134 -0
  608. data/lib/roebe/classes/interactive_file_creator.rb +229 -0
  609. data/lib/roebe/classes/into.rb +102 -0
  610. data/lib/roebe/classes/ipaste.rb +88 -0
  611. data/lib/roebe/classes/iso_to_usb.rb +240 -0
  612. data/lib/roebe/classes/java_header.rb +112 -0
  613. data/lib/roebe/classes/java_runner.rb +85 -0
  614. data/lib/roebe/classes/kde/install_this_konsole_theme.rb +87 -0
  615. data/lib/roebe/classes/kde/kde_konsole/constants.rb +54 -0
  616. data/lib/roebe/classes/kde/kde_konsole/help.rb +33 -0
  617. data/lib/roebe/classes/kde/kde_konsole/initialize.rb +40 -0
  618. data/lib/roebe/classes/kde/kde_konsole/kde_konsole.rb +37 -0
  619. data/lib/roebe/classes/kde/kde_konsole/menu.rb +200 -0
  620. data/lib/roebe/classes/kde/kde_konsole/misc.rb +333 -0
  621. data/lib/roebe/classes/kde/kde_konsole/reset.rb +42 -0
  622. data/lib/roebe/classes/kde/kde_konsole/run.rb +22 -0
  623. data/lib/roebe/classes/kde/kde_konsole_send_command.rb +95 -0
  624. data/lib/roebe/classes/kde/kde_servicemenus.rb +83 -0
  625. data/lib/roebe/classes/kde/konsole_new_tab.rb +124 -0
  626. data/lib/roebe/classes/kde/restore_kde.rb +103 -0
  627. data/lib/roebe/classes/kde/return_pid_of_kde_konsole.rb +30 -0
  628. data/lib/roebe/classes/kde/split_kde_konsole_tab_vertically.rb +28 -0
  629. data/lib/roebe/classes/key_value_parser.rb +145 -0
  630. data/lib/roebe/classes/keys_generator/constants.rb +72 -0
  631. data/lib/roebe/classes/keys_generator/keys_generator.rb +328 -0
  632. data/lib/roebe/classes/kill_firefox.rb +126 -0
  633. data/lib/roebe/classes/kill_palemoon.rb +132 -0
  634. data/lib/roebe/classes/last_called_logger/last_called_logger.rb +67 -0
  635. data/lib/roebe/classes/last_line.rb +69 -0
  636. data/lib/roebe/classes/left_hyphen_in_this_file.rb +74 -0
  637. data/lib/roebe/classes/level_subdirectories.rb +126 -0
  638. data/lib/roebe/classes/lighttpd_config_generator.rb +106 -0
  639. data/lib/roebe/classes/lilo_config_generator.rb +403 -0
  640. data/lib/roebe/classes/line_padder.rb +97 -0
  641. data/lib/roebe/classes/lotto/handle_quicktipps.rb +96 -0
  642. data/lib/roebe/classes/lotto/lotto_quicktip.rb +214 -0
  643. data/lib/roebe/classes/make_cookbooks_gem.rb +109 -0
  644. data/lib/roebe/classes/make_gem.rb +280 -0
  645. data/lib/roebe/classes/mark_this_directory.rb +76 -0
  646. data/lib/roebe/classes/married_with_children.rb +110 -0
  647. data/lib/roebe/classes/mate_terminal/rename_mate_terminal.rb +56 -0
  648. data/lib/roebe/classes/mbl.rb +318 -0
  649. data/lib/roebe/classes/meal_maker.rb +88 -0
  650. data/lib/roebe/classes/menu_generator/append_to.rb +35 -0
  651. data/lib/roebe/classes/menu_generator/constants.rb +80 -0
  652. data/lib/roebe/classes/menu_generator/menu_generator.rb +623 -0
  653. data/lib/roebe/classes/merge.rb +121 -0
  654. data/lib/roebe/classes/misc/README.md +2 -0
  655. data/lib/roebe/classes/misc/anteile.rb +91 -0
  656. data/lib/roebe/classes/modify_shebang_header/modify_shebang_header.rb +435 -0
  657. data/lib/roebe/classes/modright.rb +110 -0
  658. data/lib/roebe/classes/monthly_activity_on_rubygems.rb +219 -0
  659. data/lib/roebe/classes/mount_dvd.rb +92 -0
  660. data/lib/roebe/classes/mount_iso_file.rb +108 -0
  661. data/lib/roebe/classes/move_content_of_this_directory_to_that_directory_unless_target_already_exists.rb +119 -0
  662. data/lib/roebe/classes/move_file.rb +234 -0
  663. data/lib/roebe/classes/move_mouse.rb +75 -0
  664. data/lib/roebe/classes/mrxvt.rb +140 -0
  665. data/lib/roebe/classes/mrxvt_options.rb +295 -0
  666. data/lib/roebe/classes/my_default_webrick_server.rb +125 -0
  667. data/lib/roebe/classes/my_ip.rb +69 -0
  668. data/lib/roebe/classes/n_directories.rb +98 -0
  669. data/lib/roebe/classes/n_downloads_on_rubygems_org.rb +246 -0
  670. data/lib/roebe/classes/n_files.rb +71 -0
  671. data/lib/roebe/classes/n_fotos.rb +48 -0
  672. data/lib/roebe/classes/n_gems_exist_in_total.rb +136 -0
  673. data/lib/roebe/classes/n_symlinks.rb +125 -0
  674. data/lib/roebe/classes/nano_config.rb +186 -0
  675. data/lib/roebe/classes/nibble_converter.rb +172 -0
  676. data/lib/roebe/classes/non_symlinks.rb +115 -0
  677. data/lib/roebe/classes/number_files.rb +89 -0
  678. data/lib/roebe/classes/number_to_english.rb +167 -0
  679. data/lib/roebe/classes/nutrition.rb +69 -0
  680. data/lib/roebe/classes/nvidia.rb +83 -0
  681. data/lib/roebe/classes/obtain_audio_recordings_from_voice_recorder/constants.rb +38 -0
  682. data/lib/roebe/classes/obtain_audio_recordings_from_voice_recorder/help.rb +27 -0
  683. data/lib/roebe/classes/obtain_audio_recordings_from_voice_recorder/obtain_audio_recordings_from_voice_recorder.rb +610 -0
  684. data/lib/roebe/classes/obtain_audio_recordings_from_voice_recorder/run.rb +22 -0
  685. data/lib/roebe/classes/on_screen_display.rb +320 -0
  686. data/lib/roebe/classes/one_line_passwords.rb +201 -0
  687. data/lib/roebe/classes/open_pdf.rb +293 -0
  688. data/lib/roebe/classes/open_random_book.rb +129 -0
  689. data/lib/roebe/classes/output_random_line.rb +110 -0
  690. data/lib/roebe/classes/output_text_then_assign_to_the_xorg_buffer.rb +114 -0
  691. data/lib/roebe/classes/package_java_compiler.rb +92 -0
  692. data/lib/roebe/classes/pad_via_quotes.rb +63 -0
  693. data/lib/roebe/classes/paragraph_onto_one_line.rb +73 -0
  694. data/lib/roebe/classes/parse_apache_log/constants.rb +55 -0
  695. data/lib/roebe/classes/parse_apache_log/parse_apache_log.rb +331 -0
  696. data/lib/roebe/classes/pascalsches_dreieck.rb +108 -0
  697. data/lib/roebe/classes/passwords.rb +759 -0
  698. data/lib/roebe/classes/path_generator/constants.rb +68 -0
  699. data/lib/roebe/classes/path_generator/misc.rb +332 -0
  700. data/lib/roebe/classes/path_generator/path_generator.rb +31 -0
  701. data/lib/roebe/classes/path_generator/reset.rb +33 -0
  702. data/lib/roebe/classes/percentage_counter.rb +84 -0
  703. data/lib/roebe/classes/permission_ascii_format.rb +228 -0
  704. data/lib/roebe/classes/php_to_ruby.rb +177 -0
  705. data/lib/roebe/classes/pound_to_kg_converter.rb +86 -0
  706. data/lib/roebe/classes/prepend_this.rb +280 -0
  707. data/lib/roebe/classes/prepend_this_line_to_that_file.rb +259 -0
  708. data/lib/roebe/classes/prepend_this_string_to_every_line_of_this_file.rb +195 -0
  709. data/lib/roebe/classes/prepend_todays_date.rb +67 -0
  710. data/lib/roebe/classes/pristine_gems.rb +71 -0
  711. data/lib/roebe/classes/proper_english.rb +115 -0
  712. data/lib/roebe/classes/publish_gem.rb +249 -0
  713. data/lib/roebe/classes/pull_together.rb +126 -0
  714. data/lib/roebe/classes/purge_files_or_directories.rb +67 -0
  715. data/lib/roebe/classes/purge_gmon_out_files.rb +102 -0
  716. data/lib/roebe/classes/purge_ordoc_directories.rb +66 -0
  717. data/lib/roebe/classes/put_all_gems_into_this_project.rb +326 -0
  718. data/lib/roebe/classes/qemu/README.md +2 -0
  719. data/lib/roebe/classes/qemu/qemu.rb +72 -0
  720. data/lib/roebe/classes/quiz.rb +300 -0
  721. data/lib/roebe/classes/ram.rb +160 -0
  722. data/lib/roebe/classes/random_background.rb +208 -0
  723. data/lib/roebe/classes/random_open.rb +110 -0
  724. data/lib/roebe/classes/rbashrc.rb +160 -0
  725. data/lib/roebe/classes/rdate.rb +259 -0
  726. data/lib/roebe/classes/readme_generator/constants.rb +21 -0
  727. data/lib/roebe/classes/readme_generator/initialize.rb +38 -0
  728. data/lib/roebe/classes/readme_generator/misc.rb +548 -0
  729. data/lib/roebe/classes/readme_generator/readme_generator.rb +11 -0
  730. data/lib/roebe/classes/readme_generator/reset.rb +28 -0
  731. data/lib/roebe/classes/readme_generator/run.rb +20 -0
  732. data/lib/roebe/classes/remote_gems.rb +154 -0
  733. data/lib/roebe/classes/remove_bad_fluxbox_styles.rb +108 -0
  734. data/lib/roebe/classes/remove_comments/autoinclude.rb +3 -0
  735. data/lib/roebe/classes/remove_comments/constants.rb +22 -0
  736. data/lib/roebe/classes/remove_comments/remove_comments.rb +214 -0
  737. data/lib/roebe/classes/remove_directory.rb +212 -0
  738. data/lib/roebe/classes/remove_duplicate_lines.rb +101 -0
  739. data/lib/roebe/classes/remove_extension.rb +95 -0
  740. data/lib/roebe/classes/remove_file_extension.rb +106 -0
  741. data/lib/roebe/classes/remove_gems.rb +182 -0
  742. data/lib/roebe/classes/remove_lighty_logs.rb +66 -0
  743. data/lib/roebe/classes/remove_line.rb +172 -0
  744. data/lib/roebe/classes/remove_localhost.rb +355 -0
  745. data/lib/roebe/classes/remove_missing.rb +107 -0
  746. data/lib/roebe/classes/remove_newlines.rb +116 -0
  747. data/lib/roebe/classes/remove_solo_numbers.rb +85 -0
  748. data/lib/roebe/classes/remove_this_substring_from_all_files.rb +70 -0
  749. data/lib/roebe/classes/replace_global_variables_in_this_file.rb +181 -0
  750. data/lib/roebe/classes/replace_space_with_underscore/replace_space_with_underscore.rb +866 -0
  751. data/lib/roebe/classes/replace_what_with.rb +111 -0
  752. data/lib/roebe/classes/report_how_many_classes_exist_for_this_directory.rb +128 -0
  753. data/lib/roebe/classes/report_same_named_files.rb +88 -0
  754. data/lib/roebe/classes/require_everything.rb +155 -0
  755. data/lib/roebe/classes/return_aliases/return_n_aliases.rb +178 -0
  756. data/lib/roebe/classes/return_aliases/return_ten_aliases.rb +78 -0
  757. data/lib/roebe/classes/return_aliases/return_twenty_aliases.rb +79 -0
  758. data/lib/roebe/classes/return_random_image.rb +83 -0
  759. data/lib/roebe/classes/roman_number_converter.rb +92 -0
  760. data/lib/roebe/classes/ruby_cat.rb +139 -0
  761. data/lib/roebe/classes/ruby_header.rb +122 -0
  762. data/lib/roebe/classes/ruby_main.rb +133 -0
  763. data/lib/roebe/classes/ruby_seq.rb +67 -0
  764. data/lib/roebe/classes/ruby_use_config_file.rb +104 -0
  765. data/lib/roebe/classes/ruby_version_switcher.rb +99 -0
  766. data/lib/roebe/classes/run/menu.rb +87 -0
  767. data/lib/roebe/classes/run/run.rb +746 -0
  768. data/lib/roebe/classes/run_each_line_as_esystem.rb +54 -0
  769. data/lib/roebe/classes/rxinitrc/constants.rb +101 -0
  770. data/lib/roebe/classes/rxinitrc/help.rb +40 -0
  771. data/lib/roebe/classes/rxinitrc/run.rb +25 -0
  772. data/lib/roebe/classes/rxinitrc/rxinitrc.rb +531 -0
  773. data/lib/roebe/classes/scan_for_http_links.rb +114 -0
  774. data/lib/roebe/classes/schlafe.rb +101 -0
  775. data/lib/roebe/classes/send_email.rb +170 -0
  776. data/lib/roebe/classes/serve_local_page.rb +280 -0
  777. data/lib/roebe/classes/set_aliases.rb +372 -0
  778. data/lib/roebe/classes/set_background.rb +113 -0
  779. data/lib/roebe/classes/set_chained.rb +79 -0
  780. data/lib/roebe/classes/set_current_iso.rb +76 -0
  781. data/lib/roebe/classes/set_hwclock.rb +67 -0
  782. data/lib/roebe/classes/set_normal_alias_to.rb +583 -0
  783. data/lib/roebe/classes/setup_chrooted_environment.rb +402 -0
  784. data/lib/roebe/classes/shells/generate_etc_shell_file.rb +107 -0
  785. data/lib/roebe/classes/show_appointments.rb +216 -0
  786. data/lib/roebe/classes/show_available_fonts.rb +146 -0
  787. data/lib/roebe/classes/show_available_users.rb +319 -0
  788. data/lib/roebe/classes/show_kernel_modules.rb +88 -0
  789. data/lib/roebe/classes/show_non_symlinks.rb +98 -0
  790. data/lib/roebe/classes/show_only_files.rb +90 -0
  791. data/lib/roebe/classes/show_prime_numbers.rb +122 -0
  792. data/lib/roebe/classes/show_sigint.rb +50 -0
  793. data/lib/roebe/classes/show_ten_aliases.rb +395 -0
  794. data/lib/roebe/classes/show_twenty_aliases.rb +243 -0
  795. data/lib/roebe/classes/simple_boot_script.rb +358 -0
  796. data/lib/roebe/classes/simple_extractor.rb +104 -0
  797. data/lib/roebe/classes/simple_markdown_parser.rb +274 -0
  798. data/lib/roebe/classes/size_of.rb +234 -0
  799. data/lib/roebe/classes/size_of_states.rb +157 -0
  800. data/lib/roebe/classes/skel_maker/constants.rb +65 -0
  801. data/lib/roebe/classes/skel_maker/skel_maker.rb +230 -0
  802. data/lib/roebe/classes/slogans.rb +283 -0
  803. data/lib/roebe/classes/slow_load.rb +62 -0
  804. data/lib/roebe/classes/sorted_output.rb +86 -0
  805. data/lib/roebe/classes/sourcerank.rb +76 -0
  806. data/lib/roebe/classes/special_symlink.rb +97 -0
  807. data/lib/roebe/classes/start_program.rb +74 -0
  808. data/lib/roebe/classes/std_renamer.rb +285 -0
  809. data/lib/roebe/classes/stories.rb +107 -0
  810. data/lib/roebe/classes/story.rb +177 -0
  811. data/lib/roebe/classes/string_colour_parser.rb +165 -0
  812. data/lib/roebe/classes/sum_of_all_numbers.rb +153 -0
  813. data/lib/roebe/classes/supermerger.rb +121 -0
  814. data/lib/roebe/classes/symlink_all_directories_in_this_directory.rb +101 -0
  815. data/lib/roebe/classes/symlink_directories_from_that_directory_to_the_current_directory.rb +178 -0
  816. data/lib/roebe/classes/symlink_directory.rb +104 -0
  817. data/lib/roebe/classes/symlink_everything_from_that_directory_to_this_directory.rb +196 -0
  818. data/lib/roebe/classes/symlink_files_from_that_directory_to_the_current_directory/symlink_files_from_that_directory_to_the_current_directory.rb +271 -0
  819. data/lib/roebe/classes/syntax_checker.rb +200 -0
  820. data/lib/roebe/classes/system_checker.rb +646 -0
  821. data/lib/roebe/classes/take_screenshot.rb +390 -0
  822. data/lib/roebe/classes/tales_from_the_crypt.rb +552 -0
  823. data/lib/roebe/classes/terminal.rb +62 -0
  824. data/lib/roebe/classes/terminal_ps1.rb +128 -0
  825. data/lib/roebe/classes/test_for_psych.rb +77 -0
  826. data/lib/roebe/classes/test_openssl.rb +200 -0
  827. data/lib/roebe/classes/test_yaml.rb +70 -0
  828. data/lib/roebe/classes/threshold_splitter.rb +96 -0
  829. data/lib/roebe/classes/tic_tac_toe.rb +326 -0
  830. data/lib/roebe/classes/time/current_time_in_singapore.rb +121 -0
  831. data/lib/roebe/classes/time/display_weekdays.rb +78 -0
  832. data/lib/roebe/classes/time/query_world_time.rb +149 -0
  833. data/lib/roebe/classes/time/set_hardware_clock.rb +158 -0
  834. data/lib/roebe/classes/time/trivial_time_parser.rb +162 -0
  835. data/lib/roebe/classes/to_binary.rb +127 -0
  836. data/lib/roebe/classes/to_buy.rb +216 -0
  837. data/lib/roebe/classes/to_next.rb +139 -0
  838. data/lib/roebe/classes/to_squashfs.rb +83 -0
  839. data/lib/roebe/classes/to_tar_bz2.rb +62 -0
  840. data/lib/roebe/classes/to_utf.rb +87 -0
  841. data/lib/roebe/classes/today.rb +67 -0
  842. data/lib/roebe/classes/todo_overview.rb +87 -0
  843. data/lib/roebe/classes/todo_sanitizer.rb +168 -0
  844. data/lib/roebe/classes/top_ten_aliases.rb +104 -0
  845. data/lib/roebe/classes/total_pages_in_finished_books.rb +76 -0
  846. data/lib/roebe/classes/translate.rb +295 -0
  847. data/lib/roebe/classes/traverse_install.rb +268 -0
  848. data/lib/roebe/classes/treeview.rb +186 -0
  849. data/lib/roebe/classes/turn_ruby_file_into_gem.rb +195 -0
  850. data/lib/roebe/classes/twentyfour_hours_notation.rb +174 -0
  851. data/lib/roebe/classes/umlaut_converter.rb +137 -0
  852. data/lib/roebe/classes/undone.rb +126 -0
  853. data/lib/roebe/classes/unicode_snowman.rb +120 -0
  854. data/lib/roebe/classes/unified_padding.rb +144 -0
  855. data/lib/roebe/classes/unrar.rb +95 -0
  856. data/lib/roebe/classes/upcaser.rb +145 -0
  857. data/lib/roebe/classes/update.rb +376 -0
  858. data/lib/roebe/classes/update_static_html_pages_in_the_directory_containing_my_fotos.rb +73 -0
  859. data/lib/roebe/classes/upload_to_imgur.rb +177 -0
  860. data/lib/roebe/classes/upwards_counter.rb +59 -0
  861. data/lib/roebe/classes/usage.rb +158 -0
  862. data/lib/roebe/classes/usb/automount_usb.rb +82 -0
  863. data/lib/roebe/classes/usb/create_bootable_usb.rb +118 -0
  864. data/lib/roebe/classes/usb/usb_devices.rb +188 -0
  865. data/lib/roebe/classes/use_jruby.rb +68 -0
  866. data/lib/roebe/classes/vte.rb +110 -0
  867. data/lib/roebe/classes/wallpaper.rb +177 -0
  868. data/lib/roebe/classes/wayland_or_xorgserver.rb +69 -0
  869. data/lib/roebe/classes/webfancy_controller.rb +229 -0
  870. data/lib/roebe/classes/wikipedia.rb +99 -0
  871. data/lib/roebe/classes/wlan/eduroam/eduroam.rb +133 -0
  872. data/lib/roebe/classes/wlan/wlan.rb +1303 -0
  873. data/lib/roebe/classes/wochentag_anzeiger.rb +220 -0
  874. data/lib/roebe/classes/word_wrap.rb +67 -0
  875. data/lib/roebe/classes/write_what_into.rb +91 -0
  876. data/lib/roebe/classes/xfce/README.md +2 -0
  877. data/lib/roebe/classes/xfce/set_xfce_wallpaper.rb +91 -0
  878. data/lib/roebe/classes/yaml_check.rb +63 -0
  879. data/lib/roebe/classes/youtube_downloader.rb +157 -0
  880. data/lib/roebe/classes/zenity.rb +319 -0
  881. data/lib/roebe/classes/zoll.rb +88 -0
  882. data/lib/roebe/colours/colours.rb +440 -0
  883. data/lib/roebe/commandline/help.rb +125 -0
  884. data/lib/roebe/commandline/menu.rb +753 -0
  885. data/lib/roebe/commandline/misc.rb +278 -0
  886. data/lib/roebe/commandline/parse_commandline.rb +55 -0
  887. data/lib/roebe/configuration/autoinclude.rb +7 -0
  888. data/lib/roebe/configuration/class/configuration.rb +998 -0
  889. data/lib/roebe/configuration/module.rb +35 -0
  890. data/lib/roebe/constants/archive_types.rb +26 -0
  891. data/lib/roebe/constants/array_install_these_gem_projects.rb +115 -0
  892. data/lib/roebe/constants/constants.rb +96 -0
  893. data/lib/roebe/constants/emojis.rb +19 -0
  894. data/lib/roebe/constants/file_and_directory_constants.rb +159 -0
  895. data/lib/roebe/constants/home_of_the_user_called_x.rb +14 -0
  896. data/lib/roebe/constants/misc.rb +143 -0
  897. data/lib/roebe/constants/newline.rb +16 -0
  898. data/lib/roebe/constants/roebe.rb +74 -0
  899. data/lib/roebe/constants/www.rb +43 -0
  900. data/lib/roebe/core/README.md +6 -0
  901. data/lib/roebe/core/array.rb +347 -0
  902. data/lib/roebe/core/dir.rb +126 -0
  903. data/lib/roebe/core/enumerable.rb +25 -0
  904. data/lib/roebe/core/file.rb +140 -0
  905. data/lib/roebe/core/fixnum.rb +155 -0
  906. data/lib/roebe/core/float.rb +86 -0
  907. data/lib/roebe/core/hash.rb +48 -0
  908. data/lib/roebe/core/integer.rb +41 -0
  909. data/lib/roebe/core/kernel.rb +82 -0
  910. data/lib/roebe/core/math.rb +61 -0
  911. data/lib/roebe/core/module.rb +91 -0
  912. data/lib/roebe/core/numeric.rb +64 -0
  913. data/lib/roebe/core/object.rb +53 -0
  914. data/lib/roebe/core/proc.rb +10 -0
  915. data/lib/roebe/core/process.rb +27 -0
  916. data/lib/roebe/core/range.rb +18 -0
  917. data/lib/roebe/core/string.rb +651 -0
  918. data/lib/roebe/core/struct.rb +22 -0
  919. data/lib/roebe/core/windows.rb +758 -0
  920. data/lib/roebe/css/project.css +38 -0
  921. data/lib/roebe/custom_methods/README.md +8 -0
  922. data/lib/roebe/custom_methods/constants.rb +53 -0
  923. data/lib/roebe/custom_methods/custom_methods.rb +5651 -0
  924. data/lib/roebe/dosbox/README.md +5 -0
  925. data/lib/roebe/dosbox/autoexec.conf +114 -0
  926. data/lib/roebe/dosbox/bios.conf +20 -0
  927. data/lib/roebe/dosbox/cpu.conf +42 -0
  928. data/lib/roebe/dosbox/cycles.conf +41 -0
  929. data/lib/roebe/dosbox/dos.conf +55 -0
  930. data/lib/roebe/dosbox/dosbox.conf +34 -0
  931. data/lib/roebe/dosbox/games.conf +37 -0
  932. data/lib/roebe/dosbox/generate_dosbox_config.rb +150 -0
  933. data/lib/roebe/dosbox/gus.conf +26 -0
  934. data/lib/roebe/dosbox/ipx.conf +14 -0
  935. data/lib/roebe/dosbox/keyboard.conf +17 -0
  936. data/lib/roebe/dosbox/midi.conf +18 -0
  937. data/lib/roebe/dosbox/mixer.conf +26 -0
  938. data/lib/roebe/dosbox/render.conf +31 -0
  939. data/lib/roebe/dosbox/sblaster.conf +38 -0
  940. data/lib/roebe/dosbox/sdl.conf +115 -0
  941. data/lib/roebe/dosbox/serial.conf +22 -0
  942. data/lib/roebe/dosbox/speaker.conf +20 -0
  943. data/lib/roebe/editors/README.md +2 -0
  944. data/lib/roebe/editors/ruby_nano.rb +80 -0
  945. data/lib/roebe/editors/vim_paradise/colours.rb +30 -0
  946. data/lib/roebe/editors/vim_paradise/constants.rb +113 -0
  947. data/lib/roebe/editors/vim_paradise/help.rb +37 -0
  948. data/lib/roebe/editors/vim_paradise/menu.rb +62 -0
  949. data/lib/roebe/editors/vim_paradise/run.rb +22 -0
  950. data/lib/roebe/editors/vim_paradise/vim_paradise.rb +630 -0
  951. data/lib/roebe/emoji/README.md +2 -0
  952. data/lib/roebe/emoji/emoji_table.rb +44 -0
  953. data/lib/roebe/encoding/encoding.rb +113 -0
  954. data/lib/roebe/extensions.rb +23 -0
  955. data/lib/roebe/gemrc/gemrc +19 -0
  956. data/lib/roebe/gui/cgi/interactive_caesar_cipher/interactive_caesar_cipher.cgi +56 -0
  957. data/lib/roebe/gui/cgi/md5_comparer/md5_comparer.cgi +83 -0
  958. data/lib/roebe/gui/glimmer/examples/001_hello_world.rb +8 -0
  959. data/lib/roebe/gui/glimmer/examples/002_basic_table_progress_bar.rb +29 -0
  960. data/lib/roebe/gui/glimmer/examples/003_form_table_example.rb +118 -0
  961. data/lib/roebe/gui/glimmer/microsoft_controller/microsoft_controller.rb +58 -0
  962. data/lib/roebe/gui/gtk2/code_generator/code_generator.config +6 -0
  963. data/lib/roebe/gui/gtk2/code_generator/code_generator.rb +39 -0
  964. data/lib/roebe/gui/gtk2/email/email.config +6 -0
  965. data/lib/roebe/gui/gtk2/email/email.rb +31 -0
  966. data/lib/roebe/gui/gtk2/ifconfig/ifconfig.rb +34 -0
  967. data/lib/roebe/gui/gtk2/send_email/send_email.rb +34 -0
  968. data/lib/roebe/gui/gtk2/show_aliases/show_aliases.rb +31 -0
  969. data/lib/roebe/gui/gtk2/show_ten_aliases/show_ten_aliases.rb +34 -0
  970. data/lib/roebe/gui/gtk2/world_capitals/capital_event_box.rb +18 -0
  971. data/lib/roebe/gui/gtk2/world_capitals/frame_for_world_capitals.rb +27 -0
  972. data/lib/roebe/gui/gtk2/world_capitals/world_capitals.rb +31 -0
  973. data/lib/roebe/gui/gtk3/code_generator/code_generator.rb +31 -0
  974. data/lib/roebe/gui/gtk3/email/email.rb +34 -0
  975. data/lib/roebe/gui/gtk3/generate_xorg_configuration/generate_xorg_configuration.rb +223 -0
  976. data/lib/roebe/gui/gtk3/ifconfig/ifconfig.rb +34 -0
  977. data/lib/roebe/gui/gtk3/install_operating_system/install_operating_system.rb +159 -0
  978. data/lib/roebe/gui/gtk3/interactive_caesar_cipher/interactive_caesar_cipher.rb +112 -0
  979. data/lib/roebe/gui/gtk3/md5_comparer/md5_comparer.rb +120 -0
  980. data/lib/roebe/gui/gtk3/os_installer/os_installer.rb +140 -0
  981. data/lib/roebe/gui/gtk3/send_email/send_email.rb +34 -0
  982. data/lib/roebe/gui/gtk3/shell/misc.rb +70 -0
  983. data/lib/roebe/gui/gtk3/shell/shell.rb +392 -0
  984. data/lib/roebe/gui/gtk3/show_aliases/show_aliases.rb +64 -0
  985. data/lib/roebe/gui/gtk3/show_ten_aliases/show_ten_aliases.rb +34 -0
  986. data/lib/roebe/gui/gtk3/system_widget/system_widget.rb +34 -0
  987. data/lib/roebe/gui/gtk3/task_viewer/task_viewer.rb +34 -0
  988. data/lib/roebe/gui/gtk3/todo_viewer/todo_viewer.rb +290 -0
  989. data/lib/roebe/gui/gtk3/wecker/wecker.rb +440 -0
  990. data/lib/roebe/gui/gtk3/wlan_information_center/README.md +9 -0
  991. data/lib/roebe/gui/gtk3/wlan_information_center/wlan_information_center.css +13 -0
  992. data/lib/roebe/gui/gtk3/wlan_information_center/wlan_information_center.rb +708 -0
  993. data/lib/roebe/gui/gtk3/world_capitals/capital_event_box.rb +24 -0
  994. data/lib/roebe/gui/gtk3/world_capitals/frame_for_world_capitals.rb +29 -0
  995. data/lib/roebe/gui/gtk3/world_capitals/world_capitals.rb +24 -0
  996. data/lib/roebe/gui/gtk4/interactive_caesar_cipher/interactive_caesar_cipher.rb +119 -0
  997. data/lib/roebe/gui/gtk4/shell/shell.rb +93 -0
  998. data/lib/roebe/gui/jruby/calculator/calculator.rb +122 -0
  999. data/lib/roebe/gui/jruby/interactive_caesar_cipher/interactive_caesar_cipher.rb +123 -0
  1000. data/lib/roebe/gui/jruby/shell/shell.rb +107 -0
  1001. data/lib/roebe/gui/libui/foto_searcher/foto_searcher.rb +108 -0
  1002. data/lib/roebe/gui/libui/interactive_caesar_cipher/interactive_caesar_cipher.rb +147 -0
  1003. data/lib/roebe/gui/libui/md5_comparer/md5_comparer.rb +89 -0
  1004. data/lib/roebe/gui/libui/microsoft_controller/README.me +3 -0
  1005. data/lib/roebe/gui/libui/microsoft_controller/microsoft_controller.rb +206 -0
  1006. data/lib/roebe/gui/libui/rundll32/rundll32.rb +89 -0
  1007. data/lib/roebe/gui/libui/shell/shell.rb +139 -0
  1008. data/lib/roebe/gui/libui/show_aliases/show_aliases.rb +81 -0
  1009. data/lib/roebe/gui/libui/show_ten_aliases/show_ten_aliases.rb +99 -0
  1010. data/lib/roebe/gui/libui/todo_viewer/todo_viewer.rb +117 -0
  1011. data/lib/roebe/gui/libui/wlan_interface/wlan_interface.rb +140 -0
  1012. data/lib/roebe/gui/shared_code/code_generator/code_generator_module.rb +273 -0
  1013. data/lib/roebe/gui/shared_code/email/email_module.rb +178 -0
  1014. data/lib/roebe/gui/shared_code/ifconfig/ifconfig_module.rb +1163 -0
  1015. data/lib/roebe/gui/shared_code/interactive_caesar_cipher/interactive_caesar_cipher_module.rb +346 -0
  1016. data/lib/roebe/gui/shared_code/md5_comparer/md5_comparer_module.rb +244 -0
  1017. data/lib/roebe/gui/shared_code/microsoft_controller/microsoft_controller_module.rb +215 -0
  1018. data/lib/roebe/gui/shared_code/send_email/send_email.css +0 -0
  1019. data/lib/roebe/gui/shared_code/send_email/send_email_module.rb +291 -0
  1020. data/lib/roebe/gui/shared_code/shell/shell_module.rb +426 -0
  1021. data/lib/roebe/gui/shared_code/show_aliases/show_aliases_module.rb +196 -0
  1022. data/lib/roebe/gui/shared_code/show_ten_aliases/show_ten_aliases_module.rb +315 -0
  1023. data/lib/roebe/gui/shared_code/system_widget/system_widget_module.rb +161 -0
  1024. data/lib/roebe/gui/shared_code/task_viewer/task_viewer_module.rb +222 -0
  1025. data/lib/roebe/gui/shared_code/wlan_interface/wlan_interface.css +13 -0
  1026. data/lib/roebe/gui/shared_code/wlan_interface/wlan_interface_base.rb +0 -0
  1027. data/lib/roebe/gui/shared_code/wlan_interface/wlan_interface_module.rb +0 -0
  1028. data/lib/roebe/gui/shared_code/world_capitals/capital_event_box_module.rb +201 -0
  1029. data/lib/roebe/gui/shared_code/world_capitals/frame_for_world_capitals_module.rb +80 -0
  1030. data/lib/roebe/gui/shared_code/world_capitals/world_capitals_module.rb +276 -0
  1031. data/lib/roebe/gui/sinatra/md5_comparer/md5_comparer.rb +108 -0
  1032. data/lib/roebe/gui/swing/README.md +6 -0
  1033. data/lib/roebe/gui/swing/interactive_caesar_cipher/InteractiveCaesarCipher.class +0 -0
  1034. data/lib/roebe/gui/swing/interactive_caesar_cipher/InteractiveCaesarCipher.java +87 -0
  1035. data/lib/roebe/gui/swing/text_editor/TextEditor.class +0 -0
  1036. data/lib/roebe/gui/swing/text_editor/TextEditor.java +248 -0
  1037. data/lib/roebe/gui/unified_widgets/README.md +5 -0
  1038. data/lib/roebe/gui/unified_widgets/interactive_caesar_cipher/interactive_caesar_cipher.rb +137 -0
  1039. data/lib/roebe/hello_world/hello_world.rb +1 -0
  1040. data/lib/roebe/images/ROEBE_LOGO.png +0 -0
  1041. data/lib/roebe/irb/README.md +3 -0
  1042. data/lib/roebe/irb/clean_irbrc +216 -0
  1043. data/lib/roebe/java_roebe/Ant.java +26 -0
  1044. data/lib/roebe/java_roebe/EnglishToGerman.class +0 -0
  1045. data/lib/roebe/java_roebe/EnglishToGerman.java +52 -0
  1046. data/lib/roebe/java_roebe/MoveFile.class +0 -0
  1047. data/lib/roebe/java_roebe/MoveFile.java +50 -0
  1048. data/lib/roebe/java_roebe/MyIp.java +42 -0
  1049. data/lib/roebe/java_roebe/RemoveDirectory.class +0 -0
  1050. data/lib/roebe/java_roebe/RemoveDirectory.java +92 -0
  1051. data/lib/roebe/java_roebe/RemoveLine.class +0 -0
  1052. data/lib/roebe/java_roebe/RemoveLine.java +168 -0
  1053. data/lib/roebe/java_roebe/ReturnRandomImage.class +0 -0
  1054. data/lib/roebe/java_roebe/ReturnRandomImage.java +54 -0
  1055. data/lib/roebe/java_roebe/Schlafe.class +0 -0
  1056. data/lib/roebe/java_roebe/Schlafe.java +65 -0
  1057. data/lib/roebe/java_roebe/SetBackground.class +0 -0
  1058. data/lib/roebe/java_roebe/SetBackground.java +104 -0
  1059. data/lib/roebe/java_roebe/ShowOnlyFiles.class +0 -0
  1060. data/lib/roebe/java_roebe/ShowOnlyFiles.java +86 -0
  1061. data/lib/roebe/java_roebe/ShowPrimeNumbers.class +0 -0
  1062. data/lib/roebe/java_roebe/ShowPrimeNumbers.java +75 -0
  1063. data/lib/roebe/java_roebe/TakeScreenshot.class +0 -0
  1064. data/lib/roebe/java_roebe/TakeScreenshot.java +126 -0
  1065. data/lib/roebe/java_roebe/TalesFromTheCrypt.class +0 -0
  1066. data/lib/roebe/java_roebe/TalesFromTheCrypt.java +128 -0
  1067. data/lib/roebe/java_roebe/ToBinary.class +0 -0
  1068. data/lib/roebe/java_roebe/ToBinary.java +21 -0
  1069. data/lib/roebe/java_roebe/ToBuy.java +94 -0
  1070. data/lib/roebe/java_roebe/ToSquashfs.class +0 -0
  1071. data/lib/roebe/java_roebe/ToSquashfs.java +84 -0
  1072. data/lib/roebe/java_roebe/ToTarBz2.class +0 -0
  1073. data/lib/roebe/java_roebe/ToTarBz2.java +57 -0
  1074. data/lib/roebe/java_roebe/Today.java +71 -0
  1075. data/lib/roebe/java_roebe/TodoOverview.class +0 -0
  1076. data/lib/roebe/java_roebe/TodoOverview.java +78 -0
  1077. data/lib/roebe/java_roebe/Translate.class +0 -0
  1078. data/lib/roebe/java_roebe/Translate.java +93 -0
  1079. data/lib/roebe/java_roebe/TwentyfourHoursNotation.class +0 -0
  1080. data/lib/roebe/java_roebe/TwentyfourHoursNotation.java +60 -0
  1081. data/lib/roebe/java_roebe/Undone.class +0 -0
  1082. data/lib/roebe/java_roebe/Undone.java +143 -0
  1083. data/lib/roebe/java_roebe/UnicodeSnowman.class +0 -0
  1084. data/lib/roebe/java_roebe/UnicodeSnowman.java +48 -0
  1085. data/lib/roebe/java_roebe/Upcaser.class +0 -0
  1086. data/lib/roebe/java_roebe/Upcaser.java +69 -0
  1087. data/lib/roebe/java_roebe/UploadToImgur.class +0 -0
  1088. data/lib/roebe/java_roebe/UploadToImgur.java +97 -0
  1089. data/lib/roebe/java_roebe/UpwardsCounter.class +0 -0
  1090. data/lib/roebe/java_roebe/UpwardsCounter.java +77 -0
  1091. data/lib/roebe/java_roebe/Wikipedia.class +0 -0
  1092. data/lib/roebe/java_roebe/Wikipedia.java +43 -0
  1093. data/lib/roebe/java_roebe/WriteWhatInto.class +0 -0
  1094. data/lib/roebe/java_roebe/WriteWhatInto.java +56 -0
  1095. data/lib/roebe/java_roebe/Zoll.class +0 -0
  1096. data/lib/roebe/java_roebe/Zoll.java +42 -0
  1097. data/lib/roebe/java_roebe/controller/ControllerWithCSSSupport$1.class +0 -0
  1098. data/lib/roebe/java_roebe/controller/ControllerWithCSSSupport.class +0 -0
  1099. data/lib/roebe/java_roebe/controller/ControllerWithCSSSupport.java +277 -0
  1100. data/lib/roebe/java_roebe/gui/Calculator.class +0 -0
  1101. data/lib/roebe/java_roebe/gui/Calculator.java +287 -0
  1102. data/lib/roebe/java_roebe/java_roebe/ShowPrimeNumbers.class +0 -0
  1103. data/lib/roebe/java_roebe/java_roebe/ShowPrimeNumbers.java +75 -0
  1104. data/lib/roebe/java_roebe/java_roebe/TakeScreenshot.class +0 -0
  1105. data/lib/roebe/java_roebe/java_roebe/TakeScreenshot.java +126 -0
  1106. data/lib/roebe/java_roebe/java_roebe/TalesFromTheCrypt.class +0 -0
  1107. data/lib/roebe/java_roebe/java_roebe/TalesFromTheCrypt.java +128 -0
  1108. data/lib/roebe/java_roebe/java_roebe/Zoll.class +0 -0
  1109. data/lib/roebe/java_roebe/java_roebe/Zoll.java +42 -0
  1110. data/lib/roebe/java_roebe/show_the_content_of_this_directory/ShowTheContentOfThisDirectory.class +0 -0
  1111. data/lib/roebe/java_roebe/show_the_content_of_this_directory/ShowTheContentOfThisDirectory.java +50 -0
  1112. data/lib/roebe/jruby/jruby_enhancements.rb +18 -0
  1113. data/lib/roebe/jruby/swing/absolute_positioning_example.rb +75 -0
  1114. data/lib/roebe/jruby/swing/complete_windows_example.rb +90 -0
  1115. data/lib/roebe/jruby/swing/paint_demo.rb +37 -0
  1116. data/lib/roebe/jruby/swing/quit_button_example.rb +54 -0
  1117. data/lib/roebe/jruby/swing/simple_swing_example.rb +33 -0
  1118. data/lib/roebe/jruby/swing/tooltip_example.rb +90 -0
  1119. data/lib/roebe/jruby/swing/two_buttons_example.rb +62 -0
  1120. data/lib/roebe/knowledge_base/knowledge_base.rb +103 -0
  1121. data/lib/roebe/linux/README.md +3 -0
  1122. data/lib/roebe/linux/linux.rb +106 -0
  1123. data/lib/roebe/linux/slackware/remove_pulseaudio.rb +34 -0
  1124. data/lib/roebe/linux/slackware/slackware.rb +122 -0
  1125. data/lib/roebe/math/README.md +4 -0
  1126. data/lib/roebe/math/anagram.rb +42 -0
  1127. data/lib/roebe/math/average_of_differences.rb +41 -0
  1128. data/lib/roebe/math/binning.rb +56 -0
  1129. data/lib/roebe/math/calculate_the_distance_between_two_points.rb +38 -0
  1130. data/lib/roebe/math/calculate_the_variance.rb +45 -0
  1131. data/lib/roebe/math/circle.rb +101 -0
  1132. data/lib/roebe/math/draw_line.rb +25 -0
  1133. data/lib/roebe/math/draw_triangle.rb +26 -0
  1134. data/lib/roebe/math/fact.rb +44 -0
  1135. data/lib/roebe/math/levensthein.rb +69 -0
  1136. data/lib/roebe/math/log10.rb +54 -0
  1137. data/lib/roebe/math/math.rb +314 -0
  1138. data/lib/roebe/math/pi.rb +29 -0
  1139. data/lib/roebe/math/primfaktorzerlegung.rb +105 -0
  1140. data/lib/roebe/math/regel_von_sarrus.rb +70 -0
  1141. data/lib/roebe/math/sphere.rb +126 -0
  1142. data/lib/roebe/math/steigung.rb +59 -0
  1143. data/lib/roebe/math/traurige_oder_fr/303/266hliche_zahl.rb +47 -0
  1144. data/lib/roebe/math/traurige_oder_gl/303/274ckliche_zahl.rb +55 -0
  1145. data/lib/roebe/math/zylinder.rb +59 -0
  1146. data/lib/roebe/mime_types/mime_types.rb +389 -0
  1147. data/lib/roebe/misc/README.md +2 -0
  1148. data/lib/roebe/misc/chrome_extensions/roebe/background.js +1 -0
  1149. data/lib/roebe/misc/chrome_extensions/roebe/commands_to_run.rb +1 -0
  1150. data/lib/roebe/misc/chrome_extensions/roebe/content.js +1 -0
  1151. data/lib/roebe/misc/chrome_extensions/roebe/images/64.png +0 -0
  1152. data/lib/roebe/misc/chrome_extensions/roebe/index.html +130 -0
  1153. data/lib/roebe/misc/chrome_extensions/roebe/manifest.json +22 -0
  1154. data/lib/roebe/misc/chrome_extensions/roebe/popup.html +46 -0
  1155. data/lib/roebe/misc/chrome_extensions/roebe/popup.js +0 -0
  1156. data/lib/roebe/misc/chrome_extensions/roebe/simulate_a_dice.js +28 -0
  1157. data/lib/roebe/misc/fluxbox_keys_file +117 -0
  1158. data/lib/roebe/misc/icewm_keys_file +88 -0
  1159. data/lib/roebe/misc/master_boot_record/master_boot_record +0 -0
  1160. data/lib/roebe/misc/ublock_origin/ublock_origin.md +4 -0
  1161. data/lib/roebe/modules/as_uid.rb +61 -0
  1162. data/lib/roebe/modules/extensions/README.md +2 -0
  1163. data/lib/roebe/modules/extensions/hexapdf.rb +14 -0
  1164. data/lib/roebe/modules/http_status_codes/constants.rb +105 -0
  1165. data/lib/roebe/modules/http_status_codes/http_status_codes.rb +59 -0
  1166. data/lib/roebe/modules/remove_html.rb +61 -0
  1167. data/lib/roebe/mouse/README.md +2 -0
  1168. data/lib/roebe/mouse/libffi_is_not_available.rb +70 -0
  1169. data/lib/roebe/mouse/mouse.rb +205 -0
  1170. data/lib/roebe/nano/README.md +42 -0
  1171. data/lib/roebe/nano/c.md +77 -0
  1172. data/lib/roebe/nano/cpp.md +68 -0
  1173. data/lib/roebe/nano/css.md +16 -0
  1174. data/lib/roebe/nano/fasta.md +10 -0
  1175. data/lib/roebe/nano/general_settings.md +199 -0
  1176. data/lib/roebe/nano/generic.md +52 -0
  1177. data/lib/roebe/nano/html.md +7 -0
  1178. data/lib/roebe/nano/include.md +26 -0
  1179. data/lib/roebe/nano/java.md +31 -0
  1180. data/lib/roebe/nano/mail.md +36 -0
  1181. data/lib/roebe/nano/ml.md +21 -0
  1182. data/lib/roebe/nano/nano.cgi +23 -0
  1183. data/lib/roebe/nano/nanorc.md +16 -0
  1184. data/lib/roebe/nano/nexus.md +12 -0
  1185. data/lib/roebe/nano/opal.md +66 -0
  1186. data/lib/roebe/nano/patch_files.md +12 -0
  1187. data/lib/roebe/nano/perl.md +12 -0
  1188. data/lib/roebe/nano/php.md +26 -0
  1189. data/lib/roebe/nano/python.md +12 -0
  1190. data/lib/roebe/nano/ruby.md +122 -0
  1191. data/lib/roebe/nano/shell_scripts.md +15 -0
  1192. data/lib/roebe/nano/top.md +14 -0
  1193. data/lib/roebe/nano/yaml.md +70 -0
  1194. data/lib/roebe/nano/zzz_misc.md +13 -0
  1195. data/lib/roebe/no_colours.rb +7 -0
  1196. data/lib/roebe/pdf/README.md +1 -0
  1197. data/lib/roebe/pdf/prawn/all_in_one_showcasing_prawn.rb +164 -0
  1198. data/lib/roebe/project/project.rb +77 -0
  1199. data/lib/roebe/python/base/__pycache__/base.cpython-39.pyc +0 -0
  1200. data/lib/roebe/python/base/base.py +40 -0
  1201. data/lib/roebe/python/zoll.py +16 -0
  1202. data/lib/roebe/requires/basic_common_requires.rb +18 -0
  1203. data/lib/roebe/requires/colours.rb +7 -0
  1204. data/lib/roebe/requires/failsafe_require_of_beautiful_url.rb +12 -0
  1205. data/lib/roebe/requires/failsafe_require_of_opn.rb +12 -0
  1206. data/lib/roebe/requires/require_all_standalone_classes.rb +65 -0
  1207. data/lib/roebe/requires/require_all_standalone_modules.rb +61 -0
  1208. data/lib/roebe/requires/require_burn_iso.rb +5 -0
  1209. data/lib/roebe/requires/require_kde_konsole.rb +7 -0
  1210. data/lib/roebe/requires/require_menu_generator.rb +7 -0
  1211. data/lib/roebe/requires/require_remove_directory.rb +7 -0
  1212. data/lib/roebe/requires/require_ruby_header.rb +7 -0
  1213. data/lib/roebe/requires/require_the_browser_files.rb +11 -0
  1214. data/lib/roebe/requires/require_the_roebe_documentation.rb +11 -0
  1215. data/lib/roebe/requires/require_the_roebe_shell.rb +22 -0
  1216. data/lib/roebe/requires/require_the_run_class.rb +7 -0
  1217. data/lib/roebe/requires/require_the_toplevel_methods.rb +11 -0
  1218. data/lib/roebe/requires/require_the_whole_roebe_project.rb +75 -0
  1219. data/lib/roebe/requires/require_traverse_install.rb +7 -0
  1220. data/lib/roebe/requires/require_unicode.rb +31 -0
  1221. data/lib/roebe/requires/require_yaml.rb +1 -0
  1222. data/lib/roebe/setup/README.md +1 -0
  1223. data/lib/roebe/setup/setup.rb +1665 -0
  1224. data/lib/roebe/shell/README.md +6 -0
  1225. data/lib/roebe/shell/colours/colour_codes.rb +178 -0
  1226. data/lib/roebe/shell/colours/colours.rb +331 -0
  1227. data/lib/roebe/shell/commandline/commandline.rb +404 -0
  1228. data/lib/roebe/shell/configuration/configuration.rb +165 -0
  1229. data/lib/roebe/shell/gui/gtk3/vte_terminal_frame.rb +77 -0
  1230. data/lib/roebe/shell/help/colourized_help_line.rb +183 -0
  1231. data/lib/roebe/shell/help/documented_help_options.rb +254 -0
  1232. data/lib/roebe/shell/help/help.rb +105 -0
  1233. data/lib/roebe/shell/module_methods/anmeldung.rb +75 -0
  1234. data/lib/roebe/shell/module_methods/available_components.rb +78 -0
  1235. data/lib/roebe/shell/module_methods/benchmarks.rb +70 -0
  1236. data/lib/roebe/shell/module_methods/commandline_arguments.rb +35 -0
  1237. data/lib/roebe/shell/module_methods/encoding.rb +95 -0
  1238. data/lib/roebe/shell/module_methods/ftp.rb +65 -0
  1239. data/lib/roebe/shell/module_methods/generate_tab_completion.rb +96 -0
  1240. data/lib/roebe/shell/module_methods/home_directory.rb +108 -0
  1241. data/lib/roebe/shell/module_methods/main_file.rb +41 -0
  1242. data/lib/roebe/shell/module_methods/misc.rb +181 -0
  1243. data/lib/roebe/shell/module_methods/report_where_the_home_directory_can_be_found.rb +35 -0
  1244. data/lib/roebe/shell/module_methods/startup_time.rb +34 -0
  1245. data/lib/roebe/shell/project/project.rb +47 -0
  1246. data/lib/roebe/shell/session/session.rb +205 -0
  1247. data/lib/roebe/shell/shell/constants.rb +272 -0
  1248. data/lib/roebe/shell/shell/menu_for_the_main_loop.rb +8380 -0
  1249. data/lib/roebe/shell/shell/shell.rb +24639 -0
  1250. data/lib/roebe/shell/shellrc_parser/shellrc_parser.rb +276 -0
  1251. data/lib/roebe/shell/standalone_classes/time_converter.rb +86 -0
  1252. data/lib/roebe/shell/standalone_classes/todo.rb +100 -0
  1253. data/lib/roebe/shell/yaml/configuration/autoconvert_numbers.yml +1 -0
  1254. data/lib/roebe/shell/yaml/configuration/be_verbose.yml +1 -0
  1255. data/lib/roebe/shell/yaml/configuration/cd_burn_program.yml +1 -0
  1256. data/lib/roebe/shell/yaml/configuration/check_for_isos.yml +1 -0
  1257. data/lib/roebe/shell/yaml/configuration/check_upcoming_exams.yml +1 -0
  1258. data/lib/roebe/shell/yaml/configuration/collapse.yml +1 -0
  1259. data/lib/roebe/shell/yaml/configuration/colours.yml +10 -0
  1260. data/lib/roebe/shell/yaml/configuration/debug.yml +1 -0
  1261. data/lib/roebe/shell/yaml/configuration/default_browser_location.yml +1 -0
  1262. data/lib/roebe/shell/yaml/configuration/default_delay.yml +1 -0
  1263. data/lib/roebe/shell/yaml/configuration/default_file_action.yml +1 -0
  1264. data/lib/roebe/shell/yaml/configuration/dictionaries.yml +2 -0
  1265. data/lib/roebe/shell/yaml/configuration/display_index.yml +1 -0
  1266. data/lib/roebe/shell/yaml/configuration/do_show_modification_time.yml +1 -0
  1267. data/lib/roebe/shell/yaml/configuration/dvd_burn_program.yml +1 -0
  1268. data/lib/roebe/shell/yaml/configuration/editor.yml +1 -0
  1269. data/lib/roebe/shell/yaml/configuration/enter_extracted_directory.yml +1 -0
  1270. data/lib/roebe/shell/yaml/configuration/events.yml +2 -0
  1271. data/lib/roebe/shell/yaml/configuration/guess_directory_name.yml +1 -0
  1272. data/lib/roebe/shell/yaml/configuration/jumper_directories.yml +9 -0
  1273. data/lib/roebe/shell/yaml/configuration/last_directory.yml +1 -0
  1274. data/lib/roebe/shell/yaml/configuration/logfile_for_history.yml +1 -0
  1275. data/lib/roebe/shell/yaml/configuration/may_we_generate_file_skeleton.yml +1 -0
  1276. data/lib/roebe/shell/yaml/configuration/may_we_use_ftp.yml +1 -0
  1277. data/lib/roebe/shell/yaml/configuration/mplayer_favourite_files.yml +1 -0
  1278. data/lib/roebe/shell/yaml/configuration/official_release.yml +1 -0
  1279. data/lib/roebe/shell/yaml/configuration/open_downloaded_pdf_files_at_once.yml +1 -0
  1280. data/lib/roebe/shell/yaml/configuration/operating_system.yml +1 -0
  1281. data/lib/roebe/shell/yaml/configuration/padding.yml +1 -0
  1282. data/lib/roebe/shell/yaml/configuration/pdf_viewer.yml +1 -0
  1283. data/lib/roebe/shell/yaml/configuration/preferred_encoding.yml +1 -0
  1284. data/lib/roebe/shell/yaml/configuration/protected_directories.yml +8 -0
  1285. data/lib/roebe/shell/yaml/configuration/remove_globbed_files.yml +1 -0
  1286. data/lib/roebe/shell/yaml/configuration/run_simulation.yml +1 -0
  1287. data/lib/roebe/shell/yaml/configuration/shall_we_log_the_user_input_history.yml +1 -0
  1288. data/lib/roebe/shell/yaml/configuration/shell_name.yml +1 -0
  1289. data/lib/roebe/shell/yaml/configuration/shell_prompt.yml +1 -0
  1290. data/lib/roebe/shell/yaml/configuration/shorten_directory_names.yml +1 -0
  1291. data/lib/roebe/shell/yaml/configuration/show_absolute_path.yml +1 -0
  1292. data/lib/roebe/shell/yaml/configuration/show_condensed_permissions.yml +1 -0
  1293. data/lib/roebe/shell/yaml/configuration/show_hidden_files.yml +1 -0
  1294. data/lib/roebe/shell/yaml/configuration/show_n_lines.yml +1 -0
  1295. data/lib/roebe/shell/yaml/configuration/simplified.yml +1 -0
  1296. data/lib/roebe/shell/yaml/configuration/stop_on_missing_symlink.yml +1 -0
  1297. data/lib/roebe/shell/yaml/configuration/title_renamer.yml +1 -0
  1298. data/lib/roebe/shell/yaml/configuration/translate_unknown_words.yml +1 -0
  1299. data/lib/roebe/shell/yaml/configuration/truncate_long_file_names.yml +1 -0
  1300. data/lib/roebe/shell/yaml/configuration/upload_screenshots.yml +1 -0
  1301. data/lib/roebe/shell/yaml/configuration/use_aliases.yml +1 -0
  1302. data/lib/roebe/shell/yaml/configuration/use_colours.yml +1 -0
  1303. data/lib/roebe/shell/yaml/configuration/use_dictionary.yml +1 -0
  1304. data/lib/roebe/shell/yaml/configuration/use_irb_drop.yml +1 -0
  1305. data/lib/roebe/shell/yaml/configuration/use_irc.yml +1 -0
  1306. data/lib/roebe/shell/yaml/configuration/use_konsole_colours.yml +1 -0
  1307. data/lib/roebe/shell/yaml/configuration/use_readline.yml +1 -0
  1308. data/lib/roebe/shell/yaml/configuration/video_collection.yml +1 -0
  1309. data/lib/roebe/shell/yaml/configuration/video_player.yml +1 -0
  1310. data/lib/roebe/shell/yaml/configuration/which_bin_shell_to_use.yml +1 -0
  1311. data/lib/roebe/shell/yaml/configuration/which_shell.yml +1 -0
  1312. data/lib/roebe/shell/yaml/default_apps.yml +7 -0
  1313. data/lib/roebe/shell/yaml/ignore_these_last_commands.yml +12 -0
  1314. data/lib/roebe/shell/yaml/lazy_load_these_components.yml +51 -0
  1315. data/lib/roebe/shell_scripts/README.md +13 -0
  1316. data/lib/roebe/shell_scripts/bashrc +39 -0
  1317. data/lib/roebe/shell_scripts/check_bootloader.sh +30 -0
  1318. data/lib/roebe/shell_scripts/cliner.sh +98 -0
  1319. data/lib/roebe/shell_scripts/colour_grey_matrix.sh +7 -0
  1320. data/lib/roebe/shell_scripts/coloured_calendar.sh +25 -0
  1321. data/lib/roebe/shell_scripts/compile_ruby.sh +58 -0
  1322. data/lib/roebe/shell_scripts/completion_for_rf.sh +1065 -0
  1323. data/lib/roebe/shell_scripts/count_down.sh +13 -0
  1324. data/lib/roebe/shell_scripts/create_new_file.sh +25 -0
  1325. data/lib/roebe/shell_scripts/custom_prompts.sh +39 -0
  1326. data/lib/roebe/shell_scripts/do_install.sh +24 -0
  1327. data/lib/roebe/shell_scripts/do_stripped_install.sh +22 -0
  1328. data/lib/roebe/shell_scripts/echo_loop_example.sh +4 -0
  1329. data/lib/roebe/shell_scripts/extname.sh +21 -0
  1330. data/lib/roebe/shell_scripts/extract.sh +42 -0
  1331. data/lib/roebe/shell_scripts/extract_archive.sh +59 -0
  1332. data/lib/roebe/shell_scripts/first_character.sh +31 -0
  1333. data/lib/roebe/shell_scripts/how_to_obtain_user_input.sh +17 -0
  1334. data/lib/roebe/shell_scripts/install_base_roebe.sh +41 -0
  1335. data/lib/roebe/shell_scripts/lfs/001_binutils_1.sh +19 -0
  1336. data/lib/roebe/shell_scripts/lfs/002_gcc_1.sh +36 -0
  1337. data/lib/roebe/shell_scripts/lfs/003_linux_1.sh +23 -0
  1338. data/lib/roebe/shell_scripts/lfs/004_glibc_1.sh +42 -0
  1339. data/lib/roebe/shell_scripts/lfs/005_libstdc++_1.sh +25 -0
  1340. data/lib/roebe/shell_scripts/lfs/006_m4_2.sh +22 -0
  1341. data/lib/roebe/shell_scripts/lfs/007_ncurses_2.sh +39 -0
  1342. data/lib/roebe/shell_scripts/lfs/008_bash_2.sh +21 -0
  1343. data/lib/roebe/shell_scripts/lfs/009_coreutils_2.sh +25 -0
  1344. data/lib/roebe/shell_scripts/lfs/010_diffutils_2.sh +20 -0
  1345. data/lib/roebe/shell_scripts/lfs/011_file_2.sh +25 -0
  1346. data/lib/roebe/shell_scripts/lfs/012_findutils_2.sh +20 -0
  1347. data/lib/roebe/shell_scripts/lfs/013_gawk_2.sh +21 -0
  1348. data/lib/roebe/shell_scripts/lfs/014_grep_2.sh +20 -0
  1349. data/lib/roebe/shell_scripts/lfs/015_gzip_2.sh +20 -0
  1350. data/lib/roebe/shell_scripts/lfs/016_make_2.sh +20 -0
  1351. data/lib/roebe/shell_scripts/lfs/017_patch_2.sh +17 -0
  1352. data/lib/roebe/shell_scripts/lfs/018_sed_2.sh +19 -0
  1353. data/lib/roebe/shell_scripts/lfs/019_tar_2.sh +16 -0
  1354. data/lib/roebe/shell_scripts/lfs/020_xz_2.sh +15 -0
  1355. data/lib/roebe/shell_scripts/lfs/021_binutils_2.sh +30 -0
  1356. data/lib/roebe/shell_scripts/lfs/022_gcc_2.sh +50 -0
  1357. data/lib/roebe/shell_scripts/lfs/README.md +28 -0
  1358. data/lib/roebe/shell_scripts/lfs/lfs_build_variables.sh +251 -0
  1359. data/lib/roebe/shell_scripts/lfs/lfs_variables.sh +31 -0
  1360. data/lib/roebe/shell_scripts/lfs/libstdc++_2.sh +20 -0
  1361. data/lib/roebe/shell_scripts/lfs/ruby_2.sh +11 -0
  1362. data/lib/roebe/shell_scripts/list_colours.sh +25 -0
  1363. data/lib/roebe/shell_scripts/locales.sh +15 -0
  1364. data/lib/roebe/shell_scripts/loop_example.sh +5 -0
  1365. data/lib/roebe/shell_scripts/lower.sh +21 -0
  1366. data/lib/roebe/shell_scripts/misc.sh +327 -0
  1367. data/lib/roebe/shell_scripts/musl_cross_compiler.sh +178 -0
  1368. data/lib/roebe/shell_scripts/no_caps.sh +16 -0
  1369. data/lib/roebe/shell_scripts/number_guessing_game.sh +37 -0
  1370. data/lib/roebe/shell_scripts/parameters_example.sh +58 -0
  1371. data/lib/roebe/shell_scripts/query_parameters.sh +58 -0
  1372. data/lib/roebe/shell_scripts/remove_broken_symlinks_in_the_current_working_directory.sh +1 -0
  1373. data/lib/roebe/shell_scripts/reset_path.sh +15 -0
  1374. data/lib/roebe/shell_scripts/return_random_file.sh +20 -0
  1375. data/lib/roebe/shell_scripts/run_gobo_fixes.sh +17 -0
  1376. data/lib/roebe/shell_scripts/shell_file_containing_the_html_colours.sh +148 -0
  1377. data/lib/roebe/shell_scripts/show_semigraphic_characters.sh +14 -0
  1378. data/lib/roebe/shell_scripts/show_site_ruby.sh +15 -0
  1379. data/lib/roebe/shell_scripts/source_in_all_completions.sh +9 -0
  1380. data/lib/roebe/shell_scripts/true_ata.sh +34 -0
  1381. data/lib/roebe/shell_scripts/truecolour_line.sh +13 -0
  1382. data/lib/roebe/shell_scripts/zenity_count_to_100.sh +5 -0
  1383. data/lib/roebe/sinatra/README.md +6 -0
  1384. data/lib/roebe/sinatra/erb_example/erb_example.erb +10 -0
  1385. data/lib/roebe/sinatra/erb_example/erb_example.rb +13 -0
  1386. data/lib/roebe/sinatra/inline_template_example/inline_template_example.rb +27 -0
  1387. data/lib/roebe/sinatra/modify_http_response_headers_example/modify_http_response_headers_example.rb +13 -0
  1388. data/lib/roebe/sinatra/multi_urls/multi_urls.rb +29 -0
  1389. data/lib/roebe/sinatra/optional_route.rb +19 -0
  1390. data/lib/roebe/sinatra/query_the_name/query_the_name.rb +7 -0
  1391. data/lib/roebe/sinatra/rock_paper_and_scissors_example/rock_paper_and_scissors_example.rb +51 -0
  1392. data/lib/roebe/sinatra/route_definition_examples/route_definition_examples.rb +25 -0
  1393. data/lib/roebe/sinatra/send_file_example/send_file_example.rb +54 -0
  1394. data/lib/roebe/sinatra/session_counter/session_counter.rb +51 -0
  1395. data/lib/roebe/sinatra/show_the_environment_variables/show_the_environment_variables.rb +9 -0
  1396. data/lib/roebe/sinatra/simple_authentication/simple_authentication.rb +25 -0
  1397. data/lib/roebe/sinatra/simple_hello_world/simple_hello_world.rb +5 -0
  1398. data/lib/roebe/sinatra/sinatra_authentication_example/sinatra_authentication_example.rb +117 -0
  1399. data/lib/roebe/sinatra/sinatra_example_with_rack_component/sinatra_example_with_rack_component.rb +15 -0
  1400. data/lib/roebe/sinatra/subclassing_sinatra_example/subclassing_sinatra_example.rb +19 -0
  1401. data/lib/roebe/snippets/README.md +1 -0
  1402. data/lib/roebe/snippets/first_argument.rb +5 -0
  1403. data/lib/roebe/snippets/obtain_all_descendants.rb +31 -0
  1404. data/lib/roebe/sql_paradise/commands.rb +604 -0
  1405. data/lib/roebe/sql_paradise/create_database.rb +43 -0
  1406. data/lib/roebe/sql_paradise/create_table.rb +47 -0
  1407. data/lib/roebe/sql_paradise/insert_into.rb +77 -0
  1408. data/lib/roebe/sql_paradise/sql_command.rb +22 -0
  1409. data/lib/roebe/sql_paradise/sql_paradise.rb +180 -0
  1410. data/lib/roebe/time/README.md +6 -0
  1411. data/lib/roebe/time/seconds.rb +79 -0
  1412. data/lib/roebe/time/time.rb +196 -0
  1413. data/lib/roebe/toplevel_methods/arrow_keys.rb +37 -0
  1414. data/lib/roebe/toplevel_methods/ascii_paradise.rb +23 -0
  1415. data/lib/roebe/toplevel_methods/autoprune.rb +40 -0
  1416. data/lib/roebe/toplevel_methods/background.rb +89 -0
  1417. data/lib/roebe/toplevel_methods/base64.rb +37 -0
  1418. data/lib/roebe/toplevel_methods/beautify_system.rb +25 -0
  1419. data/lib/roebe/toplevel_methods/blinking_cursor.rb +88 -0
  1420. data/lib/roebe/toplevel_methods/boku_opening_times.rb +30 -0
  1421. data/lib/roebe/toplevel_methods/build_all_my_local_gems.rb +39 -0
  1422. data/lib/roebe/toplevel_methods/bundle_exam_results.rb +48 -0
  1423. data/lib/roebe/toplevel_methods/c_debug.rb +22 -0
  1424. data/lib/roebe/toplevel_methods/calculate_bmi.rb +41 -0
  1425. data/lib/roebe/toplevel_methods/calculate_hypotenuse.rb +26 -0
  1426. data/lib/roebe/toplevel_methods/chained.rb +19 -0
  1427. data/lib/roebe/toplevel_methods/chdir.rb +44 -0
  1428. data/lib/roebe/toplevel_methods/check_whether_an_internet_connection_is_available.rb +38 -0
  1429. data/lib/roebe/toplevel_methods/chroot.rb +170 -0
  1430. data/lib/roebe/toplevel_methods/cliner.rb +72 -0
  1431. data/lib/roebe/toplevel_methods/colourize_files_and_directories.rb +69 -0
  1432. data/lib/roebe/toplevel_methods/colourized_tokenitor.rb +56 -0
  1433. data/lib/roebe/toplevel_methods/convert_global_env.rb +34 -0
  1434. data/lib/roebe/toplevel_methods/copy_setup_rb_file.rb +27 -0
  1435. data/lib/roebe/toplevel_methods/copy_the_linux_kernel.rb +38 -0
  1436. data/lib/roebe/toplevel_methods/cp_to_here.rb +34 -0
  1437. data/lib/roebe/toplevel_methods/crazy_make_mode.rb +70 -0
  1438. data/lib/roebe/toplevel_methods/create_directory.rb +35 -0
  1439. data/lib/roebe/toplevel_methods/create_directory_layout.rb +58 -0
  1440. data/lib/roebe/toplevel_methods/create_this_c_file.rb +36 -0
  1441. data/lib/roebe/toplevel_methods/disable.rb +27 -0
  1442. data/lib/roebe/toplevel_methods/display_array.rb +97 -0
  1443. data/lib/roebe/toplevel_methods/display_mbr.rb +33 -0
  1444. data/lib/roebe/toplevel_methods/does_this_program_exist.rb +57 -0
  1445. data/lib/roebe/toplevel_methods/does_this_terminal_support_unicode.rb +27 -0
  1446. data/lib/roebe/toplevel_methods/downcase_all_entries_in_the_current_directory.rb +43 -0
  1447. data/lib/roebe/toplevel_methods/download_certdata.rb +29 -0
  1448. data/lib/roebe/toplevel_methods/download_emojis.rb +48 -0
  1449. data/lib/roebe/toplevel_methods/e.rb +33 -0
  1450. data/lib/roebe/toplevel_methods/editor.rb +47 -0
  1451. data/lib/roebe/toplevel_methods/email.rb +32 -0
  1452. data/lib/roebe/toplevel_methods/enable.rb +27 -0
  1453. data/lib/roebe/toplevel_methods/env.rb +40 -0
  1454. data/lib/roebe/toplevel_methods/esystem.rb +22 -0
  1455. data/lib/roebe/toplevel_methods/extract.rb +53 -0
  1456. data/lib/roebe/toplevel_methods/fibonacci.rb +108 -0
  1457. data/lib/roebe/toplevel_methods/files.rb +361 -0
  1458. data/lib/roebe/toplevel_methods/generate_konsole_css_file.rb +82 -0
  1459. data/lib/roebe/toplevel_methods/grab_colour.rb +31 -0
  1460. data/lib/roebe/toplevel_methods/halloween.rb +105 -0
  1461. data/lib/roebe/toplevel_methods/hello_world.rb +28 -0
  1462. data/lib/roebe/toplevel_methods/heredocs.rb +32 -0
  1463. data/lib/roebe/toplevel_methods/hostname.rb +38 -0
  1464. data/lib/roebe/toplevel_methods/human_readable.rb +41 -0
  1465. data/lib/roebe/toplevel_methods/images.rb +28 -0
  1466. data/lib/roebe/toplevel_methods/important_pdf_files.rb +131 -0
  1467. data/lib/roebe/toplevel_methods/increase_volume.rb +19 -0
  1468. data/lib/roebe/toplevel_methods/install_and_update_rcfiles.rb +26 -0
  1469. data/lib/roebe/toplevel_methods/install_linux_kernel_api_headers.rb +50 -0
  1470. data/lib/roebe/toplevel_methods/install_nss.rb +52 -0
  1471. data/lib/roebe/toplevel_methods/install_roebe_addons.rb +68 -0
  1472. data/lib/roebe/toplevel_methods/install_rust.rb +26 -0
  1473. data/lib/roebe/toplevel_methods/install_the_cascadia_font.rb +59 -0
  1474. data/lib/roebe/toplevel_methods/install_the_hack_font.rb +69 -0
  1475. data/lib/roebe/toplevel_methods/install_the_jet_brains_mono_font.rb +55 -0
  1476. data/lib/roebe/toplevel_methods/install_this_font.rb +80 -0
  1477. data/lib/roebe/toplevel_methods/install_this_locale.rb +30 -0
  1478. data/lib/roebe/toplevel_methods/install_vivaldi.rb +33 -0
  1479. data/lib/roebe/toplevel_methods/instance_variable_get.rb +22 -0
  1480. data/lib/roebe/toplevel_methods/irb.rb +34 -0
  1481. data/lib/roebe/toplevel_methods/is_on_roebe.rb +64 -0
  1482. data/lib/roebe/toplevel_methods/jp2a.rb +49 -0
  1483. data/lib/roebe/toplevel_methods/keywords.rb +43 -0
  1484. data/lib/roebe/toplevel_methods/lighttpd.rb +12 -0
  1485. data/lib/roebe/toplevel_methods/load_custom_ruby_files.rb +41 -0
  1486. data/lib/roebe/toplevel_methods/load_yaml.rb +28 -0
  1487. data/lib/roebe/toplevel_methods/mama.rb +30 -0
  1488. data/lib/roebe/toplevel_methods/master_boot_record.rb +84 -0
  1489. data/lib/roebe/toplevel_methods/math.rb +29 -0
  1490. data/lib/roebe/toplevel_methods/misc.rb +837 -0
  1491. data/lib/roebe/toplevel_methods/module_methods.rb +425 -0
  1492. data/lib/roebe/toplevel_methods/mount_procs.rb +25 -0
  1493. data/lib/roebe/toplevel_methods/move_file.rb +38 -0
  1494. data/lib/roebe/toplevel_methods/move_to_torrent_directory.rb +48 -0
  1495. data/lib/roebe/toplevel_methods/multimedia.rb +117 -0
  1496. data/lib/roebe/toplevel_methods/n_characters_in_this_file.rb +45 -0
  1497. data/lib/roebe/toplevel_methods/nano_addons.rb +36 -0
  1498. data/lib/roebe/toplevel_methods/new_konsole_tab.rb +21 -0
  1499. data/lib/roebe/toplevel_methods/newstud/newstud1.rb +24 -0
  1500. data/lib/roebe/toplevel_methods/newstud/newstud10.rb +24 -0
  1501. data/lib/roebe/toplevel_methods/newstud/newstud11.rb +24 -0
  1502. data/lib/roebe/toplevel_methods/newstud/newstud12.rb +24 -0
  1503. data/lib/roebe/toplevel_methods/newstud/newstud13.rb +24 -0
  1504. data/lib/roebe/toplevel_methods/newstud/newstud14.rb +24 -0
  1505. data/lib/roebe/toplevel_methods/newstud/newstud15.rb +24 -0
  1506. data/lib/roebe/toplevel_methods/newstud/newstud16.rb +24 -0
  1507. data/lib/roebe/toplevel_methods/newstud/newstud17.rb +24 -0
  1508. data/lib/roebe/toplevel_methods/newstud/newstud18.rb +24 -0
  1509. data/lib/roebe/toplevel_methods/newstud/newstud19.rb +24 -0
  1510. data/lib/roebe/toplevel_methods/newstud/newstud2.rb +24 -0
  1511. data/lib/roebe/toplevel_methods/newstud/newstud20.rb +24 -0
  1512. data/lib/roebe/toplevel_methods/newstud/newstud21.rb +24 -0
  1513. data/lib/roebe/toplevel_methods/newstud/newstud22.rb +24 -0
  1514. data/lib/roebe/toplevel_methods/newstud/newstud23.rb +24 -0
  1515. data/lib/roebe/toplevel_methods/newstud/newstud24.rb +24 -0
  1516. data/lib/roebe/toplevel_methods/newstud/newstud25.rb +24 -0
  1517. data/lib/roebe/toplevel_methods/newstud/newstud3.rb +24 -0
  1518. data/lib/roebe/toplevel_methods/newstud/newstud4.rb +24 -0
  1519. data/lib/roebe/toplevel_methods/newstud/newstud5.rb +24 -0
  1520. data/lib/roebe/toplevel_methods/newstud/newstud6.rb +24 -0
  1521. data/lib/roebe/toplevel_methods/newstud/newstud7.rb +24 -0
  1522. data/lib/roebe/toplevel_methods/newstud/newstud8.rb +24 -0
  1523. data/lib/roebe/toplevel_methods/newstud/newstud9.rb +24 -0
  1524. data/lib/roebe/toplevel_methods/newstud.rb +23 -0
  1525. data/lib/roebe/toplevel_methods/no_caps.rb +29 -0
  1526. data/lib/roebe/toplevel_methods/ntrad.rb +36 -0
  1527. data/lib/roebe/toplevel_methods/open_in_browser.rb +30 -0
  1528. data/lib/roebe/toplevel_methods/open_in_editor.rb +29 -0
  1529. data/lib/roebe/toplevel_methods/open_in_editor_and_browser.rb +38 -0
  1530. data/lib/roebe/toplevel_methods/open_ports.rb +67 -0
  1531. data/lib/roebe/toplevel_methods/opnn.rb +31 -0
  1532. data/lib/roebe/toplevel_methods/permanently_set_project_base_directory_to.rb +40 -0
  1533. data/lib/roebe/toplevel_methods/platform.rb +46 -0
  1534. data/lib/roebe/toplevel_methods/pp_output.rb +31 -0
  1535. data/lib/roebe/toplevel_methods/prime_numbers.rb +22 -0
  1536. data/lib/roebe/toplevel_methods/programs_directory.rb +29 -0
  1537. data/lib/roebe/toplevel_methods/purgeboth.rb +51 -0
  1538. data/lib/roebe/toplevel_methods/puts_this.rb +29 -0
  1539. data/lib/roebe/toplevel_methods/rds.rb +33 -0
  1540. data/lib/roebe/toplevel_methods/regex.rb +87 -0
  1541. data/lib/roebe/toplevel_methods/register_sigint.rb +67 -0
  1542. data/lib/roebe/toplevel_methods/remove_user.rb +29 -0
  1543. data/lib/roebe/toplevel_methods/repetition_pattern.rb +38 -0
  1544. data/lib/roebe/toplevel_methods/replace_leading_file_name.rb +35 -0
  1545. data/lib/roebe/toplevel_methods/replace_localhost_with_data.rb +39 -0
  1546. data/lib/roebe/toplevel_methods/report_classes.rb +51 -0
  1547. data/lib/roebe/toplevel_methods/report_the_gtk_versions_available.rb +40 -0
  1548. data/lib/roebe/toplevel_methods/report_the_location_of_the_default_browser.rb +40 -0
  1549. data/lib/roebe/toplevel_methods/require_this_roebe_class.rb +23 -0
  1550. data/lib/roebe/toplevel_methods/return_all_remote_entries_from_this_url.rb +38 -0
  1551. data/lib/roebe/toplevel_methods/return_date.rb +23 -0
  1552. data/lib/roebe/toplevel_methods/return_even_numbered_lines_from_this_file.rb +37 -0
  1553. data/lib/roebe/toplevel_methods/return_pwd.rb +25 -0
  1554. data/lib/roebe/toplevel_methods/rinstall2.rb +115 -0
  1555. data/lib/roebe/toplevel_methods/rubyzip.rb +85 -0
  1556. data/lib/roebe/toplevel_methods/run_this_file_in_the_background.rb +26 -0
  1557. data/lib/roebe/toplevel_methods/sanitize_url.rb +74 -0
  1558. data/lib/roebe/toplevel_methods/set_ten_aliases.rb +25 -0
  1559. data/lib/roebe/toplevel_methods/setup.rb +37 -0
  1560. data/lib/roebe/toplevel_methods/show_beauty_string.rb +27 -0
  1561. data/lib/roebe/toplevel_methods/show_processes.rb +31 -0
  1562. data/lib/roebe/toplevel_methods/silent_redirection.rb +17 -0
  1563. data/lib/roebe/toplevel_methods/sitelibdir.rb +24 -0
  1564. data/lib/roebe/toplevel_methods/studium1.rb +30 -0
  1565. data/lib/roebe/toplevel_methods/time.rb +152 -0
  1566. data/lib/roebe/toplevel_methods/to_bool.rb +31 -0
  1567. data/lib/roebe/toplevel_methods/to_camelcase.rb +19 -0
  1568. data/lib/roebe/toplevel_methods/to_mp3.rb +40 -0
  1569. data/lib/roebe/toplevel_methods/to_underscore.rb +36 -0
  1570. data/lib/roebe/toplevel_methods/tokenitor.rb +29 -0
  1571. data/lib/roebe/toplevel_methods/trad.rb +37 -0
  1572. data/lib/roebe/toplevel_methods/try_to_enable_the_expanded_cd_aliases.rb +64 -0
  1573. data/lib/roebe/toplevel_methods/unicode/README.md +1 -0
  1574. data/lib/roebe/toplevel_methods/unicode/colourful_unicode_snowmen.rb +151 -0
  1575. data/lib/roebe/toplevel_methods/unicode/completed.rb +57 -0
  1576. data/lib/roebe/toplevel_methods/unicode/decompose_this_unicode_symbol.rb +26 -0
  1577. data/lib/roebe/toplevel_methods/unicode/display_unicode_snowman.rb +31 -0
  1578. data/lib/roebe/toplevel_methods/unicode/download_unicode_dataset.rb +31 -0
  1579. data/lib/roebe/toplevel_methods/unicode/map_input_to_unicode_symbol.rb +260 -0
  1580. data/lib/roebe/toplevel_methods/unicode/popular_unicode_symbols.rb +1090 -0
  1581. data/lib/roebe/toplevel_methods/unicode/return_all_unicode_symbols.rb +26 -0
  1582. data/lib/roebe/toplevel_methods/unicode/unicode_block_elements.rb +262 -0
  1583. data/lib/roebe/toplevel_methods/unicode/unicode_chess_symbols.rb +162 -0
  1584. data/lib/roebe/toplevel_methods/update_pciids.rb +71 -0
  1585. data/lib/roebe/toplevel_methods/update_the_main_pdf_viewer_file_with_this_program.rb +58 -0
  1586. data/lib/roebe/toplevel_methods/variables.rb +26 -0
  1587. data/lib/roebe/toplevel_methods/verbose_truth.rb +23 -0
  1588. data/lib/roebe/toplevel_methods/video.rb +39 -0
  1589. data/lib/roebe/toplevel_methods/warning.rb +184 -0
  1590. data/lib/roebe/toplevel_methods/webrick.rb +80 -0
  1591. data/lib/roebe/toplevel_methods/wget.rb +17 -0
  1592. data/lib/roebe/toplevel_methods/whois.rb +36 -0
  1593. data/lib/roebe/toplevel_methods/windows.rb +22 -0
  1594. data/lib/roebe/toplevel_methods/wlan/bring_up_this_wlan_device.rb +51 -0
  1595. data/lib/roebe/toplevel_methods/wlan/scan_for_wlan_spots.rb +39 -0
  1596. data/lib/roebe/toplevel_methods/word_frequencies.rb +65 -0
  1597. data/lib/roebe/toplevel_methods/write_what_into.rb +86 -0
  1598. data/lib/roebe/toplevel_methods/xorg_buffer.rb +30 -0
  1599. data/lib/roebe/toplevel_methods/zlib.rb +57 -0
  1600. data/lib/roebe/urxvt/config +7 -0
  1601. data/lib/roebe/validation/README.md +3 -0
  1602. data/lib/roebe/validation/validate_roeberia_environment_variables.rb +120 -0
  1603. data/lib/roebe/version/version.rb +54 -0
  1604. data/lib/roebe/windows/bat/README.md +1 -0
  1605. data/lib/roebe/windows/bat/compile_gtk_application_hello_world_example.bat +1 -0
  1606. data/lib/roebe/windows/bat/screenCapture.bat +282 -0
  1607. data/lib/roebe/windows/doskey.md +50452 -0
  1608. data/lib/roebe/windows/misc.rb +40 -0
  1609. data/lib/roebe/windows/popup_windows_message_box.rb +21 -0
  1610. data/lib/roebe/windows/powershell.rb +341 -0
  1611. data/lib/roebe/windows/usb_devices.rb +38 -0
  1612. data/lib/roebe/www/1984/1984.cgi +98 -0
  1613. data/lib/roebe/www/BIOS/BIOS.cgi +79 -0
  1614. data/lib/roebe/www/GIS/GIS.cgi +192 -0
  1615. data/lib/roebe/www/GhostBSD/GhostBSD.cgi +7 -0
  1616. data/lib/roebe/www/GhostBSD/GhostBSD.rb +39 -0
  1617. data/lib/roebe/www/GhostBSD/GhostBSD.sinatra +56 -0
  1618. data/lib/roebe/www/HDMI/HDMI.cgi +34 -0
  1619. data/lib/roebe/www/IntelliJ_IDEA/tutorial.cgi +82 -0
  1620. data/lib/roebe/www/LATEX/LATEX.md +29 -0
  1621. data/lib/roebe/www/LEDS/LEDS.cgi +7 -0
  1622. data/lib/roebe/www/LEDS/LEDS.rb +201 -0
  1623. data/lib/roebe/www/LEDS/LEDS.sinatra +58 -0
  1624. data/lib/roebe/www/OLEDS/OLEDS.md +44 -0
  1625. data/lib/roebe/www/PCR/PCR.cgi +106 -0
  1626. data/lib/roebe/www/R/R.cgi +9 -0
  1627. data/lib/roebe/www/R/R.rb +1492 -0
  1628. data/lib/roebe/www/R/R.sinatra +58 -0
  1629. data/lib/roebe/www/R/examples/boxplot_example.R +42 -0
  1630. data/lib/roebe/www/R/functions/functions.R +104 -0
  1631. data/lib/roebe/www/RAM/RAM.cgi +7 -0
  1632. data/lib/roebe/www/RAM/RAM.rb +254 -0
  1633. data/lib/roebe/www/RAM/RAM.sinatra +56 -0
  1634. data/lib/roebe/www/REST/REST.md +12 -0
  1635. data/lib/roebe/www/RNA/RNA.cgi +245 -0
  1636. data/lib/roebe/www/SDL/SDL.cgi +7 -0
  1637. data/lib/roebe/www/SDL/SDL.rb +710 -0
  1638. data/lib/roebe/www/SDL/SDL.sinatra +56 -0
  1639. data/lib/roebe/www/SQL/SQL.cgi +34 -0
  1640. data/lib/roebe/www/T-mobile/vienna.md +2 -0
  1641. data/lib/roebe/www/UNIX/UNIX.cgi +68 -0
  1642. data/lib/roebe/www/X3D/X3D.cgi +7 -0
  1643. data/lib/roebe/www/X3D/X3D.rb +46 -0
  1644. data/lib/roebe/www/X3D/X3D.sinatra +56 -0
  1645. data/lib/roebe/www/abwasch/abwasch.cgi +7 -0
  1646. data/lib/roebe/www/abwasch/abwasch.rb +116 -0
  1647. data/lib/roebe/www/abwasch/abwasch.sinatra +52 -0
  1648. data/lib/roebe/www/adobe_acrobat_reader/content.md +7 -0
  1649. data/lib/roebe/www/aging/aging.cgi +7 -0
  1650. data/lib/roebe/www/aging/aging.rb +1322 -0
  1651. data/lib/roebe/www/aging/aging.sinatra +56 -0
  1652. data/lib/roebe/www/agrarm/303/244rkte/agrarm/303/244rkte.cgi +209 -0
  1653. data/lib/roebe/www/aids/aids.cgi +7 -0
  1654. data/lib/roebe/www/aids/aids.rb +240 -0
  1655. data/lib/roebe/www/aids/aids.sinatra +56 -0
  1656. data/lib/roebe/www/ajax/ajax.cgi +7 -0
  1657. data/lib/roebe/www/ajax/ajax.rb +88 -0
  1658. data/lib/roebe/www/ajax/ajax.sinatra +56 -0
  1659. data/lib/roebe/www/algorithms/algorithms.cgi +7 -0
  1660. data/lib/roebe/www/algorithms/algorithms.rb +262 -0
  1661. data/lib/roebe/www/algorithms/algorithms.sinatra +56 -0
  1662. data/lib/roebe/www/alkohole/alkohole.cgi +61 -0
  1663. data/lib/roebe/www/allegro/allegro.cgi +7 -0
  1664. data/lib/roebe/www/allegro/allegro.rb +396 -0
  1665. data/lib/roebe/www/allegro/allegro.sinatra +56 -0
  1666. data/lib/roebe/www/alsa/alsa.cgi +7 -0
  1667. data/lib/roebe/www/alsa/alsa.rb +313 -0
  1668. data/lib/roebe/www/alsa/alsa.sinatra +56 -0
  1669. data/lib/roebe/www/amino_acids/amino_acids.cgi +7 -0
  1670. data/lib/roebe/www/amino_acids/amino_acids.rb +34 -0
  1671. data/lib/roebe/www/amino_acids/amino_acids.sinatra +56 -0
  1672. data/lib/roebe/www/amusing_bits/fussball_zitate.cgi +7 -0
  1673. data/lib/roebe/www/amusing_bits/fussball_zitate.rb +182 -0
  1674. data/lib/roebe/www/amusing_bits/fussball_zitate.sinatra +56 -0
  1675. data/lib/roebe/www/amusing_bits/george_bush/george_bush.cgi +7 -0
  1676. data/lib/roebe/www/amusing_bits/george_bush/george_bush.rb +189 -0
  1677. data/lib/roebe/www/amusing_bits/george_bush/george_bush.sinatra +56 -0
  1678. data/lib/roebe/www/amusing_bits/lustige_menschen/lustige_menschen.cgi +7 -0
  1679. data/lib/roebe/www/amusing_bits/lustige_menschen/lustige_menschen.rb +142 -0
  1680. data/lib/roebe/www/amusing_bits/lustige_menschen/lustige_menschen.sinatra +56 -0
  1681. data/lib/roebe/www/amusing_bits/lustige_tiere/lustige_tiere.cgi +9 -0
  1682. data/lib/roebe/www/amusing_bits/lustige_tiere/lustige_tiere.rb +211 -0
  1683. data/lib/roebe/www/amusing_bits/lustige_tiere/lustige_tiere.sinatra +56 -0
  1684. data/lib/roebe/www/amusing_bits/the_iraq_war_and_other_wars/the_iraq_war_and_other_wars.cgi +7 -0
  1685. data/lib/roebe/www/amusing_bits/the_iraq_war_and_other_wars/the_iraq_war_and_other_wars.rb +74 -0
  1686. data/lib/roebe/www/amusing_bits/the_iraq_war_and_other_wars/the_iraq_war_and_other_wars.sinatra +56 -0
  1687. data/lib/roebe/www/analytical_chemistry/content.md +2 -0
  1688. data/lib/roebe/www/anthropology/anthropology.cgi +7 -0
  1689. data/lib/roebe/www/anthropology/anthropology.rb +26 -0
  1690. data/lib/roebe/www/anthropology/anthropology.sinatra +56 -0
  1691. data/lib/roebe/www/antibiotics/antibiotics.cgi +68 -0
  1692. data/lib/roebe/www/antibodies/antibodies.cgi +7 -0
  1693. data/lib/roebe/www/antibodies/antibodies.rb +311 -0
  1694. data/lib/roebe/www/antibodies/antibodies.sinatra +56 -0
  1695. data/lib/roebe/www/ants/ants.cgi +7 -0
  1696. data/lib/roebe/www/ants/ants.rb +150 -0
  1697. data/lib/roebe/www/ants/ants.sinatra +56 -0
  1698. data/lib/roebe/www/ants/news.md +90 -0
  1699. data/lib/roebe/www/apache/apache.cgi +7 -0
  1700. data/lib/roebe/www/apache/apache.rb +1164 -0
  1701. data/lib/roebe/www/apache/apache.sinatra +56 -0
  1702. data/lib/roebe/www/apache/configuration/add_handler.conf +26 -0
  1703. data/lib/roebe/www/apache/configuration/add_type.conf +29 -0
  1704. data/lib/roebe/www/apache/configuration/autogenerated_rewrite_rules.conf +66 -0
  1705. data/lib/roebe/www/apache/configuration/document_root.conf +32 -0
  1706. data/lib/roebe/www/apache/configuration/email.conf +8 -0
  1707. data/lib/roebe/www/apache/configuration/error_log.conf +36 -0
  1708. data/lib/roebe/www/apache/configuration/load_modules.conf +48 -0
  1709. data/lib/roebe/www/apache/configuration/mime_module.conf +11 -0
  1710. data/lib/roebe/www/apache/configuration/php.conf +22 -0
  1711. data/lib/roebe/www/apache/configuration/proxy_html_module.conf +6 -0
  1712. data/lib/roebe/www/apache/configuration/rewrite_rules.conf +137 -0
  1713. data/lib/roebe/www/apache/configuration/ruby.conf +13 -0
  1714. data/lib/roebe/www/apache/configuration/server_name.conf +10 -0
  1715. data/lib/roebe/www/apache/configuration/server_root.conf +6 -0
  1716. data/lib/roebe/www/apache/configuration/unixd_module.conf +22 -0
  1717. data/lib/roebe/www/apoptose/apoptose.cgi +31 -0
  1718. data/lib/roebe/www/apple/apple.cgi +7 -0
  1719. data/lib/roebe/www/apple/apple.rb +237 -0
  1720. data/lib/roebe/www/apple/apple.sinatra +56 -0
  1721. data/lib/roebe/www/archaea/archaea.cgi +7 -0
  1722. data/lib/roebe/www/archaea/archaea.rb +540 -0
  1723. data/lib/roebe/www/archaea/archaea.sinatra +56 -0
  1724. data/lib/roebe/www/arduino/arduino.cgi +7 -0
  1725. data/lib/roebe/www/arduino/arduino.rb +275 -0
  1726. data/lib/roebe/www/arduino/arduino.sinatra +56 -0
  1727. data/lib/roebe/www/arduino/sketches/0001_blink.sketch +30 -0
  1728. data/lib/roebe/www/ariolante_and_the_kitten/AriolanteAndTheKitten.rb +92 -0
  1729. data/lib/roebe/www/ariolante_and_the_kitten/ariolante_and_the_kitten.cgi +7 -0
  1730. data/lib/roebe/www/ariolante_and_the_kitten/ariolante_and_the_kitten.html +45455 -0
  1731. data/lib/roebe/www/ariolante_and_the_kitten/ariolante_and_the_kitten.md +104 -0
  1732. data/lib/roebe/www/ariolante_and_the_kitten/ariolante_and_the_kitten.rb +113 -0
  1733. data/lib/roebe/www/ariolante_and_the_kitten/ariolante_and_the_kitten.sinatra +61 -0
  1734. data/lib/roebe/www/armaturen/armaturen.cgi +7 -0
  1735. data/lib/roebe/www/armaturen/armaturen.rb +93 -0
  1736. data/lib/roebe/www/armaturen/armaturen.sinatra +56 -0
  1737. data/lib/roebe/www/art/art.cgi +7 -0
  1738. data/lib/roebe/www/art/art.rb +288 -0
  1739. data/lib/roebe/www/art/art.sinatra +52 -0
  1740. data/lib/roebe/www/artificial_intelligence/artificial_intelligence.cgi +7 -0
  1741. data/lib/roebe/www/artificial_intelligence/artificial_intelligence.rb +589 -0
  1742. data/lib/roebe/www/artificial_intelligence/artificial_intelligence.sinatra +56 -0
  1743. data/lib/roebe/www/atomkraftwerke/atomkraftwerke.cgi +7 -0
  1744. data/lib/roebe/www/atomkraftwerke/atomkraftwerke.rb +320 -0
  1745. data/lib/roebe/www/atomkraftwerke/atomkraftwerke.sinatra +56 -0
  1746. data/lib/roebe/www/audacity/audacity.cgi +29 -0
  1747. data/lib/roebe/www/audio/audio.cgi +9 -0
  1748. data/lib/roebe/www/audio/audio.rb +2747 -0
  1749. data/lib/roebe/www/audio/audio.sinatra +56 -0
  1750. data/lib/roebe/www/avisynth/avisynth.cgi +173 -0
  1751. data/lib/roebe/www/bacteria/bacteria.cgi +7 -0
  1752. data/lib/roebe/www/bacteria/bacteria.rb +41 -0
  1753. data/lib/roebe/www/bacteria/bacteria.sinatra +56 -0
  1754. data/lib/roebe/www/batterien/batterien.cgi +9 -0
  1755. data/lib/roebe/www/batterien/batterien.rb +162 -0
  1756. data/lib/roebe/www/batterien/batterien.sinatra +56 -0
  1757. data/lib/roebe/www/beamte/beamte.cgi +7 -0
  1758. data/lib/roebe/www/beamte/beamte.rb +19 -0
  1759. data/lib/roebe/www/beamte/beamte.sinatra +56 -0
  1760. data/lib/roebe/www/beauty/beauty.cgi +9 -0
  1761. data/lib/roebe/www/beauty/beauty.rb +132 -0
  1762. data/lib/roebe/www/beauty/beauty.sinatra +56 -0
  1763. data/lib/roebe/www/best_voices/best_voices.cgi +7 -0
  1764. data/lib/roebe/www/best_voices/best_voices.rb +71 -0
  1765. data/lib/roebe/www/best_voices/best_voices.sinatra +56 -0
  1766. data/lib/roebe/www/biobricks/biobricks.cgi +7 -0
  1767. data/lib/roebe/www/biobricks/biobricks.rb +19 -0
  1768. data/lib/roebe/www/biobricks/biobricks.sinatra +56 -0
  1769. data/lib/roebe/www/biochemistry/biochemistry.cgi +7 -0
  1770. data/lib/roebe/www/biochemistry/biochemistry.rb +403 -0
  1771. data/lib/roebe/www/biochemistry/biochemistry.sinatra +56 -0
  1772. data/lib/roebe/www/biochips/biochips.cgi +26 -0
  1773. data/lib/roebe/www/bioinformatics/bioinformatics.cgi +11 -0
  1774. data/lib/roebe/www/bioinformatics/bioinformatics.rb +416 -0
  1775. data/lib/roebe/www/bioinformatics/bioinformatics.sinatra +56 -0
  1776. data/lib/roebe/www/biology/biology.cgi +134 -0
  1777. data/lib/roebe/www/biology/biology.md +19 -0
  1778. data/lib/roebe/www/biomarkers/biomarkers.cgi +138 -0
  1779. data/lib/roebe/www/biomaterials/biomaterials.cgi +7 -0
  1780. data/lib/roebe/www/biomaterials/biomaterials.rb +349 -0
  1781. data/lib/roebe/www/biomaterials/biomaterials.sinatra +56 -0
  1782. data/lib/roebe/www/biotechnology/biotechnology.cgi +7 -0
  1783. data/lib/roebe/www/biotechnology/biotechnology.rb +525 -0
  1784. data/lib/roebe/www/biotechnology/biotechnology.sinatra +56 -0
  1785. data/lib/roebe/www/blender3d/blender3d.cgi +7 -0
  1786. data/lib/roebe/www/blender3d/blender3d.rb +265 -0
  1787. data/lib/roebe/www/blender3d/blender3d.sinatra +56 -0
  1788. data/lib/roebe/www/blog/blog.cgi +9 -0
  1789. data/lib/roebe/www/blog/blog.rb +258 -0
  1790. data/lib/roebe/www/blog/blog.sinatra +56 -0
  1791. data/lib/roebe/www/bluefish/README.md +5 -0
  1792. data/lib/roebe/www/bluefish/STD.bfproject +62 -0
  1793. data/lib/roebe/www/bluefish/STD.bfproject~ +62 -0
  1794. data/lib/roebe/www/bluefish/TODO.md +6 -0
  1795. data/lib/roebe/www/bodenkunde/bodenkunde.cgi +128 -0
  1796. data/lib/roebe/www/bsd/bsd.cgi +7 -0
  1797. data/lib/roebe/www/bsd/bsd.rb +90 -0
  1798. data/lib/roebe/www/bsd/bsd.sinatra +56 -0
  1799. data/lib/roebe/www/calculator/calculator.cgi +7 -0
  1800. data/lib/roebe/www/calculator/calculator.rb +15 -0
  1801. data/lib/roebe/www/calculator/calculator.sinatra +56 -0
  1802. data/lib/roebe/www/cameras/cameras.cgi +9 -0
  1803. data/lib/roebe/www/cameras/cameras.rb +358 -0
  1804. data/lib/roebe/www/cameras/cameras.sinatra +56 -0
  1805. data/lib/roebe/www/cancer/cancer.cgi +7 -0
  1806. data/lib/roebe/www/cancer/cancer.rb +270 -0
  1807. data/lib/roebe/www/cancer/cancer.sinatra +56 -0
  1808. data/lib/roebe/www/cassette/cassette.cgi +719 -0
  1809. data/lib/roebe/www/cats/cats.cgi +7 -0
  1810. data/lib/roebe/www/cats/cats.rb +310 -0
  1811. data/lib/roebe/www/cats/cats.sinatra +56 -0
  1812. data/lib/roebe/www/cell_cultures/cell_cultures.cgi +378 -0
  1813. data/lib/roebe/www/cellbiology/cellbiology.cgi +7 -0
  1814. data/lib/roebe/www/cellbiology/cellbiology.rb +1110 -0
  1815. data/lib/roebe/www/cellbiology/cellbiology.sinatra +56 -0
  1816. data/lib/roebe/www/cellulose/cellulose.cgi +7 -0
  1817. data/lib/roebe/www/cellulose/cellulose.rb +28 -0
  1818. data/lib/roebe/www/cellulose/cellulose.sinatra +56 -0
  1819. data/lib/roebe/www/chemistry/chemistry.cgi +7 -0
  1820. data/lib/roebe/www/chemistry/chemistry.rb +1961 -0
  1821. data/lib/roebe/www/chemistry/chemistry.sinatra +58 -0
  1822. data/lib/roebe/www/chromatography/content.md +2 -0
  1823. data/lib/roebe/www/chrome_and_chromium/chrome_and_chromium.cgi +7 -0
  1824. data/lib/roebe/www/chrome_and_chromium/chrome_and_chromium.rb +295 -0
  1825. data/lib/roebe/www/chrome_and_chromium/chrome_and_chromium.sinatra +56 -0
  1826. data/lib/roebe/www/cmake/CMakeTemplate.txt +48 -0
  1827. data/lib/roebe/www/cmake/cmake.cgi +7 -0
  1828. data/lib/roebe/www/cmake/cmake.rb +142 -0
  1829. data/lib/roebe/www/cmake/cmake.sinatra +52 -0
  1830. data/lib/roebe/www/codecs/codecs.cgi +94 -0
  1831. data/lib/roebe/www/codepages/codepages.cgi +9 -0
  1832. data/lib/roebe/www/codepages/codepages.rb +17 -0
  1833. data/lib/roebe/www/codepages/codepages.sinatra +56 -0
  1834. data/lib/roebe/www/cognitive_biology/cognitive_biology.cgi +805 -0
  1835. data/lib/roebe/www/cognitive_biology/cognitive_biology.html +40634 -0
  1836. data/lib/roebe/www/compact_disc/compact_disc.cgi +7 -0
  1837. data/lib/roebe/www/compact_disc/compact_disc.rb +124 -0
  1838. data/lib/roebe/www/compact_disc/compact_disc.sinatra +56 -0
  1839. data/lib/roebe/www/compiling/compiling.cgi +9 -0
  1840. data/lib/roebe/www/compiling/compiling.rb +2580 -0
  1841. data/lib/roebe/www/compiling/compiling.sinatra +52 -0
  1842. data/lib/roebe/www/componists/vivaldi.cgi +224 -0
  1843. data/lib/roebe/www/computers/computers.cgi +107 -0
  1844. data/lib/roebe/www/conference_talks/conference_talks.md +11 -0
  1845. data/lib/roebe/www/conky/conky.cgi +7 -0
  1846. data/lib/roebe/www/conky/conky.rb +132 -0
  1847. data/lib/roebe/www/conky/conky.sinatra +56 -0
  1848. data/lib/roebe/www/conky/my_conkyrc_04.02.2020 +83 -0
  1849. data/lib/roebe/www/consumers/consumers.cgi +7 -0
  1850. data/lib/roebe/www/consumers/consumers.rb +23 -0
  1851. data/lib/roebe/www/consumers/consumers.sinatra +56 -0
  1852. data/lib/roebe/www/covid19/covid19.cgi +10 -0
  1853. data/lib/roebe/www/covid19/covid19.rb +2160 -0
  1854. data/lib/roebe/www/covid19/covid19.sinatra +56 -0
  1855. data/lib/roebe/www/creativity/creativity.cgi +9 -0
  1856. data/lib/roebe/www/creativity/creativity.rb +40 -0
  1857. data/lib/roebe/www/creativity/creativity.sinatra +56 -0
  1858. data/lib/roebe/www/crispr/crispr.cgi +7 -0
  1859. data/lib/roebe/www/crispr/crispr.rb +317 -0
  1860. data/lib/roebe/www/crispr/crispr.sinatra +56 -0
  1861. data/lib/roebe/www/cron/cron.cgi +7 -0
  1862. data/lib/roebe/www/cron/cron.rb +99 -0
  1863. data/lib/roebe/www/cron/cron.sinatra +56 -0
  1864. data/lib/roebe/www/cyanobacteria/cyanobacteria.cgi +7 -0
  1865. data/lib/roebe/www/cyanobacteria/cyanobacteria.rb +127 -0
  1866. data/lib/roebe/www/cyanobacteria/cyanobacteria.sinatra +56 -0
  1867. data/lib/roebe/www/cytogenetics/cytogenetics.cgi +7 -0
  1868. data/lib/roebe/www/cytogenetics/cytogenetics.rb +41 -0
  1869. data/lib/roebe/www/cytogenetics/cytogenetics.sinatra +56 -0
  1870. data/lib/roebe/www/databases/databases.cgi +78 -0
  1871. data/lib/roebe/www/databases/postgresql/postgresql.cgi +7 -0
  1872. data/lib/roebe/www/databases/postgresql/postgresql.rb +323 -0
  1873. data/lib/roebe/www/databases/postgresql/postgresql.sinatra +56 -0
  1874. data/lib/roebe/www/databases/postgresql/psqlrc +22 -0
  1875. data/lib/roebe/www/databases/sqlite/sqlite.cgi +7 -0
  1876. data/lib/roebe/www/databases/sqlite/sqlite.rb +625 -0
  1877. data/lib/roebe/www/databases/sqlite/sqlite.sinatra +56 -0
  1878. data/lib/roebe/www/decibel/decibel.cgi +96 -0
  1879. data/lib/roebe/www/designing/SLOGANS.md +3 -0
  1880. data/lib/roebe/www/designing_and_art/designing_and_art.cgi +9 -0
  1881. data/lib/roebe/www/designing_and_art/designing_and_art.rb +755 -0
  1882. data/lib/roebe/www/designing_and_art/designing_and_art.sinatra +56 -0
  1883. data/lib/roebe/www/designing_on_linux/designing_on_linux.cgi +7 -0
  1884. data/lib/roebe/www/designing_on_linux/designing_on_linux.rb +66 -0
  1885. data/lib/roebe/www/designing_on_linux/designing_on_linux.sinatra +56 -0
  1886. data/lib/roebe/www/developmental_biology/developmental_biology.cgi +7 -0
  1887. data/lib/roebe/www/developmental_biology/developmental_biology.rb +503 -0
  1888. data/lib/roebe/www/developmental_biology/developmental_biology.sinatra +56 -0
  1889. data/lib/roebe/www/die_erde/die_erde.cgi +7 -0
  1890. data/lib/roebe/www/die_erde/die_erde.rb +45 -0
  1891. data/lib/roebe/www/die_erde/die_erde.sinatra +56 -0
  1892. data/lib/roebe/www/die_herrenlose_katze/die_herrenlose_katze.cgi +7 -0
  1893. data/lib/roebe/www/die_herrenlose_katze/die_herrenlose_katze.html +41583 -0
  1894. data/lib/roebe/www/die_herrenlose_katze/die_herrenlose_katze.rb +476 -0
  1895. data/lib/roebe/www/die_herrenlose_katze/die_herrenlose_katze.sinatra +61 -0
  1896. data/lib/roebe/www/die_katze_im_schnee/DieKatzeImSchnee.rb +80 -0
  1897. data/lib/roebe/www/die_katze_im_schnee/die_katze_im_schnee.cgi +7 -0
  1898. data/lib/roebe/www/die_katze_im_schnee/die_katze_im_schnee.html +41461 -0
  1899. data/lib/roebe/www/die_katze_im_schnee/die_katze_im_schnee.md +185 -0
  1900. data/lib/roebe/www/die_katze_im_schnee/die_katze_im_schnee.rb +111 -0
  1901. data/lib/roebe/www/die_katze_im_schnee/die_katze_im_schnee.sinatra +61 -0
  1902. data/lib/roebe/www/direct_democracy/direct_democracy.cgi +7 -0
  1903. data/lib/roebe/www/direct_democracy/direct_democracy.rb +45 -0
  1904. data/lib/roebe/www/direct_democracy/direct_democracy.sinatra +56 -0
  1905. data/lib/roebe/www/distcc/distcc.cgi +7 -0
  1906. data/lib/roebe/www/distcc/distcc.rb +78 -0
  1907. data/lib/roebe/www/distcc/distcc.sinatra +56 -0
  1908. data/lib/roebe/www/dna_repair_and_mutations/dna_repair_and_mutations.cgi +448 -0
  1909. data/lib/roebe/www/dna_replication/DNA_replication.cgi +32 -0
  1910. data/lib/roebe/www/documentation/README.md +3 -0
  1911. data/lib/roebe/www/documentation/documentation.rb +98 -0
  1912. data/lib/roebe/www/dolphin/add_to_vlc_playlist.desktop +12 -0
  1913. data/lib/roebe/www/dosbox/autogenerated_dosbox.conf +776 -0
  1914. data/lib/roebe/www/dosbox/dosbox.cgi +7 -0
  1915. data/lib/roebe/www/dosbox/dosbox.rb +241 -0
  1916. data/lib/roebe/www/dosbox/dosbox.sinatra +52 -0
  1917. data/lib/roebe/www/dosboxx/dosboxx.cgi +74 -0
  1918. data/lib/roebe/www/drucker/drucker.cgi +7 -0
  1919. data/lib/roebe/www/drucker/drucker.rb +256 -0
  1920. data/lib/roebe/www/drucker/drucker.sinatra +56 -0
  1921. data/lib/roebe/www/economy/economy.cgi +7 -0
  1922. data/lib/roebe/www/economy/economy.rb +16 -0
  1923. data/lib/roebe/www/economy/economy.sinatra +56 -0
  1924. data/lib/roebe/www/economy/mieten_und_wohnen.cgi +7 -0
  1925. data/lib/roebe/www/economy/mieten_und_wohnen.rb +39 -0
  1926. data/lib/roebe/www/economy/mieten_und_wohnen.sinatra +56 -0
  1927. data/lib/roebe/www/elektrophorese/elektrophorese.cgi +277 -0
  1928. data/lib/roebe/www/emacs/emacs.cgi +7 -0
  1929. data/lib/roebe/www/emacs/emacs.rb +71 -0
  1930. data/lib/roebe/www/emacs/emacs.sinatra +56 -0
  1931. data/lib/roebe/www/embeddable_interface.rb +54 -0
  1932. data/lib/roebe/www/encodings/encodings.cgi +7 -0
  1933. data/lib/roebe/www/encodings/encodings.rb +80 -0
  1934. data/lib/roebe/www/encodings/encodings.sinatra +56 -0
  1935. data/lib/roebe/www/english/english.cgi +7 -0
  1936. data/lib/roebe/www/english/english.rb +62 -0
  1937. data/lib/roebe/www/english/english.sinatra +52 -0
  1938. data/lib/roebe/www/enzymes/enzymes.cgi +53 -0
  1939. data/lib/roebe/www/epigenetics/epigenetics.cgi +75 -0
  1940. data/lib/roebe/www/erben/erben.cgi +7 -0
  1941. data/lib/roebe/www/erben/erben.rb +45 -0
  1942. data/lib/roebe/www/erben/erben.sinatra +56 -0
  1943. data/lib/roebe/www/ern/303/244hrung/ern/303/244hrung.cgi +7 -0
  1944. data/lib/roebe/www/ern/303/244hrung/ern/303/244hrung.rb +263 -0
  1945. data/lib/roebe/www/ern/303/244hrung/ern/303/244hrung.sinatra +56 -0
  1946. data/lib/roebe/www/erste_hilfe/erste_hilfe.cgi +186 -0
  1947. data/lib/roebe/www/ethernet/ethernet.cgi +27 -0
  1948. data/lib/roebe/www/ethik/ethik.md +4 -0
  1949. data/lib/roebe/www/euphemismen_und_werturteile/euphemismen_und_werturteile.cgi +9 -0
  1950. data/lib/roebe/www/euphemismen_und_werturteile/euphemismen_und_werturteile.rb +301 -0
  1951. data/lib/roebe/www/euphemismen_und_werturteile/euphemismen_und_werturteile.sinatra +56 -0
  1952. data/lib/roebe/www/evolution/evolution.cgi +7 -0
  1953. data/lib/roebe/www/evolution/evolution.rb +454 -0
  1954. data/lib/roebe/www/evolution/evolution.sinatra +52 -0
  1955. data/lib/roebe/www/excel/excel.cgi +7 -0
  1956. data/lib/roebe/www/excel/excel.rb +23 -0
  1957. data/lib/roebe/www/excel/excel.sinatra +56 -0
  1958. data/lib/roebe/www/festplatten/festplatten.cgi +7 -0
  1959. data/lib/roebe/www/festplatten/festplatten.rb +839 -0
  1960. data/lib/roebe/www/festplatten/festplatten.sinatra +56 -0
  1961. data/lib/roebe/www/ffmpeg/ffmpeg.cgi +454 -0
  1962. data/lib/roebe/www/fire/fire.cgi +9 -0
  1963. data/lib/roebe/www/fire/fire.rb +803 -0
  1964. data/lib/roebe/www/fire/fire.sinatra +56 -0
  1965. data/lib/roebe/www/firefox/firefox.cgi +11 -0
  1966. data/lib/roebe/www/firefox/firefox.rb +1317 -0
  1967. data/lib/roebe/www/firefox/firefox.sinatra +56 -0
  1968. data/lib/roebe/www/firefox/mozconfig +93 -0
  1969. data/lib/roebe/www/flexible_foto_gallery/README.md +3 -0
  1970. data/lib/roebe/www/flexible_foto_gallery/flexible_foto_gallery.cgi +64 -0
  1971. data/lib/roebe/www/food/food.cgi +7 -0
  1972. data/lib/roebe/www/food/food.rb +369 -0
  1973. data/lib/roebe/www/food/food.sinatra +56 -0
  1974. data/lib/roebe/www/fox/fox.cgi +7 -0
  1975. data/lib/roebe/www/fox/fox.rb +890 -0
  1976. data/lib/roebe/www/fox/fox.sinatra +56 -0
  1977. data/lib/roebe/www/ftp/ftp.cgi +7 -0
  1978. data/lib/roebe/www/ftp/ftp.rb +134 -0
  1979. data/lib/roebe/www/ftp/ftp.sinatra +56 -0
  1980. data/lib/roebe/www/funk/funk.cgi +7 -0
  1981. data/lib/roebe/www/funk/funk.rb +385 -0
  1982. data/lib/roebe/www/funk/funk.sinatra +56 -0
  1983. data/lib/roebe/www/gedichte/gedichte.cgi +7 -0
  1984. data/lib/roebe/www/gedichte/gedichte.rb +13 -0
  1985. data/lib/roebe/www/gedichte/gedichte.sinatra +56 -0
  1986. data/lib/roebe/www/gene_expression/SLOGANS.md +28 -0
  1987. data/lib/roebe/www/gene_expression/gene_expression.cgi +7 -0
  1988. data/lib/roebe/www/gene_expression/gene_expression.rb +209 -0
  1989. data/lib/roebe/www/gene_therapy/06.08.2008_Human_gene_therapy_for_RPE65_isomerase_deficiency.md +29 -0
  1990. data/lib/roebe/www/gene_therapy/28.11.2008_Gentherapie_am_Auge_erfolgreich.md +41 -0
  1991. data/lib/roebe/www/gene_therapy/31.01.2000_Earlier_Gene_Test_Deaths_Not_Reported.md +62 -0
  1992. data/lib/roebe/www/gene_therapy/SLOGANS.md +25 -0
  1993. data/lib/roebe/www/genetic_diseases/genetic_diseases.cgi +142 -0
  1994. data/lib/roebe/www/genetics/genetics.cgi +7 -0
  1995. data/lib/roebe/www/genetics/genetics.rb +1447 -0
  1996. data/lib/roebe/www/genetics/genetics.sinatra +52 -0
  1997. data/lib/roebe/www/genomics/genomics.cgi +7 -0
  1998. data/lib/roebe/www/genomics/genomics.rb +212 -0
  1999. data/lib/roebe/www/genomics/genomics.sinatra +56 -0
  2000. data/lib/roebe/www/geologie/geologie.cgi +156 -0
  2001. data/lib/roebe/www/geometrie/geometrie.cgi +7 -0
  2002. data/lib/roebe/www/geometrie/geometrie.rb +387 -0
  2003. data/lib/roebe/www/geometrie/geometrie.sinatra +56 -0
  2004. data/lib/roebe/www/gesundheit/diabetes/diabetes.cgi +7 -0
  2005. data/lib/roebe/www/gesundheit/diabetes/diabetes.rb +71 -0
  2006. data/lib/roebe/www/gesundheit/diabetes/diabetes.sinatra +56 -0
  2007. data/lib/roebe/www/gesundheit/metabolic_syndrome/metabolic_syndrome.cgi +7 -0
  2008. data/lib/roebe/www/gesundheit/metabolic_syndrome/metabolic_syndrome.rb +47 -0
  2009. data/lib/roebe/www/gesundheit/metabolic_syndrome/metabolic_syndrome.sinatra +56 -0
  2010. data/lib/roebe/www/gesundheit/myokarditis/myokarditis.cgi +7 -0
  2011. data/lib/roebe/www/gesundheit/myokarditis/myokarditis.rb +113 -0
  2012. data/lib/roebe/www/gesundheit/myokarditis/myokarditis.sinatra +56 -0
  2013. data/lib/roebe/www/gimp/gimp.cgi +7 -0
  2014. data/lib/roebe/www/gimp/gimp.rb +1519 -0
  2015. data/lib/roebe/www/gimp/gimp.sinatra +56 -0
  2016. data/lib/roebe/www/ginger_der_bandit/GingerDerBandit.rb +92 -0
  2017. data/lib/roebe/www/ginger_der_bandit/ginger_der_bandit.cgi +7 -0
  2018. data/lib/roebe/www/ginger_der_bandit/ginger_der_bandit.html +40757 -0
  2019. data/lib/roebe/www/ginger_der_bandit/ginger_der_bandit.md +518 -0
  2020. data/lib/roebe/www/ginger_der_bandit/ginger_der_bandit.rb +119 -0
  2021. data/lib/roebe/www/ginger_der_bandit/ginger_der_bandit.sinatra +61 -0
  2022. data/lib/roebe/www/git/git.cgi +7 -0
  2023. data/lib/roebe/www/git/git.rb +264 -0
  2024. data/lib/roebe/www/git/git.sinatra +52 -0
  2025. data/lib/roebe/www/git/gitconfig +7 -0
  2026. data/lib/roebe/www/gnuplot/force.dat +16 -0
  2027. data/lib/roebe/www/gnuplot/gnuplot.cgi +7 -0
  2028. data/lib/roebe/www/gnuplot/gnuplot.rb +431 -0
  2029. data/lib/roebe/www/gnuplot/gnuplot.sinatra +56 -0
  2030. data/lib/roebe/www/gnuplot/number_of_eukaryotic_genes.dat +25 -0
  2031. data/lib/roebe/www/google/google.cgi +7 -0
  2032. data/lib/roebe/www/google/google.rb +49 -0
  2033. data/lib/roebe/www/google/google.sinatra +56 -0
  2034. data/lib/roebe/www/graphviz/graphviz.cgi +7 -0
  2035. data/lib/roebe/www/graphviz/graphviz.rb +196 -0
  2036. data/lib/roebe/www/graphviz/graphviz.sinatra +56 -0
  2037. data/lib/roebe/www/grub/README.md +1 -0
  2038. data/lib/roebe/www/grub/grub.cgi +7 -0
  2039. data/lib/roebe/www/grub/grub.rb +615 -0
  2040. data/lib/roebe/www/grub/grub.sinatra +56 -0
  2041. data/lib/roebe/www/grub/std_menu.lst +87 -0
  2042. data/lib/roebe/www/haiku/haiku.cgi +9 -0
  2043. data/lib/roebe/www/haiku/haiku.rb +73 -0
  2044. data/lib/roebe/www/haiku/haiku.sinatra +56 -0
  2045. data/lib/roebe/www/hardware/computersysteme/computersysteme.cgi +7 -0
  2046. data/lib/roebe/www/hardware/computersysteme/computersysteme.rb +517 -0
  2047. data/lib/roebe/www/hardware/computersysteme/computersysteme.sinatra +56 -0
  2048. data/lib/roebe/www/hardware/heizk/303/266rper/heizk/303/266rper.cgi +7 -0
  2049. data/lib/roebe/www/hardware/heizk/303/266rper/heizk/303/266rper.rb +62 -0
  2050. data/lib/roebe/www/hardware/heizk/303/266rper/heizk/303/266rper.sinatra +56 -0
  2051. data/lib/roebe/www/hardware/kabel_und_adaptoren/kabel_und_adaptoren.cgi +7 -0
  2052. data/lib/roebe/www/hardware/kabel_und_adaptoren/kabel_und_adaptoren.rb +394 -0
  2053. data/lib/roebe/www/hardware/kabel_und_adaptoren/kabel_und_adaptoren.sinatra +56 -0
  2054. data/lib/roebe/www/hardware/schrauben_muttern_und_n/303/244gel/schrauben_muttern_und_n/303/244gel.cgi +7 -0
  2055. data/lib/roebe/www/hardware/schrauben_muttern_und_n/303/244gel/schrauben_muttern_und_n/303/244gel.rb +100 -0
  2056. data/lib/roebe/www/hardware/schrauben_muttern_und_n/303/244gel/schrauben_muttern_und_n/303/244gel.sinatra +56 -0
  2057. data/lib/roebe/www/hardware_assembly/hardware_assembly.cgi +10 -0
  2058. data/lib/roebe/www/hardware_assembly/hardware_assembly.rb +265 -0
  2059. data/lib/roebe/www/hardware_assembly/hardware_assembly.sinatra +56 -0
  2060. data/lib/roebe/www/heart/heart.cgi +7 -0
  2061. data/lib/roebe/www/heart/heart.rb +53 -0
  2062. data/lib/roebe/www/heart/heart.sinatra +56 -0
  2063. data/lib/roebe/www/history/KNOWLEDGE_BITS.md +2 -0
  2064. data/lib/roebe/www/history/yaml/scientific_history.yml +1 -0
  2065. data/lib/roebe/www/hiveos/hiveos.cgi +9 -0
  2066. data/lib/roebe/www/hiveos/hiveos.rb +836 -0
  2067. data/lib/roebe/www/hiveos/hiveos.sinatra +56 -0
  2068. data/lib/roebe/www/hormone/hormone.cgi +76 -0
  2069. data/lib/roebe/www/htop/htop.md +1 -0
  2070. data/lib/roebe/www/humans_are_funny/humans_are_funny.cgi +7 -0
  2071. data/lib/roebe/www/humans_are_funny/humans_are_funny.rb +23 -0
  2072. data/lib/roebe/www/humans_are_funny/humans_are_funny.sinatra +52 -0
  2073. data/lib/roebe/www/h/303/244user/h/303/244user.cgi +7 -0
  2074. data/lib/roebe/www/h/303/244user/h/303/244user.rb +115 -0
  2075. data/lib/roebe/www/h/303/244user/h/303/244user.sinatra +56 -0
  2076. data/lib/roebe/www/icewm/icewm.cgi +7 -0
  2077. data/lib/roebe/www/icewm/icewm.rb +34 -0
  2078. data/lib/roebe/www/icewm/icewm.sinatra +56 -0
  2079. data/lib/roebe/www/icewm/keys +88 -0
  2080. data/lib/roebe/www/icewm/menu_file +171 -0
  2081. data/lib/roebe/www/icewm/preferences +1043 -0
  2082. data/lib/roebe/www/icewm/programs +322 -0
  2083. data/lib/roebe/www/icewm/theme +11 -0
  2084. data/lib/roebe/www/icewm/toolbar +7 -0
  2085. data/lib/roebe/www/icewm/winoptions +61 -0
  2086. data/lib/roebe/www/ifpi_austria/ifpi_austria.cgi +7 -0
  2087. data/lib/roebe/www/ifpi_austria/ifpi_austria.rb +351 -0
  2088. data/lib/roebe/www/ifpi_austria/ifpi_austria.sinatra +56 -0
  2089. data/lib/roebe/www/image_formats/image_formats.cgi +50 -0
  2090. data/lib/roebe/www/imagemagick/README.md +45 -0
  2091. data/lib/roebe/www/imagemagick/imagemagick.cgi +31 -0
  2092. data/lib/roebe/www/images/images.cgi +26 -0
  2093. data/lib/roebe/www/immunology/immunology.cgi +7 -0
  2094. data/lib/roebe/www/immunology/immunology.rb +1527 -0
  2095. data/lib/roebe/www/immunology/immunology.sinatra +56 -0
  2096. data/lib/roebe/www/individual_page_viewer/individual_page_viewer.cgi +7 -0
  2097. data/lib/roebe/www/individual_page_viewer/individual_page_viewer.rb +41 -0
  2098. data/lib/roebe/www/individual_page_viewer/individual_page_viewer.sinatra +52 -0
  2099. data/lib/roebe/www/industrial_chemistry/industrial_chemistry.cgi +50 -0
  2100. data/lib/roebe/www/informatik/SLOGANS.md +13 -0
  2101. data/lib/roebe/www/inhaltsverzeichnis/inhaltsverzeichnis.yml +65 -0
  2102. data/lib/roebe/www/inkscape/inkscape.cgi +9 -0
  2103. data/lib/roebe/www/inkscape/inkscape.rb +84 -0
  2104. data/lib/roebe/www/inkscape/inkscape.sinatra +56 -0
  2105. data/lib/roebe/www/inotify/inotify.cgi +39 -0
  2106. data/lib/roebe/www/inspirational_people/inspirational_people.cgi +11 -0
  2107. data/lib/roebe/www/inspirational_people/inspirational_people.rb +645 -0
  2108. data/lib/roebe/www/inspirational_people/inspirational_people.sinatra +56 -0
  2109. data/lib/roebe/www/interesting_linux_distributions/interesting_linux_distributions.md +71 -0
  2110. data/lib/roebe/www/interviews/interviews.cgi +7 -0
  2111. data/lib/roebe/www/interviews/interviews.rb +14 -0
  2112. data/lib/roebe/www/interviews/interviews.sinatra +56 -0
  2113. data/lib/roebe/www/irc/irc.cgi +7 -0
  2114. data/lib/roebe/www/irc/irc.rb +41 -0
  2115. data/lib/roebe/www/irc/irc.sinatra +56 -0
  2116. data/lib/roebe/www/irc_quotes/irc_quotes.md +835 -0
  2117. data/lib/roebe/www/jobs/jobs.cgi +9 -0
  2118. data/lib/roebe/www/jobs/jobs.rb +100 -0
  2119. data/lib/roebe/www/jobs/jobs.sinatra +56 -0
  2120. data/lib/roebe/www/json/example1.json +18 -0
  2121. data/lib/roebe/www/json/json.cgi +7 -0
  2122. data/lib/roebe/www/json/json.rb +32 -0
  2123. data/lib/roebe/www/json/json.sinatra +56 -0
  2124. data/lib/roebe/www/jupyter/content.md +34 -0
  2125. data/lib/roebe/www/kaizen/kaizen.cgi +7 -0
  2126. data/lib/roebe/www/kaizen/kaizen.rb +15 -0
  2127. data/lib/roebe/www/kaizen/kaizen.sinatra +56 -0
  2128. data/lib/roebe/www/kde/DEPRECATED_kde.cgi +1266 -0
  2129. data/lib/roebe/www/kde/kde.cgi +7 -0
  2130. data/lib/roebe/www/kde/kde.rb +60 -0
  2131. data/lib/roebe/www/kde/kde.sinatra +56 -0
  2132. data/lib/roebe/www/kde/konsole_multiple_tabs +10 -0
  2133. data/lib/roebe/www/kde/konsolerc +40 -0
  2134. data/lib/roebe/www/kde/konsoleui.rc +65 -0
  2135. data/lib/roebe/www/kde/yakuakerc +8 -0
  2136. data/lib/roebe/www/klimabonus/klimabonus.md +11 -0
  2137. data/lib/roebe/www/klimawandel/klimawandel.cgi +7 -0
  2138. data/lib/roebe/www/klimawandel/klimawandel.rb +100 -0
  2139. data/lib/roebe/www/klimawandel/klimawandel.sinatra +56 -0
  2140. data/lib/roebe/www/kramdown_viewer/kramdown_viewer.cgi +51 -0
  2141. data/lib/roebe/www/kriminelle_firmen/kriminelle_firmen.cgi +7 -0
  2142. data/lib/roebe/www/kriminelle_firmen/kriminelle_firmen.rb +26 -0
  2143. data/lib/roebe/www/kriminelle_firmen/kriminelle_firmen.sinatra +52 -0
  2144. data/lib/roebe/www/krita/krita.cgi +7 -0
  2145. data/lib/roebe/www/krita/krita.rb +53 -0
  2146. data/lib/roebe/www/krita/krita.sinatra +56 -0
  2147. data/lib/roebe/www/kryptografie/kryptografie.cgi +48 -0
  2148. data/lib/roebe/www/k/303/244se/k/303/244se.cgi +9 -0
  2149. data/lib/roebe/www/k/303/244se/k/303/244se.rb +137 -0
  2150. data/lib/roebe/www/k/303/244se/k/303/244se.sinatra +56 -0
  2151. data/lib/roebe/www/lame/lame.cgi +7 -0
  2152. data/lib/roebe/www/lame/lame.rb +105 -0
  2153. data/lib/roebe/www/lame/lame.sinatra +56 -0
  2154. data/lib/roebe/www/languages/languages.cgi +7 -0
  2155. data/lib/roebe/www/languages/languages.rb +66 -0
  2156. data/lib/roebe/www/languages/languages.sinatra +52 -0
  2157. data/lib/roebe/www/laser/laser.cgi +7 -0
  2158. data/lib/roebe/www/laser/laser.rb +301 -0
  2159. data/lib/roebe/www/laser/laser.sinatra +56 -0
  2160. data/lib/roebe/www/latex/HelloWorld.tex +9 -0
  2161. data/lib/roebe/www/latex/examples/misc/misc.aux +2 -0
  2162. data/lib/roebe/www/latex/examples/misc/misc.log +87 -0
  2163. data/lib/roebe/www/latex/examples/misc/misc.pdf +0 -0
  2164. data/lib/roebe/www/latex/examples/misc/misc.tex +31 -0
  2165. data/lib/roebe/www/latex/examples/numbered_list/numbered_list.tex +31 -0
  2166. data/lib/roebe/www/latex/examples/simple_paragraph/simple_paragraph.tex +4 -0
  2167. data/lib/roebe/www/latex/latex.cgi +7 -0
  2168. data/lib/roebe/www/latex/latex.rb +105 -0
  2169. data/lib/roebe/www/latex/latex.sinatra +56 -0
  2170. data/lib/roebe/www/law/law.cgi +7 -0
  2171. data/lib/roebe/www/law/law.rb +983 -0
  2172. data/lib/roebe/www/law/law.sinatra +56 -0
  2173. data/lib/roebe/www/lego/lego.cgi +7 -0
  2174. data/lib/roebe/www/lego/lego.rb +53 -0
  2175. data/lib/roebe/www/lego/lego.sinatra +52 -0
  2176. data/lib/roebe/www/libreoffice/libreoffice.cgi +9 -0
  2177. data/lib/roebe/www/libreoffice/libreoffice.rb +96 -0
  2178. data/lib/roebe/www/libreoffice/libreoffice.sinatra +56 -0
  2179. data/lib/roebe/www/libreoffice/macros/README.md +4 -0
  2180. data/lib/roebe/www/libreoffice/macros/hello_world.macro +24 -0
  2181. data/lib/roebe/www/libreoffice/macros/hello_world_in_python.py_macro +7 -0
  2182. data/lib/roebe/www/libreoffice/misc/empty_libreoffice_document.docx +0 -0
  2183. data/lib/roebe/www/libreoffice/misc/empty_libreoffice_document.odt +0 -0
  2184. data/lib/roebe/www/libreoffice/misc/empty_libreoffice_presentation.odp +0 -0
  2185. data/lib/roebe/www/libreoffice/misc/empty_libreoffice_spreadsheet.xls +1 -0
  2186. data/lib/roebe/www/licht/licht.cgi +25 -0
  2187. data/lib/roebe/www/light/light.cgi +27 -0
  2188. data/lib/roebe/www/lighttpd/autogenerated_lighttpd.conf +428 -0
  2189. data/lib/roebe/www/lighttpd/configuration/cgi.conf +21 -0
  2190. data/lib/roebe/www/lighttpd/configuration/dir_listing.conf +15 -0
  2191. data/lib/roebe/www/lighttpd/configuration/document_root.conf +11 -0
  2192. data/lib/roebe/www/lighttpd/configuration/groupname.conf +9 -0
  2193. data/lib/roebe/www/lighttpd/configuration/index.conf +29 -0
  2194. data/lib/roebe/www/lighttpd/configuration/logfiles.conf +18 -0
  2195. data/lib/roebe/www/lighttpd/configuration/mimetypes.conf +88 -0
  2196. data/lib/roebe/www/lighttpd/configuration/modules.conf +75 -0
  2197. data/lib/roebe/www/lighttpd/configuration/php.conf +11 -0
  2198. data/lib/roebe/www/lighttpd/configuration/pid_file.conf +1 -0
  2199. data/lib/roebe/www/lighttpd/configuration/port.conf +13 -0
  2200. data/lib/roebe/www/lighttpd/configuration/redirects.conf +67 -0
  2201. data/lib/roebe/www/lighttpd/configuration/status.conf +29 -0
  2202. data/lib/roebe/www/lighttpd/configuration/upload.conf +5 -0
  2203. data/lib/roebe/www/lighttpd/configuration/username.conf +4 -0
  2204. data/lib/roebe/www/lighttpd/lighttpd.cgi +7 -0
  2205. data/lib/roebe/www/lighttpd/lighttpd.rb +140 -0
  2206. data/lib/roebe/www/lighttpd/lighttpd.sinatra +52 -0
  2207. data/lib/roebe/www/lilo/lilo.cgi +9 -0
  2208. data/lib/roebe/www/lilo/lilo.conf +71 -0
  2209. data/lib/roebe/www/lilo/lilo.rb +114 -0
  2210. data/lib/roebe/www/lilo/lilo.sinatra +56 -0
  2211. data/lib/roebe/www/lilypond/lilypond.cgi +95 -0
  2212. data/lib/roebe/www/linguistics/linguistics.cgi +25 -0
  2213. data/lib/roebe/www/links/links.cgi +9 -0
  2214. data/lib/roebe/www/links/links.rb +310 -0
  2215. data/lib/roebe/www/links/links.sinatra +56 -0
  2216. data/lib/roebe/www/linux/ICEWM/preferences +1476 -0
  2217. data/lib/roebe/www/linux/KaOS/KaOS.cgi +37 -0
  2218. data/lib/roebe/www/linux/MX-Linux/mxlinux.cgi +7 -0
  2219. data/lib/roebe/www/linux/MX-Linux/mxlinux.rb +28 -0
  2220. data/lib/roebe/www/linux/MX-Linux/mxlinux.sinatra +56 -0
  2221. data/lib/roebe/www/linux/antiX/antiX.cgi +7 -0
  2222. data/lib/roebe/www/linux/antiX/antiX.rb +42 -0
  2223. data/lib/roebe/www/linux/antiX/antiX.sinatra +56 -0
  2224. data/lib/roebe/www/linux/deepin/deepin.cgi +30 -0
  2225. data/lib/roebe/www/linux/doc/how_to_shrink_the_home_partition.md +13 -0
  2226. data/lib/roebe/www/linux/fedora/fedora.cgi +7 -0
  2227. data/lib/roebe/www/linux/fedora/fedora.rb +44 -0
  2228. data/lib/roebe/www/linux/fedora/fedora.sinatra +56 -0
  2229. data/lib/roebe/www/linux/gobolinux/gobolinux.cgi +7 -0
  2230. data/lib/roebe/www/linux/gobolinux/gobolinux.rb +1424 -0
  2231. data/lib/roebe/www/linux/gobolinux/gobolinux.sinatra +56 -0
  2232. data/lib/roebe/www/linux/linux.cgi +12 -0
  2233. data/lib/roebe/www/linux/linux.rb +6268 -0
  2234. data/lib/roebe/www/linux/linux.sinatra +56 -0
  2235. data/lib/roebe/www/linux/manjaro/content.md +7 -0
  2236. data/lib/roebe/www/linux/mxlinux +1 -0
  2237. data/lib/roebe/www/linux/neptune/neptune.cgi +54 -0
  2238. data/lib/roebe/www/linux/resources/Xdefaults +180 -0
  2239. data/lib/roebe/www/linux/slackware/slackware.cgi +7 -0
  2240. data/lib/roebe/www/linux/slackware/slackware.rb +150 -0
  2241. data/lib/roebe/www/linux/slackware/slackware.sinatra +56 -0
  2242. data/lib/roebe/www/linux/sparky_linux/specification.md +19 -0
  2243. data/lib/roebe/www/linux/ubuntu/ubuntu.cgi +7 -0
  2244. data/lib/roebe/www/linux/ubuntu/ubuntu.rb +144 -0
  2245. data/lib/roebe/www/linux/ubuntu/ubuntu.sinatra +56 -0
  2246. data/lib/roebe/www/linux/void/void.cgi +7 -0
  2247. data/lib/roebe/www/linux/void/void.rb +56 -0
  2248. data/lib/roebe/www/linux/void/void.sinatra +56 -0
  2249. data/lib/roebe/www/linux_certifications/linux_certifications.cgi +7 -0
  2250. data/lib/roebe/www/linux_certifications/linux_certifications.rb +15 -0
  2251. data/lib/roebe/www/linux_certifications/linux_certifications.sinatra +56 -0
  2252. data/lib/roebe/www/linux_commands/linux_commands.cgi +7 -0
  2253. data/lib/roebe/www/linux_commands/linux_commands.rb +5224 -0
  2254. data/lib/roebe/www/linux_commands/linux_commands.sinatra +56 -0
  2255. data/lib/roebe/www/linux_distributions/README.md +3 -0
  2256. data/lib/roebe/www/linux_distributions/linux_distributions.cgi +9 -0
  2257. data/lib/roebe/www/linux_distributions/linux_distributions.rb +2215 -0
  2258. data/lib/roebe/www/linux_distributions/linux_distributions.sinatra +56 -0
  2259. data/lib/roebe/www/linuxmint/linuxmint.cgi +7 -0
  2260. data/lib/roebe/www/linuxmint/linuxmint.rb +58 -0
  2261. data/lib/roebe/www/linuxmint/linuxmint.sinatra +56 -0
  2262. data/lib/roebe/www/llvm/llvm.cgi +7 -0
  2263. data/lib/roebe/www/llvm/llvm.rb +38 -0
  2264. data/lib/roebe/www/llvm/llvm.sinatra +56 -0
  2265. data/lib/roebe/www/luft/luft.cgi +7 -0
  2266. data/lib/roebe/www/luft/luft.rb +15 -0
  2267. data/lib/roebe/www/luft/luft.sinatra +52 -0
  2268. data/lib/roebe/www/luft/luft_english.md +96 -0
  2269. data/lib/roebe/www/luft/luft_german.md +117 -0
  2270. data/lib/roebe/www/lyrics/lyrics.cgi +7 -0
  2271. data/lib/roebe/www/lyrics/lyrics.rb +48 -0
  2272. data/lib/roebe/www/lyrics/lyrics.sinatra +56 -0
  2273. data/lib/roebe/www/m4/m4.cgi +7 -0
  2274. data/lib/roebe/www/m4/m4.rb +24 -0
  2275. data/lib/roebe/www/m4/m4.sinatra +56 -0
  2276. data/lib/roebe/www/mageia/mageia.cgi +7 -0
  2277. data/lib/roebe/www/mageia/mageia.rb +104 -0
  2278. data/lib/roebe/www/mageia/mageia.sinatra +56 -0
  2279. data/lib/roebe/www/make/make.cgi +7 -0
  2280. data/lib/roebe/www/make/make.rb +216 -0
  2281. data/lib/roebe/www/make/make.sinatra +56 -0
  2282. data/lib/roebe/www/markdown/cheat_sheet.md +17 -0
  2283. data/lib/roebe/www/markdown/example.md +232 -0
  2284. data/lib/roebe/www/marketing/marketing.cgi +7 -0
  2285. data/lib/roebe/www/marketing/marketing.rb +94 -0
  2286. data/lib/roebe/www/marketing/marketing.sinatra +56 -0
  2287. data/lib/roebe/www/mars/mars.cgi +7 -0
  2288. data/lib/roebe/www/mars/mars.rb +51 -0
  2289. data/lib/roebe/www/mars/mars.sinatra +52 -0
  2290. data/lib/roebe/www/mate_desktop/mate_desktop.cgi +40 -0
  2291. data/lib/roebe/www/mathematics/bin/303/244rsystem/bin/303/244rsystem.cgi +158 -0
  2292. data/lib/roebe/www/mathematics/common.rb +16 -0
  2293. data/lib/roebe/www/mathematics/funktionen/funktion.cgi +81 -0
  2294. data/lib/roebe/www/mathematics/logarithmus/logarithmus.cgi +76 -0
  2295. data/lib/roebe/www/mathematics/mathematics.cgi +7 -0
  2296. data/lib/roebe/www/mathematics/mathematics.rb +1276 -0
  2297. data/lib/roebe/www/mathematics/mathematics.sinatra +52 -0
  2298. data/lib/roebe/www/matlab/matlab.cgi +31 -0
  2299. data/lib/roebe/www/md5sum/md5sum.cgi +33 -0
  2300. data/lib/roebe/www/meson/meson.cgi +7 -0
  2301. data/lib/roebe/www/meson/meson.rb +57 -0
  2302. data/lib/roebe/www/meson/meson.sinatra +56 -0
  2303. data/lib/roebe/www/metabolic_pathways/metabolic_pathways.cgi +9 -0
  2304. data/lib/roebe/www/metabolic_pathways/metabolic_pathways.rb +243 -0
  2305. data/lib/roebe/www/metabolic_pathways/metabolic_pathways.sinatra +56 -0
  2306. data/lib/roebe/www/meteorologie/meteorologie.cgi +547 -0
  2307. data/lib/roebe/www/microbial_ecology/microbial_ecology.cgi +33 -0
  2308. data/lib/roebe/www/microbial_interactions/microbial_interactions.cgi +163 -0
  2309. data/lib/roebe/www/microbiology/microbiology.cgi +7 -0
  2310. data/lib/roebe/www/microbiology/microbiology.rb +1136 -0
  2311. data/lib/roebe/www/microbiology/microbiology.sinatra +56 -0
  2312. data/lib/roebe/www/microphones/microphones.cgi +7 -0
  2313. data/lib/roebe/www/microphones/microphones.rb +53 -0
  2314. data/lib/roebe/www/microphones/microphones.sinatra +56 -0
  2315. data/lib/roebe/www/microscopy/microscopy.cgi +7 -0
  2316. data/lib/roebe/www/microscopy/microscopy.rb +289 -0
  2317. data/lib/roebe/www/microscopy/microscopy.sinatra +56 -0
  2318. data/lib/roebe/www/microsoft/how_to_compile_from_source_on_windows/how_to_compile_from_source_on_windows.cgi +7 -0
  2319. data/lib/roebe/www/microsoft/how_to_compile_from_source_on_windows/how_to_compile_from_source_on_windows.rb +85 -0
  2320. data/lib/roebe/www/microsoft/how_to_compile_from_source_on_windows/how_to_compile_from_source_on_windows.sinatra +56 -0
  2321. data/lib/roebe/www/microsoft/microsoft.cgi +11 -0
  2322. data/lib/roebe/www/microsoft/microsoft.rb +2354 -0
  2323. data/lib/roebe/www/microsoft/microsoft.sinatra +56 -0
  2324. data/lib/roebe/www/midi/al_adagi.mid +0 -0
  2325. data/lib/roebe/www/mikrobielle_physiologie/mikrobielle_physiologie.cgi +7 -0
  2326. data/lib/roebe/www/mikrobielle_physiologie/mikrobielle_physiologie.rb +1055 -0
  2327. data/lib/roebe/www/mikrobielle_physiologie/mikrobielle_physiologie.sinatra +56 -0
  2328. data/lib/roebe/www/military/military.cgi +7 -0
  2329. data/lib/roebe/www/military/military.rb +23 -0
  2330. data/lib/roebe/www/military/military.sinatra +56 -0
  2331. data/lib/roebe/www/misc/blutgruppen.md +26 -0
  2332. data/lib/roebe/www/mitochondria/mitochondria.cgi +56 -0
  2333. data/lib/roebe/www/module_www.rb +184 -0
  2334. data/lib/roebe/www/molecular_simulations/molecular_simulations.cgi +30 -0
  2335. data/lib/roebe/www/molecular_therapies/molecular_therapies.cgi +7 -0
  2336. data/lib/roebe/www/molecular_therapies/molecular_therapies.rb +169 -0
  2337. data/lib/roebe/www/molecular_therapies/molecular_therapies.sinatra +56 -0
  2338. data/lib/roebe/www/mpv/hints.md +4 -0
  2339. data/lib/roebe/www/mrxvt/mrxvtrc +424 -0
  2340. data/lib/roebe/www/multimedia_and_law/multimedia_and_law.cgi +7 -0
  2341. data/lib/roebe/www/multimedia_and_law/multimedia_and_law.rb +118 -0
  2342. data/lib/roebe/www/multimedia_and_law/multimedia_and_law.sinatra +56 -0
  2343. data/lib/roebe/www/mysql/mysql.cgi +7 -0
  2344. data/lib/roebe/www/mysql/mysql.rb +544 -0
  2345. data/lib/roebe/www/mysql/mysql.sinatra +52 -0
  2346. data/lib/roebe/www/nano/nano.cgi +100 -0
  2347. data/lib/roebe/www/nanotechnology/nanotechnology.cgi +7 -0
  2348. data/lib/roebe/www/nanotechnology/nanotechnology.rb +173 -0
  2349. data/lib/roebe/www/nanotechnology/nanotechnology.sinatra +56 -0
  2350. data/lib/roebe/www/nato/nato.cgi +7 -0
  2351. data/lib/roebe/www/nato/nato.rb +35 -0
  2352. data/lib/roebe/www/nato/nato.sinatra +52 -0
  2353. data/lib/roebe/www/naturschutz/naturschutz.cgi +1463 -0
  2354. data/lib/roebe/www/netbsd/netbsd.cgi +7 -0
  2355. data/lib/roebe/www/netbsd/netbsd.rb +27 -0
  2356. data/lib/roebe/www/netbsd/netbsd.sinatra +52 -0
  2357. data/lib/roebe/www/networking_on_linux/networking_on_linux.cgi +7 -0
  2358. data/lib/roebe/www/networking_on_linux/networking_on_linux.rb +1652 -0
  2359. data/lib/roebe/www/networking_on_linux/networking_on_linux.sinatra +56 -0
  2360. data/lib/roebe/www/neuroanatomie/neuroanatomie.cgi +98 -0
  2361. data/lib/roebe/www/neurobiology/neurobiology.cgi +7 -0
  2362. data/lib/roebe/www/neurobiology/neurobiology.rb +355 -0
  2363. data/lib/roebe/www/neurobiology/neurobiology.sinatra +56 -0
  2364. data/lib/roebe/www/news/news.cgi +7 -0
  2365. data/lib/roebe/www/news/news.rb +20 -0
  2366. data/lib/roebe/www/news/news.sinatra +56 -0
  2367. data/lib/roebe/www/news/news_content.md +2798 -0
  2368. data/lib/roebe/www/nginx/nginx.cgi +7 -0
  2369. data/lib/roebe/www/nginx/nginx.rb +18 -0
  2370. data/lib/roebe/www/nginx/nginx.sinatra +56 -0
  2371. data/lib/roebe/www/nim/nim.cgi +7 -0
  2372. data/lib/roebe/www/nim/nim.rb +77 -0
  2373. data/lib/roebe/www/nim/nim.sinatra +56 -0
  2374. data/lib/roebe/www/nocturnal_hunt/nocturnal_hunt.cgi +7 -0
  2375. data/lib/roebe/www/nocturnal_hunt/nocturnal_hunt.rb +458 -0
  2376. data/lib/roebe/www/nocturnal_hunt/nocturnal_hunt.sinatra +61 -0
  2377. data/lib/roebe/www/node/snippets.md +15 -0
  2378. data/lib/roebe/www/nosql/nosql.cgi +7 -0
  2379. data/lib/roebe/www/nosql/nosql.rb +23 -0
  2380. data/lib/roebe/www/nosql/nosql.sinatra +52 -0
  2381. data/lib/roebe/www/ntfs/ntfs.cgi +7 -0
  2382. data/lib/roebe/www/ntfs/ntfs.rb +41 -0
  2383. data/lib/roebe/www/ntfs/ntfs.sinatra +56 -0
  2384. data/lib/roebe/www/obst/obst.cgi +45 -0
  2385. data/lib/roebe/www/ogre3d/ogre3d.cgi +7 -0
  2386. data/lib/roebe/www/ogre3d/ogre3d.rb +247 -0
  2387. data/lib/roebe/www/ogre3d/ogre3d.sinatra +56 -0
  2388. data/lib/roebe/www/openbsd/openbsd.cgi +7 -0
  2389. data/lib/roebe/www/openbsd/openbsd.rb +28 -0
  2390. data/lib/roebe/www/openbsd/openbsd.sinatra +56 -0
  2391. data/lib/roebe/www/opengl/opengl.cgi +9 -0
  2392. data/lib/roebe/www/opengl/opengl.rb +193 -0
  2393. data/lib/roebe/www/opengl/opengl.sinatra +56 -0
  2394. data/lib/roebe/www/openssl/openssl.cgi +7 -0
  2395. data/lib/roebe/www/openssl/openssl.rb +142 -0
  2396. data/lib/roebe/www/openssl/openssl.sinatra +56 -0
  2397. data/lib/roebe/www/opensuse/opensuse.cgi +24 -0
  2398. data/lib/roebe/www/opera/opera.cgi +7 -0
  2399. data/lib/roebe/www/opera/opera.rb +38 -0
  2400. data/lib/roebe/www/opera/opera.sinatra +56 -0
  2401. data/lib/roebe/www/operating_systems/operating_systems.cgi +43 -0
  2402. data/lib/roebe/www/optical_character_recognition/optical_character_recognition.cgi +7 -0
  2403. data/lib/roebe/www/optical_character_recognition/optical_character_recognition.rb +85 -0
  2404. data/lib/roebe/www/optical_character_recognition/optical_character_recognition.sinatra +56 -0
  2405. data/lib/roebe/www/organic_chemistry/organic_chemistry.cgi +33 -0
  2406. data/lib/roebe/www/organic_chemistry/organic_chemistry.md +16 -0
  2407. data/lib/roebe/www/our_solar_system/our_solar_system.cgi +7 -0
  2408. data/lib/roebe/www/our_solar_system/our_solar_system.rb +448 -0
  2409. data/lib/roebe/www/our_solar_system/our_solar_system.sinatra +56 -0
  2410. data/lib/roebe/www/packaging_on_linux/packaging_on_linux.cgi +7 -0
  2411. data/lib/roebe/www/packaging_on_linux/packaging_on_linux.rb +394 -0
  2412. data/lib/roebe/www/packaging_on_linux/packaging_on_linux.sinatra +56 -0
  2413. data/lib/roebe/www/palemoon/palemoon.cgi +7 -0
  2414. data/lib/roebe/www/palemoon/palemoon.rb +111 -0
  2415. data/lib/roebe/www/palemoon/palemoon.sinatra +56 -0
  2416. data/lib/roebe/www/paradise_island/paradise_island.cgi +9 -0
  2417. data/lib/roebe/www/paradise_island/paradise_island.rb +449 -0
  2418. data/lib/roebe/www/paradise_island/paradise_island.sinatra +56 -0
  2419. data/lib/roebe/www/patente/patente.cgi +7 -0
  2420. data/lib/roebe/www/patente/patente.rb +58 -0
  2421. data/lib/roebe/www/patente/patente.sinatra +56 -0
  2422. data/lib/roebe/www/pathologie/content.md +1 -0
  2423. data/lib/roebe/www/pathologie/pathologie.cgi +52 -0
  2424. data/lib/roebe/www/pathologie/vokabelliste.yml +1284 -0
  2425. data/lib/roebe/www/pdf/pdf.cgi +7 -0
  2426. data/lib/roebe/www/pdf/pdf.rb +129 -0
  2427. data/lib/roebe/www/pdf/pdf.sinatra +56 -0
  2428. data/lib/roebe/www/pekwm/autoproperties +219 -0
  2429. data/lib/roebe/www/pekwm/config +72 -0
  2430. data/lib/roebe/www/pekwm/keys +301 -0
  2431. data/lib/roebe/www/pekwm/menu +97 -0
  2432. data/lib/roebe/www/pekwm/mouse +141 -0
  2433. data/lib/roebe/www/pekwm/start +18 -0
  2434. data/lib/roebe/www/pekwm/vars +2 -0
  2435. data/lib/roebe/www/phages/phages.cgi +117 -0
  2436. data/lib/roebe/www/pharmacy/content.md +5 -0
  2437. data/lib/roebe/www/phones_and_mobile_phones/phones_and_mobile_phones.cgi +7 -0
  2438. data/lib/roebe/www/phones_and_mobile_phones/phones_and_mobile_phones.rb +66 -0
  2439. data/lib/roebe/www/phones_and_mobile_phones/phones_and_mobile_phones.sinatra +56 -0
  2440. data/lib/roebe/www/photosynthesis/photosynthesis.cgi +7 -0
  2441. data/lib/roebe/www/photosynthesis/photosynthesis.rb +55 -0
  2442. data/lib/roebe/www/photosynthesis/photosynthesis.sinatra +56 -0
  2443. data/lib/roebe/www/physics/physics.cgi +7 -0
  2444. data/lib/roebe/www/physics/physics.rb +348 -0
  2445. data/lib/roebe/www/physics/physics.sinatra +56 -0
  2446. data/lib/roebe/www/physiology/physiology.cgi +7 -0
  2447. data/lib/roebe/www/physiology/physiology.rb +373 -0
  2448. data/lib/roebe/www/physiology/physiology.sinatra +56 -0
  2449. data/lib/roebe/www/pidgin/pidgin.cgi +7 -0
  2450. data/lib/roebe/www/pidgin/pidgin.rb +28 -0
  2451. data/lib/roebe/www/pidgin/pidgin.sinatra +56 -0
  2452. data/lib/roebe/www/pilze/pilze.cgi +276 -0
  2453. data/lib/roebe/www/plants/plants.cgi +7 -0
  2454. data/lib/roebe/www/plants/plants.rb +78 -0
  2455. data/lib/roebe/www/plants/plants.sinatra +56 -0
  2456. data/lib/roebe/www/play_songs/play_songs.cgi +100 -0
  2457. data/lib/roebe/www/play_this_video_file/play_this_video_file.cgi +103 -0
  2458. data/lib/roebe/www/politics/politics.cgi +7 -0
  2459. data/lib/roebe/www/politics/politics.rb +24 -0
  2460. data/lib/roebe/www/politics/politics.sinatra +56 -0
  2461. data/lib/roebe/www/politics/yaml/wahlbeteiligung_wien.yml +6 -0
  2462. data/lib/roebe/www/porg/main.m +26 -0
  2463. data/lib/roebe/www/porg/porg.cgi +7 -0
  2464. data/lib/roebe/www/porg/porg.rb +14 -0
  2465. data/lib/roebe/www/porg/porg.sinatra +56 -0
  2466. data/lib/roebe/www/porg/rpaco_base.h +19 -0
  2467. data/lib/roebe/www/porg/rpaco_base.m +20 -0
  2468. data/lib/roebe/www/povray/povray.cgi +7 -0
  2469. data/lib/roebe/www/povray/povray.rb +289 -0
  2470. data/lib/roebe/www/povray/povray.sinatra +56 -0
  2471. data/lib/roebe/www/povray/povray_files/sphere_and_lights.pov +14 -0
  2472. data/lib/roebe/www/povray/povray_files/sphere_and_lights_test.pov +28 -0
  2473. data/lib/roebe/www/powershell/powershell.cgi +7 -0
  2474. data/lib/roebe/www/powershell/powershell.rb +31 -0
  2475. data/lib/roebe/www/powershell/powershell.sinatra +56 -0
  2476. data/lib/roebe/www/preise/preise.cgi +47 -0
  2477. data/lib/roebe/www/preisvergleiche/preisvergleiche.cgi +7 -0
  2478. data/lib/roebe/www/preisvergleiche/preisvergleiche.rb +53 -0
  2479. data/lib/roebe/www/preisvergleiche/preisvergleiche.sinatra +56 -0
  2480. data/lib/roebe/www/presentations/fuzzy_words_versus_action_words.md +9 -0
  2481. data/lib/roebe/www/presentations/presentations.cgi +7 -0
  2482. data/lib/roebe/www/presentations/presentations.rb +103 -0
  2483. data/lib/roebe/www/presentations/presentations.sinatra +52 -0
  2484. data/lib/roebe/www/presentations/useful_words.md +16 -0
  2485. data/lib/roebe/www/problems_of_the_european_union/problems_of_the_european_union.cgi +7 -0
  2486. data/lib/roebe/www/problems_of_the_european_union/problems_of_the_european_union.rb +457 -0
  2487. data/lib/roebe/www/problems_of_the_european_union/problems_of_the_european_union.sinatra +52 -0
  2488. data/lib/roebe/www/programming_advice/programming_advice.yml +31 -0
  2489. data/lib/roebe/www/programming_bible/programming_bible.cgi +7 -0
  2490. data/lib/roebe/www/programming_bible/programming_bible.rb +32 -0
  2491. data/lib/roebe/www/programming_bible/programming_bible.sinatra +56 -0
  2492. data/lib/roebe/www/programming_languages/javascript/javascript.cgi +10 -0
  2493. data/lib/roebe/www/programming_languages/javascript/javascript.rb +312 -0
  2494. data/lib/roebe/www/programming_languages/javascript/javascript.sinatra +56 -0
  2495. data/lib/roebe/www/project_management/project_management.cgi +7 -0
  2496. data/lib/roebe/www/project_management/project_management.rb +327 -0
  2497. data/lib/roebe/www/project_management/project_management.sinatra +56 -0
  2498. data/lib/roebe/www/prokaryotic_evolution/prokaryotic_evolution.cgi +267 -0
  2499. data/lib/roebe/www/propaganda/propaganda.cgi +7 -0
  2500. data/lib/roebe/www/propaganda/propaganda.rb +30 -0
  2501. data/lib/roebe/www/propaganda/propaganda.sinatra +56 -0
  2502. data/lib/roebe/www/protein_engineering/protein_engineering.cgi +5 -0
  2503. data/lib/roebe/www/protein_engineering/protein_engineering.rb +725 -0
  2504. data/lib/roebe/www/protein_engineering/protein_engineering.sinatra +56 -0
  2505. data/lib/roebe/www/proteins/proteins.cgi +7 -0
  2506. data/lib/roebe/www/proteins/proteins.rb +32 -0
  2507. data/lib/roebe/www/proteins/proteins.sinatra +56 -0
  2508. data/lib/roebe/www/protisten/protisten.cgi +72 -0
  2509. data/lib/roebe/www/psychologie/psychologie.cgi +7 -0
  2510. data/lib/roebe/www/psychologie/psychologie.rb +233 -0
  2511. data/lib/roebe/www/psychologie/psychologie.sinatra +56 -0
  2512. data/lib/roebe/www/publishing_scientific_papers/useful_phrases_and_tips_for_publishing_scientific_papers.md +259 -0
  2513. data/lib/roebe/www/pulseaudio/pulseaudio.cgi +7 -0
  2514. data/lib/roebe/www/pulseaudio/pulseaudio.rb +166 -0
  2515. data/lib/roebe/www/pulseaudio/pulseaudio.sinatra +56 -0
  2516. data/lib/roebe/www/qemu/content.md +5 -0
  2517. data/lib/roebe/www/qualit/303/244tsmanagement/qualit/303/244tsmanagement.cgi +7 -0
  2518. data/lib/roebe/www/qualit/303/244tsmanagement/qualit/303/244tsmanagement.rb +423 -0
  2519. data/lib/roebe/www/qualit/303/244tsmanagement/qualit/303/244tsmanagement.sinatra +56 -0
  2520. data/lib/roebe/www/quotes/quotes.cgi +7 -0
  2521. data/lib/roebe/www/quotes/quotes.rb +603 -0
  2522. data/lib/roebe/www/quotes/quotes.sinatra +52 -0
  2523. data/lib/roebe/www/radiation/content.md +3 -0
  2524. data/lib/roebe/www/radio/radio.cgi +54 -0
  2525. data/lib/roebe/www/radioactivity/radioactivity.cgi +36 -0
  2526. data/lib/roebe/www/ratpoison/ratpoisonrc +62 -0
  2527. data/lib/roebe/www/reactos/reactos.cgi +9 -0
  2528. data/lib/roebe/www/reactos/reactos.rb +95 -0
  2529. data/lib/roebe/www/reactos/reactos.sinatra +56 -0
  2530. data/lib/roebe/www/recursion/recursion.md +41 -0
  2531. data/lib/roebe/www/restriktionsenzyme/restriktionsenzyme.cgi +7 -0
  2532. data/lib/roebe/www/restriktionsenzyme/restriktionsenzyme.rb +96 -0
  2533. data/lib/roebe/www/restriktionsenzyme/restriktionsenzyme.sinatra +56 -0
  2534. data/lib/roebe/www/rfid/rfid.cgi +7 -0
  2535. data/lib/roebe/www/rfid/rfid.rb +956 -0
  2536. data/lib/roebe/www/rfid/rfid.sinatra +56 -0
  2537. data/lib/roebe/www/rhetorics/rhetorics.md +15 -0
  2538. data/lib/roebe/www/rhythmbox/rhythmbox.cgi +122 -0
  2539. data/lib/roebe/www/rna +1 -0
  2540. data/lib/roebe/www/robots/robots.cgi +9 -0
  2541. data/lib/roebe/www/robots/robots.rb +24 -0
  2542. data/lib/roebe/www/robots/robots.sinatra +56 -0
  2543. data/lib/roebe/www/routers/routers.cgi +7 -0
  2544. data/lib/roebe/www/routers/routers.rb +46 -0
  2545. data/lib/roebe/www/routers/routers.sinatra +56 -0
  2546. data/lib/roebe/www/ruby_viewer/ruby_viewer.cgi +7 -0
  2547. data/lib/roebe/www/ruby_viewer/ruby_viewer.rb +51 -0
  2548. data/lib/roebe/www/ruby_viewer/ruby_viewer.sinatra +56 -0
  2549. data/lib/roebe/www/scanner/scanner.cgi +9 -0
  2550. data/lib/roebe/www/scanner/scanner.rb +194 -0
  2551. data/lib/roebe/www/scanner/scanner.sinatra +56 -0
  2552. data/lib/roebe/www/science/URL_to_different_scientific_articles.md +12 -0
  2553. data/lib/roebe/www/science/science.cgi +7 -0
  2554. data/lib/roebe/www/science/science.rb +1806 -0
  2555. data/lib/roebe/www/science/science.sinatra +56 -0
  2556. data/lib/roebe/www/security/security.cgi +7 -0
  2557. data/lib/roebe/www/security/security.rb +381 -0
  2558. data/lib/roebe/www/security/security.sinatra +56 -0
  2559. data/lib/roebe/www/sed/sed_script_remove_colours.sed +1 -0
  2560. data/lib/roebe/www/shells/shells.cgi +7 -0
  2561. data/lib/roebe/www/shells/shells.rb +258 -0
  2562. data/lib/roebe/www/shells/shells.sinatra +56 -0
  2563. data/lib/roebe/www/shops/shops.cgi +7 -0
  2564. data/lib/roebe/www/shops/shops.rb +26 -0
  2565. data/lib/roebe/www/shops/shops.sinatra +56 -0
  2566. data/lib/roebe/www/signal_transduction/signal_transduction.cgi +93 -0
  2567. data/lib/roebe/www/simpsons/simpsons.cgi +7 -0
  2568. data/lib/roebe/www/simpsons/simpsons.rb +24 -0
  2569. data/lib/roebe/www/simpsons/simpsons.sinatra +56 -0
  2570. data/lib/roebe/www/smoking/smoking.cgi +26 -0
  2571. data/lib/roebe/www/sociology/content.md +26 -0
  2572. data/lib/roebe/www/socken/socken.cgi +7 -0
  2573. data/lib/roebe/www/socken/socken.rb +25 -0
  2574. data/lib/roebe/www/socken/socken.sinatra +56 -0
  2575. data/lib/roebe/www/solarzellen/solarzellen.cgi +7 -0
  2576. data/lib/roebe/www/solarzellen/solarzellen.rb +13 -0
  2577. data/lib/roebe/www/solarzellen/solarzellen.sinatra +56 -0
  2578. data/lib/roebe/www/sound_theory/sound_theory.cgi +163 -0
  2579. data/lib/roebe/www/space_exploration/space_exploration.cgi +7 -0
  2580. data/lib/roebe/www/space_exploration/space_exploration.rb +31 -0
  2581. data/lib/roebe/www/space_exploration/space_exploration.sinatra +56 -0
  2582. data/lib/roebe/www/sprechanlagen/sprechanlagen.cgi +34 -0
  2583. data/lib/roebe/www/statistik/statistik.cgi +7 -0
  2584. data/lib/roebe/www/statistik/statistik.rb +939 -0
  2585. data/lib/roebe/www/statistik/statistik.sinatra +56 -0
  2586. data/lib/roebe/www/std_linux.rb +95 -0
  2587. data/lib/roebe/www/stem_cells/stem_cells.cgi +219 -0
  2588. data/lib/roebe/www/strom/strom.cgi +7 -0
  2589. data/lib/roebe/www/strom/strom.rb +152 -0
  2590. data/lib/roebe/www/strom/strom.sinatra +56 -0
  2591. data/lib/roebe/www/structural_biology/structural_biology.cgi +65 -0
  2592. data/lib/roebe/www/sudoers/sudoers +43 -0
  2593. data/lib/roebe/www/svg/svg.cgi +7 -0
  2594. data/lib/roebe/www/svg/svg.rb +47 -0
  2595. data/lib/roebe/www/svg/svg.sinatra +56 -0
  2596. data/lib/roebe/www/synthetic_biology/synthetic_biology.cgi +7 -0
  2597. data/lib/roebe/www/synthetic_biology/synthetic_biology.rb +234 -0
  2598. data/lib/roebe/www/synthetic_biology/synthetic_biology.sinatra +56 -0
  2599. data/lib/roebe/www/systemd/systemd.cgi +9 -0
  2600. data/lib/roebe/www/systemd/systemd.rb +61 -0
  2601. data/lib/roebe/www/systemd/systemd.sinatra +56 -0
  2602. data/lib/roebe/www/tales_from_the_crypt/tales_from_the_crypt.html +71 -0
  2603. data/lib/roebe/www/techniques_and_methods_in_molecular_biology/techniques_and_methods_in_molecular_biology.cgi +7 -0
  2604. data/lib/roebe/www/techniques_and_methods_in_molecular_biology/techniques_and_methods_in_molecular_biology.rb +287 -0
  2605. data/lib/roebe/www/techniques_and_methods_in_molecular_biology/techniques_and_methods_in_molecular_biology.sinatra +56 -0
  2606. data/lib/roebe/www/telnet/telnet.cgi +64 -0
  2607. data/lib/roebe/www/terminals/lilyterm.md +8 -0
  2608. data/lib/roebe/www/terminals/terminals.cgi +7 -0
  2609. data/lib/roebe/www/terminals/terminals.rb +125 -0
  2610. data/lib/roebe/www/terminals/terminals.sinatra +56 -0
  2611. data/lib/roebe/www/test/README.md +1 -0
  2612. data/lib/roebe/www/test/database.sql +0 -0
  2613. data/lib/roebe/www/test/test.cgi +38 -0
  2614. data/lib/roebe/www/the_linux_kernel/the_linux_kernel.cgi +11 -0
  2615. data/lib/roebe/www/the_linux_kernel/the_linux_kernel.rb +1660 -0
  2616. data/lib/roebe/www/the_linux_kernel/the_linux_kernel.sinatra +56 -0
  2617. data/lib/roebe/www/the_universe/the_universe.cgi +34 -0
  2618. data/lib/roebe/www/theoretische_informatik/theoretische_informatik.cgi +35 -0
  2619. data/lib/roebe/www/thermodynamik/thermodynamik.cgi +32 -0
  2620. data/lib/roebe/www/thinking_methods/thinking_methods.cgi +7 -0
  2621. data/lib/roebe/www/thinking_methods/thinking_methods.rb +144 -0
  2622. data/lib/roebe/www/thinking_methods/thinking_methods.sinatra +56 -0
  2623. data/lib/roebe/www/thunderbird/thunderbird.cgi +7 -0
  2624. data/lib/roebe/www/thunderbird/thunderbird.rb +70 -0
  2625. data/lib/roebe/www/thunderbird/thunderbird.sinatra +56 -0
  2626. data/lib/roebe/www/tierzucht/tierzucht.cgi +723 -0
  2627. data/lib/roebe/www/time/time.cgi +7 -0
  2628. data/lib/roebe/www/time/time.rb +82 -0
  2629. data/lib/roebe/www/time/time.sinatra +56 -0
  2630. data/lib/roebe/www/tmux/tmux.cgi +7 -0
  2631. data/lib/roebe/www/tmux/tmux.rb +74 -0
  2632. data/lib/roebe/www/tmux/tmux.sinatra +56 -0
  2633. data/lib/roebe/www/toxikologie/toxikologie.cgi +7 -0
  2634. data/lib/roebe/www/toxikologie/toxikologie.rb +553 -0
  2635. data/lib/roebe/www/toxikologie/toxikologie.sinatra +56 -0
  2636. data/lib/roebe/www/trac/trac.cgi +7 -0
  2637. data/lib/roebe/www/trac/trac.rb +46 -0
  2638. data/lib/roebe/www/trac/trac.sinatra +56 -0
  2639. data/lib/roebe/www/training/training.cgi +7 -0
  2640. data/lib/roebe/www/training/training.rb +281 -0
  2641. data/lib/roebe/www/training/training.sinatra +52 -0
  2642. data/lib/roebe/www/transcription/transcription.cgi +7 -0
  2643. data/lib/roebe/www/transcription/transcription.rb +163 -0
  2644. data/lib/roebe/www/transcription/transcription.sinatra +56 -0
  2645. data/lib/roebe/www/tv/tv.cgi +182 -0
  2646. data/lib/roebe/www/udev/udev.cgi +7 -0
  2647. data/lib/roebe/www/udev/udev.rb +128 -0
  2648. data/lib/roebe/www/udev/udev.sinatra +56 -0
  2649. data/lib/roebe/www/unicode/unicode.cgi +28 -0
  2650. data/lib/roebe/www/unionfs/unionfs.cgi +8 -0
  2651. data/lib/roebe/www/unionfs/unionfs.rb +325 -0
  2652. data/lib/roebe/www/unionfs/unionfs.sinatra +56 -0
  2653. data/lib/roebe/www/usb/usb.cgi +7 -0
  2654. data/lib/roebe/www/usb/usb.rb +807 -0
  2655. data/lib/roebe/www/usb/usb.sinatra +52 -0
  2656. data/lib/roebe/www/vaccines/vaccines.cgi +70 -0
  2657. data/lib/roebe/www/vectors/vectors.cgi +7 -0
  2658. data/lib/roebe/www/vectors/vectors.rb +90 -0
  2659. data/lib/roebe/www/vectors/vectors.sinatra +56 -0
  2660. data/lib/roebe/www/verfahrenstechnik/verfahrenstechnik.cgi +62 -0
  2661. data/lib/roebe/www/video/video.cgi +7 -0
  2662. data/lib/roebe/www/video/video.rb +7723 -0
  2663. data/lib/roebe/www/video/video.sinatra +52 -0
  2664. data/lib/roebe/www/view_via_pre_tag/README.md +2 -0
  2665. data/lib/roebe/www/view_via_pre_tag/view_via_pre_tag.cgi +26 -0
  2666. data/lib/roebe/www/vim/aliases/vim_aliases.yml +487 -0
  2667. data/lib/roebe/www/vim/autocmds/vim_autocmds +50 -0
  2668. data/lib/roebe/www/vim/colours/desert.vim +105 -0
  2669. data/lib/roebe/www/vim/colours/golden.vim +72 -0
  2670. data/lib/roebe/www/vim/colours/sienna.vim +47 -0
  2671. data/lib/roebe/www/vim/colours/softblue.vim +45 -0
  2672. data/lib/roebe/www/vim/colours/zenburn.vim +135 -0
  2673. data/lib/roebe/www/vim/functions/functions +185 -0
  2674. data/lib/roebe/www/vim/mappings/mappings.md +372 -0
  2675. data/lib/roebe/www/vim/matrix/matrix.vim +316 -0
  2676. data/lib/roebe/www/vim/tetris/tetris.vim +331 -0
  2677. data/lib/roebe/www/vim/vim.cgi +7 -0
  2678. data/lib/roebe/www/vim/vim.rb +856 -0
  2679. data/lib/roebe/www/vim/vim.sinatra +52 -0
  2680. data/lib/roebe/www/vim/vimrc/vimrc +332 -0
  2681. data/lib/roebe/www/virology/virology.cgi +7 -0
  2682. data/lib/roebe/www/virology/virology.rb +603 -0
  2683. data/lib/roebe/www/virology/virology.sinatra +56 -0
  2684. data/lib/roebe/www/virtual_reality/virtual_reality.cgi +7 -0
  2685. data/lib/roebe/www/virtual_reality/virtual_reality.rb +184 -0
  2686. data/lib/roebe/www/virtual_reality/virtual_reality.sinatra +52 -0
  2687. data/lib/roebe/www/visual_studio/visual_studio.cgi +7 -0
  2688. data/lib/roebe/www/visual_studio/visual_studio.rb +38 -0
  2689. data/lib/roebe/www/visual_studio/visual_studio.sinatra +56 -0
  2690. data/lib/roebe/www/visualization/content.md +2 -0
  2691. data/lib/roebe/www/vitamines/vitamines.cgi +11 -0
  2692. data/lib/roebe/www/vitamines/vitamines.rb +138 -0
  2693. data/lib/roebe/www/vitamines/vitamines.sinatra +56 -0
  2694. data/lib/roebe/www/vivaldi/vivaldi.cgi +27 -0
  2695. data/lib/roebe/www/vlc/vlc.cgi +32 -0
  2696. data/lib/roebe/www/vnc/vnc.cgi +7 -0
  2697. data/lib/roebe/www/vnc/vnc.rb +28 -0
  2698. data/lib/roebe/www/vnc/vnc.sinatra +56 -0
  2699. data/lib/roebe/www/voice_recorders/voice_recorders.cgi +7 -0
  2700. data/lib/roebe/www/voice_recorders/voice_recorders.rb +48 -0
  2701. data/lib/roebe/www/voice_recorders/voice_recorders.sinatra +52 -0
  2702. data/lib/roebe/www/waagen/waagen.cgi +36 -0
  2703. data/lib/roebe/www/wahrscheinlichkeit/wahrscheinlichkeit.cgi +7 -0
  2704. data/lib/roebe/www/wahrscheinlichkeit/wahrscheinlichkeit.rb +270 -0
  2705. data/lib/roebe/www/wahrscheinlichkeit/wahrscheinlichkeit.sinatra +56 -0
  2706. data/lib/roebe/www/war_in_Ukraine_2022/war_in_Ukraine_2022.cgi +7 -0
  2707. data/lib/roebe/www/war_in_Ukraine_2022/war_in_Ukraine_2022.rb +251 -0
  2708. data/lib/roebe/www/war_in_Ukraine_2022/war_in_Ukraine_2022.sinatra +56 -0
  2709. data/lib/roebe/www/waschmaschinen/waschmaschinen.cgi +7 -0
  2710. data/lib/roebe/www/waschmaschinen/waschmaschinen.rb +168 -0
  2711. data/lib/roebe/www/waschmaschinen/waschmaschinen.sinatra +52 -0
  2712. data/lib/roebe/www/wayland/wayland.cgi +25 -0
  2713. data/lib/roebe/www/webserving/webserving.cgi +7 -0
  2714. data/lib/roebe/www/webserving/webserving.rb +905 -0
  2715. data/lib/roebe/www/webserving/webserving.sinatra +52 -0
  2716. data/lib/roebe/www/weechat/weechat.cgi +7 -0
  2717. data/lib/roebe/www/weechat/weechat.rb +166 -0
  2718. data/lib/roebe/www/weechat/weechat.sinatra +52 -0
  2719. data/lib/roebe/www/wein/wein.cgi +7 -0
  2720. data/lib/roebe/www/wein/wein.rb +41 -0
  2721. data/lib/roebe/www/wein/wein.sinatra +56 -0
  2722. data/lib/roebe/www/wget/wgetrc +124 -0
  2723. data/lib/roebe/www/why_linux/why_linux.cgi +7 -0
  2724. data/lib/roebe/www/why_linux/why_linux.rb +317 -0
  2725. data/lib/roebe/www/why_linux/why_linux.sinatra +56 -0
  2726. data/lib/roebe/www/wikis/wikis.cgi +7 -0
  2727. data/lib/roebe/www/wikis/wikis.rb +18 -0
  2728. data/lib/roebe/www/wikis/wikis.sinatra +56 -0
  2729. data/lib/roebe/www/wine/wine.cgi +7 -0
  2730. data/lib/roebe/www/wine/wine.rb +323 -0
  2731. data/lib/roebe/www/wine/wine.sinatra +52 -0
  2732. data/lib/roebe/www/wine/wine_config +69 -0
  2733. data/lib/roebe/www/wings3d/data/House_Villa.wings +0 -0
  2734. data/lib/roebe/www/wings3d/wings3d.cgi +7 -0
  2735. data/lib/roebe/www/wings3d/wings3d.rb +64 -0
  2736. data/lib/roebe/www/wings3d/wings3d.sinatra +56 -0
  2737. data/lib/roebe/www/witze/witze.cgi +9 -0
  2738. data/lib/roebe/www/witze/witze.rb +1054 -0
  2739. data/lib/roebe/www/witze/witze.sinatra +56 -0
  2740. data/lib/roebe/www/wlan/wlan.cgi +9 -0
  2741. data/lib/roebe/www/wlan/wlan.rb +778 -0
  2742. data/lib/roebe/www/wlan/wlan.sinatra +56 -0
  2743. data/lib/roebe/www/wlan/wpa_supplicant.conf +57 -0
  2744. data/lib/roebe/www/working_from_home/working_from_home.md +60 -0
  2745. data/lib/roebe/www/world_health_organization/world_health_organization.cgi +7 -0
  2746. data/lib/roebe/www/world_health_organization/world_health_organization.rb +68 -0
  2747. data/lib/roebe/www/world_health_organization/world_health_organization.sinatra +56 -0
  2748. data/lib/roebe/www/xampp/xampp.cgi +7 -0
  2749. data/lib/roebe/www/xampp/xampp.rb +126 -0
  2750. data/lib/roebe/www/xampp/xampp.sinatra +56 -0
  2751. data/lib/roebe/www/xchat/xchat.cgi +7 -0
  2752. data/lib/roebe/www/xchat/xchat.rb +146 -0
  2753. data/lib/roebe/www/xchat/xchat.sinatra +56 -0
  2754. data/lib/roebe/www/xfce/xfce.cgi +31 -0
  2755. data/lib/roebe/www/xmas/xmas.cgi +7 -0
  2756. data/lib/roebe/www/xmas/xmas.rb +521 -0
  2757. data/lib/roebe/www/xmas/xmas.sinatra +56 -0
  2758. data/lib/roebe/www/xorg/xorg.cgi +9 -0
  2759. data/lib/roebe/www/xorg/xorg.rb +2912 -0
  2760. data/lib/roebe/www/xorg/xorg.sinatra +56 -0
  2761. data/lib/roebe/www/xournalpp/content.md +12 -0
  2762. data/lib/roebe/www/yeast/yeast.cgi +7 -0
  2763. data/lib/roebe/www/yeast/yeast.rb +147 -0
  2764. data/lib/roebe/www/yeast/yeast.sinatra +56 -0
  2765. data/lib/roebe/www/zenity/zenity.cgi +7 -0
  2766. data/lib/roebe/www/zenity/zenity.rb +208 -0
  2767. data/lib/roebe/www/zenity/zenity.sinatra +56 -0
  2768. data/lib/roebe/www/zitieren/example.md +10 -0
  2769. data/lib/roebe/www/zitieren/wie_zitiert_man_in_der_Wissenschaft_richtig.md +261 -0
  2770. data/lib/roebe/www/zoologie/zoologie.cgi +7 -0
  2771. data/lib/roebe/www/zoologie/zoologie.gtk +150 -0
  2772. data/lib/roebe/www/zoologie/zoologie.rb +280 -0
  2773. data/lib/roebe/www/zoologie/zoologie.sinatra +56 -0
  2774. data/lib/roebe/www/zoom/zoom.cgi +7 -0
  2775. data/lib/roebe/www/zoom/zoom.rb +55 -0
  2776. data/lib/roebe/www/zoom/zoom.sinatra +56 -0
  2777. data/lib/roebe/www/zsh/zshrc +360 -0
  2778. data/lib/roebe/xml/catalog +29 -0
  2779. data/lib/roebe/yaml/advertisement_servers/advertisement_servers.yml +18 -0
  2780. data/lib/roebe/yaml/autogenerate_these_rewrite_rules/autogenerate_these_rewrite_rules.yml +131 -0
  2781. data/lib/roebe/yaml/autostart_these_programs.yml +22 -0
  2782. data/lib/roebe/yaml/bezirke_in_wien/bezirke_in_wien.yml +29 -0
  2783. data/lib/roebe/yaml/binary_to_hexadecimal/binary_to_hexadecimal.csv +17 -0
  2784. data/lib/roebe/yaml/bin/303/244re_einheiten/bin/303/244re_einheiten.yml +9 -0
  2785. data/lib/roebe/yaml/books/favourite_books.yml +15 -0
  2786. data/lib/roebe/yaml/boot_settings/boot_settings.yml +53 -0
  2787. data/lib/roebe/yaml/browser.yml +1 -0
  2788. data/lib/roebe/yaml/compile/compile.yml +262 -0
  2789. data/lib/roebe/yaml/current_ruby_versions.yml +12 -0
  2790. data/lib/roebe/yaml/directory_structure.yml +121 -0
  2791. data/lib/roebe/yaml/display_settings/display_settings.yml +184 -0
  2792. data/lib/roebe/yaml/e_kennzeichnungen/e_kennzeichnungen.yml +101 -0
  2793. data/lib/roebe/yaml/english_letter_frequency/english_letter_frequency.yml +30 -0
  2794. data/lib/roebe/yaml/error_codes/error_codes.yml +342 -0
  2795. data/lib/roebe/yaml/escape_codes/escape_codes.yml +12 -0
  2796. data/lib/roebe/yaml/examples/README.md +4 -0
  2797. data/lib/roebe/yaml/examples/c_headers_creator.yml +10 -0
  2798. data/lib/roebe/yaml/examples/constant.yml +4 -0
  2799. data/lib/roebe/yaml/examples/fixnum.yml +1 -0
  2800. data/lib/roebe/yaml/examples/hash_example.yml +42 -0
  2801. data/lib/roebe/yaml/examples/ruby_keywords.yml +43 -0
  2802. data/lib/roebe/yaml/examples/symbols.yml +3 -0
  2803. data/lib/roebe/yaml/examples/test.yml +9 -0
  2804. data/lib/roebe/yaml/examples/tree.yml +8 -0
  2805. data/lib/roebe/yaml/famous_bboys/famous_bboys.yml +14 -0
  2806. data/lib/roebe/yaml/file_information.yml +34 -0
  2807. data/lib/roebe/yaml/fonts/fonts.yml +33 -0
  2808. data/lib/roebe/yaml/forbidden_IPs/forbidden_IPs.yml +2 -0
  2809. data/lib/roebe/yaml/fstab/fstab.yml +122 -0
  2810. data/lib/roebe/yaml/funstuff/am/303/274sante_deutsche_w/303/266rter.yml +2 -0
  2811. data/lib/roebe/yaml/gnome/gnome.yml +8 -0
  2812. data/lib/roebe/yaml/holidays/holidays.yml +24 -0
  2813. data/lib/roebe/yaml/http_status_codes/http_status_codes.yml +52 -0
  2814. data/lib/roebe/yaml/individual_environment_variables/cflags.yml +59 -0
  2815. data/lib/roebe/yaml/individual_environment_variables/lang.yml +75 -0
  2816. data/lib/roebe/yaml/individual_environment_variables/ldflags.yml +2 -0
  2817. data/lib/roebe/yaml/individual_environment_variables/term.yml +14 -0
  2818. data/lib/roebe/yaml/ip_suffix/ip_suffix.yml +22 -0
  2819. data/lib/roebe/yaml/irc/irc.yml +11 -0
  2820. data/lib/roebe/yaml/kde/kde.yml +54 -0
  2821. data/lib/roebe/yaml/kernel/kernel.yml +11 -0
  2822. data/lib/roebe/yaml/kernel_config/kernel_config.yml +79 -0
  2823. data/lib/roebe/yaml/linux_kernel_settings.yml +11 -0
  2824. data/lib/roebe/yaml/ls_colors.yml +17 -0
  2825. data/lib/roebe/yaml/main_avi.yml +1 -0
  2826. data/lib/roebe/yaml/main_editor.yml +1 -0
  2827. data/lib/roebe/yaml/main_jpg.yml +1 -0
  2828. data/lib/roebe/yaml/main_pdf.yml +1 -0
  2829. data/lib/roebe/yaml/main_png.yml +1 -0
  2830. data/lib/roebe/yaml/mark_this_directory.yml +1 -0
  2831. data/lib/roebe/yaml/mime/mime.yml +615 -0
  2832. data/lib/roebe/yaml/mime_types.yml +37 -0
  2833. data/lib/roebe/yaml/monitors/monitors.yml +127 -0
  2834. data/lib/roebe/yaml/n_people_in_these_countries.yml +31 -0
  2835. data/lib/roebe/yaml/name_for_the_wireless_interface.yml +1 -0
  2836. data/lib/roebe/yaml/pdf/pdf1.yml +1 -0
  2837. data/lib/roebe/yaml/pdf/pdf2.yml +1 -0
  2838. data/lib/roebe/yaml/pdf/pdf3.yml +1 -0
  2839. data/lib/roebe/yaml/pdf/pdf4.yml +1 -0
  2840. data/lib/roebe/yaml/pdf/pdf5.yml +1 -0
  2841. data/lib/roebe/yaml/pdf/pdf6.yml +1 -0
  2842. data/lib/roebe/yaml/pdf/pdf7.yml +1 -0
  2843. data/lib/roebe/yaml/pdf/pdf8.yml +1 -0
  2844. data/lib/roebe/yaml/pdf/pdf9.yml +1 -0
  2845. data/lib/roebe/yaml/peoples_age.yml +6 -0
  2846. data/lib/roebe/yaml/ports/ports.yml +50 -0
  2847. data/lib/roebe/yaml/posix_character_classes.yml +13 -0
  2848. data/lib/roebe/yaml/project_base_directory.yml +0 -0
  2849. data/lib/roebe/yaml/rufnummern_in_/303/266sterreich/rufnummern_in_/303/266sterreich.yml +5 -0
  2850. data/lib/roebe/yaml/size_of_countries.yml +197 -0
  2851. data/lib/roebe/yaml/statistics/statistics.yml +17 -0
  2852. data/lib/roebe/yaml/sternzeichen/sternzeichen.yml +16 -0
  2853. data/lib/roebe/yaml/system/system.yml +80 -0
  2854. data/lib/roebe/yaml/temperature_of_the_planets_in_our_solar_system/temperature_of_the_planets_in_our_solar_system.yml +22 -0
  2855. data/lib/roebe/yaml/test/README.md +4 -0
  2856. data/lib/roebe/yaml/test/umlaute.yml +2 -0
  2857. data/lib/roebe/yaml/the_beginning_of_linux/the_beginning_of_linux.yml +29 -0
  2858. data/lib/roebe/yaml/use_colours.yml +1 -0
  2859. data/lib/roebe/yaml/world_capitals/world_capitals.yml +204 -0
  2860. data/lib/roebe/yaml/world_geography_and_people/world_geography_and_people.yml +25 -0
  2861. data/lib/roebe.rb +7 -0
  2862. data/roebe.gemspec +104 -0
  2863. data/test/active_record/testing +0 -0
  2864. data/test/active_record/testing_active_record.rb +25 -0
  2865. data/test/comparison_example/comparison_example.rb +34 -0
  2866. data/test/hello_world/hello_world.rb +1 -0
  2867. data/test/misc/README.md +2 -0
  2868. data/test/misc/arity_example.rb +44 -0
  2869. data/test/misc/display_the_shell_colours.rb +48 -0
  2870. data/test/misc/fetch_a_specific_key_from_a_hash.rb +26 -0
  2871. data/test/misc/fork_example.rb +15 -0
  2872. data/test/misc/hello_world.rb +1 -0
  2873. data/test/misc/heredoc_example.rb +9 -0
  2874. data/test/misc/hooks/README.md +3 -0
  2875. data/test/misc/hooks/test_inherited_hook.rb +13 -0
  2876. data/test/misc/minimal_irc_bot/minimal_irc_bot.rb +33 -0
  2877. data/test/misc/name_of_this_script.rb +12 -0
  2878. data/test/misc/read_keypresses.rb +79 -0
  2879. data/test/misc/readline/README.md +1 -0
  2880. data/test/misc/readline/completion_for_a_static_list.rb +33 -0
  2881. data/test/misc/readline/simple_readline_example.rb +14 -0
  2882. data/test/misc/simple_sigint_example.rb +51 -0
  2883. data/test/misc/simple_user_input_via_stdin_or_Readline_example.rb +14 -0
  2884. data/test/misc/tcp_socket_example.rb +28 -0
  2885. data/test/misc/tracer.rb +39 -0
  2886. data/test/misc/with_border.rb +22 -0
  2887. data/test/testing_cat.rb +3 -0
  2888. data/test/testing_class_configuration/testing_class_configuration.rb +81 -0
  2889. data/test/testing_core_functionality_of_ruby/README.md +6 -0
  2890. data/test/testing_core_functionality_of_ruby/file_test.rb +1 -0
  2891. data/test/testing_core_functionality_of_ruby/verbose_file_copy.rb +5 -0
  2892. data/test/testing_google_url_cleaner.rb +25 -0
  2893. data/test/testing_http_status_codes.rb +13 -0
  2894. data/test/testing_identical.rb +17 -0
  2895. data/test/testing_move_file.rb +14 -0
  2896. data/test/testing_permission_ascii_format.rb +23 -0
  2897. data/test/testing_sql_paradise.rb +17 -0
  2898. data/test/testing_the_roebe_shell.rb +31 -0
  2899. data/test/testing_twentyfour_hours_notation.rb +37 -0
  2900. data/test/testing_zenity.rb +26 -0
  2901. metadata +3031 -0
@@ -0,0 +1,2580 @@
1
+ # =========================================================================== #
2
+ # === MAIN_BACKGROUND_COLOR
3
+ # =========================================================================== #
4
+ MAIN_BACKGROUND_COLOR = 'background-color: #e7e5e2'
5
+
6
+ german('Compiling') {
7
+ autoextend
8
+ css_style TEMPLATE2.to_s+'
9
+ td { padding-left:3px;padding-right:3px;}
10
+ img {border:0px solid black;}
11
+ span {font-weight:400;}
12
+ pre {font-size:1.15em;}
13
+ div {line-height:inherit;}
14
+
15
+ div.default {
16
+ border:1px solid slateblue;
17
+ padding: 0.75em;
18
+ padding-top: 0.3em;
19
+ margin-top: 0.4em;
20
+ color: black;
21
+ '+MAIN_BACKGROUND_COLOR+'
22
+ }
23
+
24
+ p.default {
25
+ margin-left:0.5em;
26
+ text-indent:5px;
27
+ padding: 12px;
28
+ font-weight:normal;
29
+ color: black;
30
+ '+MAIN_BACKGROUND_COLOR+'
31
+ }
32
+
33
+ p {
34
+ margin-left:0.5em;
35
+ text-indent:5px;
36
+ font-weight:normal;
37
+ color: black;
38
+ '+MAIN_BACKGROUND_COLOR+'
39
+ }
40
+
41
+ body {
42
+ line-height:110%;
43
+ padding-right: 1.5em;
44
+ }
45
+ tt {font-weight:600}
46
+
47
+
48
+ a { text-decoration: none; }
49
+
50
+ '
51
+ favicon 'PC/OS/LINUX/COMPILING_FAVICON.png'
52
+ body_css_class 'FW5 mar0px pad0px BG_Black'
53
+ body_css_style MAIN_BACKGROUND_COLOR
54
+ default_font_size
55
+
56
+ # =========================================================================== #
57
+ # === GLIBC_REPLY
58
+ # =========================================================================== #
59
+ GLIBC_REPLY = 'marl2em'
60
+
61
+ # =========================================================================== #
62
+ # === command
63
+ # =========================================================================== #
64
+ def command(i); e i, CMD; end
65
+ alias cmd command
66
+
67
+ # =========================================================================== #
68
+ # === command2
69
+ # =========================================================================== #
70
+ def command2(i)
71
+ e i, CMD2
72
+ end; alias cmd2 command2
73
+
74
+ # =========================================================================== #
75
+ # === frage
76
+ # =========================================================================== #
77
+ def frage(i, optional_id = '')
78
+ br
79
+ e sg(:yel,'bblack2 marr4px')+i,
80
+ 'FS1_4em BO BLOCK s0_5em',
81
+ optional_id,
82
+ 'color: darkblue'
83
+ end
84
+
85
+ # =========================================================================== #
86
+ # Dots
87
+ # =========================================================================== #
88
+ DOT109 = dot 109, 'marr8px'
89
+ DOT108 = dot 108, 'marr8px'
90
+ DOT107 = dot 107, 'marr8px'
91
+ DOT106 = dot 106, 'marr8px'
92
+ DOT105 = dot 105, 'marr8px'
93
+ DOT104 = dot 104, 'marr8px'
94
+
95
+ # =========================================================================== #
96
+ # === COMPILE_HEADER2
97
+ # =========================================================================== #
98
+ COMPILE_HEADER2 = 'mars0_1em pad2px BO darkblue FW4'
99
+ # =========================================================================== #
100
+ # === COMPILE_HEADER3
101
+ # =========================================================================== #
102
+ COMPILE_HEADER3 = 'mars0_5em slateblue pad4px FI martb3px BO BG_White Black'
103
+
104
+ # =========================================================================== #
105
+ # === compile_header4
106
+ # =========================================================================== #
107
+ def compile_header4(i, extra_css = '')
108
+ h4 i,'mars2_5em darkgreen pad2px martb3px FW4 ind0px '+extra_css
109
+ end
110
+ compile_header5='mars3em pad2px FW4 martb3px'
111
+ # =========================================================================== #
112
+ # === PKG_CSS_ANSWER_CLASS
113
+ # =========================================================================== #
114
+ PKG_CSS_ANSWER_CLASS='s1em martb1px'
115
+ CMD = 'marl1em BO'
116
+ CMD2 = 'marl2em BO'
117
+ CMD3 = 'marl3em BO'
118
+
119
+ # =========================================================================== #
120
+ # === head
121
+ # =========================================================================== #
122
+ def head(i)
123
+ h3 dot(103,'marr8px')+i,'FI'
124
+ end
125
+
126
+ # =========================================================================== #
127
+ # === display_internal_sitemap
128
+ # =========================================================================== #
129
+ def display_internal_sitemap
130
+ div('posab mar5px pad0_5em','','top:3.5em;right:30px;
131
+ background-color:#c9c2b7; border:3px solid slateblue') {
132
+ h2 'Sitemap','padl0_5em FI mart1px marb1em'
133
+ # ===================================================================== #
134
+ # SITEMAP TAG
135
+ # ===================================================================== #
136
+ abr '#gcc_compile',
137
+ content: 'GCC'
138
+ abr '#autoconf',
139
+ content: 'Autoconfigure'
140
+ abr '#distributed_compiling',
141
+ content: 'Distributed Compiling'
142
+ abr '#configure_ac', content: 'configure.ac'
143
+ abr '#CFLAGS', content: 'CFLAGS'
144
+ abr '#distcc', content: 'DISTCC'
145
+ abr '#make', content: 'Make'
146
+ abr '#kobject', content: 'KObject'
147
+ abr '#kd', content: 'Der LD Linker'
148
+ abr '#pkg', content: 'PKG'
149
+ abr '#pkgconfig', content: 'Pkgconfig'
150
+ abr '#bootstrapping', content: 'Bootstrapping'
151
+ abr '#crosscompiling', content: 'Crosscompiling'
152
+ abr '#glibc', content: 'Glibc'
153
+ abr '#uclibc', content: 'Uclibc'
154
+ abr '#elf', content: 'ELF'
155
+ abr '#libtool', content: 'Libtool'
156
+ abr '#shared_libs', content: 'Shared Libraries'
157
+ abr '#appendix_compiling', content: 'Anhang zu Compiling'
158
+ abr '#chroot', content: 'Chroot'
159
+ abr '#libiconv',
160
+ content: 'Libiconv'
161
+ }
162
+ end
163
+
164
+ doc_preferred_width('pad5px s0_5em mar1px FW5 BG_Black padtb0_5em',
165
+ 'compiling') {
166
+ h2 'Compiling',
167
+ 'martb2px'
168
+ display_internal_sitemap
169
+ h1 sg(:angry_smiley,'padr1em', :drag)+'Compiling','yel mart4px'
170
+ div('mar0_2em pad10px s1em FW4 VERD mart1px','compilation',
171
+ 'border-top: 10px solid slateblue;
172
+ border-left:6px solid slateblue;
173
+ border-right:4px solid slateblue;
174
+ border-bottom:4px solid slateblue;'+
175
+ MAIN_BACKGROUND_COLOR){
176
+ # ======================================================================= #
177
+ # ALLGEMEINES ZUM KONFIGURIEREN VON SOURCE DATEIEN
178
+ # ======================================================================= #
179
+ p('mart1px') {
180
+ h2 dot(106, 'marr8px')+'Allgemein lassen sich zu der Ambition,
181
+ Programme aus den Quellen heraus zu kompilieren,
182
+ einige Punkte feststellen:','bigger BO black'
183
+ }
184
+ div('ind1em marl1em') {
185
+ e 'Beginnen wir mit <b>GNU autoconfigure</b>.'
186
+ br
187
+ e '<b>configure</b> ist ein script, welches durch
188
+ <b>GNU autoconfigure</b> bereitgestellt wird.'
189
+ br
190
+ e 'Es überprüft das System, und erstellt ein <b>Makefile</b>,
191
+ das ans System angepasst ist.
192
+ Es ist somit ein script in einem aktuellen Verzeichnis
193
+ und sollte mit <b>./configure</b> aufgerufen
194
+ werden (sofern man sich in diesem Verzeichnis befindet.)'; br
195
+ e '<b>Make</b> wiederum ist ein Programm, das zb typischerweise
196
+ in <b>/usr/bin/make</b> residiert - bei mir hingegen auf
197
+ <b>/Programs/Make/Current/bin/make</b>.'
198
+ br
199
+ e 'Das <b>eigentliche Kompilieren</b> eines Programmes kann
200
+ nun bis zu <b>vier Phasen</b> umfassen, die immer in
201
+ dieser Reihenfolge abgearbeitet werden:'
202
+ br
203
+ css_class = 'marl3em slateblue BOLD'
204
+ counter_li ' preprocessing',css_class
205
+ counter_li ' compilation',css_class
206
+ counter_li ' assembly',css_class
207
+ counter_li ' linking',css_class
208
+ p_default_le {
209
+ e 'Der <b>Vorteil von GNU autoconfigure</b> liegt darin,
210
+ das der selbe Source Code auf <i>verschiedenen</i>
211
+ Plattformen kompiliert werden kann.'
212
+ br
213
+ anm 'Man erkennt Autoconf Dateien an der Endung <b>.ac</b>'
214
+ }
215
+ p_default_le {
216
+ e 'Die Gesamtaufgabe der portablen Konfiguration, Übersetzung
217
+ und Installation von Programmen und Bibliotheken wird von
218
+ insgesamt <b>drei</b> Programmen erledigt:'
219
+ br
220
+ e 'Autoconf erzeugt aus einem Beschreibungsfile
221
+ (<b>configure.in</b>) ein <b>Shell-Skript</b> - das
222
+ vielleicht bereits bekannte <b>./configure</b> Skript,
223
+ welches wiederum durch kurze Test-Programme und -Skripten
224
+ die Eigenschaften des Ziel-Betriebssystems feststellt,
225
+ unter anderen werden auch einige headerfiles kontrolliert.'
226
+ br
227
+ anm 'Übrigens, fehlt einmal die <b>configure Datei</b>,
228
+ kann man sie unter Umständen mittels:
229
+ <b>aclocal; autoconf; ./autogen.sh</b>'
230
+ br
231
+ e '<b>aclocal</b> erzeugt dabei aus dem Inhalt von configure.in
232
+ Dateien die entsprechenden aclocal.m4-Dateien.','','configure_in'
233
+ e 'Aus den nun generierten Makefile-Fragmenten
234
+ (Makefile.in) wird endgültige Makefile erzeugt.'
235
+ e 'Automake erlaubt es, aus einer knappen Spezifikation
236
+ der zu erzeugenden Programme und der Quellfiles,'
237
+ e 'aus denen sie gebaut werden sollen (Makefile.am),
238
+ Makefile.ins zu erzeugen, die den GNU Coding Standards
239
+ entsprechen.'
240
+ br
241
+ e 'Mit anderen Worten, aus Makefile.am wird ein
242
+ Makefile.in. (Makefile.am -> Makefile.in)'
243
+ }
244
+ p_default_le {
245
+ s2 '<b>Libtool</b> erlaubt schließlich die portable
246
+ Erzeugung von Shared Libraries. Mehr zu Libtool '
247
+ abr 'hier',
248
+ content: 'hier',
249
+ css_class: 'BO slateblue'
250
+ }
251
+ p_default_le {
252
+ e 'Der <b>Runtine Linker</b> muss auch imstande sein, diese
253
+ Shared Libraries zu finden.'
254
+ e 'Shared Libraries werden von dem <b>Loader /lib/ld-linux.so.X</b>
255
+ gefunden.'
256
+ br
257
+ e 'ld-linux.so sucht ALLE verwendeten Libraries von dem
258
+ aufgerufenen Programm.'
259
+ }
260
+ p_default_le {
261
+ e 'Folgendes Bild mag einem helfen, Autoconfigure
262
+ besser zu verstehen:'
263
+ br
264
+ dimg 'PC/OS/LINUX/AUTOCONFIGURE_IMAGE.png',
265
+ 'bblack3 mart5px marl5em'
266
+ }
267
+ p_default_le {
268
+ e 'Zu <b>configure.in</b> ist zu sagen, das es von dem m4
269
+ Macro Processor bearbeitet wird.'
270
+ br
271
+ e 'Abgesehen von diesen Macros ist es einfach nur ein shell
272
+ script.'
273
+ e 'Die Macros sind M4 Macros und ein Entwickler der mit GNU
274
+ Autoconfigure arbeitet muss diese Macros verwenden.'
275
+ e '(Es wird empfohlen mit einer bestehenden configure.in
276
+ Datei anzufangen und diese den Bedürfnissen
277
+ entsprechend anzupassen.)','marl1em','m4' # rfcompile m4
278
+ e 'M4 Macros sehen hässlich aus und sind es auch.
279
+ Kommentare geschehen nach dem Schlüsselwort dnl.'
280
+ e 'Per Konvention beginnen alle Macros von Autoconf
281
+ mit <b>AC_</b>'
282
+ br
283
+ e 'Die (spezifischen) Macros von <b>automake</b>
284
+ beginnen allesamt mit <b>AM_</b>'
285
+ e 'Man sollte auch bedenken das AC_CHECK_HEADER
286
+ und die andere AC_* Macros immer in [] Quotes gesetzt
287
+ werden sollten.'
288
+ }
289
+ p_default_le {
290
+ e 'Beispiel für <b>configure.in</b> Strukturen:'
291
+ cmd 'AC_INIT(libfoo.h)'
292
+ e 'libfoo.h sollte hier mit einer Header Datei ersetzt
293
+ werden, die in der Library mitgeliefert wird. Der Zweck
294
+ von AC_INIT ist es, Autoconf zu initialisieren.'
295
+ anm ' AC_INIT muss immer als erstes in
296
+ configure.in stehen!'
297
+ cmd 'AM_CONFIG_HEADER(config.h)'
298
+ e 'Dies hier erzeugt eine .config.h Datei'
299
+ br
300
+ e 'Mittels'
301
+ cmd 'AM_INIT_AUTOMAKE(libfoo,0.0.0)'
302
+ e 'gibt man den <darkblue>Namen des Projekt</> zu
303
+ automake an (inklusive Version Numbering).'
304
+ br
305
+ e 'Das was dahinter kommt sind die Versionen -
306
+ in Reihenfolge die "major", "minor", "micro" Versionen.'
307
+ br
308
+ e 'Die folgenden 3 Macros initialisieren
309
+ den C compiler und libtool:'
310
+ br
311
+ cmd 'AC_PROG_CC'
312
+ cmd2 'Erlaubt auch optional die Angabe anderer
313
+ Compile: <b>AC_PROG_CC(cl egcs gcc cc)</b>'
314
+ cmd 'AC_PROG_CPP'
315
+ cmd 'AM_PROG_LIBTOOL'
316
+ br
317
+ e 'Die CPP Line setzt den C Präprozessor
318
+ fest, der für einige Library Tests notwendig ist.'
319
+ br
320
+ e 'AM_MAINTAINER_MODE schaltet den Maintainer Mode ein:'
321
+ br
322
+ cmd 'AC_CHECK_LIB(appname, test_function)'
323
+ br
324
+ e '# Find out about the host we are building on:'
325
+ br
326
+ cmd 'AC_CANONICAL_HOST'
327
+ br
328
+ cmd 'AC_ARG_ENABLE(opi,[ --enable-opi include support for OPI comments]'
329
+ }
330
+ div('pad1em BG_Black','','color:#B0E0E6') {
331
+ e 'Um ./configure mit einem bestimmten Ziel zu
332
+ kompilieren ist die --prefix=/target Option wichtig.'
333
+ br
334
+ e 'Hat man noch Libraries, muss man eventuell
335
+ <a href="#LDCONFIG" class="slateblue">ldconfig</a> verwenden, damit
336
+ diese auch gefunden werden (post-make install method)'
337
+ }
338
+ div {
339
+ e '<b>Autoconf</b> setzt ausserdem selbst einige Variablen, wie
340
+ zB die Variable <b>prefix</b>, die im Makefile.in als
341
+ <b>@prefix@</b> gekennzeichnet ist.'
342
+ br
343
+ e 'Ein Makefile wiederum ist eine Datei, die das Programm
344
+ <b>make</b> benutzt, um Programme zu kompilieren.
345
+ Ändert man eine Datei, die Bestandteil des Programm ist,
346
+ kann man wiederum make aufrufen, um nur jene Teile zu
347
+ ändern, die auch <b>geändert werden müssen</b>.'
348
+ e 'Das war der Hauptgrund für die Entwicklung von make.
349
+ Mit anderen Worten kann man den Make Prozess getrost
350
+ unterbrechen und ihn <b>später</b> wieder neu starten.'
351
+ e 'Im <a href="#makefile">Anhang</a> findet man eine Liste
352
+ von Makros und ein Beispiel für ein gutes Makefile.'
353
+ br
354
+ e 'C Programme die in mehrere Dateien aufgeteilt
355
+ sind, lassen sich mittels gcc auch kompilieren.'
356
+ e 'header Files muss man dabei nicht angeben, da sie in
357
+ der .c Quelldatei beschrieben werden, allerdings muss man
358
+ die .c Dateien alle angeben, zb:'
359
+ cmd ' gcc -Wall main.c hello_fn.c -o newhello'
360
+ cmd ' gcc -Wall foobar1.c foobar2.c foobar_n.c -o newhello'
361
+ br
362
+ lem 'Dies ist bei grossen Programmen nicht mehr wirklich
363
+ praktisch, da man bei jeder Änderungen in der .c Datei alles
364
+ neu kompilieren müsste.'
365
+ br
366
+ }
367
+ }
368
+ }
369
+ div('default') {
370
+ dimg 'PC/OS/LINUX/COMPILING_SOFTWARE.png','bblack3 FLR'
371
+ h2 DOT108+'Compilation / Kompilierung | Configuration / Konfiguration',
372
+ COMPILE_HEADER3+' mars0_5em','', 'border-bottom:1px dotted darkgreen'
373
+ h3 'Was bedeuten die verschiedenen Compile / Configure
374
+ options?',COMPILE_HEADER3,'autoconfigure' #autoconfigure tag
375
+ table2 's3em FS1em FW5','autoconf','',
376
+ '--prefix=/usr,--prefix=$HOME,
377
+ <b class="firebrick">--prefix=$PROGRAMS/NAME_DES_PROGRAMMES</b>',
378
+ 'Wo installieren wir Binaries, Libraries und weitere Dateien hin?
379
+ Eben genau dorthin, oder in dein $HOME dir.',
380
+ '--with-','Gibt an, welche zusätzlichen Libraries mit
381
+ installiert werden sollen.
382
+ Manchmal gibt man mittels --with auch an, wo
383
+ verschiedene Bibliotheken zu finden sind, zB:
384
+ --with-qt=/opt/qt3',
385
+ '--enable-confdir=LOCATION','setzt wohin Konfigurationsdateien gehen sollen.',
386
+ '--cache-file=FILE','cache test results in FILE. Configure
387
+ unterstützt caching, und hier teilt man mit wo der Cache liegt.'
388
+ e 'Allgemeiner kann man dies hier nutzen um die Installation eines
389
+ Programmes zu adaptieren:'
390
+ p('ind0px marl1em'){
391
+ cmd3 '<b>--bindir=DIR</b> user executables [EPREFIX/bin]'
392
+ cmd3 '<b>--datadir=DIR</b> read-only architecture-independent data [PREFIX/share]'
393
+ cmd3 '<b>--infodir=DIR </b> info documentation [PREFIX/info]'
394
+ cmd3 '<b>--libdir=DIR </b> object code libraries [EPREFIX/lib]'
395
+ cmd3 '<b>--libexecdir=DIR </b> program executables [EPREFIX/libexec]'
396
+ cmd3 '<b>--localstatedir=DIR </b> modifiable single-machine data [PREFIX/var]'
397
+ cmd3 '<b>--sbindir=DIR </b> system admin executables [EPREFIX/sbin]'
398
+ cmd3 '<b>--sysconfdir=DIR </b>read-only single-machine data [PREFIX/etc]'
399
+ cmd3 '<b>--sharedstatedir=DIR</b> modifiable architecture-independent data [PREFIX/com]'
400
+ cmd3 '<b>--includedir=DIR </b> C header files [PREFIX/include]'
401
+ cmd3 '<b>--oldincludedir=DIR </b> C header files for non-gcc [/usr/include]'
402
+ cmd3 '<b>--mandir=DIR </b> man documentation [PREFIX/man]'
403
+ }
404
+ e 'Will man in einem <b>configure.ac Script</b> eine Variable
405
+ setzen geht dies so:'
406
+ br
407
+ cmd 'DEINE_VARIABLE="-L/irgendein/Wert"'
408
+ br
409
+ h3 'Beispiele:',COMPILE_HEADER3,'','configure'
410
+ compile_header4 'configure --prefix=$PROGRAMS/SDL-1.2.8'
411
+ }
412
+ # ========================================================================= #
413
+ # GCC TAG gcc tag
414
+ # ========================================================================= #
415
+ # GCC ist das A und O.
416
+ # ========================================================================= #
417
+ div('default mart5px'){
418
+ e sg(:pfeil10,'marr1em')+'Kommen wir nun zu GCC - der compiler Suite ...'
419
+ h1 sg('PC/OS/LINUX/GCC_FAVICON.png','',:drag)+
420
+ 'About GCC / Über GCC',COMPILE_HEADER3+' mars0_5em mart1em wid60',
421
+ 'gcc_compile','border-bottom:2px solid slateblue'
422
+ br
423
+ e 'Man kann Programme in .o Objekt Dateien kompilieren, und diese
424
+ .o Dateien später verknüpfen (<b>linking</b>).'
425
+ br
426
+ e 'Dieses Erstellen von <b>.o Dateien</b> geht mit
427
+ der <b>-c Option</b> so:'
428
+ br
429
+ cmd ' gcc -Wall -c test1.c'
430
+ br
431
+ e 'Die entstehenden .o Dateien kann man nun wie folgt verknüpfen:'
432
+ br
433
+ cmd ' gcc main.o hello_fn.o -o hello'
434
+ br
435
+ e '(Beim Verlinken macht die -Wall Option keinen Sinn, da ja bereits
436
+ vorher die Quelldateien überprüft wurden - hoffentlich. Objekt Dateien
437
+ enhalten bereits den Maschinencode.)'
438
+ br
439
+ e 'Mittels -l können Libraries verlinkt werden. Alternativ
440
+ kann der reelle Pfad angeben werden, dies ist aber nicht
441
+ besonders praktisch.'
442
+ br
443
+ e 'Um zum Beispiel gegen die Math Library zu linken würde das hier
444
+ funktionieren:'
445
+ cmd 'gcc -Wall calc.c -lm -o calc'
446
+ br
447
+ e 'Übrigens linkt -l default mässig nur gegen .a Libraries, nicht
448
+ gegen .so Libraries.'
449
+ e '-Wall findet auch keine Problem während des Erstellen
450
+ des Programmcodes, zb bei einem NULL Pointer.'
451
+ br
452
+ e 'Auch hier kommt es auf die Reihenfolge an - Bibliotheken
453
+ die zuerst erscheinen (von links nach rechts) werden zuerst
454
+ eingebunden.'
455
+ br
456
+ e 'Wie findet gcc die Libraries und Include Dateien?'
457
+ e 'Defaultmässig sucht gcc für header Dateien
458
+ (Include Path) in:'
459
+ cmd ' /usr/local/include/'
460
+ cmd ' /usr/include/'
461
+ e 'Für Libraries (Link Path) nutzt gcc:'
462
+ cmd ' /usr/local/lib/'
463
+ cmd ' /usr/lib/'
464
+ e 'Die /local Varianten werden zuerst '+sg(:rufzeichen)+'
465
+ durchsucht.'
466
+ br
467
+ e 'Gibt es Bibliotheken, die in anderen Verzeichnissen residieren,
468
+ muss man die <b>Suchpfade erweitern</b>. Dazu nutzt man -I und -L,
469
+ wobei der ld Linker manchmal nicht die Dateien finden kann, und
470
+ zb so einen Fehler ausgibt:'
471
+ cmd ' /usr/bin/ld: cannot find -lgdbm'
472
+ br
473
+ e 'Den absoluten Pfad von header Files in
474
+ <b>#include</b> anzugeben ist nicht so gut, da dies
475
+ auf anderen Systemen meistens nicht mehr funktioniert.'
476
+ br
477
+ e 'Mittels <b>"-nostdinc"</b> kann man normale
478
+ Suchpfade ignorieren, das mag wichtig sein wenn man
479
+ alternative Include Verzeichnisse verwenden will.'
480
+ br
481
+ e 'Den <b>C Include Path</b> kann man auch weiters so setzen:'
482
+ cmd ' C_INCLUDE_PATH=/opt/gdbm-1.8.3/include'
483
+ br
484
+ e 'Ähnliches geht auch mit <b>CPLUS_INCLUDE_PATH</b> für CPP Dateien.
485
+ Diese beiden Variablen werden erst nach /usr/local/include und
486
+ /usr/include durchsucht.'
487
+ e 'Um mehrere Verzeichnisse anzugeben können
488
+ die Einträge mit <b>:</b> getrennt werden.'
489
+ br
490
+ e 'Statische Libraries haben einige Nachteile, der
491
+ prominenteste Nachteil ist, das Programme viel grösser werden.'
492
+ e 'Gcc versucht daher immer, shared Libraries zu
493
+ nutzen (by default). Wann immer ein libNAME.a vorhanden
494
+ ist, versucht gcc herauszufinden ob es nicht eine
495
+ libNAME.so Version davon gibt. Gibt es diese, so
496
+ wird sie anstatt von libNAME.a benutzt.'
497
+ e 'Dieses Verhalten kann aber ausgeschalten werden,
498
+ indem man gcc mitteilt, dies nicht zu tun (-static):'
499
+ cmd 'gcc -Wall -static -L/opt/gdbm-1.8.3/lib/
500
+ dbmain.c -lgdbm'
501
+ e 'Will man 64 Bit Binaries mit GCC erzeugen, verwendet
502
+ man die <b>-m64</b> flag.'
503
+ cmd 'gcc -m64 foobar.c -o foobar'
504
+ e 'GNU GCC hat einige Dialekte drauf, die mit -ansi und -pedantic
505
+ kontrolliert werden können. -ansi zb schaltet bestimmte Keywörter
506
+ im GNU GCC aus, wie asm, und erlaubt somit die Verwendung einer
507
+ Variablen die asm genannt wird.'
508
+ e 'Weitere GNU GCC Variablen, die nicht in Ansi vorkommen,
509
+ sind <b>inline, typeof, unix und vax</b>.'
510
+ e 'Die Verwendung von -pedantic und -ansi sorgt
511
+ dafür das alle GNU C Extensions zurückgewiesen werden.'
512
+ e 'Dies hilft, wirklich portablen C Code zu schreiben.'
513
+ e '-Wall kombiniert man oft mit -W, die zwei sind
514
+ leider nicht das selbe.'
515
+ br
516
+ e 'Ansonsten kann man testweise probieren, sein C Programm
517
+ mit <b>jenen folgenden Optionen</b> zu kompilieren (aliased
518
+ auf <b>gccbig</b>):'
519
+ cmd ' gcc -ansi -pedantic -Wall -W -Wconversion
520
+ -Wshadow -Wcast-qual -Wwrite-strings'
521
+ e 'Debug Information kann man nutzen,
522
+ und zwar mittels -g. Dies bläht aber das Executable auf.'
523
+ e 'Crashed ein Program, dann kann das
524
+ OS ein core file (.core) schreiben. '
525
+ br
526
+ e 'Wird kein core dump file erstellt, liegt dies wohl
527
+ an einem Bash setting, welches man hiermit beseitigen kann:'
528
+ cmd ' ulimit -c unlimited'
529
+ e 'Nun kann man <i>gdb</i> nutzen:'
530
+ cmd ' gdb EXECUTABLE-FILE CORE-FILE'
531
+ cmd ' gdb a.out core.32214'
532
+ e 'Ein breakpoint stoppt das Exekutieren eines Programmes, und
533
+ gibt die Kontrolle zurück zu dem Debugger. Das Kommando dazu
534
+ ist <b>break</b>'
535
+ e 'Seit GCC 4 gibt es die Compile Option
536
+ <b>-fvisibility=hidden</b>. Erstellt man eine shared
537
+ library mit dieser Flag, dann versteckt GCC alle
538
+ Symbole die nicht explizit als visible markiert sind.'
539
+ e '-fvisibility=hidden verkürzt oft die Ladezeiten,
540
+ insofern ist es eine nützliche Compiler Option.'
541
+ e '-Wc++-compat ist auch recht nützlich, denn es gibt einem
542
+ Warnungen über Constructs die einen C++ Compiler stören könnten.'
543
+ e 'Der GCC ld-wrapper ist collect2.'
544
+ # 32 Bit Applikationen kompilieren, mittels -m32.
545
+ frage 'Wie kompiliere ich eine 32-Bit Applikation mittels GCC
546
+ auf einem 64-bit System?','m32'
547
+ e 'Dies erfolgt mittels der <b>-m32</b> bzw. der <b>-m64</b> Option.'
548
+ br
549
+ e 'Diese Optionen generieren Code für eine 32-bit oder eben
550
+ für eine 64-bit Umgebung.'
551
+ br
552
+ lem 'Die 32-bit Umgebung setzt int, long und pointer zu 32 bits
553
+ and erstellt Code der auf jedem i386 System läuft.'
554
+ lem 'Die 64-bit Umgebung sets int to 32 bits and long
555
+ and pointer to 64 bits and generates code for AMDs x86-64
556
+ architecture.'
557
+ br
558
+ e 'Hier Beispiele.'
559
+ br
560
+ e 'Kompilieren für eine <b>32 bit Version</b>:'
561
+ cmd ' gcc -m32 -o output32 hello.c'
562
+ e 'Kompilieren für eine <b>64 bit Version</b>:'
563
+ cmd ' gcc -m64 -o output64 hello.c'
564
+ br
565
+ e 'Und das Resultat ruft man wie folgt auf:'
566
+ cmd ' ./output32'
567
+ # ======================================================================= #
568
+ # CODING STANDARDS zu GCC
569
+ # ======================================================================= #
570
+ h2 sg(:scale,'marr8px')+'Coding Standards für GCC',COMPILE_HEADER3,'coding_standards'
571
+ compile_header4 '<a href="http://www.gnu.org/prep/standards/standards.html#Preface">
572
+ http://www.gnu.org/prep/standards/</a>'
573
+ # ======================================================================= #
574
+ # GCC FLAGS.
575
+ # ======================================================================= #
576
+ h4 'Was gibt es zu gcc und den gcc Flags zu sagen?',
577
+ COMPILE_HEADER3,'gcc'
578
+ compile_header4 'GCC ist das *nix Tool schlecht hin zum Erstellen von
579
+ ausführbaren Dateien aus .c oder .gcc Dateien.
580
+ Als solches ist gcc lediglich ein <b>Front End</b>.
581
+ Es handelt sich bei GCC (<b>GNU Compiler Collection</b>) um einen
582
+ ANSI C compiler mit Unterstützung für K&R C, C++, Objective C,
583
+ Java, Fortran, Ada, treelang.
584
+ GCC analysiert welche Sources man hat und bestimmt dann den
585
+ passenden Compiler dazu.
586
+ Beispiel - der Ada compiler heisst gnat1 und der
587
+ C compiler heisst cc1.<br/>
588
+ GCC ist auch gut beim Erstellen von Debugging Information, und
589
+ unterstützt auch Intel IA-64 Prozessoren.
590
+ Die erste Version erschien am <b>22. März 1987</b>.
591
+ Mittlerweile umfasst GCC über 25.000 Dateien mit mehr als
592
+ 2,1 Millionen Zeilen Code. <br/>
593
+ Mit dem <b>Tree-SSA-Projekt</b>, das ab GCC 4.0 verwendet wird,
594
+ wurden zwei neue Formen von sprachunabhängigen Bäumen
595
+ eingeführt (<b>GENERIC und GIMPLE</b>) <br/>
596
+ Parsing wird nun durchgeführt, indem ein temporärer sprachabhängiger
597
+ Baum nach <b>GENERIC</b> konvertiert wird. Der so genannte <b>Gimplifier</b>
598
+ überführt diese komplexe Form in die SSA-basierte GIMPLE-Form,
599
+ von der ausgehend eine Reihe neuer sprach- und architekturunabhängiger
600
+ Optimierungen durchgeführt werden können.
601
+ Übrigens - Optimierungen an diesen "Bäumen" passt normalerweise
602
+ nicht in das Schema von <b>Frontend</b> und <b>Backend</b> -
603
+ Die GCC-Entwickler haben diesem Teil des Compilers daher den
604
+ Namen <b>Middleend</b> gegeben.
605
+ Zu den gegenwärtig am SSA-Baum durchgeführten Optimierungen
606
+ gehören Dead Code Elimination, Partial Redundancy Elimination,
607
+ Global Value Numbering, Sparse Conditional Constant
608
+ Propagation, und Scalar replacement of Aggregates.
609
+ Array-basierende Optimierungen wie zum Beispiel automatische
610
+ Vektorisierung, wie sie der Intel-Compiler anbietet, werden
611
+ gegenwärtig entwickelt. <br/>
612
+ Binaries die unter GCC kompiliert werden, sollten
613
+ auch auf anderen Computern funktionieren - Rechner A
614
+ kann daher auch für Rechner B, C und D die Binaries
615
+ erstellen, die diese Rechner nutzen. Das mag in
616
+ einem Netzwerk hilfreich sein.<br>
617
+ Folgendes Command zeigt einem welche Symbole
618
+ gcc versteht:<br>
619
+ echo \'main(){printf("hello world\n"}\' | gcc -E -v -'
620
+ compile_header4 'GCC Braucht zum Funzen einige Dateien und Libraries,
621
+ unter anderem auch die cc<b>1 Library</b>. Zb hier:<br/>
622
+ /usr/libexec/gcc/i386-unknown-linux/3.4.4/cc1
623
+ /usr/libexec/gcc/i386-unknown-linux/3.4.4/cc1obj
624
+ /usr/libexec/gcc/i386-unknown-linux/3.4.4/cc1plus'
625
+ # ======================================================================= #
626
+ # CREATE OBJECT FILE WITH GCC
627
+ # ======================================================================= #
628
+ h3 'Wie erstelle ich ein Objekt File mit gcc?',COMPILE_HEADER3
629
+ compile_header4 'gcc -g -O -c main.c','BO '
630
+ # ======================================================================= #
631
+ # WOZU OBJECT FILE
632
+ # ======================================================================= #
633
+ h3 'Wozu brauche ich ein Objekt File?',COMPILE_HEADER3
634
+ compile_header4 'Es speicht den Quellcode einer Datei. Hat man sehr
635
+ viele Dateien, so','BO '
636
+ # ======================================================================= #
637
+ # CREATE OBJECT FILE WITH GCC WITHOUT DOING ALL STEPS
638
+ # ======================================================================= #
639
+ h3 'Wie erstelle ich ein Objekt File mit gcc ohne alle Schritte
640
+ auszuführen?',COMPILE_HEADER3
641
+ compile_header4 '<i class="darkblue">gcc -c DEINE_C_DATEI</i> <br/>
642
+ Hiermit wird nur eine Objektdatei erzeugt. Die
643
+ Option -c dient zum Überspringen des Linker Teil.'
644
+ # ======================================================================= #
645
+ # GCC'S SEARCH DIRS AUSGEBEN
646
+ # ======================================================================= #
647
+ h3 'Wie find ich heraus, für welchen Ort gcc configured war?',COMPILE_HEADER3
648
+ compile_header4 'gcc --print-search-dirs'
649
+ # ======================================================================= #
650
+ # GCC ABBRUCH NACH PRÄPROZESSOR
651
+ # ======================================================================= #
652
+ h3 'Wie veranlasse ich gcc dazu abzubrechen nach dem Präprozessor?',
653
+ COMPILE_HEADER3
654
+ compile_header4 'gcc -E'
655
+ # ======================================================================= #
656
+ # GCC FLAGS GCC OPTIONEN
657
+ # OPTIONEN -I und -D
658
+ # rf comp gcc_optionen
659
+ # ======================================================================= #
660
+ h3 'Was bedeuten die gcc Optionen mit -I, -L und -D? (Include Flags)',
661
+ COMPILE_HEADER3+' mart2em','gcc_optionen'
662
+ compile_header4 '-I wird für INCLUDE Zeugs genutzt, -D dient als Hilfe
663
+ für den C-Compiler.'
664
+ br
665
+ e 'Mittels -I werden library headers gefunden.'
666
+ e 'Die Option -L wird für den Linker genutzt, damit werden
667
+ shared objects miteinander gelinkt. Mittels der
668
+ Option --nodefaultinc kann man gcc veranlassen nichts
669
+ zu inkludieren. Mittels -E kann man anschauen,
670
+ was das Präprozessor macht.'
671
+ div('marl2em') {
672
+ e 'Hier eine Übersicht über einige wichtigere GCC Optionen:'
673
+ table2 'marl1em','','',
674
+ '-g','Die -g flag wird zum Erzeugen der
675
+ debug Symbols und line number Information genutzt: gcc test.c -g',
676
+ '-O0','schaltet alle Optimierungen aus'
677
+ }
678
+ frage 'Was bedeutet --disable-multilib?'
679
+ e 'multiple target libraries to support different target variants
680
+ will not be built. The default is to build predefined set of them.'
681
+ br
682
+ e 'Auf 64 Bit Systemen wird durch diese Option nur der 64 bits
683
+ native compiler gebastelt, ohne 32 bits legacy.'
684
+ h4 'GCC Links und Ressourcen','s2em'
685
+ div('mars1em pad0_1em') {
686
+ abr 'http://gcc.gnu.org/',
687
+ content: 'GCC Homepage'
688
+ }
689
+ # ======================================================================= #
690
+ # configure.ac tag. autoconf tag
691
+ # ======================================================================= #
692
+ h4 'configure.ac','','configure_ac'
693
+ e 'Um bestimmte Packages abzufragen via pkgconfig, kann man dies
694
+ hier nutzen in configure.ac:'
695
+ br
696
+ cmd 'PKG_CHECK_MODULES([GNOME], [gtk > 1.2.8 gnomeui >= 1.2.0])'
697
+ br
698
+ e 'Aus den configure.ac scripts wird das portable configure
699
+ script erstellt.'
700
+ br
701
+ h4 'Optimierungen mit GCC'
702
+ }
703
+ # ======================================================================= #
704
+ # aclocal.m4 tag.
705
+ # ======================================================================= #
706
+ div('default'){
707
+ h3 'Was gibt es zu aclocal.m4 zu sagen?',COMPILE_HEADER3,'aclocal.m4'
708
+ compile_header4 'M4 ist eine ziemlich komplexe Makro-Expansionssprache,
709
+ deren Syntax kompliziert ist.
710
+ Solche Makros werden üblicherweise in aclocal.m4
711
+ untergebracht, wenn sie nur für das Paket verwendet
712
+ werden, oder in acsite.m4, wenn sie auch in anderen
713
+ Paketen benutzt werden können.'
714
+ h3 'Was gibts zu GNU autoconfigure zu sagen?',
715
+ COMPILE_HEADER3
716
+ compile_header4 'Zu finden auf <a href="http://www.gnu.org/software/autoconf/">Autoconf</a>.
717
+ Autoconfigure besteht aus m4 macros, die shell scripts erstellen.
718
+ Dabei muss man GNU m4 installiert haben.
719
+ (Auto)configure führt einige SystemTests durch, speichert
720
+ diese Information meistens in einer Datei namens <b>config.cache</b>
721
+ und produziert letzten Endes Konfigurations Skripte, die
722
+ unabhängig von Autoconf laufen können - ein Enduser
723
+ muss daher nicht autoconf haben, um in den Genuss seiner
724
+ Vorteile zu kommen.
725
+ Zudem werden beim Kompilieren sogenannte Flags zu Rate gezogen, die zB
726
+ LDFLAGS genannt werden, und auf die korrekten Verzeichnisse hinzeigen.
727
+ Das configure script gibt Fehlermeldung aus, sofern eine configure option
728
+ nit gefunden wurde, zB Unknown Option n. Auch werden während
729
+ der configure Phase niemals aktiv Änderungen vorgenommen, zb
730
+ durch Erstellen von Verzeichnissen - dies wird durch <b>make</b>
731
+ bzw <b>install</b> dann vorgenommen.'
732
+ h3 'Wie finde ich raus, welches --prefix= configure genutzt hat?',
733
+ COMPILE_HEADER3
734
+ compile_header4 'In der Datei <b>config.log</b>, greppen a la<br/>
735
+ grep "prefix=\'*\'" config.log |non } <br/>
736
+ Übrigens bestimmt ./configure automatisch das /usr/local
737
+ das prefix ist.'
738
+ }
739
+ # ========================================================== #
740
+ # AM MACROS
741
+ # ========================================================== #
742
+ div('default s1em White'){
743
+ h3 'Wie nutze ich GNU autoconfigure für ein Programm, wenn es
744
+ noch nicht GNU autoconfigure nutzt?',
745
+ COMPILE_HEADER3
746
+ compile_header4 'Zur Theorie dazu, siehen den Absatz weiter
747
+ oben. Ansonsten startet man mit der Erstellung der Datei
748
+ configure.in. Sie sollten diese Macros haben:'
749
+ e 'AM_ICONV','BO'
750
+ br
751
+ e 'The AM_ICONV macro tests for the presence of the
752
+ POSIX/XSI iconv def family in either
753
+ the C library or a separate libiconv library.'
754
+ e 'AC_INIT, AC_PREREQ(VERSION), AM_INIT_AUTOMAKE, AM_CONFIG_headER,
755
+ AM_MAINTAINER_MODE, AC_EXEEXT, AC_PROG_CC, AC_PROG_CXX,
756
+ AM_PROG_LIBTOOL, AC_DEFINe _GNU_SOURCE), AC_OUTPUT,'
757
+ anm 'Note: AC_INIT is always the first Macro in a
758
+ configure.in script'
759
+ }
760
+ p_default_le {
761
+ e 'Nun schreibt man <b>Makefile.am</b>.'
762
+ }
763
+ # ========================================================================= #
764
+ # glibc tag glib-config --cflags glib tag. rf compile glibc
765
+ # ========================================================================= #
766
+ div('default pad1em') {
767
+ h2 'Glibc, Glib und ld.so'
768
+ div('FS1_1em ind1em','glibc') {
769
+ e '<b>glibc</b>, die <b>GNU C-Bibliothek</b>, ist eine freie
770
+ Implementation der Standard C Library - die
771
+ <b>Standard C Bibliothek unter Linux</b>.'
772
+ br
773
+ e 'GLib hingegen wiederum ist eine <b>Low-level core Bibliothek</b>,
774
+ die die <b>Basis zu GTK+ und Gnome</b> bildet. Dies sollte man im
775
+ Kopf behalten damit man diese zwei Bibliotheken nicht verwechselt.'
776
+ br
777
+ e 'Ein grosses Design Ziel der glibc Bibliothek ist die
778
+ <b>Portabilität</b>, dies bedeutet aber auch, das Applikationen
779
+ grösser werden, da portabler Code mitgeschleppt bzw kompiliert
780
+ werden muss.'
781
+ e 'Dies ist zB der Fall bei statischen Programmverknüpfungen,
782
+ wenn die Bibliothekfunktionen in die Exec kopiert werden - also
783
+ bei allen lib Dateien, die <b>.a</b> Dateien sind, ansonsten
784
+ sind sie shared objects mit <b>.so</b> Endung.'
785
+ e 'Glibc steht unter <b>LGPL</b>, damit sie als Bibliothek
786
+ auch unter nicht freier Software verwendet werden kann und darf.'
787
+ e 'Sie erfüllt zudem die C-Standards.'
788
+ br
789
+ e 'Warum brauchen wir die Glibc überhaupt auf Linux?'
790
+ e 'Glibc ist die <b>wichtigste</b> C Bibliothek.'
791
+ e 'Sie definiert die system calls und andere
792
+ Grundoperationen wie open, malloc, printf, exit','marl1em'
793
+ e 'Ohne sie kann man keine C Programme kompilieren
794
+ - oder betreiben.'
795
+ # ======================================================================= #
796
+ # neueste glibc version
797
+ # ======================================================================= #
798
+ e 'Die neueste Version der glibc trägt
799
+ Versionsnummer 2.7 (Stand: 24 NOV 2007)'
800
+ br
801
+ e 'Es gibt übrigens schlankere Versionen von libc, zB
802
+ <b>uClibc</b> und <b>dietlibc</b>. Zu dietlibc ein paar
803
+ Beispiele im gleich folgenden Anhang.'
804
+ e '<b>glibc</b> wird von allen Programm verwendet.
805
+ Wenn man also glibc upgraded, werden die aktuell
806
+ laufenden Programme noch immer auf die alte (nun
807
+ eventuell gelöschte glibc Bibliothek zugreifen.
808
+ Neue Programme, die nun gestartet werden, nutzen die
809
+ neuere glibc Bibliothek - sofern vorhanden.'
810
+ br
811
+ e 'Eng verwandt mit glibc ist die Datei <b>ld.so</b>, die
812
+ normalerweise unter <b>/lib/ld.so</b> zu finden ist.'
813
+ e 'ld.so ist der <b>dynamic library loader</b>.'
814
+ e 'Jedes Binary das shared library verwendet, hatte früher 3K
815
+ start-up code. Der war notwendig um die shared libraries zu
816
+ finden und laden.'
817
+ e sg(:ausrufungszeichen,'marr4px')+
818
+ 'Aber was ist wenn Glibc gebrochen, also
819
+ nicht verwendbar, ist?','s2em'
820
+ e 'Gute Frage - einige gebräuchliche Fehler
821
+ sind folgende:'
822
+ e 'Um die Glib Version herauszufinden:'
823
+ e ' glib-config --version',GLIBC_REPLY
824
+ e 'bzw'
825
+ e ' pkg-config glib --cflags',GLIBC_REPLY
826
+ e 'und um die GTK Version herauszufinden'
827
+ e ' gtk-config --version',GLIBC_REPLY
828
+ br
829
+ e 'Um glibc auch in zb /usr/local zu installieren
830
+ kann man diese Option nutzen:'
831
+ br
832
+ e ' --disable-sanity-checks ',GLIBC_REPLY
833
+ br
834
+ e 'Um nun sein System auf eine neue Libc zu portieren,
835
+ sollte man in etwa so vorgehen:'
836
+ br
837
+ e '1 Wichtige Dateien in /libc backupen:'
838
+ br
839
+ cmd 'cd /libcp libc.so* libm.* /libc_backup'
840
+ br
841
+ abr 'http://www.gnu.org/software/libc/',
842
+ content: 'Offizielle Homepage der Libc'
843
+ abr 'http://www.linuxfromscratch.org/lfs/view/development/chapter05/glibc.html',
844
+ content: 'LFS Build Instructions der GLibc'
845
+ div('default') {
846
+ # ============================================================ #
847
+ # upgrade glibc tag. upgrade tag
848
+ # rf compiling glibc_upgrade
849
+ # ============================================================ #
850
+ h2 sg('PC/OS/LINUX/UPGRADE.png','bblack1 marr4px')+
851
+ 'Upgraden der Glibc','','glibc_upgrade'
852
+ p('','upgrade'){
853
+ e 'Da ich immer wieder Probleme mit dem Glibc Upgrade
854
+ hatte, hier eine Liste an Dingen, die ich für einen
855
+ <b>Glibc Upgrade</b> empfehle:'
856
+ }
857
+ p('marl3em ind0px') {
858
+ e '(1) Einige Programme sollten statisch kompiliert werden,
859
+ zumindest aber <b>make</b> und nach Möglichkeit auch
860
+ <b>tar</b> sowie <b>m4</b>'
861
+ br
862
+ e '(2) Für den Fall der Fälle braucht man wohl auch
863
+ statische Versionen von <b>binutils</b>, <b>coreutils</b>
864
+ und auch <b>busybox</b>'
865
+ br
866
+ e '(3) Auch <b>ncurses</b> sollte statisch kompiliert
867
+ werden, sowie <b>bash</b>, <b>bzip</b>, <b>gawk</b>,
868
+ <b>grub</b>, <b>nano</b> und - ganz
869
+ wichtig - auch <b>sed</b>.'
870
+ br
871
+ anm ' Hier die <b>Liste</b>:'
872
+ br
873
+ e 'make, tar, m4, binutils, busybox, coreutils, bash, bzip2,
874
+ gawk, grub, nano, sed, findutils','marl3em'
875
+ e '(4) Nun sollte man rebooten und
876
+ <b>init=/bin/bash</b> durchführen.'
877
+ e 'Nachdem man Glibc upgegraded hat, sollte man
878
+ <b>init -u</b> laufen lassen.'
879
+ e 'Nun ist es wichtig die GCC Specs anzupassen.'
880
+ br
881
+ e 'Also mal folgendes Command durchführen:'
882
+ br
883
+ cmd ' gcc -v'
884
+ br
885
+ e 'reading specs from /usr/lib/gcc-lib/i486-unknown-linux/2.7.2.2/specs'
886
+ e 'gcc version 2.7.2.2'
887
+ br
888
+ e 'Auch wird empfohlen, binutils, Gcc und coreutils
889
+ erneut zu kompilieren ("rebuild" nachdem das Upgrade
890
+ der Glibc geklappt hat. (Danach muss eventuell auch
891
+ der Kernel neu gebastelt werden.)'
892
+ }
893
+ div {
894
+ h2 dot(102)+'Glibc Komponenten (Components of the GNU C Library:'
895
+ e '<table border="1" cellpadding="3" bordercolor="# 333333">
896
+ <tr>
897
+ <td>Component</td>
898
+ <td>Description</td>
899
+ </tr>
900
+ <tr>
901
+ <td><tt>ld.so</tt></td>
902
+ <td>Dynamic linker/loader</td>
903
+ </tr>
904
+ <tr>
905
+ <td><tt>libc</tt></td>
906
+ <td>Provides the majority of the C library routines
907
+ (The file libc.so is a simple text file)</td>
908
+ </tr>
909
+ <tr>
910
+ <td><tt>libcrypt</tt></td>
911
+ <td>Implements cryptography routines</td>
912
+ </tr>
913
+ <tr>
914
+ <td><tt>libdl</tt></td>
915
+ <td>Enables dynamic loading of shared objects</td>
916
+ </tr>
917
+ <tr>
918
+ <td><tt>libm</tt></td>
919
+ <td>Provides the math routines for the C library</td>
920
+ </tr>
921
+ <tr>
922
+ <td><tt>libnss_compat</tt></td>
923
+ <td>Implements Name Service Switch (<em>NSS</em> compatibility routines)</td>
924
+ </tr>
925
+ <tr>
926
+ <td><tt>libnss_dns</tt></td>
927
+ <td>Enables NSS routines for Domain Name Service (<em>DNS</em> lookups)</td>
928
+ </tr>
929
+ <tr>
930
+ <td><tt>libnss_files</tt></td>
931
+ <td>Provides file-based NSS services</td>
932
+ </tr>
933
+ <tr>
934
+ <td><tt>libnss_hesiod</tt></td>
935
+ <td>Implements NSS services for Hesiod name resolution</td>
936
+ </tr>
937
+ <tr>
938
+ <td><tt>libnss_nis</tt></td>
939
+ <td>Enables NIS database lookups for NSS</td>
940
+ </tr>
941
+ <tr>
942
+ <td><tt>libnss_nisplus</tt></td>
943
+ <td>Enables NIS+ database lookups for NSS</td>
944
+ </tr>
945
+ <tr>
946
+ <td><tt>libpthread</tt></td>
947
+ <td>Provides POSIX threads support routines for programming with pthreads</td>
948
+ </tr>
949
+ <tr>
950
+ <td><tt>libresolv</tt></td>
951
+ <td>Implements standard name resolution services</td>
952
+ </tr>
953
+ <tr>
954
+ <td><tt>libthread_db</tt></td>
955
+ <td>Provides debugging routines for pthreads-based programs</td>
956
+ </tr>
957
+ <tr>
958
+ <td><tt>libutil</tt>'
959
+ ctd
960
+ td 'Implements login and user accounting routines'
961
+ ctdctr
962
+ ctable
963
+ }
964
+ }
965
+ }
966
+ }
967
+ # ========================================================================= #
968
+ # OPTIMIEREN
969
+ # ========================================================================= #
970
+ h3 'Wie optimiere ich?',COMPILE_HEADER3
971
+ compile_header4 'zB mit --enable-CXXOPT= --enable-COPT='
972
+ # ========================================================================= #
973
+ # CLEANING
974
+ # ========================================================================= #
975
+ h3 'Wie räume ich mittels <b>make</b> auf?',COMPILE_HEADER3
976
+ compile_header4 ' make -C ld clean # dies würde alle erstellten
977
+ Dateien löschen.'
978
+ # ========================================================================= #
979
+ # LIB_PATH target
980
+ # ========================================================================= #
981
+ h3 'Wie spezifiziere ich ein anderes LIB_PATH target via make?',COMPILE_HEADER3
982
+ compile_header4 ' make -C ld LIB_PATH=/tools/lib'
983
+ # ========================================================================= #
984
+ # BOOTSTRAPPING
985
+ # ========================================================================= #
986
+ h3 'Was macht <b>make bootstrap</b>?',COMPILE_HEADER3
987
+ compile_header4 'Kompiliert das ganze mehrere Male. Alternativ dazu kann
988
+ man auch <b>make bootstrap-lean</b> nutzen.'
989
+ # ========================================================================= #
990
+ # GUESS HOST SYSTEM VALUES
991
+ # ========================================================================= #
992
+ h3 'Gibt es einen Weg, die Werte des Host System zu überprüfen?',
993
+ COMPILE_HEADER3
994
+ compile_header4 './config.guess'
995
+ # ========================================================================= #
996
+ # ALLGEMEIN - KOMPILIEREN VON SOFTWARE AUF LINUX
997
+ # ========================================================================= #
998
+ h2 'Allgemeines Chit-Chat über Kompilieren von Software
999
+ auf Linux','BO '+compile_header5
1000
+ e 'Tools die mit Autoconf verwandt sind, bzw. eine ähnliche
1001
+ Funktionalität erfüllen sind <b>Metaconfig</b> und <b>imake</b>.
1002
+ Mittels disable-static verbietet man das Erstellen von statischen
1003
+ Bibliotheken, es werden nur dynamische Bibliotheken verwendet.','s2em'
1004
+ # ========================================================================= #
1005
+ # BESTIMME PRÄPROZESSOR VARIABLEN BEIM KOMPILIEREN
1006
+ # ========================================================================= #
1007
+ h3 'Wie kann ich Präprozessor Variablen bestimmen beim Kompilieren?',
1008
+ COMPILE_HEADER3
1009
+ compile_header4 'Mittels <b>-D</b>, wie in -DNDEBUG'
1010
+ # ========================================================================= #
1011
+ # GCC ENVIRONMENT VARIABLES
1012
+ # ========================================================================= #
1013
+ h3 'Welche Environment Variable nutzt GCC?',COMPILE_HEADER3
1014
+ compile_header4 'GCC_EXEC_PREFIX'
1015
+ # ========================================================================= #
1016
+ # CROSS COMPILING - The Art of
1017
+ # ========================================================================= #
1018
+ h3 'Cross Compiling - was gibts dazu zusagen?',
1019
+ COMPILE_HEADER3,'crosscompiling'
1020
+ compile_header4 'Cross compiling is the act of the building source code on
1021
+ one system, the <b>build host</b>, into executables or
1022
+ libraries to be run on a different host, the
1023
+ <b>native host</b>.
1024
+ The build host and the native host may differ in operating
1025
+ system and/or processor type.<br/>
1026
+ Der Hauptgrund ist, das die Prozessorleistung des native host
1027
+ meist ziemlich gering ist, zb weil es sich um einen alten
1028
+ Computer handelt.'
1029
+ # ========================================================================= #
1030
+ # COMPILE SPEED
1031
+ # ========================================================================= #
1032
+ h3 'Compile Speed - wie kann ich das compilen schneller
1033
+ durchführen?',COMPILE_HEADER3,'speedy_compile'
1034
+ compile_header4 'Ich kann hier nur allgemeine Tipps geben.
1035
+ Nutze <b>tmpfs</b>.'
1036
+ # ========================================================================= #
1037
+ # MACROS und Fehlermeldungen
1038
+ # ========================================================================= #
1039
+ # UNDEFINED MACRO LIST
1040
+ # ========================================================================= #
1041
+ h3 'Was tun wenn ich die Fehlermeldung <b>Undefined Macro argument
1042
+ list</b> erhalte?',COMPILE_HEADER3
1043
+ compile_header4 'Im Makefile bei <b>CFLAGS</b> die Option
1044
+ -no-cpp-precomp hinzufügen.'
1045
+ e 'Übrigens: Mehr zu Macros sieht man hier:'
1046
+ br
1047
+ abr 'http://autoconf-archive.cryp.to/',
1048
+ content: 'http://autoconf-archive.cryp.to/'
1049
+ # ========================================================================= #
1050
+ # FEHLER HANDLING bei configure.
1051
+ # ========================================================================= #
1052
+ h3 'Was tun wenn ich einen Fehler erhalte, das configure nicht
1053
+ den host type herausfinden kann?',
1054
+ COMPILE_HEADER3
1055
+ compile_header4 'config.sub und config.guess
1056
+ mit den Versionen von /usr/libexec austauschen.
1057
+ config.cache löschen.'
1058
+ h3 'Was gehört in /usr/libexec? Was ist libexec?'
1059
+ h4 sg(:pfeil_rechts, 'marr1em')+'Programme, die ausschliesslich von
1060
+ <b>internen executables</b> verwendet werden (können). GCC libexec
1061
+ wären somit alle jene Programme, die nur von GCC intern verwendet
1062
+ werden.','marl2em'
1063
+ e 'Wenn eine Bibliothek Programme aufruft die nur durch eine
1064
+ Bibliothek aufgerufen werden können, so sind sie libexec
1065
+ Dateien (und meistens in /usr/libexec zu finden).'
1066
+ # ========================================================================= #
1067
+ # LINKING tag ld tag
1068
+ # ========================================================================= #
1069
+ h2 'ld',
1070
+ 'martb3px '+COMPILE_HEADER2
1071
+ div('default'){
1072
+ h3 'Was gibts zu <b>ld</b> zu sagen?',COMPILE_HEADER3
1073
+ p_default_le {
1074
+ e 'ld ist <b>GNU Linker</b>. Die Grundeinstellung ist der Wert
1075
+ von echo $LIBPATH. Fehlt LIBPATH dann wird einfach
1076
+ /usr/lib:/lib genommen.'
1077
+ br
1078
+ e 'ld verwendet die Variable SEARCH_DIR(path)+'
1079
+ br
1080
+ e 'The SEARCH_DIR command adds path to the
1081
+ list of paths where ld looks for archive libraries.
1082
+ Using SEARCH_DIR(path) is exactly like using -L path
1083
+ on the command line (see Command Line Options).'
1084
+ br
1085
+ e 'If both are used, then the linker will search both paths.'
1086
+ br
1087
+ e 'Alle Pfade, die mit -L spezifiziert werden, werden
1088
+ zuallererst durchsucht.'
1089
+ }
1090
+ }
1091
+ # ========================================================================= #
1092
+ # statisches kompilieren
1093
+ # ========================================================================= #
1094
+ div('default') {
1095
+ h2 'Statisches Kompilieren mittels GCC'
1096
+ e 'Vorweg - <b>statische Bibliotheken</b> sind Bibliotheken,
1097
+ in denen der eigentliche Code der Subroutinen mit
1098
+ der ausführbaren Datei gebunden wird.'
1099
+ br
1100
+ e 'Der Code für Routinen wie printf() kann allerdings ziemlich lang sein.
1101
+ Weil viele Programme häufig aufgerufene Routinen aus den Libraries
1102
+ benutzen, ist es besser diesen Teil nur einmal zu verwenden.'
1103
+ br
1104
+ e 'Hier kommen die <b>Shared Libraries</b> ins Spiel.'
1105
+ }
1106
+ # ========================================================================= #
1107
+ # === crtbegin.o tag
1108
+ # ========================================================================= #
1109
+ div('default') {
1110
+ h4 'crtbegin.o'
1111
+ e 'gcc uses <b>crtbegin.o</b> to find the start of the constructors,
1112
+ so we make sure it is first.'
1113
+ br
1114
+ e 'A wildcard means that it doesnt matter which
1115
+ directory crtbegin.o is in.'
1116
+ }
1117
+ # ========================================================================= #
1118
+ # === PMK TAG
1119
+ # ========================================================================= #
1120
+ div('default bblack3') {
1121
+ h2 'Premake Kit'
1122
+ div {
1123
+ h2 'PMK tutorial'
1124
+ e 'Make nutzt ein makefile, pmk nutzt ein pmkfile. Ein pmkfile
1125
+ hat ein paar Commands die die Source Abhängigkeiten testen.
1126
+ Danach werden Template Dateien prozessiert.'
1127
+ br
1128
+ e 'Das erste Command in einem pmkfile ist <b>SETTINGS</b>, zum Beispiel'
1129
+ br
1130
+ cmd 'SETTINGS {'
1131
+ cmd2 ' TARGET = ("Makefile.in")'
1132
+ cmd '}'
1133
+ br
1134
+ e 'Das Ziel hier ist Makefile.in.'
1135
+ br
1136
+ e 'Um etwas zu definieren wird DEFINE genutzt:'
1137
+ br
1138
+ cmd 'DEFINE {'
1139
+ cmd2 ' PACKAGE = "hello"'
1140
+ cmd2 ' VERSION = "0.1"'
1141
+ cmd '}'
1142
+ br
1143
+ e 'Folgende spezielle Namen/Tags werden ersetzt:'
1144
+ br
1145
+ cmd '@PACKAGE@, @VERSION@'
1146
+ br
1147
+ e 'Angenommen wir haben eine hello.c Datei, die
1148
+ einen string header braucht. Dann baut man das ein:'
1149
+ br
1150
+ cmd 'CHECK_headER(header_string) {'
1151
+ cmd2 ' NAME = "string.h"'
1152
+ cmd '}'
1153
+ br
1154
+ e 'NAME hat hier den header drinnen, der gechecked
1155
+ werden soll.'
1156
+ br
1157
+ e 'Ist der check erfolgreich, wird dieses Label
1158
+ als true angenommen, ansonsten false.'
1159
+ br
1160
+ e 'So erstellt man ein Test Makefile.in'
1161
+ br
1162
+ cmd 'echo "PACKAGE=@PACKAGE@" > Makefile.in'
1163
+ cmd 'echo "VERSION=@VERSION@" >> Makefile.in'
1164
+ br
1165
+ e 'Nun kann man <b>pmk</b> aufrufen.'
1166
+ br
1167
+ e 'Eine Library kann man so abfragen'
1168
+ br
1169
+ cmd 'CHECK_LIB(lib_curses) {'
1170
+ cmd2 ' NAME = "curses"'
1171
+ cmd '}'
1172
+ }
1173
+ h2 'Links'
1174
+ abr 'http://pmk.sourceforge.net/pkgconfig.php',
1175
+ content: 'PreMakeKit - Alternative zu pkgconfig'
1176
+ }
1177
+ div {
1178
+ abr :local_make,
1179
+ content: 'Make'
1180
+ }
1181
+ # ========================================================================= #
1182
+ # === LDCONFIG TAG
1183
+ # ========================================================================= #
1184
+ div('default','ldconfig'){
1185
+ h2 'ldconfig'
1186
+ br
1187
+ e 'ldconfig aktualisiert alle (shared) Libraries auf einem System -
1188
+ gibt das ganze in einen Cache, so das Programme mit shared
1189
+ libraries nicht das Filesystem jedes mal durchsuchen müssen.'
1190
+ br
1191
+ e 'Es nimmt die Information von <b>/etc/ld.so.conf</b> auf.'
1192
+ br
1193
+ e 'Dabei unterscheidet man folgende verschiedene Library-Names:'
1194
+ p('s3em') {
1195
+ b 'Realname ','darkslateblue';
1196
+ e 'Libary:'
1197
+ br
1198
+ cmd ' /usr/lib/libreadline.so.3.0'
1199
+ br
1200
+ b 'Sonamed ','darkslateblue'
1201
+ br
1202
+ e 'Library:'
1203
+ br
1204
+ cmd ' /usr/lib/libreadline.so.3'
1205
+ br
1206
+ b 'Linkername ','darkslateblue'
1207
+ br
1208
+ e 'Library:'
1209
+ br
1210
+ cmd ' /usr/lib/libreadline.so'
1211
+ }
1212
+ e 'Die Datei /etc/ld.so.cache ist insofern wichtig, da sie
1213
+ die Performance des <b>ld.so</b> abr beschleunigt.'
1214
+ }
1215
+ # ========================================================================= #
1216
+ # === memory, ram, System
1217
+ # ========================================================================= #
1218
+ div('FSI pad5px BG_White','','memory'){
1219
+ h3 'Segmentation Fault',
1220
+ 'mart4px BG_Black FW5 wid96 FS1em BOLD pad8px s1_5em slateblue'
1221
+ e 'Passiert wenn ein Programm versucht Speicherwerte zu
1222
+ nutzen, die nicht freigemacht wurden. Das Programm meldet
1223
+ sich zurück mit einem <i>core dump</i>.'
1224
+ }
1225
+ # ========================================================================= #
1226
+ # === LIBICONV TAG
1227
+ # ========================================================================= #
1228
+ h3 'Was macht libiconv?',
1229
+ COMPILE_HEADER3,
1230
+ 'libiconv'
1231
+ div('BG_White Black','libiconv') {
1232
+ e 'Nachdem man GNU libiconv kompiliert hat, sollte man GNU gettext
1233
+ erneut kompilieren, damit es libiconv verwenden kann.'
1234
+ br
1235
+ e 'Libiconv in der Glibc wird so gechecked:'
1236
+ br
1237
+ cmd ' checking for iconv_open() in -lc... yes'
1238
+ br
1239
+ e 'Offensichtlich ist sie vorhanden °_°'
1240
+ }
1241
+ # ========================================================================= #
1242
+ # === GCC Troubleshooting.
1243
+ # ========================================================================= #
1244
+ p_default_le {
1245
+ e 'Mögliche Probleme mit GCC:'
1246
+ br
1247
+ e 'Man muss immer auf korrekte headers achten. Ich hatte
1248
+ einmal Probleme, da gcc die falschen headers nutzte.'
1249
+ br
1250
+ e 'Nachdem ich die falschen headers löschte, kam das Problem
1251
+ nicht mehr auf.'
1252
+ br
1253
+ e 'Cannot guess build type'
1254
+ br
1255
+ e 'In diesem Falle kann man dem configure script
1256
+ <b>--build=i686</b> übergeben.'
1257
+ }
1258
+ # ========================================================================= #
1259
+ # === libsuffix
1260
+ # ========================================================================= #
1261
+ div('default') {
1262
+ e '<b>--disable-libsuffix</b> hilft manchmal bei Problemen mit KDE
1263
+ und ähnlichem.'
1264
+ }
1265
+ # ========================================================================= #
1266
+ # === C Standard Files. Was macht zB stdio.h?
1267
+ # ========================================================================= #
1268
+ div('default'){
1269
+ h3 'Was macht stdio.h?',
1270
+ COMPILE_HEADER3
1271
+ compile_header4 'Die <b>stdio.h</b> Bibliothek kümmert sich um
1272
+ standard input und output Funktionen für C Programmierer.'
1273
+ }
1274
+ # ========================================================================= #
1275
+ # === Bootstrapping TAG bootstrap tag
1276
+ #
1277
+ # rf compile bootstrapping
1278
+ # ========================================================================= #
1279
+ div('default'){
1280
+ h1 dot(102)+'Bootstrapping','','bootstrapping'
1281
+ h3 'Bootstrapping, Toolchains und Erstellen eines LFS mit Hilfe von uLibc'
1282
+ p_default_le {
1283
+ e 'Jeder <b>Prozess</b>, der ein kompliziertes System
1284
+ aktiviert, wird <b>Bootstrapping</b> genannt.'
1285
+ }
1286
+ p('ind0px'){
1287
+ e 'Auf Englisch hört sich dies ein wenig anders an:'
1288
+ br
1289
+ e '<quote>
1290
+ "The term to bootstrap refers to a person who tries to
1291
+ stand up by pulling on his boots."
1292
+ </quote>'
1293
+ br
1294
+ e 'In operating systems the term refers to the process in
1295
+ which a part of the operating system is brought into
1296
+ the Main Memory, with the processor executing those
1297
+ instructions. At bootstrapping the internal data
1298
+ structures of the Linux Kernel are initialized, values
1299
+ are set to the constituent variable s, and processes
1300
+ are created that usually spawn other significant
1301
+ processes later.','padl1em'
1302
+ br
1303
+ e 'Computer bootstrapping is a long and complicated
1304
+ task because when the computer is switched on all the
1305
+ hardware devices are in an unpredictable state, while
1306
+ the RAM is inactive and in a random state. Thus,
1307
+ the thing to keep in mind is the process called
1308
+ bootstrapping is highly dependent on the computer
1309
+ architecture in question.'
1310
+ }
1311
+ h4 'Die <b>setup </b> Funktion','','setup'
1312
+ p_default_le {
1313
+ s2 'The setup def can be found in the file '
1314
+ e '/usr/src/ KERNEL_V /arch/i386/boot/setup.S','BO'
1315
+ br
1316
+ e 'The code of the setup assembly language
1317
+ def is placed by the linker immediately after the
1318
+ integrated boot loader of the Kernel, that is,
1319
+ at offset 0x200 of the Kernel Image file.
1320
+ This allows the boot loader to locate the code easily and
1321
+ copy it onto the RAM starting from the physical address
1322
+ x00090200.'
1323
+ br
1324
+ e 'Now the question that comes up is:
1325
+ What does this setup def do? As its name
1326
+ suggests, it is supposed to set up something.
1327
+ As we all know for the Kernel to operate properly all
1328
+ the hardware devices in the computer must be detected
1329
+ and then initialized in an orderly fashion.
1330
+ The setup def initializes all the hardware
1331
+ devices and thus creates an environment for the Kernel
1332
+ to operate in.'
1333
+ br
1334
+ e 'Normally the BIOS should do all this.
1335
+ Although the BIOS already initialized most hardware,
1336
+ the Linux Kernel does NOT rely on it and initializes
1337
+ all of the hardware in its own fashion!'
1338
+ br
1339
+ e 'But, if someone asks, well, why does Linux
1340
+ operate in such a way? The answer to this question
1341
+ is both very easy yet extremely difficult to explain.
1342
+ The Linux Kernel had been so designed to enhance
1343
+ portability and robustness. This is one of the
1344
+ many features that makes the Linux Kernel very flexible -
1345
+ and unique.'
1346
+ br
1347
+ e 'The setup code mainly performs the following tasks:'
1348
+ br
1349
+ e '1. First, total amount of physical RAM available to the
1350
+ system is detected. It invokes a BIOS procedure for detecting
1351
+ the RAM.'
1352
+ br
1353
+ e '2. Sets the Keyboard repeat delay and rate.'
1354
+ br
1355
+ e '3. The Video adapter card is detected.'
1356
+ br
1357
+ e '4. The Disk Controller is reinitialized and hard disk
1358
+ parameters are determined.'
1359
+ br
1360
+ e '5. Checks for an IBM Micro Channel bus (MCA+'
1361
+ br
1362
+ e '6. Checks for a PS/2 pointing device (bus mouse+'
1363
+ br
1364
+ e '7. Checks for Advanced Power Management (APM BIOS support.'
1365
+ br
1366
+ e '8. Checks the position of the Kernel Image loaded in RAM.
1367
+ If loaded "low" in RAM (when using zImage, at physical
1368
+ address 0x00010000 it is moved to "high" in RAM (at physical
1369
+ address 0x00001000.
1370
+ But, if the Kernel image is a "bzImage" loaded in "high"
1371
+ of RAM already, then it is not moved anywhere.'
1372
+ br
1373
+ e '9. Sets up the Interrupt Descriptor Table (IDT and
1374
+ a Global Descriptor Table (GDT+'
1375
+ br
1376
+ e '10. If a floating-point unit (FPU is present, it is now
1377
+ reset.'
1378
+ br
1379
+ e '11. The PIC (Programmable Interrupt Controller is
1380
+ reprogrammed at this step.'
1381
+ br
1382
+ e '12. The cpU is switched from "Real mode" to "Protected
1383
+ mode" by setting the PE bit in the cr0 status register.'
1384
+ br
1385
+ e '13. Jumps to the stratup_32( assembly language function. '
1386
+ }
1387
+ }
1388
+ # ====================================================================== #
1389
+ # === Bibliotheken und Linux lib tab libraries tag
1390
+ # ====================================================================== #
1391
+ div('default'){
1392
+ h2 'Bibliotheken und Linux'
1393
+ p_default_le {
1394
+ e 'Der Haupt Loader auf einem Linux System ist
1395
+ /lib/ld-linux.so.X, wobei X die VersionNummer
1396
+ kennzeichnet.'
1397
+ br
1398
+ e 'Beispiel hierzu:'
1399
+ br
1400
+ cmd ' ld-2.3.6.so'
1401
+ cmd ' stat /lib/ld-2.5.so'
1402
+ br
1403
+ e 'Dieser Loader ist sehr wichtig - er findet nämlich alle
1404
+ anderen Shared Libraries.'
1405
+ br
1406
+ e 'Und woher weiss er, welche Verzeichnisse er durchsuchen muss?'
1407
+ br
1408
+ e 'Er zieht die Datei <b>/etc/ld.so.conf</b> hierfür heran.'
1409
+ }
1410
+ # ====================================================================== #
1411
+ # shared libraries tag
1412
+ # ====================================================================== #
1413
+ p('','shared_libs') {
1414
+ e 'Was gibts zu Shared Libraries zu sagen?','BO darkblue'
1415
+ br
1416
+ e '<b>Shared Libraries</b> werden von Programmen
1417
+ geladen, sobald sie starten. Alle Programm können
1418
+ die selbe shared library nutzen.'
1419
+ e 'Shared Libraries haben bestimmte Namen:
1420
+ Sie starten mit <b>lib</b>, dann kommt der <b>eigentliche
1421
+ Name</b>, dann kommt noch <b>.so</b>, ein <b>Punkt</b>,
1422
+ und die <b>Versions Nummer</b>.'
1423
+ e 'Der echte Name ist der Name des C Files,
1424
+ der die Bibliothek beschreibt.'
1425
+ br
1426
+ e 'Jede shared library hat einen besonderen Namen, den
1427
+ sogenannten <b>soname</b>.'
1428
+ br
1429
+ e 'Der soname hat das Prefix lib, den Namen der Library
1430
+ sowie die Endung <b>.so</b>, meist noch einen Punkt
1431
+ und eine Versionsnummer.'
1432
+ br
1433
+ e 'Die Versionsnummer wird erneuert sobald eben eine neue
1434
+ Version rausgebracht wird.'
1435
+ br
1436
+ e 'Ein genereller Vorteil der Shared Libraries ist es,
1437
+ das sie nicht nur weniger RAM verbrauchen, sondern auch
1438
+ weniger Disk Space.'
1439
+ br
1440
+ e 'Warum? Der Kernel muss nur eine einzige Kopie der
1441
+ shared Libary im Speicher halten.'
1442
+ br
1443
+ e 'Zudem kann man einfacher einen Fehler beheben,
1444
+ da man nicht viele weitere Programme kompilieren muss.'
1445
+ br
1446
+ e 'Es gibt aber auch einen Nachteil, es können
1447
+ sich Funktionen ändern. Dagegen helfen Versions Nummern -
1448
+ jede shared Library hat eine Version.'
1449
+ br
1450
+ e 'Wird nun ein Programm gegen eine shared library
1451
+ gelinkt, so speichert sie auch die Versions Nummer.'
1452
+ br
1453
+ e 'Was bedeuten nun die Nummern?'
1454
+ br
1455
+ e 'Die HauptNummer zeigt an, das es wohl einige grosse Änderungen
1456
+ gab zwischen der Vorgängerversion. Es kann also zu einigen
1457
+ Problemen kommen.'
1458
+ br
1459
+ e 'Die WenigerNummer - minor zeigt lediglich Fehlerbereinigungen an.'
1460
+ br
1461
+ e 'Beispiel:'
1462
+ br
1463
+ cmd 'libFLAC.so ist ein Symlink auf libFLAC.so.7.0.0'
1464
+ br
1465
+ e 'Eine shared library wird grundsätzlich im <b>ELF binary
1466
+ format</b> gespeichert - Executable and Linkable Format.'
1467
+ br
1468
+ e 'Es gibt natürlich auch Architektur-spezifische Fakten
1469
+ die man wissen muss. So muss man auf manchen Architekturen,
1470
+ AMD64 als Beispiel zu nennen, shared libraries
1471
+ "PIC-enabled" kompilieren.'
1472
+ }
1473
+ # ======================================================================= #
1474
+ # === ELF TAG
1475
+ # ======================================================================= #
1476
+ div('default') {
1477
+ h2 'Das ELF binary format','','elf'
1478
+ p('ind0px') {
1479
+ e 'Der ELF Standard ist historisch bedingt gewachsen.'
1480
+ br
1481
+ e 'ELF ist besser und flexibler als a.out und COFF.'
1482
+ }
1483
+ }
1484
+ }
1485
+ # ========================================================================= #
1486
+ # === udp tag
1487
+ # ========================================================================= #
1488
+ div('default FSI pad5px','','udp') {
1489
+ h3 'UDP','mart2px'
1490
+ e 'Das U in UDP heisst User.'
1491
+ }
1492
+ # ========================================================================= #
1493
+ # === AUTOCONF
1494
+ # ========================================================================= #
1495
+ div('default','autoconf') {
1496
+ h2 'Was geschieht beim Erstellen von Autoconf input files, und wie
1497
+ mache ich das? Wo genau hilft mir Autoconf und wie ist sein Bezug
1498
+ zu Autoscan?',COMPILE_HEADER3
1499
+ h1 sg(:red_dot,'marr0_3em')+'Autoconfigure'
1500
+ e 'Autoscan erstellt <b>configure.scan</b>, und daraus
1501
+ dann <b>configure.in</b>'
1502
+ br
1503
+ e 'Dazu checkt Autoscan Quelldateien im Verzeichnis, und sucht nach
1504
+ allgemein bekannten plattformspezifischen Problemen oder Regeln.'
1505
+ br
1506
+ e 'Wie ist nun das Verhältnis zu Autoconf?'
1507
+ br
1508
+ e 'Das Programm Autoconf liest eben die Datei configure.in ein, und
1509
+ erzeugt daraus ein Shell-Skript namens <b>configure</b>. Genau dieses
1510
+ Shell-Skript wird dann später vom Benutzer auf seinem Rechner aufgerufen,
1511
+ um das Paket für sein System zu konfigurieren. Außerdem müssen anstelle
1512
+ normaler Makefiles sogenannte Makefile.in geschrieben werden. Diese
1513
+ ähneln Makefiles, können aber in Klammeraffen eingeschlossene
1514
+ <b>Platzhalter</b> haben, die dann beim Aufruf von configure mit für
1515
+ das System passenden Werten ersetzt werden. (=Makros)'
1516
+ br
1517
+ e 'Typischerweise sehen die dann z.Bsp so aus:'
1518
+ br
1519
+ e 'hello: hello.cc'
1520
+ br
1521
+ e ' @CXX@ -o hello hello.cc','marl2em'
1522
+ br
1523
+ l2em ANMERKUNG+'Man achte auf die @CXX@ Variable, die später
1524
+ ersetzt wird.'
1525
+ br
1526
+ s2 'Nehmen wir als konkretes Beispiel die Angabe einer header
1527
+ Datei '
1528
+ e '<b>#include '+htmlentities('<fcntl.h>')+'</b>.'
1529
+ br
1530
+ e 'Mit dem existierenden Macro <b>AC_CHECK_HEADER</b> kann
1531
+ man nun autoconf überprüfen lassen, ob es besagte header
1532
+ Datei auch gibt. Beispiel eben: AC_CHECK_HEADER(fcntl.h)'
1533
+ br
1534
+ e 'Findet Autoconf diese Datei, so wird ein Präprozessorsymbol
1535
+ namens HAVE_FCNTL_H definiert - man sieht, alles wird hier per
1536
+ Konvention gross geschrieben.'
1537
+ br
1538
+ e 'Im Quelltext sähe dies in etwa so aus:'
1539
+ br
1540
+ cmd2 htmlentities('#ifdef HAVE_FCNTL_H')
1541
+ cmd2 htmlentities('#include <fcntl.h>')
1542
+ cmd2 htmlentities('#endif')+' '
1543
+ br
1544
+ e 'Beim eigentlichen Kompilieren fügt nun autoconf dies hier dazu:'
1545
+ br
1546
+ e '<b>-DHAVE_FCNTL_H=1</b>, man sieht das dies absolut keine
1547
+ Hexerei ist. Allerdings können durch viele solcher -D Flags die
1548
+ maximal zulässige Anzahl an Zeichen auf der Kommandozeile schnell
1549
+ überschritten werden.'
1550
+ br
1551
+ e 'Dies kann man umgehen, indem man <b>AC_CONFIG_headER(config.h)</b>
1552
+ angibt. Hierdurch werden alle #defines in der Angegebene Datei
1553
+ config.h gespeichert.'
1554
+ br
1555
+ e 'Als einziges #define steht dann auf der
1556
+ Kommandozeile -DHAVE_CONFIG_H=1 dabei.'
1557
+ br
1558
+ e 'Im Quelltext sieht dies dann so aus:'
1559
+ br
1560
+ cmd htmlentities('#ifdef HAVE_CONFIG_H')
1561
+ cmd htmlentities('#include <config.h>')
1562
+ cmd htmlentities('#endif')
1563
+ cmd htmlentities('#ifdef HAVE_FCNTL_H')
1564
+ cmd htmlentities('#include <fcntl.h>')
1565
+ cmd htmlentities('#endif')
1566
+ br
1567
+ e 'Bezüglich Macros ist noch zu sagen, das configure.in
1568
+ <b>AC_INIT(file)</b> zu Beginn, und <b>AC_OUTPUT(...)</b>
1569
+ am Ende braucht.'
1570
+ br
1571
+ e 'AC_OUTPUT akzeptiert auch ein Argument, wie zum Beispiel
1572
+ bei <b>AC_OUTPUT(Makefile)</b>'
1573
+ br
1574
+ e '<blue>Autoconf</> nimmt <b>configure.in</b> und erstellt
1575
+ die Datei <b>configure</b>.
1576
+ Danach nimmt <b>configure</b> Makefile.in und config.h.in,
1577
+ und erstellt ein <b>Makefile</b> und die Datei
1578
+ <b>config.h</b> davon.'
1579
+ br
1580
+ e 'aclocal.m4 und acsite.m4 halten weitere Features bereit.
1581
+ Autoheader kann verwendet werden um config.h.in von
1582
+ acconfig.h zu erstellen.'
1583
+ br
1584
+ e 'config.h.in wird durch den Autoheader erstellt.'
1585
+ }
1586
+ # ========================================================================= #
1587
+ # GNU Configure Optionen.
1588
+ # ========================================================================= #
1589
+ div('default') {
1590
+ h2 'GNU Configure optionen:'
1591
+ br
1592
+ e 'Achtung: Die Optionen sind nicht immer vorhanden.'
1593
+ br
1594
+ cmd ' --disable-werror'
1595
+ br
1596
+ e 'This prevents the build from stopping in the event that there
1597
+ are Warnungen von dem Host Compiler.'
1598
+ }
1599
+ # ========================================================================= #
1600
+ # === Ccache
1601
+ #
1602
+ # ccache tag
1603
+ #
1604
+ # rf compile ccache
1605
+ #
1606
+ # ========================================================================= #
1607
+ div('default marb1em','ccache','border: 1px solid mediumpurple;') {
1608
+ h2 'CCACHE','mart1px'
1609
+ e 'Was ist <b>ccache</b>?'
1610
+ br
1611
+ e '<b>ccache</b> ist ein <b>compiler cache</b>. Er beschleunigt
1612
+ das erneute Kompilieren indem vorhergehende Kompilationen
1613
+ gespeichert werden.'
1614
+ br
1615
+ e 'Er unterstützt die Sprachen C, C++, Objective-C und
1616
+ Objective-C++.'
1617
+ br
1618
+ e 'Der Cache wird normalerweise in $HOME/.ccache gespeichert.
1619
+ Dies kann man jedoch über die CCACHE_DIR Environment Variable
1620
+ ändern. Den Cache können so auch mehrere Anwender
1621
+ verwenden - hier muss man aber auf die Permissions des
1622
+ Cache aufpassen (und man muss allen Anwendern vertrauen
1623
+ können).'
1624
+ br
1625
+ e 'Jeder der den Cache verwendet muss Schreibzugriff haben,
1626
+ also eine umask von 002.'
1627
+ br
1628
+ e 'Das <b>setgid bit</b> muss auch gesetzt werden damit alle
1629
+ Unterverzeichnisse auch bei der richtigen Gruppe gesetzt sind.'
1630
+ br
1631
+ e 'Um die Statistiken auf den Ausgangszustand zurückzusetzen,
1632
+ verwende:'
1633
+ br
1634
+ cmd ' ccache -z'
1635
+ br
1636
+ e 'To remove all cached files:'
1637
+ br
1638
+ cmd ' ccache -C'
1639
+ br
1640
+ e 'Run ccache together with distcc:'
1641
+ br
1642
+ cmd ' CCACHE_PREFIX=distcc'
1643
+ br
1644
+ e 'Man sollte den cache size anpassen, für beste Resultate.'
1645
+ br
1646
+ e 'Dies geschieht wie folgt:'
1647
+ br
1648
+ cmd ' ccache --max-size 32G'
1649
+ br
1650
+ abr 'http://ccache.samba.org/',
1651
+ content: 'DEF',
1652
+ css_class: 'marl2em'
1653
+ abr 'http://ccache.samba.org/manual.html',
1654
+ content: 'DEF',
1655
+ css_class: 'marl2em'
1656
+ }
1657
+ # ========================================================================= #
1658
+ # === CYGWIN TAG
1659
+ # ========================================================================= #
1660
+ div('mart1em pad1em BG_white Black','CYGWIN') {
1661
+ e 'Was ist Cygwin?','','cygwin'
1662
+ e 'Eine Linux-like Umgebung für Windows.',
1663
+ 'pad2px','',
1664
+ 'border-left: 2px ridge darkblue;
1665
+ border-top: 2px ridge darkblue'
1666
+ e 'Zum Deinstallieren nicht auf Software\Cygnus Solutions vergessen!'
1667
+ abr :microsoft,
1668
+ content: 'Hier mehr Information'
1669
+ }
1670
+ # ========================================================================= #
1671
+ # === LD_PRELOAD tag
1672
+ # ========================================================================= #
1673
+ div('mart1em pad1em default',
1674
+ 'LD_PRELOAD',
1675
+ 'RANDOM_BORDER_3PX'){
1676
+ h2 'LD_PRELOAD','ld_preload'
1677
+ p('default','preload') {
1678
+ e 'LD_PRELOAD zeigt zu deinen eigenen Shared Libraries.'
1679
+ br
1680
+ e 'Es wird der Loader angeweisen weitere Libraries in Programme zu laden.'
1681
+ br
1682
+ e 'zlib scheint die LD_PRELOAD library zu nutzen, und macht
1683
+ transparente Dekompressionen.'
1684
+ br
1685
+ e 'Function Interposing benutzt unter Linux die
1686
+ Umgebungsvariable $LD_PRELOAD.'
1687
+ br
1688
+ e 'SuperUser Access kann auf Linux Systemen manchmal durch
1689
+ eine modifizierte libc.so.5 via LD_PRELOAD erreicht werden.'
1690
+ br
1691
+ e 'Ein recht bekanntes Programm das die LD_PRELOAD
1692
+ Methode verwendet ist <b>CheckInstall</b>'
1693
+ br
1694
+ e 'Mittels einer LD_PRELOAD library kann man andere
1695
+ Commands wie dlopen() intercepten.'
1696
+ br
1697
+ e 'Modern day implementations of ld.so(8) examine the
1698
+ LD_PRELOAD environmental variable'
1699
+ br
1700
+ e 'Whitespace-separated list of additional shared libraries
1701
+ to load before all others'
1702
+ br
1703
+ anm 'Wenn eine Funktion sowohl in der LD_PRELOAD Bibliothek,
1704
+ als auch in glibc erscheint, so hat LD_PRELOAD eine höhere
1705
+ Präferenz. ("LD_PRELOAD wins")'
1706
+ e 'Die ursprüngliche Funktion kann aber noch immer mittels
1707
+ dlopen(3) bzw mit syscall(2) angesprochen werden.'
1708
+ br
1709
+ e 'By hijacking a function or system call, the behavior can
1710
+ be altered'
1711
+ br
1712
+ e 'Hier ein Beispiel wie man sie setzt:'
1713
+ br
1714
+ cmd ' export LD_PRELOAD="/usr/X11R6/lib/libX11.so.6:/usr/X11R6/lib/libXt.so.6"'
1715
+ br
1716
+ e 'Zum Anzeigen der LD_PRELOAD Variable:'
1717
+ br
1718
+ cmd ' echo $LD_PRELOAD'
1719
+ }
1720
+ div {
1721
+ h2 dot(108)+'Anhang zu LD_PRELOAD'
1722
+ br
1723
+ e htmlentities('include <stdio.h>;')
1724
+ e htmlentities('include <dlfcn.h>;')
1725
+ pre '
1726
+ int main()
1727
+ {
1728
+ void* handle;
1729
+ printf("calling close...\n");
1730
+ close 12345
1731
+ printf("close called.\n");
1732
+ printf("calling dlopen...\n");
1733
+ handle = dlopen( "somefile", 0 );
1734
+ printf("dlopen called.\n");
1735
+ return 0;
1736
+ }'
1737
+ h2 dot(108,'marr8px')+'LD_PRELOAD Library','marb1em'
1738
+ e htmlentities('include <stdio.h>;')
1739
+ e htmlentities('include <dlfcn.h>;')
1740
+ cmd '#if defined(RTLD_NEXT)'
1741
+ cmd '#define REAL_LIBC RTLD_NEXT'
1742
+ cmd '#else'
1743
+ br
1744
+ pre '
1745
+ #define REAL_LIBC ((void *) -1L)
1746
+ #endif
1747
+
1748
+ void* dlopen(const char *file, int mode)
1749
+ {
1750
+ static void* (*o_dlopen) ( const char *file, int mode )=0;
1751
+ printf( "dlopen was called\n"
1752
+ o_dlopen = (void*(*)(const char *file, int mode)) dlsym(REAL_LIBC,
1753
+ "dlopen"
1754
+ return (*o_dlopen)( file, mode
1755
+ }
1756
+
1757
+ int close int fd )
1758
+ {
1759
+ static int (*o_close) ( int fd )=0;
1760
+ printf( "close was called\n"
1761
+ o_close = (int(*)( int fd )) dlsym(REAL_LIBC, "close"
1762
+ return (*o_close)( fd
1763
+ }'
1764
+ e 'Kompilieren des obigen Beispieles sollte so gehen:'
1765
+ br
1766
+ cmd 'gcc -Wall -fPIC -shared -o preload.so preload.c -ldl'
1767
+ br
1768
+ e 'Was man hier wissen muss ist, das ld die Definitionen
1769
+ genau in der Reihe prozessiert, wie sie auch in der
1770
+ command line übergeben wurden.'
1771
+ }
1772
+ e 'Interessante Links zu LD_PRELOAD'
1773
+ p_default_le {
1774
+ selfy 'http://michael.toren.net/slides/lkm-alternatives/TABLE_OF_CONTENTS.html'
1775
+ }
1776
+ }
1777
+ # ========================================================================= #
1778
+ # Was bedeuten die Variablen?
1779
+ # ========================================================================= #
1780
+ h3 'Hier die Erklärung der Variablen und Compiler Flags',COMPILE_HEADER3,
1781
+ 'cflags'
1782
+ table2 'BO','','CFLAGS',
1783
+ 'CC','Zu verwendender C-Compiler',
1784
+ 'CXX','Zu verwendender C++-Compiler',
1785
+ 'CFLAGS','Debug- und Optimierungsoptionen für den C-Compiler.
1786
+ Mittels --cflags erhält man Info wo die include
1787
+ Dateien sind, zb <i>gtk-config --cflags </i><br/>
1788
+ CFLAGS sind C compiler flags, die zum Optimieren von Code
1789
+ verwendet werden - Bekanntes Beispiel für nicht besonders aggressive
1790
+ Optimisierung: <br/>
1791
+ export CFLAGS="-O2 -march=i686"<br/>
1792
+ Die -0 Settings sind folgende<br/>
1793
+ <b class="red">-O3</b> Höchstes Level. Maschinen spezifischer Code
1794
+ wird generiert. Auto-magically adds the -finline-functions
1795
+ and -frename-registers flags. Nachteil ist aber das
1796
+ die Programme etwas grösser werden, und damit
1797
+ länger beim Laden brauchen.<br/>
1798
+ <b class="red">-02</b> Most Makefiles have this set up as Default, performs
1799
+ all supported optimizations that do not involve a space-speed
1800
+ tradeoff. Adds the -fforce-mem flag auto-magically. <br/>
1801
+ <b class="red">-01</b> Minimal optimizations are performed. Default for the
1802
+ compiler, if nothing is given.<br/>
1803
+ <b class="red">-00</b> Do no optimize at all. <br/>
1804
+ <b class="red">-0s</b> Same as -O2 but does additional optimizations for size. ',
1805
+ 'cpPFLAGS','Include-Verzeichnisse und andere verschiedene C-Compileroptionen. ',
1806
+ 'CXXFLAGS','Debug- und Optimierungsoptionen für den C++-Compiler',
1807
+ 'DEFS','<b>-D</b> Optionen für den C-Compiler (zB -DLINUX ',
1808
+ 'LDFLAGS','Optionen für den Linker (zB -s für automatisches Stripping
1809
+ e.g. -L<lib dir> if you have libraries in a
1810
+ nonstandard directory <lib dir>, LDFLAGS=-L/System/Links/Libraries',
1811
+ 'LIBS','-l und -L Optionen für den Linker, wobei man
1812
+ den genauen Pfad für -L auch angeben kann zb
1813
+ via <b>-L/pfad/zu/lib</b>.
1814
+ --libs returniert einen abr string, beispiel
1815
+ <b>gtk-config --libs</b> '
1816
+ # ========================================================================= #
1817
+ # Hier die configure und compiler flags, zb
1818
+ # --with-gxx-include-dir=/usr/include/c++/3.3
1819
+ # ========================================================================= #
1820
+ div 'default'
1821
+ h2 'Compiler und Configure Flags Explained'
1822
+ h3 'Was ist --with-gxx-include-dir=/usr/include/c++/3.3?',COMPILE_HEADER3
1823
+ h3 'Was ist -fomit-frame-pointer?',COMPILE_HEADER3
1824
+ compile_header4 'Dieses flag - auch als "magic flag" bekannt - verbessert die
1825
+ execution time, während die Binärgrösse etwas grösser wird. Auf x86
1826
+ führt dieses CFLAG dazu, das <b>debugging</b> nit mehr funzt.
1827
+ Daher sollte man es nicht aktivieren, wenn man etwas
1828
+ debuggen möchte. Der Compiler verwendet einen Register
1829
+ (Frame Pointer, um "stack trace debugging" zu ermöglichen.
1830
+ Wird dieser Frame Pointer nun omitted (weggelassen,
1831
+ dann wird der Register geleert - das führt dazu
1832
+ das Programme schneller rennen, da sie nicht so oft
1833
+ zum RAM zugreifen müssen. Einziger potentieller Nachteil
1834
+ ist eben das man den Debuggung output verliert.'
1835
+ h3 'Was bedeutet -mcpu=pentium3?',COMPILE_HEADER3
1836
+ compile_header4 'Dieses flag optimiert den Code für Pentium3,
1837
+ jedoch läuft der code auch auf i386 Architekturen.
1838
+ Nutzt man hingegen -march=pentium3 so läuft der Code nur auf
1839
+ Pentium3 (siehe auch unten)'
1840
+ h3 'Was bedeutet -march=pentium3?',COMPILE_HEADER3
1841
+ compile_header4 'Der code läuft nur auf Pentium3.
1842
+ 386 Architekturen. Übrigens: Setzt man -march=arch so ist auch -mcpu=arch
1843
+ genutzt. (<i>"honored"</i>'
1844
+ h3 'Was bedeutet -funrollloop?',COMPILE_HEADER3
1845
+ compile_header4 'Binaries sind grösser aber eventuell auch schneller.'
1846
+ h3 'Wie schalte ich bestimmte Funktionen eines
1847
+ Paket ein oder aus?',COMPILE_HEADER3
1848
+ compile_header4 'mit --enable und --disable'
1849
+ h3 'Was gibts zu GNU make zu sagen?',COMPILE_HEADER3
1850
+ compile_header4 'Makefile.am<br/>
1851
+ Kompiliert man ein .c File mit gcc ohne die Option -o (für
1852
+ output zu nuzen, so heisst die enstehende Datei
1853
+ <b>a.out</b>. a.out ist somit die Default
1854
+ Datei'
1855
+ h3 'Wie erreiche ich es, das das configure script weniger
1856
+ output generiert?',COMPILE_HEADER3
1857
+ compile_header4 'mit der Option <b>-q</b>'
1858
+ h3 'Was ist mit der Fehlermeldung error while loading shared
1859
+ libraries: libstdc++.so.5?',COMPILE_HEADER3
1860
+ compile_header4 'compat-libstdc++-33'
1861
+ div {
1862
+ h3 'Was ist mit der Fehlermeldung /lib/cpp fails
1863
+ sanity check?',COMPILE_HEADER3
1864
+ compile_header4 'Da ist ein Fehler beim C++ Compiler.
1865
+ Wahrscheinlich weil ein C++ Compiler nicht installiert
1866
+ wurde. Oder es handelt sich um fehlende
1867
+ linux-libc-headers. Und wenn der C++ Compiler wirklich
1868
+ irgendwo installiert ist, dann hilft ein Symlink.
1869
+ ZB wenn cc1plus nicht gefunden wurde. Zb '
1870
+ p_default_le {
1871
+ e 'ln -s /usr/lib/gcc/i486-linux-gnu/4.0.3/cc1 cc1plus'
1872
+ e 'Hmm, ob cc1plus nur ein symlink zu cc1 ist?'
1873
+ br
1874
+ e 'Das ist dann ein Symlink zum Beispiel so:'
1875
+ br
1876
+ cmd ' /lib/cpp . /usr/bin/cpp'
1877
+ }
1878
+ }
1879
+ div('default') {
1880
+ e '-fPIC tells to this gcc that it should generate PIC
1881
+ output, which saves a register for the location
1882
+ of the location of the library'
1883
+ }
1884
+ # ========================================================================= #
1885
+ # uclibc TAG ucl tag.
1886
+ # rf comp uclibc
1887
+ # ========================================================================= #
1888
+ div {
1889
+ h2 dot(102)+'Uclibc','','uclibc'
1890
+ p_default_le { e 'UClibc ist eine kleine Libc Variante.' }
1891
+ abr 'http://www.uclibc.org/',
1892
+ content: 'UClibc Homepage'
1893
+ }
1894
+ # ========================================================================= #
1895
+ # DIETLIBC TAG
1896
+ # rf comp dietlibc
1897
+ # ========================================================================= #
1898
+ div('default'){
1899
+ h2 dot(102)+'Dietlibc','','dietlibc'
1900
+ p_default_le {
1901
+ e 'Viele Distributionen setzen in ihren Initial-RAM-Disks
1902
+ (Initrd und Installationsumgebungen schon länger auf
1903
+ Dietlibc, weil damit kompilierte Programme auch schneller
1904
+ starten als Programme mittels Glibc.'
1905
+ abr 'http://www.fefe.de/dietlibc/',
1906
+ content: 'Offizielle Homepage von dietlibc',
1907
+ css_class: 'marl2em slateblue'
1908
+ }
1909
+ p_default_le {
1910
+ e 'Wie kompiliere ich ein Autoconf Programm mit diet libc?'
1911
+ e 'Setze CC wie zb so:'
1912
+ br
1913
+ cmd ' CC="diet gcc -nostdinc" ./configure --disable-nls'
1914
+ br
1915
+ e 'Wie kompiliere ich "normal"?'
1916
+ br
1917
+ cmd ' CC="diet gcc -nostdinc" ./configure --disable-nls
1918
+ --disable-shared --enable-static --host=i686'
1919
+ br
1920
+ e 'Eventuell muss man noch --disable-shared und
1921
+ --enable-static hinzufügen, für Programme die
1922
+ Libtool verwenden.'
1923
+ }
1924
+ }
1925
+ div('default') {
1926
+ h4 'Wie finde ich heraus, welche glibc Version ich habe?'
1927
+ h5 ' ldd --version',GLIBC_REPLY
1928
+ h4 'Wie finde ich heraus, welche Verzeichnisse glibc durchsucht?'
1929
+ h5 ' glib-config --cflags',GLIBC_REPLY
1930
+ h5 'Dies mag manchmal Probleme bereiten, vor allem bei
1931
+ Gobolinux ähnlichen Verzeichnisstrukturen. Man sollte auf
1932
+ alle Fälle ldconfig nach der Installation durchführen,
1933
+ und die Verzeichnisse in /etc/ld.so.conf eintragen.
1934
+ Man kann übrigens auch pkg-config
1935
+ benutzen, zum command siehe den Eintrag zu
1936
+ pkg-config.',GLIBC_REPLY
1937
+ h4 'Wie finde ich heraus, welche Library-Verzeichnisse
1938
+ von glib durchsucht werden?'
1939
+ h5 ' glib-config --libs',GLIBC_REPLY
1940
+ }
1941
+ # ========================================================================= #
1942
+ # === M4 TAG. rf compile m4
1943
+ # ========================================================================= #
1944
+ div('default','m4'){
1945
+ h2 dot(102)+'M4','marb1em'
1946
+ e 'Der Standard-Ort unter Linux, unter dem M4 Daten speichert,
1947
+ ist <b>/usr/share/aclocal</b>.'
1948
+ p_default_le {
1949
+ e 'm4_pattern_allow'
1950
+ br
1951
+ cmd ' m4_pattern_allow(AM_CONFIG_headERS'
1952
+ br
1953
+ e '(Das findet man dann zb in configure.ac)'
1954
+ br
1955
+ e 'Eine Variable kann man so deklarieren:'
1956
+ br
1957
+ cmd ' m4_define([crow_dep_dbus_glib], [0.70])'
1958
+ }
1959
+ }
1960
+ # ========================================================================= #
1961
+ # === KOBJECT TAG
1962
+ # ========================================================================= #
1963
+ div('default','kobject') {
1964
+ h2 'Kobject'
1965
+ e 'A kobject is an object of <b>type struct kobject</b>. Kobjects
1966
+ have a name and a reference count.'
1967
+ br
1968
+ e 'A kobject also has a parent pointer (allowing kobjects to be
1969
+ arranged into hierarchies, a specific type, and, perhaps, a
1970
+ representation in the sysfs virtual filesystem.'
1971
+ br
1972
+ e 'Kobjects are generally not interesting on their own instead,
1973
+ they are usually embedded within some other structure which
1974
+ contains the stuff the code is really interested in.'
1975
+ }
1976
+ # ========================================================================= #
1977
+ # CHROOT TAG
1978
+ # rf compile chroot
1979
+ # ========================================================================= #
1980
+ div('default') {
1981
+ h2 'Chroot','','chroot'
1982
+ p_default_le {
1983
+ e 'Das Verwenden von Chroot mag beim Kompilieren manchmal
1984
+ Vorteile bringen, denn ...'
1985
+ br
1986
+ e sg(:pfeil5)+'Chroot erstellt eine <b>abgekapselte
1987
+ Umgebung</b>.'
1988
+ br
1989
+ e 'Eine Chroot Umgebung mag einem auch helfen,
1990
+ "host errors" zu umgehen - zb wenn eine header Datei genutzt
1991
+ wird, die auf einem anderen Computer nicht existiert.'
1992
+ }
1993
+ p_default_le {
1994
+ e 'Für mehr Info über Chroot siehe bitte folgenden Abschnitt:'
1995
+ br
1996
+ abr 'cmd#chroot',
1997
+ content: 'Chroot',
1998
+ css_class: 'BO slateblue marl2em'
1999
+ }
2000
+ }
2001
+ # ========================================================================= #
2002
+ # === cmake tag
2003
+ # ========================================================================= #
2004
+ div('default') {
2005
+ abr :local_cmake, content: 'cmake'
2006
+ }
2007
+ # ========================================================================= #
2008
+ # Compile options zu GCC erklärt.
2009
+ # rf compile compile_options
2010
+ # ========================================================================= #
2011
+ div {
2012
+ h1 'Compile Options zu GCC:','','compile_options'
2013
+ table2 'marl1em','','',
2014
+ '-fomit-fame-pointer','Diese Option macht Programme
2015
+ schneller während der Lafuzeit. Potentieller Nachteil ist das
2016
+ das Debugging nicht mehr möglich ist.
2017
+ (-O schaltet -fomit-frame-pointer recht oft automatisch ein.)',
2018
+ '-funrollloop','will give you a bigger executable that may be
2019
+ a tad faster'
2020
+ # ======================================================================= #
2021
+ # Besondere options zu GCC
2022
+ # rf compile gcc_options
2023
+ # ======================================================================= #
2024
+ div {
2025
+ h1 'Besondere Anweisungen und Optionen zu GCC:','','gcc_options'
2026
+ table2 'marl1em','','',
2027
+ '-D','Die -D Option teilt GCC mit, das er weitere #defines
2028
+ während der Compile Time verwenden sollte. Zum Beispiel ist
2029
+ -DSRC_DIR=\"/usr/local/src\" das selbe wie in der Datei
2030
+ #define SRC_DIR \"/usr/local/src\"
2031
+ Haupteinsatzzweck dieser Option ist das Hard-coding von
2032
+ Configuration Data wie File Paths etc...'
2033
+ }
2034
+ div {
2035
+ h2 'GCC spezifische Macros:'
2036
+ table2 'mars1em','','',
2037
+ 'GLIBCXX','War früher GLIBCPP'
2038
+ }
2039
+ }
2040
+ # ========================================================================= #
2041
+ # === Header Files #header
2042
+ # ========================================================================= #
2043
+ div('','header') {
2044
+ h2 'Anhang C (Header Files)'
2045
+ h3 'Header Files eines Linux Systems'
2046
+ cmd ' /usr/include/stdio.h'
2047
+ cmd ' /usr/include/sys/types.h'
2048
+ cmd ' /usr/include/sys/stat.h'
2049
+ cmd ' /usr/include/sys/signal.h'
2050
+ cmd ' /usr/include/sys/ctype.h'
2051
+ br
2052
+ e 'Mein Script rminimal_environment.rb kopiert die relevanten Dateien.'
2053
+ }
2054
+ # ========================================================================= #
2055
+ # Besondere Variablen
2056
+ # ========================================================================= #
2057
+ div('mart2em'){
2058
+ h1 'Besondere Variablen zu GCC:'
2059
+ p_default_le {
2060
+ e 'CHOST','BO'
2061
+ br
2062
+ marl1em 'zb CHOST="i686-pc-linux-gnu"'
2063
+ br
2064
+ e 'CFLAGS','BO'
2065
+ br
2066
+ marl1em 'zb CFLAGS="-O2 -march=k6 -mcpu=k6"'
2067
+ marl1em ' CFLAGS="-pipe"'
2068
+ br
2069
+ e 'The CFLAG -pipe will cause the compiler to pipe the data
2070
+ into the next function as opposed to storing temporary files
2071
+ to the Hard Drive and accessing it from there. This will help
2072
+ speed up compile times, especially with larger programs,
2073
+ however causes more RAM to be used during compilation.'
2074
+ br
2075
+ lem 'zb CFLAGS="-march=athlon-xp -O3 -pipe -fomit-frame-pointer"'
2076
+ br
2077
+ boldbr 'CXXFLAGS'
2078
+ e 'zb CXXFLAGS="---CFLAGSend"','marl1em'
2079
+ }
2080
+ }
2081
+ # ========================================================================= #
2082
+ # === Libtool
2083
+ #
2084
+ # WAS MACHT LIBTOOL? Libtool tag. lib tag. #libtool
2085
+ #
2086
+ # libtool tag
2087
+ # rf compiling libtool
2088
+ # ========================================================================= #
2089
+ div('default','Libtool') {
2090
+ h2 sg(:package)+' Was macht libtool?',COMPILE_HEADER3,'libtool'
2091
+ e 'Libtool ist ein 7584 Zeilen langes Shell-Script, das eine
2092
+ allgemeine Schnittstelle für <b>shared Libraries</b> (Bibliotheken,
2093
+ also <b>.so Objekte</b>) bereit stellt.'
2094
+ br
2095
+ cmd ' cat /usr/bin/libtool'
2096
+ br
2097
+ e 'Libtool nimmt Informationen etwas ungewöhnlich auf:'
2098
+ br
2099
+ e sg(:pfeil10)+'Der Compiler darf <b>nicht</b> bestimmen, welche
2100
+ System Bibliotheken genutzt werden sollen.','marl2em'
2101
+ br
2102
+ e 'Wie löst Libtool dies dann auf?'
2103
+ br
2104
+ e 'Es parsed den Output von:'
2105
+ br
2106
+ cmd ' gcc ARGS -v'
2107
+ br
2108
+ e 'sowie von:'
2109
+ br
2110
+ cmd ' gcc -nostdlibs ARGS -v'
2111
+ br
2112
+ e 'Danach, wenn es Zeit wird eine Bibliothek zu
2113
+ verknüpfen, verwendet <b>libtool direkt ld</b>.'
2114
+ br
2115
+ e 'Es fügt selbständig <b>crt.0</b> hinzu.'
2116
+ br
2117
+ e 'Der Gedanke dahinter ist, das Libtool <b>selbständig</b>
2118
+ alle Information erhalten kann - nichts soll vor
2119
+ Libtool versteckt sein.'
2120
+ br
2121
+ e 'Auch die Spec Datei von GCC soll sich Libtool nicht
2122
+ entziehen. Ziemlich radikal und schlau oder?'
2123
+ br
2124
+ e 'Die Idee hinter Libtool war auch genial:'
2125
+ br
2126
+ e 'Es sollte nur ein Script geben, mit dem man C Dateien
2127
+ kompilieren und (miteinander) verknüpfen kann, und somit
2128
+ Executables, static libraries und dynamic libraries erstellen kann.
2129
+ Daher auch der Name LIB-Tool, kurz für Library Tool.','marl2em'
2130
+ br
2131
+ e 'Libtool kommt auch mit libltdl, eine Bibliothek die verwendet
2132
+ wird um während der Laufzeit Extensions zu laden.'
2133
+ br
2134
+ e 'Wichtige Informationen bezieht Libtool aus den <b>.la</b>
2135
+ Dateien - diese sind normalerweise nicht einfach verschiebbar.'
2136
+ br
2137
+ e 'Linktool arbeitet in <b>6 verschiedenen Modes:</b>
2138
+ ( Compile, Link, Execute, Install, Finish, Uninstall )'
2139
+ br
2140
+ e dot(102)+'Compile Mode','marl3em'
2141
+ e dot(102)+'Link Mode','marl3em'
2142
+ e dot(102)+'Execute Mode','marl3em'
2143
+ e dot(102)+'Install Mode','marl3em'
2144
+ e dot(102)+'Finish Mode','marl3em'
2145
+ e dot(102)+'Uninstall Mode','marl3em'
2146
+ br
2147
+ e 'Der abr Mode ist hierbei sehr wichtig, denn gerade bei ihm
2148
+ kommt es des öfteren zu einem Fehler.'
2149
+ br
2150
+ e 'Soweit so gut...'
2151
+ br
2152
+ e 'Das Problem mit Libtool ist aber, das es 232KB gross ist.'
2153
+ br
2154
+ e 'Jedes mal wenn man etwas mit Autotooled Projekten erstellt,
2155
+ für JEDE C Datei in diesem Projekt, wird libtool aufgerufen.'
2156
+ br
2157
+ e 'Das führt nun dazu, das in manchen Situationen
2158
+ das Aufrufen und Verwenden von Libtool länger dauert
2159
+ als das eigentliche Kompilieren der C Dateien im Projekt.'
2160
+ br
2161
+ e 'Um LibTool kennenzulernen sollte man sich nun
2162
+ zuerst einmal in diesem Verzeichnis umsehen:'
2163
+ br
2164
+ cmd ' cd /usr/share/libtool'
2165
+ br
2166
+ e 'Will man ein reloadable Object erstellen, geht dies so:'
2167
+ br
2168
+ cmd ' ld -r -o output.o foobar.o'
2169
+ br
2170
+ e 'Hier ein Beispiel wie man relinked:'
2171
+ br
2172
+ cmd ' libtool --mode=link gcc -g -O -o libhello.la foo.o hello.o'
2173
+ br
2174
+ e 'Es kann aber auch mit Libtool zu Fehlermeldungen kommen wie zb:'
2175
+ br
2176
+ cmd 'libtool: relink: warning:
2177
+ `/usr/lib/gcc/i386-redhat-linux/3.4.6/../../..//libjpeg.la\'
2178
+ seems to be moved'
2179
+ br
2180
+ e 'Hier werden die Informationen der .la Dateien genutzt.'
2181
+ br
2182
+ e '<b>Fehlermeldungen</b> werden in <b>ltdl.h</b> über LT_ERROR
2183
+ behandelt, leider gibt es zum Teil dämliche Fehlermeldung wie
2184
+ "can not install directory" nur aufgrund eines
2185
+ nicht "konformen" Verzeichnispfad ...'
2186
+ br
2187
+ e 'Sehr wichtig ist die Variable
2188
+ <b>sys_lib_search_path_spec</b> im Libtool script,
2189
+ ich füge da gerne /System/Links/Libraries hinzu.'
2190
+ br
2191
+ e 'When you compile a program like The Gimp, it will probably abr
2192
+ with many libraries, some of which were linked against pango when
2193
+ it was still installed under /usr.'
2194
+ br
2195
+ pre '
2196
+ In this case, these libraries will have dead references in their
2197
+ own .la files. Libtool has this very nifty feature that it will
2198
+ automagically abr against dependent libraries of the libraries you
2199
+ use (which is normally automatically done by modern linkers on modern
2200
+ OSes, but since its not portable, we cant rely on this, and Libtool
2201
+ does it for you).
2202
+ So basically, when you abr against libfoo and there is a libfoo.la,
2203
+ libtool will read it to find out what are the dependencies of libfoo
2204
+ and add them recursively to the linking command. In your case, you are
2205
+ probably using libraries whose .la files are still referencing pango
2206
+ from under /usr/lib, hence the problem (that just an educated guess,
2207
+ there can be other reasons, of course).
2208
+ # grep -l pango /usr/lib{,64}/*.la
2209
+ You will see that many of them have the location of pangos la file
2210
+ stored in them.
2211
+ For example:
2212
+ # grep pango /usr/lib/libavahi-ui.la
2213
+ dependency_libs= /usr/lib/libavahi-client.la /usr/lib/libdbus-1.la
2214
+ /usr/lib/libavahi-glib.la /usr/lib/libavahi-common.la
2215
+ /usr/lib/libgtk-x11-2.0.la /usr/lib/libgdk-x11-2.0.la
2216
+ /usr/lib/libatk-1.0.la /usr/lib/libgdk_pixbuf-2.0.la
2217
+ /usr/lib/libpangocairo-1.0.la /usr/lib/libcairo.la
2218
+ /usr/lib/libpangoft2-1.0.la /usr/lib/libpango-1.0.la
2219
+ /usr/lib/libpango-1.0.la /usr/lib/libgobject-2.0.la
2220
+ /usr/lib/libgmodule-2.0.la /usr/lib/libcairo.la
2221
+ /usr/lib/libfontconfig.la /usr/lib/libfreetype.la /usr/lib/libexpat.la
2222
+ /usr/lib/libpng12.la -lz /usr/lib/libXrender.la /usr/lib/libX11.la
2223
+ /usr/lib/libxcb-xlib.la /usr/lib/libxcb.la /usr/lib/libXau.la
2224
+ /usr/lib/libXdmcp.la -lm /usr/lib/libgobject-2.0.la
2225
+ /usr/lib/libgmodule-2.0.la /usr/lib/libglib-2.0.la -ldl
2226
+ /usr/lib/libglib-2.0.la /usr/lib/libgdbm.la
2227
+ /opt/gcc/current/lib/libssp.la
2228
+ It saved all that from the last time that pango was installed
2229
+ and that software which requires pango libraries was compiled and installed.
2230
+ Now you have an understanding of what needs to be modified, right?
2231
+ All those .la files that have references to pango libraries need to
2232
+ be modified.
2233
+ The la files installed by pango are probably something like:
2234
+ /usr/lib/libpango-1.0.la
2235
+ /usr/lib/libpangocairo-1.0.la
2236
+ /usr/lib/libpangoft2-1.0.la
2237
+ /usr/lib/libpangox-1.0.la
2238
+ /usr/lib/libpangoxft-1.0.la
2239
+ Using sed -i you can edit all those files and replace
2240
+ the old locations for where the libpango libtool archive files were stored
2241
+ with the new location.
2242
+ After that you should also check for an .la file that has in it a
2243
+ direct reference
2244
+ to a pango library file and not just a .la file.
2245
+ And edit those also to reflect the new path to where pango is installed.
2246
+ Yes, it is not so easy...
2247
+ But in order to adjust the first one I might type something like
2248
+ what I have below for merely the ia32 architecture and assuming
2249
+ that /usr/lib64 is not used.
2250
+ # grep -l "/usr/lib/libpango-1.0.la" /usr/lib/*.la |
2251
+ xargs -rL64 sed -i
2252
+ "s:/usr/lib/libpango-1.0.la:/opt/pango/lib/libpango-1.0.la:g"
2253
+ Now it will assume pango is installed in /opt/pango
2254
+ However, the same must be done for:
2255
+ /usr/lib/libpangocairo-1.0.la
2256
+ /usr/lib/libpangoft2-1.0.la
2257
+ /usr/lib/libpangox-1.0.la
2258
+ /usr/lib/libpangoxft-1.0.la
2259
+ Yes editing .la files is a bit of a pain.
2260
+ Basically that is how it works.'
2261
+ br
2262
+ e 'Using grep, xargs, sed you can fix all the .la files
2263
+ with references to the old installed locations of pango.
2264
+ Or you could edit them by hand if you have a couple
2265
+ free hours.'
2266
+ br
2267
+ e 'Die aktuelle Version von libtool findet man auf'
2268
+ br
2269
+ abr 'http://www.gnu.org/software/libtool/libtool.html',
2270
+ content: 'http://www.gnu.org/software/libtool/libtool.html',
2271
+ css_class: 'BO marl2em'
2272
+ }
2273
+ # ========================================================================= #
2274
+ # === pkg-config tag, pkg tag
2275
+ # ========================================================================= #
2276
+ div('default FW4','pkg_config','') {
2277
+ h2 dot(104)+'About PKG - Config','FI','',
2278
+ 'border-top:3px solid slateblue;
2279
+ border-bottom:3px solid slateblue'
2280
+ h3 'pkg-config is a helper tool for managing library compile/link
2281
+ flags that work with automake and autoconf. It helps to compile
2282
+ software. It also replaces the ubiquitous *-config scripts you
2283
+ may have seen with a single tool. /
2284
+ Mit anderen Worten, mit Hilfe von pkg-config kann man Library
2285
+ flags in Verbindung mit automake und autoconf managen. Es nutzt
2286
+ zudem die Environment Variable <br>
2287
+ <b class="s2em">
2288
+ echo PKG_CONFIG_PATH
2289
+ </b><br>
2290
+ Default Location wo die pc Dateien normalerweise sind ist
2291
+ <b>/usr/lib/pkgconfig</b><br>
2292
+ Um weitere Dateien hinzuzufügen kann man die Pfade zu
2293
+ PKG_CONFIG_PATH angeben.','ind1em FW4'
2294
+ h2 dot(102)+'pkg-config spezifische FAQ','FI darkblue s1em','pkg'
2295
+ h4 'Herausfinden der include directories, wo der compiler nachschaut?'
2296
+ h5 'pkg-config --cflags PROGRAMM',PKG_CSS_ANSWER_CLASS
2297
+ h5 'pkg-config --cflags gtk+-2.0',PKG_CSS_ANSWER_CLASS
2298
+ h5 'pkg-config --cflags xrender',PKG_CSS_ANSWER_CLASS
2299
+ h5 'pkg-config --cflags pango',PKG_CSS_ANSWER_CLASS
2300
+ h5 'pkg-config --cflags atk',PKG_CSS_ANSWER_CLASS
2301
+ h5 'pkg-config --cflags glib-2.0',PKG_CSS_ANSWER_CLASS
2302
+ h5 'pkg-config --libs --cflags glib-2.0',PKG_CSS_ANSWER_CLASS
2303
+ br
2304
+ e 'Alle Pakete kann man so angezeigt bekommen:'
2305
+ br
2306
+ e 'pkg-config --list-all', PKG_CSS_ANSWER_CLASS
2307
+ h5 '(Beispiel Ergebnisse:
2308
+ -DXTHREADS -D_REENTRANT -DXUSE_MTSAFE_API -I/usr/include/gtk-2.0 -I/usr/lib/gtk-2.0/include
2309
+ -I/usr/X11R6/include -I/usr/include/atk-1.0 -I/usr/include/pango-1.0 -I/usr/include/freetype2
2310
+ -I/usr/include/freetype2/config -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include
2311
+ ','FI martb1px'
2312
+ h5 'pkg-config glib --cflags','BOLD '+PKG_CSS_ANSWER_CLASS
2313
+ h4 'Wie finde ich via pkg-config heraus, welche Version von libpng
2314
+ installiert ist? Oder von Wand oder von Vorbis?'
2315
+ p('PKG_CSS_ANSWER_CLASS') {
2316
+ e 'pkg-config --modversion gtksourceview-1.0'
2317
+ e 'pkg-config --modversion libpng'
2318
+ e 'pkg-config --modversion Wand'
2319
+ e 'pkg-config --modversion vorbis'
2320
+ e 'pkg-config --modversion pango'
2321
+ e 'pkg-config --modversion atk'
2322
+ e 'pkg-config --modversion glib-2.0'
2323
+ e 'pkg-config --modversion glib'
2324
+ e 'pkg-config --modversion gtk+-2.0'
2325
+ e 'pkg-config --modversion cairo'
2326
+ e 'pkg-config --modversion qt-mt'
2327
+ e 'pkg-config --modversion sdl'
2328
+ e 'pkg-config --modversion libglade'
2329
+ e 'pkg-config --modversion gstreamer-0.10'
2330
+ }
2331
+ h4 'Wie kombiniere ich das ganze?'
2332
+ h5 'pkg-config --libs --cflags glib-2.0',PKG_CSS_ANSWER_CLASS
2333
+ h4 'Wie sieht ein typisches .pc File aus?'
2334
+ pre ' <b>prefix</b>=/usr
2335
+ <b>exec_prefix</b>=/usr
2336
+ <b>libdir</b>=/usr/lib
2337
+ <b>includedir</b>=/usr/include
2338
+ <b>target</b>=x11
2339
+ <b>gtk_binary_version</b>=2.4.0
2340
+ gtk_host=i386-unknown-linux-gnu
2341
+ <b>Name</b>: GTK+
2342
+ <b>Description</b>: GIMP Tool Kit (targetend target
2343
+ <b>Version</b>: 2.8.6
2344
+ <b>Requires</b>: gdk-targetend-2.0 atk cairo
2345
+ <b>Libs</b>: -Llibdirend -lgtk-targetend-2.0
2346
+ <b>Cflags</b>: -Iincludedirend/gtk-2.0','FS1_5em'
2347
+ br
2348
+ e 'Man kann auch Compile Flags angeben, zum Beispiel:'
2349
+ br
2350
+ cmd 'Libs.private: -lpthread'
2351
+ br
2352
+ div {
2353
+ h3 'Links bezüglich pkg','marb8px'
2354
+ p('marl1em mart1px ind0') {
2355
+ abr 'http://pkgconfig.freedesktop.org/wiki/',
2356
+ content: 'pkgconfig Wiki',
2357
+ css_class: 'slateblue'
2358
+ abr 'http://pmk.sourceforge.net/pkgconfig.php',
2359
+ content: 'PreMakeKit - Alternative zu pkgconfig',
2360
+ css_class: 'slateblue'
2361
+ }
2362
+ }
2363
+ }
2364
+ # =========================================================================== #
2365
+ # === Appendix zu Compiling
2366
+ # =========================================================================== #
2367
+ div('default') {
2368
+ h1 'Appendix zu Compiling','appendix_compiling'
2369
+ table2 's1em','','',
2370
+ '<b>Macro Prototype</b>','<b>Comments</b>',
2371
+ 'AC_INIT(sourcefile',
2372
+ 'Initializes autoconf, should be the <b>first macro</b> called
2373
+ in <b>configure.in</b>. sourcefile is the name (relative to
2374
+ current directory of a source file from your code.',
2375
+ 'AC_PROG_CC ','Determines a C compiler to use, sets the CC
2376
+ variable. If this is GCC, set the GCC variable to yes, otherwise
2377
+ no. Initializes the CFLAGS variable if it has not been set
2378
+ already (to override CFLAGS, do it in configure.in
2379
+ BEFORE calling this macro',
2380
+ 'AC_PROG_CXX','Determines a C++ compiler to use, sets
2381
+ the CXX variable. If this is the GNU C++ compiler, set GXX
2382
+ to yes, otherwise no. Initializes the CXXFLAGS variable if
2383
+ it has not been set already (to override CXXFLAGS, do it
2384
+ in configure.in BEFORE calling this macro. Ist also auch
2385
+ recht wichtig, und prüft ob man einen C++ Compiler hat.',
2386
+ 'AC_LANG_C','Tests the C compiler',
2387
+ 'AC_LANG_cpLUSPLUS','Tests the C++ compiler',
2388
+ 'AC_PROG_INSTALL ','Set variable INSTALL to the path of
2389
+ a BSD-compatible install program (see install (1. If not
2390
+ found, set it to dir/install-sh -c , looking in the
2391
+ directories specified to AC_CONFIG_AUX_DIR. Also sets
2392
+ INSTALL_SCRIPT and INSTALL_PROGRAM to (INSTALL, and
2393
+ INSTALL_DATA to (INSTALL -m 644. You must provide a
2394
+ install-sh file in the current directory (unless you use
2395
+ AC_CONFIG_AUX_DIR -- the common practice is to provide a
2396
+ install-sh file else autoconf will refuse to run.',
2397
+ 'AC_PATH_X',"ry to locate the X window system's includes
2398
+ and libraries, and sets the variables x_includes and
2399
+ x_libraries to their locations.",
2400
+ 'AC_PATH_XTRA','Like the previous, but adds the required
2401
+ include flags to X_CFLAGS and required linking flags
2402
+ to X_LIBS.',
2403
+ '<b>AC_PATH_PROG</b>(a,b[,c[,d]],a=variable-name,
2404
+ b=prog-to-check,c=value-if-not-found, d=path',
2405
+ 'Looks for prog-to-check in PATH, and sets variable-name to
2406
+ the full path if found, or to value-if-not-found if not.',
2407
+ 'AC_PROG_MAKE_SET ','If make predefines the variable MAKE,
2408
+ define output variable SET_MAKE to be empty. Otherwise,
2409
+ define SET_MAKE to contain MAKE=make',
2410
+ 'AC_OUTPUT(files [,a[,b]] ','Create output files.
2411
+ Perform substitutions on files, which contains a list of
2412
+ files separated by spaces. (is writes, say, Makefile,
2413
+ from a Makefile.in file, spec from spec.in, and so on.
2414
+ The name given here is without the .in suffix. The other
2415
+ 2 parameters are seldom used, consult the autoconf docs
2416
+ if needed. If AC_CONFIG_headER, AC_LINK_FILES or
2417
+ AC_CONFIG_SUBDIRS were called, the files named as their
2418
+ arguments are created too.',
2419
+ 'AC_CONFIG_headER(files','Make AC_OUTPUT create the
2420
+ headers listed in the files list (space-separated.
2421
+ Replaces DEFS in generated files with -DHAVE_CONFIG_H.
2422
+ The usual name for the header is config.h (created from
2423
+ config.h.in. The autoheader generates config.h.in files
2424
+ automatically for you (it is documented in the next sections+',
2425
+ 'AC_CONFIG_SUBDIRs(dirs','run configure scripts in the
2426
+ subdirectories listed in dirs (space-separated. This is
2427
+ meant for when you nest child packages to your program
2428
+ (like including libraries as subdirs+',
2429
+ 'AC_CHECK_FUNC(a[,b[,c]] a=function, b=action if found,
2430
+ c=action if not found',' checks if the given C def
2431
+ is available in the standard library (i.e., the libraries
2432
+ that are linked by default to any C program+',
2433
+ 'AC_CHECK_FUNCs(a[,b[,c]] a=list of functions
2434
+ (space-separated b=action if found c=action if not found',
2435
+ 'similar to AC_CHECK_FUNC, but looks for many functions at
2436
+ once, setting HAVE_def for each def found
2437
+ (in the given set+',
2438
+ 'AC_CHECK_LIB(a,b[,c[,d[,e]]] a=library name b=def name
2439
+ c=action if found d=action if not found e=see autoconf docs ','
2440
+ Checks whether a def exists in the given library (library
2441
+ names without the leading lib, e.g., for libxml, use just
2442
+ xml here',
2443
+ 'AC_headER_STDC','Checks for stdlib.h, stdarg.h, string.h
2444
+ and float.h, defines STDC_headERS on success.',
2445
+ 'AC_CHECK_headER(header[,a[,b]] a=action if found b=action if
2446
+ not found ','Checks whether a given header file exists.',
2447
+ 'AC_MSG_ERROR(message','Notifies the user an error has
2448
+ occurred and exits configure with a non-zero status. This is
2449
+ what you should do when a required library or header is
2450
+ missing. Example Code is followed in the section after this
2451
+ table.',
2452
+ 'AC_MSG_WARNING(message','Notifies the user with the given
2453
+ message. This is what you should do when an optional library
2454
+ is missing (thus the final result will be not as good as
2455
+ it could',
2456
+ 'AC_ARG_ENABLe feature,help[,a[,b]] a=action if given b=action
2457
+ if not given ',' Checks whether the user gave --enable-feature
2458
+ in the configure command-line. The help string is shown
2459
+ in configure --help'
2460
+ div {
2461
+ h2 'Example Code for AC_*'
2462
+ cmd 'AC_CHECK_FUNC(XextFindDisplay, :,'
2463
+ cmd2 ' AC_MSG_ERROR([*** libXext not found.
2464
+ Check config.log for more details.]'
2465
+ }
2466
+ }
2467
+ # ========================================================================= #
2468
+ # Makefile Options explained.
2469
+ # ========================================================================= #
2470
+ div {
2471
+ boldbr 'MakeFile Options Explained:'
2472
+ table2 'marl2em BO','','',
2473
+ 'Variable','Description',
2474
+ '$@','This will always expand to the current target.',
2475
+ '$<','Name der ersten Prerequisite. This is the
2476
+ first item listed after the colon. (binarytree.o
2477
+ in the first rule above)',
2478
+ '$?','The names of all the prerequisites that are newer than
2479
+ the target. In the above example this will evaluate to
2480
+ binarytree.o for the first rule.',
2481
+ '$^','The names of all the prerequisites, with spaces
2482
+ between them. No duplicates',
2483
+ '$+','Like $^, but with duplicates. Items are listed in
2484
+ the order they were specified in the rule.'
2485
+ }
2486
+ div('mar0px ind0') {
2487
+ h3 'Gute Links zum Kompilieren und Installieren'
2488
+ abr 'http://eli.thegreenplace.net/2011/08/25/load-time-relocation-of-shared-libraries/',
2489
+ content: 'NAME_ONLY',
2490
+ css_class: 'marl1em'
2491
+ abr :local_c,
2492
+ content: :self,
2493
+ css_class: 'marl1em'
2494
+ abr :local_kernel,
2495
+ content: :self,
2496
+ css_class: 'marl1em'
2497
+ }
2498
+ # ========================================================================= #
2499
+ # === Distcc tag
2500
+ # ========================================================================= #
2501
+ div {
2502
+ abr 'DistCC',
2503
+ content: 'DISTCC/DISTCC.cgi'
2504
+ }
2505
+ # ========================================================================= #
2506
+ # Anhang: March Type
2507
+ # ========================================================================= #
2508
+ div {
2509
+ h2 sg(:item)+'Anhang bezüglich <span class="BO ud">March Type</span> (-march=i686)','','anhang'
2510
+ table2 'marl4em','march_type','',
2511
+ '<b>-march=i386</b>','<a href="http://de.wikipedia.org/wiki/I386">Steinalter Chip</a>, war aber
2512
+ damals ein sehr grosser Erfolg',
2513
+ '<b>-march=i486</b>','Alter Code ... Intel i486 CPU. Dieser Chip hat z.Bsp kein scheduling.',
2514
+ '<b>-march=i586</b>','äquivalent zu <b>pentium</b>, also Intel Pentium CPU ohne MMX Unterstützung',
2515
+ '<b>-march=i686</b>','äquivalent zu <b>pentiumpro</b> (Intel Pentium Pro CPU)',
2516
+ '<b>-march=k6</b>','Der AMD K6 CPU Chip mit MMX instruction set support.',
2517
+ '<b>-march=k6-2, k6-3</b>','Improved versions of AMD K6 CPU with MMX and 3dNOW! instruction set support.',
2518
+ '<b>-march=athlon</b> (und athlon-tbird)','Scheint für Athlons zu gelten, also AMD Athlon CPUs mit
2519
+ MMX 3dNOW! enhanced 3dNOW! und SSE prefetch instruction support',
2520
+ '<b>-march=pentium</b>','Pentium 1 Reihe',
2521
+ '<b>-march=pentium-mmx</b> # Pentium MMX','Intel Pentium3 CPU MMX Reihe
2522
+ mit SSE und SSE2 (MMX instruction set support). Wird bei Centrino Notebooks verwendet.',
2523
+ '<b>-march=pentium2</b>','Intel Pentium 2 CPU basierend auf PentiumPro Kern mit MMX Instruction
2524
+ set support',
2525
+ '<b>-march=pentium3</b>','Intel Pentium3 CPU, basierend auf PentiumPro Core mit MMX und SSE
2526
+ instruction set',
2527
+ '<b>-march=celron</b>','Celron',
2528
+ '<b>-march=pentium-m</b>','Pentium M (zb Laptop FSC Amilo Pro V2030)',
2529
+ '<b>-march=pentium4</b>','Pentium 4 (produziert von 20.11.2000 - 08.08.2008),
2530
+ Inkludiert auch pentium4m. Hat MMX, SSE und SSE2.',
2531
+ '<b>-march=prescott</b>','Verbessserte Version von Intel Pentium4 CPU mit
2532
+ MMX SSE SSE2 und SSE3',
2533
+ '<b>-march=athlon-mp</b>','Athlon-mp, inkludiert auch AMD Sempron
2534
+ (Palomino Reihe)',
2535
+ '<b>-march=athlon-xp</b>','Athlon 64 (AMD), dies gilt für
2536
+ Improved AMD Athlon CPU mit MMX, 3dNOW!, enhanced 3dNOW! und vollem
2537
+ SSE instruction set support.',
2538
+ '<b>-march=athlon-4</b> (sowie athlon-xp, athlon-mp)','Verbesserter AMD
2539
+ Athlon CPU mit MMX 3dNOW! enhanced 3dNOW! und voller SSE Unterstützung',
2540
+ '<b>-march=k6</b>','AMD K6 Reihe. K6-1 entspricht k6, K6-2 entspricht k6-2,
2541
+ K6-3 entspricht k6-3',
2542
+ '<b>-march=k8</b> (inkludiert auch opteron, athlon64, athlon-fx)','AMD K8 core based CPUs with x86-64 instruction
2543
+ set support. (This supersets MMX, SSE, SSE2, 3dNOW!, enhanced 3dNOW! and 64-bit instruction set extensions.)',
2544
+ '<b>-march=athlon64</b>','AMD 64? Scheint so zu sein.',
2545
+ '<b>-march=native</b>','Eine neue Variante seit GCC 4.2.0. Wird empfohlen,
2546
+ ausser man verwendet distcc.',
2547
+ '<b>-march=nocona</b>','Verbesserte Version von Intel Pentium4 CPU
2548
+ mit 64bit Erweiterung, MMX SSE SSE2 SSE3'
2549
+ br
2550
+ selfy 'http://gcc.gnu.org/onlinedocs/gcc/i386-and-x86_002d64-Options.html'
2551
+ }
2552
+ # ========================================================================= #
2553
+ # === Nützliche Links bezüglich Installieren, Kompilieren etc
2554
+ # ========================================================================= #
2555
+ div('default') {
2556
+ h2 sg(:note,'marr8px')+
2557
+ 'Nützliche Links bezüglich Installieren, Kompilieren etc',COMPILE_HEADER2
2558
+ div('marl3em'){
2559
+ abr 'http://lug-dd.schlittermann.de/vortraege/autoconf.html',
2560
+ content: DOT106+'AutoConf Link'
2561
+ abr 'http://docs.sun.com/app/docs/doc/817-1984/6mhm7pl25?a=view',
2562
+ content: DOT106+'Glibc Audit - ein wichtiger Link'
2563
+ abr 'http://xlife.zuavra.net/columns/20020316',
2564
+ content: DOT106+'Info über C und CC'
2565
+ abr 'http://www.freehackers.org/gentoo/gccflags/flag_gcc3.html',
2566
+ content: DOT106+'GCC3 Flags'
2567
+ abr 'http://www.gentoo.org/doc/en/draft/bootstrapping-guide.xml',
2568
+ content: DOT106+'Der Bootstrapping Prozess'
2569
+ abr 'http://0install.org/index.html',
2570
+ content: DOT106+'ZeroInstall sehr interessant'
2571
+ abr 'http://www.tsfr.org/~orc/Code/configure/',
2572
+ content: DOT106+'Configure, ein Ersatz für GNU Configure'
2573
+ abr 'http://gcc.gnu.org/onlinedocs/gcc/Environment-Variables.html',
2574
+ content: DOT106+'GCC Environment Variables'
2575
+ }
2576
+ }
2577
+ p('mart8px') {
2578
+ roebe_sitemap
2579
+ }
2580
+ }}