[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Gambas-bugtracker] Bug #2901: Packages dependies (step 7 of packager)


http://gambaswiki.org/bugtracker/edit?object=BUG.2901&from=L21haW4-

Comment #12 by Willy RAETS:

This is still a very big problem.

If the library compatibility is set to be compatible until 1.0.0
If above is done I expect applications using this library to be able to accept version 0.1.0, 0.1.1, 0.2.0, 0.2.1, 0.3.0 etc. all the way up to 1.0.0

On a client system (no IDE on there) I install a Gambas application and a library. The application before installing on a client system, had library 0.1.1 for example as library in its project properties.
Application is installed on target and so is library 0.1.1. No problem there.

I do an update to library to version 0.1.2 and install it on target system (so no changes to application) and that goes just fine as I would expect.
The problem arises when I install Library version 0.2.0 on the target system. The library will install but the application WILL NO LONGER start, although library is internally set to be compatible until 1.0.0

To fix this on my development system I have to:
- open the application and on the Library tab of the project I have to remove 0.1 library and replace with 0.2
- repackage the application
- redistribute and reinstall application on target system

Now, imagine many applications on multiple systems all using this library,. The library goes from version 0.2.5 to version 0.3.0 and ALL applications on all clients BREAK.
Don't try to tell me this is intentional
Every single application needs to be opened on my dev system in IDE, library dependency changed in project properties, repackaged and reinstalled.
The compatible until option in a library is BOGUS as it is NOT taking into account by the applications using the library. I hope not this is intentional.

I am in the process of bumping a library and thus I have to redo all my applications (work and private) that use this library (almost all of them).
Meaning opening them all, changing the library, repackage and reinstall on multiple systems. This is a  MAINTENANCE HELL. And this is just the first library, there are more that will follow in time.
I use libraries extensively and I do have the impression not many do. 

Library updates should not require applications that depend on them to be redone just to bump the library version IMHO.
What is going on is that the application using the library seems to stick to the series (e.g. 0.1 or 0.2) defined in the project properties library tab. That is where things go wrong as that is what I have to change to make it work again.
If a library from 0.1 series was added there in IDE and this application gets installed on a target is will NEVER accept a 0.2 series or higher, no matter what compatible until in library states. It also contradicts the compatible until in the library.

To me this is a bug and a very annoying and time intensive problem to deal with every time over.
I reported this when moving from 0.1 to 0.2 series library, now ready to move to 0.3 series facing the same problem, only way more applications using the library now.
The library handles all error logging in a central database that occurs in client applications, so it is used in all but a few applications of mine.

BTW I have the impression that libraries aren't used by many, so there are little people to discuss this topic on how it should.
I do know that writing a book on Gambas libraries is the top request in a poll I did for a next Gambas Learning guide.
So may are interested, but most don't know how to use them. Before writing a book on a topic like this I would like this problem to be gone



----[ Gambas bugtracker-list is hosted by https://www.hostsharing.net ]----