Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 2 Nov 2007 22:26:54 +1030 (CST)
From:      Jarrod Sayers <jarrod@netleader.com.au>
To:        FreeBSD-gnats-submit@FreeBSD.org
Subject:   ports/117764: [patch] Correct error by use of XORG_CAT when X_WINDOW_SYSTEM != xorg
Message-ID:  <200711021156.lA2BuslK091726@wallace.netleader.com.au>
Resent-Message-ID: <200711021200.lA2C034L008959@freefall.freebsd.org>

next in thread | raw e-mail | index | archive | help

>Number:         117764
>Category:       ports
>Synopsis:       [patch] Correct error by use of XORG_CAT when X_WINDOW_SYSTEM != xorg
>Confidential:   no
>Severity:       serious
>Priority:       medium
>Responsible:    freebsd-ports-bugs
>State:          open
>Quarter:        
>Keywords:       
>Date-Required:
>Class:          change-request
>Submitter-Id:   current-users
>Arrival-Date:   Fri Nov 02 12:00:02 UTC 2007
>Closed-Date:
>Last-Modified:
>Originator:     Jarrod Sayers
>Release:        FreeBSD 6.2-RELEASE-p8 i386
>Organization:
>Environment:
System: FreeBSD wallace.netleader.com.au 6.2-RELEASE-p8 FreeBSD 6.2-RELEASE-p8 #99: Sat Oct 6 22:54:56 CST 2007 root@wallace.netleader.com.au:/usr/obj/usr/src/sys/WALLACE i386
>Description:
Attempting to install ports defining XORG_CAT on hosts where X_WINDOW_SYSTEM !=
xorg fail but are not handled correctly by bsd.port.mk.  The use of XORG_CAT
alters the ports DIST_SUBDIR but this only succeeds if bsd.xorg.mk is included
but this is not included for obvious reasons when X_WINDOW_SYSTEM != xorg.

For example:    
 
wallace# grep X_WINDOW_SYSTEM /etc/make.conf
X_WINDOW_SYSTEM=xfree86-4
wallace# pwd   
/usr/ports/devel/makedepend
wallace# make
===>  Vulnerability check disabled, database not found
=> makedepend-1.0.1.tar.gz is not in /usr/ports/devel/makedepend/distinfo.
=> Either /usr/ports/devel/makedepend/distinfo is out of date, or
=> makedepend-1.0.1.tar.gz is spelled incorrectly.
*** Error code 1

Stop in /usr/ports/devel/makedepend.
wallace#

Temporarily tricking the system that xorg is used as the windowing system (by
altering or removing X_WINDOW_SYSTEM) yields the expected results:

wallace# grep X_WINDOW_SYSTEM /etc/make.conf
wallace# pwd
/usr/ports/devel/makedepend
wallace# make
===>  Vulnerability check disabled, database not found
===>  Extracting for makedepend-1.0.1,1
=> MD5 Checksum OK for xorg/util/makedepend-1.0.1.tar.bz2.
=> SHA256 Checksum OK for xorg/util/makedepend-1.0.1.tar.bz2.
===>  Patching for makedepend-1.0.1,1
===>   makedepend-1.0.1,1 depends on file: /usr/local/libdata/pkgconfig/xproto.pc - not found
===>    Verifying install for /usr/local/libdata/pkgconfig/xproto.pc in /usr/ports/x11/xproto
===>  Vulnerability check disabled, database not found
=> xproto-7.0.10.tar.bz2 doesn't seem to exist in /usr/ports/distfiles/xorg/proto.
=> Attempting to fetch from ftp://localhost/pub/FreeBSD/ports/distfiles/xorg/proto/.
^Cfetch: transfer interrupted

wallace#

The attached patch sets the IGNORE option when there is no chance of the port
installing (as using XORG_CAT will define DIST_SUBDIR to xorg/${XORG_CAT}):

wallace# grep X_WINDOW_SYSTEM /etc/make.conf
X_WINDOW_SYSTEM=xfree86-4
wallace# pwd
/usr/ports/devel/makedepend
wallace# make
===>  makedepend-1.0.1,1 cannot be installed without the xorg windowing system.
*** Error code 1

Stop in /usr/ports/devel/makedepend.
wallace#
>How-To-Repeat:
Attempt to install a port defining XORG_CAT on hosts with X_WINDOW_SYSTEM
defined and not set to xorg in /etc/make.conf.

These ports can easily be found by searching for Makefile's defining XORG_CAT
and use xorg/${XORG_CAT}/${DISTNAME}${EXTRACT_SUFX} formatted file names in
their distinfo files.
>Fix:
Suggested patch supplied.

--- Mk-bsd.port.mk-XORG_CAT.diff begins here ---
--- ports/Mk/bsd.port.mk.orig	Sun Oct 21 11:16:15 2007
+++ ports/Mk/bsd.port.mk	Fri Nov  2 22:11:45 2007
@@ -1336,6 +1336,10 @@
 .if defined(USE_XORG) || defined(XORG_CAT)
 . if ${X_WINDOW_SYSTEM} == "xorg"
 .include "${PORTSDIR}/Mk/bsd.xorg.mk"
+. else
+.  if defined(XORG_CAT)
+IGNORE=	cannot be installed without the xorg windowing system
+.  endif
 . endif
 .endif
 
@@ -1965,6 +1969,10 @@
 .if defined(USE_XORG) || defined(XORG_CAT)
 . if ${X_WINDOW_SYSTEM} == "xorg"
 .include "${PORTSDIR}/Mk/bsd.xorg.mk"
+. else
+.  if defined(XORG_CAT)
+IGNORE=	cannot be installed without the xorg windowing system
+.  endif
 . endif
 .endif
 
--- Mk-bsd.port.mk-XORG_CAT.diff ends here ---


>Release-Note:
>Audit-Trail:
>Unformatted:



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200711021156.lA2BuslK091726>