<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Scala-fr &#187; sbaz</title>
	<atom:link href="http://www.scala-fr.org/tags/sbaz/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.scala-fr.org</link>
	<description>communauté francophone autour du langage Scala</description>
	<lastBuildDate>Sat, 10 Oct 2009 08:01:07 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.4</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>sbaz : Scala Bazaar System, gestionnaire de paquets</title>
		<link>http://www.scala-fr.org/sbaz-scala-bazaar-system-gestionnaire-de-paquets/</link>
		<comments>http://www.scala-fr.org/sbaz-scala-bazaar-system-gestionnaire-de-paquets/#comments</comments>
		<pubDate>Thu, 24 Sep 2009 17:16:16 +0000</pubDate>
		<dc:creator>Maxime Biais</dc:creator>
				<category><![CDATA[Méta]]></category>
		<category><![CDATA[packaging]]></category>
		<category><![CDATA[sbaz]]></category>

		<guid isPermaLink="false">http://www.scala-fr.org/?p=52</guid>
		<description><![CDATA[Introduction
Le Scala Bazaar System, surnommé sbaz, est un gestionnaire de paquets permettant d&#8217;automatiser la tâche de maintenance d&#8217;une installation Scala. Cela permet:

De mettre à jour son installation et les dépendances
D&#8217;installer les bibliothèques enregistrées dans la base et leur dépendances
De partager vos propres bibliothèques

Quelques commandes
Après avoir installé Scala (voir la page télécharger), un environnement de base [...]]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: right; margin-left: 10px;"><a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fwww.scala-fr.org%2Fsbaz-scala-bazaar-system-gestionnaire-de-paquets%2F"><img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fwww.scala-fr.org%2Fsbaz-scala-bazaar-system-gestionnaire-de-paquets%2F" height="61" width="51" /></a></div><h1>Introduction</h1>
<p>Le Scala Bazaar System, surnommé <code>sbaz</code>, est un gestionnaire de paquets permettant d&#8217;automatiser la tâche de maintenance d&#8217;une installation Scala. Cela permet:</p>
<ul>
<li>De mettre à jour son installation et les dépendances</li>
<li>D&#8217;installer les bibliothèques enregistrées dans la base et leur dépendances</li>
<li>De partager vos propres bibliothèques</li>
</ul>
<h1>Quelques commandes</h1>
<p>Après avoir installé Scala (voir la page <a href="/telecharger">télécharger</a>), un environnement de base est installé, comprenant scalac (le compilateur Scala), la bibliothèque standard, sbaz et scalap (un inspecteur de fichiers class Scala permettant de lire les fichiers générés par le compilateur scalac). Pour vérifier votre installation vous pouvez taper la commande <code>sbaz installed</code></p>

<div class="wp_syntax"><div class="code"><pre class="shell" style="font-family:monospace;">$ sbaz installed
base/1.9
sbaz/1.25tmp
sbaz-setup/1.0
scala/2.7.5.final
scala-devel/2.7.5.final
scala-library/2.7.5.final
scala-tool-support/2.7.5.final
7 packages installed</pre></div></div>

<p><code>sbaz help</code> vous liste les possibilités offertes par sbaz. Parmis les commandes les plus souvent utilisées on trouve :</p>

<div class="wp_syntax"><div class="code"><pre class="shell" style="font-family:monospace;">$ sbaz help
available - list the available packages for installation
[...]
install - install a package
installed - list the packages that are installed
[...]
showuniverse - show the active universe
update - update the list of available packages
upgrade - upgrade all possible packages</pre></div></div>

<p>Par exemple, je viens de trouver <a href="http://code.google.com/p/scalacheck/">ScalaCheck</a>, une bibliothèque permettant de générer des tests unitaires (suivez le blog, un article devrait bientôt arriver à propos de ScalaCheck). Je lance la commande :</p>

<div class="wp_syntax"><div class="code"><pre class="shell" style="font-family:monospace;">$ sbaz available | grep check
scalacheck (1.5, 1.4, 1.3, ...)</pre></div></div>

<p>Parfait ! La bibliothèque est packagée dans scala-dev (l&#8217;univers par défaut), je peux l&#8217;installer directement en faisant :</p>

<div class="wp_syntax"><div class="code"><pre class="shell" style="font-family:monospace;">$ sudo sbaz install scalacheck
planning to install: scalacheck/1.5
Installing...</pre></div></div>

<p>Et voilà, je peux maintenant utiliser scalacheck.</p>
<p>Pour mettre à jour son installation Scala, rien de plus simple. Il suffit de :</p>
<ol>
<li>Mettre à jour sa liste de paquets (update)</li>
<li>Mettre à jour sa distribution (upgrade)</li>
</ol>

<div class="wp_syntax"><div class="code"><pre class="shell" style="font-family:monospace;">$ sudo sbaz update
Updated the list of available packages.
$ sudo sbaz upgrade
Refreshing list of available packages...
Planning to install scala/2.7.6.final...
Planning to install scala-devel/2.7.6.final...
Planning to install scala-library/2.7.6.final...
Planning to install scala-tool-support/2.7.6.final...
Installing...</pre></div></div>

<p>Je viens de passer en version 2.7.6.</p>
<h1>Les univers</h1>
<p>Les univers sont des lieux de dépôts (repository) de paquets. Ils doivent assurer que les dépendances entre les paquets et leurs versions sont consistantes. Chaque installation sbaz est lié à un univers actif duquel les paquets sont téléchargés. Il existe 2 univers officiels :</p>
<ul>
<li><a href="http://scala-webapps.epfl.ch/sbaz/scala-dev">http://scala-webapps.epfl.ch/sbaz/scala-dev</a> qui contient les versions stables de la distribution Scala et des logiciels et bibliothèques tiers. C&#8217;est l&#8217;univers par défaut.</li>
<li><a href="http://scala-webapps.epfl.ch/sbaz/lamp-rc">http://scala-webapps.epfl.ch/sbaz/lamp-rc</a> contient les release candidates de Scala.</li>
</ul>
<p>Pour connaître l&#8217;univers actif de votre installation taper la commande <code>sbaz showuniverse</code></p>

<div class="wp_syntax"><div class="code"><pre class="shell" style="font-family:monospace;">$ sbaz showuniverse
SimpleUniverse &quot;scala-dev&quot; (http://scala-webapps.epfl.ch/sbaz/scala-dev)</pre></div></div>

<p>Dans mon cas, je suis sur la version stable.</p>
<p>Pour changer d&#8217;univers il faut utiliser la commande <code>sbaz setuniverse</code>. Commande à qui il faut donner en paramètre un fichier descripteur qui contient les informations de l&#8217;univers que vous souhaitez rendre actif. J&#8217;aurais aimé pouvoir lui donner directement une URL qui pointe vers ce descripteur, mais ce n&#8217;est à priori pas possible.</p>
<p>Example de fichier descripteur :</p>

<div class="wp_syntax"><div class="code"><pre class="xml" style="font-family:monospace;"><span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;simpleuniverse<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
  <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;name<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>lamp-rc<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/name<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
  <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;description<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
    Scala release candidates
  <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/description<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
  <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;location<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>http://scala-webapps.epfl.ch/sbaz/lamp-rc<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/location<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/simpleuniverse<span style="color: #000000; font-weight: bold;">&gt;</span></span></span></pre></div></div>

<p>Note : les descripteurs pour scala-dev et lamp-rc sont disponibles dans votre SCALA_HOME ($SCALA_HOME/misc/sbaz/descriptors/lamp-rc et $SCALA_HOME/misc/sbaz/descriptors/scala-dev).</p>
<p>Changement d&#8217;univers vers lamp-rc :</p>

<div class="wp_syntax"><div class="code"><pre class="shell" style="font-family:monospace;">$ sudo sbaz setuniverse $SCALA_HOME/misc/sbaz/descriptors/lamp-rc
Password:
Universe established.
$ sbaz available
sudo sbaz available
scala (2.7.4.RC1, 2.7.3.RC2, 2.7.3.RC1, ...)
scala-android (2.7.0-RC3, 2.7.0-RC2, 2.7.0-RC1, ...)
scala-cldc (2.7.0-RC3, 2.7.0-RC2, 2.7.0-RC1, ...)
scala-devel (2.7.4.RC1, 2.7.3.RC2, 2.7.3.RC1, ...)
scala-devel-docs (2.7.4.RC1, 2.7.3.RC2, 2.7.3.RC1, ...)
scala-documentation (2.7.4.RC1, 2.7.3.RC2, 2.7.3.RC1, ...)
scala-library (2.7.4.RC1, 2.7.3.RC2, 2.7.3.RC1, ...)
scala-msil (2.7.4.RC1, 2.7.3.RC2, 2.7.3.RC1, ...)
scala-swing (0.1)
scala-test (2.7.4.RC1, 2.7.3.RC2, 2.7.3.RC1, ...)
scala-tool-support (2.7.4.RC1, 2.7.3.RC2, 2.7.3.RC1, ...)
scalap (2.7.1.RC2, 2.7.1.RC1, 2.7.0-RC3, ...)
12 package names
145 total packages</pre></div></div>

<p>Pour revenir à l&#8217;univers stable:</p>

<div class="wp_syntax"><div class="code"><pre class="shell" style="font-family:monospace;">$ sudo sbaz setuniverse $SCALA_HOME/misc/sbaz/descriptors/scala-dev
Password:
Universe established</pre></div></div>

<p>Plus d&#8217;informations sur le <a href="http://www.lexspoon.org/sbaz/">site de sbaz</a>.</p>
     ]]></content:encoded>
			<wfw:commentRss>http://www.scala-fr.org/sbaz-scala-bazaar-system-gestionnaire-de-paquets/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
