rbt 0.11.89 → 0.11.91

Sign up to get free protection for your applications and to get access to all the features.

Potentially problematic release.


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

Files changed (104) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +111 -26
  3. data/bin/root_prefix +7 -0
  4. data/doc/README.gen +77 -1
  5. data/doc/deprecated/README.md +3 -3
  6. data/doc/deprecated/deprecated_rbt.cgi +1 -25
  7. data/lib/rbt/installer/initialize.rb +183 -0
  8. data/lib/rbt/installer/installer.rb +1 -165
  9. data/lib/rbt/installer/menu.rb +29 -23
  10. data/lib/rbt/installer/misc.rb +46 -39
  11. data/lib/rbt/toplevel_methods/available_programs.rb +1 -1
  12. data/lib/rbt/version/version.rb +2 -2
  13. data/lib/rbt/yaml/chained_programs/chained_programs.yml +20 -17
  14. data/lib/rbt/yaml/configuration/use_porg.yml +1 -1
  15. data/lib/rbt/yaml/cookbook_aliases.yml +2 -0
  16. data/lib/rbt/yaml/cookbooks/a2ps.yml +5 -2
  17. data/lib/rbt/yaml/cookbooks/adwaitaicontheme.yml +4 -1
  18. data/lib/rbt/yaml/cookbooks/atspi2atk.yml +5 -0
  19. data/lib/rbt/yaml/cookbooks/bind.yml +2 -2
  20. data/lib/rbt/yaml/cookbooks/bison.yml +9 -1
  21. data/lib/rbt/yaml/cookbooks/calibre.yml +2 -2
  22. data/lib/rbt/yaml/cookbooks/cracklib.yml +2 -2
  23. data/lib/rbt/yaml/cookbooks/evolution.yml +2 -2
  24. data/lib/rbt/yaml/cookbooks/gcc.yml +6 -4
  25. data/lib/rbt/yaml/cookbooks/geanyplugins.yml +2 -2
  26. data/lib/rbt/yaml/cookbooks/gnomeonlineaccounts.yml +7 -2
  27. data/lib/rbt/yaml/cookbooks/gnomescreenshot.yml +1 -0
  28. data/lib/rbt/yaml/cookbooks/gstpluginsbad.yml +2 -2
  29. data/lib/rbt/yaml/cookbooks/gstpluginsbase.yml +2 -2
  30. data/lib/rbt/yaml/cookbooks/gtk.yml +3 -1
  31. data/lib/rbt/yaml/cookbooks/imlib2.yml +2 -2
  32. data/lib/rbt/yaml/cookbooks/isl.yml +6 -1
  33. data/lib/rbt/yaml/cookbooks/libavif.yml +35 -0
  34. data/lib/rbt/yaml/cookbooks/libdrm.yml +19 -1
  35. data/lib/rbt/yaml/cookbooks/libintlperl.yml +14 -0
  36. data/lib/rbt/yaml/cookbooks/libsecret.yml +18 -0
  37. data/lib/rbt/yaml/cookbooks/libxaw.yml +2 -2
  38. data/lib/rbt/yaml/cookbooks/linux.yml +2 -2
  39. data/lib/rbt/yaml/cookbooks/llvm.yml +16 -20
  40. data/lib/rbt/yaml/cookbooks/matedesktop.yml +2 -2
  41. data/lib/rbt/yaml/cookbooks/nautilus.yml +3 -3
  42. data/lib/rbt/yaml/cookbooks/ncurses.yml +5 -0
  43. data/lib/rbt/yaml/cookbooks/nss.yml +2 -1
  44. data/lib/rbt/yaml/cookbooks/openssh.yml +2 -2
  45. data/lib/rbt/yaml/cookbooks/samtools.yml +2 -2
  46. data/lib/rbt/yaml/cookbooks/sanefrontends.yml +3 -0
  47. data/lib/rbt/yaml/cookbooks/scummvm.yml +3 -3
  48. data/lib/rbt/yaml/cookbooks/sway.yml +7 -4
  49. data/lib/rbt/yaml/cookbooks/tesseract.yml +1 -1
  50. data/lib/rbt/yaml/cookbooks/transmission.yml +2 -2
  51. data/lib/rbt/yaml/cookbooks/unifdef.yml +21 -0
  52. data/lib/rbt/yaml/cookbooks/waylandprotocols.yml +2 -1
  53. data/lib/rbt/yaml/cookbooks/webkitgtk.yml +3 -3
  54. data/lib/rbt/yaml/cookbooks/xvidcore.yml +4 -2
  55. data/lib/rbt/yaml/cookbooks/xz.yml +2 -2
  56. data/lib/rbt/yaml/expanded_cookbooks/a2ps.yml +9 -9
  57. data/lib/rbt/yaml/expanded_cookbooks/adwaitaicontheme.yml +1 -1
  58. data/lib/rbt/yaml/expanded_cookbooks/atspi2atk.yml +5 -4
  59. data/lib/rbt/yaml/expanded_cookbooks/bind.yml +9 -9
  60. data/lib/rbt/yaml/expanded_cookbooks/bison.yml +5 -4
  61. data/lib/rbt/yaml/expanded_cookbooks/calibre.yml +9 -9
  62. data/lib/rbt/yaml/expanded_cookbooks/cracklib.yml +9 -9
  63. data/lib/rbt/yaml/expanded_cookbooks/evolution.yml +8 -8
  64. data/lib/rbt/yaml/expanded_cookbooks/gcc.yml +19 -19
  65. data/lib/rbt/yaml/expanded_cookbooks/geanyplugins.yml +9 -9
  66. data/lib/rbt/yaml/expanded_cookbooks/git.yml +7 -17
  67. data/lib/rbt/yaml/expanded_cookbooks/gnomeonlineaccounts.yml +11 -11
  68. data/lib/rbt/yaml/expanded_cookbooks/gnomescreenshot.yml +1 -1
  69. data/lib/rbt/yaml/expanded_cookbooks/gstpluginsbad.yml +8 -8
  70. data/lib/rbt/yaml/expanded_cookbooks/gstpluginsbase.yml +8 -8
  71. data/lib/rbt/yaml/expanded_cookbooks/gtk.yml +7 -7
  72. data/lib/rbt/yaml/expanded_cookbooks/imlib2.yml +9 -9
  73. data/lib/rbt/yaml/expanded_cookbooks/isl.yml +6 -5
  74. data/lib/rbt/yaml/expanded_cookbooks/kbproto.yml +5 -2
  75. data/lib/rbt/yaml/expanded_cookbooks/libavif.yml +96 -0
  76. data/lib/rbt/yaml/expanded_cookbooks/libdrm.yml +17 -2
  77. data/lib/rbt/yaml/expanded_cookbooks/libintlperl.yml +91 -0
  78. data/lib/rbt/yaml/expanded_cookbooks/libsecret.yml +17 -2
  79. data/lib/rbt/yaml/expanded_cookbooks/libxaw.yml +9 -9
  80. data/lib/rbt/yaml/expanded_cookbooks/linux.yml +9 -9
  81. data/lib/rbt/yaml/expanded_cookbooks/llvm.yml +16 -20
  82. data/lib/rbt/yaml/expanded_cookbooks/matedesktop.yml +8 -8
  83. data/lib/rbt/yaml/expanded_cookbooks/nautilus.yml +10 -10
  84. data/lib/rbt/yaml/expanded_cookbooks/ncurses.yml +3 -3
  85. data/lib/rbt/yaml/expanded_cookbooks/nss.yml +9 -8
  86. data/lib/rbt/yaml/expanded_cookbooks/openldap.yml +8 -9
  87. data/lib/rbt/yaml/expanded_cookbooks/openssh.yml +9 -9
  88. data/lib/rbt/yaml/expanded_cookbooks/openssl.yml +5 -0
  89. data/lib/rbt/yaml/expanded_cookbooks/samtools.yml +9 -9
  90. data/lib/rbt/yaml/expanded_cookbooks/sanefrontends.yml +3 -3
  91. data/lib/rbt/yaml/expanded_cookbooks/scummvm.yml +9 -9
  92. data/lib/rbt/yaml/expanded_cookbooks/sway.yml +17 -16
  93. data/lib/rbt/yaml/expanded_cookbooks/tesseract.yml +1 -1
  94. data/lib/rbt/yaml/expanded_cookbooks/transmission.yml +9 -9
  95. data/lib/rbt/yaml/expanded_cookbooks/unifdef.yml +88 -0
  96. data/lib/rbt/yaml/expanded_cookbooks/waylandprotocols.yml +2 -2
  97. data/lib/rbt/yaml/expanded_cookbooks/webkitgtk.yml +10 -10
  98. data/lib/rbt/yaml/expanded_cookbooks/xvidcore.yml +1 -1
  99. data/lib/rbt/yaml/expanded_cookbooks/xz.yml +9 -9
  100. data/lib/rbt/yaml/programs_version/available_programs_versions.md +25 -22
  101. data/lib/rbt/yaml/programs_version/programs_version.yml +20 -18
  102. data/lib/rbt/yaml/programs_version/the_expanded_coobkook_dataset_was_last_updated_on_this_day.yml +1 -1
  103. data/lib/rbt/yaml/these_programs_were_updated.yml +23 -0
  104. metadata +16 -7
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: c680f7eb4f412dc65a68615f258f3080352013c2a4c0b1e554c47d714dd38e5f
4
- data.tar.gz: 9ec6271f2f6a92e7f5631a60de5693388be5983e268548a8e2c5e2e0111675b9
3
+ metadata.gz: 65b2672483a1d004399685e34a8718d786e0dbe5fb728a8239f7dc780196fadf
4
+ data.tar.gz: 4bf2fe4cf0bb5135a71c0d0fa4249228542ca8b2a7e6276c9bf060760a4b9691
5
5
  SHA512:
