rbt 0.11.89 → 0.11.90

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.

checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: c680f7eb4f412dc65a68615f258f3080352013c2a4c0b1e554c47d714dd38e5f
4
- data.tar.gz: 9ec6271f2f6a92e7f5631a60de5693388be5983e268548a8e2c5e2e0111675b9
3
+ metadata.gz: af4d517980d3772b2a6f2549de98c1d96086b0c998972817ef2fc02edf203767
4
+ data.tar.gz: 8f0641bbcb97969c6c7a6e8ad75cd3414329e08a35521bbdec5d96450569f739
5
5
  SHA512:
6
- metadata.gz: b8f97e0cd6d197298d7eb0b8d482e9ab710ac7f8297fa172b3c2fa2ee3e3cd209f47a5e5ab870f14fa7307c90d0629cf2d11767d5413709fd57fbdd635e5c63b
7
- data.tar.gz: fa60ac235c3e7532bc0e42beae3134bbb27ac5afd5ebdf64a89c8ddcecd4d6d79d222475accbae3725b7cb049e70d413b264801f612288a3424d8003d2512f29
6
+ metadata.gz: c830b7427fe4a6c7dfac0f480e306ba514b58698eb257467f0c0574548732ac8dc143714e40b72b854ecfec0ac1e1cf83abf7abdcf403cb6397dbabfee5d3b2d
7
+ data.tar.gz: f8e1259be1977afbccee7ec069144929c384c944cc9bd2b830a8291106799451a0e88d22c362ef3bb3bf40b3f9ba0ed7d743fb04e5d17c4d3a120482bad47528
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">15.03.2023</span> (dd.mm.yyyy notation), at <span style="color: steelblue; font-weight: bold">18:08:44</span> o'clock.
9
9
 
10
10
  ## RBT - The "Ruby Build Tools" Project
11
11
 
@@ -2616,6 +2616,7 @@ directory:
2616
2616
  report_host_cpu
2617
2617
  report_mate_desktop_version
2618
2618
  report_total_size_of_all_archives
2619
+ root_prefix
2619
2620
  ruby_libtool
2620
2621
  run_make_then_make_install
2621
2622
  scookie
@@ -9264,22 +9265,6 @@ that can occur during compilation.
9264
9265
  The following programs were updated with this release,
9265
9266
  compared to the previous release:
9266
9267
 
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>
9282
-
9283
9268
 
9284
9269
  ## Available program versions
9285
9270
 
@@ -10505,7 +10490,7 @@ castlecombat 0.8.1 28 Jul 2016 http://prdownloads.sourcefor
10505
10490
  caxlsx 3.2.0 27 May 2022 https://rubygems.org/downloads/caxlsx-3.2.0.gem
10506
10491
  cbase 1.3.7 28 Sep 2019 http://www.hyperrealm.com/packages/cbase-1.3.7.tar.gz
10507
10492
  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
10493
+ ccache 4.8 15 Mar 2023 https://github.com/ccache/ccache/releases/download/v4.8/ccache-4.8.tar.gz
10509
10494
  ccaudio2 2.2.0 19 Mar 2019 http://ftp.gnu.org/pub/gnu/ccaudio/ccaudio2-2.2.0.tar.gz
10510
10495
  ccmath 2.2.1 01 Jun 2014 http://www.ibiblio.org/pub/Linux/libs/ccmath-2.2.1.tar.gz
10511
10496
  cdemuclient 3.2.1 27 Jun 2020 http://downloads.sourceforge.net/cdemu/cdemu-client-3.2.1.tar.bz2
@@ -10577,7 +10562,7 @@ cluttergst 3.0.27 07 Feb 2019 http://ftp.gnome.org/pub/gno
10577
10562
  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
10563
  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
10564
  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
10565
+ cmake 3.26.0 15 Mar 2023 https://github.com/Kitware/CMake/releases/download/v3.26.0/cmake-3.26.0.tar.gz
10581
10566
  cmark 0.29.0 26 May 2020 https://github.com/commonmark/cmark/archive/0.29.0.tar.gz
