Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 28 Nov 2005 01:01:09 +0200
From:      Ruslan Ermilov <ru@FreeBSD.org>
To:        "M. Warner Losh" <imp@bsdimp.com>
Cc:        cvs-src@FreeBSD.org, src-committers@FreeBSD.org, cvs-all@FreeBSD.org
Subject:   Re: cvs commit: src/usr.sbin/config configvers.h mkmakefile.c src/sys/conf Makefile.alpha Makefile.amd64 Makefile.arm Makefile.i386 Makefile.ia64 Makefile.pc98 Makefile.powerpc Makefile.sparc64 files files.alpha files.amd64 files.i386 ...
Message-ID:  <20051127230109.GB73919@ip.net.ua>
In-Reply-To: <20051127.153239.85325290.imp@bsdimp.com> <20051127.152719.78798756.imp@bsdimp.com>
References:  <200511272141.jARLfwca016783@repoman.freebsd.org> <20051127.153239.85325290.imp@bsdimp.com> <200511272141.jARLfwca016783@repoman.freebsd.org> <20051127.152719.78798756.imp@bsdimp.com>

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

--45Z9DzgjV8m4Oswq
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable

Hi Warner,

On Sun, Nov 27, 2005 at 03:27:19PM -0700, M. Warner Losh wrote:
> In message: <200511272141.jARLfwca016783@repoman.freebsd.org>
>             Ruslan Ermilov <ru@FreeBSD.org> writes:
> :   Make config(8) understand ORed dependecies in "files*" and
> :   improve tracking of known devices.  Bump config(8) version.
>=20
> I don't think that this bump should have been a major version bump.
> the new config can configure old kernels just fine.  I do think it
> needed a minor bump.  This reminds me, I think that it is time to
> commit my major/minor version stuff...
>=20
> If it is OK with you, I'd like to change this to be version 600003.
>=20
Should be 600004, 600003 is what it was (the old version that doesn't
understand the new syntax).

> That way, we can use the new config to do both 6.x and 7.x
> configuration.  When we have a config that will no longer do 6.x
> configuration, we can bump the major version to the then current
> -current branch number.
>=20
> More specificly, I'd like to apply the following patch (+ fix the
> %VERSREQ in the src/sys/conf/Makefile.*):
>=20
> Index: configvers.h
> =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
> RCS file: /home/ncvs/src/usr.sbin/config/configvers.h,v
> retrieving revision 1.41
> diff -u -r1.41 configvers.h
> --- configvers.h	27 Nov 2005 21:41:57 -0000	1.41
> +++ configvers.h	27 Nov 2005 22:31:10 -0000
> @@ -27,7 +27,8 @@
>   *
>   * $FreeBSD: src/usr.sbin/config/configvers.h,v 1.41 2005/11/27 21:41:57=
 ru Exp $
>   */
> -#define	CONFIGVERS	700000
> +#define MAJOR_VERS(x)	((x) / 100000)
> +#define	CONFIGVERS	600003
> =20
600004

>  /*
>   * Examples of when there should NOT be a bump:
> Index: mkmakefile.c
> =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
> RCS file: /home/ncvs/src/usr.sbin/config/mkmakefile.c,v
> retrieving revision 1.83
> diff -u -r1.83 mkmakefile.c
> --- mkmakefile.c	27 Nov 2005 21:41:57 -0000	1.83
> +++ mkmakefile.c	27 Nov 2005 22:31:10 -0000
> @@ -160,7 +160,8 @@
>  			do_clean(ofp);
>  		else if (strncmp(line, "%VERSREQ=3D", sizeof("%VERSREQ=3D") - 1) =3D=
=3D 0) {
>  			versreq =3D atoi(line + sizeof("%VERSREQ=3D") - 1);
> -			if (versreq !=3D CONFIGVERS) {
> +			if (MAJOR_VERS(versreq) !=3D MAJOR_VERS(CONFIGVERS) ||
> +			    versreq > CONFIGVERS) {
>  				fprintf(stderr, "ERROR: version of config(8) does not match kernel!\=
n");
>  				fprintf(stderr, "config version =3D %d, ", CONFIGVERS);
>  				fprintf(stderr, "version required =3D %d\n\n", versreq);
>=20
> Comments?
>=20
This adds an implicit new requirement that inside the same major,
no backward incompatible changes to config(8) are allowed.  I.e.,
all 7xxxxx versions should be able to work with 700000 version of
configs.  It means that backward incompatible changes can only be
made once, when the major number is updated.  This isn't documented
in your patch, so I'm not sure if it was considered (by you) or
not.  So either we divorce CONFIGVERS from __FreeBSD_version and
document this fact and new scheme at the top of mkmakefile.c, or
we shouldn't do it.


Cheers,
--=20
Ruslan Ermilov
ru@FreeBSD.org
FreeBSD committer

--45Z9DzgjV8m4Oswq
Content-Type: application/pgp-signature
Content-Disposition: inline

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.2 (FreeBSD)

iD8DBQFDijq1qRfpzJluFF4RArxCAJoCRO89DbrX3crfypPaZVQvkiDtAACeKA10
7JJySbHSumk3ulwB+J0qon8=
=edHT
-----END PGP SIGNATURE-----

--45Z9DzgjV8m4Oswq--



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