Skip to Content.
Sympa Menu

sm-discuss - [SM-Discuss] Partitioning upstream packages into libs and binaries.

sm-discuss AT lists.ibiblio.org

Subject: Public SourceMage Discussion List

List archive

Chronological Thread  
  • From: Thomas Orgis <thomas-forum AT orgis.org>
  • To: sm-discuss AT lists.ibiblio.org
  • Subject: [SM-Discuss] Partitioning upstream packages into libs and binaries.
  • Date: Thu, 24 Oct 2013 04:19:53 +0200

Hi,

I just had a discussion with a certain upstream author, who was not
overly enthusiastic to cater for the special needs of source-based
distros. His software was the first I encountered carrying a
recommendation to please split it up for packaging.

He pointed out that (virtually) all binary distros do that anyway and
has difficulty understanding why I got trouble with the situation. The
situation is this:

1. Upstream package xyz contains a library and utilities.

2. The library has a major version, differing major versions shall be
installable side-by-side. So, there's libxyz-0, libxyz-1, etc., along
with /usr/include/xyz-0, /usr/include/xyz-1. This is the one point
upstream rather insists on.

3. The utilities carry no version number. Those from xyz-1 superseed
those from xyz-0.

Now, Source Mage has an issue with the last point: We cannot just do a
normal install of the whole package because the differing major
versions would conflict. My solution is create a separate spell for
the utils, xyz-util, that uses the most recent major library. For each
library spell, I have to edit out the utilities during installation,
for the utility spell, I have to edit out the library. Also it sucks to
have to build the whole thing twice just to be able to have separate
spell ownership for versioned libraries and unversioned binaries.

Upstream doesn't understand why that should be a problem and if there
is one, it's one with our workflow.

Granted, the current case is a small library that needs a few seconds
to cast only, but I want to get the big picture settled. Usually, we
don't split up things, but in this case upstream asks us to do so and
we have to split binaries and libraries to comply with the installation
of multiple major versions.

Is there a way with sorcery I missed, enabling us to avoid repeating
the same build process for xyz-0 and xyz-util? Some common scheme to
select portions of the stuff for actual installation? The latter should
be easy with castfs, shouldn't it?

Perhaps it is worth it to think about how this requirement to split
things up, this thinking in terms of the usual procedure for building
rpms and the like, maps to sorcery functionality. Should I rather ditch
the possibilities to install differing major library series in parallel
to avoid it all? Should sorcery support sub-spells (casting xyz-0 and
xyz-util maps to building one smart xyz-0 package that also builds the
utilities and installs them as virtual spell xyz-util)?


Alrighty then,

Thomas

Attachment: signature.asc
Description: PGP signature




Archive powered by MHonArc 2.6.24.

Top of Page