[csw-maintainers] Handling of devel package splits

James Lee james at opencsw.org
Tue Oct 6 17:17:47 CEST 2009


On 06/10/09, 15:47:27, Dagobert Michelsen <dam at opencsw.org> wrote regarding
Re: [csw-maintainers] Handling of devel package splits:

> >>> The only addition I have it to version runtimes as it means only one
> >>> version is needed at a time for a given depend.
> >>>
> >>> jpeg depends on jpeg7rt
> >>> jpeg7rt - latest runtime
> >>> jpeg62rt - legacy runtime
> >>>
> >>> packages depend on whichever rt version being used.
> >
> >> I don't think this will work.
> >
> > Don't think, watch the opposition.
> >
> >
> >> It would mean that you know in advance
> >> which
> >> version is compatible to name it correctly, here you must know that
> >> jpeg62rt
> >> is the compatible version, and without naming it too strict like
> >> jpeg6203b2rt.
> >
> > I know because of the SONAME.
> >
> > Example of potential saving.
> >
> > CSWlibicu 4.2.1,REV=2009.08.10
> >
> > Package size:   14883205
> > installed size: 35943114
> >
> > Contains libraries with 2 SONAMEs: .so.36 and .so.42
> >
> > $ cat /opt/csw/lib/libicu*so.36.0 | wc -c
> > 12916776
> > $ cat /opt/csw/lib/libicu*so.42.1 | wc -c
> > 19310756
> >
> > 1 package uses .42 (CSWooocore), 2 use .36 (CSWtin, CSWx3270)
> >
> > Each could use just the rt that it needs.
> >
> > The best bit is when the 2 older packages are rebuilt to use the
> > newer rt the combined package does not need rebuilding with only
> > the used lib as the unused rt package can just be dropped.
> >
> > Potential savings are massive, far greater than some x lib headers.
> >
> > Package split:
> >
> > libiuc42rt - the .so.42 runtime used by CSWooocore, CSWlibicu
> > libiuc36rt - the .so.36 runtime used by CSWtin, CSWx3270
> > libicu everything 4.2 except libiuc42rt
> >
> > No user will ever install libicu, only developers.

> Ok, that means you look what is linked against and then decide
> how the rt is named?

No, I look at the SONAME, this defines the library that is used.


In the case of PNG there are 2 SONAMEs indicating version:

libpng12.so.0
libpng.so.3

but rather than use the actual SONAME's number I'd assume that the
major package version change mirrors the so changes, so for PNG I
guess it would simply follow the package version.

Either way it's just a name.  Same SONAME, same RT package name.
Bumped SONAME, new RT package name.




James.



More information about the maintainers mailing list