10582
10567
  cmdftp 0.9.7 01 Jun 2014 http://download.savannah.nongnu.org/releases/cmdftp/cmdftp-0.9.7.tar.gz
10583
10568
  cmdparse 3.0.7 06 Mar 2021 https://rubygems.org/downloads/cmdparse-3.0.7.gem
@@ -11249,7 +11234,7 @@ gnuuid 0.5.1 14 Oct 2018 https://rubygems.org/downloa
11249
11234
  go 1.4.2 19 May 2015 https://storage.googleapis.com/golang/go1.4.2.src.tar.gz
11250
11235
  gob2 2.0.20 01 Dec 2013 http://ftp.gnome.org/pub/GNOME/sources/gob2/2.0/gob2-2.0.20.tar.xz
11251
11236
  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
11237
+ gobjectintrospection 1.76.0 15 Mar 2023 https://download.gnome.org/sources/gobject-introspection/1.76/gobject-introspection-1.76.0.tar.xz
11253
11238
  gocr 0.47 02 Aug 2017 https://sourceforge.net/projects/jocr/files/gocr/0.47/gocr-0.47.tar.gz
11254
11239
  god 0.13.7 03 Sep 2022 https://rubygems.org/downloads/god-0.13.7.gem
11255
11240
  goffice 0.10.54 23 Jan 2023 https://download.gnome.org/sources/goffice/0.10/goffice-0.10.54.tar.xz
@@ -11327,7 +11312,7 @@ gstrtspserver 1.4.5 02 Mar 2015 http://gstreamer.freedesktop
11327
11312
  gsview 4.9 01 Jun 2014 http://mirror.cs.wisc.edu/pub/mirrors/ghost/ghostgum/gsview-4.9.tar.gz
11328
11313
  gtef 1.99.2 12 Mar 2017 http://ftp.gnome.org/pub/GNOME/sources/gtef/1.99/gtef-1.99.2.tar.xz
11329
11314
  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
11315
+ gtk 4.10.1 15 Mar 2023 https://download.gnome.org/sources/gtk/4.10/gtk-4.10.1.tar.xz
11331
11316
  gtk+ 3.24.37 04 Mar 2023 https://download.gnome.org/sources/gtk+/3.24/gtk+-3.24.37.tar.xz
11332
11317
  gtkam 0.2.0 01 Apr 2014 http://sourceforge.net/projects/gphoto/files/gtkam/0.2.0/gtkam-0.2.0.tar.gz
11333
11318
  gtkchtheme 0.3.1 01 Dec 2012 http://plasmasturm.org/code/gtk-chtheme/gtk-chtheme-0.3.1.tar.bz2
@@ -12258,7 +12243,7 @@ libxscrnsaver 1.2.4 05 Dec 2022 https://www.x.org/releases/i
12258
12243
  libxshmfence 1.3.2 12 Dec 2022 https://www.x.org/releases/individual/lib/libxshmfence-1.3.2.tar.xz
12259
12244
  libxslt 1.1.37 03 Sep 2022 https://download.gnome.org/sources/libxslt/1.1/libxslt-1.1.37.tar.xz
12260
12245
  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
12246
+ libxt 1.2.1 15 Mar 2023 https://www.x.org/releases/individual/lib/libXt-1.2.1.tar.bz2
12262
12247
  libxtst 1.2.4 28 Sep 2022 https://www.x.org/releases/individual/lib/libXtst-1.2.4.tar.gz
12263
12248
  libxv 1.0.12 05 Dec 2022 https://www.x.org/releases/individual/lib/libXv-1.0.12.tar.gz
12264
12249
  libxvmc 1.0.13 28 Mar 2022 https://www.x.org/releases/individual/lib/libXvMC-1.0.13.tar.gz
