Bug 278684

Summary: misc/shared-mime-info: portmaster failure: invalid option -- D
Product: Ports & Packages Reporter: O. Hartmann <ohartmann>
Component: Individual Port(s)Assignee: freebsd-desktop (Team) <desktop>
Status: Closed FIXED    
Severity: Affects Many People CC: arrowd, ohartmann
Priority: --- Flags: arrowd: maintainer-feedback+
Version: Latest   
Hardware: Any   
OS: Any   
Attachments:
Description Flags
Fix portmaster build failure ohartmann: maintainer-approval+

Description O. Hartmann 2024-05-01 17:13:02 UTC
portmaster fails on several ports performing either updates or installtion, so on port misc/shared-mime-info:

[...]
===>  Configuring for shared-mime-info-2.2_2
cd /usr/ports/misc/shared-mime-info/work/shared-mime-info-13695c7225c2f525a435e72739c33ac32bbfbbb9/src/xdgmime/src && /usr/bin/env NINJA_STATUS="[%p %s/%t] " XDG_DATA_HOME=/usr/ports/misc/shared-mime-info/work  XDG_CONFIG_HOME=/usr/ports/misc/shared-mime-info/work  XDG_CACHE_HOME=/usr/ports/misc/shared-mime-info/work/.cache  HOME=/usr/ports/misc/shared-mime-info/work TMPDIR="/tmp" PATH=/usr/ports/misc/shared-mime-info/work/.bin:/bin:/usr/bin:/sbin:/usr/sbin:/usr/local/bin:/usr/local/sbin PKG_CONFIG_LIBDIR=/usr/ports/misc/shared-mime-info/work/.pkgconfig:/usr/local/libdata/pkgconfig:/usr/local/share/pkgconfig:/usr/libdata/pkgconfig MK_DEBUG_FILES=no MK_KERNEL_SYMBOLS=no SHELL=/bin/sh NO_LINT=YES DESTDIR=/usr/ports/misc/shared-mime-info/work/stage PREFIX=/usr/local  LOCALBASE=/usr/local  CC="cc" CFLAGS="-O2 -pipe  -fstack-protector-strong -isystem /usr/local/include -fno-strict-aliasing "  CPP="cpp" CPPFLAGS="-isystem /usr/local/include"  LDFLAGS=" -fstack-protector-strong " LIBS="-L/usr/local/lib"  CXX="c++" CXXFLAGS="-O2 -pipe -fstack-protector-strong -isystem /usr/local/include -fno-strict-aliasing  -isystem /usr/local/include " BSD_INSTALL_PROGRAM="install  -s -m 555"  BSD_INSTALL_LIB="install  -s -m 0644"  BSD_INSTALL_SCRIPT="install  -m 555"  BSD_INSTALL_DATA="install  -m 0644"  BSD_INSTALL_MAN="install  -m 444" gmake
: invalid option -- D
Usage: gmake [options] [target] ...
Options:
  -b, -m                      Ignored for compatibility.
  -B, --always-make           Unconditionally make all targets.
  -C DIRECTORY, --directory=DIRECTORY
                              Change to DIRECTORY before doing anything.
  -d                          Print lots of debugging information.
  --debug[=FLAGS]             Print various types of debugging information.
  -e, --environment-overrides 
                              Environment variables override makefiles.
  -E STRING, --eval=STRING    Evaluate STRING as a makefile statement.
  -f FILE, --file=FILE, --makefile=FILE
                              Read FILE as a makefile.
  -h, --help                  Print this message and exit.
  -i, --ignore-errors         Ignore errors from recipes.
  -I DIRECTORY, --include-dir=DIRECTORY
                              Search DIRECTORY for included makefiles.
  -j [N], --jobs[=N]          Allow N jobs at once; infinite jobs with no arg.
  --jobserver-style=STYLE     Select the style of jobserver to use.
  -k, --keep-going            Keep going when some targets can't be made.
  -l [N], --load-average[=N], --max-load[=N]
                              Don't start multiple jobs unless load is below N.
  -L, --check-symlink-times   Use the latest mtime between symlinks and target.
  -n, --just-print, --dry-run, --recon
                              Don't actually run any recipe; just print them.
  -o FILE, --old-file=FILE, --assume-old=FILE
                              Consider FILE to be very old and don't remake it.
  -O[TYPE], --output-sync[=TYPE]
                              Synchronize output of parallel jobs by TYPE.
  -p, --print-data-base       Print make's internal database.
  -q, --question              Run no recipe; exit status says if up to date.
  -r, --no-builtin-rules      Disable the built-in implicit rules.
  -R, --no-builtin-variables  Disable the built-in variable settings.
  --shuffle[={SEED|random|reverse|none}]
                              Perform shuffle of prerequisites and goals.
  -s, --silent, --quiet       Don't echo recipes.
  --no-silent                 Echo recipes (disable --silent mode).
  -S, --no-keep-going, --stop 
                              Turns off -k.
  -t, --touch                 Touch targets instead of remaking them.
  --trace                     Print tracing information.
  -v, --version               Print the version number of make and exit.
  -w, --print-directory       Print the current directory.
  --no-print-directory        Turn off -w, even if it was turned on implicitly.
  -W FILE, --what-if=FILE, --new-file=FILE, --assume-new=FILE
                              Consider FILE to be infinitely new.
  --warn-undefined-variables  Warn when an undefined variable is referenced.

