diff --git a/pacman-zfs-snapshot.sh b/pacman-zfs-snapshot.sh index 6a8b0f3..0113462 100755 --- a/pacman-zfs-snapshot.sh +++ b/pacman-zfs-snapshot.sh @@ -209,7 +209,14 @@ function do_snaps () { local snap_name snap_return_code local -a planned_snaps for snappable_dataset_id in "${!snappable_datasets[@]}"; do - snap_name="${snappable_datasets[${snappable_dataset_id}]}"'@'"${snap_name_prefix}${snap_field_separator}${date_string}${snap_field_separator}"'op:'"${conf_op_suffix}${snap_field_separator}"'sev:'"${severity}${snap_field_separator}"'pkgs:'"${trimmed_pkg_list_oneline}" + snap_name="${snappable_datasets[${snappable_dataset_id}]}"'@'"${snap_name_prefix}${snap_field_separator}${date_string}${snap_field_separator}"'op:'"${conf_op_suffix}${snap_field_separator}"'sev:'"${severity}" + # If we have at least one pkg name character to append we do + # so now but if we're not even allowed to append a single + # character we might as well skip the 'pkgs' field + # altogether. + if [[ "${pkgs_list_max_length}" -ge '1' ]]; then + snap_name="${snap_name}${snap_field_separator}"'pkgs:'"${trimmed_pkg_list_oneline}" + fi planned_snaps["${snappable_dataset_id}"]="${snap_name}" done if [[ "${do_dry_run}" == 'true' ]]; then