roebe 0.5.191
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +7 -0
- data/README.md +5868 -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 +5806 -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 +129 -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 +964 -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 +389 -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 +667 -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 +98 -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 +120 -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 +65 -0
- data/lib/roebe/base/prototype.rb +528 -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_its_creation_date.rb +82 -0
- data/lib/roebe/classes/auto_rename_file_based_on_time_today.rb +76 -0
- data/lib/roebe/classes/autodater.rb +136 -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 +785 -0
- data/lib/roebe/classes/books/finished_books/finished_books.rb +136 -0
- data/lib/roebe/classes/books/menu.rb +270 -0
- data/lib/roebe/classes/books/sanitize_this_book_path/sanitize_this_book_path.rb +118 -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/count_characters.rb +66 -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 +84 -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 +161 -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 +886 -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 +90 -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 +353 -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 +269 -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 +273 -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 +167 -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 +231 -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/manipulate_quotes.rb +109 -0
- data/lib/roebe/classes/mark_this_directory.rb +76 -0
- data/lib/roebe/classes/married_with_children.rb +117 -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 +103 -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 +197 -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 +109 -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 +361 -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 +584 -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/telnet_wrapper.rb +72 -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_tar_gz.rb +61 -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/traurige_oder_fr/303/266hliche_zahl.rb +117 -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 +230 -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 +1304 -0
- data/lib/roebe/classes/wochentag_anzeiger.rb +217 -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 +93 -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 +1010 -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 +116 -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/module.rb +5674 -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/gtk3/guess_the_world_capitals/capital.rb +232 -0
- data/lib/roebe/gui/gtk3/guess_the_world_capitals/guess_the_world_capitals.rb +178 -0
- data/lib/roebe/gui/gtk3/os_installer/os_installer.rb +140 -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/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/rundll32/rundll32.rb +89 -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/calculator/calculator_module.rb +705 -0
- data/lib/roebe/gui/shared_code/email/email_module.rb +178 -0
- data/lib/roebe/gui/shared_code/interactive_caesar_cipher/interactive_caesar_cipher_module.rb +178 -0
- data/lib/roebe/gui/shared_code/simple_clock/simple_clock_module.rb +209 -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/universal_widgets/README.md +5 -0
- data/lib/roebe/gui/universal_widgets/calculator/calculator.rb +177 -0
- data/lib/roebe/gui/universal_widgets/code_generator/code_generator.rb +357 -0
- data/lib/roebe/gui/universal_widgets/generate_xorg_configuration/generate_xorg_configuration.rb +298 -0
- data/lib/roebe/gui/universal_widgets/ifconfig/ifconfig.rb +1265 -0
- data/lib/roebe/gui/universal_widgets/install_operating_system/install_operating_system.rb +254 -0
- data/lib/roebe/gui/universal_widgets/interactive_caesar_cipher/interactive_caesar_cipher.rb +377 -0
- data/lib/roebe/gui/universal_widgets/md5_comparer/md5_comparer.rb +385 -0
- data/lib/roebe/gui/universal_widgets/microsoft_controller/README.md +3 -0
- data/lib/roebe/gui/universal_widgets/microsoft_controller/microsoft_controller.rb +552 -0
- data/lib/roebe/gui/universal_widgets/ping_widget/ping_widget.rb +558 -0
- data/lib/roebe/gui/universal_widgets/ping_widget/ping_widget.yml +7 -0
- data/lib/roebe/gui/universal_widgets/send_email/send_email.rb +388 -0
- data/lib/roebe/gui/universal_widgets/shell/shell.rb +894 -0
- data/lib/roebe/gui/universal_widgets/show_aliases/show_aliases.rb +330 -0
- data/lib/roebe/gui/universal_widgets/show_ten_aliases/show_ten_aliases.rb +396 -0
- data/lib/roebe/gui/universal_widgets/simple_clock/simple_clock.rb +106 -0
- data/lib/roebe/gui/universal_widgets/system_widget/system_widget.rb +245 -0
- data/lib/roebe/gui/universal_widgets/task_viewer/task_viewer.rb +286 -0
- data/lib/roebe/gui/universal_widgets/todo_viewer/todo_viewer.rb +342 -0
- data/lib/roebe/gui/universal_widgets/view_image/view_image.rb +226 -0
- data/lib/roebe/gui/universal_widgets/wecker/wecker.rb +524 -0
- data/lib/roebe/gui/universal_widgets/wlan_information_center/README.md +9 -0
- data/lib/roebe/gui/universal_widgets/wlan_information_center/wlan_information_center.css +13 -0
- data/lib/roebe/gui/universal_widgets/wlan_information_center/wlan_information_center.rb +755 -0
- data/lib/roebe/gui/universal_widgets/world_capitals/world_capitals.rb +369 -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 +213 -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 +77 -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 +24642 -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 +46 -0
- data/lib/roebe/shell_scripts/lfs/005_libstdc++_1.sh +31 -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 +31 -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 +18 -0
- data/lib/roebe/shell_scripts/lfs/019_tar_2.sh +18 -0
- data/lib/roebe/shell_scripts/lfs/020_xz_2.sh +23 -0
- data/lib/roebe/shell_scripts/lfs/021_binutils_2.sh +39 -0
- data/lib/roebe/shell_scripts/lfs/022_gcc_2.sh +50 -0
- data/lib/roebe/shell_scripts/lfs/023_gettext_2.sh +13 -0
- data/lib/roebe/shell_scripts/lfs/024_bison_2.sh +13 -0
- data/lib/roebe/shell_scripts/lfs/README.md +28 -0
- data/lib/roebe/shell_scripts/lfs/lfs_build_variables.sh +254 -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 +362 -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 +154 -0
- data/lib/roebe/toplevel_methods/unicode/completed.rb +59 -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 +32 -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 +1105 -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 +172 -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 +201 -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/animals/animals.cgi +31 -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 +54 -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 +137 -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 +17 -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 +1114 -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 +108 -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/connectbox/connectbox.cgi +123 -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/do_androids_dream_of_electric_sheep/README.md +2 -0
- data/lib/roebe/www/do_androids_dream_of_electric_sheep/summary.md +4 -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 +416 -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 +457 -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/funerary_archaeology/funerary_archaeology.cgi +754 -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 +225 -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 +1601 -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.tex +31 -0
- data/lib/roebe/www/latex/examples/numbered_list/numbered_list.tex +31 -0
- data/lib/roebe/www/latex/examples/page_numbering_example/page_numbering_example.tex +36 -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 +203 -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 +127 -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 +1139 -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/m/303/274ll/m/303/274ll.cgi +28 -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 +368 -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/next_generation_sequencing/next_generation_sequencing.cgi +100 -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 +343 -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 +37 -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 +609 -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/sex_and_reproduction/sex_and_reproduction.cgi +102 -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 +68 -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 +290 -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 +617 -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 +259 -0
- data/lib/roebe/www/waschmaschinen/waschmaschinen.sinatra +52 -0
- data/lib/roebe/www/water/content.md +1 -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 +1055 -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 +708 -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/www//303/244thiopien//303/244thiopien.cgi +49 -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 +11 -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 +205 -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 +3019 -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
|
+
}}
|