Update roles/pfsense_upgrade/tasks/update_check.yml
This commit is contained in:
@@ -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') }}"
|
||||
|
||||
Reference in New Issue
Block a user