class RBT::Linux::Slackware::InstallThisSlackwarePackage

Constants

INSTALL_PKG_COMMAND_TO_USE
#

INSTALL_PKG_COMMAND_TO_USE

#

Private Class Methods

[](i = ARGV) click to toggle source
#

RBT::Linux::Slackware::InstallThisSlackwarePackage[]

#
# File lib/rbt/linux/slackware/install_this_slackware_package.rb, line 213
def self.[](i = ARGV)
  new(i)
end
new( commandline_arguments = ARGV, run_already = true, &block ) click to toggle source
#

initialize

The first argument is the name of the program.

#
# File lib/rbt/linux/slackware/install_this_slackware_package.rb, line 38
def initialize(
    commandline_arguments = ARGV,
    run_already           = true,
    &block
  )
  reset
  set_commandline_arguments(
    commandline_arguments
  )
  # ======================================================================= #
  # === Hanld blocks given to the class next
  # ======================================================================= #
  if block_given?
    yielded = yielded
  end
  run if run_already
end

Private Instance Methods

determine_the_shorter_name(i) click to toggle source
#

determine_the_shorter_name

#
# File lib/rbt/linux/slackware/install_this_slackware_package.rb, line 104
def determine_the_shorter_name(i)
  shorter_name = i.sub(/-x86_64-\d{0,1}/,'') 
  if shorter_name.include? '-x86'
    shorter_name.sub!(/-x86-?\d{0,1}/,'')
  end
  @shorter_name = i
end
download_this_package(i) click to toggle source
#

download_this_package

#
# File lib/rbt/linux/slackware/install_this_slackware_package.rb, line 71
def download_this_package(i)
  esystem "wget #{i}"
end
extract(this) click to toggle source
#

extract

#
# File lib/rbt/linux/slackware/install_this_slackware_package.rb, line 154
def extract(this)
  require 'extracter'
  Extracter.what_to(this)
end
install_as_appdir?() click to toggle source
#

install_as_appdir?

#
# File lib/rbt/linux/slackware/install_this_slackware_package.rb, line 206
def install_as_appdir?
  @install_as_appdir
end
install_this_package_as_appdir(i) click to toggle source
#

install_this_package_as_appdir

#
# File lib/rbt/linux/slackware/install_this_slackware_package.rb, line 115
def install_this_package_as_appdir(i)
  i = remove_archive_at_the_end(i)
  determine_the_shorter_name(i)
  version = ProgramInformation.return_version(
    @shorter_name
  )
  program_name = ProgramInformation.return_program_name(
    @shorter_name
  )
  target = 'temp_for_'+program_name.tr('-','_')+'-'+
           @shorter_name.tr('-','_').
           squeeze('_')
  # ======================================================================= #
  # Next, add-hoc fix the name:
  # ======================================================================= #
  if program_name.include? 'kernelheaders'
    program_name.sub!(/kernelheaders/,'linux')
  end
  mkdir target
  cd target
  cp "../#{i}.txz", '.'
  extract "#{i}.txz"
  cd 'usr'
  new_target = "#{program_name}-#{version}"
  rcp new_target
  new_target = programs_dir?+
               program_name.capitalize+'/'+
               version+'/'
  opne "#{rev}Now copying into #{sdir(new_target)}#{rev}:"
  cpr('.', new_target)
  cd new_target
  opne "#{rev}Next symlinking from that directory."
  rnsymc(new_target)
  opne mediumseagreen('All done!')
end
menu( i = commandline_arguments? ) click to toggle source
#

menu (menu tag)

#
rcp(i) click to toggle source
#

rcp

#
# File lib/rbt/linux/slackware/install_this_slackware_package.rb, line 171
def rcp(i)
        action(:create_appdir_skeleton, i)
end
reset() click to toggle source
#

reset

#
Calls superclass method RBT::LeanPrototype#reset
# File lib/rbt/linux/slackware/install_this_slackware_package.rb, line 59
def reset
  super()
  infer_the_namespace
  # ======================================================================= #
  # === @install_as_appdir
  # ======================================================================= #
  @install_as_appdir = false
end
rnsymc( i = return_pwd ) click to toggle source
#

rnsymc

#
# File lib/rbt/linux/slackware/install_this_slackware_package.rb, line 162
def rnsymc(
    i = return_pwd
  )
  action(:SymlinkFromToCurrent, i)
end
run() click to toggle source
#

run (run tag)

#
# File lib/rbt/linux/slackware/install_this_slackware_package.rb, line 178
def run
  menu
  commandline_arguments?.each {|this_program|
    _ = this_program
    # ===================================================================== #
    # Consider downloading it if a remote URL was given:
    # ===================================================================== #
    if _.start_with?('http') and !File.exist?(_)
      download_this_package(_)
    end
    basename = File.basename(_)
    if !File.exist? basename
      opnn; no_file_exists_at(basename)
    else
      opne "#{rev}Trying to install"
      opne "#{steelblue(basename)} #{rev}next."
      if install_as_appdir?
        install_this_package_as_appdir(basename)
      elsif File.exist? basename
        esystem "#{INSTALL_PKG_COMMAND_TO_USE} #{basename}"
      end
    end
  }
end