svn commit: r215309 - in head/sys: amd64/amd64 i386/i386 sys vm

Anonymous swell.k at gmail.com
Sun Nov 14 21:20:53 UTC 2010


Konstantin Belousov <kib at 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
%%


More information about the freebsd-ports mailing list