@@ -12672,7 +12657,7 @@ npth 1.6 30 Jul 2018 ftp://ftp.gnupg.org/gcrypt/n
12672
12657
  nsd 4.2.1 11 Jul 2019 https://www.nlnetlabs.nl/downloads/nsd/nsd-4.2.1.tar.gz
12673
12658
  nspluginwrapper 1.2.2 01 Jun 2014 http://gwenole.beauchesne.info/projects/nspluginwrapper/files/nspluginwrapper-1.2.2.tar.bz2
12674
12659
  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
12660
+ 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
12661
  31 Oct 2022 https://tuxera.com/opensource/ntfs-3g_ntfsprogs-2022.10.3.tgz
12677
12662
  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
12663
  ntrack 017 09 Jul 2015 https://launchpad.net/ntrack/main/017/+download/ntrack-017.tar.gz
@@ -12724,7 +12709,7 @@ openshot 1.4.3 01 Jun 2014 http://launchpad.net/opensho
12724
12709
  openshotqt 2.5.1 03 Mar 2020 https://github.com/OpenShot/openshot-qt/archive/v2.5.1.tar.gz
12725
12710
  opensp 1.5.2 01 Jun 2014 http://ovh.dl.sourceforge.net/sourceforge/openjade/OpenSP-1.5.2.tar.gz
12726
12711
  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
12712
+ openssl 3.1.0 15 Mar 2023 https://ftp.openssl.org/source/openssl-3.1.0.tar.gz
12728
12713
  openssn 1.3 01 Dec 2012 http://sourceforge.net/projects/openssn/files/openssn-1.3/openssn-1.3.tar.gz
12729
12714
  openttd 1.10.3 11 Aug 2020 https://cdn.openttd.org/openttd-releases/1.10.3/openttd-1.10.3-source.tar.xz
12730
12715
  openvpn 2.6.1 10 Mar 2023 https://swupdate.openvpn.org/community/releases/openvpn-2.6.1.tar.gz
@@ -12826,7 +12811,7 @@ phodav 3.0 02 Jul 2022 https://download.gnome.org/s
12826
12811
  phonon 4.11.1 28 Sep 2019 https://download.kde.org/stable/phonon/4.11.1/phonon-4.11.1.tar.xz
12827
12812
  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
12813
  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
12814
+ php 8.2.4 15 Mar 2023 https://www.php.net/distributions/php-8.2.4.tar.xz
12830
12815
  phpbb 3.2.3 30 Sep 2018 https://www.phpbb.com/files/release/phpBB-3.2.3.zip
12831
12816
  phpunit 6.3 24.09.2017 https://phar.phpunit.de/phpunit-6.3.phar
12832
12817
  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 +13408,7 @@ tcc 0.9.26 01 Aug 2013 http://download.savannah.gnu
13423
13408
  tcl 8.6.13 16 Nov 2022 https://sourceforge.net/projects/tcl/files/Tcl/8.6.13/tcl8.6.13rc2-src.tar.gz
13424
13409
  tcpdump 4.99.2 31 Dec 2022 http://www.tcpdump.org/release/tcpdump-4.99.2.tar.gz
13425
13410
  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
13411
+ tdb 1.4.8 15 Mar 2023 https://www.samba.org/ftp/tdb/tdb-1.4.8.tar.gz
13427
13412
  tea 44.1.0 18 Jul 2017 http://semiletov.org/tea/dloads/tea-44.1.0.tar.bz2
13428
13413
  ted 2.21.src 01 May 2014 ftp://ftp.nluug.nl/pub/editors/ted/ted-2.21.src.tar.gz
13429
13414
  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 }
@@ -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
@@ -64,177 +64,13 @@ class Installer < ::RBT::CompileBase # === RBT::Compile
64
64
  require 'rbt/installer/build_directory.rb'
65
65
  require 'rbt/installer/extracting_and_archive_related_code.rb'
66
66
  require 'rbt/installer/handle_installing_and_compiling_programs.rb'
67
+ require 'rbt/installer/initialize.rb'
67
68
  require 'rbt/installer/menu.rb'
