[Bug 268714] shells/zsh: log/watch functionality disabled for poudriere/synth builds

From: <bugzilla-noreply_at_freebsd.org>
Date: Mon, 02 Jan 2023 11:38:21 UTC
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=268714

            Bug ID: 268714
           Summary: shells/zsh: log/watch functionality disabled for
                    poudriere/synth builds
           Product: Ports & Packages
           Version: Latest
          Hardware: Any
                OS: Any
            Status: New
          Severity: Affects Many People
          Priority: ---
         Component: Individual Port(s)
          Assignee: bapt@FreeBSD.org
          Reporter: okiddle@yahoo.co.uk
          Assignee: bapt@FreeBSD.org
             Flags: maintainer-feedback?(bapt@FreeBSD.org)

Created attachment 239205
  --> https://bugs.freebsd.org/bugzilla/attachment.cgi?id=239205&action=edit
Touch utx.active from Makefile to trick autoconf

When running the zsh log builtin on FreeBSD, I get:

    log: not available on this system

If I build zsh from source, it works fine. The cause of this is an autoconf
test in the zsh configure script which looks for the appropriate utmp file for
login information. In the case of recent FreeBSD, this is /var/run/utx.active.
I think the problem is that when zsh is built with poudriere or synth, a chroot
or jail or similar is used where this file is absent. I attach a patch which
touches that file from the Makefile as a simple hack to trick the autoconf
test. I've only tested this with synth. Maybe you have better ideas on how the
autoconf test should be written?

An unrelated minor item with the zsh port Makefile is that I think ZSH_VER
should be defined to be ${DISTVERSION} instead of ${PORTVERSION}. It is the
distributed version that zsh inserts into the paths for the distributed
functions. I typically build a newer zsh from git as a port and my git repo has
carried that change for some time.

-- 
You are receiving this mail because:
You are the assignee for the bug.