<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://maemo.octonezd.me/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=189.115.161.248</id>
	<title>Maemo Wiki Mirror - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="https://maemo.octonezd.me/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=189.115.161.248"/>
	<link rel="alternate" type="text/html" href="https://maemo.octonezd.me/index.php/Special:Contributions/189.115.161.248"/>
	<updated>2026-04-22T00:51:58Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.45.1</generator>
	<entry>
		<id>https://maemo.octonezd.me/index.php?title=PyMaemo/Scratchboxless_packaging_guide&amp;diff=33511</id>
		<title>PyMaemo/Scratchboxless packaging guide</title>
		<link rel="alternate" type="text/html" href="https://maemo.octonezd.me/index.php?title=PyMaemo/Scratchboxless_packaging_guide&amp;diff=33511"/>
		<updated>2010-07-09T15:30:10Z</updated>

		<summary type="html">&lt;p&gt;189.115.161.248: /* Support for non-Debian systems */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Introduction ==&lt;br /&gt;
&lt;br /&gt;
The usual way of developing Maemo applications is using either Scratchbox or [[MADDE]], which are quite heavy for Python development. An alternative is using [http://github.com/astraw/stdeb stdeb], a set of extensions to distutils that allows generating Debian packages, both binary and source, that can be installed on the device or sent to the [[extras-devel]] repository.&lt;br /&gt;
&lt;br /&gt;
This tutorial will show how to integrate it into your project, build the packages and upload them to extras-devel.&lt;br /&gt;
&lt;br /&gt;
== Prerequisites ==&lt;br /&gt;
&lt;br /&gt;
This tutorial is aimed at Debian-based systems, as some stdeb commands requires the dpkg tools installed. If you&#039;re using another distro, please refer to the section &lt;br /&gt;
&lt;br /&gt;
Also, you should get the [http://github.com/astraw/stdeb git] version of stdeb to use the debianize command, as it is a new addition and not yet available in the repositories. Run the following commands to install it:&lt;br /&gt;
&lt;br /&gt;
 # Clone the git repository&lt;br /&gt;
 git clone http://github.com/astraw/stdeb.git&lt;br /&gt;
 &lt;br /&gt;
 # Enter source package&lt;br /&gt;
 cd stdeb&lt;br /&gt;
 &lt;br /&gt;
 # Build .deb (making use of stdeb package directory in sys.path).&lt;br /&gt;
 python setup.py --command-packages=stdeb.command bdist_deb&lt;br /&gt;
 &lt;br /&gt;
 # Install it&lt;br /&gt;
 sudo dpkg -i deb_dist/python-stdeb_0.5.1+git-1_all.deb&lt;br /&gt;
&lt;br /&gt;
As only python2.5 is supported in pymaemo, it should be installed if you want to create binary packages. On Ubuntu Lucid (10.04), you can install it from [https://launchpad.net/~fkrull/+archive/deadsnakes this ppa], following the instructions [http://www.codigomanso.com/en/2010/05/google-app-engine-en--10-4-lucid-lynx/ here].&lt;br /&gt;
&lt;br /&gt;
== Preparing the package ==&lt;br /&gt;
&lt;br /&gt;
As stdeb extends distutils, it is necessary that you have a working setup.py script. For our example application, which consists of a [http://pymaemo.garage.maemo.org/stdeb_example/myscript-app/myscript single script] named &amp;quot;myscript&amp;quot; and support files like [http://pymaemo.garage.maemo.org/stdeb_example/myscript-app/myscript.desktop .desktop]&amp;lt;ref name=&amp;quot;desktop&amp;quot;&amp;gt;[[Desktop file format]]&amp;lt;/ref&amp;gt; and an [http://pymaemo.garage.maemo.org/stdeb_example/myscript-app/myscript.png icon]&amp;lt;ref name=&amp;quot;icon&amp;quot;&amp;gt;[[Packaging#Displaying an icon in the Application Manager next to your package]]&amp;lt;/ref&amp;gt;, the [http://pymaemo.garage.maemo.org/stdeb_example/myscript-app/setup.py setup.py] will look like this:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
from distutils.core import setup&lt;br /&gt;
&lt;br /&gt;
setup(&lt;br /&gt;
    name=&#039;myscript&#039;,&lt;br /&gt;
    version=&#039;0.1&#039;,&lt;br /&gt;
    author=&#039;Lauro Moura&#039;,&lt;br /&gt;
    author_email=&#039;lauro.neto@donotspamme.com&#039;,&lt;br /&gt;
    scripts=[&#039;myscript&#039;],&lt;br /&gt;
    data_files=[(&#039;share/applications/hildon&#039;, [&#039;myscript.desktop&#039;]),&lt;br /&gt;
                (&#039;share/pixmaps&#039;, [&#039;myscript.png&#039;])],&lt;br /&gt;
)&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
A file named [http://pymaemo.garage.maemo.org/stdeb_example/myscript-app/stdeb.cfg stdeb.cfg] in the same directory as setup.py is required, with stdeb Maemo-specific options. A detailed list of options can be found in the [http://github.com/astraw/stdeb stdeb website].&lt;br /&gt;
&lt;br /&gt;
 [DEFAULT]&lt;br /&gt;
 XS-Python-Version: 2.5 # Only version currently supported by PyMaemo.&lt;br /&gt;
 Package:my-script # Binary package name. stdeb adds the prefix &amp;quot;python-&amp;quot; by default&lt;br /&gt;
 Section: user/development # Section should start with user/ to appear in the menu.&lt;br /&gt;
 Depends: python-gtk2 # extra dependencies go here&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;Warning 1&amp;lt;/b&amp;gt;: Make sure to use [[Maemo_packaging#Sections|an allowed section]].&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;Warning 2&amp;lt;/b&amp;gt;: The &amp;lt;code&amp;gt;Depends&amp;lt;/code&amp;gt; field in stdeb.cfg will be used on your debian/control file, so fill it correctly with all the dependencies of your application - otherwise it will break when you try to install it. For instance, [http://gitorious.org/twcano/twcano twcano] depends on the following packages: &amp;lt;code&amp;gt;python-simplejson, pyside-qt4-maemo5, pyside-qt4-webkit and python-twitter&amp;lt;/code&amp;gt;, so the &amp;lt;code&amp;gt;Depends&amp;lt;/code&amp;gt; field should be filled this way:&lt;br /&gt;
&lt;br /&gt;
 Depends: python-simplejson, pyside-qt4-maemo5, pyside-qt4-webkit, python-twitter&lt;br /&gt;
&lt;br /&gt;
== Building the packages ==&lt;br /&gt;
&lt;br /&gt;
The basic command is&lt;br /&gt;
&lt;br /&gt;
 python setup.py --command-packages=stdeb.command bdist_deb&lt;br /&gt;
&lt;br /&gt;
It&#039;ll create a folder called deb_dist with the source and binary packages. Alternatively, the &amp;quot;sdist_dsc&amp;quot; command will create only the source package.&lt;br /&gt;
&lt;br /&gt;
After generating, you can copy the package to your device and install it (requires an [[SSH]] server):&lt;br /&gt;
&lt;br /&gt;
 $ scp myscript_0.1-1_all.deb root@&amp;lt;n900 ip&amp;gt;:/root&lt;br /&gt;
 $ ssh root@&amp;lt;n900 ip&amp;gt;&lt;br /&gt;
 # dpkg -i myscript_0.1-1_all.deb&lt;br /&gt;
&lt;br /&gt;
== Building a basic debian directory ==&lt;br /&gt;
&lt;br /&gt;
Another useful command is &#039;&#039;debianize&#039;&#039;. It will read the configuration file and write a directory named debian in the same directory. This can be used for manually creating the packages using dpkg tools directly. For a detailed usage example see the [http://github.com/astraw/stdeb#debianize-distutils-command steb website].&lt;br /&gt;
&lt;br /&gt;
Note: sdist_dsc and bdist_deb do &#039;&#039;&#039;not&#039;&#039;&#039; use this directory, generating a new one in the source dir under deb_dist/.&lt;br /&gt;
&lt;br /&gt;
== Uploading to extras ==&lt;br /&gt;
&lt;br /&gt;
To upload to extras, use the debianize command and then call dpkg-buildpackage:&lt;br /&gt;
&lt;br /&gt;
 $ dpkg-buildpackage -rfakeroot -uc -us -S&lt;br /&gt;
&lt;br /&gt;
This command will create the .dsc, .tar.gz and .changes files that can be used to [[uploading to Extras-devel|upload the application to extras-devel]].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Support for non-Debian systems ==&lt;br /&gt;
&lt;br /&gt;
{{ambox&lt;br /&gt;
| type = notice&lt;br /&gt;
| image= &lt;br /&gt;
| text = Keep in mind that the support for non-Debian systems is &#039;&#039;&#039;experimental&#039;&#039;&#039;: it is not as funcional as the stdeb approach shown above and may not work for your package. Also, these instructions change without notice. }}&lt;br /&gt;
&lt;br /&gt;
If you&#039;re using a distro not based on Debian, you can still create source packages for uploading to extras-devel, but won&#039;t be able to create binary packages (.deb).&lt;br /&gt;
&lt;br /&gt;
For doing this, you will need the sdist_deb module available [http://gitorious.org/pymaemo/sboxless here]; just clone it in some directory and point the PYTHONPATH environment variable there. &lt;br /&gt;
&lt;br /&gt;
Now create a file called sboxless.cfg, which will contain additional information for generating the package. For now, you can add additional runtime dependencies for your package. If you want to add python-twitter as dependency, just write&lt;br /&gt;
&lt;br /&gt;
 [control]&lt;br /&gt;
 depends=python-twitter&lt;br /&gt;
&lt;br /&gt;
The file is mandatory, so if you don&#039;t want to add any dependency, just leave the field empty (&#039;depends=&#039;).&lt;br /&gt;
&lt;br /&gt;
Now, run the sdist_deb command:&lt;br /&gt;
&lt;br /&gt;
 PYTHONPATH=/path/to/sboxless python setup.py --command-packages=sboxless  sdist_deb&lt;br /&gt;
&lt;br /&gt;
The source files will be generated on the ./dist directory.&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;references /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category:Python]]&lt;br /&gt;
[[Category:Packaging]]&lt;/div&gt;</summary>
		<author><name>189.115.161.248</name></author>
	</entry>
	<entry>
		<id>https://maemo.octonezd.me/index.php?title=PyMaemo/Scratchboxless_packaging_guide&amp;diff=33512</id>
		<title>PyMaemo/Scratchboxless packaging guide</title>
		<link rel="alternate" type="text/html" href="https://maemo.octonezd.me/index.php?title=PyMaemo/Scratchboxless_packaging_guide&amp;diff=33512"/>
		<updated>2010-07-09T15:28:20Z</updated>

		<summary type="html">&lt;p&gt;189.115.161.248: /* Support for non-Debian systems */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Introduction ==&lt;br /&gt;
&lt;br /&gt;
The usual way of developing Maemo applications is using either Scratchbox or [[MADDE]], which are quite heavy for Python development. An alternative is using [http://github.com/astraw/stdeb stdeb], a set of extensions to distutils that allows generating Debian packages, both binary and source, that can be installed on the device or sent to the [[extras-devel]] repository.&lt;br /&gt;
&lt;br /&gt;
This tutorial will show how to integrate it into your project, build the packages and upload them to extras-devel.&lt;br /&gt;
&lt;br /&gt;
== Prerequisites ==&lt;br /&gt;
&lt;br /&gt;
This tutorial is aimed at Debian-based systems, as some stdeb commands requires the dpkg tools installed. If you&#039;re using another distro, please refer to the section &lt;br /&gt;
&lt;br /&gt;
Also, you should get the [http://github.com/astraw/stdeb git] version of stdeb to use the debianize command, as it is a new addition and not yet available in the repositories. Run the following commands to install it:&lt;br /&gt;
&lt;br /&gt;
 # Clone the git repository&lt;br /&gt;
 git clone http://github.com/astraw/stdeb.git&lt;br /&gt;
 &lt;br /&gt;
 # Enter source package&lt;br /&gt;
 cd stdeb&lt;br /&gt;
 &lt;br /&gt;
 # Build .deb (making use of stdeb package directory in sys.path).&lt;br /&gt;
 python setup.py --command-packages=stdeb.command bdist_deb&lt;br /&gt;
 &lt;br /&gt;
 # Install it&lt;br /&gt;
 sudo dpkg -i deb_dist/python-stdeb_0.5.1+git-1_all.deb&lt;br /&gt;
&lt;br /&gt;
As only python2.5 is supported in pymaemo, it should be installed if you want to create binary packages. On Ubuntu Lucid (10.04), you can install it from [https://launchpad.net/~fkrull/+archive/deadsnakes this ppa], following the instructions [http://www.codigomanso.com/en/2010/05/google-app-engine-en--10-4-lucid-lynx/ here].&lt;br /&gt;
&lt;br /&gt;
== Preparing the package ==&lt;br /&gt;
&lt;br /&gt;
As stdeb extends distutils, it is necessary that you have a working setup.py script. For our example application, which consists of a [http://pymaemo.garage.maemo.org/stdeb_example/myscript-app/myscript single script] named &amp;quot;myscript&amp;quot; and support files like [http://pymaemo.garage.maemo.org/stdeb_example/myscript-app/myscript.desktop .desktop]&amp;lt;ref name=&amp;quot;desktop&amp;quot;&amp;gt;[[Desktop file format]]&amp;lt;/ref&amp;gt; and an [http://pymaemo.garage.maemo.org/stdeb_example/myscript-app/myscript.png icon]&amp;lt;ref name=&amp;quot;icon&amp;quot;&amp;gt;[[Packaging#Displaying an icon in the Application Manager next to your package]]&amp;lt;/ref&amp;gt;, the [http://pymaemo.garage.maemo.org/stdeb_example/myscript-app/setup.py setup.py] will look like this:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
from distutils.core import setup&lt;br /&gt;
&lt;br /&gt;
setup(&lt;br /&gt;
    name=&#039;myscript&#039;,&lt;br /&gt;
    version=&#039;0.1&#039;,&lt;br /&gt;
    author=&#039;Lauro Moura&#039;,&lt;br /&gt;
    author_email=&#039;lauro.neto@donotspamme.com&#039;,&lt;br /&gt;
    scripts=[&#039;myscript&#039;],&lt;br /&gt;
    data_files=[(&#039;share/applications/hildon&#039;, [&#039;myscript.desktop&#039;]),&lt;br /&gt;
                (&#039;share/pixmaps&#039;, [&#039;myscript.png&#039;])],&lt;br /&gt;
)&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
A file named [http://pymaemo.garage.maemo.org/stdeb_example/myscript-app/stdeb.cfg stdeb.cfg] in the same directory as setup.py is required, with stdeb Maemo-specific options. A detailed list of options can be found in the [http://github.com/astraw/stdeb stdeb website].&lt;br /&gt;
&lt;br /&gt;
 [DEFAULT]&lt;br /&gt;
 XS-Python-Version: 2.5 # Only version currently supported by PyMaemo.&lt;br /&gt;
 Package:my-script # Binary package name. stdeb adds the prefix &amp;quot;python-&amp;quot; by default&lt;br /&gt;
 Section: user/development # Section should start with user/ to appear in the menu.&lt;br /&gt;
 Depends: python-gtk2 # extra dependencies go here&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;Warning 1&amp;lt;/b&amp;gt;: Make sure to use [[Maemo_packaging#Sections|an allowed section]].&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;Warning 2&amp;lt;/b&amp;gt;: The &amp;lt;code&amp;gt;Depends&amp;lt;/code&amp;gt; field in stdeb.cfg will be used on your debian/control file, so fill it correctly with all the dependencies of your application - otherwise it will break when you try to install it. For instance, [http://gitorious.org/twcano/twcano twcano] depends on the following packages: &amp;lt;code&amp;gt;python-simplejson, pyside-qt4-maemo5, pyside-qt4-webkit and python-twitter&amp;lt;/code&amp;gt;, so the &amp;lt;code&amp;gt;Depends&amp;lt;/code&amp;gt; field should be filled this way:&lt;br /&gt;
&lt;br /&gt;
 Depends: python-simplejson, pyside-qt4-maemo5, pyside-qt4-webkit, python-twitter&lt;br /&gt;
&lt;br /&gt;
== Building the packages ==&lt;br /&gt;
&lt;br /&gt;
The basic command is&lt;br /&gt;
&lt;br /&gt;
 python setup.py --command-packages=stdeb.command bdist_deb&lt;br /&gt;
&lt;br /&gt;
It&#039;ll create a folder called deb_dist with the source and binary packages. Alternatively, the &amp;quot;sdist_dsc&amp;quot; command will create only the source package.&lt;br /&gt;
&lt;br /&gt;
After generating, you can copy the package to your device and install it (requires an [[SSH]] server):&lt;br /&gt;
&lt;br /&gt;
 $ scp myscript_0.1-1_all.deb root@&amp;lt;n900 ip&amp;gt;:/root&lt;br /&gt;
 $ ssh root@&amp;lt;n900 ip&amp;gt;&lt;br /&gt;
 # dpkg -i myscript_0.1-1_all.deb&lt;br /&gt;
&lt;br /&gt;
== Building a basic debian directory ==&lt;br /&gt;
&lt;br /&gt;
Another useful command is &#039;&#039;debianize&#039;&#039;. It will read the configuration file and write a directory named debian in the same directory. This can be used for manually creating the packages using dpkg tools directly. For a detailed usage example see the [http://github.com/astraw/stdeb#debianize-distutils-command steb website].&lt;br /&gt;
&lt;br /&gt;
Note: sdist_dsc and bdist_deb do &#039;&#039;&#039;not&#039;&#039;&#039; use this directory, generating a new one in the source dir under deb_dist/.&lt;br /&gt;
&lt;br /&gt;
== Uploading to extras ==&lt;br /&gt;
&lt;br /&gt;
To upload to extras, use the debianize command and then call dpkg-buildpackage:&lt;br /&gt;
&lt;br /&gt;
 $ dpkg-buildpackage -rfakeroot -uc -us -S&lt;br /&gt;
&lt;br /&gt;
This command will create the .dsc, .tar.gz and .changes files that can be used to [[uploading to Extras-devel|upload the application to extras-devel]].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Support for non-Debian systems ==&lt;br /&gt;
&lt;br /&gt;
{{ambox&lt;br /&gt;
| type = notice&lt;br /&gt;
| image= &lt;br /&gt;
| text = Keep in mind that the support for non-Debian systems is &#039;&#039;&#039;experimental&#039;&#039;&#039;: it is not as funcional as the stdeb approach shown above and &lt;br /&gt;
 may change without notice. }}&lt;br /&gt;
&lt;br /&gt;
If you&#039;re using a distro not based on Debian, you can still create source packages for uploading to extras-devel, but won&#039;t be able to create binary packages (.deb).&lt;br /&gt;
&lt;br /&gt;
For doing this, you will need the sdist_deb module available [http://gitorious.org/pymaemo/sboxless here]; just clone it in some directory and point the PYTHONPATH environment variable there. &lt;br /&gt;
&lt;br /&gt;
Now create a file called sboxless.cfg, which will contain additional information for generating the package. For now, you can add additional runtime dependencies for your package. If you want to add python-twitter as dependency, just write&lt;br /&gt;
&lt;br /&gt;
 [control]&lt;br /&gt;
 depends=python-twitter&lt;br /&gt;
&lt;br /&gt;
The file is mandatory, so if you don&#039;t want to add any dependency, just leave the field empty (&#039;depends=&#039;).&lt;br /&gt;
&lt;br /&gt;
Now, run the sdist_deb command:&lt;br /&gt;
&lt;br /&gt;
 PYTHONPATH=/path/to/sboxless python setup.py --command-packages=sboxless  sdist_deb&lt;br /&gt;
&lt;br /&gt;
The source files will be generated on the ./dist directory.&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;references /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category:Python]]&lt;br /&gt;
[[Category:Packaging]]&lt;/div&gt;</summary>
		<author><name>189.115.161.248</name></author>
	</entry>
	<entry>
		<id>https://maemo.octonezd.me/index.php?title=PyMaemo/Scratchboxless_packaging_guide&amp;diff=33513</id>
		<title>PyMaemo/Scratchboxless packaging guide</title>
		<link rel="alternate" type="text/html" href="https://maemo.octonezd.me/index.php?title=PyMaemo/Scratchboxless_packaging_guide&amp;diff=33513"/>
		<updated>2010-07-08T22:28:47Z</updated>

		<summary type="html">&lt;p&gt;189.115.161.248: /* Support for non-Debian systems */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Introduction ==&lt;br /&gt;
&lt;br /&gt;
The usual way of developing Maemo applications is using either Scratchbox or [[MADDE]], which are quite heavy for Python development. An alternative is using [http://github.com/astraw/stdeb stdeb], a set of extensions to distutils that allows generating Debian packages, both binary and source, that can be installed on the device or sent to the [[extras-devel]] repository.&lt;br /&gt;
&lt;br /&gt;
This tutorial will show how to integrate it into your project, build the packages and upload them to extras-devel.&lt;br /&gt;
&lt;br /&gt;
== Prerequisites ==&lt;br /&gt;
&lt;br /&gt;
This tutorial is aimed at Debian-based systems, as some stdeb commands requires the dpkg tools installed. If you&#039;re using another distro, please refer to the section &lt;br /&gt;
&lt;br /&gt;
Also, you should get the [http://github.com/astraw/stdeb git] version of stdeb to use the debianize command, as it is a new addition and not yet available in the repositories. Run the following commands to install it:&lt;br /&gt;
&lt;br /&gt;
 # Clone the git repository&lt;br /&gt;
 git clone http://github.com/astraw/stdeb.git&lt;br /&gt;
 &lt;br /&gt;
 # Enter source package&lt;br /&gt;
 cd stdeb&lt;br /&gt;
 &lt;br /&gt;
 # Build .deb (making use of stdeb package directory in sys.path).&lt;br /&gt;
 python setup.py --command-packages=stdeb.command bdist_deb&lt;br /&gt;
 &lt;br /&gt;
 # Install it&lt;br /&gt;
 sudo dpkg -i deb_dist/python-stdeb_0.5.1+git-1_all.deb&lt;br /&gt;
&lt;br /&gt;
As only python2.5 is supported in pymaemo, it should be installed if you want to create binary packages. On Ubuntu Lucid (10.04), you can install it from [https://launchpad.net/~fkrull/+archive/deadsnakes this ppa], following the instructions [http://www.codigomanso.com/en/2010/05/google-app-engine-en--10-4-lucid-lynx/ here].&lt;br /&gt;
&lt;br /&gt;
== Preparing the package ==&lt;br /&gt;
&lt;br /&gt;
As stdeb extends distutils, it is necessary that you have a working setup.py script. For our example application, which consists of a [http://pymaemo.garage.maemo.org/stdeb_example/myscript-app/myscript single script] named &amp;quot;myscript&amp;quot; and support files like [http://pymaemo.garage.maemo.org/stdeb_example/myscript-app/myscript.desktop .desktop]&amp;lt;ref name=&amp;quot;desktop&amp;quot;&amp;gt;[[Desktop file format]]&amp;lt;/ref&amp;gt; and an [http://pymaemo.garage.maemo.org/stdeb_example/myscript-app/myscript.png icon]&amp;lt;ref name=&amp;quot;icon&amp;quot;&amp;gt;[[Packaging#Displaying an icon in the Application Manager next to your package]]&amp;lt;/ref&amp;gt;, the [http://pymaemo.garage.maemo.org/stdeb_example/myscript-app/setup.py setup.py] will look like this:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
from distutils.core import setup&lt;br /&gt;
&lt;br /&gt;
setup(&lt;br /&gt;
    name=&#039;myscript&#039;,&lt;br /&gt;
    version=&#039;0.1&#039;,&lt;br /&gt;
    author=&#039;Lauro Moura&#039;,&lt;br /&gt;
    author_email=&#039;lauro.neto@donotspamme.com&#039;,&lt;br /&gt;
    scripts=[&#039;myscript&#039;],&lt;br /&gt;
    data_files=[(&#039;share/applications/hildon&#039;, [&#039;myscript.desktop&#039;]),&lt;br /&gt;
                (&#039;share/pixmaps&#039;, [&#039;myscript.png&#039;])],&lt;br /&gt;
)&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
A file named [http://pymaemo.garage.maemo.org/stdeb_example/myscript-app/stdeb.cfg stdeb.cfg] in the same directory as setup.py is required, with stdeb Maemo-specific options. A detailed list of options can be found in the [http://github.com/astraw/stdeb stdeb website].&lt;br /&gt;
&lt;br /&gt;
 [DEFAULT]&lt;br /&gt;
 XS-Python-Version: 2.5 # Only version currently supported by PyMaemo.&lt;br /&gt;
 Package:my-script # Binary package name. stdeb adds the prefix &amp;quot;python-&amp;quot; by default&lt;br /&gt;
 Section: user/development # Section should start with user/ to appear in the menu.&lt;br /&gt;
 Depends: python-gtk2 # extra dependencies go here&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;Warning 1&amp;lt;/b&amp;gt;: Make sure to use [[Maemo_packaging#Sections|an allowed section]].&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;Warning 2&amp;lt;/b&amp;gt;: The &amp;lt;code&amp;gt;Depends&amp;lt;/code&amp;gt; field in stdeb.cfg will be used on your debian/control file, so fill it correctly with all the dependencies of your application - otherwise it will break when you try to install it. For instance, [http://gitorious.org/twcano/twcano twcano] depends on the following packages: &amp;lt;code&amp;gt;python-simplejson, pyside-qt4-maemo5, pyside-qt4-webkit and python-twitter&amp;lt;/code&amp;gt;, so the &amp;lt;code&amp;gt;Depends&amp;lt;/code&amp;gt; field should be filled this way:&lt;br /&gt;
&lt;br /&gt;
 Depends: python-simplejson, pyside-qt4-maemo5, pyside-qt4-webkit, python-twitter&lt;br /&gt;
&lt;br /&gt;
== Building the packages ==&lt;br /&gt;
&lt;br /&gt;
The basic command is&lt;br /&gt;
&lt;br /&gt;
 python setup.py --command-packages=stdeb.command bdist_deb&lt;br /&gt;
&lt;br /&gt;
It&#039;ll create a folder called deb_dist with the source and binary packages. Alternatively, the &amp;quot;sdist_dsc&amp;quot; command will create only the source package.&lt;br /&gt;
&lt;br /&gt;
After generating, you can copy the package to your device and install it (requires an [[SSH]] server):&lt;br /&gt;
&lt;br /&gt;
 $ scp myscript_0.1-1_all.deb root@&amp;lt;n900 ip&amp;gt;:/root&lt;br /&gt;
 $ ssh root@&amp;lt;n900 ip&amp;gt;&lt;br /&gt;
 # dpkg -i myscript_0.1-1_all.deb&lt;br /&gt;
&lt;br /&gt;
== Building a basic debian directory ==&lt;br /&gt;
&lt;br /&gt;
Another useful command is &#039;&#039;debianize&#039;&#039;. It will read the configuration file and write a directory named debian in the same directory. This can be used for manually creating the packages using dpkg tools directly. For a detailed usage example see the [http://github.com/astraw/stdeb#debianize-distutils-command steb website].&lt;br /&gt;
&lt;br /&gt;
Note: sdist_dsc and bdist_deb do &#039;&#039;&#039;not&#039;&#039;&#039; use this directory, generating a new one in the source dir under deb_dist/.&lt;br /&gt;
&lt;br /&gt;
== Uploading to extras ==&lt;br /&gt;
&lt;br /&gt;
To upload to extras, use the debianize command and then call dpkg-buildpackage:&lt;br /&gt;
&lt;br /&gt;
 $ dpkg-buildpackage -rfakeroot -uc -us -S&lt;br /&gt;
&lt;br /&gt;
This command will create the .dsc, .tar.gz and .changes files that can be used to [[uploading to Extras-devel|upload the application to extras-devel]].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Support for non-Debian systems ==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;DRAFT DRAFT DRAFT DRAFT DRAFT&#039;&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
{{ambox&lt;br /&gt;
| type = notice&lt;br /&gt;
| image= &lt;br /&gt;
| text = Keep in mind that the support for non-Debian systems is &#039;&#039;&#039;experimental&#039;&#039;&#039;: it is not as funcional as the stdeb approach shown above and &lt;br /&gt;
 may change without notice. }}&lt;br /&gt;
&lt;br /&gt;
If you&#039;re using a distro not based on Debian, you can still create source packages for uploading to extras-devel, but won&#039;t be able to create binary packages (.deb).&lt;br /&gt;
&lt;br /&gt;
For doing this, you will need the sdist_deb module available [http://gitorious.org/pymaemo/sboxless here]; just clone it in some directory, point the PYTHONPATH environment variable there. &lt;br /&gt;
&lt;br /&gt;
Now create a file called sboxless.cfg, which will contain additional information for generating the package. For now, you can add additional runtime dependencies for your package. If you want to add python-twitter as dependency, just write&lt;br /&gt;
&lt;br /&gt;
 [control]&lt;br /&gt;
 depends=python-twitter&lt;br /&gt;
&lt;br /&gt;
If you don&#039;t want to add any dependency, just leave the field empty (&#039;depends=&#039;).&lt;br /&gt;
&lt;br /&gt;
Now, run the sdist_deb command:&lt;br /&gt;
&lt;br /&gt;
 PYTHONPATH=/path/to/sdist_deb python setup.py --command-packages=sboxless  sdist_deb&lt;br /&gt;
&lt;br /&gt;
The source files will be generated on the ./dist directory.&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;references /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category:Python]]&lt;br /&gt;
[[Category:Packaging]]&lt;/div&gt;</summary>
		<author><name>189.115.161.248</name></author>
	</entry>
	<entry>
		<id>https://maemo.octonezd.me/index.php?title=PyMaemo/Scratchboxless_packaging_guide&amp;diff=33514</id>
		<title>PyMaemo/Scratchboxless packaging guide</title>
		<link rel="alternate" type="text/html" href="https://maemo.octonezd.me/index.php?title=PyMaemo/Scratchboxless_packaging_guide&amp;diff=33514"/>
		<updated>2010-07-08T19:40:40Z</updated>

		<summary type="html">&lt;p&gt;189.115.161.248: /* Support for non-Debian systems */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Introduction ==&lt;br /&gt;
&lt;br /&gt;
The usual way of developing Maemo applications is using either Scratchbox or [[MADDE]], which are quite heavy for Python development. An alternative is using [http://github.com/astraw/stdeb stdeb], a set of extensions to distutils that allows generating Debian packages, both binary and source, that can be installed on the device or sent to the [[extras-devel]] repository.&lt;br /&gt;
&lt;br /&gt;
This tutorial will show how to integrate it into your project, build the packages and upload them to extras-devel.&lt;br /&gt;
&lt;br /&gt;
== Prerequisites ==&lt;br /&gt;
&lt;br /&gt;
This tutorial is aimed at Debian-based systems, as some stdeb commands requires the dpkg tools installed. If you&#039;re using another distro, please refer to the section &lt;br /&gt;
&lt;br /&gt;
Also, you should get the [http://github.com/astraw/stdeb git] version of stdeb to use the debianize command, as it is a new addition and not yet available in the repositories. Run the following commands to install it:&lt;br /&gt;
&lt;br /&gt;
 # Clone the git repository&lt;br /&gt;
 git clone http://github.com/astraw/stdeb.git&lt;br /&gt;
 &lt;br /&gt;
 # Enter source package&lt;br /&gt;
 cd stdeb&lt;br /&gt;
 &lt;br /&gt;
 # Build .deb (making use of stdeb package directory in sys.path).&lt;br /&gt;
 python setup.py --command-packages=stdeb.command bdist_deb&lt;br /&gt;
 &lt;br /&gt;
 # Install it&lt;br /&gt;
 sudo dpkg -i deb_dist/python-stdeb_0.5.1+git-1_all.deb&lt;br /&gt;
&lt;br /&gt;
As only python2.5 is supported in pymaemo, it should be installed if you want to create binary packages. On Ubuntu Lucid (10.04), you can install it from [https://launchpad.net/~fkrull/+archive/deadsnakes this ppa], following the instructions [http://www.codigomanso.com/en/2010/05/google-app-engine-en--10-4-lucid-lynx/ here].&lt;br /&gt;
&lt;br /&gt;
== Preparing the package ==&lt;br /&gt;
&lt;br /&gt;
As stdeb extends distutils, it is necessary that you have a working setup.py script. For our example application, which consists of a [http://pymaemo.garage.maemo.org/stdeb_example/myscript-app/myscript single script] named &amp;quot;myscript&amp;quot; and support files like [http://pymaemo.garage.maemo.org/stdeb_example/myscript-app/myscript.desktop .desktop]&amp;lt;ref name=&amp;quot;desktop&amp;quot;&amp;gt;[[Desktop file format]]&amp;lt;/ref&amp;gt; and an [http://pymaemo.garage.maemo.org/stdeb_example/myscript-app/myscript.png icon]&amp;lt;ref name=&amp;quot;icon&amp;quot;&amp;gt;[[Packaging#Displaying an icon in the Application Manager next to your package]]&amp;lt;/ref&amp;gt;, the [http://pymaemo.garage.maemo.org/stdeb_example/myscript-app/setup.py setup.py] will look like this:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
from distutils.core import setup&lt;br /&gt;
&lt;br /&gt;
setup(&lt;br /&gt;
    name=&#039;myscript&#039;,&lt;br /&gt;
    version=&#039;0.1&#039;,&lt;br /&gt;
    author=&#039;Lauro Moura&#039;,&lt;br /&gt;
    author_email=&#039;lauro.neto@donotspamme.com&#039;,&lt;br /&gt;
    scripts=[&#039;myscript&#039;],&lt;br /&gt;
    data_files=[(&#039;share/applications/hildon&#039;, [&#039;myscript.desktop&#039;]),&lt;br /&gt;
                (&#039;share/pixmaps&#039;, [&#039;myscript.png&#039;])],&lt;br /&gt;
)&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
A file named [http://pymaemo.garage.maemo.org/stdeb_example/myscript-app/stdeb.cfg stdeb.cfg] in the same directory as setup.py is required, with stdeb Maemo-specific options. A detailed list of options can be found in the [http://github.com/astraw/stdeb stdeb website].&lt;br /&gt;
&lt;br /&gt;
 [DEFAULT]&lt;br /&gt;
 XS-Python-Version: 2.5 # Only version currently supported by PyMaemo.&lt;br /&gt;
 Package:my-script # Binary package name. stdeb adds the prefix &amp;quot;python-&amp;quot; by default&lt;br /&gt;
 Section: user/development # Section should start with user/ to appear in the menu.&lt;br /&gt;
 Depends: python-gtk2 # extra dependencies go here&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;Warning 1&amp;lt;/b&amp;gt;: Make sure to use [[Maemo_packaging#Sections|an allowed section]].&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;Warning 2&amp;lt;/b&amp;gt;: The &amp;lt;code&amp;gt;Depends&amp;lt;/code&amp;gt; field in stdeb.cfg will be used on your debian/control file, so fill it correctly with all the dependencies of your application - otherwise it will break when you try to install it. For instance, [http://gitorious.org/twcano/twcano twcano] depends on the following packages: &amp;lt;code&amp;gt;python-simplejson, pyside-qt4-maemo5, pyside-qt4-webkit and python-twitter&amp;lt;/code&amp;gt;, so the &amp;lt;code&amp;gt;Depends&amp;lt;/code&amp;gt; field should be filled this way:&lt;br /&gt;
&lt;br /&gt;
 Depends: python-simplejson, pyside-qt4-maemo5, pyside-qt4-webkit, python-twitter&lt;br /&gt;
&lt;br /&gt;
== Building the packages ==&lt;br /&gt;
&lt;br /&gt;
The basic command is&lt;br /&gt;
&lt;br /&gt;
 python setup.py --command-packages=stdeb.command bdist_deb&lt;br /&gt;
&lt;br /&gt;
It&#039;ll create a folder called deb_dist with the source and binary packages. Alternatively, the &amp;quot;sdist_dsc&amp;quot; command will create only the source package.&lt;br /&gt;
&lt;br /&gt;
After generating, you can copy the package to your device and install it (requires an [[SSH]] server):&lt;br /&gt;
&lt;br /&gt;
 $ scp myscript_0.1-1_all.deb root@&amp;lt;n900 ip&amp;gt;:/root&lt;br /&gt;
 $ ssh root@&amp;lt;n900 ip&amp;gt;&lt;br /&gt;
 # dpkg -i myscript_0.1-1_all.deb&lt;br /&gt;
&lt;br /&gt;
== Building a basic debian directory ==&lt;br /&gt;
&lt;br /&gt;
Another useful command is &#039;&#039;debianize&#039;&#039;. It will read the configuration file and write a directory named debian in the same directory. This can be used for manually creating the packages using dpkg tools directly. For a detailed usage example see the [http://github.com/astraw/stdeb#debianize-distutils-command steb website].&lt;br /&gt;
&lt;br /&gt;
Note: sdist_dsc and bdist_deb do &#039;&#039;&#039;not&#039;&#039;&#039; use this directory, generating a new one in the source dir under deb_dist/.&lt;br /&gt;
&lt;br /&gt;
== Uploading to extras ==&lt;br /&gt;
&lt;br /&gt;
To upload to extras, use the debianize command and then call dpkg-buildpackage:&lt;br /&gt;
&lt;br /&gt;
 $ dpkg-buildpackage -rfakeroot -uc -us -S&lt;br /&gt;
&lt;br /&gt;
This command will create the .dsc, .tar.gz and .changes files that can be used to [[uploading to Extras-devel|upload the application to extras-devel]].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Support for non-Debian systems ==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;DRAFT DRAFT DRAFT DRAFT DRAFT&#039;&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
{{ambox&lt;br /&gt;
| type = notice&lt;br /&gt;
| image= &lt;br /&gt;
| text = Keep in mind that the support for non-Debian systems is &#039;&#039;&#039;experimental&#039;&#039;&#039;: it is not as funcional as the stdeb approach shown above and &lt;br /&gt;
 may change without notice. }}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
If you&#039;re using a distro not based on Debian, you can still create source packages for uploading to extras-devel, but won&#039;t be able to create binary packages (.deb).&lt;br /&gt;
&lt;br /&gt;
For doing this, you will need the sdist_deb module available [http://gitorious.org/pymaemo/sboxless here]; just clone it in some directory and point the PYTHONPATH environment variable there. &lt;br /&gt;
&lt;br /&gt;
For using it, first include the module in your setup.py:&lt;br /&gt;
&lt;br /&gt;
 try:&lt;br /&gt;
    from sdist_deb import sdist_deb&lt;br /&gt;
 except ImportError:&lt;br /&gt;
    from distutils.core import Command&lt;br /&gt;
    class sdist_deb(Command):&lt;br /&gt;
        pass&lt;br /&gt;
&lt;br /&gt;
The try/except statement and the dummy class are needed so the package won&#039;t break when built on the extras-devel autobuilder. &lt;br /&gt;
&lt;br /&gt;
Add a new cmdclass to your setup.py, or update the existing one:&lt;br /&gt;
&lt;br /&gt;
 cmdclass={&#039;sdist_deb&#039;: sdist_deb}&lt;br /&gt;
&lt;br /&gt;
or&lt;br /&gt;
&lt;br /&gt;
 cmdclass={&#039;command1&#039;: command1,&lt;br /&gt;
           &#039;command2&#039;: command1,&lt;br /&gt;
           (...)&lt;br /&gt;
           &#039;sdist_deb&#039;: sdist_deb}&lt;br /&gt;
&lt;br /&gt;
Now just use the new command to build the sources:&lt;br /&gt;
&lt;br /&gt;
 PYTHONPATH=/path/to/sdist_deb python setup.py sdist_deb&lt;br /&gt;
&lt;br /&gt;
The source files will be generated on the ./dist directory.&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;references /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category:Python]]&lt;br /&gt;
[[Category:Packaging]]&lt;/div&gt;</summary>
		<author><name>189.115.161.248</name></author>
	</entry>
	<entry>
		<id>https://maemo.octonezd.me/index.php?title=PyMaemo/Scratchboxless_packaging_guide&amp;diff=33515</id>
		<title>PyMaemo/Scratchboxless packaging guide</title>
		<link rel="alternate" type="text/html" href="https://maemo.octonezd.me/index.php?title=PyMaemo/Scratchboxless_packaging_guide&amp;diff=33515"/>
		<updated>2010-07-08T19:24:54Z</updated>

		<summary type="html">&lt;p&gt;189.115.161.248: /* Support for non-Debian systems */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Introduction ==&lt;br /&gt;
&lt;br /&gt;
The usual way of developing Maemo applications is using either Scratchbox or [[MADDE]], which are quite heavy for Python development. An alternative is using [http://github.com/astraw/stdeb stdeb], a set of extensions to distutils that allows generating Debian packages, both binary and source, that can be installed on the device or sent to the [[extras-devel]] repository.&lt;br /&gt;
&lt;br /&gt;
This tutorial will show how to integrate it into your project, build the packages and upload them to extras-devel.&lt;br /&gt;
&lt;br /&gt;
== Prerequisites ==&lt;br /&gt;
&lt;br /&gt;
This tutorial is aimed at Debian-based systems, as some stdeb commands requires the dpkg tools installed. If you&#039;re using another distro, please refer to the section &lt;br /&gt;
&lt;br /&gt;
Also, you should get the [http://github.com/astraw/stdeb git] version of stdeb to use the debianize command, as it is a new addition and not yet available in the repositories. Run the following commands to install it:&lt;br /&gt;
&lt;br /&gt;
 # Clone the git repository&lt;br /&gt;
 git clone http://github.com/astraw/stdeb.git&lt;br /&gt;
 &lt;br /&gt;
 # Enter source package&lt;br /&gt;
 cd stdeb&lt;br /&gt;
 &lt;br /&gt;
 # Build .deb (making use of stdeb package directory in sys.path).&lt;br /&gt;
 python setup.py --command-packages=stdeb.command bdist_deb&lt;br /&gt;
 &lt;br /&gt;
 # Install it&lt;br /&gt;
 sudo dpkg -i deb_dist/python-stdeb_0.5.1+git-1_all.deb&lt;br /&gt;
&lt;br /&gt;
As only python2.5 is supported in pymaemo, it should be installed if you want to create binary packages. On Ubuntu Lucid (10.04), you can install it from [https://launchpad.net/~fkrull/+archive/deadsnakes this ppa], following the instructions [http://www.codigomanso.com/en/2010/05/google-app-engine-en--10-4-lucid-lynx/ here].&lt;br /&gt;
&lt;br /&gt;
== Preparing the package ==&lt;br /&gt;
&lt;br /&gt;
As stdeb extends distutils, it is necessary that you have a working setup.py script. For our example application, which consists of a [http://pymaemo.garage.maemo.org/stdeb_example/myscript-app/myscript single script] named &amp;quot;myscript&amp;quot; and support files like [http://pymaemo.garage.maemo.org/stdeb_example/myscript-app/myscript.desktop .desktop]&amp;lt;ref name=&amp;quot;desktop&amp;quot;&amp;gt;[[Desktop file format]]&amp;lt;/ref&amp;gt; and an [http://pymaemo.garage.maemo.org/stdeb_example/myscript-app/myscript.png icon]&amp;lt;ref name=&amp;quot;icon&amp;quot;&amp;gt;[[Packaging#Displaying an icon in the Application Manager next to your package]]&amp;lt;/ref&amp;gt;, the [http://pymaemo.garage.maemo.org/stdeb_example/myscript-app/setup.py setup.py] will look like this:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
from distutils.core import setup&lt;br /&gt;
&lt;br /&gt;
setup(&lt;br /&gt;
    name=&#039;myscript&#039;,&lt;br /&gt;
    version=&#039;0.1&#039;,&lt;br /&gt;
    author=&#039;Lauro Moura&#039;,&lt;br /&gt;
    author_email=&#039;lauro.neto@donotspamme.com&#039;,&lt;br /&gt;
    scripts=[&#039;myscript&#039;],&lt;br /&gt;
    data_files=[(&#039;share/applications/hildon&#039;, [&#039;myscript.desktop&#039;]),&lt;br /&gt;
                (&#039;share/pixmaps&#039;, [&#039;myscript.png&#039;])],&lt;br /&gt;
)&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
A file named [http://pymaemo.garage.maemo.org/stdeb_example/myscript-app/stdeb.cfg stdeb.cfg] in the same directory as setup.py is required, with stdeb Maemo-specific options. A detailed list of options can be found in the [http://github.com/astraw/stdeb stdeb website].&lt;br /&gt;
&lt;br /&gt;
 [DEFAULT]&lt;br /&gt;
 XS-Python-Version: 2.5 # Only version currently supported by PyMaemo.&lt;br /&gt;
 Package:my-script # Binary package name. stdeb adds the prefix &amp;quot;python-&amp;quot; by default&lt;br /&gt;
 Section: user/development # Section should start with user/ to appear in the menu.&lt;br /&gt;
 Depends: python-gtk2 # extra dependencies go here&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;Warning 1&amp;lt;/b&amp;gt;: Make sure to use [[Maemo_packaging#Sections|an allowed section]].&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;Warning 2&amp;lt;/b&amp;gt;: The &amp;lt;code&amp;gt;Depends&amp;lt;/code&amp;gt; field in stdeb.cfg will be used on your debian/control file, so fill it correctly with all the dependencies of your application - otherwise it will break when you try to install it. For instance, [http://gitorious.org/twcano/twcano twcano] depends on the following packages: &amp;lt;code&amp;gt;python-simplejson, pyside-qt4-maemo5, pyside-qt4-webkit and python-twitter&amp;lt;/code&amp;gt;, so the &amp;lt;code&amp;gt;Depends&amp;lt;/code&amp;gt; field should be filled this way:&lt;br /&gt;
&lt;br /&gt;
 Depends: python-simplejson, pyside-qt4-maemo5, pyside-qt4-webkit, python-twitter&lt;br /&gt;
&lt;br /&gt;
== Building the packages ==&lt;br /&gt;
&lt;br /&gt;
The basic command is&lt;br /&gt;
&lt;br /&gt;
 python setup.py --command-packages=stdeb.command bdist_deb&lt;br /&gt;
&lt;br /&gt;
It&#039;ll create a folder called deb_dist with the source and binary packages. Alternatively, the &amp;quot;sdist_dsc&amp;quot; command will create only the source package.&lt;br /&gt;
&lt;br /&gt;
After generating, you can copy the package to your device and install it (requires an [[SSH]] server):&lt;br /&gt;
&lt;br /&gt;
 $ scp myscript_0.1-1_all.deb root@&amp;lt;n900 ip&amp;gt;:/root&lt;br /&gt;
 $ ssh root@&amp;lt;n900 ip&amp;gt;&lt;br /&gt;
 # dpkg -i myscript_0.1-1_all.deb&lt;br /&gt;
&lt;br /&gt;
== Building a basic debian directory ==&lt;br /&gt;
&lt;br /&gt;
Another useful command is &#039;&#039;debianize&#039;&#039;. It will read the configuration file and write a directory named debian in the same directory. This can be used for manually creating the packages using dpkg tools directly. For a detailed usage example see the [http://github.com/astraw/stdeb#debianize-distutils-command steb website].&lt;br /&gt;
&lt;br /&gt;
Note: sdist_dsc and bdist_deb do &#039;&#039;&#039;not&#039;&#039;&#039; use this directory, generating a new one in the source dir under deb_dist/.&lt;br /&gt;
&lt;br /&gt;
== Uploading to extras ==&lt;br /&gt;
&lt;br /&gt;
To upload to extras, use the debianize command and then call dpkg-buildpackage:&lt;br /&gt;
&lt;br /&gt;
 $ dpkg-buildpackage -rfakeroot -uc -us -S&lt;br /&gt;
&lt;br /&gt;
This command will create the .dsc, .tar.gz and .changes files that can be used to [[uploading to Extras-devel|upload the application to extras-devel]].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Support for non-Debian systems ==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;DRAFT DRAFT DRAFT DRAFT DRAFT&#039;&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
{{ambox&lt;br /&gt;
| type = notice&lt;br /&gt;
| image= &lt;br /&gt;
| text = Keep in mind that the support for non-Debian systems is &#039;&#039;&#039;experimental&#039;&#039;&#039;: it is not as funcional as the stdeb approach shown above and &lt;br /&gt;
 may change without notice. }}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
If you&#039;re using a distro not based on Debian, you can still create source packages for uploading to extras-devel, but won&#039;t be able to create binary packages (.deb).&lt;br /&gt;
&lt;br /&gt;
For doing this, you will need the sdist_deb module available [http://gitorious.org/pymaemo/sboxless here]; just clone it in some directory and point the PYTHONPATH environment variable there. &lt;br /&gt;
&lt;br /&gt;
For using it, first include the module in your setup.py:&lt;br /&gt;
&lt;br /&gt;
 try:&lt;br /&gt;
     from sdist_deb import sdist_deb&lt;br /&gt;
 except ImportError:&lt;br /&gt;
    from distutils.core import Command&lt;br /&gt;
    class sdist_deb(Command):&lt;br /&gt;
        pass&lt;br /&gt;
&lt;br /&gt;
The try/except statement and the dummy class are needed so the package won&#039;t break when built on the extras-devel autobuilder. &lt;br /&gt;
&lt;br /&gt;
Add a new cmdclass to your setup.py, or update the existing one:&lt;br /&gt;
&lt;br /&gt;
 cmdclass={&#039;sdist_deb&#039;: sdist_deb}&lt;br /&gt;
&lt;br /&gt;
or&lt;br /&gt;
&lt;br /&gt;
 cmdclass={&#039;command1&#039;: command1,&lt;br /&gt;
           &#039;command2&#039;: command1,&lt;br /&gt;
           (...)&lt;br /&gt;
           &#039;sdist_deb&#039;: sdist_deb}&lt;br /&gt;
&lt;br /&gt;
Now just use the new command to build the sources:&lt;br /&gt;
&lt;br /&gt;
 PYTHONPATH=/path/to/sdist_deb python setup.py sdist_deb&lt;br /&gt;
&lt;br /&gt;
The source files will be generated on the ./dist directory.&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;references /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category:Python]]&lt;br /&gt;
[[Category:Packaging]]&lt;/div&gt;</summary>
		<author><name>189.115.161.248</name></author>
	</entry>
	<entry>
		<id>https://maemo.octonezd.me/index.php?title=PyMaemo/Scratchboxless_packaging_guide&amp;diff=33516</id>
		<title>PyMaemo/Scratchboxless packaging guide</title>
		<link rel="alternate" type="text/html" href="https://maemo.octonezd.me/index.php?title=PyMaemo/Scratchboxless_packaging_guide&amp;diff=33516"/>
		<updated>2010-07-07T20:45:41Z</updated>

		<summary type="html">&lt;p&gt;189.115.161.248: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Introduction ==&lt;br /&gt;
&lt;br /&gt;
The usual way of developing Maemo applications is using either Scratchbox or [[MADDE]], which are quite heavy for Python development. An alternative is using [http://github.com/astraw/stdeb stdeb], a set of extensions to distutils that allows generating Debian packages, both binary and source, that can be installed on the device or sent to the [[extras-devel]] repository.&lt;br /&gt;
&lt;br /&gt;
This tutorial will show how to integrate it into your project, build the packages and upload them to extras-devel.&lt;br /&gt;
&lt;br /&gt;
== Prerequisites ==&lt;br /&gt;
&lt;br /&gt;
This tutorial is aimed at Debian-based systems, as some stdeb commands requires the dpkg tools installed. If you&#039;re using another distro, please refer to the section &lt;br /&gt;
&lt;br /&gt;
Also, you should get the [http://github.com/astraw/stdeb git] version of stdeb to use the debianize command, as it is a new addition and not yet available in the repositories. Run the following commands to install it:&lt;br /&gt;
&lt;br /&gt;
 # Clone the git repository&lt;br /&gt;
 git clone http://github.com/astraw/stdeb.git&lt;br /&gt;
 &lt;br /&gt;
 # Enter source package&lt;br /&gt;
 cd stdeb&lt;br /&gt;
 &lt;br /&gt;
 # Build .deb (making use of stdeb package directory in sys.path).&lt;br /&gt;
 python setup.py --command-packages=stdeb.command bdist_deb&lt;br /&gt;
 &lt;br /&gt;
 # Install it&lt;br /&gt;
 sudo dpkg -i deb_dist/python-stdeb_0.5.1+git-1_all.deb&lt;br /&gt;
&lt;br /&gt;
As only python2.5 is supported in pymaemo, it should be installed if you want to create binary packages. On Ubuntu Lucid (10.04), you can install it from [https://launchpad.net/~fkrull/+archive/deadsnakes this ppa], following the instructions [http://www.codigomanso.com/en/2010/05/google-app-engine-en--10-4-lucid-lynx/ here].&lt;br /&gt;
&lt;br /&gt;
== Preparing the package ==&lt;br /&gt;
&lt;br /&gt;
As stdeb extends distutils, it is necessary that you have a working setup.py script. For our example application, which consists of a [http://pymaemo.garage.maemo.org/stdeb_example/myscript-app/myscript single script] named &amp;quot;myscript&amp;quot; and support files like [http://pymaemo.garage.maemo.org/stdeb_example/myscript-app/myscript.desktop .desktop]&amp;lt;ref name=&amp;quot;desktop&amp;quot;&amp;gt;[[Desktop file format]]&amp;lt;/ref&amp;gt; and an [http://pymaemo.garage.maemo.org/stdeb_example/myscript-app/myscript.png icon]&amp;lt;ref name=&amp;quot;icon&amp;quot;&amp;gt;[[Packaging#Displaying an icon in the Application Manager next to your package]]&amp;lt;/ref&amp;gt;, the [http://pymaemo.garage.maemo.org/stdeb_example/myscript-app/setup.py setup.py] will look like this:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
from distutils.core import setup&lt;br /&gt;
&lt;br /&gt;
setup(&lt;br /&gt;
    name=&#039;myscript&#039;,&lt;br /&gt;
    version=&#039;0.1&#039;,&lt;br /&gt;
    author=&#039;Lauro Moura&#039;,&lt;br /&gt;
    author_email=&#039;lauro.neto@donotspamme.com&#039;,&lt;br /&gt;
    scripts=[&#039;myscript&#039;],&lt;br /&gt;
    data_files=[(&#039;share/applications/hildon&#039;, [&#039;myscript.desktop&#039;]),&lt;br /&gt;
                (&#039;share/pixmaps&#039;, [&#039;myscript.png&#039;])],&lt;br /&gt;
)&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
A file named [http://pymaemo.garage.maemo.org/stdeb_example/myscript-app/stdeb.cfg stdeb.cfg] in the same directory as setup.py is required, with stdeb Maemo-specific options. A detailed list of options can be found in the [http://github.com/astraw/stdeb stdeb website].&lt;br /&gt;
&lt;br /&gt;
 [DEFAULT]&lt;br /&gt;
 XS-Python-Version: 2.5 # Only version currently supported by PyMaemo.&lt;br /&gt;
 Package:my-script # Binary package name. stdeb adds the prefix &amp;quot;python-&amp;quot; by default&lt;br /&gt;
 Section: user/development # Section should start with user/ to appear in the menu.&lt;br /&gt;
 Depends: python-gtk2 # extra dependencies go here&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;Warning 1&amp;lt;/b&amp;gt;: Make sure to use [[Maemo_packaging#Sections|an allowed section]].&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;Warning 2&amp;lt;/b&amp;gt;: The &amp;lt;code&amp;gt;Depends&amp;lt;/code&amp;gt; field in stdeb.cfg will be used on your debian/control file, so fill it correctly with all the dependencies of your application - otherwise it will break when you try to install it. For instance, [http://gitorious.org/twcano/twcano twcano] depends on the following packages: &amp;lt;code&amp;gt;python-simplejson, pyside-qt4-maemo5, pyside-qt4-webkit and python-twitter&amp;lt;/code&amp;gt;, so the &amp;lt;code&amp;gt;Depends&amp;lt;/code&amp;gt; field should be filled this way:&lt;br /&gt;
&lt;br /&gt;
 Depends: python-simplejson, pyside-qt4-maemo5, pyside-qt4-webkit, python-twitter&lt;br /&gt;
&lt;br /&gt;
== Building the packages ==&lt;br /&gt;
&lt;br /&gt;
The basic command is&lt;br /&gt;
&lt;br /&gt;
 python setup.py --command-packages=stdeb.command bdist_deb&lt;br /&gt;
&lt;br /&gt;
It&#039;ll create a folder called deb_dist with the source and binary packages. Alternatively, the &amp;quot;sdist_dsc&amp;quot; command will create only the source package.&lt;br /&gt;
&lt;br /&gt;
After generating, you can copy the package to your device and install it (requires an [[SSH]] server):&lt;br /&gt;
&lt;br /&gt;
 $ scp myscript_0.1-1_all.deb root@&amp;lt;n900 ip&amp;gt;:/root&lt;br /&gt;
 $ ssh root@&amp;lt;n900 ip&amp;gt;&lt;br /&gt;
 # dpkg -i myscript_0.1-1_all.deb&lt;br /&gt;
&lt;br /&gt;
== Building a basic debian directory ==&lt;br /&gt;
&lt;br /&gt;
Another useful command is &#039;&#039;debianize&#039;&#039;. It will read the configuration file and write a directory named debian in the same directory. This can be used for manually creating the packages using dpkg tools directly. For a detailed usage example see the [http://github.com/astraw/stdeb#debianize-distutils-command steb website].&lt;br /&gt;
&lt;br /&gt;
Note: sdist_dsc and bdist_deb do &#039;&#039;&#039;not&#039;&#039;&#039; use this directory, generating a new one in the source dir under deb_dist/.&lt;br /&gt;
&lt;br /&gt;
== Uploading to extras ==&lt;br /&gt;
&lt;br /&gt;
To upload to extras, use the debianize command and then call dpkg-buildpackage:&lt;br /&gt;
&lt;br /&gt;
 $ dpkg-buildpackage -rfakeroot -uc -us -S&lt;br /&gt;
&lt;br /&gt;
This command will create the .dsc, .tar.gz and .changes files that can be used to [[uploading to Extras-devel|upload the application to extras-devel]].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Support for non-Debian systems ==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;DRAFT DRAFT DRAFT DRAFT DRAFT&#039;&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
If you&#039;re using a distro not based on Debian, you can still create source packages for uploading to extras-devel, but won&#039;t be able to create binary packages (.deb).&lt;br /&gt;
&lt;br /&gt;
For doing this, you will need the sdist_deb module available [http://gitorious.org/pymaemo/sboxless here]; just clone it in some directory and point the PYTHONPATH environment variable there. &lt;br /&gt;
&lt;br /&gt;
For using it, first include the module in your setup.py:&lt;br /&gt;
&lt;br /&gt;
 try:&lt;br /&gt;
     from sdist_deb import sdist_deb&lt;br /&gt;
 except ValueError:&lt;br /&gt;
    from distutils.core import Command&lt;br /&gt;
    class sdist_deb(Command):&lt;br /&gt;
        pass&lt;br /&gt;
&lt;br /&gt;
The try/except statement and the dummy class are needed so the package won&#039;t break when built on the extras-devel autobuilder. &lt;br /&gt;
&lt;br /&gt;
Add a new cmdclass to your setup.py, or update the existing one:&lt;br /&gt;
&lt;br /&gt;
 cmdclass={&#039;sdist_deb&#039;: sdist_deb}&lt;br /&gt;
&lt;br /&gt;
or&lt;br /&gt;
&lt;br /&gt;
 cmdclass={&#039;command1&#039;: command1,&lt;br /&gt;
           &#039;command2&#039;: command1,&lt;br /&gt;
           (...)&lt;br /&gt;
           &#039;sdist_deb&#039;: sdist_deb}&lt;br /&gt;
&lt;br /&gt;
Now just use the new command to build the sources:&lt;br /&gt;
&lt;br /&gt;
 PYTHONPATH=/path/to/sdist_deb python setup.py sdist_deb&lt;br /&gt;
&lt;br /&gt;
The source files will be generated on the ./dist directory.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;references /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category:Python]]&lt;br /&gt;
[[Category:Packaging]]&lt;/div&gt;</summary>
		<author><name>189.115.161.248</name></author>
	</entry>
	<entry>
		<id>https://maemo.octonezd.me/index.php?title=PyMaemo/Scratchboxless_packaging_guide&amp;diff=33548</id>
		<title>PyMaemo/Scratchboxless packaging guide</title>
		<link rel="alternate" type="text/html" href="https://maemo.octonezd.me/index.php?title=PyMaemo/Scratchboxless_packaging_guide&amp;diff=33548"/>
		<updated>2010-06-11T15:05:11Z</updated>

		<summary type="html">&lt;p&gt;189.115.161.248: initial page.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Introduction =&lt;br /&gt;
&lt;br /&gt;
The usual way of developing Maemo applications is using or Scratchbox or MADDE, which are quite heavy for Python development. An alternative is using stdeb, a set of extensions to distutils that allows generating debian packages, both binary and source, that can be installed on the device or sent to the extra-devel repository.&lt;br /&gt;
&lt;br /&gt;
This tutorial will show how to integrate it into your project, building the packages and uploading it to extras-devel.&lt;br /&gt;
&lt;br /&gt;
= Prerequisites =&lt;br /&gt;
&lt;br /&gt;
= Building a binary package =&lt;br /&gt;
&lt;br /&gt;
= Building a souce package =&lt;br /&gt;
&lt;br /&gt;
= Uploading to extras =&lt;br /&gt;
&lt;br /&gt;
= Future work =&lt;br /&gt;
&lt;br /&gt;
Support for non-debian systems.&lt;/div&gt;</summary>
		<author><name>189.115.161.248</name></author>
	</entry>
	<entry>
		<id>https://maemo.octonezd.me/index.php?title=PyMaemo&amp;diff=33180</id>
		<title>PyMaemo</title>
		<link rel="alternate" type="text/html" href="https://maemo.octonezd.me/index.php?title=PyMaemo&amp;diff=33180"/>
		<updated>2010-06-11T13:41:21Z</updated>

		<summary type="html">&lt;p&gt;189.115.161.248: /* Documentation */ adding link to sboxless packaging.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== What is PyMaemo? ==&lt;br /&gt;
&lt;br /&gt;
The [http://pymaemo.garage.maemo.org/ PyMaemo] (Python for Maemo) project maintains a set of packages necessary to run and develop Python applications on the Maemo platform.&lt;br /&gt;
&lt;br /&gt;
== Supported Software ==&lt;br /&gt;
&lt;br /&gt;
We currently maintain support for the python interpreter, bindings and a few applications in the Maemo platform. A detailed list can be found in [[PyMaemo/Components]].&lt;br /&gt;
&lt;br /&gt;
== Screenshots ==&lt;br /&gt;
&lt;br /&gt;
[[PyMaemo/Screenshots]]&lt;br /&gt;
&lt;br /&gt;
== Software written using PyMaemo ==&lt;br /&gt;
&lt;br /&gt;
See [[PyMaemo/Statistics]] for a list and some related graphs.&lt;br /&gt;
&lt;br /&gt;
== Documentation ==&lt;br /&gt;
&lt;br /&gt;
* [[/Quick start guide | Quick Start Guide for N900]]&lt;br /&gt;
* [[/GUI toolkit selection guide|GUI Toolkit Selection Guide]]&lt;br /&gt;
* [[/Components|List of PyMaemo components]]&lt;br /&gt;
* [[/How to build|How to build PyMaemo packages]]&lt;br /&gt;
&lt;br /&gt;
=== Tutorials ===&lt;br /&gt;
&lt;br /&gt;
* [[/Scratchboxless packaging guide | Scratchboxless packaging guide]]&lt;br /&gt;
* [[/UI tutorial | python-hildon Tutorial]]&lt;br /&gt;
* [[/Using Location API | Using Location API]]&lt;br /&gt;
* [[/Accessing APIs without Python bindings | Accessing APIs without Python bindings]]&lt;br /&gt;
* Easy packaging with [[py2deb]] or [[PyPackager]]&lt;br /&gt;
* [http://www.themaemo.com/python-for-newbies/ Python Tutorial for Newbies] with a special emphasis on Maemo&lt;br /&gt;
* [[/Portrait mode|Python auto-rotation (Portrait mode) on Maemo 5]]&lt;br /&gt;
* [[/Performance|Python and Performance]]&lt;br /&gt;
&lt;br /&gt;
==== mikec&#039;s &amp;quot;30 minutes&amp;quot; series ====&lt;br /&gt;
* [http://talk.maemo.org/showthread.php?t=39879 Qt4 Designer and Python in 30Min]&lt;br /&gt;
* [http://talk.maemo.org/showthread.php?t=43663 Qt Designer/Python for Windows XP in 30 Mins]&lt;br /&gt;
* [[Customising Qt look and feel and Python in 30 Mins]]&lt;br /&gt;
&lt;br /&gt;
=== Examples ===&lt;br /&gt;
&lt;br /&gt;
* [http://pymaemo.garage.maemo.org/conic.html python-conic examples]&lt;br /&gt;
* [http://git.gnome.org/browse/gnome-python/tree/examples/gconf python-gconf examples]&lt;br /&gt;
* [[/Python-osso examples | python-osso examples]]&lt;br /&gt;
* [[/Phone call and SMS examples | Phone call and SMS examples]]&lt;br /&gt;
* [http://www.paraiso.dk/pymaemosms.txt Sending SMS using python-dbus]&lt;br /&gt;
* [http://www.paraiso.dk/incomingsms.txt Listening to incoming SMS]&lt;br /&gt;
* [http://talk.maemo.org/showpost.php?p=577316&amp;amp;postcount=9 PyQt Stacked Windows] &lt;br /&gt;
* [http://wiki.maemo.org/DbusScripts python Dbus tricks]&lt;br /&gt;
example]&lt;br /&gt;
&lt;br /&gt;
=== Manuals and References ===&lt;br /&gt;
&lt;br /&gt;
* [http://pymaemo.garage.maemo.org/python_hildon_manual/ python-hildon manual]&lt;br /&gt;
* [http://pymaemo.garage.maemo.org/python_location_manual/ python-location manual]&lt;br /&gt;
&lt;br /&gt;
=== In progress documentation ===&lt;br /&gt;
&lt;br /&gt;
This section contains links to documentation that is still being written.&lt;br /&gt;
&lt;br /&gt;
* [[/Python 2.6 porting guide|Python 2.6 porting guide]]&lt;br /&gt;
&lt;br /&gt;
=== Ye Olde Documentation ===&lt;br /&gt;
&lt;br /&gt;
This section contains documentation that hasn&#039;t been updated to Maemo 5 (Fremantle) era.&lt;br /&gt;
&lt;br /&gt;
* [[PyMaemo/Using Python in Maemo|Using Python in Maemo]]&lt;br /&gt;
* [http://maemo.org/development/documentation/apis/3-x/python-maemo-3.x/ API Documentation (Maemo 3.x Bora)]&lt;br /&gt;
* [http://www.teemuharju.net/2006/01/26/coding-for-nokia-770-using-python-part-1/ Coding for Nokia 770 using Python part 1]&lt;br /&gt;
* [http://www.teemuharju.net/2006/02/08/coding-for-nokia-770-using-python-part-2/ Coding for Nokia 770 using Python part 2]&lt;br /&gt;
* [http://my.opera.com/monroe/blog/pymaemo-tips Jason&#039;s useful tips for PyMaemo development]&lt;br /&gt;
* [http://pycage.blogspot.com/2007/12/tablet-python-1-relocatable-software.html Martin&#039;s useful tips for PyMaemo development]&lt;br /&gt;
* [[PyMaemo/Python-GPSbt|python-gpsbt introduction and example (only applicable to Maemo 4.x)]]&lt;br /&gt;
* [http://therning.org/magnus/archives/57 GConf in Python]&lt;br /&gt;
* [http://pymaemo.garage.maemo.org/abook.html python-abook examples] (Chinook and earlier)&lt;br /&gt;
&lt;br /&gt;
==== Using it ====&lt;br /&gt;
&lt;br /&gt;
* [[PyMaemo/Installation]]&lt;br /&gt;
* [[PyMaemo/Manual installation]]&lt;br /&gt;
* [[PyMaemo/SDK installation]]&lt;br /&gt;
* [[PyMaemo/FAQ]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Python]]&lt;/div&gt;</summary>
		<author><name>189.115.161.248</name></author>
	</entry>
</feed>