68
69
  require 'rbt/installer/misc.rb'
69
70
  require 'rbt/installer/reset.rb'
70
71
  require 'rbt/misc/classes_for_individual_programs/change_lib64_to_lib.rb'
71
72
  require 'rbt/linux/linux_from_scratch/lfs/lfs.rb'
72
73
 
73
- # ========================================================================= #
74
- # === initialize
75
- #
76
- # The first argument to this method will contain the commandline arguments
77
- # for class RBT::Install. These are usually the name of the program
78
- # (or programs) that you wish to compile.
79
- #
80
- # So, for example, "htop" could be passed as the first argument to
81
- # this method. You can also pass in an Array here, and this class
82
- # will then attempt to batch-compile these programs.
83
- # ========================================================================= #
84
- def initialize(
85
- commandline_arguments = ARGV, # ← This should usually be an Array of programs that should be installed.
86
- run_already = true
87
- )
88
- register_sigint
89
- reset
90
- # ======================================================================= #
91
- # Handle symbols given as first argument next.
92
- # ======================================================================= #
93
- case commandline_arguments
94
- # ======================================================================= #
95
- # === :do_not_run_yet
96
- # ======================================================================= #
97
- when :do_not_run_yet,
98
- :do_not_yet_run,
99
- :dont_run_yet
100
- run_already = false
101
- commandline_arguments = []
102
- end
103
- set_commandline_arguments(
104
- commandline_arguments
105
- )
106
- if block_given?
107
- yielded = yield
108
- case yielded
109
- # ===================================================================== #
110
- # === :dont_run_yet
111
- # ===================================================================== #
112
- when :dont_run_yet
113
- run_already = false
114
- end
115
- end
116
- case run_already
117
- # ======================================================================= #
118
- # === :do_not_run_yet
119
- # ======================================================================= #
120
- when :do_not_run_yet
121
- run_already = false
122
- end
123
- consider_entering_the_log_directory
124
- # ======================================================================= #
125
- # === Handle blocks next
126
- # ======================================================================= #
127
- if block_given?
128
- yielded = yield
129
- # ===================================================================== #
130
- # Handle Symbols first:
131
- # ===================================================================== #
132
- if yielded.is_a? Symbol
133
- case yielded
134
- # =================================================================== #
135
- # === :do_not_run_yet
136
- # =================================================================== #
137
- when :do_not_run_yet,
138
- :do_not_run,
139
- :dont_run_yet
140
- run_already = false
141
- # =================================================================== #
142
- # === :do_not_check_whether_the_program_exists
143
- # =================================================================== #
144
- when :do_not_check_whether_the_program_exists
145
- do_not_check_whether_the_program_exists # ← This method exists, so use it too.
146
- end
147
- # ===================================================================== #
148
- # === Handle Hashes next
149
- # ===================================================================== #
150
- elsif yielded.is_a? Hash
151
- # =================================================================== #
152
- # === :run_already
153
- #
154
- # This entry point should be checked last.
155
- # =================================================================== #
156
- if yielded.has_key? :run_already
157
- case yielded[:run_already]
158
- when :do_not_run_yet
159
- run_already = false
160
- end
161
- end
162
- # =================================================================== #
163
- # === :use_this_prefix
164
- # =================================================================== #
165
- if yielded.has_key? :use_this_prefix
166
- set_use_this_prefix(yielded[:use_this_prefix])
167
- end
168
- # =================================================================== #
169
- # === :shall_we_check_whether_the_program_exists
170
- # =================================================================== #
171
- if yielded.has_key? :shall_we_check_whether_the_program_exists
172
- case yielded[:shall_we_check_whether_the_program_exists]
173
- # ================================================================= #
174
- # === nope
175
- #
176
- # In this case we will not check whether the program exists.
177
- # ================================================================= #
178
- when :nope, false
179
- do_not_check_whether_the_program_exists
180
- end
181
- end
182
- # =================================================================== #
183
- # === :prefix
184
- #
185
- # Handle prefix-related keys first.
186
- # =================================================================== #
187
- if yielded.has_key? :prefix
188
- set_user_prefix(yielded.delete(:prefix)) # ← Set the new prefix via a method call.
189
- # =================================================================== #
190
- # === :use_this_prefix
191
- # =================================================================== #
192
- elsif yielded.has_key? :use_this_prefix
193
- set_user_prefix(yielded.delete(:use_this_prefix))
194
- # =================================================================== #
195
- # === :use_this_as_prefix
196
- # =================================================================== #
197
- elsif yielded.has_key? :use_this_as_prefix
198
- set_user_prefix(yielded.delete(:use_this_as_prefix))
199
- end
200
- # =================================================================== #
201
- # === :symlink_after_compilation_has_finished
202
- # =================================================================== #
203
- if yielded.has_key? :symlink_after_compilation_has_finished
204
- value = yielded.delete(:symlink_after_compilation_has_finished)
205
- if value == false
206
- set_do_not_symlink(:be_verbose) # Disable symlinking after compilation.
207
- end
208
- end
209
- # =================================================================== #
210
- # Add commandline_arguments if the key is :commandline_arguments
211
- #
212
- # Such a Hash may have a key like this:
213
- #
214
- # {:commandline_arguments=>["--dont-use-colours", "ntrad"]}
215
- # =================================================================== #
216
- if yielded.has_key? :commandline_arguments
217
- append_to_the_commandline(
218
- yielded.delete(:commandline_arguments)
219
- )
220
- end
221
- else
222
- append_to_the_commandline(yielded)
223
- end
224
- end
225
- # ======================================================================= #
226
- # Handle special symbols passed to run_already next:
227
- # ======================================================================= #
228
- case run_already
229
- when :dont_run_yet,
230
- :do_not_run_yet,
231
- :do_not_run_already
232
- run_already = false
233
- end
234
- time_snapshot # Store the first snapshot, which is the start-mark.
235
- run if run_already
236
- end
237
-
238
74
  # ========================================================================= #
