View Issue Details

IDProjectCategoryView StatusLast Update
0004014unrealinstallingpublic2012-02-28 04:29
ReporterkatsklawAssigned Toohnobinki 
PrioritynormalSeverityminorReproducibilityhave not tried
Status resolvedResolutionfixed 
Product Version3.2.9-RC1 
Target VersionFixed in Version3.2.10-rc1 
Summary0004014: ./configure script's PACKAGE_VERSION does not match the actual unrealircd version
Descriptionconfig.status still shows 3.2.8.1 package info instead of 3.2.9
TagsNo tags attached.
3rd party modules

Relationships

has duplicate 0004093 closedohnobinki configure says version is 3.2.8.1 

Activities

katsklaw

2011-03-19 06:07

reporter  

configure.patch (2,729 bytes)

ohnobinki

2011-04-03 06:28

reporter  

unreal-4014-version-AC_INIT.patch (4,751 bytes)

ohnobinki

2011-04-03 06:30

reporter   ~0016634

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.

syzop

2011-12-25 17:39

administrator   ~0016835

Looks nice.

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.

ohnobinki

2011-12-26 18:17

reporter   ~0016837

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.

ohnobinki

2011-12-26 18:27

reporter   ~0016838

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).

http://hg.unrealircd.org/hg/unreal/rev/4d9121e62893

Issue History

Date Modified Username Field Change
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