View Issue Details
|ID||Project||Category||View Status||Date Submitted||Last Update|
|0004014||unreal||installing||public||2011-03-19 06:07||2012-02-28 04:29|
|Priority||normal||Severity||minor||Reproducibility||have not tried|
|Target Version||Fixed in Version||3.2.10-rc1|
|Summary||0004014: ./configure script's PACKAGE_VERSION does not match the actual unrealircd version|
|Description||config.status still shows 18.104.22.168 package info instead of 3.2.9|
|Tags||No tags attached.|
|3rd party modules|
configure.patch (2,729 bytes)
unreal-4014-version-AC_INIT.patch (4,751 bytes)
unreal-4014-version-AC_INIT.patch: This patch causes all of the version information to be stored in one place, the AC_INIT() call, instead of scattered into the header files.
It's a little dirty as it parses out the version string into the components, which is necessary for modules to have #if preprocessor directive to distinguish between different unrealircd APIs. But I would like to move this version information to be stored more centrally in configure.ac where it normally is instead of updated in a header file ;-). That way this particular problem can't happen again.
Just asking: does the macro stuff you added in the version.h work on all compilers we use? Is it standard?
Oh and one minor thing, we use a hyphen, and not an underscore before the pre/post/rcX suffix in the UnrealIRCd version string (so: 1.2.3-rc1, not 1.2.3_rc1). Perhaps you prefer underscores but I just find it plain ugly ;P
Other than that, looks fine I think.
I'm quite sure that the macro stuff is standard. I couldn't find anything for certain online, but it appears that MSVC would support it -- I don't really have a win32 compilation environment at the moment.
The ugly thing about this patch is that it still requires manual updating of the three macros, just now in include/win32/setup.h instead of include/version.h. Ideally, of course, Windows users should just be able to run ./configure :-p. But there are other files which are not covered which would need to be updated during a release, such as src/version.c.SH... maybe some of these can be handled more automatically but the Windows-specific ones can't be helped for now.
Regarding the hyphen versus underscore, I preferred the underscore because it matches Gentoo's naming conventions. But the patch itself doesn't enforce things one way or another and I'm fine with a hyphen since that's how all other unrealircd version strings have been written.
Now it should be harder to accidentally release a source tarball of UnrealIRCd with the incorrect version in PACKAGE_VERSION.
- Enforce matching of unrealircd version and PACKAGE_VERSION macros. Now the
UNREAL_VERSION_GENERATION, UNREAL_VERSION_MAJOR, UNREAL_VERSION_MINOR, and
UNREAL_VERSION_SUFFIX macros are autogenerated from PACKAGE_VERSION (0004014).
|2011-03-19 06:07||katsklaw||New Issue|
|2011-03-19 06:07||katsklaw||File Added: configure.patch|
|2011-03-19 06:07||katsklaw||Status||new => has patch|
|2011-03-27 23:34||mahdkoosh||Tag Attached: OPER|
|2011-03-27 23:35||mahdkoosh||File Added: unrealircd.conf|
|2011-04-03 06:26||ohnobinki||File Deleted: unrealircd.conf|
|2011-04-03 06:26||ohnobinki||Tag Detached: OPER|
|2011-04-03 06:28||ohnobinki||File Added: unreal-4014-version-AC_INIT.patch|
|2011-04-03 06:30||ohnobinki||Note Added: 0016634|
|2011-04-03 06:31||ohnobinki||Summary||configure/config.status not updated => ./configure script's PACKAGE_VERSION does not match the actual unrealircd version|
|2011-12-25 17:39||syzop||Note Added: 0016835|
|2011-12-26 18:17||ohnobinki||Note Added: 0016837|
|2011-12-26 18:27||ohnobinki||Note Added: 0016838|
|2011-12-26 18:27||ohnobinki||Status||has patch => resolved|
|2011-12-26 18:27||ohnobinki||Fixed in Version||=> 3.2.10-rc1|
|2011-12-26 18:27||ohnobinki||Resolution||open => fixed|
|2011-12-26 18:27||ohnobinki||Assigned To||=> ohnobinki|
|2012-02-28 04:29||ohnobinki||Relationship added||has duplicate 0004093|