Hi Yuliya,
thanks again for the very productive discussion.
On Thu, Jan 31, 2019 at 08:58:47AM +0700, Yuliya Algaer wrote:
-lugenedbd and -lugenedb: what is the difference between these two?
The first one is debug build of the library. The second one is release. All
libraries in UGENE are built this way.
OK, that's very helpful. In Debian by default code will be build
including debug information and distributed in a separate package.
I would recommend to check for the existence of zlib on the system that
builds Ugene and if it exists use the zlib from the system.
We can add this check into the build script. But in either case we have to
have zlib sources in the bundle UGENE to use it as a fallback.
Yes, for sure you can do this. For the packaging it is just extremely
helpful that we can link to the system libraries without needing to
worry about copies in your code. This saves us from creating patches
and adapting these for every new upstream version. Finally this kind of
friction is the reason why we are lagging behind your latest version.
Another alternative here is to re-check if some compatible form of zlib is
available via Qt library. I will check it by myself. Thank you for the hint.
That's another option but I know to less about Qt to comment on this.
In case the system has an up to date library there is no need to make use
of private copies.
Same issue as with zlib here. If there is no library on the system we have
to use the one from our sources or ask a user to provide one. UGENE builds
on many platforms. On Windows, for example, there are no SQLite by default
at all.
That's fine in the same way. We have no problem if the code copy exists
since we can even strip it from the source archive without worrying
whether this might influence the functionality.
I'm not sure whether phylip is the only example
Phylip is a plugin and can easily be excluded from the build.
That's interesting. How can we make sure that the Debian packaged
phylip is used as plugin? We really want to provide the full
functionality but I think to do so we have to understand this plugin
system better.
The only real
UGENE dependencies are QT5, zlib & SQLite. If you do not mind that we carry
the last 2 in our sources, but automatically detect and use system ones on
Debian (since we know they are compatible) this task is not very complex and
I will be glad to help you here.
This would be really great and we would appreciate this very much since
it would drastically reduce our work.
By using cmake features you can easily check whether a user has these
libraries installed
We have only unofficial experimental build with CMake and have no active
plans on it. So we have to use qmake here.
Fine with me - whatever you might implement. While the Debian packaging
is currently using your CMake files this is probably not a good idea if
it is only experimental. We can adapt to whatever build system you are
using (even if my personal observation from lots of software is that
several projects moved from qmake to cmake. I can not compare these
systems since I only know these as "consumer" but those upstreams who
switched seem to have their reasons.
Thank you,
Yuliya.
Thanks a lot to you
Andreas.