239
75
  # === RBT::Installer[]
240
76
  # ========================================================================= #
@@ -39,6 +39,21 @@ class Installer < ::RBT::CompileBase # === RBT::Compile
39
39
  else
40
40
  case i # (case tag, cas tag)
41
41
  # ===================================================================== #
42
+ # === Use /root as prefix
43
+ #
44
+ # This entry point allows us to use /root/ as the prefix value.
45
+ # Note that this is distinct to --rootprefix which uses /.
46
+ #
47
+ # Invocation examples:
48
+ #
49
+ # ry bison --root
50
+ # ry libtool --root
51
+ #
52
+ # ===================================================================== #
53
+ when /^-?-?root$/i,
54
+ /^-?-?root(_|-| )?prefix$/i
55
+ set_user_prefix('/root/')
56
+ # ===================================================================== #
42
57
  # === Use the / root prefix as target for --prefix=
43
58
  #
44
59
  # This entry point allows the user to target / as the main prefix
@@ -46,26 +61,30 @@ class Installer < ::RBT::CompileBase # === RBT::Compile
46
61
  #
47
62
  # Usage example:
48
63
  #
49
- # ry coreutils --static --rootprefix
64
+ # ry coreutils --static --realrootprefix
50
65
  #
51
66
  # ===================================================================== #
52
67
  when /^-?-?real(_|-| )?root(_|-| )?prefix$/i
53
68
  set_user_prefix('/')
54
69
  # ===================================================================== #
55
- # === Use /root as prefix
70
+ # === Show the intro for RBT.
56
71
  #
57
- # This entry point allows us to use /root/ as the prefix value.
58
- # Note that this is distinct to --rootprefix which uses /.
72
+ # This entry point will provide a very few useful hints to a new
73
+ # user of the rbt suite.
59
74
  #