6
- metadata.gz: b8f97e0cd6d197298d7eb0b8d482e9ab710ac7f8297fa172b3c2fa2ee3e3cd209f47a5e5ab870f14fa7307c90d0629cf2d11767d5413709fd57fbdd635e5c63b
7
- data.tar.gz: fa60ac235c3e7532bc0e42beae3134bbb27ac5afd5ebdf64a89c8ddcecd4d6d79d222475accbae3725b7cb049e70d413b264801f612288a3424d8003d2512f29
6
+ metadata.gz: 590f0f8d24ca2edd6163a0955234b18701832b1c38f875af87958d9ee555139a47c3a0fd704f83a1f47fc4fc16e9307c47a3402bcb26080050718deec24829f6
7
+ data.tar.gz: 603ac2e4b4264510cdb3e497cd1c3891844eec40ab94a246d7732421c34d68de383cf28e0a848e04280db74b0bf79372a0410d6314a341cd37cd5a875772b332
data/README.md CHANGED
@@ -5,7 +5,7 @@
5
5
  [![forthebadge](https://forthebadge.com/images/badges/made-with-ruby.svg)](https://www.ruby-lang.org/en/)
6
6
  [![Gem Version](https://badge.fury.io/rb/rbt.svg)](https://badge.fury.io/rb/rbt)
7
7
 
8
- This gem was <b>last updated</b> on the <span style="color: darkblue; font-weight: bold">15.03.2023</span> (dd.mm.yyyy notation), at <span style="color: steelblue; font-weight: bold">16:12:30</span> o'clock.
8
+ This gem was <b>last updated</b> on the <span style="color: darkblue; font-weight: bold">18.03.2023</span> (dd.mm.yyyy notation), at <span style="color: steelblue; font-weight: bold">21:33:52</span> o'clock.
9
9
 
10
10
  ## RBT - The "Ruby Build Tools" Project
11
11
 
@@ -987,6 +987,60 @@ the RBT project" was added as a separate subsection closer
987
987
  to the top of this page. That way new users can quickly
988
988
  read and learn how I use the RBT project.
989
989
 
990
+ ## New users and how to "onboard" them, as far as the RBT project is concerned: policy and strategy
991
+
992
+ This subsection was added in <b>March 2023</b>, as one tiny step
993
+ towards trying to teach newcomers how to use the RBT project.
994
+
995
+ This subsection only explains a few policies, though - the background
996
+ context, so to say.
997
+
998
+ The subsection before pointed out that the <b>rbt gem</b> is quite complex,
999
+ and to some extent complicated. In the past the rbt gem was even
1000
+ more complicated - and this was one primary reason as to why this
1001
+ subsection was added. I want to keep things simple, at the least
1002
+ for new users; to some extent also at a later time.
1003
+
1004
+ At any rate, before <b>March 2023</b> the rbt gem made use of various
1005
+ add-ons, such as <b>ccache</b> or <b>porg</b>. In the event that you
1006
+ do not know projects like these: ccache is useful when you have to
1007
+ compile many different programs from source. It will use a cache,
1008
+ which can really help speed up subsequent recompilation efforts -
1009
+ very useful really. <b>porg</b> on the other hand can be used to
1010
+ trace as to which files are installed onto the target computer.
1011
+ This functionality is especially useful when you wish to be able
1012
+ to provide a package manager, e. g. by providing an <b>uninstall</b>
1013
+ functionality.
1014
+
1015
+ So, before <b>March 2023</b>, the configuration I would use for the
1016
+ rbt gem, typically mandated that porg and ccache are to be used -
1017
+ and the assumption here was that both projects are installed on
1018
+ the target computer, and that they will work, too. These assumptions
1019
+ may turn out to be incorrect. I noticed this problem in particular
1020
+ when I set up a new computer with a semi-broken toolchain. I can
1021
+ typically "uncripple" this eventually, by recompiling what I need,
1022
+ but how should a new user know any of this? That takes experience
1023
+ and at the least a bit of knowledge.
1024
+
1025
+ Thus, as I realised that mandating ccache and porg "out of the
1026
+ box" isn't that useful for new users, on a freshly installed
1027
+ (random) computer system, I decided that a new policy had to be
1028
+ added for RBT. This policy states that the rbt gem will try to
1029
+ be <b>minimal</b>, whenever possible, in regards to depending
1030
+ on external projects such as ccache or porg. That way the rbt
1031
+ gem no longer distributes configuration settings that are not
1032
+ so useful for new users.
1033
+
1034
+ What is the long term benefit of this approach?
1035
+
1036
+ It is hoped that this new policy in place will make it easier
1037
+ for genuinely new users to give the project a try. As it is,
1038
+ the project is catering too much to my own use cases - while
1039
+ that is acceptable for a project that has not yet reached
1040
+ a stable release, I believe we should slowly begin to help
1041
+ new users more, should they wish to make use of the rbt
1042
+ gem. Less frustration, more happiness. \o/
1043
+
990
1044
  ## @source_base_directory
991
1045
 
992
1046
  The very important instance variable **@source_base_directory**, defined
@@ -2299,7 +2353,7 @@ of guide or tutor that can properly explain some cave-eats
2299
2353
  or problems and make some "semi-seducated guesses", in
2300
2354
  order to fix this. But this is a long-term goal - for
2301
2355
  now, the primary purpose of the compile-shell is to aid
2302
- in batch-compiling programs.
2356
+ in <b>batch-compiling programs</b>.
2303
2357
 
2304
2358
  Since as of March 2018, an autocompile-option exists in
2305
2359
  the shell. This is currently unfinished but in the future
@@ -2616,6 +2670,7 @@ directory:
2616
2670
  report_host_cpu
2617
2671
  report_mate_desktop_version
2618
2672
  report_total_size_of_all_archives
2673
+ root_prefix
2619
2674
  ruby_libtool
2620
2675
  run_make_then_make_install
2621
2676
  scookie
@@ -9264,21 +9319,29 @@ that can occur during compilation.
9264
9319
  The following programs were updated with this release,
9265
9320
  compared to the previous release:
9266
9321
 
9267
- linux was updated to program version 6.2.6 (on: 13.03.2023-19:21:23)<br>
9268
- pip was updated to program version 23.0.1 (on: 14.03.2023-00:30:16)<br>
9269
- icewm was updated to program version 3.3.2 (on: 14.03.2023-00:41:47)<br>
9270
- setuptools was updated to program version 67.6.0 (on: 14.03.2023-01:09:23)<br>
9271
- git was updated to program version 2.40.0 (on: 14.03.2023-07:42:37)<br>
9272
- tdb was updated to program version 1.4.8 (on: 15.03.2023-06:16:05)<br>
9273
- php was updated to program version 8.2.4 (on: 15.03.2023-06:51:21)<br>
9274
- cmake was updated to program version 3.26.0 (on: 15.03.2023-07:04:00)<br>
9275
- gtk was updated to program version 4.10.1 (on: 15.03.2023-07:09:17)<br>
9276
- gtk was updated to program version 4.10.1 (on: 15.03.2023-07:26:43)<br>
9277
- openssl was updated to program version 3.1.0 (on: 15.03.2023-07:40:02)<br>
9278
- libxt was updated to program version 1.2.1 (on: 15.03.2023-08:48:11)<br>
9279
- ccache was updated to program version 4.8.0 (on: 15.03.2023-15:58:09)<br>
9280
- ccache was updated to program version 4.8 (on: 15.03.2023-15:59:07)<br>
9281
- gobjectintrospection was updated to program version 1.76.0 (on: 15.03.2023-16:00:07)<br>
9322
+ bind was updated to program version 9.19.0 (on: 15.03.2023-18:10:22)<br>
9323
+ bind was updated to program version 9.19.11 (on: 15.03.2023-18:11:18)<br>
9324
+ openssh was updated to program version 9.3p1 (on: 16.03.2023-02:14:21)<br>
9325
+ matedesktop was updated to program version 1.26.1 (on: 16.03.2023-02:14:56)<br>
9326
+ transmission was updated to program version 4.0.2 (on: 16.03.2023-02:16:23)<br>
9327
+ calibre was updated to program version 6.14.1 (on: 16.03.2023-14:58:29)<br>
9328
+ sway was updated to program version 1.8.1 (on: 16.03.2023-19:58:33)<br>
9329
+ scummvm was updated to program version 2.7.0 (on: 17.03.2023-03:15:15)<br>
9330
+ evolution was updated to program version 3.48.0 (on: 17.03.2023-08:39:43)<br>
9331
+ a2ps was updated to program version 4.15.1 (on: 18.03.2023-02:33:15)<br>
9332
+ libxaw was updated to program version 1.0.15 (on: 18.03.2023-02:52:30)<br>
9333
+ libxaw was updated to program version 1.0.15 (on: 18.03.2023-02:54:07)<br>
9334
+ cracklib was updated to program version 2.9.10 (on: 18.03.2023-03:07:31)<br>
9335
+ imlib2 was updated to program version 1.10.0 (on: 18.03.2023-03:10:09)<br>
9336
+ imlib2 was updated to program version 1.11.0 (on: 18.03.2023-03:10:32)<br>
9337
+ webkitgtk was updated to program version 2.40.0 (on: 18.03.2023-03:19:32)<br>
9338
+ samtools was updated to program version 1.17 (on: 18.03.2023-04:08:43)<br>
9339
+ gstpluginsbase was updated to program version 1.22.1 (on: 18.03.2023-06:00:40)<br>
9340
+ gstpluginsbad was updated to program version 1.22.1 (on: 18.03.2023-06:06:55)<br>
9341
+ nautilus was updated to program version 44.0 (on: 18.03.2023-18:05:39)<br>
9342
+ linux was updated to program version 6.2.7 (on: 18.03.2023-18:41:20)<br>
9343
+ xz was updated to program version 5.4.2 (on: 18.03.2023-20:33:52)<br>
9344
+ geanyplugins was updated to program version 1.38 (on: 18.03.2023-21:25:03)<br>
9282
9345
 
9283
9346
 
9284
9347
  ## Available program versions
@@ -9531,6 +9594,28 @@ actually to see whether I have to update some programs on the
9531
9594
  given computer system (on Linux typically). See the commandline
9532
9595
  option <b>--really-everything</b> to obtain that information.
9533
9596
 
9597
+ ## Batch Compiling and Chain compiling
9598
+
9599
+ You can batch-compile several programs in one go.
9600
+
9601
+ The syntax is:
9602
+
9603
+ rbt --batch-compile=mate
9604
+ rbt --batch-compile=ruby_addons
9605
+ rbt --batch-compile=xorg_protos
9606
+
9607
+ The first example will compile all of mate; the last example will
9608
+ compile all xorg-protos.
9609
+
9610
+ Note that for this to work, you first must have defined a compile-chain
9611
+ in the file chained_programs.yml, which is part of the RBT project.
9612
+
9613
+ Alternatively, you can just specify the programs that you wish to
9614
+ compile, separated by a "," character, such as shown by the
9615
+ following commandline example:
9616
+
9617
+ rbt --batch-compile=python,php,perl,ruby
9618
+
9534
9619
  ## Batch-downloading all source archives
9535
9620
 
9536
9621
  You can download all registered **source archives** by calling
@@ -10505,7 +10590,7 @@ castlecombat 0.8.1 28 Jul 2016 http://prdownloads.sourcefor
10505
10590
  caxlsx 3.2.0 27 May 2022 https://rubygems.org/downloads/caxlsx-3.2.0.gem
10506
10591
  cbase 1.3.7 28 Sep 2019 http://www.hyperrealm.com/packages/cbase-1.3.7.tar.gz
10507
10592
  cbindgen 0.24.3 11 Sep 2022 https://github.com/eqrion/cbindgen/archive/v0.24.3/cbindgen-0.24.3.tar.gz
10508
- ccache 4.7.4 23 Nov 2022 https://github.com/ccache/ccache/releases/download/v4.7.4/ccache-4.7.4.tar.xz
10593
+ ccache 4.8 15 Mar 2023 https://github.com/ccache/ccache/releases/download/v4.8/ccache-4.8.tar.gz
10509
10594
  ccaudio2 2.2.0 19 Mar 2019 http://ftp.gnu.org/pub/gnu/ccaudio/ccaudio2-2.2.0.tar.gz
10510
10595
  ccmath 2.2.1 01 Jun 2014 http://www.ibiblio.org/pub/Linux/libs/ccmath-2.2.1.tar.gz
10511
10596
  cdemuclient 3.2.1 27 Jun 2020 http://downloads.sourceforge.net/cdemu/cdemu-client-3.2.1.tar.bz2
@@ -10577,7 +10662,7 @@ cluttergst 3.0.27 07 Feb 2019 http://ftp.gnome.org/pub/gno
10577
10662
  cluttergtk 1.8.4 09 Aug 2017 http://ftp.gnome.org/pub/gnome/sources/clutter-gtk/1.8/clutter-gtk-1.8.4.tar.xz
10578
10663
  cluttergtkmm 1.6.0 18 Mar 2015 http://ftp.gnome.org/pub/GNOME/sources/clutter-gtkmm/1.6/clutter-gtkmm-1.6.0.tar.xz
10579
10664
  cluttermm 1.17.3 01 May 2014 http://ftp.gnome.org/pub/GNOME/sources/cluttermm/1.17/cluttermm-1.17.3.tar.xz
10580
- cmake 3.25.3 09 Mar 2023 https://github.com/Kitware/CMake/releases/download/v3.25.3/cmake-3.25.3.tar.gz
10665
+ cmake 3.26.0 15 Mar 2023 https://github.com/Kitware/CMake/releases/download/v3.26.0/cmake-3.26.0.tar.gz
10581
10666
  cmark 0.29.0 26 May 2020 https://github.com/commonmark/cmark/archive/0.29.0.tar.gz
10582
10667
  cmdftp 0.9.7 01 Jun 2014 http://download.savannah.nongnu.org/releases/cmdftp/cmdftp-0.9.7.tar.gz
10583
10668
  cmdparse 3.0.7 06 Mar 2021 https://rubygems.org/downloads/cmdparse-3.0.7.gem
@@ -11249,7 +11334,7 @@ gnuuid 0.5.1 14 Oct 2018 https://rubygems.org/downloa
11249
11334
  go 1.4.2 19 May 2015 https://storage.googleapis.com/golang/go1.4.2.src.tar.gz
11250
11335
  gob2 2.0.20 01 Dec 2013 http://ftp.gnome.org/pub/GNOME/sources/gob2/2.0/gob2-2.0.20.tar.xz
11251
11336
  gobby 0.5.0 02 Jun 2018 http://releases.0x539.de/gobby/gobby-0.5.0.tar.gz
11252
- gobjectintrospection 1.74.0 29 Dec 2022 https://download.gnome.org/sources/gobject-introspection/1.74/gobject-introspection-1.74.0.tar.xz
11337
+ gobjectintrospection 1.76.0 15 Mar 2023 https://download.gnome.org/sources/gobject-introspection/1.76/gobject-introspection-1.76.0.tar.xz
11253
11338
  gocr 0.47 02 Aug 2017 https://sourceforge.net/projects/jocr/files/gocr/0.47/gocr-0.47.tar.gz
11254
11339
  god 0.13.7 03 Sep 2022 https://rubygems.org/downloads/god-0.13.7.gem
11255
11340
  goffice 0.10.54 23 Jan 2023 https://download.gnome.org/sources/goffice/0.10/goffice-0.10.54.tar.xz
@@ -11327,7 +11412,7 @@ gstrtspserver 1.4.5 02 Mar 2015 http://gstreamer.freedesktop
11327
11412
  gsview 4.9 01 Jun 2014 http://mirror.cs.wisc.edu/pub/mirrors/ghost/ghostgum/gsview-4.9.tar.gz
11328
11413
  gtef 1.99.2 12 Mar 2017 http://ftp.gnome.org/pub/GNOME/sources/gtef/1.99/gtef-1.99.2.tar.xz
11329
11414
  gthumb 3.12.2 04 Apr 2022 https://download.gnome.org/sources/gthumb/3.12/gthumb-3.12.2.tar.xz
11330
- gtk 4.10.0 05 Mar 2023 https://download.gnome.org/sources/gtk/4.10/gtk-4.10.0.tar.xz
11415
+ gtk 4.10.1 15 Mar 2023 https://download.gnome.org/sources/gtk/4.10/gtk-4.10.1.tar.xz
11331
11416
  gtk+ 3.24.37 04 Mar 2023 https://download.gnome.org/sources/gtk+/3.24/gtk+-3.24.37.tar.xz
11332
11417
  gtkam 0.2.0 01 Apr 2014 http://sourceforge.net/projects/gphoto/files/gtkam/0.2.0/gtkam-0.2.0.tar.gz
11333
11418
  gtkchtheme 0.3.1 01 Dec 2012 http://plasmasturm.org/code/gtk-chtheme/gtk-chtheme-0.3.1.tar.bz2
@@ -12258,7 +12343,7 @@ libxscrnsaver 1.2.4 05 Dec 2022 https://www.x.org/releases/i
12258
12343
  libxshmfence 1.3.2 12 Dec 2022 https://www.x.org/releases/individual/lib/libxshmfence-1.3.2.tar.xz
12259
12344
  libxslt 1.1.37 03 Sep 2022 https://download.gnome.org/sources/libxslt/1.1/libxslt-1.1.37.tar.xz
12260
12345
  libxspf 1.2.0 16 Feb 2017 http://downloads.xiph.org/releases/xspf/libxspf-1.2.0.tar.bz2
12261
- libxt 1.2.0 23 Jun 2019 http://xorg.freedesktop.org/releases/individual/lib/libXt-1.2.0.tar.gz
12346
+ libxt 1.2.1 15 Mar 2023 https://www.x.org/releases/individual/lib/libXt-1.2.1.tar.bz2
12262
12347
  libxtst 1.2.4 28 Sep 2022 https://www.x.org/releases/individual/lib/libXtst-1.2.4.tar.gz
12263
12348
  libxv 1.0.12 05 Dec 2022 https://www.x.org/releases/individual/lib/libXv-1.0.12.tar.gz
12264
12349
  libxvmc 1.0.13 28 Mar 2022 https://www.x.org/releases/individual/lib/libXvMC-1.0.13.tar.gz
@@ -12672,7 +12757,7 @@ npth 1.6 30 Jul 2018 ftp://ftp.gnupg.org/gcrypt/n
12672
12757
  nsd 4.2.1 11 Jul 2019 https://www.nlnetlabs.nl/downloads/nsd/nsd-4.2.1.tar.gz
12673
12758
  nspluginwrapper 1.2.2 01 Jun 2014 http://gwenole.beauchesne.info/projects/nspluginwrapper/files/nspluginwrapper-1.2.2.tar.bz2
12674
12759
  nspr 4.35 17 Sep 2022 https://archive.mozilla.org/pub/nspr/releases/v4.35/src/nspr-4.35.tar.gz
12675
- nss 3.88.1 11 Feb 2023 https://archive.mozilla.org/pub/security/nss/releases/NSS_3_88_1_RTM/src/nss-3.88.1.tar.gz
12760
+ nss 3.89 15 Mar 2023 https://archive.mozilla.org/pub/security/nss/releases/NSS_3_89_RTM/src/nss-3.89.tar.gz
12676
12761
  31 Oct 2022 https://tuxera.com/opensource/ntfs-3g_ntfsprogs-2022.10.3.tgz
12677
12762
  ntp 4.2.8p15 24 Jun 2020 https://www.eecis.udel.edu/~ntp/ntp_spool/ntp4/ntp-4.2/ntp-4.2.8p15.tar.gz
12678
12763
  ntrack 017 09 Jul 2015 https://launchpad.net/ntrack/main/017/+download/ntrack-017.tar.gz
@@ -12724,7 +12809,7 @@ openshot 1.4.3 01 Jun 2014 http://launchpad.net/opensho
12724
12809
  openshotqt 2.5.1 03 Mar 2020 https://github.com/OpenShot/openshot-qt/archive/v2.5.1.tar.gz
12725
12810
  opensp 1.5.2 01 Jun 2014 http://ovh.dl.sourceforge.net/sourceforge/openjade/OpenSP-1.5.2.tar.gz
12726
12811
  openssh 9.2p1 02 Feb 2023 https://ftp3.usa.openbsd.org/pub/OpenBSD/OpenSSH/portable/openssh-9.2p1.tar.gz
12727
- openssl 3.0.8 07 Feb 2023 https://ftp.openssl.org/source/openssl-3.0.8.tar.gz
12812
+ openssl 3.1.0 15 Mar 2023 https://ftp.openssl.org/source/openssl-3.1.0.tar.gz
12728
12813
  openssn 1.3 01 Dec 2012 http://sourceforge.net/projects/openssn/files/openssn-1.3/openssn-1.3.tar.gz
12729
12814
  openttd 1.10.3 11 Aug 2020 https://cdn.openttd.org/openttd-releases/1.10.3/openttd-1.10.3-source.tar.xz
12730
12815
  openvpn 2.6.1 10 Mar 2023 https://swupdate.openvpn.org/community/releases/openvpn-2.6.1.tar.gz
@@ -12826,7 +12911,7 @@ phodav 3.0 02 Jul 2022 https://download.gnome.org/s
12826
12911
  phonon 4.11.1 28 Sep 2019 https://download.kde.org/stable/phonon/4.11.1/phonon-4.11.1.tar.xz
12827
12912
  phononbackendgstreamer 4.9.0 13 Oct 2017 http://download.kde.org/stable/phonon/phonon-backend-gstreamer/4.9.0/phonon-backend-gstreamer-4.9.0.tar.xz
12828
12913
  phononbackendvlc 0.11.2 07 Feb 2021 https://download.kde.org/stable/phonon/phonon-backend-vlc/0.11.2/phonon-backend-vlc-0.11.2.tar.xz
12829
- php 8.2.3 14 Feb 2023 https://www.php.net/distributions/php-8.2.3.tar.xz
12914
+ php 8.2.4 15 Mar 2023 https://www.php.net/distributions/php-8.2.4.tar.xz
12830
12915
  phpbb 3.2.3 30 Sep 2018 https://www.phpbb.com/files/release/phpBB-3.2.3.zip
12831
12916
  phpunit 6.3 24.09.2017 https://phar.phpunit.de/phpunit-6.3.phar
12832
12917
  phpwiki 1.5.5 02 Aug 2017 https://sourceforge.net/projects/phpwiki/files/PhpWiki%201.5%20%28current%29/phpwiki-1.5.5.zip
@@ -13423,7 +13508,7 @@ tcc 0.9.26 01 Aug 2013 http://download.savannah.gnu
13423
13508
  tcl 8.6.13 16 Nov 2022 https://sourceforge.net/projects/tcl/files/Tcl/8.6.13/tcl8.6.13rc2-src.tar.gz
13424
13509
  tcpdump 4.99.2 31 Dec 2022 http://www.tcpdump.org/release/tcpdump-4.99.2.tar.gz
13425
13510
  tcsh 6.24.07 25 Dec 2022 https://astron.com/pub/tcsh/tcsh-6.24.07.tar.gz
13426
- tdb 1.4.7 04 Oct 2022 https://www.samba.org/ftp/tdb/tdb-1.4.7.tar.gz
13511
+ tdb 1.4.8 15 Mar 2023 https://www.samba.org/ftp/tdb/tdb-1.4.8.tar.gz
13427
13512
  tea 44.1.0 18 Jul 2017 http://semiletov.org/tea/dloads/tea-44.1.0.tar.bz2
13428
13513
  ted 2.21.src 01 May 2014 ftp://ftp.nluug.nl/pub/editors/ted/ted-2.21.src.tar.gz
13429
13514
  telegnome 0.3.6 30 Aug 2021 https://download.gnome.org/sources/telegnome/0.3/telegnome-0.3.6.tar.xz
data/bin/root_prefix ADDED
@@ -0,0 +1,7 @@
1
+ #!/usr/bin/ruby -w
2
+ # Encoding: UTF-8
3
+ # frozen_string_literal: true
4
+ # =========================================================================== #
5
+ require 'rbt/requires/require_the_installer_class.rb'
6
+
7
+ RBT::Installer.new(ARGV) { :use_root_prefix }
data/doc/README.gen CHANGED
@@ -983,6 +983,60 @@ the RBT project" was added as a separate subsection closer
983
983
  to the top of this page. That way new users can quickly
984
984
  read and learn how I use the RBT project.
985
985
 
986
+ ## New users and how to "onboard" them, as far as the RBT project is concerned: policy and strategy
987
+
988
+ This subsection was added in <b>March 2023</b>, as one tiny step
989
+ towards trying to teach newcomers how to use the RBT project.
990
+
991
+ This subsection only explains a few policies, though - the background
992
+ context, so to say.
993
+
994
+ The subsection before pointed out that the <b>rbt gem</b> is quite complex,
995
+ and to some extent complicated. In the past the rbt gem was even
996
+ more complicated - and this was one primary reason as to why this
997
+ subsection was added. I want to keep things simple, at the least
998
+ for new users; to some extent also at a later time.
999
+
1000
+ At any rate, before <b>March 2023</b> the rbt gem made use of various
1001
+ add-ons, such as <b>ccache</b> or <b>porg</b>. In the event that you
1002
+ do not know projects like these: ccache is useful when you have to
1003
+ compile many different programs from source. It will use a cache,
1004
+ which can really help speed up subsequent recompilation efforts -
1005
+ very useful really. <b>porg</b> on the other hand can be used to
1006
+ trace as to which files are installed onto the target computer.
1007
+ This functionality is especially useful when you wish to be able
1008
+ to provide a package manager, e. g. by providing an <b>uninstall</b>
1009
+ functionality.
1010
+
1011
+ So, before <b>March 2023</b>, the configuration I would use for the
1012
+ rbt gem, typically mandated that porg and ccache are to be used -
1013
+ and the assumption here was that both projects are installed on
1014
+ the target computer, and that they will work, too. These assumptions
1015
+ may turn out to be incorrect. I noticed this problem in particular
1016
+ when I set up a new computer with a semi-broken toolchain. I can
1017
+ typically "uncripple" this eventually, by recompiling what I need,
1018
+ but how should a new user know any of this? That takes experience
1019
+ and at the least a bit of knowledge.
1020
+
1021
+ Thus, as I realised that mandating ccache and porg "out of the
1022
+ box" isn't that useful for new users, on a freshly installed
1023
+ (random) computer system, I decided that a new policy had to be
1024
+ added for RBT. This policy states that the rbt gem will try to
1025
+ be <b>minimal</b>, whenever possible, in regards to depending
1026
+ on external projects such as ccache or porg. That way the rbt
1027
+ gem no longer distributes configuration settings that are not
1028
+ so useful for new users.
1029
+
1030
+ What is the long term benefit of this approach?
1031
+
1032
+ It is hoped that this new policy in place will make it easier
1033
+ for genuinely new users to give the project a try. As it is,
1034
+ the project is catering too much to my own use cases - while
1035
+ that is acceptable for a project that has not yet reached
1036
+ a stable release, I believe we should slowly begin to help
1037
+ new users more, should they wish to make use of the rbt
1038
+ gem. Less frustration, more happiness. \o/
1039
+
986
1040
  ## @source_base_directory
987
1041
 
988
1042
  The very important instance variable **@source_base_directory**, defined
@@ -2295,7 +2349,7 @@ of guide or tutor that can properly explain some cave-eats
2295
2349
  or problems and make some "semi-seducated guesses", in
2296
2350
  order to fix this. But this is a long-term goal - for
2297
2351
  now, the primary purpose of the compile-shell is to aid
2298
- in batch-compiling programs.
2352
+ in <b>batch-compiling programs</b>.
2299
2353
 
2300
2354
  Since as of March 2018, an autocompile-option exists in
2301
2355
  the shell. This is currently unfinished but in the future
@@ -9324,6 +9378,28 @@ actually to see whether I have to update some programs on the
9324
9378
  given computer system (on Linux typically). See the commandline
9325
9379
  option <b>--really-everything</b> to obtain that information.
9326
9380
 
9381
+ ## Batch Compiling and Chain compiling
9382
+
9383
+ You can batch-compile several programs in one go.
9384
+
9385
+ The syntax is:
9386
+
9387
+ rbt --batch-compile=mate
9388
+ rbt --batch-compile=ruby_addons
9389
+ rbt --batch-compile=xorg_protos
9390
+
9391
+ The first example will compile all of mate; the last example will
9392
+ compile all xorg-protos.
9393
+
9394
+ Note that for this to work, you first must have defined a compile-chain
9395
+ in the file chained_programs.yml, which is part of the RBT project.
9396
+
9397
+ Alternatively, you can just specify the programs that you wish to
9398
+ compile, separated by a "," character, such as shown by the
9399
+ following commandline example:
9400
+
9401
+ rbt --batch-compile=python,php,perl,ruby
9402
+
9327
9403
  ## Batch-downloading all source archives
9328
9404
 
9329
9405
  You can download all registered **source archives** by calling
@@ -1,3 +1,3 @@
1
- This directory will eventually be removed, as soon as the
2
- old documentation has been integrated into the new
3
- format (README.gen).
1
+ This directory will eventually be removed, as soon as the old
2
+ documentation has been integrated into the new format
3
+ (README.gen).
@@ -892,31 +892,7 @@ This will create a symlink, for example, at
892
892
 
893
893
  The reason it was added was because GoboLinux uses semi-upcased
894
894
  directory names; and this makes things a bit more complicated
895
- sometimes.'
896
-
897
- # ======================================================================= #
898
- # === Batch Compiling / Chain compiling.
899
- # ======================================================================= #
900
-
901
- You can batch-compile several programs in one go.'
902
-
903
- The syntax is:
904
-
905
- rbt --batch-compile=mate'
906
- rbt --batch-compile=ruby_addons'
907
- rbt --batch-compile=xorg_protos'
908
-
909
- The first example will compile all of mate; the last example
910
- will compile all xorg-protos.'
911
-
912
- Note that for this to work, you first must have defined
913
- a compile-chain in the file cookbook_chained_programs.yml,
914
- which is part of the RBT project.'
915
-
916
- Alternatively, you can just specify the programs that you
917
- wish to compile, separated by a "," character, such as:
918
-
919
- rbt --batch-compile=python,php,perl,ruby'
895
+ sometimes.
920
896
 
921
897
  # ======================================================================= #
922
898
  # === UpdateEntry
@@ -0,0 +1,183 @@
1
+ #!/usr/bin/ruby -w
2
+ # Encoding: UTF-8
3
+ # frozen_string_literal: true
4
+ # =========================================================================== #
5
+ # require 'rbt/installer/initialize.rb'
6
+ # =========================================================================== #
7
+ require 'rbt/compile_base/compile_base.rb'
8
+
9
+ module RBT
10
+
11
+ class Installer < ::RBT::CompileBase # === RBT::Compile
12
+
13
+ # ========================================================================= #
14
+ # === initialize
15
+ #
16
+ # The first argument to this method will contain the commandline arguments
17
+ # for class RBT::Install. These are usually the name of the program
18
+ # (or programs) that you wish to compile.
19
+ #
20
+ # So, for example, "htop" could be passed as the first argument to
21
+ # this method. You can also pass in an Array here, and this class
22
+ # will then attempt to batch-compile these programs.
23
+ # ========================================================================= #
24
+ def initialize(
25
+ commandline_arguments = ARGV, # ← This should usually be an Array of programs that should be installed.
26
+ run_already = true
27
+ )
28
+ register_sigint
29
+ reset
30
+ # ======================================================================= #
31
+ # Handle symbols given as first argument next.
32
+ # ======================================================================= #
33
+ case commandline_arguments
34
+ # ======================================================================= #
35
+ # === :do_not_run_yet
36
+ # ======================================================================= #
37
+ when :do_not_run_yet,
38
+ :do_not_yet_run,
39
+ :dont_run_yet
40
+ run_already = false
41
+ commandline_arguments = []
42
+ end
43
+ set_commandline_arguments(
44
+ commandline_arguments
45
+ )
46
+ if block_given?
47
+ yielded = yield
48
+ case yielded
49
+ # ===================================================================== #
50
+ # === :dont_run_yet
51
+ # ===================================================================== #
52
+ when :dont_run_yet
53
+ run_already = false
54
+ end
55
+ end
56
+ case run_already
57
+ # ======================================================================= #
58
+ # === :do_not_run_yet
59
+ # ======================================================================= #
60
+ when :do_not_run_yet
61
+ run_already = false
62
+ end
63
+ consider_entering_the_log_directory
64
+ # ======================================================================= #
65
+ # === Handle blocks next
66
+ # ======================================================================= #
67
+ if block_given?
68
+ yielded = yield
69
+ # ===================================================================== #
70
+ # Handle Symbols first:
71
+ # ===================================================================== #
72
+ if yielded.is_a? Symbol
73
+ case yielded
74
+ # =================================================================== #
75
+ # === :do_not_run_yet
76
+ # =================================================================== #
77
+ when :do_not_run_yet,
78
+ :do_not_run,
79
+ :dont_run_yet
80
+ run_already = false
81
+ # =================================================================== #
82
+ # === :do_not_check_whether_the_program_exists
83
+ # =================================================================== #
84
+ when :do_not_check_whether_the_program_exists
85
+ do_not_check_whether_the_program_exists # ← This method exists, so use it too.
86
+ # =================================================================== #
87
+ # === :use_root_prefix
88
+ # =================================================================== #
89
+ when :use_root_prefix
90
+ do_use_root_prefix
91
+ end
92
+ # ===================================================================== #
93
+ # === Handle Hashes next
94
+ # ===================================================================== #
95
+ elsif yielded.is_a? Hash
96
+ # =================================================================== #
97
+ # === :run_already
98
+ #
99
+ # This entry point should be checked last.
100
+ # =================================================================== #
101
+ if yielded.has_key? :run_already
102
+ case yielded[:run_already]
103
+ when :do_not_run_yet
104
+ run_already = false
105
+ end
106
+ end
107
+ # =================================================================== #
108
+ # === :use_this_prefix
109
+ # =================================================================== #
110
+ if yielded.has_key? :use_this_prefix
111
+ set_use_this_prefix(yielded[:use_this_prefix])
112
+ end
113
+ # =================================================================== #
114
+ # === :shall_we_check_whether_the_program_exists
115
+ # =================================================================== #
116
+ if yielded.has_key? :shall_we_check_whether_the_program_exists
117
+ case yielded[:shall_we_check_whether_the_program_exists]
118
+ # ================================================================= #
119
+ # === nope
120
+ #
121
+ # In this case we will not check whether the program exists.
122
+ # ================================================================= #
123
+ when :nope, false
124
+ do_not_check_whether_the_program_exists
125
+ end
126
+ end
127
+ # =================================================================== #
128
+ # === :prefix
129
+ #
130
+ # Handle prefix-related keys first.
131
+ # =================================================================== #
132
+ if yielded.has_key? :prefix
133
+ set_user_prefix(yielded.delete(:prefix)) # ← Set the new prefix via a method call.
134
+ # =================================================================== #
135
+ # === :use_this_prefix
136
+ # =================================================================== #
137
+ elsif yielded.has_key? :use_this_prefix
138
+ set_user_prefix(yielded.delete(:use_this_prefix))
139
+ # =================================================================== #
140
+ # === :use_this_as_prefix
141
+ # =================================================================== #
142
+ elsif yielded.has_key? :use_this_as_prefix
143
+ set_user_prefix(yielded.delete(:use_this_as_prefix))
144
+ end
145
+ # =================================================================== #
146
+ # === :symlink_after_compilation_has_finished
147
+ # =================================================================== #
148
+ if yielded.has_key? :symlink_after_compilation_has_finished
149
+ value = yielded.delete(:symlink_after_compilation_has_finished)
150
+ if value == false
151
+ set_do_not_symlink(:be_verbose) # Disable symlinking after compilation.
152
+ end
153
+ end
154
+ # =================================================================== #
155
+ # Add commandline_arguments if the key is :commandline_arguments
156
+ #
157
+ # Such a Hash may have a key like this:
158
+ #
159
+ # {:commandline_arguments=>["--dont-use-colours", "ntrad"]}
160
+ # =================================================================== #
161
+ if yielded.has_key? :commandline_arguments
162
+ append_to_the_commandline(
163
+ yielded.delete(:commandline_arguments)
164
+ )
165
+ end
166
+ else
167
+ append_to_the_commandline(yielded)
168
+ end
169
+ end
170
+ # ======================================================================= #
171
+ # Handle special symbols passed to run_already next:
172
+ # ======================================================================= #
173
+ case run_already
174
+ when :dont_run_yet,
175
+ :do_not_run_yet,
176
+ :do_not_run_already
177
+ run_already = false
178
+ end
179
+ time_snapshot # Store the first snapshot, which is the start-mark.
180
+ run if run_already
181
+ end
182
+
183
+ end; end