Re: [Gimp-developer] Re: [Gimp-announce] ANNOUNCE: gimp-plugin-template 1.3.2

2003-12-05 Thread Sven Neumann
Hi,

Thierry Vignaud [EMAIL PROTECTED] writes:

 gimp2-freetype is already packaged in mandrake contribs since Sun
 Aug 10 2003 :-)
 
 i didn't know that it was for gimp-1.2.x branch.

Well, what exactly did you package? gimp2-freetype sounds like it
should be working with gimp2 which isn't even released yet, so the
package name is certainly bad choosen.

Is this built from CVS or from one of the released tarballs? There
have been two releases so far:

- gimp-freetype-0.2 is for GIMP-1.2
- gimp-freetype-0.3 is for an earlier GIMP-1.3 API and won't work
  with latest GIMP-1.3 releases

I will probably do another gimp-freetype release for GIMP-2.0. However
the usefulness of gimp-freetype for GIMP-2.0 is questionable since the
text tool has most of its features already (and a few more).


Sven
___
Gimp-developer mailing list
[EMAIL PROTECTED]
http://lists.xcf.berkeley.edu/mailman/listinfo/gimp-developer


Re: [Gimp-developer] Re: [Gimp-announce] ANNOUNCE: gimp-plugin-template 1.3.2

2003-12-05 Thread Thierry Vignaud
Sven Neumann [EMAIL PROTECTED] writes:

  gimp2-freetype is already packaged in mandrake contribs since Sun
  Aug 10 2003 :-)
  
  i didn't know that it was for gimp-1.2.x branch.
 
 Well, what exactly did you package?

i package gimp, gimp-data and gimp1_3.

a contributor packaged gimp-freetype-0.4.tar.bz2 as gimp2-freetype
which indeed is for gimp2.

___
Gimp-developer mailing list
[EMAIL PROTECTED]
http://lists.xcf.berkeley.edu/mailman/listinfo/gimp-developer


Re: [Gimp-developer] Re: [Gimp-announce] ANNOUNCE: gimp-plugin-template 1.3.2

2003-12-02 Thread Manish Singh
On Tue, Dec 02, 2003 at 04:09:04PM +, Thierry Vignaud wrote:
 Sven Neumann [EMAIL PROTECTED] writes:
 
   standard libray versioning scheme is to set soname to
   libname.major (library being named libname.major.minor
   on filesystem)
  
  Don't get confused by the numbers, libgimp-2.0 is the library name
  we've choosen. There is nothing wrong with that. It's just a name.
  
   if the a branch of a library is not compatible with the previous
   one, maintainer only has to bump its major.  nothing more.
  
  That's exactly what we are doing. Nothing more. Please have a look
  at the versioning scheme I pointed you at. It does exactly what you
  are suggesting.
 
 but it makes packaging harder for distros.
 
 both debian and mandrake (and even redhat now due to gtk+-1.2 to
 gtk+-2.x transition) use versionned packages for library (eg one can
 install libfoo2-1.0.1 and libfoo3-1.1.9 at the same time)
 
 this system works great for quite a number of libraries.
 
 but for libraries that include their version number into their soname,
 this makes packaging harder when one want to still be able to keep
 several versions of the same library.

This is what GTK+ does. libgtk-1.2.so.0 and libgtk-x11-2.0.so.0. GIMP
does the same thing as GTK+.
 
 since the major is not anymore unique (eg gimp-2.0.23 will provide
 libgimp-2.0.so.23 with the same major as libgimp-1.3.so.23 from
 gimp-1.3.23), we've to include version number into package name too.

No, you misunderstand. GIMP 2.0.0 will provide libgimp-2.0.so.0.0.0. GIMP
2.0.23 will provide libgimp-2.0.so.0.0.23. ABI will be maintained for the
the 2.0.x series (and possibly the 2.x series, if we decide to do that).

There are no ABI guarantees for 1.3.x since it's a development series.
As Sven said, we do break it. It is a development series, so you just
have to deal. When it hits 2.0, that's a stable series, and the ABI
will be maintained.

Note that GTK+ 1.3.x bumped the major so number at every release too.