60
- # Invocation examples:
75
+ # We have to be careful with the input, as "gobject-introspection"
76
+ # includes the word "intro" as well.
61
77
  #
62
- # ry bison --root
63
- # ry libtool --root
78
+ # Invocation example:
64
79
  #
80
+ # rbt --intro
81
+ #
65
82
  # ===================================================================== #
66
- when /^-?-?root$/i,
67
- /^-?-?root(_|-| )?prefix$/i
68
- set_user_prefix('/root/')
83
+ when /^-?-?intro$/,
84
+ /^-?-?show(_|-| )?intro$/,
85
+ /^-?-?show(_|-| )?rbt(_|-| )?intro$/
86
+ show_rbt_intro
87
+ exit_program
69
88
  # ======================================================================= #
70
89
  # === Copy the expanded cookbooks
71
90
  #
@@ -7000,19 +7019,6 @@ class Installer < ::RBT::CompileBase # === RBT::Compile
7000
7019
  show_installation_procedure_file
7001
7020
  exit_program
7002
7021
  # ===================================================================== #
7003
- # === Show the intro for RBT.
7004
- #
7005
- # Invocation example:
7006
- #
7007
- # rbt --intro
7008
- #
7009
- # ===================================================================== #
7010
- when /-?-?intro$/,
7011
- /show(_|-| )?intro$/,
7012
- /^show(_|-| )?rbt(_|-| )?intro$/
7013
- show_rbt_intro
7014
- exit_program
7015
- # ===================================================================== #
7016
7022
  # === Generate PDF tutorial
7017
7023
  #
7018
7024
  # Invocation example:
@@ -57,6 +57,51 @@ class Installer < ::RBT::CompileBase # === RBT::Installer
57
57
  require 'rbt/libtool/remove_this_entry.rb'
58
58
  require 'rbt/time/time.rb'
59
59
 
60
+ # ========================================================================= #
61
+ # === do_use_root_prefix
62
+ # ========================================================================= #
63
+ def do_use_root_prefix
64
+ set_user_prefix('/root/')
65
+ end
66
+
67
+ # ========================================================================= #
68
+ # === show_rbt_intro
69
+ #
70
+ # Invocation example:
71
+ #
72
+ # ry --show-rbt-intro
73
+ # ry --intro
74
+ #
75
+ # ========================================================================= #
76
+ def show_rbt_intro
77
+ e
78
+ e 'Here are some hints to get you started with RBT.'
79
+ e
80
+ e "You can compile a program by issuing #{orange('rbt <name>')}."
81
+ e
82
+ e 'Example:'
83
+ e
84
+ e sfancy(' rbt php')
85
+ e
86
+ e 'You can also compile into a standalone app-dir:'
87
+ e
88
+ e sfancy(' rbt php ntrad')
89
+ e sfancy(' rbt php --app-dir')
90
+ e
91
+ e 'Both variants are synonymous. If in doubt, using the variants'
92
+ e 'that start with '+teal('--')+' is recommended.'
93
+ e
94
+ e 'To speed-up looking for the dataset stored in the various .yml'
95
+ e 'files you can also issue the following command:'
96
+ e
97
+ e sfancy(' rbt --expand')
98
+ e
99
+ e 'This command will expand the dataset into a "sanitized" variant'
100
+ e 'that requires less pre-processing before it can be used for'
101
+ e 'compiling/installing programs from source.'
102
+ e
103
+ end
104
+
60
105
  # ========================================================================= #
61
106
  # === show_all_about
62
107
  #
@@ -15310,44 +15355,6 @@ end # end false clause (DEBUG - FIXME!!!)
15310
15355
  e
15311
15356
  end
15312
15357
 
