Bug 215038

Summary: devel/git: 2.11.0 -- Fails to configure with PERL option disabled
Product: Ports & Packages Reporter: Kubilay Kocak <koobs>
Component: Individual Port(s)Assignee: Kubilay Kocak <koobs>
Status: Closed FIXED    
Severity: Affects Only Me CC: garga
Priority: --- Keywords: regression
Version: LatestFlags: bugzilla: maintainer-feedback? (garga)
Hardware: Any   
OS: Any   
URL: https://reviews.freebsd.org/D8709
Attachments:
Description Flags
devel/git: config.log none

Description Kubilay Kocak freebsd_committer freebsd_triage 2016-12-04 06:06:56 UTC
Created attachment 177648 [details]
devel/git: config.log

devel/git (2.11.0) fails to configure with then PERL option is disabled:

uname -v = FreeBSD 12.0-CURRENT #5 r308516: Sat Nov 12 14:32:32 AEDT 2016     root@CURRENT-amd64:/usr/obj/usr/src/sys/GENERIC-NODEBUG

config.log attached
Comment 1 Kubilay Kocak freebsd_committer freebsd_triage 2016-12-04 08:36:39 UTC
devel/git: Fix build with PERL option disabled

configure.ac defines a macro (GIT_ARG_SET_PATH), which takes an optional 'allow-without' parameter, which if not specified (in configure.ac), causes --without-foo/--with-foo-no not to be checked/allowed.

allow-without is set for python, but not for perl in configure.ac:

# Define PYTHON_PATH to provide path to Python.
# GIT_ARG_SET_PATH(python, allow-without)

# GIT_ARG_SET_PATH(perl)

The non-presence of the optional second macro argument results in the error: 

configure:4065: error: You cannot use git without perl

This change adds:

 * allow-without to allow --without-perl to work.
 * USES=autoreconf to regenerate configure

Personally, I would strongly recommend/request upstream removal of this extra secret knob to allow disabling of options/dependencies. Compulsory dependencies are compulsory, and shouldn't have options to disable them, and configure should explicitly fail if the dependency is not met.
Comment 2 commit-hook freebsd_committer freebsd_triage 2016-12-05 12:28:18 UTC
A commit references this bug:

Author: koobs
Date: Mon Dec  5 12:28:09 UTC 2016
New revision: 427879
URL: https://svnweb.freebsd.org/changeset/ports/427879

Log:
  devel/git: Fix build with PERL option disabled

  configure.ac defines a macro (GIT_ARG_SET_PATH), which takes an optional
  'allow-without' parameter, which if not specified (in configure.ac),
  causes --without-foo/--with-foo=no not to be checked/allowed.

  allow-without is set for python, but not for perl in configure.ac:

   # Define PYTHON_PATH to provide path to Python.
   # GIT_ARG_SET_PATH(python, allow-without)

   # GIT_ARG_SET_PATH(perl)

  The non-presence of the optional second macro argument results in the
  following error when --without-perl is specified by
  PERL_CONFIGURE_WITH=perl=${PERL}

    configure:4065: error: You cannot use git without perl

  This error is a regression after r427505 [1], which switched from
  PERL_MAKE_ENV to PERL_CONFIGURE_WITH (and its associated --without-*).

  This change adds:

   * allow-without to configure.ac allowing --without-perl to work.
   * USES=autoreconf to regenerate configure from configure.ac.

  [1] https://svnweb.freebsd.org/changeset/ports/427505

  PR:			215038
  Approved by:		portmgr (blanket)
  Differential Revision:	D8709

Changes:
  head/devel/git/Makefile
  head/devel/git/files/patch-configure.ac
Comment 3 Kubilay Kocak freebsd_committer freebsd_triage 2016-12-05 12:30:02 UTC
Committed with added detail (in the commit log message) about the original source of the regression.

The change is a portmgr blanket approval for QA'd build/runtime fixes.