class RBT::Linux::Slackware::InstallThisSlackwarePackage

Constants

INSTALL_PKG_COMMAND_TO_USE
#

INSTALL_PKG_COMMAND_TO_USE

#

Private Class Methods

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

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

#
# File lib/rbt/linux/slackware/install_this_slackware_package.rb, line 200
def self.[](i = '')
  new(i)
end
new( commandline_arguments = ARGV, run_already = true ) 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
  )
  reset
  set_commandline_arguments(
    commandline_arguments
  )
  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 100
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 67
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 148
def extract(this)
  require 'extracter'
  Extracter.what_to(this)
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 111
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 'Now copying into '+sdir(new_target)+':'
  cpr('.', new_target)
  cd new_target
  opne '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 166
def rcp(i)
  require 'rbt/create_app_dir_skeleton/create_app_dir_skeleton.rb'
  RBT.create_appdir_skeleton(i)
end
reset() click to toggle source
#

reset

#
Calls superclass method RBT::Base#reset
# File lib/rbt/linux/slackware/install_this_slackware_package.rb, line 55
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 156
def rnsymc(
    i = return_pwd
  )
  require 'rbt/requires/require_symlink_this_program.rb'
  RBT::SymlinkFromToCurrent.new(i) 
end
run() click to toggle source
#

run

#
# File lib/rbt/linux/slackware/install_this_slackware_package.rb, line 174
def run
  menu
  _ = first?
  # ======================================================================= #
  # 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 'Trying to install '
    opne steelblue(basename)+' 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