This program built for amd64-portbld-freebsd15.0
Report bugs to <bug-make@gnu.org>
*** Error code 2
Comment 1 Tijl Coosemans freebsd_committer freebsd_triage 2024-06-27 13:36:05 UTC
*** Bug 279931 has been marked as a duplicate of this bug. ***
Comment 2 O. Hartmann 2024-12-04 09:13:58 UTC
Created attachment 255616 [details]
Fix portmaster build failure

Following entry /usr/ports/CHANGES :

[...]
20240229:
AUTHOR: tijl@FreeBSD.org

  A new command SETENVI that clears the environment and a new variable
  WRK_ENV that contains a basic environment to use with SETENVI have
  been added.
  Ports that run (parts of) the upstream build system directly using
  commands like "${SETENV} ${MAKE_ENV} ${MAKE_CMD} ..." should change
  that to "${SETENVI} ${WRK_ENV} ${MAKE_ENV} ${MAKE_CMD} ...".  This way
  the build system runs with a clean environment without interference
  from the user environment or ports framework environment.  Ports can
  add extra environment variables to WRK_ENV similar to CONFIGURE_ENV,
  MAKE_ENV, TEST_ENV, and so on, but WRK_ENV is used in all targets
  while the latter are target-specific.
[...]

the reported problem can be easily mitigated, if not being fixed by applying the patch provided. Not much brains necessary.
Comment 3 commit-hook freebsd_committer freebsd_triage 2024-12-07 09:30:49 UTC
A commit in branch main references this bug:

URL: https://cgit.FreeBSD.org/ports/commit/?id=7e313dc66b109653ecf82f0f0bdccf2b220208de

commit 7e313dc66b109653ecf82f0f0bdccf2b220208de
Author:     O. Hartmann <ohartmann@walstatt.org>
AuthorDate: 2024-12-07 09:29:18 +0000
Commit:     Gleb Popov <arrowd@FreeBSD.org>
CommitDate: 2024-12-07 09:29:56 +0000

    misc/shared-mime-info: Use SETENVI instead of SETENV

    PR:             278684

 misc/shared-mime-info/Makefile | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)
Comment 4 Gleb Popov freebsd_committer freebsd_triage 2024-12-07 09:31:10 UTC
Thank you.
Comment 5 O. Hartmann 2024-12-07 11:12:01 UTC
(In reply to Gleb Popov from comment #4)

Dito! Thank you very much.
oh