Changes

Jump to navigation Jump to search
Line 65: Line 65:  
For example if service developer is going to add binary implementations for f9/f11, and the same service dependency in these distributions has different ABIs, activity developer has to build two additional binaries, for f9 and f11. In that case developer creates two sections ''F9'' and ''F11'', put exact dependency versions(to separate particular section from others) and invoke ''0sugar dist_bin <section-name>'' in proper f9/f11 environment.
 
For example if service developer is going to add binary implementations for f9/f11, and the same service dependency in these distributions has different ABIs, activity developer has to build two additional binaries, for f9 and f11. In that case developer creates two sections ''F9'' and ''F11'', put exact dependency versions(to separate particular section from others) and invoke ''0sugar dist_bin <section-name>'' in proper f9/f11 environment.
   −
== 0sugar-publish tool ==
+
== 0sugar tool ==
   −
To start developing services, install [http://0install.net/injector.html injector] tool, and ''0sugar-publish'' - main tool to maintain services infrastructure.
+
To start developing services, install [http://0install.net/injector.html injector] tool, and ''0sugar'' - main tool to maintain services infrastructure.
   −
  0alias 0sugar-publish http://download.sugarlabs.org/services/0sugar-publish/feed.xml
+
  0alias 0sugar http://download.sugarlabs.org/services/0sugar/feed.xml
   −
While working, ''0sugar-publish'' creates ''dist/'' directory in project's root and uses it as a rsynced copy of service's directory on the server. So, you need ssh access to sunjammer server, create ticket for ''shell.sugarlabs.org'' category on http://bugs.sugarlabs.org/.
+
While working, ''0sugar'' creates ''dist/'' directory in project's root and uses it as a rsynced copy of service's directory on the server. So, you need ssh access to sunjammer server, create ticket for ''shell.sugarlabs.org'' category on http://bugs.sugarlabs.org/.
   −
''0sugar-publish'' commands are:
+
''0sugar'' commands are:
    
* ''init'', get feed file from the server and place it to dist/
 
* ''init'', get feed file from the server and place it to dist/
 
* ''fetch'', rsync entirely dist/ from the server
 
* ''fetch'', rsync entirely dist/ from the server
* ''dist'', create source or any arch tarball/implementation in ''dist/'' directory and tweak ''dist/feed.xml'' correspondingly<br>If there is second option-less argument, it will be treated as a path of tarball to release(e.g. you can create such tarball by ''make distcheck'' command for autotools based projects), otherwise ''0sugar-publish'' will tar all project files(and try to avoid temporary files as much as possible)<br>''dist'' will create
+
* ''dist'', create source or any arch tarball/implementation in ''dist/'' directory and tweak ''dist/feed.xml'' correspondingly<br>If there is second option-less argument, it will be treated as a path of tarball to release(e.g. you can create such tarball by ''make distcheck'' command for autotools based projects), otherwise ''0sugar'' will tar all project files(and try to avoid temporary files as much as possible)<br>''dist'' will create
 
** any arch archive, if ''build-command'' field was omitted in ''service.info''
 
** any arch archive, if ''build-command'' field was omitted in ''service.info''
 
** source archive, if ''service.info'' has ''build-command'' field
 
** source archive, if ''service.info'' has ''build-command'' field
Line 89: Line 89:     
* increase/change version/stability field in ''service.info'' file
 
* increase/change version/stability field in ''service.info'' file
* ''0sugar-publish dist'' to change local feed in ''dist/'' and place there tarball
+
* ''0sugar dist'' to change local feed in ''dist/'' and place there tarball
* ''0sugar-publish push'' to rsync changed files from ''dist/'' to the server
+
* ''0sugar push'' to rsync changed files from ''dist/'' to the server
    
=== Binary services ===
 
=== Binary services ===
Line 99: Line 99:  
* if you want to support binaries for different dependencies environments, add additional sections to ''service.info'' file with ''requires'' fields that describe dependencies versions of particular environment
 
* if you want to support binaries for different dependencies environments, add additional sections to ''service.info'' file with ''requires'' fields that describe dependencies versions of particular environment
 
* increase/change version/stability field in ''service.info'' file
 
* increase/change version/stability field in ''service.info'' file
* ''0sugar-publish dist'' to add sources tarball to ''dist/'' and change local feed correspondingly
+
* ''0sugar dist'' to add sources tarball to ''dist/'' and change local feed correspondingly
* on every platform, you are trying to support binaries for, run ''0sugar-publish dist_bin'' to build, and add to local field, binaries for this particular platform
+
* on every platform, you are trying to support binaries for, run ''0sugar dist_bin'' to build, and add to local field, binaries for this particular platform
* if you added additional sections to ''service.info'', run ''0sugar-publish dist_bin <section-name>'' in every environment, ''services.info'' has additional sections for
+
* if you added additional sections to ''service.info'', run ''0sugar dist_bin <section-name>'' in every environment, ''services.info'' has additional sections for
* ''0sugar-publish push'' to rsync changed files from ''dist/'' to the server
+
* ''0sugar push'' to rsync changed files from ''dist/'' to the server
    
== Versioning scheme ==
 
== Versioning scheme ==

Navigation menu