Update roles/pfsense_upgrade/tasks/update_check.yml

This commit is contained in:
2026-04-27 19:19:06 -07:00
parent 0c57ee7eab
commit 2c81dde6fc

View File

@@ -6,33 +6,12 @@
# ---------------------------------------------------------------------------
# 1. Detect available repositories and identify upgrade target
# ---------------------------------------------------------------------------
- name: Create temporary PHP script for repo detection
- name: List available pfSense repositories
ansible.builtin.raw: |
cat > /tmp/check_repo.php << 'PHPEOF'
<?php
require_once('/etc/inc/pkg-utils.inc');
$repos = pkg_list_repos();
$upgrade = '';
foreach($repos as $r) {
if (!isset($r['default'])) {
echo $r['name'] . '|' . $r['descr'];
exit;
}
}
echo 'UP_TO_DATE';
PHPEOF
register: _create_script
changed_when: false
- name: Execute the repository check
ansible.builtin.raw: /bin/sh -c "php /tmp/check_repo.php"
/bin/sh -c 'php -r "require_once(\"/etc/inc/pkg-utils.inc\"); \$repos = pkg_list_repos(); \$upgrade = \"\"; foreach(\$repos as \$r) { if (!isset(\$r[\"default\"])) { echo \$r[\"name\"] . \"|\" . \$r[\"descr\"]; break; } } echo \$upgrade ?: \"UP_TO_DATE\";"'
register: _repo_check
changed_when: false
- name: Remove temporary script
ansible.builtin.raw: rm -f /tmp/check_repo.php
changed_when: false
- name: Parse repository check result
ansible.builtin.set_fact:
_repo_result: "{{ _repo_check.stdout | trim }}"
@@ -47,24 +26,12 @@
# ---------------------------------------------------------------------------
# 2. Get current version information
# ---------------------------------------------------------------------------
- name: Create temp script for version detection
- name: Get current pfSense version
ansible.builtin.raw: |
cat > /tmp/get_version.php << 'PHPEOF'
<?php
require_once('/etc/inc/pkg-utils.inc');
$v = get_system_pkg_version(false);
echo $v['installed_version'] ?? 'Unknown';
PHPEOF
- name: Execute version check
ansible.builtin.raw: /bin/sh -c "php /tmp/get_version.php"
/bin/sh -c 'php -r "require_once(\"/etc/inc/pkg-utils.inc\"); \$v = get_system_pkg_version(false); echo \$v[\"installed_version\"] ?? \"Unknown\";"'
register: _current_version
changed_when: false
- name: Clean up version script
ansible.builtin.raw: rm -f /tmp/get_version.php
changed_when: false
- name: Set current version fact
ansible.builtin.set_fact:
pfsense_current_version: "{{ _current_version.stdout | trim }}"
@@ -73,28 +40,12 @@
# ---------------------------------------------------------------------------
# 3. Get current repository name
# ---------------------------------------------------------------------------
- name: Create temp script for current repo detection
- name: Get current default repository
ansible.builtin.raw: |
cat > /tmp/get_repo.php << 'PHPEOF'
<?php
require_once('/etc/inc/pkg-utils.inc');
foreach(pkg_list_repos() as $r) {
if (isset($r['default'])) {
echo $r['name'];
exit;
}
}
PHPEOF
- name: Execute current repo check
ansible.builtin.raw: /bin/sh -c "php /tmp/get_repo.php"
/bin/sh -c 'php -r "require_once(\"/etc/inc/pkg-utils.inc\"); foreach(pkg_list_repos() as \$r) { if (isset(\$r[\"default\"])) { echo \$r[\"name\"]; } }"'
register: _current_repo
changed_when: false
- name: Clean up repo script
ansible.builtin.raw: rm -f /tmp/get_repo.php
changed_when: false
- name: Set current repo fact
ansible.builtin.set_fact:
current_repo: "{{ _current_repo.stdout | trim | default('Unknown') }}"