-Yosh
___
Gimp-developer mailing list
[EMAIL PROTECTED]
http://lists.xcf.berkeley.edu/mailman/listinfo/gimp-developer


Re: [Gimp-developer] Re: [Gimp-announce] ANNOUNCE: gimp-plugin-template 1.3.2

2003-12-02 Thread Manish Singh
On Tue, Dec 02, 2003 at 11:30:26PM +0100,  Marc A. Lehmann  wrote:
 On Tue, Dec 02, 2003 at 01:25:24PM -0800, Manish Singh [EMAIL PROTECTED] wrote:
   since the major is not anymore unique (eg gimp-2.0.23 will provide
   libgimp-2.0.so.23 with the same major as libgimp-1.3.so.23 from
   gimp-1.3.23), we've to include version number into package name too.
  
  No, you misunderstand. GIMP 2.0.0 will provide libgimp-2.0.so.0.0.0. GIMP
  2.0.23 will provide libgimp-2.0.so.0.0.23. ABI will be maintained for the
  the 2.0.x series (and possibly the 2.x series, if we decide to do that).
 
 hmm, I don't think both of you are talking about the same thing, as I
 think both of you are right, but you are talking past each other.

No, I think I answered the question, since the original poster brought up
a number of libraries that do the same foo-X.Y.so.Z as doing the right
thing.

 The point is, according to custom packaging rules:
 
   libgimp-1.3.so.23 = libgimp23
   libgimp-2.0.so.0.0.23 = libgimp23
  
 (debian, mandrake.. linux in general). Gimp uses a major of 0 all the
 time, and thus it's useless to distinguish between major numbers, you need
 to include the version number (that is, not the library version number
 but the version string encoded in the _name_, or stem), and, while this
 is correct, it's a hassle, somewhat more difficult to use etc.
 
 Of course, it's perfectly doable. the question is what the benefits are, I
 mean, you usually get some benefits while sacrificing others.
 
 And since the normal way to manage libraries is both established and does
 solve the problems, it's hard to explain why a second, incompatible (but
 of course perfectly working) scheme is required or useful.
 
 I simply suspect that this has crept in because it's the only portable way
 to get it right (e.g. on windows, which doesn't have a de-factor workign
 dll versioning system, although dlls do come with versions).
 
 So, the gimp scheme works anywhere where you can have long enough
 filenames (== everywhere), while the usual ELF-way only works on
 platforms where encoding the major at the end is established practise.
 
 As such, the benefit might be less hassle and less platform specific
 code. That is enough to justify it, to me, but if it's the case one
 should acknowledge it and simply tell people: if you want to fixed, write
 the patch and get it into the neccessary packages...

OK, the main reason is that while the so major number solves things for
running binaries compiled against different library versions, it doesn't
address *building* binaries against different library versions in the
same prefix.

So if there was a libgimp.so.1 for 1.x and libgimp.so.2 for 2.x, the
compile time linker only looks at a libgimp.so, which can be symlinked
to one or the other, but not both at the same time. So if a user wants
both a build environment for 1.2 and 2.0 installed, he'll have to jump
through extra hoops to get it to work. Hence the different sonames.

Another reason, which admittedly solves what can be termed as an annoyance,
is that many users simply don't get that the so version numbers don't
necessarily match the actual version of the software. Look at the people
who think they have Freetype version 6 just because the so major num is 6
(current version is 2.1.7). This means more round trips and confusion
when dealing with bugs.

So what are the real downsides here? pkg-config deals with the library
names, so that isn't really an issue. Packagers have to put version
numbers in their package names, but that enables a useful feature of
parallel installation, so it's good to have. It causes *less* confusion
with users since libgimp-2.0.so.0 is obviously a gimp 2.0 library,
as opposed to libgimp.so.47.

  Note that GTK+ 1.3.x bumped the major so number at every release too.
 
 Again, others do it, is not a sound argument...

Yeah, but the original poster implied in his mail that GTK+ was doing
the right thing by him. I was pointing out the GTK+ does the same thing
as GIMP, so if he thinks it's right, then GIMP is right too. ;)

-Yosh
___
Gimp-developer mailing list
[EMAIL PROTECTED]
http://lists.xcf.berkeley.edu/mailman/listinfo/gimp-developer