[Pkg-crosswire-devel] Packaging Sword modules

DM Smith dmsmith555 at yahoo.com
Wed Jan 28 21:37:33 UTC 2009

Dmitrijs Ledkovs wrote:
> *me too pressed Gmail shortcuts*
>> I've started to read all this and think about it and I came up with 
>> this:
>> Assumption: The native form of distributing modules is current zipped 
>> type,
>> the debs provided should provide the zipped modules period.
>> Then crosswire: continue to provide zipped modules as usuall.
>> And Ubuntu/Debian: take a few common and popular modules (<30) and 
>> created
>> a special type of packages:
>> in stead of sticking the modules file by file into random locations
>> (/_insert_flame_war_here/usr/share | ~/.sword) the resulting debs 
>> should do
>> this:
>> 1) During built time a zipped module should be produced.
>> 2) At install time this zipped module should be added to the pool
>> 3) This location should be registered with the module manager
>> 4) module manager should be called
>>  - so that it notices the new pool location
>>  - so that it install it into the global location since it will have 
>> rights
>> to write in /
>> Clear distinction:
>> _Texts_ are installed from _Modules_ by _Module_ management.
>> _Modules_ are installed to the local location by the _Distribution_
>> management.
>> Possitives for users:
> One of the module sources is managed by distribution, others 
> (crosswire website, cd, dvds) are
> available just like before.
> Users are able to share modules between themself after the 
> distribution installation, or even create
> crosswire-like CD's, DVD's etc.
> You use the install manager to delete/install modules. You use 
> distribution/website/cd/dvd to provide
> modules for the install manager.
> If the module is removed by _distribution_ management software than it 
> is _only_ removed is from the channel
> available to the module installer, users will still need to uninstall 
> using the module installer they have installed them to.
> Provide a debconf option for the admins for site-wide installations to 
> force install the modules (eg i want all this systems
> to have _these_ particular texts be installed straight away), so that 
> when all users run sword apps it will not show the welcome
> dialogue ("you don't have any bible installed")
> Or on a small computer at home admin can use sudo to install _this_ 
> text for all users. 

For clarification, the install manager cannot install from a zip file. 
It can only install from a CrossWire style module repository. This 
consists of two folders: mods.d and modules.

The files in mods.d are the confs for each of the modules and each has a 
DataPath entry that gives the location under modules where the module is 
located. Depending on the module type, the value might be a directory or 
something else that the SWORD engine can decipher.

Each zipped module, when unzipped into the directory containing mods.d 
and modules will reconstitute that module into the repository correctly.

The function of the install manager is to create this repository in a 
user writeable location. If it cannot write to /usr/share/sword (which 
it shouldn't anyway), then it does it to ~/.sword.

In Christ,

More information about the Pkg-crosswire-devel mailing list