[Pkg-crosswire-devel] Thoughts on sword-frontend and packaging sword modules

Jonathan Marsden jmarsden at fastmail.fm
Tue Aug 18 06:11:19 BST 2009


Dmitrijs Ledkovs wrote:

> Yeap, only if you are installing "sword-frontend" directly from
> command line.

Or if you look at the metadata of the packages concerned, using tools
designed for doing so :)

> It will list you packages and will tell you that you have to choose
> one. But if you are installing libsword or for example sword-text-kjv
> it will pull in the first alphanumeric package which will always be
> bibletime.

That's just the way the current implementation works -- just an
implementation detail, if you like.  BTW it will not necessarily
"always" be bibletime, someone might create a new SWORD front end
called, say, alphaandomega :)

The underlying principle is that .deb packages can (and often do)
contain pointers to other packages, making the suggestion or
recommendation that if you want one, you might want to consider the
other one, too.  And this is a very useful feature of packages in
general.  Using it to point from data modules to related applications
makes good sense to me, and from libraries to related data and apps also
seems logical.

> Synaptic in Ubuntu by default "consider recommends as dependencies".

Actually I think this (install Recommends: by default) is just a
configurable default for apt-based packaging tools in general,
APT::Install-Recommends -- so those who prefer the older behaviour of
apt-get, aptitude, Synaptic and friends can configure things to their
liking.  It's not something specific to Synaptic, AFAIK.

> So gnomesword in the past recommended sword-text that's why there was
> bug report that arabic bible was installed along with gnomesword.

Right, that was a very old packaging bug which emerged when the default
handling of Recommends: changed.  But it has been fixed :)

> So yeah I'm all for downgrading dependencies on virtual packages to
> Suggest.

Dependencies?!  No.  Let us be clear here.  Recommends: is a pointer,
not a dependency.  Depends: is used to indicate a dependency.

Nothing forces the installation of the recommended (or sugggested)
package.  Nothing prevents you from removing it later without also
removing the package doing the recommending (which a Depends: would).
Nothing prevents you from changing defaults in your chosen package
manager to suit your own needs or desires or preferences.

>> So I'd say leave it in unless you can show it definitely causes
>> problems. If "Recommends:" causes issues somehow, then reduce it to
>> a "Suggests:", but don't just drop it entirely.

> kk

> It's just to me virtual package is a bit of a burden and ambiguous

It's not really a burden if we, as packagers, understand what virtual
packages are for :)  Especially since in our case the system for SWORD
packages was already designed and implemented before we got here!  And
I'm not sure why it is ambiguous, either... can you explain that aspect?

> and a bit discriminating against packages which start with "x" ;-)

Well... I think redefining the ordering of the Roman alphabet so that it
starts with x, just for you, is a bit unrealistic :)

If this is really a big deal for you, maybe you could submit an
enhancement request and a patch to the package management tools or
libraries that do this, so they use reverse alphabetical sorting, and
see if it gets accepted :) :)

> Debian Policy 3.6 documents virtual packages. Cooperative group of
> packages can use virtual packages.

Yes.  This is exactly what I think we are doing (or we were doing, until
you started unilaterally removing stuff related to them?) in the
cooperative set of SWORD-related packages.  The (relatively recent)
change to a default of installing recommended packages means that
packagers need to more think carefully than before about when to
recommend a package vs just suggesting one.  But it does not mean that
virtual packages (or Suggests: or Recommends:) are now somehow evil and
should be scrapped!

>>> Similar virtual package "sword-text" was previously causing for
>>> the arabic bible to be pulled in cause arabic bible is
>>> "sword-text-arasvd" and it is sorted first alphanumerically.

>> Old issue, no longer happening AFAIK... are you saying this bug
>> currently exists with our latest packages??  Please explain!

> Well I've removed "Recommends: sword-text" in xiphos to "fix" this bug.

See above!  I think it might have been more appropriate to replace it
with Suggests: instead.  Fixing the bug is great, but don't break the
existing shared community infrastructure in the process, if you can
avoid it.

>> Sure, but in most cases, those sources are not made available by
>> CrossWire, as far as I know... I'll let you try to persuade
>> CrossWire to change their policy on that :)

> Ouch =)))))))

Not everyone, and not every project, has policies on openness and
availability of information in its preferred source form that are as
good as Debian's.  Personally, I think the SWORD module developer
community could learn a lot from the Debian open source techie world on
this front, because I see no harm at all to anyone in having whoever
publishes SWORD module repositories also publishing the original OSIS
sources for those modules under the same terms, and substantial long
term benefit.  However, I'm not an established SWORD module creator, and
nor are you.  This looks rather like a clash of cultures, to me.

I think you'll have a long term struggle on your hands if you seriously
seek to challenge and change this aspect of SWORD module publication.
How much work are you willing to put into tracking down and publishing
all those source texts?  Compared to that, I think my scripts to turn
SWORD module .zip files into .debs look almost trivial :)

Quite possibly such change towards greater openness and availability of
source texts is an excellent and very positive thing to desire and to
work towards... but that's not my battle to fight, at least not at the
moment.

Jonathan




More information about the Pkg-crosswire-devel mailing list