Spec-Zone.ru › Homebrew

Модуль: OS::Linux::Sandbox Закрытый

Расширяет:
T::Helpers
Подключён в:
Sandbox
Определён в:
extend/os/linux/sandbox.rb

Этот модуль является частью закрытого API. Этот модуль можно использовать только в репозитории Homebrew/brew. По возможности сторонним разработчикам следует избегать использования этого модуля, поскольку он может быть удалён или изменён без предупреждения.

Определено в пространстве имён

Модули: ClassMethods

Краткое описание методов класса свернуть

  • .bubblewrap_candidate_paths ⇒ ::PATH закрытый
  • .bubblewrap_executable ⇒ ::Pathname? закрытый
  • .bubblewrap_executable! ⇒ ::Pathname закрытый

Краткое описание методов экземпляра свернуть

  • #allow_cvs ⇒ void закрытый
  • #allow_fossil ⇒ void закрытый
  • #allow_write_temp_and_cache ⇒ void закрытый
  • #run(*args) ⇒ void закрытый

Подробное описание методов класса

.bubblewrap_candidate_paths ⇒ ::PATH

Этот метод является частью закрытого API. Этот метод можно использовать только в репозитории Homebrew/brew. По возможности сторонним разработчикам следует избегать использования этого метода, поскольку он может быть удалён или изменён без предупреждения.

Возвращает:

  • (::PATH)


86
87
88
# File 'extend/os/linux/sandbox.rb', line 86

def self.bubblewrap_candidate_paths
  ::Sandbox.executable_candidate_paths
end

.bubblewrap_executable ⇒ ::Pathname?

Этот метод является частью закрытого API. Этот метод можно использовать только в репозитории Homebrew/brew. По возможности сторонним разработчикам следует избегать использования этого метода, поскольку он может быть удалён или изменён без предупреждения.

Возвращает:

  • (::Pathname, nil)


91
92
93
# File 'extend/os/linux/sandbox.rb', line 91

def self.bubblewrap_executable
  ::Sandbox.executable
end

.bubblewrap_executable! ⇒ ::Pathname

Этот метод является частью закрытого API. Этот метод можно использовать только в репозитории Homebrew/brew. По возможности сторонним разработчикам следует избегать использования этого метода, поскольку он может быть удалён или изменён без предупреждения.

Возвращает:

  • (::Pathname)


96
97
98
# File 'extend/os/linux/sandbox.rb', line 96

def self.bubblewrap_executable!
  bubblewrap_executable || raise("Bubblewrap is required to use the Linux sandbox.")
end

Подробное описание методов экземпляра

#allow_cvs ⇒ void

Этот метод является частью закрытого API. Этот метод можно использовать только в репозитории Homebrew/brew. По возможности сторонним разработчикам следует избегать использования этого метода, поскольку он может быть удалён или изменён без предупреждения.

Этот метод возвращает неопределённое значение.



109
110
111
112
# File 'extend/os/linux/sandbox.rb', line 109

def allow_cvs
  cvspass = ::Pathname.new("#{Dir.home(ENV.fetch("USER"))}/.cvspass")
  allow_write path: cvspass, type: :literal if cvspass.exist?
end

#allow_fossil ⇒ void

Этот метод является частью закрытого API. Этот метод можно использовать только в репозитории Homebrew/brew. По возможности сторонним разработчикам следует избегать использования этого метода, поскольку он может быть удалён или изменён без предупреждения.

Этот метод возвращает неопределённое значение.



115
116
117
118
119
120
# File 'extend/os/linux/sandbox.rb', line 115

def allow_fossil
  [".fossil", ".fossil-journal"].each do |file|
    fossil_file = ::Pathname.new("#{Dir.home(ENV.fetch("USER"))}/#{file}")
    allow_write path: fossil_file, type: :literal if fossil_file.exist?
  end
end

#allow_write_temp_and_cache ⇒ void

Этот метод является частью закрытого API. Этот метод можно использовать только в репозитории Homebrew/brew. По возможности сторонним разработчикам следует избегать использования этого метода, поскольку он может быть удалён или изменён без предупреждения.

Этот метод возвращает неопределённое значение.



101
102
103
104
105
106
# File 'extend/os/linux/sandbox.rb', line 101

def allow_write_temp_and_cache
  allow_write_path "/tmp"
  allow_write_path "/var/tmp"
  allow_write_path HOMEBREW_TEMP
  allow_write_path HOMEBREW_CACHE
end

#run(*args) ⇒ void

Этот метод является частью закрытого API. Этот метод можно использовать только в репозитории Homebrew/brew. По возможности сторонним разработчикам следует избегать использования этого метода, поскольку он может быть удалён или изменён без предупреждения.

Этот метод возвращает неопределённое значение.

Параметры:

  • args (String, ::Pathname)


330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
# File 'extend/os/linux/sandbox.rb', line 330

def run(*args)
  @prepared_writable_paths = T.let([], T.nilable(T::Array[::Pathname]))
  @masked_read_paths = T.let([], T.nilable(T::Array[::Pathname]))
  old_report_on_exception = T.let(Thread.report_on_exception, T.nilable(T::Boolean))
  Thread.report_on_exception = false
  super
ensure
  Thread.report_on_exception = old_report_on_exception unless old_report_on_exception.nil?
  @prepared_writable_paths&.reverse_each do |path|
    path.rmdir if path.directory?
  rescue Errno::ENOENT, Errno::ENOTEMPTY
    nil
  end
  @prepared_writable_paths = nil
  @masked_read_paths&.reverse_each { |path| FileUtils.rm_rf(path) }
  @masked_read_paths = nil
end

© 2009–present Homebrew contributors
Licensed under the BSD 2-Clause License.
https://docs.brew.sh/rubydoc/OS/Linux/Sandbox.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API