repackage 1.1.8 → 1.2.2

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 305e9296120b7df792b808b9e6e2fecf744232ff879afef23e00f71edb5dfa91
4
- data.tar.gz: 561eb87149abf6821192e5d73c984e74a02b56bdc7e96832498d3a1f2aeea6cd
3
+ metadata.gz: cb33b5ada9ae0db19a7b1408e9d5b1b5f330dc194b0e88ed9d9d422f0745fba4
4
+ data.tar.gz: 33175928c33b9b10a677a4c87bc373eee5e68d3ea4e636a28f5cf36ed623b949
5
5
  SHA512:
6
- metadata.gz: 6e6bea3199d10ae2499ffdb7ce573e282d6877156605f4fabdfd981e622f1b333332a0818a4707eba17f0124eea261b165ebd41c5e4d684d727016ac57b14f01
7
- data.tar.gz: 2bf513af86a4d57bad2f9c8480c48914b8ff0d14a0ad9b3424fffef3cf349f9595f1ee38dad34779d658f065940e6b777ad2fb65b1e99baf30119e12d394f1e5
6
+ metadata.gz: e6b6ed8b1461f89715d1c48e251bcc6f2a0146a4a410836c2dddb95e308f2196001e2812c28a95e50163d7176ac10442011e2de853d63be59083046df11adafb
7
+ data.tar.gz: b0098b975e7a4838509304d1ad7eef5379b2c6f3053cba1049bd83a66d17771cc0dbbf80bf2bd388df1c9dc76ea43ea4a93cfa4a3033290ae3bc5a1714b2dcd3
data/README.md CHANGED
@@ -2,7 +2,7 @@
2
2
  [![forthebadge](https://forthebadge.com/images/badges/made-with-ruby.svg)](https://www.ruby-lang.org/en/)
3
3
  [![Gem Version](https://badge.fury.io/rb/repackage.svg)](https://badge.fury.io/rb/repackage)
4
4
 
5
- This gem was <b>last updated</b> on the <span style="color: darkblue; font-weight: bold">12.09.2022</span> (dd.mm.yyyy notation), at <span style="color: steelblue; font-weight: bold">04:23:04</span> o'clock.
5
+ This gem was <b>last updated</b> on the <span style="color: darkblue; font-weight: bold">11.11.2023</span> (dd.mm.yyyy notation), at <span style="color: steelblue; font-weight: bold">04:38:42</span> o'clock.
6
6
 
7
7
  # The repackage gem
8
8
 
@@ -23,6 +23,12 @@ The official list of dependencies thus recommended for the
23
23
  - extracter
24
24
  - opn
25
25
 
26
+ However had, since as of November 2023, the colours gem is now
27
+ optional. If it is installed on your system then it will be
28
+ used; otherwise it will be silently ignored. Colours are nice
29
+ to have, but the repackage gem must also work with colours
30
+ not being available (e. g. the colours gem was NOT installed).
31
+
26
32
  ## Clean working directory
27
33
 
28
34
  As far as the **repackage** gem is concerned, a working
@@ -68,12 +74,13 @@ flexibility here.
68
74
 
69
75
  ## Executable at bin/repackage
70
76
 
71
- Since as of May 2022 there is now an executable called
72
- <b>repackage</b>. It used to be called repackager,
73
- but I reconsidered; it seems simpler to remember
74
- that the gem called <b>repackage</b> comes with an
75
- executable called <b>repackage</b> rather than
76
- <b>repackager</b>.
77
+ Since as of May 2022 there is now an <b>executable</b> called
78
+ <b>repackage</b>. It used to be called <b>repackager</b>,
79
+ but I reconsidered; it seems simpler to remember that the gem
80
+ here is called <b>repackage</b>; then people may easily
81
+ and instantly know that there may be an executable called
82
+ <b>repackage</b>, residing at bin/repackage, rather than
83
+ a file residing at <b>bin/repackager</b>.
77
84
 
78
85
 
79
86
  ## Contact information and mandatory 2FA coming up in 2022
@@ -84,35 +91,53 @@ more useful in general, feel free to drop me an email at any time, via:
84
91
  shevy@inbox.lt
85
92
 
86
93
  Before that email I used an email account at Google gmail, but in **2021** I
87
- decided to slowly abandon gmail for various reasons. In order to limit this
94
+ decided to slowly abandon gmail, for various reasons. In order to limit the
88
95
  explanation here, allow me to just briefly state that I do not feel as if I
89
- want to promote any Google service anymore, for various reasons.
90
-
91
- Do keep in mind that responding to emails may take some time, depending on
92
- the amount of work I may have at that moment.
93
-
94
- In 2022 rubygems.org decided to make 2FA mandatory for every gem owner:
95
- see https://blog.rubygems.org/2022/06/13/making-packages-more-secure.html
96
-
97
- As I can not use 2FA, for reasons I will skip explaining here (see
98
- various github issue discussions in the past), this effectively means that
99
- Betty Li and others who run the show at rubygems.org will perma-ban me
100
- from using rubygems as a developer.
101
-
102
- As I disagree with that decision completely, this will mean that all my
103
- gems will be removed from rubygems.org prior to that sunset date, e. g.
104
- before they permanently lock me out from the code that I used
105
- to maintain. It is pointless to want to discuss this with them anymore -
106
- they have made up their minds and decided that you can only use
107
- the code if 2FA is in place, even though the code itself works just
108
- fine. If you don't use 2FA you are effectively locked out from your
109
- own code; I consider this a malicious attack. See also how they limited
110
- discussions to people with mandatory 2FA on the ruby-bugtracker, thus
111
- banning everyone permanently without 2FA:
112
-
113
- https://bugs.ruby-lang.org/issues/18800
114
-
115
- Guess it may indeed be time to finally abandon ruby - not because
116
- ruby is a bad language, but there are people now in charge who
117
- really should not be part of ruby in the first place.
96
+ want to promote any Google service anymore when the user becomes the end
97
+ product (such as via data collection by upstream services, including other
98
+ proxy-services). My feeling is that this is a hugely flawed business model
99
+ to begin with, and I no longer wish to support this in any way, even if
100
+ only indirectly so, such as by using services of companies that try to
101
+ promote this flawed model.
102
+
103
+ In regards to responding to emails: please keep in mind that responding
104
+ may take some time, depending on the amount of work I may have at that
105
+ moment. So it is not that emails are ignored; it is more that I have not
106
+ (yet) found the time to read and reply. This means there may be a delay
107
+ of days, weeks and in some instances also months. There is, unfortunately,
108
+ not much I can do when I need to prioritise my time investment, but I try
109
+ to consider <b>all</b> feedback as an opportunity to improve my projects
110
+ nonetheless.
111
+
112
+ In <b>2022</b> rubygems.org decided to make 2FA mandatory for every
113
+ gem owner eventually:
114
+
115
+ see
116
+ https://blog.rubygems.org/2022/06/13/making-packages-more-secure.html
117
+
118
+ Mandatory 2FA will eventually be extended to all rubygems.org developers and
119
+ maintainers. As I can not use 2FA, for reasons I will skip explaining here,
120
+ this means that my projects will eventually be removed, as I no longer
121
+ have any control over my projects hosted on rubygems.org (because I
122
+ can not use 2FA).
123
+
124
+ At that point, I no longer have any control what is done to my projects
125
+ since whoever is controlling the gems ecosystem took away our control
126
+ here. I am not sure at which point ruby became corporate-controlled -
127
+ that was not the case several years ago, so something has
128
+ changed.
129
+
130
+ Ruby also only allows 2FA users to participate on the issue tracker these
131
+ days:
132
+
133
+ https://bugs.ruby-lang.org/issues/18800
134
+
135
+ But this has been reverted some months ago, so it is no longer applicable.
136
+ Suffice to say that I do not think that we should only be allowed to
137
+ interact on the world wide web when some 'authority' authenticated us,
138
+ such as via mandatory 2FA, so I hope this won't come back again.
139
+
140
+ Fighting spam is a noble goal, but when it also means you lock out
141
+ real human people then this is definitely NOT a good situation
142
+ to be had.
118
143
 
data/doc/README.gen CHANGED
@@ -1,5 +1,4 @@
1
- ADD_RUBY_BADGE
2
- ADD_TIME_STAMP
1
+ DEFAULT_HEADER
3
2
 
4
3
  # The repackage gem
5
4
 
@@ -20,6 +19,12 @@ The official list of dependencies thus recommended for the
20
19
  - extracter
21
20
  - opn
22
21
 
22
+ However had, since as of November 2023, the colours gem is now
23
+ optional. If it is installed on your system then it will be
24
+ used; otherwise it will be silently ignored. Colours are nice
25
+ to have, but the repackage gem must also work with colours
26
+ not being available (e. g. the colours gem was NOT installed).
27
+
23
28
  ## Clean working directory
24
29
 
25
30
  As far as the **repackage** gem is concerned, a working
@@ -65,11 +70,12 @@ flexibility here.
65
70
 
66
71
  ## Executable at bin/repackage
67
72
 
68
- Since as of May 2022 there is now an executable called
69
- <b>repackage</b>. It used to be called repackager,
70
- but I reconsidered; it seems simpler to remember
71
- that the gem called <b>repackage</b> comes with an
72
- executable called <b>repackage</b> rather than
73
- <b>repackager</b>.
73
+ Since as of May 2022 there is now an <b>executable</b> called
74
+ <b>repackage</b>. It used to be called <b>repackager</b>,
75
+ but I reconsidered; it seems simpler to remember that the gem
76
+ here is called <b>repackage</b>; then people may easily
77
+ and instantly know that there may be an executable called
78
+ <b>repackage</b>, residing at bin/repackage, rather than
79
+ a file residing at <b>bin/repackager</b>.
74
80
 
75
81
  ADD_CONTACT_INFORMATION
@@ -49,13 +49,6 @@ class Repackage # === Repackage::Repackage
49
49
  i.squeeze '/'
50
50
  end
51
51
 
52
- # ========================================================================= #
53
- # === cliner
54
- # ========================================================================= #
55
- def cliner
56
- e rev+('=' * 80)
57
- end
58
-
59
52
  # ========================================================================= #
60
53
  # === try_glob
61
54
  #
@@ -295,13 +288,6 @@ class Repackage # === Repackage::Repackage
295
288
  )
296
289
  end
297
290
 
298
- # ========================================================================= #
299
- # === rev
300
- # ========================================================================= #
301
- def rev
302
- ::Repackage.rev
303
- end
304
-
305
291
  # ========================================================================= #
306
292
  # === extract_to_this_directory?
307
293
  # ========================================================================= #
@@ -376,38 +362,10 @@ class Repackage # === Repackage::Repackage
376
362
  end
377
363
  end; alias remove_extracted_data remove_old_extracted_directory_should_it_exist # === remove_extracted_data
378
364
 
379
- # ========================================================================= #
380
- # === set_extract_to
381
- #
382
- # Set the @extract_to variable here.
383
- # ========================================================================= #
384
- def set_extract_to(
385
- i = DEFAULT_EXTRACT_TO_THIS_DIRECTORY # Must be the initial constant as default.
386
- )
387
- case i
388
- # ======================================================================= #
389
- # === :default
390
- # ======================================================================= #
391
- when :default,
392
- nil
393
- i = DEFAULT_EXTRACT_TO_THIS_DIRECTORY
394
- end
395
- i = i.to_s.dup
396
- # ======================================================================= #
397
- # The next clause is an override, in particular for my home system.
398
- # ======================================================================= #
399
- if File.directory? '/home/Temp/'
400
- i = '/home/Temp/repackage/'
401
- end
402
- i = '/tmp/' if i.empty? # Hardcoded rescue-step in this case.
403
- i << '/' unless i.end_with? '/' # A directory has a trailing /.
404
- @internal_hash[:extract_to_this_directory] = i
405
- end; alias set_extract_to_this_directory set_extract_to # === set_extract_to_this_directory
406
-
407
365
  # ========================================================================= #
408
366
  # === extract_to?
409
367
  #
410
- # Defaults to /home/Temp/ on my home system.
368
+ # Defaults to /home/x/Temp/ on my home system.
411
369
  # ========================================================================= #
412
370
  def extract_to?
413
371
  @internal_hash[:extract_to_this_directory]
@@ -796,16 +754,18 @@ class Repackage # === Repackage::Repackage
796
754
  # format.
797
755
  # =================================================================== #
798
756
  if is_it_already_in_the_correct_archive_format?(this_file)
799
- opn; e rev+'The file at '+sfile(this_file)+' is already in '\
800
- 'the desired target format ('+target_format?+').'
801
- opn; e "Repackaging into the same target format makes no sense, "\
757
+ opn; e rev+'The file at '+sfile(this_file)+rev+' is already in '\
758
+ 'the desired target format ('+target_format?+
759
+ rev+').'
760
+ opn; e "#{rev}Repackaging into the same target format makes no sense, "\
802
761
  "thus aborting now."
803
762
  else
804
- opn; e 'We will try to repackage this archive into the `'+
805
- simp(target_format_type?)+'`'
806
- opn; e 'format type.'
807
- opn; e 'It will be extracted into the directory '+
808
- sdir(extract_to?)+'.'
763
+ opn; e rev+'We will try to repackage this archive into the `'+
764
+ simp(target_format_type?)+rev+'`'
765
+ opn; e rev+'format type.'
766
+ opn; e rev+'It will be extracted into the directory '+
767
+ sdir(extract_to?)+
768
+ rev+'.'
809
769
  # ================================================================= #
810
770
  # Here we know that the file exists and that it can be repackaged
811
771
  # into another target format. Thus, we can repackage it. We
@@ -867,17 +827,19 @@ class Repackage # === Repackage::Repackage
867
827
  # === repackage_this_particular_file
868
828
  # ========================================================================= #
869
829
  def repackage_this_particular_file(this_file)
870
- opn; e rev+'The file '+sfile(this_file)+' will be repackaged '\
871
- 'into the '+orange(repackage_to_which_format?)+' format.'
830
+ opn; e rev+'The file '+sfile(this_file)+rev+' will be repackaged '\
831
+ 'into the '+rev+
832
+ orange(repackage_to_which_format?)+
833
+ rev+' format.'
872
834
  copy_this_file_to_the_working_directory(this_file)
873
835
  working_directory = working_directory?
874
836
  cd(working_directory) # Go to the working directory.
875
837
  set_start_dir(working_directory)
876
- opn; e 'Working from the directory `'+sdir(working_directory)+'` next.'
838
+ opn; e rev+'Working from the directory `'+sdir(working_directory)+
839
+ rev+'` next.'
877
840
  absolute_path = File.absolute_path(this_file)
878
- opn; e 'The actual file that will be used for the '\
879
- 'repackaging'
880
- opn; e 'step now resides at: '
841
+ opn; e rev+'The actual file that will be used for the repackaging'
842
+ opn; e rev+'step now resides at: '
881
843
  e
882
844
  e " #{sdir(absolute_path)}"
883
845
  e
@@ -913,13 +875,57 @@ class Repackage # === Repackage::Repackage
913
875
  # ===================================================================== #
914
876
  run_the_proper_to_archive_command(
915
877
  remove_file_extension_from(
916
- absolute_path # This here is e. g. "/home/Temp/repackage/htop-3.1.2.tar.gz".
878
+ absolute_path # This here is e. g. "/home/x/Temp/repackage/htop-3.1.2.tar.gz".
917
879
  )
918
880
  )
919
881
  consider_copying_the_new_archive_into_the_current_working_directory
920
882
  end
921
883
  end
922
884
 
885
+ # ========================================================================= #
886
+ # === set_extract_to
887
+ #
888
+ # Set the @extract_to variable here.
889
+ # ========================================================================= #
890
+ def set_extract_to(
891
+ i = DEFAULT_EXTRACT_TO_THIS_DIRECTORY # Must be the initial constant as default.
892
+ )
893
+ case i
894
+ # ======================================================================= #
895
+ # === :default
896
+ # ======================================================================= #
897
+ when :default,
898
+ nil
899
+ i = DEFAULT_EXTRACT_TO_THIS_DIRECTORY
900
+ end
901
+ i = i.to_s.dup
902
+ # ======================================================================= #
903
+ # The next clause is an override, in particular for my home system.
904
+ # ======================================================================= #
905
+ if File.directory? '/home/x/Temp/'
906
+ i = '/home/x/Temp/repackage/'
907
+ elsif File.directory? '/home/Temp/'
908
+ i = '/home/Temp/repackage/'
909
+ end
910
+ i = '/tmp/' if i.empty? # Hardcoded rescue-step in this case.
911
+ i << '/' unless i.end_with? '/' # A directory has a trailing /.
912
+ @internal_hash[:extract_to_this_directory] = i
913
+ end; alias set_extract_to_this_directory set_extract_to # === set_extract_to_this_directory
914
+
915
+ # ========================================================================= #
916
+ # === cliner
917
+ # ========================================================================= #
918
+ def cliner
919
+ e rev+('=' * 80)
920
+ end
921
+
922
+ # ========================================================================= #
923
+ # === rev
924
+ # ========================================================================= #
925
+ def rev
926
+ ::Repackage.rev
927
+ end
928
+
923
929
  # ========================================================================= #
924
930
  # === run (run tag)
925
931
  # ========================================================================= #
@@ -25,7 +25,18 @@ module Repackage
25
25
  if @try_to_use_colours
26
26
  begin
27
27
  require 'colours'
28
- rescue LoadError; end
28
+ if Object.const_defined?(:Colours) and
29
+ Colours.respond_to?(:simp) and
30
+ Colours.respond_to?(:sfancy) and
31
+ Colours.respond_to?(:sdir) and
32
+ Colours.respond_to?(:simp)
33
+ # All is ok in this case.
34
+ else # else we conclude that the colours-gem is not available.
35
+ @try_to_use_colours = false
36
+ end
37
+ rescue LoadError
38
+ @try_to_use_colours = false
39
+ end
29
40
  end
30
41
  end
31
42
 
@@ -33,7 +44,8 @@ module Repackage
33
44
  # === Repackage.rev
34
45
  # ========================================================================= #
35
46
  def self.rev
36
- if @try_to_use_colours and Object.const_defined?(:Colours)
47
+ if @try_to_use_colours and
48
+ Object.const_defined?(:Colours)
37
49
  return ::Colours.rev
38
50
  end
39
51
  return ''
@@ -9,11 +9,11 @@ module Repackage
9
9
  # =========================================================================== #
10
10
  # === VERSION
11
11
  # =========================================================================== #
12
- VERSION = '1.1.8'
12
+ VERSION = '1.2.2'
13
13
 
14
14
  # =========================================================================== #
15
15
  # === LAST_UPDATE
16
16
  # =========================================================================== #
17
- LAST_UPDATE = '12.09.2022'
17
+ LAST_UPDATE = '11.11.2023'
18
18
 
19
19
  end
@@ -0,0 +1,4 @@
1
+ require 'repackage'
2
+
3
+ Repackage.consider_requiring_the_colours_gem
4
+
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: repackage
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.1.8
4
+ version: 1.2.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Robert A. Heiler
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2022-09-12 00:00:00.000000000 Z
11
+ date: 2023-11-11 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: extracter
@@ -48,6 +48,7 @@ files:
48
48
  - lib/repackage/www/README.md
49
49
  - lib/repackage/www/embeddable_interface.rb
50
50
  - repackage.gemspec
51
+ - test/testing_repackage.rb
51
52
  homepage: https://rubygems.org/gems/repackage
52
53
  licenses:
53
54
  - MIT
@@ -60,14 +61,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
60
61
  requirements:
61
62
  - - ">="
62
63
  - !ruby/object:Gem::Version
63
- version: 2.5.8
64
+ version: 2.7.6
64
65
  required_rubygems_version: !ruby/object:Gem::Requirement
65
66
  requirements:
66
67
  - - ">="
67
68
  - !ruby/object:Gem::Version
68
- version: 3.3.7
69
+ version: 3.4.18
69
70
  requirements: []
70
- rubygems_version: 3.3.7
71
+ rubygems_version: 3.4.18
71
72
  signing_key:
72
73
  specification_version: 4
73
74
  summary: This gem is called repackage. It allows the user to repackage a given archive,