The current logic to calculate BROKEN in this port does not allow for one OS release to ask the port if it is broken on another OS release. This is due to an assumption that the OSVERSION passed to the Makefile exactly corresponds to the source version installed under /usr/src/sys (if any.) That is the default. However, when doing a cross-query, this is not the case. While this is a problem that is probably only of interest to myself, Bill Fenner, and Dan Langille, the logic could use tightening anyway. Fix: The following patch emulates the current behavior of the port Makefile on both the 4.7 and 5.0 releases without OSVERSION being set. In addition, it works for OSVERSION being set. How-To-Repeat: (on a 4.7 system, e.g.): cd /usr/ports/audio/aureal-kmod; make OSVERSION=50000 -V BROKEN will result in failure.
Ugh. Apparently the Makefile changed since I did my last cvsup. Here's an updated patchfile, same changes really. --- aureal-kmod/Makefile.dist Mon May 26 19:39:20 2003 +++ aureal-kmod/Makefile Mon May 26 19:40:15 2003 @@ -36,8 +36,7 @@ VERSION_SOUND_C= .endif -VERSION_SOUND_C_CURRENT:= ${VERSION_SOUND_C:S/1.//} -VERSION_SOUND_C_STABLE:= ${VERSION_SOUND_C:S/1.17.2.//} +VERSION_SOUND_C_MINOR:= ${VERSION_SOUND_C:S/^1.//:S/^17.2.//} .if ${OSVERSION} < 410000 BROKEN= "FreeBSD 3.*, 4.0 are not supported" @@ -51,7 +50,7 @@ # FreeBSD 4.2, 4.3 PORTVERSION= 1.3 -.if ${VERSION_SOUND_C_STABLE} < 4 +.if ${VERSION_SOUND_C_MINOR} < 4 # FreeBSD 4.2 before kobj MFC PORTREVISION= 1 @@ -69,7 +68,7 @@ .elif ${OSVERSION} < 500000 # FreeBSD 4.5+, 4.6, 4.7, 4.8- -.if ${VERSION_SOUND_C_STABLE} < 12 +.if ${VERSION_SOUND_C_MINOR} < 12 BROKEN= "Base system is outdated. This port needs -STABLE after 2002-04-22." .endif PORTVERSION= 1.3 @@ -79,7 +78,7 @@ .if ${OSVERSION} > 500000 # FreeBSD 5-CURRENT -.if ${VERSION_SOUND_C_CURRENT} < 70 +.if ${VERSION_SOUND_C_MINOR} < 70 BROKEN= "Base system is outdated. This port needs -CURRENT after 2002-04-04." .endif .endif
State Changed From-To: open->closed Commited, thanks!