diff --git a/ansible/roles/package_manager/files/pkgbase_diff.bash b/ansible/roles/package_manager/files/pkgbase_diff.bash new file mode 100644 index 0000000..b0ebf27 --- /dev/null +++ b/ansible/roles/package_manager/files/pkgbase_diff.bash @@ -0,0 +1,8 @@ +#!/usr/bin/env bash +# +# Show the diff to have local pkgbase become matching to the remote pkgbase +set -euo pipefail +IFS=$'\n\t' +DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )" + +diff --color=always <(doas pkg info --glob 'FreeBSD-*' | sed 's/-[0-9]*.snap[0-9]*//g') <(doas pkg search -q --glob 'FreeBSD-*' | sed 's/-[0-9]*.snap[0-9]*//g') diff --git a/ansible/roles/package_manager/tasks/freebsd.yaml b/ansible/roles/package_manager/tasks/freebsd.yaml index bac2387..ebc4878 100644 --- a/ansible/roles/package_manager/tasks/freebsd.yaml +++ b/ansible/roles/package_manager/tasks/freebsd.yaml @@ -75,6 +75,18 @@ mode: 0644 loop: - { src: pkgbase.conf.j2, dest: /usr/local/etc/pkg/repos/pkgbase.conf } + # - name: Replace all packages with packages from new repo # command: pkg upgrade -f -y # when: changed_config.changed + +- name: Install scripts + copy: + src: "files/{{ item.src }}" + dest: "{{ item.dest }}" + mode: 0755 + owner: root + group: wheel + loop: + - src: pkgbase_diff.bash + dest: /usr/local/bin/pkgbase_diff