Method: Unix::File#repo_filename

Defined in:
lib/beaker/host/unix/file.rb

#repo_filename(package_name, build_version) ⇒ String

Returns the repo filename for a given package & version for a platform

Parameters:

  • package_name (String)

    Name of the package

  • build_version (String)

    Version string of the package

Returns:

  • (String)

    Filename of the repo

Raises:

  • (ArgumentError)

    For an unknown platform



58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
# File 'lib/beaker/host/unix/file.rb', line 58

def repo_filename(package_name, build_version)
  variant, version, arch, codename = self['platform'].to_array
  repo_filename = "pl-%s-%s-" % [ package_name, build_version ]

  case variant
  when /fedora|el|centos/
    variant = 'el' if variant == 'centos'
    fedora_prefix = ((variant == 'fedora') ? 'f' : '')
    pattern = "%s-%s%s-%s.repo"
    pattern = "repos-pe-#{pattern}" if self.is_pe?

    repo_filename << pattern % [
      variant,
      fedora_prefix,
      version,
      arch
    ]
  when /debian|ubuntu|cumulus/
    codename = variant if variant == 'cumulus'
    repo_filename << "%s.list" % [ codename ]
  else
    msg = "#repo_filename: repo filename pattern not known for platform '#{self['platform']}'"
    raise ArgumentError, msg
  end

  repo_filename
end