15313
- # ========================================================================= #
15314
- # === show_rbt_intro
15315
- #
15316
- # Invocation example:
15317
- #
15318
- # ry --show-rbt-intro
15319
- # ry --intro
15320
- #
15321
- # ========================================================================= #
15322
- def show_rbt_intro
15323
- e
15324
- e 'Here are some hints to get you started with RBT.'
15325
- e
15326
- e "You can compile a program by issuing #{orange('rbt <name>')}."
15327
- e
15328
- e 'Example:'
15329
- e
15330
- e sfancy(' rbt php')
15331
- e
15332
- e 'You can also compile into a standalone app-dir:'
15333
- e
15334
- e sfancy(' rbt php ntrad')
15335
- e sfancy(' rbt php --app-dir')
15336
- e
15337
- e 'Both variants are synonymous. If in doubt, using the variants'
15338
- e 'that start with '+teal('--')+' is recommended.'
15339
- e
15340
- e 'To speed-up looking for the dataset stored in the various .yml'
15341
- e 'files you can also issue the following command:'
15342
- e
15343
- e sfancy(' rbt --expand')
15344
- e
15345
- e 'This command will expand the dataset into a "sanitized" variant'
15346
- e 'that requires less pre-processing before it can be used for'
15347
- e 'compiling/installing programs from source.'
15348
- e
15349
- end
15350
-
15351
15358
  # ========================================================================= #
15352
15359
  # === report_n_programs
15353
15360
  #
@@ -13,7 +13,7 @@ module RBT
13
13
  # just an alias to it - stick to using VERSION instead "officially"
14
14
  # whenever possible.
15
15
  # ========================================================================= #
16
- VERSION = '0.11.89'
16
+ VERSION = '0.11.90'
17
17
  RBT_VERSION_NUMBER = VERSION # === RBT_VERSION_NUMBER
18
18
  PROGRAM_VERSION = VERSION # === PROGRAM_VERSION
19
19
 
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rbt
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.11.89
4
+ version: 0.11.90
5
5
  platform: ruby
6
6
  authors:
7
7
  - Robert A. Heiler
@@ -209,6 +209,7 @@ executables:
209
209
  - report_host_cpu
210
210
  - report_mate_desktop_version
211
211
  - report_total_size_of_all_archives
212
+ - root_prefix
212
213
  - ruby_libtool
213
214
  - run_make_then_make_install
214
215
  - scookie
@@ -293,6 +294,7 @@ files:
293
294
  - bin/report_host_cpu
294
295
  - bin/report_mate_desktop_version
295
296
  - bin/report_total_size_of_all_archives
297
+ - bin/root_prefix
296
298
  - bin/ruby_libtool
297
299
  - bin/run_make_then_make_install
298
300
  - bin/scookie
@@ -528,6 +530,7 @@ files:
528
530
  - lib/rbt/installer/constants.rb
529
531
  - lib/rbt/installer/extracting_and_archive_related_code.rb
530
532
  - lib/rbt/installer/handle_installing_and_compiling_programs.rb
533
+ - lib/rbt/installer/initialize.rb
531
534
  - lib/rbt/installer/installer.rb
532
535
  - lib/rbt/installer/menu.rb
533
536
  - lib/rbt/installer/meson_and_ninja_related_code.rb
@@ -8605,7 +8608,7 @@ post_install_message: "\n With the RBT scripts, you should be able to install o
8605
8608
  see:\n\n scookie --help\n\n If you wish to search for common tags, such as
8606
8609
  tag \"ruby\" or tag\n \"php\", then try this:\n\n search_for_tags ruby\n search_for_tags
8607
8610
  php\n\n This can be found in the subdirectory bin/search_for_tags of\n this gem.\n\n
8608
- \ For more documentation, the official documentation, have a look at:\n\n https://www.rubydoc.info/gems/rbt/0.11.89\n\n
8611
+ \ For more documentation, the official documentation, have a look at:\n\n https://www.rubydoc.info/gems/rbt/0.11.90\n\n
8609
8612
  \ If you encounter any bug or oddities, feel free to drop an email\n to:\n\n shevy@inbox.lt\n\n
8610
8613
  \ (I do not check for mails daily, though, so this may take a \n while to process
8611
8614
  - apologies for that.)\n\n Thank you and have fun!\n\n"