Difference between revisions of "Activity Team/Packaging"

From Sugar Labs
Jump to navigation Jump to search
 
(33 intermediate revisions by 11 users not shown)
Line 1: Line 1:
== Problems ==
+
Packaging is the making of a software package for use by a [https://en.wikipedia.org/wiki/Package_manager package manager] in Linux distributions such as Fedora, Debian, or Ubuntu.
  
This section is an attempt to summarize the problems distributions are having with packaging Sugar activities. Help from the activity maintainers to get them solved would be highly appreciated.
+
== Common issues ==
  
=== TamTam ===
+
=== Publish source tarballs for each release ===
  
* No source tarballs.
+
Some packagers prefer to work from tarballs rather than the activity bundles. This is because activity bundles contain built components instead of only source code.
* XO specific hacks in the sound code.
 
  
=== Speak ===
+
''If your activity is part of Fructose follow [[Development Team/Release#Module_release|Module Release]] instead.''
  
* No source tarball.
+
* Make a source tarball as follows. It will be placed inside the dist/ directory.
 +
python setup.py dist_source
 +
* Upload it on the web. If you need a server to upload it to, [[Service/shell|ask for a shell account]].  When you have access, create a directory under /upload/sources/honey for your activity and copy the tarball to it.
 +
* Update the Honey table on the [[Development Team/Source_Code#Honey|Source Code]] page with a link to the latest version. Add an entry if your activity is not yet listed.
  
=== Scratch ===
+
=== Create a trac component for your activity ===
  
State unknown.
+
Users or packagers may report problems with your activity, either;
  
=== Ruler ===
+
* enable the Issues feature in the GitHub repository, or;
 +
* open a ticket on http://bugs.sugarlabs.org, under the trac component, to request a ''component'' for your activity.
  
* No source tarball.
+
=== Check copyright and licensing ===
* Hardware specific in that the scale of the ruler is hardcoded to the XO resolution and screen size.
 
  
=== Record ===
+
* Many translations lack copyright and licensing info completely or they provide just a boilerplate.The package maintainer should edit the .pot file to replace these:
  
* No source tarball.
+
SOME DESCRIPTIVE TITLE
* Perhaps hardware specific.
+
THE PACKAGE'S COPYRIGHT HOLDER
 +
PACKAGE
  
=== Read ===
+
When that is done, they should get in contact with each translator to
 +
make them adopt that improved boilerplate and themselves replace these:
  
* Dependency on sugar-evince, which cannot be installed in parallel with evince.
+
FIRST AUTHOR <EMAIL@ADDRESS>
 +
YEAR
  
=== Pippy ===
+
When doing above, it makes good sense to also tidy the gettext hints to
 +
have proper info too, but that is just nice-to-have for semi-automated
 +
processing, not crucial as the licensing problem.
  
* No source tarball.
+
[[Category:Activity Team]]
 
 
=== Paint ===
 
 
 
* No source tarball.
 
* C fill.so module - has source but no build process.
 
 
 
=== Memorize ===
 
 
 
* csound missing necessary patches on some distributions.
 
 
 
=== Measure ===
 
 
 
* No source tarball.
 
* Currently hardware specific (?)
 
 
 
=== Maze ===
 
 
 
* No source tarball.
 
* Weird error on Fedora
 
from olpcgames import _cairoimage
 
ImportError: cannot import name _cairoimage
 
 
 
=== Implode ===
 
 
 
* No source tarball.
 
* Shebang/permission mismatch.
 
 
 
=== Distance ===
 
 
 
* No source tarball.
 
* Shebang/permission mismatch.
 
* Hardware specific?
 
 
 
=== Bounce ===
 
 
 
* No source tarball.
 
* C code in the bundle.
 
 
 
=== Etoys ===
 
 
 
No known problems.
 
 
 
=== Turtle Art ===
 
 
 
No known problems.
 
 
 
: But when we fold in Turtle Art with Sensors, we'll have to make sure that proper python math packages are loaded (previously, we were using numeric):
 
 
 
from numpy.oldnumeric import *
 
from numpy.fft import *
 
 
 
=== Terminal ===
 
 
 
No known problems.
 
 
 
=== Jukebox ===
 
 
 
No known problems.
 
 
 
=== Log ===
 
 
 
No known problems.
 
 
 
=== Memorize ===
 
 
 
No known problems.
 
 
 
=== Moon ===
 
 
 
No known problems.
 
 
 
=== Analyze ===
 
 
 
No known problems.
 
 
 
=== Chat ===
 
 
 
No known problems.
 
 
 
=== Calculate ===
 
 
 
Minor issue: depends on sharedstate module which isn't officially released. Distros packaging sharedstate separately rely on git snapshots of sharedstate.
 
 
 
=== Browse ===
 
 
 
No known problems.
 

Latest revision as of 19:49, 16 January 2018

Packaging is the making of a software package for use by a package manager in Linux distributions such as Fedora, Debian, or Ubuntu.

Common issues

Publish source tarballs for each release

Some packagers prefer to work from tarballs rather than the activity bundles. This is because activity bundles contain built components instead of only source code.

If your activity is part of Fructose follow Module Release instead.

  • Make a source tarball as follows. It will be placed inside the dist/ directory.
python setup.py dist_source
  • Upload it on the web. If you need a server to upload it to, ask for a shell account. When you have access, create a directory under /upload/sources/honey for your activity and copy the tarball to it.
  • Update the Honey table on the Source Code page with a link to the latest version. Add an entry if your activity is not yet listed.

Create a trac component for your activity

Users or packagers may report problems with your activity, either;

  • enable the Issues feature in the GitHub repository, or;
  • open a ticket on http://bugs.sugarlabs.org, under the trac component, to request a component for your activity.

Check copyright and licensing

  • Many translations lack copyright and licensing info completely or they provide just a boilerplate.The package maintainer should edit the .pot file to replace these:
SOME DESCRIPTIVE TITLE
THE PACKAGE'S COPYRIGHT HOLDER
PACKAGE

When that is done, they should get in contact with each translator to make them adopt that improved boilerplate and themselves replace these:

FIRST AUTHOR <EMAIL@ADDRESS>
YEAR

When doing above, it makes good sense to also tidy the gettext hints to have proper info too, but that is just nice-to-have for semi-automated processing, not crucial as the licensing problem.