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    <junch...@dec.sakura.ne.jp>
diff -u -r -P -p ports-mgmt/pkg_rmleaves/Makefile.orig ports-mgmt/pkg_rmleaves/Makefile
--- ports-mgmt/pkg_rmleaves/Makefile.orig	2015-09-09 02:00:03.629555000 +0900
+++ ports-mgmt/pkg_rmleaves/Makefile	2017-05-14 02:20:31.547549000 +0900
@@ -13,6 +13,8 @@ LICENSE=	BSD2CLAUSE
 NO_BUILD=	yes
+RUN_DEPENDS=	gdiff:textproc/diffutils
 PLIST_FILES=	sbin/pkg_rmleaves man/man1/pkg_rmleaves.1.gz
diff -u -r -P -p ports-mgmt/pkg_rmleaves/files/patch-pkg_rmleaves.orig ports-mgmt/pkg_rmleaves/files/patch-pkg_rmleaves
--- ports-mgmt/pkg_rmleaves/files/patch-pkg_rmleaves.orig	1970-01-01 09:00:00.000000000 +0900
+++ ports-mgmt/pkg_rmleaves/files/patch-pkg_rmleaves	2017-05-14 02:22:57.050609000 +0900
@@ -0,0 +1,11 @@
+--- pkg_rmleaves.orig	2014-02-22 21:21:47.000000000 +0900
++++ pkg_rmleaves	2017-05-14 02:16:55.751443000 +0900
+@@ -74,7 +74,7 @@ checkLeafs() {
+ 	fi | sort | sed -e "y/\"/'/" -e 's/#&quot;#/"/g' > "$PKGFILE"
+ 	if [ -f "$PREV" ]; then
+-		diff --unchanged-line-format='' --old-line-format='' --new-line-format='%L' "$PREV" "$PKGFILE" > "$TMPFILE"
++		gdiff --unchanged-line-format='' --old-line-format='' --new-line-format='%L' "$PREV" "$PKGFILE" > "$TMPFILE"
+ 	else
+ 		cp "$PKGFILE" "$TMPFILE"
+ 	fi
freebsd-current@freebsd.org mailing list
To unsubscribe, send any mail to "freebsd-current-unsubscr...@freebsd.org"

Reply via email to