forthebadge forthebadge Gem Version

This gem was last updated on the 12.09.2022 (dd.mm.yyyy notation), at 04:23:04 o'clock.

The repackage gem

Dependencies of the repackage gem

In the past the repackage gem specifically depended on four other external projects. In May 2022 this mandatory list of dependencies has been reduced to just one. However had, it is still recommended that two of the other three gems are installed as well.

The official list of dependencies thus recommended for the repackage gem is as follows, in alphabetical order:

  • colours
  • extracter
  • opn

Clean working directory

As far as the repackage gem is concerned, a working directory is needed to extract an archive. On my home system this is:

/home/Temp/repackage/

For most other users this will be:

/tmp/repackage/

The reason why such a directory is necessary is so that we do not begin to pollute any other directory. Some archive files, in particular some .zip files, tend to be messy and incorrectly archived, extracting right into the current working directory as-is. This is not always what the user wants to see.

This is specified here in the event that you may wonder why there is code that checks for this - we have to determine which working directory is to be used.

The main class

This subsection will mention a few noteworthy tidbits about the main class of the repackage gem.

The name of the class is class Repackage::Repackage. The constant called DEFAULT_TARGET_FORMAT_TYPE will be used to determine initially into which target format the class shall repackage an existing archive. By default this will be set to the String '.tar.xz', thus meaning that an archive, such as .tar.gz, will be repackaged into a .tar.xz archive instead.

The constant WORKING_DIRECTORY is used to specify a distinct working directory. Currently the default will be at /tmp/repackage/, but this may be changed. On my own home system I am using /home/Temp/repackage/ instead, for instance. We thus have to preserve some flexibility here.

Executable at bin/repackage

Since as of May 2022 there is now an executable called repackage. It used to be called repackager, but I reconsidered; it seems simpler to remember that the gem called repackage comes with an executable called repackage rather than repackager.

Contact information and mandatory 2FA coming up in 2022

If your creative mind has ideas and specific suggestions to make this gem more useful in general, feel free to drop me an email at any time, via:

shevy@inbox.lt

Before that email I used an email account at Google gmail, but in 2021 I decided to slowly abandon gmail for various reasons. In order to limit this explanation here, allow me to just briefly state that I do not feel as if I want to promote any Google service anymore, for various reasons.

Do keep in mind that responding to emails may take some time, depending on the amount of work I may have at that moment.

In 2022 rubygems.org decided to make 2FA mandatory for every gem owner: see https://blog.rubygems.org/2022/06/13/making-packages-more-secure.html

As I can not use 2FA, for reasons I will skip explaining here (see various github issue discussions in the past), this effectively means that Betty Li and others who run the show at rubygems.org will perma-ban me from using rubygems as a developer.

As I disagree with that decision completely, this will mean that all my gems will be removed from rubygems.org prior to that sunset date, e. g. before they permanently lock me out from the code that I used to maintain. It is pointless to want to discuss this with them anymore - they have made up their minds and decided that you can only use the code if 2FA is in place, even though the code itself works just fine. If you don't use 2FA you are effectively locked out from your own code; I consider this a malicious attack. See also how they limited discussions to people with mandatory 2FA on the ruby-bugtracker, thus banning everyone permanently without 2FA:

https://bugs.ruby-lang.org/issues/18800

Guess it may indeed be time to finally abandon ruby - not because ruby is a bad language, but there are people now in charge who really should not be part of ruby in the first place.