Is there a method to create bl_info using variable?
No
Sure this is a dupe, have searched and searched,
For want of a better reference

https://developer.blender.org/T53617
bl_info must be declared in the module.
This is because bl_info is extracted without executing code.

ie the bl_info dictionary is grepped out of the addon module top level file (foo.py or foo/__init__.py) as a string where the  locals will not be available.