ports-mgmt/pkg_rmleaves stops working properly on -head after bsdiff became default diff (r317209)

From: Tomoaki AOKI <junchoon_at_dec.sakura.ne.jp>
Date: Sun, 14 May 2017 16:03:55 +0900
Hi.
Posting on freebsd-current as this only affects -head.

I recently noticed ports-mgmt/pkg_rmleaves failes to process
new leaf ports after removal of leaf ports on -head with error
messages below.

> diff: unrecognized option `--unchanged-line-format='
> usage: diff [-abdilpTtw] [-c | -e | -f | -n | -q | -u] [--ignore-case]
>             [--no-ignore-case] [--normal] [--strip-trailing-cr]
> [--tabsize] [-I pattern] [-L label] file1 file2
>        diff [-abdilpTtw] [-I pattern] [-L label] [--ignore-case]
>             [--no-ignore-case] [--normal] [--strip-trailing-cr]
> [--tabsize] -C number file1 file2
>        diff [-abdiltw] [-I pattern] [--ignore-case] [--no-ignore-case]
>             [--normal] [--strip-trailing-cr] [--tabsize] -D string
> file1 file2 diff [-abdilpTtw] [-I pattern] [-L label] [--ignore-case]
>             [--no-ignore-case] [--normal] [--tabsize]
> [--strip-trailing-cr] -U number file1 file2
>        diff [-abdilNPprsTtw] [-c | -e | -f | -n | -q | -u]
> [--ignore-case] [--no-ignore-case] [--normal] [--tabsize] [-I pattern]
> [-L label] [-S name] [-X file] [-x pattern] dir1 dir2

stable/11 was OK, and the difference is that stable/11 has gnu diff
as diff, while -head has bsdiff as diff.

There's 2 (or possibly 3) options.

 a) Let pkg_rmleaves use gnu diff via textprocs/diffutils.
    This is easiest (Minimal diff is attached), but doesn't help
    any other ports affected. Just change diff to gdiff and RUN_DEPENDS
    on textproc/diffutils.

 b) Update bsdiff to support missing options below.
    This is over my hand, but if possible, would help others.

 c) If the missing options below are implemented as different
    (non-documented) options on bsdiff, use them for bsdiff instead.
    Will need OSVERSION check in ports Makefile.

Please note that attached diff is really MINIMAL to work on -head.
No OSVERSION switching is implemented and no bumps so forcibly
installs textproc/diffutils on revisions with gnu diff is /usr/bin/diff.
And patch wouldn't work properly as files directory doesn't exist
in pkg-mgmt/pkg_rmleaves. (At least system patch.)

I wonder which option should be taken, so not yet filed PR on bugzilla.
It should be filed differently with which option is taken.

-- 
Tomoaki AOKI    <junchoon_at_dec.sakura.ne.jp>

Received on Sun May 14 2017 - 05:41:33 UTC

This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:41:11 UTC