lib/Yam/Agama/LiveIso.pm

Yam::Agama::LiveIso

Yam::Agama::LiveIso - Retrieve Agama Live ISO metadata (image info and package versions) and expose it through openQA variables.

_run_and_slurp

_run_and_slurp($errmsg, @cmd);

Run @cmd as a child process and return its slurped output. @cmd is passed as a LIST, so no shell is spawned and its arguments can never be parsed as shell syntax (command injection fix, poo#202788). Dies with $errmsg if the command exits non-zero.

_write_tempfile

_write_tempfile($content, $suffix);

Write binary $content to a temporary file (auto-removed at exit) and return its path. $suffix defaults to .tmp.

_isoinfo_extract

_isoinfo_extract($member, $errmsg);

Extract $member from the ISO (get_var('ISO')) via isoinfo and return its content. Dies with $errmsg on failure.

_read_packages_json

_read_packages_json();

Read /LiveOS/.packages.json.gz (a gzipped JSON array of {name, version, ...}) from the ISO, decompress it via the gunzip binary over a temp file (no shell pipe, deadlock-free) and return the decoded arrayref.