[Kde-imaging] extragear/libs [POSSIBLY UNSAFE]

Achim Bohnet ach at mpe.mpg.de
Thu Feb 15 23:55:59 CET 2007


On Thursday, 15. February 2007, Colin Guthrie wrote:
> Angelo Naselli wrote:
> > Col that could be a good idea for developers, and svn version testers.
> > I don't know if Fabien thought only about that, but if we're talking about
> > library dependency well that problem remains since those libraries can only 
> > be external and shared. That is the only way to share that code between more than
> > one project without linking it statically or changing the library names.
> 
> No, what you could do is this.
> 
> svn://server/myproj/Makefile.am: SUBDIRS = sharedlib
> svn://server/myproj svn:external sharedlib svn://server/sharedlib
> 
> This is exaclty how the admin folder works currently (AFAIK)
> 
> We just refer to the sharedlib in the root level Makefiles as if it were
> a folder like any other and the svn extenal will check it out/update it
> automatically. You can compile the contents directly into your project
> without using a separate library.
> 
> For things like kexiv2 and the dcdraw i/f library, they are so small and
> simple that it wont really add much size to the compiled code.
> 
> The examples above are quick and dirty but do you see the point? You are
> effectively just using static linkage rather than having to
> release/maintain/package a separate shared lib.
> 
> I'm not particularly bothered either way, but for these very small libs,
> they could be used throughout KDE in this way without any major problems
> using svn:externals.

You can use it like this, but this mean that you have to take care
about the interfaces nevertheless as long are release dates of the
applications use it are not in sync.

You can't break API without forcing apps
to adapt otherwise they break on next svn up (e.g. when some users
do a fresh checkout to test svn version.)  Alternatively, someone
likes to handle lot's of branches and merging?

In case of a grave bug or security flaw on the other hand you have
to create a release for every app that staticly linked against it.
Instead of doing just a new release of a shared library.  People
that build their own version of a program are all forced to rebuild
those apps too (instead of getting it for free from their distro).

Same applies for enhanced/optimzed version a a library.  If it's
not shared => please wait until the next app is released too :(

Achim
> 
> Col
> _______________________________________________
> Kde-imaging mailing list
> Kde-imaging at kde.org
> https://mail.kde.org/mailman/listinfo/kde-imaging
> 
> 



-- 
  To me vi is Zen.  To use vi is to practice zen. Every command is
  a koan. Profound to the user, unintelligible to the uninitiated.
  You discover truth everytime you use it.
                                      -- reddy at lion.austin.ibm.com


More information about the Kde-imaging mailing list