[pacman-dev] [PATCH v4] pacdiff: Search and give warnings for older pacsave.[0-9] files

Dan McGee dpmcgee at gmail.com
Mon Jul 15 10:35:09 EDT 2013


On Thu, Jul 11, 2013 at 5:08 PM, Jonathan Frazier <eyeswide at gmail.com> wrote:
> Signed-off-by: Jonathan Frazier <eyeswide at gmail.com>
> ---
>  contrib/pacdiff.sh.in | 12 ++++++++++--
>  1 file changed, 10 insertions(+), 2 deletions(-)

I'm hoping I'm reading this wrong or haven't had enough coffee yet
since it got Ack-ed by Allan, but doesn't this totally fail when
pacsave files roll over from foo.conf.9 to foo.conf.10? This is 100%
supported by the match and move behavior in libalpm's code in
remove.c.

> diff --git a/contrib/pacdiff.sh.in b/contrib/pacdiff.sh.in
> index 47779d6..a2c9cad 100644
> --- a/contrib/pacdiff.sh.in
> +++ b/contrib/pacdiff.sh.in
> @@ -47,9 +47,9 @@ version() {
>
>  cmd() {
>         if [ $locate -eq 1 ]; then
> -               locate -0 -e -b \*.pacnew \*.pacorig \*.pacsave
> +               locate -0 -e -b \*.pacnew \*.pacorig \*.pacsave '*.pacsave.[0-9]'
>         else
> -               find $diffsearchpath \( -name \*.pacnew -o -name \*.pacorig -o -name \*.pacsave \) -print0
> +               find $diffsearchpath \( -name \*.pacnew -o -name \*.pacorig -o -name \*.pacsave -o -name '*.pacsave.[0-9]' \) -print0
>         fi
>  }
>
> @@ -71,6 +71,12 @@ while IFS= read -u 3 -r -d '' pacfile; do
>         file="${pacfile%.pac*}"
>         file_type="pac${pacfile##*.pac}"
>
> +       # add matches for pacsave.N     to oldsaves array, do not prompt
> +  if [[ $file_type = pacsave.+([0-9]) ]]; then
> +               oldsaves+=("$pacfile")
> +               continue
> +       fi
> +
>         msg "%s file found for %s" "$file_type" "$file"
>         if [ ! -f "$file" ]; then
>                 warning "$file does not exist"
> @@ -97,6 +103,8 @@ while IFS= read -u 3 -r -d '' pacfile; do
>         fi
>  done 3< <(cmd)
>
> +(( ${#oldsaves[@]} > 0 )) && warning "Ignoring %s" "${oldsaves[@]}"
> +
>  exit 0
>
>  # vim: set ts=2 sw=2 noet:
> --
> 1.8.3.2
>
>


More information about the pacman-dev mailing list