Index: configvers.h =================================================================== RCS file: /home/ncvs/src/usr.sbin/config/configvers.h,v retrieving revision 1.38 diff -u -r1.38 configvers.h --- configvers.h 4 Nov 2005 04:16:44 -0000 1.38 +++ configvers.h 4 Nov 2005 17:45:11 -0000 @@ -1,11 +1,16 @@ /* * 6 digits of version. The most significant are branch indicators - * (eg: RELENG_2_2 = 22, -current presently = 60 etc). The least - * significant digits are incremented for each incompatible change. + * roughly, but when multiple branches can use the same config, the + * major number is not bumped. (eg: RELENG_2_2 = 22, -current + * presently = 60 etc). The least significant digits are incremented + * for each user visible change. In general, care should be taken + * to not bump the major version unless new config can't be used to + * configure old kernels. * * The numbering scheme is inspired by the sys/conf/newvers.sh RELDATE * and system. * * $FreeBSD: src/usr.sbin/config/configvers.h,v 1.38 2005/11/04 04:16:44 imp Exp $ */ -#define CONFIGVERS 600003 +#define CONFIGVERS 600004 +#define CONFIGMAJOR 100000 Index: mkmakefile.c =================================================================== RCS file: /home/ncvs/src/usr.sbin/config/mkmakefile.c,v retrieving revision 1.81 diff -u -r1.81 mkmakefile.c --- mkmakefile.c 30 Aug 2004 23:03:56 -0000 1.81 +++ mkmakefile.c 4 Nov 2005 17:45:11 -0000 @@ -160,7 +160,8 @@ do_clean(ofp); else if (strncmp(line, "%VERSREQ=", sizeof("%VERSREQ=") - 1) == 0) { versreq = atoi(line + sizeof("%VERSREQ=") - 1); - if (versreq != CONFIGVERS) { + if (versreq / CONFIGMAJOR != CONFIGVERS / CONFIGMAJOR || + versreq > CONFIGVERS) { fprintf(stderr, "ERROR: version of config(8) does not match kernel!\n"); fprintf(stderr, "config version = %d, ", CONFIGVERS); fprintf(stderr, "version required = %d\n\n", versreq);