[Bug 220950] Mk/Scripts/check-stagedir.sh false negatives (with %%OPTIONS%%)

bugzilla-noreply at freebsd.org bugzilla-noreply at freebsd.org
Sun Jul 23 19:21:20 UTC 2017


https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=220950

            Bug ID: 220950
           Summary: Mk/Scripts/check-stagedir.sh false negatives (with
                    %%OPTIONS%%)
           Product: Ports & Packages
           Version: Latest
          Hardware: Any
                OS: Any
            Status: New
          Severity: Affects Many People
          Priority: ---
         Component: Ports Framework
          Assignee: portmgr at FreeBSD.org
          Reporter: gerald at FreeBSD.org
                CC: freebsd-ports-bugs at FreeBSD.org

It appears that Mk/Scripts/check-stagedir.sh completely misses files that
appear
 - in the staging directory, and
 - are listed in pkg-plist with an %%OPTION%% prefix when OPTION is off.

Those files should be included in packages (or when the port is installed), but
are not.

And check-stagedir.sh should diagnose that those files are in stagedir, but not
included in pkg-plist.

This is quite a problem!


How to reproduce:

 1. chdir $PORTSDIR/emulators/wine-devel
 2. svn up -r 445571  (the version before I'll fix pkg-plist in a minute)
 3. Run the following script (after adjusting STAGEDIR and PREFIX)

#!/bin/sh

STAGEDIR=$WRKDIRPREFIX/wine-devel-work/stage
PREFIX=$WRKDIRPREFIX/wine-devel-prefix

grep %%STAGING%% pkg-plist | while read f; do
  f=`echo $f | sed -e 's/%%STAGING%%//'`
  if [ -f "$STAGEDIR/$PREFIX/$f" ]; then
    printf "%s no longer contigent on %%STAGING%%?\n" "$f"
  fi
done

-- 
You are receiving this mail because:
You are on the CC list for the bug.


More information about the freebsd-ports-bugs mailing list