# Packaging an Atoms module for distribution from Atoms servers, either public online or local internal repository

**URL:** <https://scilab.discourse.group/t/packaging-an-atoms-module-for-distribution-from-atoms-servers-either-public-online-or-local-internal-repository/77>\
**Category:** Atoms packages\
**Created:** [March 30, 2023, 9:06am UTC](https://scilab.discourse.group/t/packaging-an-atoms-module-for-distribution-from-atoms-servers-either-public-online-or-local-internal-repository/77 "2023-03-30T09:06:27Z")\
**Posts on this page:** 6\
**Page:** 1

<div class="post-metadata">

**Author:** ![davcheze](https://avatars.discourse-cdn.com/v4/letter/d/90db22/32.png) [@davcheze](https://scilab.discourse.group/u/davcheze)\
**Post date:** [March 30, 2023, 9:06am UTC](https://scilab.discourse.group/t/packaging-an-atoms-module-for-distribution-from-atoms-servers-either-public-online-or-local-internal-repository/77/1 "2023-03-30T09:06:27Z")

</div>

Hi all,  
I wonder whether it exists already somewhere an up-to-date description of the details about module packaging (like a wiki page on that topic), how to move from the module just being built from source (ie loader.sce in the module root directory, .bin in macros, help files generated etc… ) to an arranged archive ready for binaries distribution only, with appropriate names, checksum, for integration on Atoms server, either public online or local internal repository ?

Thanks,

David

---

<div class="post-metadata">

**Author:** ![davidcl](https://yyz2.discourse-cdn.com/free1/user_avatar/scilab.discourse.group/davidcl/32/1029_2.png) [@davidcl](https://scilab.discourse.group/u/davidcl)\
**Post date:** [March 31, 2023, 6:05am UTC](https://scilab.discourse.group/t/packaging-an-atoms-module-for-distribution-from-atoms-servers-either-public-online-or-local-internal-repository/77/2 "2023-03-31T06:05:21Z")

</div>

Hi David,

This is indeed a very good request. I have some script that cleans the build and generates a package [in a CI file](https://gitlab.com/davidcl/fmu-wrapper/-/blob/master/.gitlab-ci.yml). This could be done quite easily by hand to:

- keep only .dll / .so on `src/` and `sci_gateway/`
- remove the `help/`
- create a tarball starting with `name-version/` as a root directory.

Another approach would be to have a `tbx_package()` macro within Scilab that cleans and produces a zip file or a tar.gz depending on the platform.

---

<div class="post-metadata">

**Author:** ![cfuttrup](https://avatars.discourse-cdn.com/v4/letter/c/3ec8ea/32.png) [@cfuttrup](https://scilab.discourse.group/u/cfuttrup)\
**Post date:** [April 4, 2023, 4:25pm UTC](https://scilab.discourse.group/t/packaging-an-atoms-module-for-distribution-from-atoms-servers-either-public-online-or-local-internal-repository/77/3 "2023-04-04T16:25:09Z")

</div>

Hi David

I wish there would be a write-up which is up to date. This is the latest instructions, maybe still valid:

[https://www.scilab.org/build-a-toolbox](https://www.scilab.org/build-a-toolbox)

This is a bit older, but also more rich on information:

[https://scilab.gitlab.io/legacy\_wiki/howto(2f)Create(20)a(20)toolbox](https://scilab.gitlab.io/legacy_wiki/howto(2f)Create(20)a(20)toolbox)

This I believe is the best we have for now.

Best regards,  
Claus

---

<div class="post-metadata">

**Author:** ![davcheze](https://avatars.discourse-cdn.com/v4/letter/d/90db22/32.png) [@davcheze](https://scilab.discourse.group/u/davcheze)\
**Post date:** [April 5, 2023, 8:51am UTC](https://scilab.discourse.group/t/packaging-an-atoms-module-for-distribution-from-atoms-servers-either-public-online-or-local-internal-repository/77/4 "2023-04-05T08:51:42Z")

</div>

Hi Claus,  
thank you for the links, especially the second is also pointing out [How to create a local repository](https://scilab.gitlab.io/legacy_wiki/ATOMS(2f)localrepository.html) which adresses partially my specific issues about how to package the module (once properly developed) in order to distribute it easily from a private Atoms repository.  
They are some new issues ( [#16971](https://gitlab.com/scilab/scilab/-/issues/16971)and [#16961](https://gitlab.com/scilab/scilab/-/issues/16961)) raised in scilab.gitlab that emphasizes the documentation about this should be updated/upgraded. The idea would be to make detailed descriptions consistent with the Scilab versions evolutions, including latest Scilab 2023.0.0.

David

---

<div class="post-metadata">

**Author:** ![davcheze](https://avatars.discourse-cdn.com/v4/letter/d/90db22/32.png) [@davcheze](https://scilab.discourse.group/u/davcheze)\
**Post date:** [April 18, 2023, 3:26pm UTC](https://scilab.discourse.group/t/packaging-an-atoms-module-for-distribution-from-atoms-servers-either-public-online-or-local-internal-repository/77/5 "2023-04-18T15:26:19Z")

</div>

Hi Clément,

reading your message and the CI file, I wonder whether anyhting changed around `atomsInstall()` in Scilab 2023.0.0 compared to previous Scilab version, especially regarding the naming rules for archive files ??

For the time being in our local ATOMS repository, we have such syntax in `windows` description file which is working fine for installation request from windows machine with Scilab version \<=6.1.1 :

> sourceName: toolbox\_xD\_2.2.1.zip  
> sourceMd5: 6b7a4fdb8a5e5519fd9d9d3ee3fbbbc4  
> sourceSha1: 8c75b7fb5410a0ba7cb4de1a6bfce1e44c16e83f  
> sourceUrl: /modules/toolbox\_xD/2.2.1/files/toolbox\_xD\_2.2.1.zip  
> binaryName: toolbox\_xD\_2.2.1.bin6.x64.windows.zip  
> binaryMd5: 930ddb48587887fa6727e33898dbbd51  
> binarySha1: 8e862fcd14befbb029a9359e67d4346039545efb  
> binaryUrl: /modules/toolbox\_xD/2.2.1/files/toolbox\_xD\_2.2.1.bin6.x64.windows.zip

while atomsinstallation is failing with request from machine Scilab 2023.0.0 (manual installation from local archive files, source or bin archives, is ok in SCI2023.0.0, so it’s only a matter of atomsinstallation ) : i raised issues in gitlab on this and achieved some progress however still not running properly, maybe due to naming conventions ?

Trying to guess from your message and CI file, should I rather rename the source archive file as toolbox\_xD-2.2.1.zip and bin archive file as toolbox\_xD-2.2.1-x64windows-bin.zip ? (changing separator from . to - as the order of the “fields” in the name ?)

In addition create specific version of the toolbox (2.2.2 or 3.0.0?) to cope with this changes for ScilabVersion: \>= 2023.0.0 ?

---

<div class="post-metadata">

**Author:** ![davidcl](https://yyz2.discourse-cdn.com/free1/user_avatar/scilab.discourse.group/davidcl/32/1029_2.png) [@davidcl](https://scilab.discourse.group/u/davidcl)\
**Post date:** [April 25, 2023, 2:07pm UTC](https://scilab.discourse.group/t/packaging-an-atoms-module-for-distribution-from-atoms-servers-either-public-online-or-local-internal-repository/77/6 "2023-04-25T14:07:03Z")

</div>

You are correct, there is [a change](https://gitlab.com/scilab/scilab/-/commit/859827183481efa722625f2942910309b7ea081b) in the 2023.0 release. IMHO this is more related to the Url field handling.
