blog/archives/2009/05zack's home pagehttp://upsilon.cc/~zack/blog/archives/2009/05/zack's home pageikiwiki2010-01-04T12:06:06Zkick-starting turbogears 2 packaginghttp://upsilon.cc/~zack/blog/posts/2009/05/kick-starting_turbogears_2_packaging/2009-11-28T12:00:16Z2009-05-30T21:02:38Z
<h1>TurboGears 2 in debian ... soon !</h1>
<p>After a long incubation, a few days ago <a href=
"http://turbogears.org/2.0/"><strong>TurboGears 2</strong></a> has
been released. Historically, I've been preferring TurboGears over
<a href="http://www.django.org">Django</a> for being closer to the
open source philosophy of <em>reusing existing components</em>.</p>
<p>Since the long 2.0 release was marking a gap with Django, I was
eager to test the 2.0, and I was delighted to find it <a href=
"http://packages.debian.org/sid/python-turbogears2">in Debian</a>.
Unfortunately, it <a href=
"http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=530879">doesn't
seem to be in good shape yet</a>. In particular it <strong>lacks
several dependencies</strong> before it can even be used to
<code>quickstart</code> a project, in spite of its presence in
unstable.</p>
<p>To give an idea of the needed work, after having installed it
manually (via <code>easy_install</code>), my virgin
<code>/usr/local/lib/python2.5/site-packages/</code> has been
polluted by <strong>26 egg-thingies</strong>. I decided to spend
some week-end time to start closing the gap, because we cannot lack
such an important web framework in Debian (and ... erm, yes, also
because I need it <img src="http://upsilon.cc/~zack/smileys/smile.png" alt=
":-)" /> ).</p>
<p>Here is the <strong>current status</strong> of what has been
ITP-ed / packaged already (by yours truly):</p>
<ul>
<li><a href=
"http://pypi.python.org/pypi/ToscaWidgets/">ToscaWidgets</a>
(<a href="http://bugs.debian.org/531042">ITP</a>): in
experimental/NEW, packaging resurrected from a never-uploaded
version</li>
<li><a href="http://pypi.python.org/pypi/repoze.tm2">repoze.tm2</a>
(<a href="http://bugs.debian.org/531038">ITP</a>): in
experimental/NEW</li>
<li><a href=
"http://pypi.python.org/pypi/transaction/">transaction</a> (no ITP)
: <a href=
"http://lists.debian.org/debian-devel/2009/05/msg00845.html">being
packaged by the Zope team</a> (temporary unofficial package
available)</li>
<li><a href="http://www.repoze.org">repoze.who</a> (<a href=
"http://bugs.debian.org/531083">ITP</a>): in experimental/NEW</li>
<li><a href=
"http://pypi.python.org/pypi?%3Aaction=search&term=repoze.who&submit=search">
repoze.who-{friendlyforms,plugins.sa,testutil}</a> (<a href=
"http://bugs.debian.org/531146">ITP</a>): in experimental/NEW</li>
<li><a href=
"http://pypi.python.org/pypi/repoze.what/">repoze.what</a>
(<a href="http://bugs.debian.org/531045">ITP</a>): in
experimental/NEW</li>
<li><a href=
"http://pypi.python.org/pypi?%3Aaction=search&term=repoze.what&submit=search">
repoze.what-{pylons,quickstart,plugins.sql}</a>: just <a href=
"http://bugs.debian.org/531208">ITP</a>-ed</li>
</ul>
<h2>Where to</h2>
<p>Considering, foolishly, the last package as being already done,
the way to go is still long:</p>
<pre><code> zack@usha:~$ ls /usr/local/lib/python2.5/site-packages/|grep -v repoze.what
AddOns-0.6-py2.5.egg
BytecodeAssembler-0.3-py2.5.egg
Catwalk-2.0.2-py2.5.egg
easy-install.pth
Extremes-1.1-py2.5.egg
PEAK_Rules-0.5a1.dev_r2582-py2.5.egg
prioritized_methods-0.2.1-py2.5.egg
sprox-0.5.5-py2.5.egg
sqlalchemy_migrate-0.5.2-py2.5.egg
SymbolType-1.0-py2.5.egg
tg.devtools-2.0-py2.5.egg
tgext.admin-0.2.4-py2.5.egg
tgext.crud-0.2.4-py2.5.egg
TurboGears2-2.0-py2.5.egg
tw.forms-0.9.3-py2.5.egg
WebFlash-0.1a9-py2.5.egg
zope.sqlalchemy-0.4-py2.5.egg
</code></pre>
<p>Possibly, some of them are already in Debian hidden somewhere,
but sure there is still work to be done. <strong>If you want to
help</strong>, you are more then welcome. The rules are simple: all
packages will be maintained under the umbrella of the Python
Modules Team, but you should be willing to take responsibility as
the primary maintainer.</p>
<p>Please get in touch with if you are interested, as I'm in turn
already in touch with some other very kind volunteers (thanks
<a href="http://www.enricozini.org/blog/index.html">Enrico</a> and
Federico2!) to coordinate who-is-doing-what.</p>
<h2>Preview packages available</h2>
<p>What has already been packaged, including a temporary workaround
for <code>python-transaction</code>, will be available in
experimental after NEW processing. The idea is that nothing will go
to unstable until TurboGears 2 will be (proven to be) fully
functional.</p>
<p>In the meantime, <strong>packages are available</strong> from my
personal APT repository (signed by my key), here are the friendly
<code>/etc/apt/sources.list</code> :</p>
<pre><code> deb http://people.debian.org/~zack/debian zack-unstable/
deb-src http://people.debian.org/~zack/debian zack-unstable/
</code></pre>
<p>Versions are tilde-friendly and shouldn't get in your way when
the official packages will hit unstable.</p>
<h2>Packaging multiple-egg / multiple-upstream packages</h2>
<p>In all this, I've faced an interesting problem with the
<code>python-repoze.{who,what}-plugins</code> packages. They
correspond to a handful of plugins, each of which is about 20/30
Kb. I didn't consider appropriate to prepare 5 different packages,
due to archive bloat potential. Hence, you get the usual problems
of multiple-upstream packages.</p>
<p>To counter some of them, as well as some <a href=
"http://peak.telecommunity.com/DevCenter/EggFormats">egg</a>-specific
packaging annoyances with multiple upstream, I wrote a couple of
very simple helpers:</p>
<ul>
<li>
<p><a href=
"http://upsilon.cc/~zack/blog/posts/2009/05/kick-starting_turbogears_2_packaging/get-orig-source.mk">
get-orig-source.mk</a> <small>(<a href=
"http://svn.debian.org/wsvn/python-modules/packages/python-repoze.who-plugins/trunk/debian/get-orig-source.mk">live
version</a>)</small>: a <code>debian/rules</code> snippet which
relies on several <code>debian/*.watch</code> files which are fed
to uscan to implement (not yet completely) the
<code>get-orig-source</code> target <a href=
"http://www.debian.org/doc/debian-policy/ch-source.html/gret">described
in policy</a></p>
</li>
<li>
<p><a href=
"http://upsilon.cc/~zack/blog/posts/2009/05/kick-starting_turbogears_2_packaging/setup.py">
setup.py</a> <small>(<a href=
"http://svn.debian.org/wsvn/python-modules/packages/python-repoze.who-plugins/trunk/setup.py">live
version</a>)</small>: a multiplexer for sub-directories shipping
distutils-enabled Python modules. That way you can use
<code>/usr/share/cdbs/1/class/python-distutils.mk</code> as usual,
and setup.py will take care of the "multiple upstream" problem at
build time</p>
</li>
</ul>
<p>I'm no Python-packaging-guru so, lazyweb, if you spot in this
choice something I utterly overlooked, or if you have improvements
to suggest, please let me know.</p>
<h2>Repacking eggs</h2>
<p>An interesting problem will be faced in trying to integrate the
above approach with Python modules that are shipped only as
<code>.egg</code> files (i.e., no tarballs, ... yes there are such
horrifying things out there). To preserve uniformity, we would need
<code>uscan</code> to support <code>--repack</code> ing of .egg
files as they were simple .zip archives.</p>
<p>Since eggs <em>are</em> .zip archives ... why not?</p>
command of the day: butheadhttp://upsilon.cc/~zack/blog/posts/2009/05/command_of_the_day:_buthead/2009-11-28T12:00:16Z2009-05-28T12:23:04Z
<h1>looking for <code>head -v</code>? enjoy
<code>buthead</code></h1>
<p>Been looking for <a href=
"http://man.cx/?page=buthead">buthead</a> for a while, package
<a href="http://packages.debian.org/sid/buthead">buthead</a> (eh),
<a href="http://blog.fortytwo.ch/archives/43-guid.html">thanks
Adrian</a>.</p>
<p>Too bad he has a package of its own instead of being part of,
say, <a href=
"http://packages.debian.org/sid/moreutils">moreutils</a>, or
<code>head</code> itself, ...</p>
<p><strong>Update</strong> ... it is integrated in plain old
<code>tail</code> though, and it's even <a href=
"http://www.opengroup.org/onlinepubs/009695399/utilities/tail.html">
in POSIX</a>. Amazing how things like that can stay unknown for a
while. More info in comments.</p>
caro candidatohttp://upsilon.cc/~zack/blog/posts/2009/05/caro_candidato/2010-01-04T12:06:06Z2009-05-18T16:05:16Z
<h1>Un'altra discriminante sul candidato: il software libero</h1>
<p><a href="http://www.carocandidato.org">Caro candidato</a> tiene
traccia dei candidati alle prossime elezioni (partito per partito,
circoscrizione per circoscrizione) che dichiarano di volere
supportare il <a href=
"http://it.wikipedia.org/wiki/Software_libero">software libero</a>
come descritto nel <a href=
"http://www.carocandidato.org/wiki/view/proposte">patto sul
software libero</a>.</p>
non ci si credehttp://upsilon.cc/~zack/blog/posts/2009/05/non_ci_si_crede/2009-05-15T12:22:53Z2009-05-15T12:17:55Z
<p>No, sul serio, <a href=
"http://silvioperilnobel.sitonline.it/">non ci si crede</a>.</p>
<p>L'unico argomento portato per la candidatura è che dal 1907 il
premio non viene assegnato ad un italiano. Usando lo stesso
argomento potrei farmi fautore della candidatura di <a href=
"http://it.wikipedia.org/wiki/Beppe_Maniglia">Beppe
Maniglia</a>.</p>
<p>Al solo scopo di sfogarmi:</p>
<pre><code>Date: Fri, 15 May 2009 14:05:03 +0200
From: Stefano Zacchiroli <zack@upsilon.cc>
To: info@silvioperilnobel.it
Cc: info@wikimedia.it
Subject: violazione dei termini d'uso di contenuto proveniente da Wikipedia
Spett.le Comitato della Libertà,
la pagina del vostro sito intitolata "La Storia del Nobel" [1]
contiene contenuto proveniente da Wikipedia. Tale contenuto è
riportato senza menzionare la licenza ed il copyright della pagina,
violando così i termini della licenza GNU Free Documentation Licence
[3], oltre naturalmente a configurarsi come disonestà intellettuale
nell'attribuirsi implicitamente la paternità di contenuto non
auto-prodotto.
Distinti saluti.
[1] http://silvioperilnobel.sitonline.it/1/la_storia_del_nobel_831289.html
[2] http://it.wikipedia.org/wiki/Premio_Nobel_per_la_pace
[3] http://it.wikipedia.org/wiki/Wikipedia:Copyright#Diritti_e_doveri_degli_utenti
--
Stefano Zacchiroli -o- PhD in Computer Science \ PostDoc @ Univ. Paris 7
zack@{upsilon.cc,pps.jussieu.fr,debian.org} -<>- http://upsilon.cc/zack/
Dietro un grande uomo c'è ..| . |. Et ne m'en veux pas si je te tutoie
sempre uno zaino ...........| ..: |.... Je dis tu à tous ceux que j'aime
</code></pre>
review di un anno di governo Berlusconihttp://upsilon.cc/~zack/blog/posts/2009/05/review_di_un_anno_di_governo_Berlusconi/2009-05-12T13:51:13Z2009-05-10T16:05:56Z
<h1>... a cura de LaVoce.info</h1>
<p>Iniziativa periodica e lodevole degli economisti de <a href=
"http://www.lavoce.info">LaVoce.info</a>: <a href=
"http://www.lavoce.info/articoli/pagina1001101.html">review di un
anno di governo Berlusconi IV</a>, presentato in concise schede
tematiche (pensioni, università, immigrazione, ...).</p>
<p>L'<strong>annuncio</strong> è indubbiamento il "risultato" di
cui maggiormente fregiarsi.</p>
<p><strong>Update</strong> l'iniziativa continua nella <a href=
"http://www.lavoce.info/articoli/pagina1001113.html">seconda
parte</a> (con schede su: famiglie, federalismo, fisco,
informazione, infrastrutture, lavoro, sanità, pubblica
amministrazione)</p>