Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 15 Nov 2010 00:20:37 +0300
From:      Anonymous <swell.k@gmail.com>
To:        Konstantin Belousov <kib@FreeBSD.org>
Cc:        svn-src-head@freebsd.org, svn-src-all@freebsd.org, src-committers@freebsd.org, freebsd-ports@freebsd.org
Subject:   Re: svn commit: r215309 - in head/sys: amd64/amd64 i386/i386 sys vm
Message-ID:  <86wrofob4q.fsf@gmail.com>
In-Reply-To: <201011141824.oAEIOCtN089920@svn.freebsd.org> (Konstantin Belousov's message of "Sun, 14 Nov 2010 18:24:12 %2B0000 (UTC)")
References:  <201011141824.oAEIOCtN089920@svn.freebsd.org>

next in thread | previous in thread | raw e-mail | index | archive | help
Konstantin Belousov <kib@FreeBSD.org> writes:

> Author: kib
> Date: Sun Nov 14 18:24:12 2010
> New Revision: 215309
> URL: http://svn.freebsd.org/changeset/base/215309
>
> Log:
>   Use symbolic names instead of hardcoding values for magic p_osrel constants.
>   
>   MFC after:   1 week
[...]
> Modified: head/sys/sys/param.h
> ==============================================================================
> --- head/sys/sys/param.h	Sun Nov 14 18:05:03 2010	(r215308)
> +++ head/sys/sys/param.h	Sun Nov 14 18:24:12 2010	(r215309)
> @@ -60,6 +60,11 @@
>  #undef __FreeBSD_version
>  #define __FreeBSD_version 900025	/* Master, propagated to newvers */
>  
> +#ifdef _KERNEL
> +#define	__FreeBSD_version_SIGSEGV	700004
> +#define	__FreeBSD_version_MAP_ANON	800104
> +#endif
> +

This breaks bsd.port.mk regexp to determine OSVERSION.

  # Get __FreeBSD_version
  .if !defined(OSVERSION)
  .if exists(/usr/include/sys/param.h)
  OSVERSION!=	${AWK} '/^\#define[[:blank:]]__FreeBSD_version/ {print $$3}' < /usr/include/sys/param.h
  .elif exists(/usr/src/sys/sys/param.h)
  OSVERSION!=	${AWK} '/^\#define[[:blank::]]__FreeBSD_version/ {print $$3}' < /usr/src/sys/sys/param.h
  .else
  OSVERSION!=	${SYSCTL} -n kern.osreldate
  .endif
  .endif

  $ make -V OSVERSION
  900025 700004 800104

And every port chokes on it.

 $ make -C devel/libpthread-stubs
  "Makefile", line 26: warning: String comparison operator should be either == or !=
  "Makefile", line 26: Malformed conditional (${OSVERSION} < 700000)
  "Makefile", line 28: if-less endif
  "/usr/ports/Mk/bsd.port.mk", line 1739: warning: String comparison operator should be either == or !=
  "/usr/ports/Mk/bsd.port.mk", line 1739: Malformed conditional (defined(USE_XZ) && ( (${OSVERSION} >= 900000 && ${OSVERSION} < 900012) || ${OSVERSION} < 800505 ))
  "/usr/ports/Mk/bsd.port.mk", line 6394: if-less endif
  make: fatal errors encountered -- cannot continue

%%
Index: Mk/bsd.port.mk
===================================================================
RCS file: /a/.cvsup/ports/Mk/bsd.port.mk,v
retrieving revision 1.654
diff -u -p -r1.654 bsd.port.mk
--- Mk/bsd.port.mk	8 Nov 2010 16:07:03 -0000	1.654
+++ Mk/bsd.port.mk	14 Nov 2010 21:18:32 -0000
@@ -1219,9 +1219,9 @@ OSREL!=	${UNAME} -r | ${SED} -e 's/[-(].
 # Get __FreeBSD_version
 .if !defined(OSVERSION)
 .if exists(/usr/include/sys/param.h)
-OSVERSION!=	${AWK} '/^\#define[[:blank:]]__FreeBSD_version/ {print $$3}' < /usr/include/sys/param.h
+OSVERSION!=	${AWK} '/^\#define[[:blank:]]__FreeBSD_version[[:blank:]]/ {print $$3}' < /usr/include/sys/param.h
 .elif exists(/usr/src/sys/sys/param.h)
-OSVERSION!=	${AWK} '/^\#define[[:blank::]]__FreeBSD_version/ {print $$3}' < /usr/src/sys/sys/param.h
+OSVERSION!=	${AWK} '/^\#define[[:blank::]]__FreeBSD_version[[:blank:]]/ {print $$3}' < /usr/src/sys/sys/param.h
 .else
 OSVERSION!=	${SYSCTL} -n kern.osreldate
 .endif
%%



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