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.
- checksums.yaml +7 -0
- data/README.md +5852 -0
- data/bin/blinking_cursor +7 -0
- data/bin/browser +7 -0
- data/bin/colourized_tokenitor1 +7 -0
- data/bin/colourized_tokenitor2 +7 -0
- data/bin/colourized_tokenitor3 +7 -0
- data/bin/colourized_tokenitor4 +7 -0
- data/bin/colourized_tokenitor5 +7 -0
- data/bin/compare_these_two_directories +7 -0
- data/bin/create_file_skeleton +7 -0
- data/bin/create_my_directories +7 -0
- data/bin/create_wpa_supplicant_build_file +7 -0
- data/bin/create_zip +7 -0
- data/bin/custom_invoke +28 -0
- data/bin/delete_empty_files +7 -0
- data/bin/display_gcc_version +7 -0
- data/bin/do_a_google_search +7 -0
- data/bin/extract_gem_file +7 -0
- data/bin/fragment_maker +7 -0
- data/bin/generate_fstab_file +7 -0
- data/bin/handle_xorg_related_boot_phase +7 -0
- data/bin/hello_world +7 -0
- data/bin/in +7 -0
- data/bin/increment_application_version +7 -0
- data/bin/increment_application_version_then_push_the_gem +13 -0
- data/bin/install_all_registered_fonts +7 -0
- data/bin/install_jruby_addons +7 -0
- data/bin/install_my_addons +97 -0
- data/bin/install_my_addons.rb +97 -0
- data/bin/interactive_file_creator +7 -0
- data/bin/java_compile_statically +11 -0
- data/bin/kill_firefox +7 -0
- data/bin/kill_palemoon +7 -0
- data/bin/konsole_title +7 -0
- data/bin/larrow +7 -0
- data/bin/log10 +7 -0
- data/bin/menugenerator +7 -0
- data/bin/modify_shebang_header +7 -0
- data/bin/openpdf1 +7 -0
- data/bin/openpdf2 +7 -0
- data/bin/openpdf3 +7 -0
- data/bin/openpdf4 +7 -0
- data/bin/openpdf5 +7 -0
- data/bin/openpdf6 +7 -0
- data/bin/openpdf7 +7 -0
- data/bin/openpdf8 +7 -0
- data/bin/openpdf9 +7 -0
- data/bin/passwords +7 -0
- data/bin/path_generator +7 -0
- data/bin/print_this_unicode_symbol +7 -0
- data/bin/quick_colour_test +13 -0
- data/bin/rarrow +7 -0
- data/bin/rdate +7 -0
- data/bin/remove_this_substring_from_all_files +7 -0
- data/bin/replace_space_with_underscore +7 -0
- data/bin/rfirefox +7 -0
- data/bin/rinstall2 +7 -0
- data/bin/roebe +7 -0
- data/bin/roebe_documentation +7 -0
- data/bin/roebeshell +11 -0
- data/bin/ruby_cat +7 -0
- data/bin/ruby_dhcpcd +7 -0
- data/bin/run +7 -0
- data/bin/rxinitrc +7 -0
- data/bin/set_alias_1 +7 -0
- data/bin/set_alias_10 +7 -0
- data/bin/set_alias_11 +7 -0
- data/bin/set_alias_12 +7 -0
- data/bin/set_alias_13 +7 -0
- data/bin/set_alias_14 +7 -0
- data/bin/set_alias_15 +7 -0
- data/bin/set_alias_2 +7 -0
- data/bin/set_alias_3 +7 -0
- data/bin/set_alias_4 +7 -0
- data/bin/set_alias_5 +7 -0
- data/bin/set_alias_6 +7 -0
- data/bin/set_alias_7 +7 -0
- data/bin/set_alias_8 +7 -0
- data/bin/set_alias_9 +7 -0
- data/bin/set_browser +7 -0
- data/bin/setpdf1 +7 -0
- data/bin/setpdf2 +7 -0
- data/bin/setpdf3 +7 -0
- data/bin/setpdf4 +7 -0
- data/bin/setpdf5 +7 -0
- data/bin/setpdf6 +7 -0
- data/bin/setpdf7 +7 -0
- data/bin/setpdf8 +7 -0
- data/bin/setpdf9 +7 -0
- data/bin/show_available_users +7 -0
- data/bin/show_ten_aliases +7 -0
- data/bin/simple_extractor +9 -0
- data/bin/start_lighty +7 -0
- data/bin/symlink_directories_from_that_directory_to_the_current_directory +7 -0
- data/bin/symlink_everything_from_that_directory_to_this_directory +7 -0
- data/bin/symlink_files_from_that_directory_to_the_current_directory +7 -0
- data/bin/take_screenshot +7 -0
- data/bin/to_binary +7 -0
- data/bin/tokenitor +7 -0
- data/bin/vim_paradise +7 -0
- data/bin/wlan +7 -0
- data/bin/word_count +7 -0
- data/bin/write_what_into +7 -0
- data/bin/yaml_check +7 -0
- data/doc/README.gen +5790 -0
- data/doc/add_ons_for_ruby/README.md +3 -0
- data/doc/add_ons_for_ruby/activerecord.md +99 -0
- data/doc/add_ons_for_ruby/ansicolor.md +62 -0
- data/doc/add_ons_for_ruby/axlsx.md +60 -0
- data/doc/add_ons_for_ruby/bundler.md +20 -0
- data/doc/add_ons_for_ruby/byebug.md +14 -0
- data/doc/add_ons_for_ruby/camping.md +9 -0
- data/doc/add_ons_for_ruby/caxlsx.md +72 -0
- data/doc/add_ons_for_ruby/cgi.md +124 -0
- data/doc/add_ons_for_ruby/chunkypng.md +19 -0
- data/doc/add_ons_for_ruby/classifier.md +7 -0
- data/doc/add_ons_for_ruby/coderay.md +82 -0
- data/doc/add_ons_for_ruby/daemons.md +92 -0
- data/doc/add_ons_for_ruby/dl.md +114 -0
- data/doc/add_ons_for_ruby/erb.md +25 -0
- data/doc/add_ons_for_ruby/erubis.md +124 -0
- data/doc/add_ons_for_ruby/ferret.md +16 -0
- data/doc/add_ons_for_ruby/ffi.md +28 -0
- data/doc/add_ons_for_ruby/fox_and_fxruby.md +492 -0
- data/doc/add_ons_for_ruby/fpdf.md +389 -0
- data/doc/add_ons_for_ruby/fpm.md +46 -0
- data/doc/add_ons_for_ruby/ftp.md +70 -0
- data/doc/add_ons_for_ruby/fxruby.md +14 -0
- data/doc/add_ons_for_ruby/gist.md +30 -0
- data/doc/add_ons_for_ruby/glimmer-libui.md +43 -0
- data/doc/add_ons_for_ruby/gmail.md +22 -0
- data/doc/add_ons_for_ruby/gosu.md +12 -0
- data/doc/add_ons_for_ruby/graphviz.md +246 -0
- data/doc/add_ons_for_ruby/gruff.md +95 -0
- data/doc/add_ons_for_ruby/hexapdf.md +66 -0
- data/doc/add_ons_for_ruby/highline.md +16 -0
- data/doc/add_ons_for_ruby/iconv.md +20 -0
- data/doc/add_ons_for_ruby/id3lib.md +173 -0
- data/doc/add_ons_for_ruby/inline.md +30 -0
- data/doc/add_ons_for_ruby/inotify.md +130 -0
- data/doc/add_ons_for_ruby/instiki.md +38 -0
- data/doc/add_ons_for_ruby/jruby.md +253 -0
- data/doc/add_ons_for_ruby/json.md +64 -0
- data/doc/add_ons_for_ruby/kramdown.md +34 -0
- data/doc/add_ons_for_ruby/lexer.md +19 -0
- data/doc/add_ons_for_ruby/libarchive.md +91 -0
- data/doc/add_ons_for_ruby/libburn.md +29 -0
- data/doc/add_ons_for_ruby/mail.md +51 -0
- data/doc/add_ons_for_ruby/md5reverse.md +10 -0
- data/doc/add_ons_for_ruby/mechanize.md +195 -0
- data/doc/add_ons_for_ruby/memcache.md +22 -0
- data/doc/add_ons_for_ruby/midilib.md +35 -0
- data/doc/add_ons_for_ruby/mime.md +15 -0
- data/doc/add_ons_for_ruby/minitest.md +39 -0
- data/doc/add_ons_for_ruby/misc.md +3 -0
- data/doc/add_ons_for_ruby/mongrel.md +68 -0
- data/doc/add_ons_for_ruby/mp3info.md +121 -0
- data/doc/add_ons_for_ruby/mpd.md +16 -0
- data/doc/add_ons_for_ruby/mruby.md +13 -0
- data/doc/add_ons_for_ruby/nokogiri.md +32 -0
- data/doc/add_ons_for_ruby/opal.md +53 -0
- data/doc/add_ons_for_ruby/openid.md +10 -0
- data/doc/add_ons_for_ruby/padrino.md +4 -0
- data/doc/add_ons_for_ruby/passenger.md +4 -0
- data/doc/add_ons_for_ruby/prawn.md +269 -0
- data/doc/add_ons_for_ruby/pry.md +85 -0
- data/doc/add_ons_for_ruby/puma.md +29 -0
- data/doc/add_ons_for_ruby/qt_and_kde.md +793 -0
- data/doc/add_ons_for_ruby/rack.md +212 -0
- data/doc/add_ons_for_ruby/ragel.md +19 -0
- data/doc/add_ons_for_ruby/rails.md +97 -0
- data/doc/add_ons_for_ruby/ramaze.md +72 -0
- data/doc/add_ons_for_ruby/rbenv.md +13 -0
- data/doc/add_ons_for_ruby/redcarpet.md +6 -0
- data/doc/add_ons_for_ruby/redcloth.md +11 -0
- data/doc/add_ons_for_ruby/redmine.md +8 -0
- data/doc/add_ons_for_ruby/rmagick.md +555 -0
- data/doc/add_ons_for_ruby/roda.md +6 -0
- data/doc/add_ons_for_ruby/rspec.md +12 -0
- data/doc/add_ons_for_ruby/rtf.md +74 -0
- data/doc/add_ons_for_ruby/rubocop.md +84 -0
- data/doc/add_ons_for_ruby/ruby_users.md +23 -0
- data/doc/add_ons_for_ruby/rubygame.md +403 -0
- data/doc/add_ons_for_ruby/ruport.md +23 -0
- data/doc/add_ons_for_ruby/rvm.md +17 -0
- data/doc/add_ons_for_ruby/sdl.md +200 -0
- data/doc/add_ons_for_ruby/sequel.md +55 -0
- data/doc/add_ons_for_ruby/setup.md +92 -0
- data/doc/add_ons_for_ruby/shoes.md +7 -0
- data/doc/add_ons_for_ruby/sinatra_tutorial/sinatra_tutorial.cgi +7 -0
- data/doc/add_ons_for_ruby/sinatra_tutorial/sinatra_tutorial.rb +960 -0
- data/doc/add_ons_for_ruby/sinatra_tutorial/sinatra_tutorial.sinatra +56 -0
- data/doc/add_ons_for_ruby/slop.md +27 -0
- data/doc/add_ons_for_ruby/spreadsheet.md +153 -0
- data/doc/add_ons_for_ruby/sqlite.md +115 -0
- data/doc/add_ons_for_ruby/systemu.md +21 -0
- data/doc/add_ons_for_ruby/thor.md +16 -0
- data/doc/add_ons_for_ruby/tk.md +468 -0
- data/doc/add_ons_for_ruby/tty.md +9 -0
- data/doc/add_ons_for_ruby/tty_box.md +28 -0
- data/doc/add_ons_for_ruby/tty_prompt.md +25 -0
- data/doc/add_ons_for_ruby/vorbistagger.md +33 -0
- data/doc/add_ons_for_ruby/watir.md +30 -0
- data/doc/add_ons_for_ruby/webrick.md +399 -0
- data/doc/add_ons_for_ruby/whois.md +52 -0
- data/doc/add_ons_for_ruby/windows.md +346 -0
- data/doc/add_ons_for_ruby/writeexcel.md +67 -0
- data/doc/add_ons_for_ruby/wxwidgets.md +3 -0
- data/doc/add_ons_for_ruby/xml.md +198 -0
- data/doc/add_ons_for_ruby/xosd.md +21 -0
- data/doc/add_ons_for_ruby/yard.md +39 -0
- data/doc/add_ons_for_ruby/zip.md +67 -0
- data/doc/core/abbrev.md +31 -0
- data/doc/core/argf.md +26 -0
- data/doc/core/argv.md +102 -0
- data/doc/core/array.md +1142 -0
- data/doc/core/base64.md +7 -0
- data/doc/core/basic_object.md +24 -0
- data/doc/core/benchmarks_and_profiling.md +87 -0
- data/doc/core/bigdecimal.md +13 -0
- data/doc/core/binding.md +33 -0
- data/doc/core/blocks.md +45 -0
- data/doc/core/class.md +43 -0
- data/doc/core/closure.md +207 -0
- data/doc/core/commandline.md +9 -0
- data/doc/core/comparable.md +9 -0
- data/doc/core/compiling_ruby_c_code.md +1969 -0
- data/doc/core/conditional_requires.md +13 -0
- data/doc/core/constants.md +87 -0
- data/doc/core/csv.md +55 -0
- data/doc/core/dir.md +102 -0
- data/doc/core/drb.md +121 -0
- data/doc/core/encoding.md +158 -0
- data/doc/core/enumerable.md +160 -0
- data/doc/core/enumerator.md +38 -0
- data/doc/core/env.md +12 -0
- data/doc/core/errno.md +24 -0
- data/doc/core/error_codes_in_ruby.md +19 -0
- data/doc/core/etc.md +95 -0
- data/doc/core/eval.md +20 -0
- data/doc/core/exceptions_and_errors.md +247 -0
- data/doc/core/fiber.md +23 -0
- data/doc/core/fiddle.md +20 -0
- data/doc/core/file.md +388 -0
- data/doc/core/fileutils.md +74 -0
- data/doc/core/float.md +33 -0
- data/doc/core/garbage_collection_in_ruby.md +75 -0
- data/doc/core/gem_and_gemspec.md +447 -0
- data/doc/core/getoptlang.md +19 -0
- data/doc/core/handling_networks.md +63 -0
- data/doc/core/hash.md +485 -0
- data/doc/core/hooks.md +47 -0
- data/doc/core/imap.md +7 -0
- data/doc/core/integer.md +106 -0
- data/doc/core/io.md +126 -0
- data/doc/core/io_console.md +31 -0
- data/doc/core/irb.md +180 -0
- data/doc/core/iterators.md +194 -0
- data/doc/core/kernel.md +227 -0
- data/doc/core/keyword_arguments.md +10 -0
- data/doc/core/loops.md +24 -0
- data/doc/core/marshal.md +123 -0
- data/doc/core/math.md +452 -0
- data/doc/core/matrix.md +16 -0
- data/doc/core/mechanize.md +3 -0
- data/doc/core/methods.md +221 -0
- data/doc/core/misc.md +1779 -0
- data/doc/core/mkmf.md +164 -0
- data/doc/core/module.md +76 -0
- data/doc/core/mutex.md +63 -0
- data/doc/core/nil.md +14 -0
- data/doc/core/object.md +238 -0
- data/doc/core/objectspace.md +28 -0
- data/doc/core/open3.md +24 -0
- data/doc/core/open_uri.md +29 -0
- data/doc/core/openssl.md +45 -0
- data/doc/core/openstruct.md +67 -0
- data/doc/core/optparser.md +234 -0
- data/doc/core/pathname.md +49 -0
- data/doc/core/performance_considerations_in_ruby.md +31 -0
- data/doc/core/pp.md +39 -0
- data/doc/core/precedence.md +27 -0
- data/doc/core/prime.md +13 -0
- data/doc/core/proc.md +131 -0
- data/doc/core/process.md +303 -0
- data/doc/core/pstore.md +23 -0
- data/doc/core/psych.md +7 -0
- data/doc/core/pty.md +11 -0
- data/doc/core/ractor.md +12 -0
- data/doc/core/rake.md +130 -0
- data/doc/core/random.md +17 -0
- data/doc/core/range.md +25 -0
- data/doc/core/rational.md +7 -0
- data/doc/core/rbconfig.md +39 -0
- data/doc/core/rdoc.md +67 -0
- data/doc/core/readline.md +306 -0
- data/doc/core/refinements.md +23 -0
- data/doc/core/regex.md +663 -0
- data/doc/core/reline.md +76 -0
- data/doc/core/ripper.md +57 -0
- data/doc/core/ruby_and_c.md +8 -0
- data/doc/core/rubyvm.md +28 -0
- data/doc/core/set.md +26 -0
- data/doc/core/shellwords.md +34 -0
- data/doc/core/signals.md +32 -0
- data/doc/core/singleton.md +47 -0
- data/doc/core/sockets.md +137 -0
- data/doc/core/splat.md +10 -0
- data/doc/core/stderr.md +3 -0
- data/doc/core/stdin.md +27 -0
- data/doc/core/stdout.md +14 -0
- data/doc/core/string.md +854 -0
- data/doc/core/stringio.md +54 -0
- data/doc/core/stringscanner.md +43 -0
- data/doc/core/struct.md +52 -0
- data/doc/core/subclassing.md +41 -0
- data/doc/core/symbols.md +47 -0
- data/doc/core/system.md +3 -0
- data/doc/core/tcpsocket.md +14 -0
- data/doc/core/telnet.md +35 -0
- data/doc/core/tempfile.md +34 -0
- data/doc/core/threads.md +127 -0
- data/doc/core/time.md +335 -0
- data/doc/core/tracepoint.md +7 -0
- data/doc/core/unicode.md +5 -0
- data/doc/core/unittest.md +8 -0
- data/doc/core/unprintable_characters.md +17 -0
- data/doc/core/uri.md +14 -0
- data/doc/core/xml.md +13 -0
- data/doc/core/yaml.md +376 -0
- data/doc/core/zlib.md +111 -0
- data/doc/deprecations/deprecations.md +60 -0
- data/doc/documentation_viewer.cgi +87 -0
- data/doc/linux_may_have_issues/linux_may_have_issues.md +92 -0
- data/doc/misc/how_to_publish.md +49 -0
- data/doc/misc/links.md +19 -0
- data/doc/misc/the_initialize_method.md +2 -0
- data/doc/misc/the_perfect_book.md +14 -0
- data/doc/roebeshell/CONFIGURATION_FOR_THE_ROEBE_SHELL.md +381 -0
- data/doc/roebeshell/MANIFESTO_FOR_THE_ROEBE_SHELL_COMPONENT.md +391 -0
- data/doc/roebeshell/PHILOSOPHY_OF_THE_ROEBE_SHELL.md +64 -0
- data/doc/ruby_on_rails_tutorial/data_types_for_rails_migrations.md +11 -0
- data/doc/ruby_on_rails_tutorial/ruby_on_rails_tutorial.cgi +404 -0
- data/doc/statistics/statistics.md +94 -0
- data/doc/the_ruby_philosophy/the_ruby_philosophy.md +209 -0
- data/doc/todo/todo_for_the_roebe_project_on_windows.md +4 -0
- data/doc/todo/todo_for_the_roebe_shell.md +741 -0
- data/examples/README.md +4 -0
- data/examples/date_and_time/is_this_day_part_of_that_range.rb +45 -0
- data/examples/gui/fxruby/hello_world.rb +11 -0
- data/examples/gui/fxruby/text_editor.rb +51 -0
- data/examples/misc/argv_encoding_test.rb +38 -0
- data/examples/misc/arrays/center_two_arrays.rb +24 -0
- data/examples/misc/forking_example/forking_example.rb +28 -0
- data/examples/misc/loops/display_coloured_vertical_bars.rb +10 -0
- data/examples/rack/README.md +2 -0
- data/examples/rack/all_in_one_rack_example.rb +241 -0
- data/examples/rack/hello_world_in_rack.rb +44 -0
- data/examples/recursion/README.md +2 -0
- data/examples/recursion/quadratic_sum_of_a_number.rb +23 -0
- data/examples/recursion/reverse_the_string.rb +31 -0
- data/examples/recursion/shift_highest_value.rb +30 -0
- data/examples/recursion/shuffle_sort_string.rb +35 -0
- data/examples/reline/multiline_editing.rb +21 -0
- data/examples/reline/simple_example.rb +39 -0
- data/examples/rmagick/001_axes.rb +68 -0
- data/examples/rmagick/002_basic_2D_canvas.rb +29 -0
- data/examples/rmagick/003_a_walking_duck.rb +42 -0
- data/examples/rmagick/004_black_rectangle_with_red_border.rb +37 -0
- data/examples/rmagick/A_WALKING_DUCK.gif +0 -0
- data/examples/rmagick/foobar.png +0 -0
- data/examples/tty_box/all_in_one.rb +33 -0
- data/lib/roebe/autoinclude.rb +4 -0
- data/lib/roebe/autoinclude_encoding.rb +11 -0
- data/lib/roebe/autoinclude_open.rb +3 -0
- data/lib/roebe/base/base.rb +29 -0
- data/lib/roebe/base/chdir.rb +48 -0
- data/lib/roebe/base/colours.rb +671 -0
- data/lib/roebe/base/commandline_arguments.rb +109 -0
- data/lib/roebe/base/constants.rb +25 -0
- data/lib/roebe/base/copy.rb +72 -0
- data/lib/roebe/base/editor.rb +18 -0
- data/lib/roebe/base/encoding.rb +54 -0
- data/lib/roebe/base/env.rb +22 -0
- data/lib/roebe/base/esystem.rb +141 -0
- data/lib/roebe/base/home_directory_of_user_x.rb +27 -0
- data/lib/roebe/base/is_on_roebe.rb +22 -0
- data/lib/roebe/base/misc.rb +502 -0
- data/lib/roebe/base/next.rb +29 -0
- data/lib/roebe/base/opnn.rb +63 -0
- data/lib/roebe/base/prototype.rb +523 -0
- data/lib/roebe/base/reset.rb +53 -0
- data/lib/roebe/base/run.rb +17 -0
- data/lib/roebe/base/simp.rb +25 -0
- data/lib/roebe/base/support_for_beautiful_url.rb +35 -0
- data/lib/roebe/base/symlink.rb +52 -0
- data/lib/roebe/base/time.rb +175 -0
- data/lib/roebe/base/verbose_truth.rb +22 -0
- data/lib/roebe/base/write_what_into.rb +33 -0
- data/lib/roebe/browser/README.md +5 -0
- data/lib/roebe/browser/browser.rb +26 -0
- data/lib/roebe/browser/constants.rb +43 -0
- data/lib/roebe/browser/firefox.rb +47 -0
- data/lib/roebe/browser/menu.rb +103 -0
- data/lib/roebe/browser/misc.rb +367 -0
- data/lib/roebe/browser/output_url_then_open_in_browser.rb +175 -0
- data/lib/roebe/browser/palemoon.rb +59 -0
- data/lib/roebe/browser/reset.rb +47 -0
- data/lib/roebe/cat/class.rb +226 -0
- data/lib/roebe/cat/method.rb +14 -0
- data/lib/roebe/classes/add_irc_quote.rb +132 -0
- data/lib/roebe/classes/add_newline_after.rb +124 -0
- data/lib/roebe/classes/add_newline_after_n_characters.rb +65 -0
- data/lib/roebe/classes/add_this_user_to_the_sudoers_file.rb +67 -0
- data/lib/roebe/classes/add_two_binary_numbers.rb +58 -0
- data/lib/roebe/classes/add_user_lighty.rb +107 -0
- data/lib/roebe/classes/aggregate_all_files_together_from_this_directory.rb +86 -0
- data/lib/roebe/classes/aliases.rb +683 -0
- data/lib/roebe/classes/all_games.rb +61 -0
- data/lib/roebe/classes/all_my_gems.rb +100 -0
- data/lib/roebe/classes/alltagsgeschichte.rb +106 -0
- data/lib/roebe/classes/alphabetical_sorter.rb +213 -0
- data/lib/roebe/classes/apache_configuration_maker.rb +234 -0
- data/lib/roebe/classes/append_this.rb +158 -0
- data/lib/roebe/classes/append_to_line.rb +141 -0
- data/lib/roebe/classes/ascii/README.md +2 -0
- data/lib/roebe/classes/ascii/fix_missing_numbers_for_ascii_paradise.rb +96 -0
- data/lib/roebe/classes/at.rb +343 -0
- data/lib/roebe/classes/audio_information/audio_information.rb +116 -0
- data/lib/roebe/classes/auto_rename_file_based_on_time_today.rb +76 -0
- data/lib/roebe/classes/autodater.rb +112 -0
- data/lib/roebe/classes/automounter.rb +181 -0
- data/lib/roebe/classes/available_classes.rb +219 -0
- data/lib/roebe/classes/backup_core_system.rb +223 -0
- data/lib/roebe/classes/basic_configure.rb +110 -0
- data/lib/roebe/classes/batch_generate_all_my_gems.rb +132 -0
- data/lib/roebe/classes/become_another_user.rb +86 -0
- data/lib/roebe/classes/bezirk.rb +91 -0
- data/lib/roebe/classes/birthday_notifications.rb +291 -0
- data/lib/roebe/classes/books/books.rb +781 -0
- data/lib/roebe/classes/books/finished_books/finished_books.rb +136 -0
- data/lib/roebe/classes/books/menu.rb +258 -0
- data/lib/roebe/classes/books/sanitize_this_book_path/sanitize_this_book_path.rb +117 -0
- data/lib/roebe/classes/burn_iso/burn_iso.rb +262 -0
- data/lib/roebe/classes/burn_iso/constants.rb +43 -0
- data/lib/roebe/classes/burn_iso/initialize.rb +33 -0
- data/lib/roebe/classes/caesar_cipher.rb +88 -0
- data/lib/roebe/classes/calendar.rb +369 -0
- data/lib/roebe/classes/calendar_maker.rb +61 -0
- data/lib/roebe/classes/celsius_to_fahrenheit.rb +195 -0
- data/lib/roebe/classes/check_for_bad_blocks.rb +67 -0
- data/lib/roebe/classes/check_yaml.rb +71 -0
- data/lib/roebe/classes/chmod_current_time.rb +71 -0
- data/lib/roebe/classes/clipboard.rb +221 -0
- data/lib/roebe/classes/clock.rb +118 -0
- data/lib/roebe/classes/colourize_numbers.rb +70 -0
- data/lib/roebe/classes/compare_these_two_directories.rb +101 -0
- data/lib/roebe/classes/compare_these_two_files.rb +167 -0
- data/lib/roebe/classes/compile_kernel.rb +114 -0
- data/lib/roebe/classes/config_generator.rb +204 -0
- data/lib/roebe/classes/conky.rb +114 -0
- data/lib/roebe/classes/conky_rcfile_generator.rb +61 -0
- data/lib/roebe/classes/convert_encoding_of_this_file.rb +216 -0
- data/lib/roebe/classes/convert_file_into_utf_encoding.rb +89 -0
- data/lib/roebe/classes/convert_this_cgi_file_into_a_sinatrafied_application.rb +145 -0
- data/lib/roebe/classes/copy_from_glibc.rb +134 -0
- data/lib/roebe/classes/copy_here.rb +76 -0
- data/lib/roebe/classes/copy_kernel_config.rb +59 -0
- data/lib/roebe/classes/copy_these_directories_to.rb +121 -0
- data/lib/roebe/classes/correct_gibberish.rb +89 -0
- data/lib/roebe/classes/covid_lethality.rb +243 -0
- data/lib/roebe/classes/create_asoundrc_file.rb +66 -0
- data/lib/roebe/classes/create_benchmark_file.rb +77 -0
- data/lib/roebe/classes/create_desktop_file.rb +236 -0
- data/lib/roebe/classes/create_docbook_sgml_dtd_catalog.rb +113 -0
- data/lib/roebe/classes/create_file_skeleton/constants.rb +70 -0
- data/lib/roebe/classes/create_file_skeleton/create_file_skeleton.rb +470 -0
- data/lib/roebe/classes/create_file_skeleton/generate_c_string.rb +31 -0
- data/lib/roebe/classes/create_file_skeleton/generate_cpp_string.rb +33 -0
- data/lib/roebe/classes/create_file_skeleton/generate_ruby_string.rb +124 -0
- data/lib/roebe/classes/create_file_skeleton/reset.rb +56 -0
- data/lib/roebe/classes/create_file_skeleton/run.rb +23 -0
- data/lib/roebe/classes/create_firefox_extension.rb +178 -0
- data/lib/roebe/classes/create_iso.rb +203 -0
- data/lib/roebe/classes/create_iso_for_games.rb +307 -0
- data/lib/roebe/classes/create_jar_archive.rb +58 -0
- data/lib/roebe/classes/create_local_images_yaml_file.rb +83 -0
- data/lib/roebe/classes/create_my_directories.rb +208 -0
- data/lib/roebe/classes/create_ruby_directory_layout.rb +117 -0
- data/lib/roebe/classes/create_zip.rb +118 -0
- data/lib/roebe/classes/css_analyzer.rb +125 -0
- data/lib/roebe/classes/current_monitor_resolution.rb +107 -0
- data/lib/roebe/classes/custom_table/custom_table.rb +198 -0
- data/lib/roebe/classes/cut_after_colon.rb +79 -0
- data/lib/roebe/classes/cute_emoji.rb +142 -0
- data/lib/roebe/classes/daemonize.rb +131 -0
- data/lib/roebe/classes/date_sort.rb +149 -0
- data/lib/roebe/classes/day_calendar.rb +153 -0
- data/lib/roebe/classes/dbus.rb +127 -0
- data/lib/roebe/classes/delete_all_directories.rb +100 -0
- data/lib/roebe/classes/delete_empty_directories.rb +96 -0
- data/lib/roebe/classes/delete_empty_files.rb +158 -0
- data/lib/roebe/classes/dhcpcd/README.md +3 -0
- data/lib/roebe/classes/dhcpcd/dhcpcd.rb +232 -0
- data/lib/roebe/classes/dhcpcd/kill_dhcpcd.rb +75 -0
- data/lib/roebe/classes/differences_between_two_directories.rb +140 -0
- data/lib/roebe/classes/disable.rb +172 -0
- data/lib/roebe/classes/display_gcc_version.rb +135 -0
- data/lib/roebe/classes/do_a_google_search.rb +67 -0
- data/lib/roebe/classes/do_install.rb +337 -0
- data/lib/roebe/classes/done.rb +158 -0
- data/lib/roebe/classes/done_and_open.rb +185 -0
- data/lib/roebe/classes/doskey_generator.rb +229 -0
- data/lib/roebe/classes/downcase_directories.rb +83 -0
- data/lib/roebe/classes/downcase_extension.rb +131 -0
- data/lib/roebe/classes/download_from_this_url.rb +266 -0
- data/lib/roebe/classes/duplicate_files.rb +115 -0
- data/lib/roebe/classes/email.rb +881 -0
- data/lib/roebe/classes/empty.rb +81 -0
- data/lib/roebe/classes/enable.rb +60 -0
- data/lib/roebe/classes/enable_autologin.rb +371 -0
- data/lib/roebe/classes/english_to_german.rb +128 -0
- data/lib/roebe/classes/ethernet.rb +171 -0
- data/lib/roebe/classes/euclidian_distance.rb +148 -0
- data/lib/roebe/classes/extract_documentation.rb +191 -0
- data/lib/roebe/classes/extract_gem_file.rb +208 -0
- data/lib/roebe/classes/feet_to_centimetres.rb +106 -0
- data/lib/roebe/classes/fetch_url.rb +77 -0
- data/lib/roebe/classes/file_filter.rb +143 -0
- data/lib/roebe/classes/file_filters/jpg.rb +61 -0
- data/lib/roebe/classes/file_parser.rb +126 -0
- data/lib/roebe/classes/file_renamer.rb +229 -0
- data/lib/roebe/classes/files_that_could_become_apps.rb +91 -0
- data/lib/roebe/classes/filter_apache_log.rb +90 -0
- data/lib/roebe/classes/find_all_files_encoded_in_iso.rb +95 -0
- data/lib/roebe/classes/find_all_files_with_a_question_mark.rb +148 -0
- data/lib/roebe/classes/find_duplicate_entries_in_alias_file.rb +191 -0
- data/lib/roebe/classes/find_empty_files.rb +85 -0
- data/lib/roebe/classes/find_expanded_alias.rb +262 -0
- data/lib/roebe/classes/find_out_version_of.rb +186 -0
- data/lib/roebe/classes/find_static_libraries.rb +213 -0
- data/lib/roebe/classes/fix_mcookie.rb +76 -0
- data/lib/roebe/classes/fix_timezone.rb +95 -0
- data/lib/roebe/classes/fluxbox/README.md +3 -0
- data/lib/roebe/classes/fluxbox/autogenerate_fluxbox_files.rb +20 -0
- data/lib/roebe/classes/fluxbox/generate_fluxbox_apps_file.rb +155 -0
- data/lib/roebe/classes/fluxbox/generate_fluxbox_keys_file.rb +110 -0
- data/lib/roebe/classes/fluxbox/install_fluxbox_style.rb +85 -0
- data/lib/roebe/classes/font_installer.rb +139 -0
- data/lib/roebe/classes/foto_searcher.rb +351 -0
- data/lib/roebe/classes/fotos_f/303/274r_ingrid.rb +53 -0
- data/lib/roebe/classes/fragment_maker.rb +141 -0
- data/lib/roebe/classes/general_overviewer.rb +258 -0
- data/lib/roebe/classes/generate_alsa_conf.rb +133 -0
- data/lib/roebe/classes/generate_etc_resolv_conf_file.rb +106 -0
- data/lib/roebe/classes/generate_fstab_file/generate_fstab_file.rb +255 -0
- data/lib/roebe/classes/generate_gemspec/constants.rb +58 -0
- data/lib/roebe/classes/generate_gemspec/generate_gemspec.rb +195 -0
- data/lib/roebe/classes/generate_grub_config.rb +186 -0
- data/lib/roebe/classes/generate_locales.rb +92 -0
- data/lib/roebe/classes/generate_ls_colors.rb +87 -0
- data/lib/roebe/classes/generate_master_shell_script.rb +254 -0
- data/lib/roebe/classes/generate_nsswitch_conf.rb +95 -0
- data/lib/roebe/classes/generate_overview_of_the_locally_available_books.rb +267 -0
- data/lib/roebe/classes/generate_protocols.rb +253 -0
- data/lib/roebe/classes/generate_rewrite_rules.rb +266 -0
- data/lib/roebe/classes/generate_robots_txt_file.rb +97 -0
- data/lib/roebe/classes/generate_rtf_file.rb +123 -0
- data/lib/roebe/classes/generate_system_values.rb +164 -0
- data/lib/roebe/classes/generate_unit_files/README.md +9 -0
- data/lib/roebe/classes/generate_unit_files/generate_unit_files.rb +192 -0
- data/lib/roebe/classes/generate_xauthority_file.rb +119 -0
- data/lib/roebe/classes/generate_xorg_conf/constants.rb +145 -0
- data/lib/roebe/classes/generate_xorg_conf/generate_xorg_conf.rb +767 -0
- data/lib/roebe/classes/get_dependencies.rb +175 -0
- data/lib/roebe/classes/github.rb +60 -0
- data/lib/roebe/classes/good_night.rb +72 -0
- data/lib/roebe/classes/google_url_cleaner.rb +147 -0
- data/lib/roebe/classes/grant_superuser_rights.rb +146 -0
- data/lib/roebe/classes/grub/grub_config_generator.rb +176 -0
- data/lib/roebe/classes/grub_appender.rb +246 -0
- data/lib/roebe/classes/gzip_this_file.rb +86 -0
- data/lib/roebe/classes/handle_lighttpd.rb +210 -0
- data/lib/roebe/classes/hello_world.rb +60 -0
- data/lib/roebe/classes/hex_to_rgb.rb +89 -0
- data/lib/roebe/classes/holiday.rb +99 -0
- data/lib/roebe/classes/hosts_appender.rb +171 -0
- data/lib/roebe/classes/html_form_fetcher.rb +101 -0
- data/lib/roebe/classes/icewm/README.md +3 -0
- data/lib/roebe/classes/icewm/icewm_keys_generator.rb +162 -0
- data/lib/roebe/classes/identical.rb +174 -0
- data/lib/roebe/classes/imdb.rb +86 -0
- data/lib/roebe/classes/in.rb +156 -0
- data/lib/roebe/classes/increment_application_version.rb +306 -0
- data/lib/roebe/classes/inhalt.rb +166 -0
- data/lib/roebe/classes/inputrc/constants.rb +37 -0
- data/lib/roebe/classes/inputrc/inputrc.rb +567 -0
- data/lib/roebe/classes/inputrc/misc.rb +11 -0
- data/lib/roebe/classes/install_debian_file.rb +165 -0
- data/lib/roebe/classes/install_flash/install_flash.rb +179 -0
- data/lib/roebe/classes/install_libreoffice/constants.rb +43 -0
- data/lib/roebe/classes/install_libreoffice/install_libreoffice.rb +277 -0
- data/lib/roebe/classes/install_my_gems.rb +100 -0
- data/lib/roebe/classes/install_openssl_certificates.rb +238 -0
- data/lib/roebe/classes/install_ruby_project.rb +180 -0
- data/lib/roebe/classes/install_wrapper.rb +134 -0
- data/lib/roebe/classes/interactive_file_creator.rb +229 -0
- data/lib/roebe/classes/into.rb +102 -0
- data/lib/roebe/classes/ipaste.rb +88 -0
- data/lib/roebe/classes/iso_to_usb.rb +240 -0
- data/lib/roebe/classes/java_header.rb +112 -0
- data/lib/roebe/classes/java_runner.rb +85 -0
- data/lib/roebe/classes/kde/install_this_konsole_theme.rb +87 -0
- data/lib/roebe/classes/kde/kde_konsole/constants.rb +54 -0
- data/lib/roebe/classes/kde/kde_konsole/help.rb +33 -0
- data/lib/roebe/classes/kde/kde_konsole/initialize.rb +40 -0
- data/lib/roebe/classes/kde/kde_konsole/kde_konsole.rb +37 -0
- data/lib/roebe/classes/kde/kde_konsole/menu.rb +200 -0
- data/lib/roebe/classes/kde/kde_konsole/misc.rb +333 -0
- data/lib/roebe/classes/kde/kde_konsole/reset.rb +42 -0
- data/lib/roebe/classes/kde/kde_konsole/run.rb +22 -0
- data/lib/roebe/classes/kde/kde_konsole_send_command.rb +95 -0
- data/lib/roebe/classes/kde/kde_servicemenus.rb +83 -0
- data/lib/roebe/classes/kde/konsole_new_tab.rb +124 -0
- data/lib/roebe/classes/kde/restore_kde.rb +103 -0
- data/lib/roebe/classes/kde/return_pid_of_kde_konsole.rb +30 -0
- data/lib/roebe/classes/kde/split_kde_konsole_tab_vertically.rb +28 -0
- data/lib/roebe/classes/key_value_parser.rb +145 -0
- data/lib/roebe/classes/keys_generator/constants.rb +72 -0
- data/lib/roebe/classes/keys_generator/keys_generator.rb +328 -0
- data/lib/roebe/classes/kill_firefox.rb +126 -0
- data/lib/roebe/classes/kill_palemoon.rb +132 -0
- data/lib/roebe/classes/last_called_logger/last_called_logger.rb +67 -0
- data/lib/roebe/classes/last_line.rb +69 -0
- data/lib/roebe/classes/left_hyphen_in_this_file.rb +74 -0
- data/lib/roebe/classes/level_subdirectories.rb +126 -0
- data/lib/roebe/classes/lighttpd_config_generator.rb +106 -0
- data/lib/roebe/classes/lilo_config_generator.rb +403 -0
- data/lib/roebe/classes/line_padder.rb +97 -0
- data/lib/roebe/classes/lotto/handle_quicktipps.rb +96 -0
- data/lib/roebe/classes/lotto/lotto_quicktip.rb +214 -0
- data/lib/roebe/classes/make_cookbooks_gem.rb +109 -0
- data/lib/roebe/classes/make_gem.rb +280 -0
- data/lib/roebe/classes/mark_this_directory.rb +76 -0
- data/lib/roebe/classes/married_with_children.rb +110 -0
- data/lib/roebe/classes/mate_terminal/rename_mate_terminal.rb +56 -0
- data/lib/roebe/classes/mbl.rb +318 -0
- data/lib/roebe/classes/meal_maker.rb +88 -0
- data/lib/roebe/classes/menu_generator/append_to.rb +35 -0
- data/lib/roebe/classes/menu_generator/constants.rb +80 -0
- data/lib/roebe/classes/menu_generator/menu_generator.rb +623 -0
- data/lib/roebe/classes/merge.rb +121 -0
- data/lib/roebe/classes/misc/README.md +2 -0
- data/lib/roebe/classes/misc/anteile.rb +91 -0
- data/lib/roebe/classes/modify_shebang_header/modify_shebang_header.rb +435 -0
- data/lib/roebe/classes/modright.rb +110 -0
- data/lib/roebe/classes/monthly_activity_on_rubygems.rb +219 -0
- data/lib/roebe/classes/mount_dvd.rb +92 -0
- data/lib/roebe/classes/mount_iso_file.rb +108 -0
- data/lib/roebe/classes/move_content_of_this_directory_to_that_directory_unless_target_already_exists.rb +119 -0
- data/lib/roebe/classes/move_file.rb +234 -0
- data/lib/roebe/classes/move_mouse.rb +75 -0
- data/lib/roebe/classes/mrxvt.rb +140 -0
- data/lib/roebe/classes/mrxvt_options.rb +295 -0
- data/lib/roebe/classes/my_default_webrick_server.rb +125 -0
- data/lib/roebe/classes/my_ip.rb +69 -0
- data/lib/roebe/classes/n_directories.rb +98 -0
- data/lib/roebe/classes/n_downloads_on_rubygems_org.rb +246 -0
- data/lib/roebe/classes/n_files.rb +71 -0
- data/lib/roebe/classes/n_fotos.rb +48 -0
- data/lib/roebe/classes/n_gems_exist_in_total.rb +136 -0
- data/lib/roebe/classes/n_symlinks.rb +125 -0
- data/lib/roebe/classes/nano_config.rb +186 -0
- data/lib/roebe/classes/nibble_converter.rb +172 -0
- data/lib/roebe/classes/non_symlinks.rb +115 -0
- data/lib/roebe/classes/number_files.rb +89 -0
- data/lib/roebe/classes/number_to_english.rb +167 -0
- data/lib/roebe/classes/nutrition.rb +69 -0
- data/lib/roebe/classes/nvidia.rb +83 -0
- data/lib/roebe/classes/obtain_audio_recordings_from_voice_recorder/constants.rb +38 -0
- data/lib/roebe/classes/obtain_audio_recordings_from_voice_recorder/help.rb +27 -0
- data/lib/roebe/classes/obtain_audio_recordings_from_voice_recorder/obtain_audio_recordings_from_voice_recorder.rb +610 -0
- data/lib/roebe/classes/obtain_audio_recordings_from_voice_recorder/run.rb +22 -0
- data/lib/roebe/classes/on_screen_display.rb +320 -0
- data/lib/roebe/classes/one_line_passwords.rb +201 -0
- data/lib/roebe/classes/open_pdf.rb +293 -0
- data/lib/roebe/classes/open_random_book.rb +129 -0
- data/lib/roebe/classes/output_random_line.rb +110 -0
- data/lib/roebe/classes/output_text_then_assign_to_the_xorg_buffer.rb +114 -0
- data/lib/roebe/classes/package_java_compiler.rb +92 -0
- data/lib/roebe/classes/pad_via_quotes.rb +63 -0
- data/lib/roebe/classes/paragraph_onto_one_line.rb +73 -0
- data/lib/roebe/classes/parse_apache_log/constants.rb +55 -0
- data/lib/roebe/classes/parse_apache_log/parse_apache_log.rb +331 -0
- data/lib/roebe/classes/pascalsches_dreieck.rb +108 -0
- data/lib/roebe/classes/passwords.rb +759 -0
- data/lib/roebe/classes/path_generator/constants.rb +68 -0
- data/lib/roebe/classes/path_generator/misc.rb +332 -0
- data/lib/roebe/classes/path_generator/path_generator.rb +31 -0
- data/lib/roebe/classes/path_generator/reset.rb +33 -0
- data/lib/roebe/classes/percentage_counter.rb +84 -0
- data/lib/roebe/classes/permission_ascii_format.rb +228 -0
- data/lib/roebe/classes/php_to_ruby.rb +177 -0
- data/lib/roebe/classes/pound_to_kg_converter.rb +86 -0
- data/lib/roebe/classes/prepend_this.rb +280 -0
- data/lib/roebe/classes/prepend_this_line_to_that_file.rb +259 -0
- data/lib/roebe/classes/prepend_this_string_to_every_line_of_this_file.rb +195 -0
- data/lib/roebe/classes/prepend_todays_date.rb +67 -0
- data/lib/roebe/classes/pristine_gems.rb +71 -0
- data/lib/roebe/classes/proper_english.rb +115 -0
- data/lib/roebe/classes/publish_gem.rb +249 -0
- data/lib/roebe/classes/pull_together.rb +126 -0
- data/lib/roebe/classes/purge_files_or_directories.rb +67 -0
- data/lib/roebe/classes/purge_gmon_out_files.rb +102 -0
- data/lib/roebe/classes/purge_ordoc_directories.rb +66 -0
- data/lib/roebe/classes/put_all_gems_into_this_project.rb +326 -0
- data/lib/roebe/classes/qemu/README.md +2 -0
- data/lib/roebe/classes/qemu/qemu.rb +72 -0
- data/lib/roebe/classes/quiz.rb +300 -0
- data/lib/roebe/classes/ram.rb +160 -0
- data/lib/roebe/classes/random_background.rb +208 -0
- data/lib/roebe/classes/random_open.rb +110 -0
- data/lib/roebe/classes/rbashrc.rb +160 -0
- data/lib/roebe/classes/rdate.rb +259 -0
- data/lib/roebe/classes/readme_generator/constants.rb +21 -0
- data/lib/roebe/classes/readme_generator/initialize.rb +38 -0
- data/lib/roebe/classes/readme_generator/misc.rb +548 -0
- data/lib/roebe/classes/readme_generator/readme_generator.rb +11 -0
- data/lib/roebe/classes/readme_generator/reset.rb +28 -0
- data/lib/roebe/classes/readme_generator/run.rb +20 -0
- data/lib/roebe/classes/remote_gems.rb +154 -0
- data/lib/roebe/classes/remove_bad_fluxbox_styles.rb +108 -0
- data/lib/roebe/classes/remove_comments/autoinclude.rb +3 -0
- data/lib/roebe/classes/remove_comments/constants.rb +22 -0
- data/lib/roebe/classes/remove_comments/remove_comments.rb +214 -0
- data/lib/roebe/classes/remove_directory.rb +212 -0
- data/lib/roebe/classes/remove_duplicate_lines.rb +101 -0
- data/lib/roebe/classes/remove_extension.rb +95 -0
- data/lib/roebe/classes/remove_file_extension.rb +106 -0
- data/lib/roebe/classes/remove_gems.rb +182 -0
- data/lib/roebe/classes/remove_lighty_logs.rb +66 -0
- data/lib/roebe/classes/remove_line.rb +172 -0
- data/lib/roebe/classes/remove_localhost.rb +355 -0
- data/lib/roebe/classes/remove_missing.rb +107 -0
- data/lib/roebe/classes/remove_newlines.rb +116 -0
- data/lib/roebe/classes/remove_solo_numbers.rb +85 -0
- data/lib/roebe/classes/remove_this_substring_from_all_files.rb +70 -0
- data/lib/roebe/classes/replace_global_variables_in_this_file.rb +181 -0
- data/lib/roebe/classes/replace_space_with_underscore/replace_space_with_underscore.rb +866 -0
- data/lib/roebe/classes/replace_what_with.rb +111 -0
- data/lib/roebe/classes/report_how_many_classes_exist_for_this_directory.rb +128 -0
- data/lib/roebe/classes/report_same_named_files.rb +88 -0
- data/lib/roebe/classes/require_everything.rb +155 -0
- data/lib/roebe/classes/return_aliases/return_n_aliases.rb +178 -0
- data/lib/roebe/classes/return_aliases/return_ten_aliases.rb +78 -0
- data/lib/roebe/classes/return_aliases/return_twenty_aliases.rb +79 -0
- data/lib/roebe/classes/return_random_image.rb +83 -0
- data/lib/roebe/classes/roman_number_converter.rb +92 -0
- data/lib/roebe/classes/ruby_cat.rb +139 -0
- data/lib/roebe/classes/ruby_header.rb +122 -0
- data/lib/roebe/classes/ruby_main.rb +133 -0
- data/lib/roebe/classes/ruby_seq.rb +67 -0
- data/lib/roebe/classes/ruby_use_config_file.rb +104 -0
- data/lib/roebe/classes/ruby_version_switcher.rb +99 -0
- data/lib/roebe/classes/run/menu.rb +87 -0
- data/lib/roebe/classes/run/run.rb +746 -0
- data/lib/roebe/classes/run_each_line_as_esystem.rb +54 -0
- data/lib/roebe/classes/rxinitrc/constants.rb +101 -0
- data/lib/roebe/classes/rxinitrc/help.rb +40 -0
- data/lib/roebe/classes/rxinitrc/run.rb +25 -0
- data/lib/roebe/classes/rxinitrc/rxinitrc.rb +531 -0
- data/lib/roebe/classes/scan_for_http_links.rb +114 -0
- data/lib/roebe/classes/schlafe.rb +101 -0
- data/lib/roebe/classes/send_email.rb +170 -0
- data/lib/roebe/classes/serve_local_page.rb +280 -0
- data/lib/roebe/classes/set_aliases.rb +372 -0
- data/lib/roebe/classes/set_background.rb +113 -0
- data/lib/roebe/classes/set_chained.rb +79 -0
- data/lib/roebe/classes/set_current_iso.rb +76 -0
- data/lib/roebe/classes/set_hwclock.rb +67 -0
- data/lib/roebe/classes/set_normal_alias_to.rb +583 -0
- data/lib/roebe/classes/setup_chrooted_environment.rb +402 -0
- data/lib/roebe/classes/shells/generate_etc_shell_file.rb +107 -0
- data/lib/roebe/classes/show_appointments.rb +216 -0
- data/lib/roebe/classes/show_available_fonts.rb +146 -0
- data/lib/roebe/classes/show_available_users.rb +319 -0
- data/lib/roebe/classes/show_kernel_modules.rb +88 -0
- data/lib/roebe/classes/show_non_symlinks.rb +98 -0
- data/lib/roebe/classes/show_only_files.rb +90 -0
- data/lib/roebe/classes/show_prime_numbers.rb +122 -0
- data/lib/roebe/classes/show_sigint.rb +50 -0
- data/lib/roebe/classes/show_ten_aliases.rb +395 -0
- data/lib/roebe/classes/show_twenty_aliases.rb +243 -0
- data/lib/roebe/classes/simple_boot_script.rb +358 -0
- data/lib/roebe/classes/simple_extractor.rb +104 -0
- data/lib/roebe/classes/simple_markdown_parser.rb +274 -0
- data/lib/roebe/classes/size_of.rb +234 -0
- data/lib/roebe/classes/size_of_states.rb +157 -0
- data/lib/roebe/classes/skel_maker/constants.rb +65 -0
- data/lib/roebe/classes/skel_maker/skel_maker.rb +230 -0
- data/lib/roebe/classes/slogans.rb +283 -0
- data/lib/roebe/classes/slow_load.rb +62 -0
- data/lib/roebe/classes/sorted_output.rb +86 -0
- data/lib/roebe/classes/sourcerank.rb +76 -0
- data/lib/roebe/classes/special_symlink.rb +97 -0
- data/lib/roebe/classes/start_program.rb +74 -0
- data/lib/roebe/classes/std_renamer.rb +285 -0
- data/lib/roebe/classes/stories.rb +107 -0
- data/lib/roebe/classes/story.rb +177 -0
- data/lib/roebe/classes/string_colour_parser.rb +165 -0
- data/lib/roebe/classes/sum_of_all_numbers.rb +153 -0
- data/lib/roebe/classes/supermerger.rb +121 -0
- data/lib/roebe/classes/symlink_all_directories_in_this_directory.rb +101 -0
- data/lib/roebe/classes/symlink_directories_from_that_directory_to_the_current_directory.rb +178 -0
- data/lib/roebe/classes/symlink_directory.rb +104 -0
- data/lib/roebe/classes/symlink_everything_from_that_directory_to_this_directory.rb +196 -0
- 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
- data/lib/roebe/classes/syntax_checker.rb +200 -0
- data/lib/roebe/classes/system_checker.rb +646 -0
- data/lib/roebe/classes/take_screenshot.rb +390 -0
- data/lib/roebe/classes/tales_from_the_crypt.rb +552 -0
- data/lib/roebe/classes/terminal.rb +62 -0
- data/lib/roebe/classes/terminal_ps1.rb +128 -0
- data/lib/roebe/classes/test_for_psych.rb +77 -0
- data/lib/roebe/classes/test_openssl.rb +200 -0
- data/lib/roebe/classes/test_yaml.rb +70 -0
- data/lib/roebe/classes/threshold_splitter.rb +96 -0
- data/lib/roebe/classes/tic_tac_toe.rb +326 -0
- data/lib/roebe/classes/time/current_time_in_singapore.rb +121 -0
- data/lib/roebe/classes/time/display_weekdays.rb +78 -0
- data/lib/roebe/classes/time/query_world_time.rb +149 -0
- data/lib/roebe/classes/time/set_hardware_clock.rb +158 -0
- data/lib/roebe/classes/time/trivial_time_parser.rb +162 -0
- data/lib/roebe/classes/to_binary.rb +127 -0
- data/lib/roebe/classes/to_buy.rb +216 -0
- data/lib/roebe/classes/to_next.rb +139 -0
- data/lib/roebe/classes/to_squashfs.rb +83 -0
- data/lib/roebe/classes/to_tar_bz2.rb +62 -0
- data/lib/roebe/classes/to_utf.rb +87 -0
- data/lib/roebe/classes/today.rb +67 -0
- data/lib/roebe/classes/todo_overview.rb +87 -0
- data/lib/roebe/classes/todo_sanitizer.rb +168 -0
- data/lib/roebe/classes/top_ten_aliases.rb +104 -0
- data/lib/roebe/classes/total_pages_in_finished_books.rb +76 -0
- data/lib/roebe/classes/translate.rb +295 -0
- data/lib/roebe/classes/traverse_install.rb +268 -0
- data/lib/roebe/classes/treeview.rb +186 -0
- data/lib/roebe/classes/turn_ruby_file_into_gem.rb +195 -0
- data/lib/roebe/classes/twentyfour_hours_notation.rb +174 -0
- data/lib/roebe/classes/umlaut_converter.rb +137 -0
- data/lib/roebe/classes/undone.rb +126 -0
- data/lib/roebe/classes/unicode_snowman.rb +120 -0
- data/lib/roebe/classes/unified_padding.rb +144 -0
- data/lib/roebe/classes/unrar.rb +95 -0
- data/lib/roebe/classes/upcaser.rb +145 -0
- data/lib/roebe/classes/update.rb +376 -0
- data/lib/roebe/classes/update_static_html_pages_in_the_directory_containing_my_fotos.rb +73 -0
- data/lib/roebe/classes/upload_to_imgur.rb +177 -0
- data/lib/roebe/classes/upwards_counter.rb +59 -0
- data/lib/roebe/classes/usage.rb +158 -0
- data/lib/roebe/classes/usb/automount_usb.rb +82 -0
- data/lib/roebe/classes/usb/create_bootable_usb.rb +118 -0
- data/lib/roebe/classes/usb/usb_devices.rb +188 -0
- data/lib/roebe/classes/use_jruby.rb +68 -0
- data/lib/roebe/classes/vte.rb +110 -0
- data/lib/roebe/classes/wallpaper.rb +177 -0
- data/lib/roebe/classes/wayland_or_xorgserver.rb +69 -0
- data/lib/roebe/classes/webfancy_controller.rb +229 -0
- data/lib/roebe/classes/wikipedia.rb +99 -0
- data/lib/roebe/classes/wlan/eduroam/eduroam.rb +133 -0
- data/lib/roebe/classes/wlan/wlan.rb +1303 -0
- data/lib/roebe/classes/wochentag_anzeiger.rb +220 -0
- data/lib/roebe/classes/word_wrap.rb +67 -0
- data/lib/roebe/classes/write_what_into.rb +91 -0
- data/lib/roebe/classes/xfce/README.md +2 -0
- data/lib/roebe/classes/xfce/set_xfce_wallpaper.rb +91 -0
- data/lib/roebe/classes/yaml_check.rb +63 -0
- data/lib/roebe/classes/youtube_downloader.rb +157 -0
- data/lib/roebe/classes/zenity.rb +319 -0
- data/lib/roebe/classes/zoll.rb +88 -0
- data/lib/roebe/colours/colours.rb +440 -0
- data/lib/roebe/commandline/help.rb +125 -0
- data/lib/roebe/commandline/menu.rb +753 -0
- data/lib/roebe/commandline/misc.rb +278 -0
- data/lib/roebe/commandline/parse_commandline.rb +55 -0
- data/lib/roebe/configuration/autoinclude.rb +7 -0
- data/lib/roebe/configuration/class/configuration.rb +998 -0
- data/lib/roebe/configuration/module.rb +35 -0
- data/lib/roebe/constants/archive_types.rb +26 -0
- data/lib/roebe/constants/array_install_these_gem_projects.rb +115 -0
- data/lib/roebe/constants/constants.rb +96 -0
- data/lib/roebe/constants/emojis.rb +19 -0
- data/lib/roebe/constants/file_and_directory_constants.rb +159 -0
- data/lib/roebe/constants/home_of_the_user_called_x.rb +14 -0
- data/lib/roebe/constants/misc.rb +143 -0
- data/lib/roebe/constants/newline.rb +16 -0
- data/lib/roebe/constants/roebe.rb +74 -0
- data/lib/roebe/constants/www.rb +43 -0
- data/lib/roebe/core/README.md +6 -0
- data/lib/roebe/core/array.rb +347 -0
- data/lib/roebe/core/dir.rb +126 -0
- data/lib/roebe/core/enumerable.rb +25 -0
- data/lib/roebe/core/file.rb +140 -0
- data/lib/roebe/core/fixnum.rb +155 -0
- data/lib/roebe/core/float.rb +86 -0
- data/lib/roebe/core/hash.rb +48 -0
- data/lib/roebe/core/integer.rb +41 -0
- data/lib/roebe/core/kernel.rb +82 -0
- data/lib/roebe/core/math.rb +61 -0
- data/lib/roebe/core/module.rb +91 -0
- data/lib/roebe/core/numeric.rb +64 -0
- data/lib/roebe/core/object.rb +53 -0
- data/lib/roebe/core/proc.rb +10 -0
- data/lib/roebe/core/process.rb +27 -0
- data/lib/roebe/core/range.rb +18 -0
- data/lib/roebe/core/string.rb +651 -0
- data/lib/roebe/core/struct.rb +22 -0
- data/lib/roebe/core/windows.rb +758 -0
- data/lib/roebe/css/project.css +38 -0
- data/lib/roebe/custom_methods/README.md +8 -0
- data/lib/roebe/custom_methods/constants.rb +53 -0
- data/lib/roebe/custom_methods/custom_methods.rb +5651 -0
- data/lib/roebe/dosbox/README.md +5 -0
- data/lib/roebe/dosbox/autoexec.conf +114 -0
- data/lib/roebe/dosbox/bios.conf +20 -0
- data/lib/roebe/dosbox/cpu.conf +42 -0
- data/lib/roebe/dosbox/cycles.conf +41 -0
- data/lib/roebe/dosbox/dos.conf +55 -0
- data/lib/roebe/dosbox/dosbox.conf +34 -0
- data/lib/roebe/dosbox/games.conf +37 -0
- data/lib/roebe/dosbox/generate_dosbox_config.rb +150 -0
- data/lib/roebe/dosbox/gus.conf +26 -0
- data/lib/roebe/dosbox/ipx.conf +14 -0
- data/lib/roebe/dosbox/keyboard.conf +17 -0
- data/lib/roebe/dosbox/midi.conf +18 -0
- data/lib/roebe/dosbox/mixer.conf +26 -0
- data/lib/roebe/dosbox/render.conf +31 -0
- data/lib/roebe/dosbox/sblaster.conf +38 -0
- data/lib/roebe/dosbox/sdl.conf +115 -0
- data/lib/roebe/dosbox/serial.conf +22 -0
- data/lib/roebe/dosbox/speaker.conf +20 -0
- data/lib/roebe/editors/README.md +2 -0
- data/lib/roebe/editors/ruby_nano.rb +80 -0
- data/lib/roebe/editors/vim_paradise/colours.rb +30 -0
- data/lib/roebe/editors/vim_paradise/constants.rb +113 -0
- data/lib/roebe/editors/vim_paradise/help.rb +37 -0
- data/lib/roebe/editors/vim_paradise/menu.rb +62 -0
- data/lib/roebe/editors/vim_paradise/run.rb +22 -0
- data/lib/roebe/editors/vim_paradise/vim_paradise.rb +630 -0
- data/lib/roebe/emoji/README.md +2 -0
- data/lib/roebe/emoji/emoji_table.rb +44 -0
- data/lib/roebe/encoding/encoding.rb +113 -0
- data/lib/roebe/extensions.rb +23 -0
- data/lib/roebe/gemrc/gemrc +19 -0
- data/lib/roebe/gui/cgi/interactive_caesar_cipher/interactive_caesar_cipher.cgi +56 -0
- data/lib/roebe/gui/cgi/md5_comparer/md5_comparer.cgi +83 -0
- data/lib/roebe/gui/glimmer/examples/001_hello_world.rb +8 -0
- data/lib/roebe/gui/glimmer/examples/002_basic_table_progress_bar.rb +29 -0
- data/lib/roebe/gui/glimmer/examples/003_form_table_example.rb +118 -0
- data/lib/roebe/gui/glimmer/microsoft_controller/microsoft_controller.rb +58 -0
- data/lib/roebe/gui/gtk2/code_generator/code_generator.config +6 -0
- data/lib/roebe/gui/gtk2/code_generator/code_generator.rb +39 -0
- data/lib/roebe/gui/gtk2/email/email.config +6 -0
- data/lib/roebe/gui/gtk2/email/email.rb +31 -0
- data/lib/roebe/gui/gtk2/ifconfig/ifconfig.rb +34 -0
- data/lib/roebe/gui/gtk2/send_email/send_email.rb +34 -0
- data/lib/roebe/gui/gtk2/show_aliases/show_aliases.rb +31 -0
- data/lib/roebe/gui/gtk2/show_ten_aliases/show_ten_aliases.rb +34 -0
- data/lib/roebe/gui/gtk2/world_capitals/capital_event_box.rb +18 -0
- data/lib/roebe/gui/gtk2/world_capitals/frame_for_world_capitals.rb +27 -0
- data/lib/roebe/gui/gtk2/world_capitals/world_capitals.rb +31 -0
- data/lib/roebe/gui/gtk3/code_generator/code_generator.rb +31 -0
- data/lib/roebe/gui/gtk3/email/email.rb +34 -0
- data/lib/roebe/gui/gtk3/generate_xorg_configuration/generate_xorg_configuration.rb +223 -0
- data/lib/roebe/gui/gtk3/ifconfig/ifconfig.rb +34 -0
- data/lib/roebe/gui/gtk3/install_operating_system/install_operating_system.rb +159 -0
- data/lib/roebe/gui/gtk3/interactive_caesar_cipher/interactive_caesar_cipher.rb +112 -0
- data/lib/roebe/gui/gtk3/md5_comparer/md5_comparer.rb +120 -0
- data/lib/roebe/gui/gtk3/os_installer/os_installer.rb +140 -0
- data/lib/roebe/gui/gtk3/send_email/send_email.rb +34 -0
- data/lib/roebe/gui/gtk3/shell/misc.rb +70 -0
- data/lib/roebe/gui/gtk3/shell/shell.rb +392 -0
- data/lib/roebe/gui/gtk3/show_aliases/show_aliases.rb +64 -0
- data/lib/roebe/gui/gtk3/show_ten_aliases/show_ten_aliases.rb +34 -0
- data/lib/roebe/gui/gtk3/system_widget/system_widget.rb +34 -0
- data/lib/roebe/gui/gtk3/task_viewer/task_viewer.rb +34 -0
- data/lib/roebe/gui/gtk3/todo_viewer/todo_viewer.rb +290 -0
- data/lib/roebe/gui/gtk3/wecker/wecker.rb +440 -0
- data/lib/roebe/gui/gtk3/wlan_information_center/README.md +9 -0
- data/lib/roebe/gui/gtk3/wlan_information_center/wlan_information_center.css +13 -0
- data/lib/roebe/gui/gtk3/wlan_information_center/wlan_information_center.rb +708 -0
- data/lib/roebe/gui/gtk3/world_capitals/capital_event_box.rb +24 -0
- data/lib/roebe/gui/gtk3/world_capitals/frame_for_world_capitals.rb +29 -0
- data/lib/roebe/gui/gtk3/world_capitals/world_capitals.rb +24 -0
- data/lib/roebe/gui/gtk4/interactive_caesar_cipher/interactive_caesar_cipher.rb +119 -0
- data/lib/roebe/gui/gtk4/shell/shell.rb +93 -0
- data/lib/roebe/gui/jruby/calculator/calculator.rb +122 -0
- data/lib/roebe/gui/jruby/interactive_caesar_cipher/interactive_caesar_cipher.rb +123 -0
- data/lib/roebe/gui/jruby/shell/shell.rb +107 -0
- data/lib/roebe/gui/libui/foto_searcher/foto_searcher.rb +108 -0
- data/lib/roebe/gui/libui/interactive_caesar_cipher/interactive_caesar_cipher.rb +147 -0
- data/lib/roebe/gui/libui/md5_comparer/md5_comparer.rb +89 -0
- data/lib/roebe/gui/libui/microsoft_controller/README.me +3 -0
- data/lib/roebe/gui/libui/microsoft_controller/microsoft_controller.rb +206 -0
- data/lib/roebe/gui/libui/rundll32/rundll32.rb +89 -0
- data/lib/roebe/gui/libui/shell/shell.rb +139 -0
- data/lib/roebe/gui/libui/show_aliases/show_aliases.rb +81 -0
- data/lib/roebe/gui/libui/show_ten_aliases/show_ten_aliases.rb +99 -0
- data/lib/roebe/gui/libui/todo_viewer/todo_viewer.rb +117 -0
- data/lib/roebe/gui/libui/wlan_interface/wlan_interface.rb +140 -0
- data/lib/roebe/gui/shared_code/code_generator/code_generator_module.rb +273 -0
- data/lib/roebe/gui/shared_code/email/email_module.rb +178 -0
- data/lib/roebe/gui/shared_code/ifconfig/ifconfig_module.rb +1163 -0
- data/lib/roebe/gui/shared_code/interactive_caesar_cipher/interactive_caesar_cipher_module.rb +346 -0
- data/lib/roebe/gui/shared_code/md5_comparer/md5_comparer_module.rb +244 -0
- data/lib/roebe/gui/shared_code/microsoft_controller/microsoft_controller_module.rb +215 -0
- data/lib/roebe/gui/shared_code/send_email/send_email.css +0 -0
- data/lib/roebe/gui/shared_code/send_email/send_email_module.rb +291 -0
- data/lib/roebe/gui/shared_code/shell/shell_module.rb +426 -0
- data/lib/roebe/gui/shared_code/show_aliases/show_aliases_module.rb +196 -0
- data/lib/roebe/gui/shared_code/show_ten_aliases/show_ten_aliases_module.rb +315 -0
- data/lib/roebe/gui/shared_code/system_widget/system_widget_module.rb +161 -0
- data/lib/roebe/gui/shared_code/task_viewer/task_viewer_module.rb +222 -0
- data/lib/roebe/gui/shared_code/wlan_interface/wlan_interface.css +13 -0
- data/lib/roebe/gui/shared_code/wlan_interface/wlan_interface_base.rb +0 -0
- data/lib/roebe/gui/shared_code/wlan_interface/wlan_interface_module.rb +0 -0
- data/lib/roebe/gui/shared_code/world_capitals/capital_event_box_module.rb +201 -0
- data/lib/roebe/gui/shared_code/world_capitals/frame_for_world_capitals_module.rb +80 -0
- data/lib/roebe/gui/shared_code/world_capitals/world_capitals_module.rb +276 -0
- data/lib/roebe/gui/sinatra/md5_comparer/md5_comparer.rb +108 -0
- data/lib/roebe/gui/swing/README.md +6 -0
- data/lib/roebe/gui/swing/interactive_caesar_cipher/InteractiveCaesarCipher.class +0 -0
- data/lib/roebe/gui/swing/interactive_caesar_cipher/InteractiveCaesarCipher.java +87 -0
- data/lib/roebe/gui/swing/text_editor/TextEditor.class +0 -0
- data/lib/roebe/gui/swing/text_editor/TextEditor.java +248 -0
- data/lib/roebe/gui/unified_widgets/README.md +5 -0
- data/lib/roebe/gui/unified_widgets/interactive_caesar_cipher/interactive_caesar_cipher.rb +137 -0
- data/lib/roebe/hello_world/hello_world.rb +1 -0
- data/lib/roebe/images/ROEBE_LOGO.png +0 -0
- data/lib/roebe/irb/README.md +3 -0
- data/lib/roebe/irb/clean_irbrc +216 -0
- data/lib/roebe/java_roebe/Ant.java +26 -0
- data/lib/roebe/java_roebe/EnglishToGerman.class +0 -0
- data/lib/roebe/java_roebe/EnglishToGerman.java +52 -0
- data/lib/roebe/java_roebe/MoveFile.class +0 -0
- data/lib/roebe/java_roebe/MoveFile.java +50 -0
- data/lib/roebe/java_roebe/MyIp.java +42 -0
- data/lib/roebe/java_roebe/RemoveDirectory.class +0 -0
- data/lib/roebe/java_roebe/RemoveDirectory.java +92 -0
- data/lib/roebe/java_roebe/RemoveLine.class +0 -0
- data/lib/roebe/java_roebe/RemoveLine.java +168 -0
- data/lib/roebe/java_roebe/ReturnRandomImage.class +0 -0
- data/lib/roebe/java_roebe/ReturnRandomImage.java +54 -0
- data/lib/roebe/java_roebe/Schlafe.class +0 -0
- data/lib/roebe/java_roebe/Schlafe.java +65 -0
- data/lib/roebe/java_roebe/SetBackground.class +0 -0
- data/lib/roebe/java_roebe/SetBackground.java +104 -0
- data/lib/roebe/java_roebe/ShowOnlyFiles.class +0 -0
- data/lib/roebe/java_roebe/ShowOnlyFiles.java +86 -0
- data/lib/roebe/java_roebe/ShowPrimeNumbers.class +0 -0
- data/lib/roebe/java_roebe/ShowPrimeNumbers.java +75 -0
- data/lib/roebe/java_roebe/TakeScreenshot.class +0 -0
- data/lib/roebe/java_roebe/TakeScreenshot.java +126 -0
- data/lib/roebe/java_roebe/TalesFromTheCrypt.class +0 -0
- data/lib/roebe/java_roebe/TalesFromTheCrypt.java +128 -0
- data/lib/roebe/java_roebe/ToBinary.class +0 -0
- data/lib/roebe/java_roebe/ToBinary.java +21 -0
- data/lib/roebe/java_roebe/ToBuy.java +94 -0
- data/lib/roebe/java_roebe/ToSquashfs.class +0 -0
- data/lib/roebe/java_roebe/ToSquashfs.java +84 -0
- data/lib/roebe/java_roebe/ToTarBz2.class +0 -0
- data/lib/roebe/java_roebe/ToTarBz2.java +57 -0
- data/lib/roebe/java_roebe/Today.java +71 -0
- data/lib/roebe/java_roebe/TodoOverview.class +0 -0
- data/lib/roebe/java_roebe/TodoOverview.java +78 -0
- data/lib/roebe/java_roebe/Translate.class +0 -0
- data/lib/roebe/java_roebe/Translate.java +93 -0
- data/lib/roebe/java_roebe/TwentyfourHoursNotation.class +0 -0
- data/lib/roebe/java_roebe/TwentyfourHoursNotation.java +60 -0
- data/lib/roebe/java_roebe/Undone.class +0 -0
- data/lib/roebe/java_roebe/Undone.java +143 -0
- data/lib/roebe/java_roebe/UnicodeSnowman.class +0 -0
- data/lib/roebe/java_roebe/UnicodeSnowman.java +48 -0
- data/lib/roebe/java_roebe/Upcaser.class +0 -0
- data/lib/roebe/java_roebe/Upcaser.java +69 -0
- data/lib/roebe/java_roebe/UploadToImgur.class +0 -0
- data/lib/roebe/java_roebe/UploadToImgur.java +97 -0
- data/lib/roebe/java_roebe/UpwardsCounter.class +0 -0
- data/lib/roebe/java_roebe/UpwardsCounter.java +77 -0
- data/lib/roebe/java_roebe/Wikipedia.class +0 -0
- data/lib/roebe/java_roebe/Wikipedia.java +43 -0
- data/lib/roebe/java_roebe/WriteWhatInto.class +0 -0
- data/lib/roebe/java_roebe/WriteWhatInto.java +56 -0
- data/lib/roebe/java_roebe/Zoll.class +0 -0
- data/lib/roebe/java_roebe/Zoll.java +42 -0
- data/lib/roebe/java_roebe/controller/ControllerWithCSSSupport$1.class +0 -0
- data/lib/roebe/java_roebe/controller/ControllerWithCSSSupport.class +0 -0
- data/lib/roebe/java_roebe/controller/ControllerWithCSSSupport.java +277 -0
- data/lib/roebe/java_roebe/gui/Calculator.class +0 -0
- data/lib/roebe/java_roebe/gui/Calculator.java +287 -0
- data/lib/roebe/java_roebe/java_roebe/ShowPrimeNumbers.class +0 -0
- data/lib/roebe/java_roebe/java_roebe/ShowPrimeNumbers.java +75 -0
- data/lib/roebe/java_roebe/java_roebe/TakeScreenshot.class +0 -0
- data/lib/roebe/java_roebe/java_roebe/TakeScreenshot.java +126 -0
- data/lib/roebe/java_roebe/java_roebe/TalesFromTheCrypt.class +0 -0
- data/lib/roebe/java_roebe/java_roebe/TalesFromTheCrypt.java +128 -0
- data/lib/roebe/java_roebe/java_roebe/Zoll.class +0 -0
- data/lib/roebe/java_roebe/java_roebe/Zoll.java +42 -0
- data/lib/roebe/java_roebe/show_the_content_of_this_directory/ShowTheContentOfThisDirectory.class +0 -0
- data/lib/roebe/java_roebe/show_the_content_of_this_directory/ShowTheContentOfThisDirectory.java +50 -0
- data/lib/roebe/jruby/jruby_enhancements.rb +18 -0
- data/lib/roebe/jruby/swing/absolute_positioning_example.rb +75 -0
- data/lib/roebe/jruby/swing/complete_windows_example.rb +90 -0
- data/lib/roebe/jruby/swing/paint_demo.rb +37 -0
- data/lib/roebe/jruby/swing/quit_button_example.rb +54 -0
- data/lib/roebe/jruby/swing/simple_swing_example.rb +33 -0
- data/lib/roebe/jruby/swing/tooltip_example.rb +90 -0
- data/lib/roebe/jruby/swing/two_buttons_example.rb +62 -0
- data/lib/roebe/knowledge_base/knowledge_base.rb +103 -0
- data/lib/roebe/linux/README.md +3 -0
- data/lib/roebe/linux/linux.rb +106 -0
- data/lib/roebe/linux/slackware/remove_pulseaudio.rb +34 -0
- data/lib/roebe/linux/slackware/slackware.rb +122 -0
- data/lib/roebe/math/README.md +4 -0
- data/lib/roebe/math/anagram.rb +42 -0
- data/lib/roebe/math/average_of_differences.rb +41 -0
- data/lib/roebe/math/binning.rb +56 -0
- data/lib/roebe/math/calculate_the_distance_between_two_points.rb +38 -0
- data/lib/roebe/math/calculate_the_variance.rb +45 -0
- data/lib/roebe/math/circle.rb +101 -0
- data/lib/roebe/math/draw_line.rb +25 -0
- data/lib/roebe/math/draw_triangle.rb +26 -0
- data/lib/roebe/math/fact.rb +44 -0
- data/lib/roebe/math/levensthein.rb +69 -0
- data/lib/roebe/math/log10.rb +54 -0
- data/lib/roebe/math/math.rb +314 -0
- data/lib/roebe/math/pi.rb +29 -0
- data/lib/roebe/math/primfaktorzerlegung.rb +105 -0
- data/lib/roebe/math/regel_von_sarrus.rb +70 -0
- data/lib/roebe/math/sphere.rb +126 -0
- data/lib/roebe/math/steigung.rb +59 -0
- data/lib/roebe/math/traurige_oder_fr/303/266hliche_zahl.rb +47 -0
- data/lib/roebe/math/traurige_oder_gl/303/274ckliche_zahl.rb +55 -0
- data/lib/roebe/math/zylinder.rb +59 -0
- data/lib/roebe/mime_types/mime_types.rb +389 -0
- data/lib/roebe/misc/README.md +2 -0
- data/lib/roebe/misc/chrome_extensions/roebe/background.js +1 -0
- data/lib/roebe/misc/chrome_extensions/roebe/commands_to_run.rb +1 -0
- data/lib/roebe/misc/chrome_extensions/roebe/content.js +1 -0
- data/lib/roebe/misc/chrome_extensions/roebe/images/64.png +0 -0
- data/lib/roebe/misc/chrome_extensions/roebe/index.html +130 -0
- data/lib/roebe/misc/chrome_extensions/roebe/manifest.json +22 -0
- data/lib/roebe/misc/chrome_extensions/roebe/popup.html +46 -0
- data/lib/roebe/misc/chrome_extensions/roebe/popup.js +0 -0
- data/lib/roebe/misc/chrome_extensions/roebe/simulate_a_dice.js +28 -0
- data/lib/roebe/misc/fluxbox_keys_file +117 -0
- data/lib/roebe/misc/icewm_keys_file +88 -0
- data/lib/roebe/misc/master_boot_record/master_boot_record +0 -0
- data/lib/roebe/misc/ublock_origin/ublock_origin.md +4 -0
- data/lib/roebe/modules/as_uid.rb +61 -0
- data/lib/roebe/modules/extensions/README.md +2 -0
- data/lib/roebe/modules/extensions/hexapdf.rb +14 -0
- data/lib/roebe/modules/http_status_codes/constants.rb +105 -0
- data/lib/roebe/modules/http_status_codes/http_status_codes.rb +59 -0
- data/lib/roebe/modules/remove_html.rb +61 -0
- data/lib/roebe/mouse/README.md +2 -0
- data/lib/roebe/mouse/libffi_is_not_available.rb +70 -0
- data/lib/roebe/mouse/mouse.rb +205 -0
- data/lib/roebe/nano/README.md +42 -0
- data/lib/roebe/nano/c.md +77 -0
- data/lib/roebe/nano/cpp.md +68 -0
- data/lib/roebe/nano/css.md +16 -0
- data/lib/roebe/nano/fasta.md +10 -0
- data/lib/roebe/nano/general_settings.md +199 -0
- data/lib/roebe/nano/generic.md +52 -0
- data/lib/roebe/nano/html.md +7 -0
- data/lib/roebe/nano/include.md +26 -0
- data/lib/roebe/nano/java.md +31 -0
- data/lib/roebe/nano/mail.md +36 -0
- data/lib/roebe/nano/ml.md +21 -0
- data/lib/roebe/nano/nano.cgi +23 -0
- data/lib/roebe/nano/nanorc.md +16 -0
- data/lib/roebe/nano/nexus.md +12 -0
- data/lib/roebe/nano/opal.md +66 -0
- data/lib/roebe/nano/patch_files.md +12 -0
- data/lib/roebe/nano/perl.md +12 -0
- data/lib/roebe/nano/php.md +26 -0
- data/lib/roebe/nano/python.md +12 -0
- data/lib/roebe/nano/ruby.md +122 -0
- data/lib/roebe/nano/shell_scripts.md +15 -0
- data/lib/roebe/nano/top.md +14 -0
- data/lib/roebe/nano/yaml.md +70 -0
- data/lib/roebe/nano/zzz_misc.md +13 -0
- data/lib/roebe/no_colours.rb +7 -0
- data/lib/roebe/pdf/README.md +1 -0
- data/lib/roebe/pdf/prawn/all_in_one_showcasing_prawn.rb +164 -0
- data/lib/roebe/project/project.rb +77 -0
- data/lib/roebe/python/base/__pycache__/base.cpython-39.pyc +0 -0
- data/lib/roebe/python/base/base.py +40 -0
- data/lib/roebe/python/zoll.py +16 -0
- data/lib/roebe/requires/basic_common_requires.rb +18 -0
- data/lib/roebe/requires/colours.rb +7 -0
- data/lib/roebe/requires/failsafe_require_of_beautiful_url.rb +12 -0
- data/lib/roebe/requires/failsafe_require_of_opn.rb +12 -0
- data/lib/roebe/requires/require_all_standalone_classes.rb +65 -0
- data/lib/roebe/requires/require_all_standalone_modules.rb +61 -0
- data/lib/roebe/requires/require_burn_iso.rb +5 -0
- data/lib/roebe/requires/require_kde_konsole.rb +7 -0
- data/lib/roebe/requires/require_menu_generator.rb +7 -0
- data/lib/roebe/requires/require_remove_directory.rb +7 -0
- data/lib/roebe/requires/require_ruby_header.rb +7 -0
- data/lib/roebe/requires/require_the_browser_files.rb +11 -0
- data/lib/roebe/requires/require_the_roebe_documentation.rb +11 -0
- data/lib/roebe/requires/require_the_roebe_shell.rb +22 -0
- data/lib/roebe/requires/require_the_run_class.rb +7 -0
- data/lib/roebe/requires/require_the_toplevel_methods.rb +11 -0
- data/lib/roebe/requires/require_the_whole_roebe_project.rb +75 -0
- data/lib/roebe/requires/require_traverse_install.rb +7 -0
- data/lib/roebe/requires/require_unicode.rb +31 -0
- data/lib/roebe/requires/require_yaml.rb +1 -0
- data/lib/roebe/setup/README.md +1 -0
- data/lib/roebe/setup/setup.rb +1665 -0
- data/lib/roebe/shell/README.md +6 -0
- data/lib/roebe/shell/colours/colour_codes.rb +178 -0
- data/lib/roebe/shell/colours/colours.rb +331 -0
- data/lib/roebe/shell/commandline/commandline.rb +404 -0
- data/lib/roebe/shell/configuration/configuration.rb +165 -0
- data/lib/roebe/shell/gui/gtk3/vte_terminal_frame.rb +77 -0
- data/lib/roebe/shell/help/colourized_help_line.rb +183 -0
- data/lib/roebe/shell/help/documented_help_options.rb +254 -0
- data/lib/roebe/shell/help/help.rb +105 -0
- data/lib/roebe/shell/module_methods/anmeldung.rb +75 -0
- data/lib/roebe/shell/module_methods/available_components.rb +78 -0
- data/lib/roebe/shell/module_methods/benchmarks.rb +70 -0
- data/lib/roebe/shell/module_methods/commandline_arguments.rb +35 -0
- data/lib/roebe/shell/module_methods/encoding.rb +95 -0
- data/lib/roebe/shell/module_methods/ftp.rb +65 -0
- data/lib/roebe/shell/module_methods/generate_tab_completion.rb +96 -0
- data/lib/roebe/shell/module_methods/home_directory.rb +108 -0
- data/lib/roebe/shell/module_methods/main_file.rb +41 -0
- data/lib/roebe/shell/module_methods/misc.rb +181 -0
- data/lib/roebe/shell/module_methods/report_where_the_home_directory_can_be_found.rb +35 -0
- data/lib/roebe/shell/module_methods/startup_time.rb +34 -0
- data/lib/roebe/shell/project/project.rb +47 -0
- data/lib/roebe/shell/session/session.rb +205 -0
- data/lib/roebe/shell/shell/constants.rb +272 -0
- data/lib/roebe/shell/shell/menu_for_the_main_loop.rb +8380 -0
- data/lib/roebe/shell/shell/shell.rb +24639 -0
- data/lib/roebe/shell/shellrc_parser/shellrc_parser.rb +276 -0
- data/lib/roebe/shell/standalone_classes/time_converter.rb +86 -0
- data/lib/roebe/shell/standalone_classes/todo.rb +100 -0
- data/lib/roebe/shell/yaml/configuration/autoconvert_numbers.yml +1 -0
- data/lib/roebe/shell/yaml/configuration/be_verbose.yml +1 -0
- data/lib/roebe/shell/yaml/configuration/cd_burn_program.yml +1 -0
- data/lib/roebe/shell/yaml/configuration/check_for_isos.yml +1 -0
- data/lib/roebe/shell/yaml/configuration/check_upcoming_exams.yml +1 -0
- data/lib/roebe/shell/yaml/configuration/collapse.yml +1 -0
- data/lib/roebe/shell/yaml/configuration/colours.yml +10 -0
- data/lib/roebe/shell/yaml/configuration/debug.yml +1 -0
- data/lib/roebe/shell/yaml/configuration/default_browser_location.yml +1 -0
- data/lib/roebe/shell/yaml/configuration/default_delay.yml +1 -0
- data/lib/roebe/shell/yaml/configuration/default_file_action.yml +1 -0
- data/lib/roebe/shell/yaml/configuration/dictionaries.yml +2 -0
- data/lib/roebe/shell/yaml/configuration/display_index.yml +1 -0
- data/lib/roebe/shell/yaml/configuration/do_show_modification_time.yml +1 -0
- data/lib/roebe/shell/yaml/configuration/dvd_burn_program.yml +1 -0
- data/lib/roebe/shell/yaml/configuration/editor.yml +1 -0
- data/lib/roebe/shell/yaml/configuration/enter_extracted_directory.yml +1 -0
- data/lib/roebe/shell/yaml/configuration/events.yml +2 -0
- data/lib/roebe/shell/yaml/configuration/guess_directory_name.yml +1 -0
- data/lib/roebe/shell/yaml/configuration/jumper_directories.yml +9 -0
- data/lib/roebe/shell/yaml/configuration/last_directory.yml +1 -0
- data/lib/roebe/shell/yaml/configuration/logfile_for_history.yml +1 -0
- data/lib/roebe/shell/yaml/configuration/may_we_generate_file_skeleton.yml +1 -0
- data/lib/roebe/shell/yaml/configuration/may_we_use_ftp.yml +1 -0
- data/lib/roebe/shell/yaml/configuration/mplayer_favourite_files.yml +1 -0
- data/lib/roebe/shell/yaml/configuration/official_release.yml +1 -0
- data/lib/roebe/shell/yaml/configuration/open_downloaded_pdf_files_at_once.yml +1 -0
- data/lib/roebe/shell/yaml/configuration/operating_system.yml +1 -0
- data/lib/roebe/shell/yaml/configuration/padding.yml +1 -0
- data/lib/roebe/shell/yaml/configuration/pdf_viewer.yml +1 -0
- data/lib/roebe/shell/yaml/configuration/preferred_encoding.yml +1 -0
- data/lib/roebe/shell/yaml/configuration/protected_directories.yml +8 -0
- data/lib/roebe/shell/yaml/configuration/remove_globbed_files.yml +1 -0
- data/lib/roebe/shell/yaml/configuration/run_simulation.yml +1 -0
- data/lib/roebe/shell/yaml/configuration/shall_we_log_the_user_input_history.yml +1 -0
- data/lib/roebe/shell/yaml/configuration/shell_name.yml +1 -0
- data/lib/roebe/shell/yaml/configuration/shell_prompt.yml +1 -0
- data/lib/roebe/shell/yaml/configuration/shorten_directory_names.yml +1 -0
- data/lib/roebe/shell/yaml/configuration/show_absolute_path.yml +1 -0
- data/lib/roebe/shell/yaml/configuration/show_condensed_permissions.yml +1 -0
- data/lib/roebe/shell/yaml/configuration/show_hidden_files.yml +1 -0
- data/lib/roebe/shell/yaml/configuration/show_n_lines.yml +1 -0
- data/lib/roebe/shell/yaml/configuration/simplified.yml +1 -0
- data/lib/roebe/shell/yaml/configuration/stop_on_missing_symlink.yml +1 -0
- data/lib/roebe/shell/yaml/configuration/title_renamer.yml +1 -0
- data/lib/roebe/shell/yaml/configuration/translate_unknown_words.yml +1 -0
- data/lib/roebe/shell/yaml/configuration/truncate_long_file_names.yml +1 -0
- data/lib/roebe/shell/yaml/configuration/upload_screenshots.yml +1 -0
- data/lib/roebe/shell/yaml/configuration/use_aliases.yml +1 -0
- data/lib/roebe/shell/yaml/configuration/use_colours.yml +1 -0
- data/lib/roebe/shell/yaml/configuration/use_dictionary.yml +1 -0
- data/lib/roebe/shell/yaml/configuration/use_irb_drop.yml +1 -0
- data/lib/roebe/shell/yaml/configuration/use_irc.yml +1 -0
- data/lib/roebe/shell/yaml/configuration/use_konsole_colours.yml +1 -0
- data/lib/roebe/shell/yaml/configuration/use_readline.yml +1 -0
- data/lib/roebe/shell/yaml/configuration/video_collection.yml +1 -0
- data/lib/roebe/shell/yaml/configuration/video_player.yml +1 -0
- data/lib/roebe/shell/yaml/configuration/which_bin_shell_to_use.yml +1 -0
- data/lib/roebe/shell/yaml/configuration/which_shell.yml +1 -0
- data/lib/roebe/shell/yaml/default_apps.yml +7 -0
- data/lib/roebe/shell/yaml/ignore_these_last_commands.yml +12 -0
- data/lib/roebe/shell/yaml/lazy_load_these_components.yml +51 -0
- data/lib/roebe/shell_scripts/README.md +13 -0
- data/lib/roebe/shell_scripts/bashrc +39 -0
- data/lib/roebe/shell_scripts/check_bootloader.sh +30 -0
- data/lib/roebe/shell_scripts/cliner.sh +98 -0
- data/lib/roebe/shell_scripts/colour_grey_matrix.sh +7 -0
- data/lib/roebe/shell_scripts/coloured_calendar.sh +25 -0
- data/lib/roebe/shell_scripts/compile_ruby.sh +58 -0
- data/lib/roebe/shell_scripts/completion_for_rf.sh +1065 -0
- data/lib/roebe/shell_scripts/count_down.sh +13 -0
- data/lib/roebe/shell_scripts/create_new_file.sh +25 -0
- data/lib/roebe/shell_scripts/custom_prompts.sh +39 -0
- data/lib/roebe/shell_scripts/do_install.sh +24 -0
- data/lib/roebe/shell_scripts/do_stripped_install.sh +22 -0
- data/lib/roebe/shell_scripts/echo_loop_example.sh +4 -0
- data/lib/roebe/shell_scripts/extname.sh +21 -0
- data/lib/roebe/shell_scripts/extract.sh +42 -0
- data/lib/roebe/shell_scripts/extract_archive.sh +59 -0
- data/lib/roebe/shell_scripts/first_character.sh +31 -0
- data/lib/roebe/shell_scripts/how_to_obtain_user_input.sh +17 -0
- data/lib/roebe/shell_scripts/install_base_roebe.sh +41 -0
- data/lib/roebe/shell_scripts/lfs/001_binutils_1.sh +19 -0
- data/lib/roebe/shell_scripts/lfs/002_gcc_1.sh +36 -0
- data/lib/roebe/shell_scripts/lfs/003_linux_1.sh +23 -0
- data/lib/roebe/shell_scripts/lfs/004_glibc_1.sh +42 -0
- data/lib/roebe/shell_scripts/lfs/005_libstdc++_1.sh +25 -0
- data/lib/roebe/shell_scripts/lfs/006_m4_2.sh +22 -0
- data/lib/roebe/shell_scripts/lfs/007_ncurses_2.sh +39 -0
- data/lib/roebe/shell_scripts/lfs/008_bash_2.sh +21 -0
- data/lib/roebe/shell_scripts/lfs/009_coreutils_2.sh +25 -0
- data/lib/roebe/shell_scripts/lfs/010_diffutils_2.sh +20 -0
- data/lib/roebe/shell_scripts/lfs/011_file_2.sh +25 -0
- data/lib/roebe/shell_scripts/lfs/012_findutils_2.sh +20 -0
- data/lib/roebe/shell_scripts/lfs/013_gawk_2.sh +21 -0
- data/lib/roebe/shell_scripts/lfs/014_grep_2.sh +20 -0
- data/lib/roebe/shell_scripts/lfs/015_gzip_2.sh +20 -0
- data/lib/roebe/shell_scripts/lfs/016_make_2.sh +20 -0
- data/lib/roebe/shell_scripts/lfs/017_patch_2.sh +17 -0
- data/lib/roebe/shell_scripts/lfs/018_sed_2.sh +19 -0
- data/lib/roebe/shell_scripts/lfs/019_tar_2.sh +16 -0
- data/lib/roebe/shell_scripts/lfs/020_xz_2.sh +15 -0
- data/lib/roebe/shell_scripts/lfs/021_binutils_2.sh +30 -0
- data/lib/roebe/shell_scripts/lfs/022_gcc_2.sh +50 -0
- data/lib/roebe/shell_scripts/lfs/README.md +28 -0
- data/lib/roebe/shell_scripts/lfs/lfs_build_variables.sh +251 -0
- data/lib/roebe/shell_scripts/lfs/lfs_variables.sh +31 -0
- data/lib/roebe/shell_scripts/lfs/libstdc++_2.sh +20 -0
- data/lib/roebe/shell_scripts/lfs/ruby_2.sh +11 -0
- data/lib/roebe/shell_scripts/list_colours.sh +25 -0
- data/lib/roebe/shell_scripts/locales.sh +15 -0
- data/lib/roebe/shell_scripts/loop_example.sh +5 -0
- data/lib/roebe/shell_scripts/lower.sh +21 -0
- data/lib/roebe/shell_scripts/misc.sh +327 -0
- data/lib/roebe/shell_scripts/musl_cross_compiler.sh +178 -0
- data/lib/roebe/shell_scripts/no_caps.sh +16 -0
- data/lib/roebe/shell_scripts/number_guessing_game.sh +37 -0
- data/lib/roebe/shell_scripts/parameters_example.sh +58 -0
- data/lib/roebe/shell_scripts/query_parameters.sh +58 -0
- data/lib/roebe/shell_scripts/remove_broken_symlinks_in_the_current_working_directory.sh +1 -0
- data/lib/roebe/shell_scripts/reset_path.sh +15 -0
- data/lib/roebe/shell_scripts/return_random_file.sh +20 -0
- data/lib/roebe/shell_scripts/run_gobo_fixes.sh +17 -0
- data/lib/roebe/shell_scripts/shell_file_containing_the_html_colours.sh +148 -0
- data/lib/roebe/shell_scripts/show_semigraphic_characters.sh +14 -0
- data/lib/roebe/shell_scripts/show_site_ruby.sh +15 -0
- data/lib/roebe/shell_scripts/source_in_all_completions.sh +9 -0
- data/lib/roebe/shell_scripts/true_ata.sh +34 -0
- data/lib/roebe/shell_scripts/truecolour_line.sh +13 -0
- data/lib/roebe/shell_scripts/zenity_count_to_100.sh +5 -0
- data/lib/roebe/sinatra/README.md +6 -0
- data/lib/roebe/sinatra/erb_example/erb_example.erb +10 -0
- data/lib/roebe/sinatra/erb_example/erb_example.rb +13 -0
- data/lib/roebe/sinatra/inline_template_example/inline_template_example.rb +27 -0
- data/lib/roebe/sinatra/modify_http_response_headers_example/modify_http_response_headers_example.rb +13 -0
- data/lib/roebe/sinatra/multi_urls/multi_urls.rb +29 -0
- data/lib/roebe/sinatra/optional_route.rb +19 -0
- data/lib/roebe/sinatra/query_the_name/query_the_name.rb +7 -0
- data/lib/roebe/sinatra/rock_paper_and_scissors_example/rock_paper_and_scissors_example.rb +51 -0
- data/lib/roebe/sinatra/route_definition_examples/route_definition_examples.rb +25 -0
- data/lib/roebe/sinatra/send_file_example/send_file_example.rb +54 -0
- data/lib/roebe/sinatra/session_counter/session_counter.rb +51 -0
- data/lib/roebe/sinatra/show_the_environment_variables/show_the_environment_variables.rb +9 -0
- data/lib/roebe/sinatra/simple_authentication/simple_authentication.rb +25 -0
- data/lib/roebe/sinatra/simple_hello_world/simple_hello_world.rb +5 -0
- data/lib/roebe/sinatra/sinatra_authentication_example/sinatra_authentication_example.rb +117 -0
- data/lib/roebe/sinatra/sinatra_example_with_rack_component/sinatra_example_with_rack_component.rb +15 -0
- data/lib/roebe/sinatra/subclassing_sinatra_example/subclassing_sinatra_example.rb +19 -0
- data/lib/roebe/snippets/README.md +1 -0
- data/lib/roebe/snippets/first_argument.rb +5 -0
- data/lib/roebe/snippets/obtain_all_descendants.rb +31 -0
- data/lib/roebe/sql_paradise/commands.rb +604 -0
- data/lib/roebe/sql_paradise/create_database.rb +43 -0
- data/lib/roebe/sql_paradise/create_table.rb +47 -0
- data/lib/roebe/sql_paradise/insert_into.rb +77 -0
- data/lib/roebe/sql_paradise/sql_command.rb +22 -0
- data/lib/roebe/sql_paradise/sql_paradise.rb +180 -0
- data/lib/roebe/time/README.md +6 -0
- data/lib/roebe/time/seconds.rb +79 -0
- data/lib/roebe/time/time.rb +196 -0
- data/lib/roebe/toplevel_methods/arrow_keys.rb +37 -0
- data/lib/roebe/toplevel_methods/ascii_paradise.rb +23 -0
- data/lib/roebe/toplevel_methods/autoprune.rb +40 -0
- data/lib/roebe/toplevel_methods/background.rb +89 -0
- data/lib/roebe/toplevel_methods/base64.rb +37 -0
- data/lib/roebe/toplevel_methods/beautify_system.rb +25 -0
- data/lib/roebe/toplevel_methods/blinking_cursor.rb +88 -0
- data/lib/roebe/toplevel_methods/boku_opening_times.rb +30 -0
- data/lib/roebe/toplevel_methods/build_all_my_local_gems.rb +39 -0
- data/lib/roebe/toplevel_methods/bundle_exam_results.rb +48 -0
- data/lib/roebe/toplevel_methods/c_debug.rb +22 -0
- data/lib/roebe/toplevel_methods/calculate_bmi.rb +41 -0
- data/lib/roebe/toplevel_methods/calculate_hypotenuse.rb +26 -0
- data/lib/roebe/toplevel_methods/chained.rb +19 -0
- data/lib/roebe/toplevel_methods/chdir.rb +44 -0
- data/lib/roebe/toplevel_methods/check_whether_an_internet_connection_is_available.rb +38 -0
- data/lib/roebe/toplevel_methods/chroot.rb +170 -0
- data/lib/roebe/toplevel_methods/cliner.rb +72 -0
- data/lib/roebe/toplevel_methods/colourize_files_and_directories.rb +69 -0
- data/lib/roebe/toplevel_methods/colourized_tokenitor.rb +56 -0
- data/lib/roebe/toplevel_methods/convert_global_env.rb +34 -0
- data/lib/roebe/toplevel_methods/copy_setup_rb_file.rb +27 -0
- data/lib/roebe/toplevel_methods/copy_the_linux_kernel.rb +38 -0
- data/lib/roebe/toplevel_methods/cp_to_here.rb +34 -0
- data/lib/roebe/toplevel_methods/crazy_make_mode.rb +70 -0
- data/lib/roebe/toplevel_methods/create_directory.rb +35 -0
- data/lib/roebe/toplevel_methods/create_directory_layout.rb +58 -0
- data/lib/roebe/toplevel_methods/create_this_c_file.rb +36 -0
- data/lib/roebe/toplevel_methods/disable.rb +27 -0
- data/lib/roebe/toplevel_methods/display_array.rb +97 -0
- data/lib/roebe/toplevel_methods/display_mbr.rb +33 -0
- data/lib/roebe/toplevel_methods/does_this_program_exist.rb +57 -0
- data/lib/roebe/toplevel_methods/does_this_terminal_support_unicode.rb +27 -0
- data/lib/roebe/toplevel_methods/downcase_all_entries_in_the_current_directory.rb +43 -0
- data/lib/roebe/toplevel_methods/download_certdata.rb +29 -0
- data/lib/roebe/toplevel_methods/download_emojis.rb +48 -0
- data/lib/roebe/toplevel_methods/e.rb +33 -0
- data/lib/roebe/toplevel_methods/editor.rb +47 -0
- data/lib/roebe/toplevel_methods/email.rb +32 -0
- data/lib/roebe/toplevel_methods/enable.rb +27 -0
- data/lib/roebe/toplevel_methods/env.rb +40 -0
- data/lib/roebe/toplevel_methods/esystem.rb +22 -0
- data/lib/roebe/toplevel_methods/extract.rb +53 -0
- data/lib/roebe/toplevel_methods/fibonacci.rb +108 -0
- data/lib/roebe/toplevel_methods/files.rb +361 -0
- data/lib/roebe/toplevel_methods/generate_konsole_css_file.rb +82 -0
- data/lib/roebe/toplevel_methods/grab_colour.rb +31 -0
- data/lib/roebe/toplevel_methods/halloween.rb +105 -0
- data/lib/roebe/toplevel_methods/hello_world.rb +28 -0
- data/lib/roebe/toplevel_methods/heredocs.rb +32 -0
- data/lib/roebe/toplevel_methods/hostname.rb +38 -0
- data/lib/roebe/toplevel_methods/human_readable.rb +41 -0
- data/lib/roebe/toplevel_methods/images.rb +28 -0
- data/lib/roebe/toplevel_methods/important_pdf_files.rb +131 -0
- data/lib/roebe/toplevel_methods/increase_volume.rb +19 -0
- data/lib/roebe/toplevel_methods/install_and_update_rcfiles.rb +26 -0
- data/lib/roebe/toplevel_methods/install_linux_kernel_api_headers.rb +50 -0
- data/lib/roebe/toplevel_methods/install_nss.rb +52 -0
- data/lib/roebe/toplevel_methods/install_roebe_addons.rb +68 -0
- data/lib/roebe/toplevel_methods/install_rust.rb +26 -0
- data/lib/roebe/toplevel_methods/install_the_cascadia_font.rb +59 -0
- data/lib/roebe/toplevel_methods/install_the_hack_font.rb +69 -0
- data/lib/roebe/toplevel_methods/install_the_jet_brains_mono_font.rb +55 -0
- data/lib/roebe/toplevel_methods/install_this_font.rb +80 -0
- data/lib/roebe/toplevel_methods/install_this_locale.rb +30 -0
- data/lib/roebe/toplevel_methods/install_vivaldi.rb +33 -0
- data/lib/roebe/toplevel_methods/instance_variable_get.rb +22 -0
- data/lib/roebe/toplevel_methods/irb.rb +34 -0
- data/lib/roebe/toplevel_methods/is_on_roebe.rb +64 -0
- data/lib/roebe/toplevel_methods/jp2a.rb +49 -0
- data/lib/roebe/toplevel_methods/keywords.rb +43 -0
- data/lib/roebe/toplevel_methods/lighttpd.rb +12 -0
- data/lib/roebe/toplevel_methods/load_custom_ruby_files.rb +41 -0
- data/lib/roebe/toplevel_methods/load_yaml.rb +28 -0
- data/lib/roebe/toplevel_methods/mama.rb +30 -0
- data/lib/roebe/toplevel_methods/master_boot_record.rb +84 -0
- data/lib/roebe/toplevel_methods/math.rb +29 -0
- data/lib/roebe/toplevel_methods/misc.rb +837 -0
- data/lib/roebe/toplevel_methods/module_methods.rb +425 -0
- data/lib/roebe/toplevel_methods/mount_procs.rb +25 -0
- data/lib/roebe/toplevel_methods/move_file.rb +38 -0
- data/lib/roebe/toplevel_methods/move_to_torrent_directory.rb +48 -0
- data/lib/roebe/toplevel_methods/multimedia.rb +117 -0
- data/lib/roebe/toplevel_methods/n_characters_in_this_file.rb +45 -0
- data/lib/roebe/toplevel_methods/nano_addons.rb +36 -0
- data/lib/roebe/toplevel_methods/new_konsole_tab.rb +21 -0
- data/lib/roebe/toplevel_methods/newstud/newstud1.rb +24 -0
- data/lib/roebe/toplevel_methods/newstud/newstud10.rb +24 -0
- data/lib/roebe/toplevel_methods/newstud/newstud11.rb +24 -0
- data/lib/roebe/toplevel_methods/newstud/newstud12.rb +24 -0
- data/lib/roebe/toplevel_methods/newstud/newstud13.rb +24 -0
- data/lib/roebe/toplevel_methods/newstud/newstud14.rb +24 -0
- data/lib/roebe/toplevel_methods/newstud/newstud15.rb +24 -0
- data/lib/roebe/toplevel_methods/newstud/newstud16.rb +24 -0
- data/lib/roebe/toplevel_methods/newstud/newstud17.rb +24 -0
- data/lib/roebe/toplevel_methods/newstud/newstud18.rb +24 -0
- data/lib/roebe/toplevel_methods/newstud/newstud19.rb +24 -0
- data/lib/roebe/toplevel_methods/newstud/newstud2.rb +24 -0
- data/lib/roebe/toplevel_methods/newstud/newstud20.rb +24 -0
- data/lib/roebe/toplevel_methods/newstud/newstud21.rb +24 -0
- data/lib/roebe/toplevel_methods/newstud/newstud22.rb +24 -0
- data/lib/roebe/toplevel_methods/newstud/newstud23.rb +24 -0
- data/lib/roebe/toplevel_methods/newstud/newstud24.rb +24 -0
- data/lib/roebe/toplevel_methods/newstud/newstud25.rb +24 -0
- data/lib/roebe/toplevel_methods/newstud/newstud3.rb +24 -0
- data/lib/roebe/toplevel_methods/newstud/newstud4.rb +24 -0
- data/lib/roebe/toplevel_methods/newstud/newstud5.rb +24 -0
- data/lib/roebe/toplevel_methods/newstud/newstud6.rb +24 -0
- data/lib/roebe/toplevel_methods/newstud/newstud7.rb +24 -0
- data/lib/roebe/toplevel_methods/newstud/newstud8.rb +24 -0
- data/lib/roebe/toplevel_methods/newstud/newstud9.rb +24 -0
- data/lib/roebe/toplevel_methods/newstud.rb +23 -0
- data/lib/roebe/toplevel_methods/no_caps.rb +29 -0
- data/lib/roebe/toplevel_methods/ntrad.rb +36 -0
- data/lib/roebe/toplevel_methods/open_in_browser.rb +30 -0
- data/lib/roebe/toplevel_methods/open_in_editor.rb +29 -0
- data/lib/roebe/toplevel_methods/open_in_editor_and_browser.rb +38 -0
- data/lib/roebe/toplevel_methods/open_ports.rb +67 -0
- data/lib/roebe/toplevel_methods/opnn.rb +31 -0
- data/lib/roebe/toplevel_methods/permanently_set_project_base_directory_to.rb +40 -0
- data/lib/roebe/toplevel_methods/platform.rb +46 -0
- data/lib/roebe/toplevel_methods/pp_output.rb +31 -0
- data/lib/roebe/toplevel_methods/prime_numbers.rb +22 -0
- data/lib/roebe/toplevel_methods/programs_directory.rb +29 -0
- data/lib/roebe/toplevel_methods/purgeboth.rb +51 -0
- data/lib/roebe/toplevel_methods/puts_this.rb +29 -0
- data/lib/roebe/toplevel_methods/rds.rb +33 -0
- data/lib/roebe/toplevel_methods/regex.rb +87 -0
- data/lib/roebe/toplevel_methods/register_sigint.rb +67 -0
- data/lib/roebe/toplevel_methods/remove_user.rb +29 -0
- data/lib/roebe/toplevel_methods/repetition_pattern.rb +38 -0
- data/lib/roebe/toplevel_methods/replace_leading_file_name.rb +35 -0
- data/lib/roebe/toplevel_methods/replace_localhost_with_data.rb +39 -0
- data/lib/roebe/toplevel_methods/report_classes.rb +51 -0
- data/lib/roebe/toplevel_methods/report_the_gtk_versions_available.rb +40 -0
- data/lib/roebe/toplevel_methods/report_the_location_of_the_default_browser.rb +40 -0
- data/lib/roebe/toplevel_methods/require_this_roebe_class.rb +23 -0
- data/lib/roebe/toplevel_methods/return_all_remote_entries_from_this_url.rb +38 -0
- data/lib/roebe/toplevel_methods/return_date.rb +23 -0
- data/lib/roebe/toplevel_methods/return_even_numbered_lines_from_this_file.rb +37 -0
- data/lib/roebe/toplevel_methods/return_pwd.rb +25 -0
- data/lib/roebe/toplevel_methods/rinstall2.rb +115 -0
- data/lib/roebe/toplevel_methods/rubyzip.rb +85 -0
- data/lib/roebe/toplevel_methods/run_this_file_in_the_background.rb +26 -0
- data/lib/roebe/toplevel_methods/sanitize_url.rb +74 -0
- data/lib/roebe/toplevel_methods/set_ten_aliases.rb +25 -0
- data/lib/roebe/toplevel_methods/setup.rb +37 -0
- data/lib/roebe/toplevel_methods/show_beauty_string.rb +27 -0
- data/lib/roebe/toplevel_methods/show_processes.rb +31 -0
- data/lib/roebe/toplevel_methods/silent_redirection.rb +17 -0
- data/lib/roebe/toplevel_methods/sitelibdir.rb +24 -0
- data/lib/roebe/toplevel_methods/studium1.rb +30 -0
- data/lib/roebe/toplevel_methods/time.rb +152 -0
- data/lib/roebe/toplevel_methods/to_bool.rb +31 -0
- data/lib/roebe/toplevel_methods/to_camelcase.rb +19 -0
- data/lib/roebe/toplevel_methods/to_mp3.rb +40 -0
- data/lib/roebe/toplevel_methods/to_underscore.rb +36 -0
- data/lib/roebe/toplevel_methods/tokenitor.rb +29 -0
- data/lib/roebe/toplevel_methods/trad.rb +37 -0
- data/lib/roebe/toplevel_methods/try_to_enable_the_expanded_cd_aliases.rb +64 -0
- data/lib/roebe/toplevel_methods/unicode/README.md +1 -0
- data/lib/roebe/toplevel_methods/unicode/colourful_unicode_snowmen.rb +151 -0
- data/lib/roebe/toplevel_methods/unicode/completed.rb +57 -0
- data/lib/roebe/toplevel_methods/unicode/decompose_this_unicode_symbol.rb +26 -0
- data/lib/roebe/toplevel_methods/unicode/display_unicode_snowman.rb +31 -0
- data/lib/roebe/toplevel_methods/unicode/download_unicode_dataset.rb +31 -0
- data/lib/roebe/toplevel_methods/unicode/map_input_to_unicode_symbol.rb +260 -0
- data/lib/roebe/toplevel_methods/unicode/popular_unicode_symbols.rb +1090 -0
- data/lib/roebe/toplevel_methods/unicode/return_all_unicode_symbols.rb +26 -0
- data/lib/roebe/toplevel_methods/unicode/unicode_block_elements.rb +262 -0
- data/lib/roebe/toplevel_methods/unicode/unicode_chess_symbols.rb +162 -0
- data/lib/roebe/toplevel_methods/update_pciids.rb +71 -0
- data/lib/roebe/toplevel_methods/update_the_main_pdf_viewer_file_with_this_program.rb +58 -0
- data/lib/roebe/toplevel_methods/variables.rb +26 -0
- data/lib/roebe/toplevel_methods/verbose_truth.rb +23 -0
- data/lib/roebe/toplevel_methods/video.rb +39 -0
- data/lib/roebe/toplevel_methods/warning.rb +184 -0
- data/lib/roebe/toplevel_methods/webrick.rb +80 -0
- data/lib/roebe/toplevel_methods/wget.rb +17 -0
- data/lib/roebe/toplevel_methods/whois.rb +36 -0
- data/lib/roebe/toplevel_methods/windows.rb +22 -0
- data/lib/roebe/toplevel_methods/wlan/bring_up_this_wlan_device.rb +51 -0
- data/lib/roebe/toplevel_methods/wlan/scan_for_wlan_spots.rb +39 -0
- data/lib/roebe/toplevel_methods/word_frequencies.rb +65 -0
- data/lib/roebe/toplevel_methods/write_what_into.rb +86 -0
- data/lib/roebe/toplevel_methods/xorg_buffer.rb +30 -0
- data/lib/roebe/toplevel_methods/zlib.rb +57 -0
- data/lib/roebe/urxvt/config +7 -0
- data/lib/roebe/validation/README.md +3 -0
- data/lib/roebe/validation/validate_roeberia_environment_variables.rb +120 -0
- data/lib/roebe/version/version.rb +54 -0
- data/lib/roebe/windows/bat/README.md +1 -0
- data/lib/roebe/windows/bat/compile_gtk_application_hello_world_example.bat +1 -0
- data/lib/roebe/windows/bat/screenCapture.bat +282 -0
- data/lib/roebe/windows/doskey.md +50452 -0
- data/lib/roebe/windows/misc.rb +40 -0
- data/lib/roebe/windows/popup_windows_message_box.rb +21 -0
- data/lib/roebe/windows/powershell.rb +341 -0
- data/lib/roebe/windows/usb_devices.rb +38 -0
- data/lib/roebe/www/1984/1984.cgi +98 -0
- data/lib/roebe/www/BIOS/BIOS.cgi +79 -0
- data/lib/roebe/www/GIS/GIS.cgi +192 -0
- data/lib/roebe/www/GhostBSD/GhostBSD.cgi +7 -0
- data/lib/roebe/www/GhostBSD/GhostBSD.rb +39 -0
- data/lib/roebe/www/GhostBSD/GhostBSD.sinatra +56 -0
- data/lib/roebe/www/HDMI/HDMI.cgi +34 -0
- data/lib/roebe/www/IntelliJ_IDEA/tutorial.cgi +82 -0
- data/lib/roebe/www/LATEX/LATEX.md +29 -0
- data/lib/roebe/www/LEDS/LEDS.cgi +7 -0
- data/lib/roebe/www/LEDS/LEDS.rb +201 -0
- data/lib/roebe/www/LEDS/LEDS.sinatra +58 -0
- data/lib/roebe/www/OLEDS/OLEDS.md +44 -0
- data/lib/roebe/www/PCR/PCR.cgi +106 -0
- data/lib/roebe/www/R/R.cgi +9 -0
- data/lib/roebe/www/R/R.rb +1492 -0
- data/lib/roebe/www/R/R.sinatra +58 -0
- data/lib/roebe/www/R/examples/boxplot_example.R +42 -0
- data/lib/roebe/www/R/functions/functions.R +104 -0
- data/lib/roebe/www/RAM/RAM.cgi +7 -0
- data/lib/roebe/www/RAM/RAM.rb +254 -0
- data/lib/roebe/www/RAM/RAM.sinatra +56 -0
- data/lib/roebe/www/REST/REST.md +12 -0
- data/lib/roebe/www/RNA/RNA.cgi +245 -0
- data/lib/roebe/www/SDL/SDL.cgi +7 -0
- data/lib/roebe/www/SDL/SDL.rb +710 -0
- data/lib/roebe/www/SDL/SDL.sinatra +56 -0
- data/lib/roebe/www/SQL/SQL.cgi +34 -0
- data/lib/roebe/www/T-mobile/vienna.md +2 -0
- data/lib/roebe/www/UNIX/UNIX.cgi +68 -0
- data/lib/roebe/www/X3D/X3D.cgi +7 -0
- data/lib/roebe/www/X3D/X3D.rb +46 -0
- data/lib/roebe/www/X3D/X3D.sinatra +56 -0
- data/lib/roebe/www/abwasch/abwasch.cgi +7 -0
- data/lib/roebe/www/abwasch/abwasch.rb +116 -0
- data/lib/roebe/www/abwasch/abwasch.sinatra +52 -0
- data/lib/roebe/www/adobe_acrobat_reader/content.md +7 -0
- data/lib/roebe/www/aging/aging.cgi +7 -0
- data/lib/roebe/www/aging/aging.rb +1322 -0
- data/lib/roebe/www/aging/aging.sinatra +56 -0
- data/lib/roebe/www/agrarm/303/244rkte/agrarm/303/244rkte.cgi +209 -0
- data/lib/roebe/www/aids/aids.cgi +7 -0
- data/lib/roebe/www/aids/aids.rb +240 -0
- data/lib/roebe/www/aids/aids.sinatra +56 -0
- data/lib/roebe/www/ajax/ajax.cgi +7 -0
- data/lib/roebe/www/ajax/ajax.rb +88 -0
- data/lib/roebe/www/ajax/ajax.sinatra +56 -0
- data/lib/roebe/www/algorithms/algorithms.cgi +7 -0
- data/lib/roebe/www/algorithms/algorithms.rb +262 -0
- data/lib/roebe/www/algorithms/algorithms.sinatra +56 -0
- data/lib/roebe/www/alkohole/alkohole.cgi +61 -0
- data/lib/roebe/www/allegro/allegro.cgi +7 -0
- data/lib/roebe/www/allegro/allegro.rb +396 -0
- data/lib/roebe/www/allegro/allegro.sinatra +56 -0
- data/lib/roebe/www/alsa/alsa.cgi +7 -0
- data/lib/roebe/www/alsa/alsa.rb +313 -0
- data/lib/roebe/www/alsa/alsa.sinatra +56 -0
- data/lib/roebe/www/amino_acids/amino_acids.cgi +7 -0
- data/lib/roebe/www/amino_acids/amino_acids.rb +34 -0
- data/lib/roebe/www/amino_acids/amino_acids.sinatra +56 -0
- data/lib/roebe/www/amusing_bits/fussball_zitate.cgi +7 -0
- data/lib/roebe/www/amusing_bits/fussball_zitate.rb +182 -0
- data/lib/roebe/www/amusing_bits/fussball_zitate.sinatra +56 -0
- data/lib/roebe/www/amusing_bits/george_bush/george_bush.cgi +7 -0
- data/lib/roebe/www/amusing_bits/george_bush/george_bush.rb +189 -0
- data/lib/roebe/www/amusing_bits/george_bush/george_bush.sinatra +56 -0
- data/lib/roebe/www/amusing_bits/lustige_menschen/lustige_menschen.cgi +7 -0
- data/lib/roebe/www/amusing_bits/lustige_menschen/lustige_menschen.rb +142 -0
- data/lib/roebe/www/amusing_bits/lustige_menschen/lustige_menschen.sinatra +56 -0
- data/lib/roebe/www/amusing_bits/lustige_tiere/lustige_tiere.cgi +9 -0
- data/lib/roebe/www/amusing_bits/lustige_tiere/lustige_tiere.rb +211 -0
- data/lib/roebe/www/amusing_bits/lustige_tiere/lustige_tiere.sinatra +56 -0
- data/lib/roebe/www/amusing_bits/the_iraq_war_and_other_wars/the_iraq_war_and_other_wars.cgi +7 -0
- data/lib/roebe/www/amusing_bits/the_iraq_war_and_other_wars/the_iraq_war_and_other_wars.rb +74 -0
- data/lib/roebe/www/amusing_bits/the_iraq_war_and_other_wars/the_iraq_war_and_other_wars.sinatra +56 -0
- data/lib/roebe/www/analytical_chemistry/content.md +2 -0
- data/lib/roebe/www/anthropology/anthropology.cgi +7 -0
- data/lib/roebe/www/anthropology/anthropology.rb +26 -0
- data/lib/roebe/www/anthropology/anthropology.sinatra +56 -0
- data/lib/roebe/www/antibiotics/antibiotics.cgi +68 -0
- data/lib/roebe/www/antibodies/antibodies.cgi +7 -0
- data/lib/roebe/www/antibodies/antibodies.rb +311 -0
- data/lib/roebe/www/antibodies/antibodies.sinatra +56 -0
- data/lib/roebe/www/ants/ants.cgi +7 -0
- data/lib/roebe/www/ants/ants.rb +150 -0
- data/lib/roebe/www/ants/ants.sinatra +56 -0
- data/lib/roebe/www/ants/news.md +90 -0
- data/lib/roebe/www/apache/apache.cgi +7 -0
- data/lib/roebe/www/apache/apache.rb +1164 -0
- data/lib/roebe/www/apache/apache.sinatra +56 -0
- data/lib/roebe/www/apache/configuration/add_handler.conf +26 -0
- data/lib/roebe/www/apache/configuration/add_type.conf +29 -0
- data/lib/roebe/www/apache/configuration/autogenerated_rewrite_rules.conf +66 -0
- data/lib/roebe/www/apache/configuration/document_root.conf +32 -0
- data/lib/roebe/www/apache/configuration/email.conf +8 -0
- data/lib/roebe/www/apache/configuration/error_log.conf +36 -0
- data/lib/roebe/www/apache/configuration/load_modules.conf +48 -0
- data/lib/roebe/www/apache/configuration/mime_module.conf +11 -0
- data/lib/roebe/www/apache/configuration/php.conf +22 -0
- data/lib/roebe/www/apache/configuration/proxy_html_module.conf +6 -0
- data/lib/roebe/www/apache/configuration/rewrite_rules.conf +137 -0
- data/lib/roebe/www/apache/configuration/ruby.conf +13 -0
- data/lib/roebe/www/apache/configuration/server_name.conf +10 -0
- data/lib/roebe/www/apache/configuration/server_root.conf +6 -0
- data/lib/roebe/www/apache/configuration/unixd_module.conf +22 -0
- data/lib/roebe/www/apoptose/apoptose.cgi +31 -0
- data/lib/roebe/www/apple/apple.cgi +7 -0
- data/lib/roebe/www/apple/apple.rb +237 -0
- data/lib/roebe/www/apple/apple.sinatra +56 -0
- data/lib/roebe/www/archaea/archaea.cgi +7 -0
- data/lib/roebe/www/archaea/archaea.rb +540 -0
- data/lib/roebe/www/archaea/archaea.sinatra +56 -0
- data/lib/roebe/www/arduino/arduino.cgi +7 -0
- data/lib/roebe/www/arduino/arduino.rb +275 -0
- data/lib/roebe/www/arduino/arduino.sinatra +56 -0
- data/lib/roebe/www/arduino/sketches/0001_blink.sketch +30 -0
- data/lib/roebe/www/ariolante_and_the_kitten/AriolanteAndTheKitten.rb +92 -0
- data/lib/roebe/www/ariolante_and_the_kitten/ariolante_and_the_kitten.cgi +7 -0
- data/lib/roebe/www/ariolante_and_the_kitten/ariolante_and_the_kitten.html +45455 -0
- data/lib/roebe/www/ariolante_and_the_kitten/ariolante_and_the_kitten.md +104 -0
- data/lib/roebe/www/ariolante_and_the_kitten/ariolante_and_the_kitten.rb +113 -0
- data/lib/roebe/www/ariolante_and_the_kitten/ariolante_and_the_kitten.sinatra +61 -0
- data/lib/roebe/www/armaturen/armaturen.cgi +7 -0
- data/lib/roebe/www/armaturen/armaturen.rb +93 -0
- data/lib/roebe/www/armaturen/armaturen.sinatra +56 -0
- data/lib/roebe/www/art/art.cgi +7 -0
- data/lib/roebe/www/art/art.rb +288 -0
- data/lib/roebe/www/art/art.sinatra +52 -0
- data/lib/roebe/www/artificial_intelligence/artificial_intelligence.cgi +7 -0
- data/lib/roebe/www/artificial_intelligence/artificial_intelligence.rb +589 -0
- data/lib/roebe/www/artificial_intelligence/artificial_intelligence.sinatra +56 -0
- data/lib/roebe/www/atomkraftwerke/atomkraftwerke.cgi +7 -0
- data/lib/roebe/www/atomkraftwerke/atomkraftwerke.rb +320 -0
- data/lib/roebe/www/atomkraftwerke/atomkraftwerke.sinatra +56 -0
- data/lib/roebe/www/audacity/audacity.cgi +29 -0
- data/lib/roebe/www/audio/audio.cgi +9 -0
- data/lib/roebe/www/audio/audio.rb +2747 -0
- data/lib/roebe/www/audio/audio.sinatra +56 -0
- data/lib/roebe/www/avisynth/avisynth.cgi +173 -0
- data/lib/roebe/www/bacteria/bacteria.cgi +7 -0
- data/lib/roebe/www/bacteria/bacteria.rb +41 -0
- data/lib/roebe/www/bacteria/bacteria.sinatra +56 -0
- data/lib/roebe/www/batterien/batterien.cgi +9 -0
- data/lib/roebe/www/batterien/batterien.rb +162 -0
- data/lib/roebe/www/batterien/batterien.sinatra +56 -0
- data/lib/roebe/www/beamte/beamte.cgi +7 -0
- data/lib/roebe/www/beamte/beamte.rb +19 -0
- data/lib/roebe/www/beamte/beamte.sinatra +56 -0
- data/lib/roebe/www/beauty/beauty.cgi +9 -0
- data/lib/roebe/www/beauty/beauty.rb +132 -0
- data/lib/roebe/www/beauty/beauty.sinatra +56 -0
- data/lib/roebe/www/best_voices/best_voices.cgi +7 -0
- data/lib/roebe/www/best_voices/best_voices.rb +71 -0
- data/lib/roebe/www/best_voices/best_voices.sinatra +56 -0
- data/lib/roebe/www/biobricks/biobricks.cgi +7 -0
- data/lib/roebe/www/biobricks/biobricks.rb +19 -0
- data/lib/roebe/www/biobricks/biobricks.sinatra +56 -0
- data/lib/roebe/www/biochemistry/biochemistry.cgi +7 -0
- data/lib/roebe/www/biochemistry/biochemistry.rb +403 -0
- data/lib/roebe/www/biochemistry/biochemistry.sinatra +56 -0
- data/lib/roebe/www/biochips/biochips.cgi +26 -0
- data/lib/roebe/www/bioinformatics/bioinformatics.cgi +11 -0
- data/lib/roebe/www/bioinformatics/bioinformatics.rb +416 -0
- data/lib/roebe/www/bioinformatics/bioinformatics.sinatra +56 -0
- data/lib/roebe/www/biology/biology.cgi +134 -0
- data/lib/roebe/www/biology/biology.md +19 -0
- data/lib/roebe/www/biomarkers/biomarkers.cgi +138 -0
- data/lib/roebe/www/biomaterials/biomaterials.cgi +7 -0
- data/lib/roebe/www/biomaterials/biomaterials.rb +349 -0
- data/lib/roebe/www/biomaterials/biomaterials.sinatra +56 -0
- data/lib/roebe/www/biotechnology/biotechnology.cgi +7 -0
- data/lib/roebe/www/biotechnology/biotechnology.rb +525 -0
- data/lib/roebe/www/biotechnology/biotechnology.sinatra +56 -0
- data/lib/roebe/www/blender3d/blender3d.cgi +7 -0
- data/lib/roebe/www/blender3d/blender3d.rb +265 -0
- data/lib/roebe/www/blender3d/blender3d.sinatra +56 -0
- data/lib/roebe/www/blog/blog.cgi +9 -0
- data/lib/roebe/www/blog/blog.rb +258 -0
- data/lib/roebe/www/blog/blog.sinatra +56 -0
- data/lib/roebe/www/bluefish/README.md +5 -0
- data/lib/roebe/www/bluefish/STD.bfproject +62 -0
- data/lib/roebe/www/bluefish/STD.bfproject~ +62 -0
- data/lib/roebe/www/bluefish/TODO.md +6 -0
- data/lib/roebe/www/bodenkunde/bodenkunde.cgi +128 -0
- data/lib/roebe/www/bsd/bsd.cgi +7 -0
- data/lib/roebe/www/bsd/bsd.rb +90 -0
- data/lib/roebe/www/bsd/bsd.sinatra +56 -0
- data/lib/roebe/www/calculator/calculator.cgi +7 -0
- data/lib/roebe/www/calculator/calculator.rb +15 -0
- data/lib/roebe/www/calculator/calculator.sinatra +56 -0
- data/lib/roebe/www/cameras/cameras.cgi +9 -0
- data/lib/roebe/www/cameras/cameras.rb +358 -0
- data/lib/roebe/www/cameras/cameras.sinatra +56 -0
- data/lib/roebe/www/cancer/cancer.cgi +7 -0
- data/lib/roebe/www/cancer/cancer.rb +270 -0
- data/lib/roebe/www/cancer/cancer.sinatra +56 -0
- data/lib/roebe/www/cassette/cassette.cgi +719 -0
- data/lib/roebe/www/cats/cats.cgi +7 -0
- data/lib/roebe/www/cats/cats.rb +310 -0
- data/lib/roebe/www/cats/cats.sinatra +56 -0
- data/lib/roebe/www/cell_cultures/cell_cultures.cgi +378 -0
- data/lib/roebe/www/cellbiology/cellbiology.cgi +7 -0
- data/lib/roebe/www/cellbiology/cellbiology.rb +1110 -0
- data/lib/roebe/www/cellbiology/cellbiology.sinatra +56 -0
- data/lib/roebe/www/cellulose/cellulose.cgi +7 -0
- data/lib/roebe/www/cellulose/cellulose.rb +28 -0
- data/lib/roebe/www/cellulose/cellulose.sinatra +56 -0
- data/lib/roebe/www/chemistry/chemistry.cgi +7 -0
- data/lib/roebe/www/chemistry/chemistry.rb +1961 -0
- data/lib/roebe/www/chemistry/chemistry.sinatra +58 -0
- data/lib/roebe/www/chromatography/content.md +2 -0
- data/lib/roebe/www/chrome_and_chromium/chrome_and_chromium.cgi +7 -0
- data/lib/roebe/www/chrome_and_chromium/chrome_and_chromium.rb +295 -0
- data/lib/roebe/www/chrome_and_chromium/chrome_and_chromium.sinatra +56 -0
- data/lib/roebe/www/cmake/CMakeTemplate.txt +48 -0
- data/lib/roebe/www/cmake/cmake.cgi +7 -0
- data/lib/roebe/www/cmake/cmake.rb +142 -0
- data/lib/roebe/www/cmake/cmake.sinatra +52 -0
- data/lib/roebe/www/codecs/codecs.cgi +94 -0
- data/lib/roebe/www/codepages/codepages.cgi +9 -0
- data/lib/roebe/www/codepages/codepages.rb +17 -0
- data/lib/roebe/www/codepages/codepages.sinatra +56 -0
- data/lib/roebe/www/cognitive_biology/cognitive_biology.cgi +805 -0
- data/lib/roebe/www/cognitive_biology/cognitive_biology.html +40634 -0
- data/lib/roebe/www/compact_disc/compact_disc.cgi +7 -0
- data/lib/roebe/www/compact_disc/compact_disc.rb +124 -0
- data/lib/roebe/www/compact_disc/compact_disc.sinatra +56 -0
- data/lib/roebe/www/compiling/compiling.cgi +9 -0
- data/lib/roebe/www/compiling/compiling.rb +2580 -0
- data/lib/roebe/www/compiling/compiling.sinatra +52 -0
- data/lib/roebe/www/componists/vivaldi.cgi +224 -0
- data/lib/roebe/www/computers/computers.cgi +107 -0
- data/lib/roebe/www/conference_talks/conference_talks.md +11 -0
- data/lib/roebe/www/conky/conky.cgi +7 -0
- data/lib/roebe/www/conky/conky.rb +132 -0
- data/lib/roebe/www/conky/conky.sinatra +56 -0
- data/lib/roebe/www/conky/my_conkyrc_04.02.2020 +83 -0
- data/lib/roebe/www/consumers/consumers.cgi +7 -0
- data/lib/roebe/www/consumers/consumers.rb +23 -0
- data/lib/roebe/www/consumers/consumers.sinatra +56 -0
- data/lib/roebe/www/covid19/covid19.cgi +10 -0
- data/lib/roebe/www/covid19/covid19.rb +2160 -0
- data/lib/roebe/www/covid19/covid19.sinatra +56 -0
- data/lib/roebe/www/creativity/creativity.cgi +9 -0
- data/lib/roebe/www/creativity/creativity.rb +40 -0
- data/lib/roebe/www/creativity/creativity.sinatra +56 -0
- data/lib/roebe/www/crispr/crispr.cgi +7 -0
- data/lib/roebe/www/crispr/crispr.rb +317 -0
- data/lib/roebe/www/crispr/crispr.sinatra +56 -0
- data/lib/roebe/www/cron/cron.cgi +7 -0
- data/lib/roebe/www/cron/cron.rb +99 -0
- data/lib/roebe/www/cron/cron.sinatra +56 -0
- data/lib/roebe/www/cyanobacteria/cyanobacteria.cgi +7 -0
- data/lib/roebe/www/cyanobacteria/cyanobacteria.rb +127 -0
- data/lib/roebe/www/cyanobacteria/cyanobacteria.sinatra +56 -0
- data/lib/roebe/www/cytogenetics/cytogenetics.cgi +7 -0
- data/lib/roebe/www/cytogenetics/cytogenetics.rb +41 -0
- data/lib/roebe/www/cytogenetics/cytogenetics.sinatra +56 -0
- data/lib/roebe/www/databases/databases.cgi +78 -0
- data/lib/roebe/www/databases/postgresql/postgresql.cgi +7 -0
- data/lib/roebe/www/databases/postgresql/postgresql.rb +323 -0
- data/lib/roebe/www/databases/postgresql/postgresql.sinatra +56 -0
- data/lib/roebe/www/databases/postgresql/psqlrc +22 -0
- data/lib/roebe/www/databases/sqlite/sqlite.cgi +7 -0
- data/lib/roebe/www/databases/sqlite/sqlite.rb +625 -0
- data/lib/roebe/www/databases/sqlite/sqlite.sinatra +56 -0
- data/lib/roebe/www/decibel/decibel.cgi +96 -0
- data/lib/roebe/www/designing/SLOGANS.md +3 -0
- data/lib/roebe/www/designing_and_art/designing_and_art.cgi +9 -0
- data/lib/roebe/www/designing_and_art/designing_and_art.rb +755 -0
- data/lib/roebe/www/designing_and_art/designing_and_art.sinatra +56 -0
- data/lib/roebe/www/designing_on_linux/designing_on_linux.cgi +7 -0
- data/lib/roebe/www/designing_on_linux/designing_on_linux.rb +66 -0
- data/lib/roebe/www/designing_on_linux/designing_on_linux.sinatra +56 -0
- data/lib/roebe/www/developmental_biology/developmental_biology.cgi +7 -0
- data/lib/roebe/www/developmental_biology/developmental_biology.rb +503 -0
- data/lib/roebe/www/developmental_biology/developmental_biology.sinatra +56 -0
- data/lib/roebe/www/die_erde/die_erde.cgi +7 -0
- data/lib/roebe/www/die_erde/die_erde.rb +45 -0
- data/lib/roebe/www/die_erde/die_erde.sinatra +56 -0
- data/lib/roebe/www/die_herrenlose_katze/die_herrenlose_katze.cgi +7 -0
- data/lib/roebe/www/die_herrenlose_katze/die_herrenlose_katze.html +41583 -0
- data/lib/roebe/www/die_herrenlose_katze/die_herrenlose_katze.rb +476 -0
- data/lib/roebe/www/die_herrenlose_katze/die_herrenlose_katze.sinatra +61 -0
- data/lib/roebe/www/die_katze_im_schnee/DieKatzeImSchnee.rb +80 -0
- data/lib/roebe/www/die_katze_im_schnee/die_katze_im_schnee.cgi +7 -0
- data/lib/roebe/www/die_katze_im_schnee/die_katze_im_schnee.html +41461 -0
- data/lib/roebe/www/die_katze_im_schnee/die_katze_im_schnee.md +185 -0
- data/lib/roebe/www/die_katze_im_schnee/die_katze_im_schnee.rb +111 -0
- data/lib/roebe/www/die_katze_im_schnee/die_katze_im_schnee.sinatra +61 -0
- data/lib/roebe/www/direct_democracy/direct_democracy.cgi +7 -0
- data/lib/roebe/www/direct_democracy/direct_democracy.rb +45 -0
- data/lib/roebe/www/direct_democracy/direct_democracy.sinatra +56 -0
- data/lib/roebe/www/distcc/distcc.cgi +7 -0
- data/lib/roebe/www/distcc/distcc.rb +78 -0
- data/lib/roebe/www/distcc/distcc.sinatra +56 -0
- data/lib/roebe/www/dna_repair_and_mutations/dna_repair_and_mutations.cgi +448 -0
- data/lib/roebe/www/dna_replication/DNA_replication.cgi +32 -0
- data/lib/roebe/www/documentation/README.md +3 -0
- data/lib/roebe/www/documentation/documentation.rb +98 -0
- data/lib/roebe/www/dolphin/add_to_vlc_playlist.desktop +12 -0
- data/lib/roebe/www/dosbox/autogenerated_dosbox.conf +776 -0
- data/lib/roebe/www/dosbox/dosbox.cgi +7 -0
- data/lib/roebe/www/dosbox/dosbox.rb +241 -0
- data/lib/roebe/www/dosbox/dosbox.sinatra +52 -0
- data/lib/roebe/www/dosboxx/dosboxx.cgi +74 -0
- data/lib/roebe/www/drucker/drucker.cgi +7 -0
- data/lib/roebe/www/drucker/drucker.rb +256 -0
- data/lib/roebe/www/drucker/drucker.sinatra +56 -0
- data/lib/roebe/www/economy/economy.cgi +7 -0
- data/lib/roebe/www/economy/economy.rb +16 -0
- data/lib/roebe/www/economy/economy.sinatra +56 -0
- data/lib/roebe/www/economy/mieten_und_wohnen.cgi +7 -0
- data/lib/roebe/www/economy/mieten_und_wohnen.rb +39 -0
- data/lib/roebe/www/economy/mieten_und_wohnen.sinatra +56 -0
- data/lib/roebe/www/elektrophorese/elektrophorese.cgi +277 -0
- data/lib/roebe/www/emacs/emacs.cgi +7 -0
- data/lib/roebe/www/emacs/emacs.rb +71 -0
- data/lib/roebe/www/emacs/emacs.sinatra +56 -0
- data/lib/roebe/www/embeddable_interface.rb +54 -0
- data/lib/roebe/www/encodings/encodings.cgi +7 -0
- data/lib/roebe/www/encodings/encodings.rb +80 -0
- data/lib/roebe/www/encodings/encodings.sinatra +56 -0
- data/lib/roebe/www/english/english.cgi +7 -0
- data/lib/roebe/www/english/english.rb +62 -0
- data/lib/roebe/www/english/english.sinatra +52 -0
- data/lib/roebe/www/enzymes/enzymes.cgi +53 -0
- data/lib/roebe/www/epigenetics/epigenetics.cgi +75 -0
- data/lib/roebe/www/erben/erben.cgi +7 -0
- data/lib/roebe/www/erben/erben.rb +45 -0
- data/lib/roebe/www/erben/erben.sinatra +56 -0
- data/lib/roebe/www/ern/303/244hrung/ern/303/244hrung.cgi +7 -0
- data/lib/roebe/www/ern/303/244hrung/ern/303/244hrung.rb +263 -0
- data/lib/roebe/www/ern/303/244hrung/ern/303/244hrung.sinatra +56 -0
- data/lib/roebe/www/erste_hilfe/erste_hilfe.cgi +186 -0
- data/lib/roebe/www/ethernet/ethernet.cgi +27 -0
- data/lib/roebe/www/ethik/ethik.md +4 -0
- data/lib/roebe/www/euphemismen_und_werturteile/euphemismen_und_werturteile.cgi +9 -0
- data/lib/roebe/www/euphemismen_und_werturteile/euphemismen_und_werturteile.rb +301 -0
- data/lib/roebe/www/euphemismen_und_werturteile/euphemismen_und_werturteile.sinatra +56 -0
- data/lib/roebe/www/evolution/evolution.cgi +7 -0
- data/lib/roebe/www/evolution/evolution.rb +454 -0
- data/lib/roebe/www/evolution/evolution.sinatra +52 -0
- data/lib/roebe/www/excel/excel.cgi +7 -0
- data/lib/roebe/www/excel/excel.rb +23 -0
- data/lib/roebe/www/excel/excel.sinatra +56 -0
- data/lib/roebe/www/festplatten/festplatten.cgi +7 -0
- data/lib/roebe/www/festplatten/festplatten.rb +839 -0
- data/lib/roebe/www/festplatten/festplatten.sinatra +56 -0
- data/lib/roebe/www/ffmpeg/ffmpeg.cgi +454 -0
- data/lib/roebe/www/fire/fire.cgi +9 -0
- data/lib/roebe/www/fire/fire.rb +803 -0
- data/lib/roebe/www/fire/fire.sinatra +56 -0
- data/lib/roebe/www/firefox/firefox.cgi +11 -0
- data/lib/roebe/www/firefox/firefox.rb +1317 -0
- data/lib/roebe/www/firefox/firefox.sinatra +56 -0
- data/lib/roebe/www/firefox/mozconfig +93 -0
- data/lib/roebe/www/flexible_foto_gallery/README.md +3 -0
- data/lib/roebe/www/flexible_foto_gallery/flexible_foto_gallery.cgi +64 -0
- data/lib/roebe/www/food/food.cgi +7 -0
- data/lib/roebe/www/food/food.rb +369 -0
- data/lib/roebe/www/food/food.sinatra +56 -0
- data/lib/roebe/www/fox/fox.cgi +7 -0
- data/lib/roebe/www/fox/fox.rb +890 -0
- data/lib/roebe/www/fox/fox.sinatra +56 -0
- data/lib/roebe/www/ftp/ftp.cgi +7 -0
- data/lib/roebe/www/ftp/ftp.rb +134 -0
- data/lib/roebe/www/ftp/ftp.sinatra +56 -0
- data/lib/roebe/www/funk/funk.cgi +7 -0
- data/lib/roebe/www/funk/funk.rb +385 -0
- data/lib/roebe/www/funk/funk.sinatra +56 -0
- data/lib/roebe/www/gedichte/gedichte.cgi +7 -0
- data/lib/roebe/www/gedichte/gedichte.rb +13 -0
- data/lib/roebe/www/gedichte/gedichte.sinatra +56 -0
- data/lib/roebe/www/gene_expression/SLOGANS.md +28 -0
- data/lib/roebe/www/gene_expression/gene_expression.cgi +7 -0
- data/lib/roebe/www/gene_expression/gene_expression.rb +209 -0
- data/lib/roebe/www/gene_therapy/06.08.2008_Human_gene_therapy_for_RPE65_isomerase_deficiency.md +29 -0
- data/lib/roebe/www/gene_therapy/28.11.2008_Gentherapie_am_Auge_erfolgreich.md +41 -0
- data/lib/roebe/www/gene_therapy/31.01.2000_Earlier_Gene_Test_Deaths_Not_Reported.md +62 -0
- data/lib/roebe/www/gene_therapy/SLOGANS.md +25 -0
- data/lib/roebe/www/genetic_diseases/genetic_diseases.cgi +142 -0
- data/lib/roebe/www/genetics/genetics.cgi +7 -0
- data/lib/roebe/www/genetics/genetics.rb +1447 -0
- data/lib/roebe/www/genetics/genetics.sinatra +52 -0
- data/lib/roebe/www/genomics/genomics.cgi +7 -0
- data/lib/roebe/www/genomics/genomics.rb +212 -0
- data/lib/roebe/www/genomics/genomics.sinatra +56 -0
- data/lib/roebe/www/geologie/geologie.cgi +156 -0
- data/lib/roebe/www/geometrie/geometrie.cgi +7 -0
- data/lib/roebe/www/geometrie/geometrie.rb +387 -0
- data/lib/roebe/www/geometrie/geometrie.sinatra +56 -0
- data/lib/roebe/www/gesundheit/diabetes/diabetes.cgi +7 -0
- data/lib/roebe/www/gesundheit/diabetes/diabetes.rb +71 -0
- data/lib/roebe/www/gesundheit/diabetes/diabetes.sinatra +56 -0
- data/lib/roebe/www/gesundheit/metabolic_syndrome/metabolic_syndrome.cgi +7 -0
- data/lib/roebe/www/gesundheit/metabolic_syndrome/metabolic_syndrome.rb +47 -0
- data/lib/roebe/www/gesundheit/metabolic_syndrome/metabolic_syndrome.sinatra +56 -0
- data/lib/roebe/www/gesundheit/myokarditis/myokarditis.cgi +7 -0
- data/lib/roebe/www/gesundheit/myokarditis/myokarditis.rb +113 -0
- data/lib/roebe/www/gesundheit/myokarditis/myokarditis.sinatra +56 -0
- data/lib/roebe/www/gimp/gimp.cgi +7 -0
- data/lib/roebe/www/gimp/gimp.rb +1519 -0
- data/lib/roebe/www/gimp/gimp.sinatra +56 -0
- data/lib/roebe/www/ginger_der_bandit/GingerDerBandit.rb +92 -0
- data/lib/roebe/www/ginger_der_bandit/ginger_der_bandit.cgi +7 -0
- data/lib/roebe/www/ginger_der_bandit/ginger_der_bandit.html +40757 -0
- data/lib/roebe/www/ginger_der_bandit/ginger_der_bandit.md +518 -0
- data/lib/roebe/www/ginger_der_bandit/ginger_der_bandit.rb +119 -0
- data/lib/roebe/www/ginger_der_bandit/ginger_der_bandit.sinatra +61 -0
- data/lib/roebe/www/git/git.cgi +7 -0
- data/lib/roebe/www/git/git.rb +264 -0
- data/lib/roebe/www/git/git.sinatra +52 -0
- data/lib/roebe/www/git/gitconfig +7 -0
- data/lib/roebe/www/gnuplot/force.dat +16 -0
- data/lib/roebe/www/gnuplot/gnuplot.cgi +7 -0
- data/lib/roebe/www/gnuplot/gnuplot.rb +431 -0
- data/lib/roebe/www/gnuplot/gnuplot.sinatra +56 -0
- data/lib/roebe/www/gnuplot/number_of_eukaryotic_genes.dat +25 -0
- data/lib/roebe/www/google/google.cgi +7 -0
- data/lib/roebe/www/google/google.rb +49 -0
- data/lib/roebe/www/google/google.sinatra +56 -0
- data/lib/roebe/www/graphviz/graphviz.cgi +7 -0
- data/lib/roebe/www/graphviz/graphviz.rb +196 -0
- data/lib/roebe/www/graphviz/graphviz.sinatra +56 -0
- data/lib/roebe/www/grub/README.md +1 -0
- data/lib/roebe/www/grub/grub.cgi +7 -0
- data/lib/roebe/www/grub/grub.rb +615 -0
- data/lib/roebe/www/grub/grub.sinatra +56 -0
- data/lib/roebe/www/grub/std_menu.lst +87 -0
- data/lib/roebe/www/haiku/haiku.cgi +9 -0
- data/lib/roebe/www/haiku/haiku.rb +73 -0
- data/lib/roebe/www/haiku/haiku.sinatra +56 -0
- data/lib/roebe/www/hardware/computersysteme/computersysteme.cgi +7 -0
- data/lib/roebe/www/hardware/computersysteme/computersysteme.rb +517 -0
- data/lib/roebe/www/hardware/computersysteme/computersysteme.sinatra +56 -0
- data/lib/roebe/www/hardware/heizk/303/266rper/heizk/303/266rper.cgi +7 -0
- data/lib/roebe/www/hardware/heizk/303/266rper/heizk/303/266rper.rb +62 -0
- data/lib/roebe/www/hardware/heizk/303/266rper/heizk/303/266rper.sinatra +56 -0
- data/lib/roebe/www/hardware/kabel_und_adaptoren/kabel_und_adaptoren.cgi +7 -0
- data/lib/roebe/www/hardware/kabel_und_adaptoren/kabel_und_adaptoren.rb +394 -0
- data/lib/roebe/www/hardware/kabel_und_adaptoren/kabel_und_adaptoren.sinatra +56 -0
- data/lib/roebe/www/hardware/schrauben_muttern_und_n/303/244gel/schrauben_muttern_und_n/303/244gel.cgi +7 -0
- data/lib/roebe/www/hardware/schrauben_muttern_und_n/303/244gel/schrauben_muttern_und_n/303/244gel.rb +100 -0
- data/lib/roebe/www/hardware/schrauben_muttern_und_n/303/244gel/schrauben_muttern_und_n/303/244gel.sinatra +56 -0
- data/lib/roebe/www/hardware_assembly/hardware_assembly.cgi +10 -0
- data/lib/roebe/www/hardware_assembly/hardware_assembly.rb +265 -0
- data/lib/roebe/www/hardware_assembly/hardware_assembly.sinatra +56 -0
- data/lib/roebe/www/heart/heart.cgi +7 -0
- data/lib/roebe/www/heart/heart.rb +53 -0
- data/lib/roebe/www/heart/heart.sinatra +56 -0
- data/lib/roebe/www/history/KNOWLEDGE_BITS.md +2 -0
- data/lib/roebe/www/history/yaml/scientific_history.yml +1 -0
- data/lib/roebe/www/hiveos/hiveos.cgi +9 -0
- data/lib/roebe/www/hiveos/hiveos.rb +836 -0
- data/lib/roebe/www/hiveos/hiveos.sinatra +56 -0
- data/lib/roebe/www/hormone/hormone.cgi +76 -0
- data/lib/roebe/www/htop/htop.md +1 -0
- data/lib/roebe/www/humans_are_funny/humans_are_funny.cgi +7 -0
- data/lib/roebe/www/humans_are_funny/humans_are_funny.rb +23 -0
- data/lib/roebe/www/humans_are_funny/humans_are_funny.sinatra +52 -0
- data/lib/roebe/www/h/303/244user/h/303/244user.cgi +7 -0
- data/lib/roebe/www/h/303/244user/h/303/244user.rb +115 -0
- data/lib/roebe/www/h/303/244user/h/303/244user.sinatra +56 -0
- data/lib/roebe/www/icewm/icewm.cgi +7 -0
- data/lib/roebe/www/icewm/icewm.rb +34 -0
- data/lib/roebe/www/icewm/icewm.sinatra +56 -0
- data/lib/roebe/www/icewm/keys +88 -0
- data/lib/roebe/www/icewm/menu_file +171 -0
- data/lib/roebe/www/icewm/preferences +1043 -0
- data/lib/roebe/www/icewm/programs +322 -0
- data/lib/roebe/www/icewm/theme +11 -0
- data/lib/roebe/www/icewm/toolbar +7 -0
- data/lib/roebe/www/icewm/winoptions +61 -0
- data/lib/roebe/www/ifpi_austria/ifpi_austria.cgi +7 -0
- data/lib/roebe/www/ifpi_austria/ifpi_austria.rb +351 -0
- data/lib/roebe/www/ifpi_austria/ifpi_austria.sinatra +56 -0
- data/lib/roebe/www/image_formats/image_formats.cgi +50 -0
- data/lib/roebe/www/imagemagick/README.md +45 -0
- data/lib/roebe/www/imagemagick/imagemagick.cgi +31 -0
- data/lib/roebe/www/images/images.cgi +26 -0
- data/lib/roebe/www/immunology/immunology.cgi +7 -0
- data/lib/roebe/www/immunology/immunology.rb +1527 -0
- data/lib/roebe/www/immunology/immunology.sinatra +56 -0
- data/lib/roebe/www/individual_page_viewer/individual_page_viewer.cgi +7 -0
- data/lib/roebe/www/individual_page_viewer/individual_page_viewer.rb +41 -0
- data/lib/roebe/www/individual_page_viewer/individual_page_viewer.sinatra +52 -0
- data/lib/roebe/www/industrial_chemistry/industrial_chemistry.cgi +50 -0
- data/lib/roebe/www/informatik/SLOGANS.md +13 -0
- data/lib/roebe/www/inhaltsverzeichnis/inhaltsverzeichnis.yml +65 -0
- data/lib/roebe/www/inkscape/inkscape.cgi +9 -0
- data/lib/roebe/www/inkscape/inkscape.rb +84 -0
- data/lib/roebe/www/inkscape/inkscape.sinatra +56 -0
- data/lib/roebe/www/inotify/inotify.cgi +39 -0
- data/lib/roebe/www/inspirational_people/inspirational_people.cgi +11 -0
- data/lib/roebe/www/inspirational_people/inspirational_people.rb +645 -0
- data/lib/roebe/www/inspirational_people/inspirational_people.sinatra +56 -0
- data/lib/roebe/www/interesting_linux_distributions/interesting_linux_distributions.md +71 -0
- data/lib/roebe/www/interviews/interviews.cgi +7 -0
- data/lib/roebe/www/interviews/interviews.rb +14 -0
- data/lib/roebe/www/interviews/interviews.sinatra +56 -0
- data/lib/roebe/www/irc/irc.cgi +7 -0
- data/lib/roebe/www/irc/irc.rb +41 -0
- data/lib/roebe/www/irc/irc.sinatra +56 -0
- data/lib/roebe/www/irc_quotes/irc_quotes.md +835 -0
- data/lib/roebe/www/jobs/jobs.cgi +9 -0
- data/lib/roebe/www/jobs/jobs.rb +100 -0
- data/lib/roebe/www/jobs/jobs.sinatra +56 -0
- data/lib/roebe/www/json/example1.json +18 -0
- data/lib/roebe/www/json/json.cgi +7 -0
- data/lib/roebe/www/json/json.rb +32 -0
- data/lib/roebe/www/json/json.sinatra +56 -0
- data/lib/roebe/www/jupyter/content.md +34 -0
- data/lib/roebe/www/kaizen/kaizen.cgi +7 -0
- data/lib/roebe/www/kaizen/kaizen.rb +15 -0
- data/lib/roebe/www/kaizen/kaizen.sinatra +56 -0
- data/lib/roebe/www/kde/DEPRECATED_kde.cgi +1266 -0
- data/lib/roebe/www/kde/kde.cgi +7 -0
- data/lib/roebe/www/kde/kde.rb +60 -0
- data/lib/roebe/www/kde/kde.sinatra +56 -0
- data/lib/roebe/www/kde/konsole_multiple_tabs +10 -0
- data/lib/roebe/www/kde/konsolerc +40 -0
- data/lib/roebe/www/kde/konsoleui.rc +65 -0
- data/lib/roebe/www/kde/yakuakerc +8 -0
- data/lib/roebe/www/klimabonus/klimabonus.md +11 -0
- data/lib/roebe/www/klimawandel/klimawandel.cgi +7 -0
- data/lib/roebe/www/klimawandel/klimawandel.rb +100 -0
- data/lib/roebe/www/klimawandel/klimawandel.sinatra +56 -0
- data/lib/roebe/www/kramdown_viewer/kramdown_viewer.cgi +51 -0
- data/lib/roebe/www/kriminelle_firmen/kriminelle_firmen.cgi +7 -0
- data/lib/roebe/www/kriminelle_firmen/kriminelle_firmen.rb +26 -0
- data/lib/roebe/www/kriminelle_firmen/kriminelle_firmen.sinatra +52 -0
- data/lib/roebe/www/krita/krita.cgi +7 -0
- data/lib/roebe/www/krita/krita.rb +53 -0
- data/lib/roebe/www/krita/krita.sinatra +56 -0
- data/lib/roebe/www/kryptografie/kryptografie.cgi +48 -0
- data/lib/roebe/www/k/303/244se/k/303/244se.cgi +9 -0
- data/lib/roebe/www/k/303/244se/k/303/244se.rb +137 -0
- data/lib/roebe/www/k/303/244se/k/303/244se.sinatra +56 -0
- data/lib/roebe/www/lame/lame.cgi +7 -0
- data/lib/roebe/www/lame/lame.rb +105 -0
- data/lib/roebe/www/lame/lame.sinatra +56 -0
- data/lib/roebe/www/languages/languages.cgi +7 -0
- data/lib/roebe/www/languages/languages.rb +66 -0
- data/lib/roebe/www/languages/languages.sinatra +52 -0
- data/lib/roebe/www/laser/laser.cgi +7 -0
- data/lib/roebe/www/laser/laser.rb +301 -0
- data/lib/roebe/www/laser/laser.sinatra +56 -0
- data/lib/roebe/www/latex/HelloWorld.tex +9 -0
- data/lib/roebe/www/latex/examples/misc/misc.aux +2 -0
- data/lib/roebe/www/latex/examples/misc/misc.log +87 -0
- data/lib/roebe/www/latex/examples/misc/misc.pdf +0 -0
- data/lib/roebe/www/latex/examples/misc/misc.tex +31 -0
- data/lib/roebe/www/latex/examples/numbered_list/numbered_list.tex +31 -0
- data/lib/roebe/www/latex/examples/simple_paragraph/simple_paragraph.tex +4 -0
- data/lib/roebe/www/latex/latex.cgi +7 -0
- data/lib/roebe/www/latex/latex.rb +105 -0
- data/lib/roebe/www/latex/latex.sinatra +56 -0
- data/lib/roebe/www/law/law.cgi +7 -0
- data/lib/roebe/www/law/law.rb +983 -0
- data/lib/roebe/www/law/law.sinatra +56 -0
- data/lib/roebe/www/lego/lego.cgi +7 -0
- data/lib/roebe/www/lego/lego.rb +53 -0
- data/lib/roebe/www/lego/lego.sinatra +52 -0
- data/lib/roebe/www/libreoffice/libreoffice.cgi +9 -0
- data/lib/roebe/www/libreoffice/libreoffice.rb +96 -0
- data/lib/roebe/www/libreoffice/libreoffice.sinatra +56 -0
- data/lib/roebe/www/libreoffice/macros/README.md +4 -0
- data/lib/roebe/www/libreoffice/macros/hello_world.macro +24 -0
- data/lib/roebe/www/libreoffice/macros/hello_world_in_python.py_macro +7 -0
- data/lib/roebe/www/libreoffice/misc/empty_libreoffice_document.docx +0 -0
- data/lib/roebe/www/libreoffice/misc/empty_libreoffice_document.odt +0 -0
- data/lib/roebe/www/libreoffice/misc/empty_libreoffice_presentation.odp +0 -0
- data/lib/roebe/www/libreoffice/misc/empty_libreoffice_spreadsheet.xls +1 -0
- data/lib/roebe/www/licht/licht.cgi +25 -0
- data/lib/roebe/www/light/light.cgi +27 -0
- data/lib/roebe/www/lighttpd/autogenerated_lighttpd.conf +428 -0
- data/lib/roebe/www/lighttpd/configuration/cgi.conf +21 -0
- data/lib/roebe/www/lighttpd/configuration/dir_listing.conf +15 -0
- data/lib/roebe/www/lighttpd/configuration/document_root.conf +11 -0
- data/lib/roebe/www/lighttpd/configuration/groupname.conf +9 -0
- data/lib/roebe/www/lighttpd/configuration/index.conf +29 -0
- data/lib/roebe/www/lighttpd/configuration/logfiles.conf +18 -0
- data/lib/roebe/www/lighttpd/configuration/mimetypes.conf +88 -0
- data/lib/roebe/www/lighttpd/configuration/modules.conf +75 -0
- data/lib/roebe/www/lighttpd/configuration/php.conf +11 -0
- data/lib/roebe/www/lighttpd/configuration/pid_file.conf +1 -0
- data/lib/roebe/www/lighttpd/configuration/port.conf +13 -0
- data/lib/roebe/www/lighttpd/configuration/redirects.conf +67 -0
- data/lib/roebe/www/lighttpd/configuration/status.conf +29 -0
- data/lib/roebe/www/lighttpd/configuration/upload.conf +5 -0
- data/lib/roebe/www/lighttpd/configuration/username.conf +4 -0
- data/lib/roebe/www/lighttpd/lighttpd.cgi +7 -0
- data/lib/roebe/www/lighttpd/lighttpd.rb +140 -0
- data/lib/roebe/www/lighttpd/lighttpd.sinatra +52 -0
- data/lib/roebe/www/lilo/lilo.cgi +9 -0
- data/lib/roebe/www/lilo/lilo.conf +71 -0
- data/lib/roebe/www/lilo/lilo.rb +114 -0
- data/lib/roebe/www/lilo/lilo.sinatra +56 -0
- data/lib/roebe/www/lilypond/lilypond.cgi +95 -0
- data/lib/roebe/www/linguistics/linguistics.cgi +25 -0
- data/lib/roebe/www/links/links.cgi +9 -0
- data/lib/roebe/www/links/links.rb +310 -0
- data/lib/roebe/www/links/links.sinatra +56 -0
- data/lib/roebe/www/linux/ICEWM/preferences +1476 -0
- data/lib/roebe/www/linux/KaOS/KaOS.cgi +37 -0
- data/lib/roebe/www/linux/MX-Linux/mxlinux.cgi +7 -0
- data/lib/roebe/www/linux/MX-Linux/mxlinux.rb +28 -0
- data/lib/roebe/www/linux/MX-Linux/mxlinux.sinatra +56 -0
- data/lib/roebe/www/linux/antiX/antiX.cgi +7 -0
- data/lib/roebe/www/linux/antiX/antiX.rb +42 -0
- data/lib/roebe/www/linux/antiX/antiX.sinatra +56 -0
- data/lib/roebe/www/linux/deepin/deepin.cgi +30 -0
- data/lib/roebe/www/linux/doc/how_to_shrink_the_home_partition.md +13 -0
- data/lib/roebe/www/linux/fedora/fedora.cgi +7 -0
- data/lib/roebe/www/linux/fedora/fedora.rb +44 -0
- data/lib/roebe/www/linux/fedora/fedora.sinatra +56 -0
- data/lib/roebe/www/linux/gobolinux/gobolinux.cgi +7 -0
- data/lib/roebe/www/linux/gobolinux/gobolinux.rb +1424 -0
- data/lib/roebe/www/linux/gobolinux/gobolinux.sinatra +56 -0
- data/lib/roebe/www/linux/linux.cgi +12 -0
- data/lib/roebe/www/linux/linux.rb +6268 -0
- data/lib/roebe/www/linux/linux.sinatra +56 -0
- data/lib/roebe/www/linux/manjaro/content.md +7 -0
- data/lib/roebe/www/linux/mxlinux +1 -0
- data/lib/roebe/www/linux/neptune/neptune.cgi +54 -0
- data/lib/roebe/www/linux/resources/Xdefaults +180 -0
- data/lib/roebe/www/linux/slackware/slackware.cgi +7 -0
- data/lib/roebe/www/linux/slackware/slackware.rb +150 -0
- data/lib/roebe/www/linux/slackware/slackware.sinatra +56 -0
- data/lib/roebe/www/linux/sparky_linux/specification.md +19 -0
- data/lib/roebe/www/linux/ubuntu/ubuntu.cgi +7 -0
- data/lib/roebe/www/linux/ubuntu/ubuntu.rb +144 -0
- data/lib/roebe/www/linux/ubuntu/ubuntu.sinatra +56 -0
- data/lib/roebe/www/linux/void/void.cgi +7 -0
- data/lib/roebe/www/linux/void/void.rb +56 -0
- data/lib/roebe/www/linux/void/void.sinatra +56 -0
- data/lib/roebe/www/linux_certifications/linux_certifications.cgi +7 -0
- data/lib/roebe/www/linux_certifications/linux_certifications.rb +15 -0
- data/lib/roebe/www/linux_certifications/linux_certifications.sinatra +56 -0
- data/lib/roebe/www/linux_commands/linux_commands.cgi +7 -0
- data/lib/roebe/www/linux_commands/linux_commands.rb +5224 -0
- data/lib/roebe/www/linux_commands/linux_commands.sinatra +56 -0
- data/lib/roebe/www/linux_distributions/README.md +3 -0
- data/lib/roebe/www/linux_distributions/linux_distributions.cgi +9 -0
- data/lib/roebe/www/linux_distributions/linux_distributions.rb +2215 -0
- data/lib/roebe/www/linux_distributions/linux_distributions.sinatra +56 -0
- data/lib/roebe/www/linuxmint/linuxmint.cgi +7 -0
- data/lib/roebe/www/linuxmint/linuxmint.rb +58 -0
- data/lib/roebe/www/linuxmint/linuxmint.sinatra +56 -0
- data/lib/roebe/www/llvm/llvm.cgi +7 -0
- data/lib/roebe/www/llvm/llvm.rb +38 -0
- data/lib/roebe/www/llvm/llvm.sinatra +56 -0
- data/lib/roebe/www/luft/luft.cgi +7 -0
- data/lib/roebe/www/luft/luft.rb +15 -0
- data/lib/roebe/www/luft/luft.sinatra +52 -0
- data/lib/roebe/www/luft/luft_english.md +96 -0
- data/lib/roebe/www/luft/luft_german.md +117 -0
- data/lib/roebe/www/lyrics/lyrics.cgi +7 -0
- data/lib/roebe/www/lyrics/lyrics.rb +48 -0
- data/lib/roebe/www/lyrics/lyrics.sinatra +56 -0
- data/lib/roebe/www/m4/m4.cgi +7 -0
- data/lib/roebe/www/m4/m4.rb +24 -0
- data/lib/roebe/www/m4/m4.sinatra +56 -0
- data/lib/roebe/www/mageia/mageia.cgi +7 -0
- data/lib/roebe/www/mageia/mageia.rb +104 -0
- data/lib/roebe/www/mageia/mageia.sinatra +56 -0
- data/lib/roebe/www/make/make.cgi +7 -0
- data/lib/roebe/www/make/make.rb +216 -0
- data/lib/roebe/www/make/make.sinatra +56 -0
- data/lib/roebe/www/markdown/cheat_sheet.md +17 -0
- data/lib/roebe/www/markdown/example.md +232 -0
- data/lib/roebe/www/marketing/marketing.cgi +7 -0
- data/lib/roebe/www/marketing/marketing.rb +94 -0
- data/lib/roebe/www/marketing/marketing.sinatra +56 -0
- data/lib/roebe/www/mars/mars.cgi +7 -0
- data/lib/roebe/www/mars/mars.rb +51 -0
- data/lib/roebe/www/mars/mars.sinatra +52 -0
- data/lib/roebe/www/mate_desktop/mate_desktop.cgi +40 -0
- data/lib/roebe/www/mathematics/bin/303/244rsystem/bin/303/244rsystem.cgi +158 -0
- data/lib/roebe/www/mathematics/common.rb +16 -0
- data/lib/roebe/www/mathematics/funktionen/funktion.cgi +81 -0
- data/lib/roebe/www/mathematics/logarithmus/logarithmus.cgi +76 -0
- data/lib/roebe/www/mathematics/mathematics.cgi +7 -0
- data/lib/roebe/www/mathematics/mathematics.rb +1276 -0
- data/lib/roebe/www/mathematics/mathematics.sinatra +52 -0
- data/lib/roebe/www/matlab/matlab.cgi +31 -0
- data/lib/roebe/www/md5sum/md5sum.cgi +33 -0
- data/lib/roebe/www/meson/meson.cgi +7 -0
- data/lib/roebe/www/meson/meson.rb +57 -0
- data/lib/roebe/www/meson/meson.sinatra +56 -0
- data/lib/roebe/www/metabolic_pathways/metabolic_pathways.cgi +9 -0
- data/lib/roebe/www/metabolic_pathways/metabolic_pathways.rb +243 -0
- data/lib/roebe/www/metabolic_pathways/metabolic_pathways.sinatra +56 -0
- data/lib/roebe/www/meteorologie/meteorologie.cgi +547 -0
- data/lib/roebe/www/microbial_ecology/microbial_ecology.cgi +33 -0
- data/lib/roebe/www/microbial_interactions/microbial_interactions.cgi +163 -0
- data/lib/roebe/www/microbiology/microbiology.cgi +7 -0
- data/lib/roebe/www/microbiology/microbiology.rb +1136 -0
- data/lib/roebe/www/microbiology/microbiology.sinatra +56 -0
- data/lib/roebe/www/microphones/microphones.cgi +7 -0
- data/lib/roebe/www/microphones/microphones.rb +53 -0
- data/lib/roebe/www/microphones/microphones.sinatra +56 -0
- data/lib/roebe/www/microscopy/microscopy.cgi +7 -0
- data/lib/roebe/www/microscopy/microscopy.rb +289 -0
- data/lib/roebe/www/microscopy/microscopy.sinatra +56 -0
- data/lib/roebe/www/microsoft/how_to_compile_from_source_on_windows/how_to_compile_from_source_on_windows.cgi +7 -0
- data/lib/roebe/www/microsoft/how_to_compile_from_source_on_windows/how_to_compile_from_source_on_windows.rb +85 -0
- data/lib/roebe/www/microsoft/how_to_compile_from_source_on_windows/how_to_compile_from_source_on_windows.sinatra +56 -0
- data/lib/roebe/www/microsoft/microsoft.cgi +11 -0
- data/lib/roebe/www/microsoft/microsoft.rb +2354 -0
- data/lib/roebe/www/microsoft/microsoft.sinatra +56 -0
- data/lib/roebe/www/midi/al_adagi.mid +0 -0
- data/lib/roebe/www/mikrobielle_physiologie/mikrobielle_physiologie.cgi +7 -0
- data/lib/roebe/www/mikrobielle_physiologie/mikrobielle_physiologie.rb +1055 -0
- data/lib/roebe/www/mikrobielle_physiologie/mikrobielle_physiologie.sinatra +56 -0
- data/lib/roebe/www/military/military.cgi +7 -0
- data/lib/roebe/www/military/military.rb +23 -0
- data/lib/roebe/www/military/military.sinatra +56 -0
- data/lib/roebe/www/misc/blutgruppen.md +26 -0
- data/lib/roebe/www/mitochondria/mitochondria.cgi +56 -0
- data/lib/roebe/www/module_www.rb +184 -0
- data/lib/roebe/www/molecular_simulations/molecular_simulations.cgi +30 -0
- data/lib/roebe/www/molecular_therapies/molecular_therapies.cgi +7 -0
- data/lib/roebe/www/molecular_therapies/molecular_therapies.rb +169 -0
- data/lib/roebe/www/molecular_therapies/molecular_therapies.sinatra +56 -0
- data/lib/roebe/www/mpv/hints.md +4 -0
- data/lib/roebe/www/mrxvt/mrxvtrc +424 -0
- data/lib/roebe/www/multimedia_and_law/multimedia_and_law.cgi +7 -0
- data/lib/roebe/www/multimedia_and_law/multimedia_and_law.rb +118 -0
- data/lib/roebe/www/multimedia_and_law/multimedia_and_law.sinatra +56 -0
- data/lib/roebe/www/mysql/mysql.cgi +7 -0
- data/lib/roebe/www/mysql/mysql.rb +544 -0
- data/lib/roebe/www/mysql/mysql.sinatra +52 -0
- data/lib/roebe/www/nano/nano.cgi +100 -0
- data/lib/roebe/www/nanotechnology/nanotechnology.cgi +7 -0
- data/lib/roebe/www/nanotechnology/nanotechnology.rb +173 -0
- data/lib/roebe/www/nanotechnology/nanotechnology.sinatra +56 -0
- data/lib/roebe/www/nato/nato.cgi +7 -0
- data/lib/roebe/www/nato/nato.rb +35 -0
- data/lib/roebe/www/nato/nato.sinatra +52 -0
- data/lib/roebe/www/naturschutz/naturschutz.cgi +1463 -0
- data/lib/roebe/www/netbsd/netbsd.cgi +7 -0
- data/lib/roebe/www/netbsd/netbsd.rb +27 -0
- data/lib/roebe/www/netbsd/netbsd.sinatra +52 -0
- data/lib/roebe/www/networking_on_linux/networking_on_linux.cgi +7 -0
- data/lib/roebe/www/networking_on_linux/networking_on_linux.rb +1652 -0
- data/lib/roebe/www/networking_on_linux/networking_on_linux.sinatra +56 -0
- data/lib/roebe/www/neuroanatomie/neuroanatomie.cgi +98 -0
- data/lib/roebe/www/neurobiology/neurobiology.cgi +7 -0
- data/lib/roebe/www/neurobiology/neurobiology.rb +355 -0
- data/lib/roebe/www/neurobiology/neurobiology.sinatra +56 -0
- data/lib/roebe/www/news/news.cgi +7 -0
- data/lib/roebe/www/news/news.rb +20 -0
- data/lib/roebe/www/news/news.sinatra +56 -0
- data/lib/roebe/www/news/news_content.md +2798 -0
- data/lib/roebe/www/nginx/nginx.cgi +7 -0
- data/lib/roebe/www/nginx/nginx.rb +18 -0
- data/lib/roebe/www/nginx/nginx.sinatra +56 -0
- data/lib/roebe/www/nim/nim.cgi +7 -0
- data/lib/roebe/www/nim/nim.rb +77 -0
- data/lib/roebe/www/nim/nim.sinatra +56 -0
- data/lib/roebe/www/nocturnal_hunt/nocturnal_hunt.cgi +7 -0
- data/lib/roebe/www/nocturnal_hunt/nocturnal_hunt.rb +458 -0
- data/lib/roebe/www/nocturnal_hunt/nocturnal_hunt.sinatra +61 -0
- data/lib/roebe/www/node/snippets.md +15 -0
- data/lib/roebe/www/nosql/nosql.cgi +7 -0
- data/lib/roebe/www/nosql/nosql.rb +23 -0
- data/lib/roebe/www/nosql/nosql.sinatra +52 -0
- data/lib/roebe/www/ntfs/ntfs.cgi +7 -0
- data/lib/roebe/www/ntfs/ntfs.rb +41 -0
- data/lib/roebe/www/ntfs/ntfs.sinatra +56 -0
- data/lib/roebe/www/obst/obst.cgi +45 -0
- data/lib/roebe/www/ogre3d/ogre3d.cgi +7 -0
- data/lib/roebe/www/ogre3d/ogre3d.rb +247 -0
- data/lib/roebe/www/ogre3d/ogre3d.sinatra +56 -0
- data/lib/roebe/www/openbsd/openbsd.cgi +7 -0
- data/lib/roebe/www/openbsd/openbsd.rb +28 -0
- data/lib/roebe/www/openbsd/openbsd.sinatra +56 -0
- data/lib/roebe/www/opengl/opengl.cgi +9 -0
- data/lib/roebe/www/opengl/opengl.rb +193 -0
- data/lib/roebe/www/opengl/opengl.sinatra +56 -0
- data/lib/roebe/www/openssl/openssl.cgi +7 -0
- data/lib/roebe/www/openssl/openssl.rb +142 -0
- data/lib/roebe/www/openssl/openssl.sinatra +56 -0
- data/lib/roebe/www/opensuse/opensuse.cgi +24 -0
- data/lib/roebe/www/opera/opera.cgi +7 -0
- data/lib/roebe/www/opera/opera.rb +38 -0
- data/lib/roebe/www/opera/opera.sinatra +56 -0
- data/lib/roebe/www/operating_systems/operating_systems.cgi +43 -0
- data/lib/roebe/www/optical_character_recognition/optical_character_recognition.cgi +7 -0
- data/lib/roebe/www/optical_character_recognition/optical_character_recognition.rb +85 -0
- data/lib/roebe/www/optical_character_recognition/optical_character_recognition.sinatra +56 -0
- data/lib/roebe/www/organic_chemistry/organic_chemistry.cgi +33 -0
- data/lib/roebe/www/organic_chemistry/organic_chemistry.md +16 -0
- data/lib/roebe/www/our_solar_system/our_solar_system.cgi +7 -0
- data/lib/roebe/www/our_solar_system/our_solar_system.rb +448 -0
- data/lib/roebe/www/our_solar_system/our_solar_system.sinatra +56 -0
- data/lib/roebe/www/packaging_on_linux/packaging_on_linux.cgi +7 -0
- data/lib/roebe/www/packaging_on_linux/packaging_on_linux.rb +394 -0
- data/lib/roebe/www/packaging_on_linux/packaging_on_linux.sinatra +56 -0
- data/lib/roebe/www/palemoon/palemoon.cgi +7 -0
- data/lib/roebe/www/palemoon/palemoon.rb +111 -0
- data/lib/roebe/www/palemoon/palemoon.sinatra +56 -0
- data/lib/roebe/www/paradise_island/paradise_island.cgi +9 -0
- data/lib/roebe/www/paradise_island/paradise_island.rb +449 -0
- data/lib/roebe/www/paradise_island/paradise_island.sinatra +56 -0
- data/lib/roebe/www/patente/patente.cgi +7 -0
- data/lib/roebe/www/patente/patente.rb +58 -0
- data/lib/roebe/www/patente/patente.sinatra +56 -0
- data/lib/roebe/www/pathologie/content.md +1 -0
- data/lib/roebe/www/pathologie/pathologie.cgi +52 -0
- data/lib/roebe/www/pathologie/vokabelliste.yml +1284 -0
- data/lib/roebe/www/pdf/pdf.cgi +7 -0
- data/lib/roebe/www/pdf/pdf.rb +129 -0
- data/lib/roebe/www/pdf/pdf.sinatra +56 -0
- data/lib/roebe/www/pekwm/autoproperties +219 -0
- data/lib/roebe/www/pekwm/config +72 -0
- data/lib/roebe/www/pekwm/keys +301 -0
- data/lib/roebe/www/pekwm/menu +97 -0
- data/lib/roebe/www/pekwm/mouse +141 -0
- data/lib/roebe/www/pekwm/start +18 -0
- data/lib/roebe/www/pekwm/vars +2 -0
- data/lib/roebe/www/phages/phages.cgi +117 -0
- data/lib/roebe/www/pharmacy/content.md +5 -0
- data/lib/roebe/www/phones_and_mobile_phones/phones_and_mobile_phones.cgi +7 -0
- data/lib/roebe/www/phones_and_mobile_phones/phones_and_mobile_phones.rb +66 -0
- data/lib/roebe/www/phones_and_mobile_phones/phones_and_mobile_phones.sinatra +56 -0
- data/lib/roebe/www/photosynthesis/photosynthesis.cgi +7 -0
- data/lib/roebe/www/photosynthesis/photosynthesis.rb +55 -0
- data/lib/roebe/www/photosynthesis/photosynthesis.sinatra +56 -0
- data/lib/roebe/www/physics/physics.cgi +7 -0
- data/lib/roebe/www/physics/physics.rb +348 -0
- data/lib/roebe/www/physics/physics.sinatra +56 -0
- data/lib/roebe/www/physiology/physiology.cgi +7 -0
- data/lib/roebe/www/physiology/physiology.rb +373 -0
- data/lib/roebe/www/physiology/physiology.sinatra +56 -0
- data/lib/roebe/www/pidgin/pidgin.cgi +7 -0
- data/lib/roebe/www/pidgin/pidgin.rb +28 -0
- data/lib/roebe/www/pidgin/pidgin.sinatra +56 -0
- data/lib/roebe/www/pilze/pilze.cgi +276 -0
- data/lib/roebe/www/plants/plants.cgi +7 -0
- data/lib/roebe/www/plants/plants.rb +78 -0
- data/lib/roebe/www/plants/plants.sinatra +56 -0
- data/lib/roebe/www/play_songs/play_songs.cgi +100 -0
- data/lib/roebe/www/play_this_video_file/play_this_video_file.cgi +103 -0
- data/lib/roebe/www/politics/politics.cgi +7 -0
- data/lib/roebe/www/politics/politics.rb +24 -0
- data/lib/roebe/www/politics/politics.sinatra +56 -0
- data/lib/roebe/www/politics/yaml/wahlbeteiligung_wien.yml +6 -0
- data/lib/roebe/www/porg/main.m +26 -0
- data/lib/roebe/www/porg/porg.cgi +7 -0
- data/lib/roebe/www/porg/porg.rb +14 -0
- data/lib/roebe/www/porg/porg.sinatra +56 -0
- data/lib/roebe/www/porg/rpaco_base.h +19 -0
- data/lib/roebe/www/porg/rpaco_base.m +20 -0
- data/lib/roebe/www/povray/povray.cgi +7 -0
- data/lib/roebe/www/povray/povray.rb +289 -0
- data/lib/roebe/www/povray/povray.sinatra +56 -0
- data/lib/roebe/www/povray/povray_files/sphere_and_lights.pov +14 -0
- data/lib/roebe/www/povray/povray_files/sphere_and_lights_test.pov +28 -0
- data/lib/roebe/www/powershell/powershell.cgi +7 -0
- data/lib/roebe/www/powershell/powershell.rb +31 -0
- data/lib/roebe/www/powershell/powershell.sinatra +56 -0
- data/lib/roebe/www/preise/preise.cgi +47 -0
- data/lib/roebe/www/preisvergleiche/preisvergleiche.cgi +7 -0
- data/lib/roebe/www/preisvergleiche/preisvergleiche.rb +53 -0
- data/lib/roebe/www/preisvergleiche/preisvergleiche.sinatra +56 -0
- data/lib/roebe/www/presentations/fuzzy_words_versus_action_words.md +9 -0
- data/lib/roebe/www/presentations/presentations.cgi +7 -0
- data/lib/roebe/www/presentations/presentations.rb +103 -0
- data/lib/roebe/www/presentations/presentations.sinatra +52 -0
- data/lib/roebe/www/presentations/useful_words.md +16 -0
- data/lib/roebe/www/problems_of_the_european_union/problems_of_the_european_union.cgi +7 -0
- data/lib/roebe/www/problems_of_the_european_union/problems_of_the_european_union.rb +457 -0
- data/lib/roebe/www/problems_of_the_european_union/problems_of_the_european_union.sinatra +52 -0
- data/lib/roebe/www/programming_advice/programming_advice.yml +31 -0
- data/lib/roebe/www/programming_bible/programming_bible.cgi +7 -0
- data/lib/roebe/www/programming_bible/programming_bible.rb +32 -0
- data/lib/roebe/www/programming_bible/programming_bible.sinatra +56 -0
- data/lib/roebe/www/programming_languages/javascript/javascript.cgi +10 -0
- data/lib/roebe/www/programming_languages/javascript/javascript.rb +312 -0
- data/lib/roebe/www/programming_languages/javascript/javascript.sinatra +56 -0
- data/lib/roebe/www/project_management/project_management.cgi +7 -0
- data/lib/roebe/www/project_management/project_management.rb +327 -0
- data/lib/roebe/www/project_management/project_management.sinatra +56 -0
- data/lib/roebe/www/prokaryotic_evolution/prokaryotic_evolution.cgi +267 -0
- data/lib/roebe/www/propaganda/propaganda.cgi +7 -0
- data/lib/roebe/www/propaganda/propaganda.rb +30 -0
- data/lib/roebe/www/propaganda/propaganda.sinatra +56 -0
- data/lib/roebe/www/protein_engineering/protein_engineering.cgi +5 -0
- data/lib/roebe/www/protein_engineering/protein_engineering.rb +725 -0
- data/lib/roebe/www/protein_engineering/protein_engineering.sinatra +56 -0
- data/lib/roebe/www/proteins/proteins.cgi +7 -0
- data/lib/roebe/www/proteins/proteins.rb +32 -0
- data/lib/roebe/www/proteins/proteins.sinatra +56 -0
- data/lib/roebe/www/protisten/protisten.cgi +72 -0
- data/lib/roebe/www/psychologie/psychologie.cgi +7 -0
- data/lib/roebe/www/psychologie/psychologie.rb +233 -0
- data/lib/roebe/www/psychologie/psychologie.sinatra +56 -0
- data/lib/roebe/www/publishing_scientific_papers/useful_phrases_and_tips_for_publishing_scientific_papers.md +259 -0
- data/lib/roebe/www/pulseaudio/pulseaudio.cgi +7 -0
- data/lib/roebe/www/pulseaudio/pulseaudio.rb +166 -0
- data/lib/roebe/www/pulseaudio/pulseaudio.sinatra +56 -0
- data/lib/roebe/www/qemu/content.md +5 -0
- data/lib/roebe/www/qualit/303/244tsmanagement/qualit/303/244tsmanagement.cgi +7 -0
- data/lib/roebe/www/qualit/303/244tsmanagement/qualit/303/244tsmanagement.rb +423 -0
- data/lib/roebe/www/qualit/303/244tsmanagement/qualit/303/244tsmanagement.sinatra +56 -0
- data/lib/roebe/www/quotes/quotes.cgi +7 -0
- data/lib/roebe/www/quotes/quotes.rb +603 -0
- data/lib/roebe/www/quotes/quotes.sinatra +52 -0
- data/lib/roebe/www/radiation/content.md +3 -0
- data/lib/roebe/www/radio/radio.cgi +54 -0
- data/lib/roebe/www/radioactivity/radioactivity.cgi +36 -0
- data/lib/roebe/www/ratpoison/ratpoisonrc +62 -0
- data/lib/roebe/www/reactos/reactos.cgi +9 -0
- data/lib/roebe/www/reactos/reactos.rb +95 -0
- data/lib/roebe/www/reactos/reactos.sinatra +56 -0
- data/lib/roebe/www/recursion/recursion.md +41 -0
- data/lib/roebe/www/restriktionsenzyme/restriktionsenzyme.cgi +7 -0
- data/lib/roebe/www/restriktionsenzyme/restriktionsenzyme.rb +96 -0
- data/lib/roebe/www/restriktionsenzyme/restriktionsenzyme.sinatra +56 -0
- data/lib/roebe/www/rfid/rfid.cgi +7 -0
- data/lib/roebe/www/rfid/rfid.rb +956 -0
- data/lib/roebe/www/rfid/rfid.sinatra +56 -0
- data/lib/roebe/www/rhetorics/rhetorics.md +15 -0
- data/lib/roebe/www/rhythmbox/rhythmbox.cgi +122 -0
- data/lib/roebe/www/rna +1 -0
- data/lib/roebe/www/robots/robots.cgi +9 -0
- data/lib/roebe/www/robots/robots.rb +24 -0
- data/lib/roebe/www/robots/robots.sinatra +56 -0
- data/lib/roebe/www/routers/routers.cgi +7 -0
- data/lib/roebe/www/routers/routers.rb +46 -0
- data/lib/roebe/www/routers/routers.sinatra +56 -0
- data/lib/roebe/www/ruby_viewer/ruby_viewer.cgi +7 -0
- data/lib/roebe/www/ruby_viewer/ruby_viewer.rb +51 -0
- data/lib/roebe/www/ruby_viewer/ruby_viewer.sinatra +56 -0
- data/lib/roebe/www/scanner/scanner.cgi +9 -0
- data/lib/roebe/www/scanner/scanner.rb +194 -0
- data/lib/roebe/www/scanner/scanner.sinatra +56 -0
- data/lib/roebe/www/science/URL_to_different_scientific_articles.md +12 -0
- data/lib/roebe/www/science/science.cgi +7 -0
- data/lib/roebe/www/science/science.rb +1806 -0
- data/lib/roebe/www/science/science.sinatra +56 -0
- data/lib/roebe/www/security/security.cgi +7 -0
- data/lib/roebe/www/security/security.rb +381 -0
- data/lib/roebe/www/security/security.sinatra +56 -0
- data/lib/roebe/www/sed/sed_script_remove_colours.sed +1 -0
- data/lib/roebe/www/shells/shells.cgi +7 -0
- data/lib/roebe/www/shells/shells.rb +258 -0
- data/lib/roebe/www/shells/shells.sinatra +56 -0
- data/lib/roebe/www/shops/shops.cgi +7 -0
- data/lib/roebe/www/shops/shops.rb +26 -0
- data/lib/roebe/www/shops/shops.sinatra +56 -0
- data/lib/roebe/www/signal_transduction/signal_transduction.cgi +93 -0
- data/lib/roebe/www/simpsons/simpsons.cgi +7 -0
- data/lib/roebe/www/simpsons/simpsons.rb +24 -0
- data/lib/roebe/www/simpsons/simpsons.sinatra +56 -0
- data/lib/roebe/www/smoking/smoking.cgi +26 -0
- data/lib/roebe/www/sociology/content.md +26 -0
- data/lib/roebe/www/socken/socken.cgi +7 -0
- data/lib/roebe/www/socken/socken.rb +25 -0
- data/lib/roebe/www/socken/socken.sinatra +56 -0
- data/lib/roebe/www/solarzellen/solarzellen.cgi +7 -0
- data/lib/roebe/www/solarzellen/solarzellen.rb +13 -0
- data/lib/roebe/www/solarzellen/solarzellen.sinatra +56 -0
- data/lib/roebe/www/sound_theory/sound_theory.cgi +163 -0
- data/lib/roebe/www/space_exploration/space_exploration.cgi +7 -0
- data/lib/roebe/www/space_exploration/space_exploration.rb +31 -0
- data/lib/roebe/www/space_exploration/space_exploration.sinatra +56 -0
- data/lib/roebe/www/sprechanlagen/sprechanlagen.cgi +34 -0
- data/lib/roebe/www/statistik/statistik.cgi +7 -0
- data/lib/roebe/www/statistik/statistik.rb +939 -0
- data/lib/roebe/www/statistik/statistik.sinatra +56 -0
- data/lib/roebe/www/std_linux.rb +95 -0
- data/lib/roebe/www/stem_cells/stem_cells.cgi +219 -0
- data/lib/roebe/www/strom/strom.cgi +7 -0
- data/lib/roebe/www/strom/strom.rb +152 -0
- data/lib/roebe/www/strom/strom.sinatra +56 -0
- data/lib/roebe/www/structural_biology/structural_biology.cgi +65 -0
- data/lib/roebe/www/sudoers/sudoers +43 -0
- data/lib/roebe/www/svg/svg.cgi +7 -0
- data/lib/roebe/www/svg/svg.rb +47 -0
- data/lib/roebe/www/svg/svg.sinatra +56 -0
- data/lib/roebe/www/synthetic_biology/synthetic_biology.cgi +7 -0
- data/lib/roebe/www/synthetic_biology/synthetic_biology.rb +234 -0
- data/lib/roebe/www/synthetic_biology/synthetic_biology.sinatra +56 -0
- data/lib/roebe/www/systemd/systemd.cgi +9 -0
- data/lib/roebe/www/systemd/systemd.rb +61 -0
- data/lib/roebe/www/systemd/systemd.sinatra +56 -0
- data/lib/roebe/www/tales_from_the_crypt/tales_from_the_crypt.html +71 -0
- data/lib/roebe/www/techniques_and_methods_in_molecular_biology/techniques_and_methods_in_molecular_biology.cgi +7 -0
- data/lib/roebe/www/techniques_and_methods_in_molecular_biology/techniques_and_methods_in_molecular_biology.rb +287 -0
- data/lib/roebe/www/techniques_and_methods_in_molecular_biology/techniques_and_methods_in_molecular_biology.sinatra +56 -0
- data/lib/roebe/www/telnet/telnet.cgi +64 -0
- data/lib/roebe/www/terminals/lilyterm.md +8 -0
- data/lib/roebe/www/terminals/terminals.cgi +7 -0
- data/lib/roebe/www/terminals/terminals.rb +125 -0
- data/lib/roebe/www/terminals/terminals.sinatra +56 -0
- data/lib/roebe/www/test/README.md +1 -0
- data/lib/roebe/www/test/database.sql +0 -0
- data/lib/roebe/www/test/test.cgi +38 -0
- data/lib/roebe/www/the_linux_kernel/the_linux_kernel.cgi +11 -0
- data/lib/roebe/www/the_linux_kernel/the_linux_kernel.rb +1660 -0
- data/lib/roebe/www/the_linux_kernel/the_linux_kernel.sinatra +56 -0
- data/lib/roebe/www/the_universe/the_universe.cgi +34 -0
- data/lib/roebe/www/theoretische_informatik/theoretische_informatik.cgi +35 -0
- data/lib/roebe/www/thermodynamik/thermodynamik.cgi +32 -0
- data/lib/roebe/www/thinking_methods/thinking_methods.cgi +7 -0
- data/lib/roebe/www/thinking_methods/thinking_methods.rb +144 -0
- data/lib/roebe/www/thinking_methods/thinking_methods.sinatra +56 -0
- data/lib/roebe/www/thunderbird/thunderbird.cgi +7 -0
- data/lib/roebe/www/thunderbird/thunderbird.rb +70 -0
- data/lib/roebe/www/thunderbird/thunderbird.sinatra +56 -0
- data/lib/roebe/www/tierzucht/tierzucht.cgi +723 -0
- data/lib/roebe/www/time/time.cgi +7 -0
- data/lib/roebe/www/time/time.rb +82 -0
- data/lib/roebe/www/time/time.sinatra +56 -0
- data/lib/roebe/www/tmux/tmux.cgi +7 -0
- data/lib/roebe/www/tmux/tmux.rb +74 -0
- data/lib/roebe/www/tmux/tmux.sinatra +56 -0
- data/lib/roebe/www/toxikologie/toxikologie.cgi +7 -0
- data/lib/roebe/www/toxikologie/toxikologie.rb +553 -0
- data/lib/roebe/www/toxikologie/toxikologie.sinatra +56 -0
- data/lib/roebe/www/trac/trac.cgi +7 -0
- data/lib/roebe/www/trac/trac.rb +46 -0
- data/lib/roebe/www/trac/trac.sinatra +56 -0
- data/lib/roebe/www/training/training.cgi +7 -0
- data/lib/roebe/www/training/training.rb +281 -0
- data/lib/roebe/www/training/training.sinatra +52 -0
- data/lib/roebe/www/transcription/transcription.cgi +7 -0
- data/lib/roebe/www/transcription/transcription.rb +163 -0
- data/lib/roebe/www/transcription/transcription.sinatra +56 -0
- data/lib/roebe/www/tv/tv.cgi +182 -0
- data/lib/roebe/www/udev/udev.cgi +7 -0
- data/lib/roebe/www/udev/udev.rb +128 -0
- data/lib/roebe/www/udev/udev.sinatra +56 -0
- data/lib/roebe/www/unicode/unicode.cgi +28 -0
- data/lib/roebe/www/unionfs/unionfs.cgi +8 -0
- data/lib/roebe/www/unionfs/unionfs.rb +325 -0
- data/lib/roebe/www/unionfs/unionfs.sinatra +56 -0
- data/lib/roebe/www/usb/usb.cgi +7 -0
- data/lib/roebe/www/usb/usb.rb +807 -0
- data/lib/roebe/www/usb/usb.sinatra +52 -0
- data/lib/roebe/www/vaccines/vaccines.cgi +70 -0
- data/lib/roebe/www/vectors/vectors.cgi +7 -0
- data/lib/roebe/www/vectors/vectors.rb +90 -0
- data/lib/roebe/www/vectors/vectors.sinatra +56 -0
- data/lib/roebe/www/verfahrenstechnik/verfahrenstechnik.cgi +62 -0
- data/lib/roebe/www/video/video.cgi +7 -0
- data/lib/roebe/www/video/video.rb +7723 -0
- data/lib/roebe/www/video/video.sinatra +52 -0
- data/lib/roebe/www/view_via_pre_tag/README.md +2 -0
- data/lib/roebe/www/view_via_pre_tag/view_via_pre_tag.cgi +26 -0
- data/lib/roebe/www/vim/aliases/vim_aliases.yml +487 -0
- data/lib/roebe/www/vim/autocmds/vim_autocmds +50 -0
- data/lib/roebe/www/vim/colours/desert.vim +105 -0
- data/lib/roebe/www/vim/colours/golden.vim +72 -0
- data/lib/roebe/www/vim/colours/sienna.vim +47 -0
- data/lib/roebe/www/vim/colours/softblue.vim +45 -0
- data/lib/roebe/www/vim/colours/zenburn.vim +135 -0
- data/lib/roebe/www/vim/functions/functions +185 -0
- data/lib/roebe/www/vim/mappings/mappings.md +372 -0
- data/lib/roebe/www/vim/matrix/matrix.vim +316 -0
- data/lib/roebe/www/vim/tetris/tetris.vim +331 -0
- data/lib/roebe/www/vim/vim.cgi +7 -0
- data/lib/roebe/www/vim/vim.rb +856 -0
- data/lib/roebe/www/vim/vim.sinatra +52 -0
- data/lib/roebe/www/vim/vimrc/vimrc +332 -0
- data/lib/roebe/www/virology/virology.cgi +7 -0
- data/lib/roebe/www/virology/virology.rb +603 -0
- data/lib/roebe/www/virology/virology.sinatra +56 -0
- data/lib/roebe/www/virtual_reality/virtual_reality.cgi +7 -0
- data/lib/roebe/www/virtual_reality/virtual_reality.rb +184 -0
- data/lib/roebe/www/virtual_reality/virtual_reality.sinatra +52 -0
- data/lib/roebe/www/visual_studio/visual_studio.cgi +7 -0
- data/lib/roebe/www/visual_studio/visual_studio.rb +38 -0
- data/lib/roebe/www/visual_studio/visual_studio.sinatra +56 -0
- data/lib/roebe/www/visualization/content.md +2 -0
- data/lib/roebe/www/vitamines/vitamines.cgi +11 -0
- data/lib/roebe/www/vitamines/vitamines.rb +138 -0
- data/lib/roebe/www/vitamines/vitamines.sinatra +56 -0
- data/lib/roebe/www/vivaldi/vivaldi.cgi +27 -0
- data/lib/roebe/www/vlc/vlc.cgi +32 -0
- data/lib/roebe/www/vnc/vnc.cgi +7 -0
- data/lib/roebe/www/vnc/vnc.rb +28 -0
- data/lib/roebe/www/vnc/vnc.sinatra +56 -0
- data/lib/roebe/www/voice_recorders/voice_recorders.cgi +7 -0
- data/lib/roebe/www/voice_recorders/voice_recorders.rb +48 -0
- data/lib/roebe/www/voice_recorders/voice_recorders.sinatra +52 -0
- data/lib/roebe/www/waagen/waagen.cgi +36 -0
- data/lib/roebe/www/wahrscheinlichkeit/wahrscheinlichkeit.cgi +7 -0
- data/lib/roebe/www/wahrscheinlichkeit/wahrscheinlichkeit.rb +270 -0
- data/lib/roebe/www/wahrscheinlichkeit/wahrscheinlichkeit.sinatra +56 -0
- data/lib/roebe/www/war_in_Ukraine_2022/war_in_Ukraine_2022.cgi +7 -0
- data/lib/roebe/www/war_in_Ukraine_2022/war_in_Ukraine_2022.rb +251 -0
- data/lib/roebe/www/war_in_Ukraine_2022/war_in_Ukraine_2022.sinatra +56 -0
- data/lib/roebe/www/waschmaschinen/waschmaschinen.cgi +7 -0
- data/lib/roebe/www/waschmaschinen/waschmaschinen.rb +168 -0
- data/lib/roebe/www/waschmaschinen/waschmaschinen.sinatra +52 -0
- data/lib/roebe/www/wayland/wayland.cgi +25 -0
- data/lib/roebe/www/webserving/webserving.cgi +7 -0
- data/lib/roebe/www/webserving/webserving.rb +905 -0
- data/lib/roebe/www/webserving/webserving.sinatra +52 -0
- data/lib/roebe/www/weechat/weechat.cgi +7 -0
- data/lib/roebe/www/weechat/weechat.rb +166 -0
- data/lib/roebe/www/weechat/weechat.sinatra +52 -0
- data/lib/roebe/www/wein/wein.cgi +7 -0
- data/lib/roebe/www/wein/wein.rb +41 -0
- data/lib/roebe/www/wein/wein.sinatra +56 -0
- data/lib/roebe/www/wget/wgetrc +124 -0
- data/lib/roebe/www/why_linux/why_linux.cgi +7 -0
- data/lib/roebe/www/why_linux/why_linux.rb +317 -0
- data/lib/roebe/www/why_linux/why_linux.sinatra +56 -0
- data/lib/roebe/www/wikis/wikis.cgi +7 -0
- data/lib/roebe/www/wikis/wikis.rb +18 -0
- data/lib/roebe/www/wikis/wikis.sinatra +56 -0
- data/lib/roebe/www/wine/wine.cgi +7 -0
- data/lib/roebe/www/wine/wine.rb +323 -0
- data/lib/roebe/www/wine/wine.sinatra +52 -0
- data/lib/roebe/www/wine/wine_config +69 -0
- data/lib/roebe/www/wings3d/data/House_Villa.wings +0 -0
- data/lib/roebe/www/wings3d/wings3d.cgi +7 -0
- data/lib/roebe/www/wings3d/wings3d.rb +64 -0
- data/lib/roebe/www/wings3d/wings3d.sinatra +56 -0
- data/lib/roebe/www/witze/witze.cgi +9 -0
- data/lib/roebe/www/witze/witze.rb +1054 -0
- data/lib/roebe/www/witze/witze.sinatra +56 -0
- data/lib/roebe/www/wlan/wlan.cgi +9 -0
- data/lib/roebe/www/wlan/wlan.rb +778 -0
- data/lib/roebe/www/wlan/wlan.sinatra +56 -0
- data/lib/roebe/www/wlan/wpa_supplicant.conf +57 -0
- data/lib/roebe/www/working_from_home/working_from_home.md +60 -0
- data/lib/roebe/www/world_health_organization/world_health_organization.cgi +7 -0
- data/lib/roebe/www/world_health_organization/world_health_organization.rb +68 -0
- data/lib/roebe/www/world_health_organization/world_health_organization.sinatra +56 -0
- data/lib/roebe/www/xampp/xampp.cgi +7 -0
- data/lib/roebe/www/xampp/xampp.rb +126 -0
- data/lib/roebe/www/xampp/xampp.sinatra +56 -0
- data/lib/roebe/www/xchat/xchat.cgi +7 -0
- data/lib/roebe/www/xchat/xchat.rb +146 -0
- data/lib/roebe/www/xchat/xchat.sinatra +56 -0
- data/lib/roebe/www/xfce/xfce.cgi +31 -0
- data/lib/roebe/www/xmas/xmas.cgi +7 -0
- data/lib/roebe/www/xmas/xmas.rb +521 -0
- data/lib/roebe/www/xmas/xmas.sinatra +56 -0
- data/lib/roebe/www/xorg/xorg.cgi +9 -0
- data/lib/roebe/www/xorg/xorg.rb +2912 -0
- data/lib/roebe/www/xorg/xorg.sinatra +56 -0
- data/lib/roebe/www/xournalpp/content.md +12 -0
- data/lib/roebe/www/yeast/yeast.cgi +7 -0
- data/lib/roebe/www/yeast/yeast.rb +147 -0
- data/lib/roebe/www/yeast/yeast.sinatra +56 -0
- data/lib/roebe/www/zenity/zenity.cgi +7 -0
- data/lib/roebe/www/zenity/zenity.rb +208 -0
- data/lib/roebe/www/zenity/zenity.sinatra +56 -0
- data/lib/roebe/www/zitieren/example.md +10 -0
- data/lib/roebe/www/zitieren/wie_zitiert_man_in_der_Wissenschaft_richtig.md +261 -0
- data/lib/roebe/www/zoologie/zoologie.cgi +7 -0
- data/lib/roebe/www/zoologie/zoologie.gtk +150 -0
- data/lib/roebe/www/zoologie/zoologie.rb +280 -0
- data/lib/roebe/www/zoologie/zoologie.sinatra +56 -0
- data/lib/roebe/www/zoom/zoom.cgi +7 -0
- data/lib/roebe/www/zoom/zoom.rb +55 -0
- data/lib/roebe/www/zoom/zoom.sinatra +56 -0
- data/lib/roebe/www/zsh/zshrc +360 -0
- data/lib/roebe/xml/catalog +29 -0
- data/lib/roebe/yaml/advertisement_servers/advertisement_servers.yml +18 -0
- data/lib/roebe/yaml/autogenerate_these_rewrite_rules/autogenerate_these_rewrite_rules.yml +131 -0
- data/lib/roebe/yaml/autostart_these_programs.yml +22 -0
- data/lib/roebe/yaml/bezirke_in_wien/bezirke_in_wien.yml +29 -0
- data/lib/roebe/yaml/binary_to_hexadecimal/binary_to_hexadecimal.csv +17 -0
- data/lib/roebe/yaml/bin/303/244re_einheiten/bin/303/244re_einheiten.yml +9 -0
- data/lib/roebe/yaml/books/favourite_books.yml +15 -0
- data/lib/roebe/yaml/boot_settings/boot_settings.yml +53 -0
- data/lib/roebe/yaml/browser.yml +1 -0
- data/lib/roebe/yaml/compile/compile.yml +262 -0
- data/lib/roebe/yaml/current_ruby_versions.yml +12 -0
- data/lib/roebe/yaml/directory_structure.yml +121 -0
- data/lib/roebe/yaml/display_settings/display_settings.yml +184 -0
- data/lib/roebe/yaml/e_kennzeichnungen/e_kennzeichnungen.yml +101 -0
- data/lib/roebe/yaml/english_letter_frequency/english_letter_frequency.yml +30 -0
- data/lib/roebe/yaml/error_codes/error_codes.yml +342 -0
- data/lib/roebe/yaml/escape_codes/escape_codes.yml +12 -0
- data/lib/roebe/yaml/examples/README.md +4 -0
- data/lib/roebe/yaml/examples/c_headers_creator.yml +10 -0
- data/lib/roebe/yaml/examples/constant.yml +4 -0
- data/lib/roebe/yaml/examples/fixnum.yml +1 -0
- data/lib/roebe/yaml/examples/hash_example.yml +42 -0
- data/lib/roebe/yaml/examples/ruby_keywords.yml +43 -0
- data/lib/roebe/yaml/examples/symbols.yml +3 -0
- data/lib/roebe/yaml/examples/test.yml +9 -0
- data/lib/roebe/yaml/examples/tree.yml +8 -0
- data/lib/roebe/yaml/famous_bboys/famous_bboys.yml +14 -0
- data/lib/roebe/yaml/file_information.yml +34 -0
- data/lib/roebe/yaml/fonts/fonts.yml +33 -0
- data/lib/roebe/yaml/forbidden_IPs/forbidden_IPs.yml +2 -0
- data/lib/roebe/yaml/fstab/fstab.yml +122 -0
- data/lib/roebe/yaml/funstuff/am/303/274sante_deutsche_w/303/266rter.yml +2 -0
- data/lib/roebe/yaml/gnome/gnome.yml +8 -0
- data/lib/roebe/yaml/holidays/holidays.yml +24 -0
- data/lib/roebe/yaml/http_status_codes/http_status_codes.yml +52 -0
- data/lib/roebe/yaml/individual_environment_variables/cflags.yml +59 -0
- data/lib/roebe/yaml/individual_environment_variables/lang.yml +75 -0
- data/lib/roebe/yaml/individual_environment_variables/ldflags.yml +2 -0
- data/lib/roebe/yaml/individual_environment_variables/term.yml +14 -0
- data/lib/roebe/yaml/ip_suffix/ip_suffix.yml +22 -0
- data/lib/roebe/yaml/irc/irc.yml +11 -0
- data/lib/roebe/yaml/kde/kde.yml +54 -0
- data/lib/roebe/yaml/kernel/kernel.yml +11 -0
- data/lib/roebe/yaml/kernel_config/kernel_config.yml +79 -0
- data/lib/roebe/yaml/linux_kernel_settings.yml +11 -0
- data/lib/roebe/yaml/ls_colors.yml +17 -0
- data/lib/roebe/yaml/main_avi.yml +1 -0
- data/lib/roebe/yaml/main_editor.yml +1 -0
- data/lib/roebe/yaml/main_jpg.yml +1 -0
- data/lib/roebe/yaml/main_pdf.yml +1 -0
- data/lib/roebe/yaml/main_png.yml +1 -0
- data/lib/roebe/yaml/mark_this_directory.yml +1 -0
- data/lib/roebe/yaml/mime/mime.yml +615 -0
- data/lib/roebe/yaml/mime_types.yml +37 -0
- data/lib/roebe/yaml/monitors/monitors.yml +127 -0
- data/lib/roebe/yaml/n_people_in_these_countries.yml +31 -0
- data/lib/roebe/yaml/name_for_the_wireless_interface.yml +1 -0
- data/lib/roebe/yaml/pdf/pdf1.yml +1 -0
- data/lib/roebe/yaml/pdf/pdf2.yml +1 -0
- data/lib/roebe/yaml/pdf/pdf3.yml +1 -0
- data/lib/roebe/yaml/pdf/pdf4.yml +1 -0
- data/lib/roebe/yaml/pdf/pdf5.yml +1 -0
- data/lib/roebe/yaml/pdf/pdf6.yml +1 -0
- data/lib/roebe/yaml/pdf/pdf7.yml +1 -0
- data/lib/roebe/yaml/pdf/pdf8.yml +1 -0
- data/lib/roebe/yaml/pdf/pdf9.yml +1 -0
- data/lib/roebe/yaml/peoples_age.yml +6 -0
- data/lib/roebe/yaml/ports/ports.yml +50 -0
- data/lib/roebe/yaml/posix_character_classes.yml +13 -0
- data/lib/roebe/yaml/project_base_directory.yml +0 -0
- data/lib/roebe/yaml/rufnummern_in_/303/266sterreich/rufnummern_in_/303/266sterreich.yml +5 -0
- data/lib/roebe/yaml/size_of_countries.yml +197 -0
- data/lib/roebe/yaml/statistics/statistics.yml +17 -0
- data/lib/roebe/yaml/sternzeichen/sternzeichen.yml +16 -0
- data/lib/roebe/yaml/system/system.yml +80 -0
- data/lib/roebe/yaml/temperature_of_the_planets_in_our_solar_system/temperature_of_the_planets_in_our_solar_system.yml +22 -0
- data/lib/roebe/yaml/test/README.md +4 -0
- data/lib/roebe/yaml/test/umlaute.yml +2 -0
- data/lib/roebe/yaml/the_beginning_of_linux/the_beginning_of_linux.yml +29 -0
- data/lib/roebe/yaml/use_colours.yml +1 -0
- data/lib/roebe/yaml/world_capitals/world_capitals.yml +204 -0
- data/lib/roebe/yaml/world_geography_and_people/world_geography_and_people.yml +25 -0
- data/lib/roebe.rb +7 -0
- data/roebe.gemspec +104 -0
- data/test/active_record/testing +0 -0
- data/test/active_record/testing_active_record.rb +25 -0
- data/test/comparison_example/comparison_example.rb +34 -0
- data/test/hello_world/hello_world.rb +1 -0
- data/test/misc/README.md +2 -0
- data/test/misc/arity_example.rb +44 -0
- data/test/misc/display_the_shell_colours.rb +48 -0
- data/test/misc/fetch_a_specific_key_from_a_hash.rb +26 -0
- data/test/misc/fork_example.rb +15 -0
- data/test/misc/hello_world.rb +1 -0
- data/test/misc/heredoc_example.rb +9 -0
- data/test/misc/hooks/README.md +3 -0
- data/test/misc/hooks/test_inherited_hook.rb +13 -0
- data/test/misc/minimal_irc_bot/minimal_irc_bot.rb +33 -0
- data/test/misc/name_of_this_script.rb +12 -0
- data/test/misc/read_keypresses.rb +79 -0
- data/test/misc/readline/README.md +1 -0
- data/test/misc/readline/completion_for_a_static_list.rb +33 -0
- data/test/misc/readline/simple_readline_example.rb +14 -0
- data/test/misc/simple_sigint_example.rb +51 -0
- data/test/misc/simple_user_input_via_stdin_or_Readline_example.rb +14 -0
- data/test/misc/tcp_socket_example.rb +28 -0
- data/test/misc/tracer.rb +39 -0
- data/test/misc/with_border.rb +22 -0
- data/test/testing_cat.rb +3 -0
- data/test/testing_class_configuration/testing_class_configuration.rb +81 -0
- data/test/testing_core_functionality_of_ruby/README.md +6 -0
- data/test/testing_core_functionality_of_ruby/file_test.rb +1 -0
- data/test/testing_core_functionality_of_ruby/verbose_file_copy.rb +5 -0
- data/test/testing_google_url_cleaner.rb +25 -0
- data/test/testing_http_status_codes.rb +13 -0
- data/test/testing_identical.rb +17 -0
- data/test/testing_move_file.rb +14 -0
- data/test/testing_permission_ascii_format.rb +23 -0
- data/test/testing_sql_paradise.rb +17 -0
- data/test/testing_the_roebe_shell.rb +31 -0
- data/test/testing_twentyfour_hours_notation.rb +37 -0
- data/test/testing_zenity.rb +26 -0
- 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
|
+
}}
|