<?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"
	>

<channel>
	<title>El Demonio Negro &#187; glkm</title>
	<atom:link href="http://www.eldemonionegro.com/wordpress/tema/proyectos/glkm/rss2" rel="self" type="application/rss+xml" />
	<link>http://www.eldemonionegro.com/wordpress</link>
	<description>Lo siguiente es una bitácora. La lee bajo su responsabilidad.</description>
	<pubDate>Fri, 29 Aug 2008 13:00:30 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.5.1</generator>
	<language>en</language>
			<item>
		<title>Howto to intercommunicate processes in different(remote) machines through DBus</title>
		<link>http://www.eldemonionegro.com/wordpress/archivos/2008/05/22/howto-to-intercomunicate-processes-in-differentremote-machines-through-dbus</link>
		<comments>http://www.eldemonionegro.com/wordpress/archivos/2008/05/22/howto-to-intercomunicate-processes-in-differentremote-machines-through-dbus#comments</comments>
		<pubDate>Thu, 22 May 2008 18:25:04 +0000</pubDate>
		<dc:creator>kike</dc:creator>
		
		<category><![CDATA[GNU/Linux (Debian)]]></category>

		<category><![CDATA[Informática]]></category>

		<category><![CDATA[Proyectos]]></category>

		<category><![CDATA[fotografías]]></category>

		<category><![CDATA[glkm]]></category>

		<category><![CDATA[profesional]]></category>

		<category><![CDATA[Álbum]]></category>

		<category><![CDATA[dbus]]></category>

		<category><![CDATA[DBUS_SESSION_BUS_ADDRESS]]></category>

		<category><![CDATA[DBUS_SYSTEM_BUS_ADDRESS]]></category>

		<category><![CDATA[DBUS_SYSTEM_BUS_DEFAULT_ADDRESS]]></category>

		<category><![CDATA[debian]]></category>

		<category><![CDATA[gabriel]]></category>

		<category><![CDATA[IPC]]></category>

		<category><![CDATA[libssh]]></category>

		<category><![CDATA[linux]]></category>

		<category><![CDATA[remote]]></category>

		<category><![CDATA[socat]]></category>

		<category><![CDATA[ssh]]></category>

		<category><![CDATA[virtualbox]]></category>

		<guid isPermaLink="false">http://www.eldemonionegro.com/wordpress/?p=596</guid>
		<description><![CDATA[<img src="http://www.eldemonionegro.com/wordpress/wp-content/wp-archivos/categoria_linux-debian.png" width="110" height="83" alt="" title="GNU/Linux (Debian)" /><br/>Introduction
In this post I&#8217;m going to try to connect two processes in different machines through DBus. The method is a little bit complex, so be patient if you try.
Also is to advert that this has been the result of 3 days of tests (reference1). So maybe this method may be improved with time and use [...]]]></description>
			<content:encoded><![CDATA[<img src="http://www.eldemonionegro.com/wordpress/wp-content/wp-archivos/categoria_linux-debian.png" width="110" height="83" alt="" title="GNU/Linux (Debian)" /><br/><h4>Introduction</h4>
<p>In this post I&#8217;m going to try to connect two processes in different machines through DBus. The method is a little bit complex, so be patient if you try.<br />
Also is to advert that this has been the result of 3 days of tests (<a href="#reference1">reference1</a>). So maybe this method may be improved with time and use <a href="#reference2">reference2</a>.</p>
<h4>Tools (The actors)</h4>
<ul>
<li>dbus</li>
<li>gabriel
<ul>
<li>socat</li>
<li>libssh</li>
</ul>
</li>
<li><abbr title="Secure SHell (encrypted protocol replaces telnet and FTP)" xml:lang="en" lang="en">SSH</abbr></li>
<li>your apps</li>
</ul>
<p>Debian official packages are dbus libssh-2 socat<br />
gabriel is not part of Debian yet (but I&#8217;ve build one for myself)</p>
<h4>Knowledge (Actors curriculum)</h4>
<p>In this section I will describe the basics about the tools we are going to use.</p>
<p><strong>DBus</strong>. Extracted from <a href="http://www.freedesktop.org/wiki/Software/dbus">DBus page</a>:</p>
<blockquote><p><strong>D-Bus is a message bus system, a simple way for applications to talk to one another</strong>. In addition to interprocess communication, D-Bus helps coordinate process lifecycle; it makes it simple and reliable to code a &#8220;single instance&#8221; application or daemon, and to launch applications and daemons on demand when their services are needed.
</p></blockquote>
<blockquote><p>D-Bus <strong>supplies both a system daemon</strong> (for events such as &#8220;new hardware device added&#8221; or &#8220;printer queue changed&#8221;) <strong>and a per-user-login-session daemon</strong> (for general IPC needs among user applications). Also, the message bus is built on top of a general one-to-one message passing framework, which can be used by any two apps to communicate directly (without going through the message bus daemon). <strong>Currently the communicating applications are on one computer</strong>, or through unencrypted <abbr title="Transmission Control Protocol" xml:lang="en" lang="en">TCP</abbr>/IP suitable for use behind a firewall with shared NFS home directories.</p></blockquote>
<p><strong>Gabriel</strong> is a simple utility to enable D-Bus clients to connect to a D-Bus daemon running on a remote machine, through <abbr title="Secure SHell (encrypted protocol replaces telnet and FTP)" xml:lang="en" lang="en">SSH</abbr>.<br />
This is the main piece of this puzzle. If you are interested in understanding how it works you should take a look at socat and libssh. As I&#8217;ve had to take a look at code, and make some modifications, you should read it as a punishment.</p>
<p>Extracted from <strong>socat</strong> man page:</p>
<blockquote><p>socat - Multipurpose relay (SOcket CAT)<br />
socat  is a command line based utility that <strong>establishes two bidirectional byte streams and transfers data between them</strong>. Because the streams can be constructed from a large set of different types of data sinks and sources (see address types), and because lots of address options may be applied to the streams, socat can be used for many different purposes.  It might be one of the tools that one ‘has already needed´.</p></blockquote>
<p><strong>Libssh</strong>. Extracted from <a href="http://0xbadc0de.be/wiki/libssh:libssh">libssh page</a>:</p>
<blockquote><p>The <abbr title="Secure SHell (encrypted protocol replaces telnet and FTP)" xml:lang="en" lang="en">SSH</abbr> library was designed to be used by programmers needing a working <abbr title="Secure SHell (encrypted protocol replaces telnet and FTP)" xml:lang="en" lang="en">SSH</abbr> implementation by the mean of a library. The complete control of the client is made by the programmer. With libssh, you can remotely execute programs, transfer files, use a secure and transparent tunnel for your remote programs. With its Secure <abbr title="File Transfer Protocol" xml:lang="en" lang="en">FTP</abbr> implementation, you can play with remote files easily, without third-party programs others than libcrypto (from openssl). </p></blockquote>
<p>You should know about <strong><abbr title="Secure SHell (encrypted protocol replaces telnet and FTP)" xml:lang="en" lang="en">SSH</abbr></strong> and about <strong>your application</strong>.</p>
<h4>Architecture</h4>
<p>Local host will run gabriel and your application.<br />
Remove host will need a running <abbr title="Secure SHell (encrypted protocol replaces telnet and FTP)" xml:lang="en" lang="en">SSH</abbr> server, a running dbus server and will need socat installed and ready to use.<br />
We need to run gabriel, that will act as a server that will connect our host to the remote host through <abbr title="Secure SHell (encrypted protocol replaces telnet and FTP)" xml:lang="en" lang="en">SSH</abbr>. After that gabriel will use this <abbr title="Secure SHell (encrypted protocol replaces telnet and FTP)" xml:lang="en" lang="en">SSH</abbr> connection to intercommunicate our local application with remote DBus applications by using socat. </p>
<div class="g2image_centered">
<div class="wpg2tag-image"><a href="http://www.eldemonionegro.com/gallery2/v/adjuntos-de-la-bitacora/Remote+DBus+communication.png/" title="Remote DBus communication"><img src="http://www.eldemonionegro.com/gallery2/d/4769-4/Remote+DBus+communication.png" width="300" height="212" id="IFid2" class="ImageFrame_none" alt="Remote DBus communication" longdesc="Remote hosts DBus intercommunication"/></a>
<p class="giDescription">Remote DBus communication</p>
</div>
</div>
<h4>Howto (Main action)</h4>
<p><del datetime="2008-05-22T14:55:35+00:00">At the moment I&#8217;ve only achieved to connect a process using session-bus, I&#8217;m still testing until I get connection through system-bus which was my initial purpose.</del><br />
After reading next information, you will be able to connect using session bus and system bus.</p>
<p>As I commented somewhere else, I&#8217;ve made some modifications on gabriel code. I needed some common parameters as <abbr title="Secure SHell (encrypted protocol replaces telnet and FTP)" xml:lang="en" lang="en">SSH</abbr> port (my virtualbox testing environment ), better help explanations or add a verbose output.<br />
Gabriel establish a connection with the remote <abbr title="Secure SHell (encrypted protocol replaces telnet and FTP)" xml:lang="en" lang="en">SSH</abbr> and by socat commands it communicates with the remote DBus &#8220;environment&#8221;. You should administrate <abbr title="Secure SHell (encrypted protocol replaces telnet and FTP)" xml:lang="en" lang="en">SSH</abbr> parameters and Dbus parameters to gabriel.</p>
<p class="terminal">
user@machine:~/svn/gabriel/gabriel$ src/gabriel &#8211;help<br />
Usage:<br />
  gabriel [OPTION...] - Gabriel<br />
Help Options:<br />
  -?, &#8211;help                             Show help options<br />
Application Options:<br />
  -h, &#8211;host=HOSTNAME                    Hostname or <abbr title="Internet Protocol" xml:lang="en" lang="en">IP</abbr> of the remote host<br />
  -p, &#8211;port-s<span></span>sh=PORT-<span></span><abbr title="Secure SHell (encrypted protocol replaces telnet and FTP)" xml:lang="en" lang="en">SSH</abbr>                <abbr title="Secure SHell (encrypted protocol replaces telnet and FTP)" xml:lang="en" lang="en">SSH</abbr> port on the remote host<br />
  -u, &#8211;username=USERNAME                <abbr title="Secure SHell (encrypted protocol replaces telnet and FTP)" xml:lang="en" lang="en">SSH</abbr> username on the remote host<br />
  -w, &#8211;password=PASSWORD                <abbr title="Secure SHell (encrypted protocol replaces telnet and FTP)" xml:lang="en" lang="en">SSH</abbr> password on the remote host<br />
  -m, &#8211;method=DBUS_TRANSPORT_METHOD     The D-Bus transport method to use (<abbr title="Transmission Control Protocol" xml:lang="en" lang="en">TCP</abbr>, <abbr title="Uniplexed Information and Computing System" xml:lang="en" lang="en">UNIX</abbr>, abstract-<abbr title="Uniplexed Information and Computing System" xml:lang="en" lang="en">UNIX</abbr>)<br />
  -b, &#8211;bind=HOSTNAME                    The bind-address to listen for D-Bus client connections on<br />
  -d, &#8211;bus-address=BUS_ADDRESS          The DBus session bus address of the remote D-Bus daemon<br />
  -t, &#8211;port-t<span></span>cp=PORT-T<span></span>CP                The <abbr title="Transmission Control Protocol" xml:lang="en" lang="en">TCP</abbr> port to listen for DBus client connections on<br />
  -v, &#8211;verbose=VERBOSE                  Set verbosity level (3, 2, 1, 0, -1)=(packet,protocol,functions,important,none)
</p>
<p><strong>We have to put special attention to <em>-d, &#8211;bus-address=BUS_ADDRESS</em> because this info must be gotten from the REMOTE machine</strong>.<br />
That address is the one used by processes to communicate through DBUS. It&#8217;s something &#8220;internal&#8221; and automatically done when you use DBus <abbr title="Application Programming Interface" xml:lang="en" lang="en">API</abbr>/library. I&#8217;m going to show you where to get it.</p>
<h5>DBUS_SESSION_BUS_ADDRESS, DBUS_SYSTEM_BUS_ADDRESS, DBUS_SYSTEM_BUS_DEFAULT_ADDRESS</h5>
<p><strong>Again, this info should be gotten from REMOTE machine.</strong><br />
At the moment I don&#8217;t know any nice command where to get this info.<br />
We have two main options of DBus buses. System and Session (more info in <a href="http://www.freedesktop.org/wiki/Software/dbus">DBus page</a>).<br />
If you need SESSION bus address, you can choose what it better fits you:</p>
<ul>
<li>You can can get it from process environment</li>
<li>You can stole it from any other process suspicious from being involved in DBus activities&#8230;</li>
<li>You can create your own dbus-daemon (which, actually, I don&#8217;t know if it uses it&#8217;s own BUS_ADDRESS)</li>
</ul>
<p>If you need SYSTEM bus address, you can choose what it better fits you:</p>
<ul>
<li>You can can get it from process environment. If it&#8217;s not defined, take a look at /etc/dbus-1/system.conf where you should locate a string like <em>&lt;listen&gt;unix:path=/var/run/dbus/system_bus_socket&lt;/listen&gt;</em>
</li>
<li>You can stole it from any other process suspicious from being involved in DBus activities&#8230;</li>
</ul>
<p>Examples:</p>
<p class="terminal">
// C++ code<br />
#include &lt;stdio.h&gt;<br />
#include &lt;stdlib.h&gt;<br />
	char * env;<br />
//	env = getenv (&#8221;DBUS_SESSION_BUS_ADDRESS&#8221;);<br />
	env = getenv (&#8221;DBUS_SYSTEM_BUS_ADDRESS&#8221;);<br />
	if (env!=NULL){<br />
		cout &lt;&lt; env &lt;&lt; endl;<br />
	}
</p>
<p class="terminal">
user@<strong>REMOTE-machine</strong>:~ $  grep -z BUS_ADDRESS /proc/2047/environ<br />
HALD_RUNNER_DBUS_ADDRESS=unix:abstract=/var/run/hald/dbus-bonbZtoykd,guid=8b5aff565de0dc7c467fef414832dd98
</p>
<p>This command gives you a dbus-daemon in your session with the one you can contact.</p>
<p class="terminal">
user@<strong>REMOTE-machine</strong>:~ $ dbus-daemon &#8211;session &#8211;print-address<br />
unix:abstract=/tmp/dbus-j2npbTXDwD,guid=d69f66d43e354de5733e4a1a48335bd6
</p>
<p class="terminal">
user@<strong>REMOTE-machine</strong>:~ $  grep u<span></span>nix /etc/dbus-1/system.conf<br />
  &lt;listen&gt;unix:path=/var/run/dbus/system_bus_socket&lt;/listen&gt;
</p>
<h4>Howto (Main action): Back to local host</h4>
<p>Those ugly unix:stri:ngs/asdkaj/numbers we have seen is what we need for<em> -d, &#8211;bus-address=BUS_ADDRESS</em>.<br />
See a session example:</p>
<p class="terminal">
user@machine:~/svn/gabriel/gabriel$ src/gabriel -h localhost -p 2222 -d unix:abstract=/tmp/dbus-j2npbTXDwD,guid=d69f66d43e354de5733e4a1a48335bd6<br />
Listening to D-Bus clients on: &#8220;unix:abstract=/tmp/gabriel&#8221;<br />
bla ble blu bla
</p>
<p>See a system example:</p>
<p class="terminal">
user@machine:~/svn/gabriel/gabriel$ src/gabriel -h localhost -p 2222 -d unix:path=/var/run/dbus/system_bus_socket<br />
Listening to D-Bus clients on: &#8220;unix:abstract=/tmp/gabriel&#8221;<br />
bla ble blu bla
</p>
<p>The moment we have or gabriel server running we (may have nothing) need to set DBUS_XXX_BUS_ADDRESS. Many apps would use, or have, this environment variable to connect to a DBus instance and intercommunicate with other process.<br />
This is is easy, DBUS_XXX_BUS_ADDRESS should be the address gabriel shows few instants after being launched.<br />
When we have defined this environment variable (in command line) we can execute our app, and it will happily communicate with the remote DBus world.<br />
Example:</p>
<p class="terminal">
user@machine:~/svn/dbusmm/trunk/examples/glib$ export DBUS_SESSION_BUS_ADDRESS=&#8221;unix:abstract=/tmp/gabriel&#8221;<br />
user@machine:~/svn/dbusmm/trunk/examples/glib$ ./dbus-browser
</p>
<p><em>dbus-browser is a program that uses a session bus.</em></p>
<h5>Curiosity: DBus protocol messages interchanged</h5>
<p>Modifying a  couple of lines in gabriel can let you see DBus raw protocol messages. It&#8217;s a didactic info.<br />
If you enable verbose code at least at level 2, you will get raw DBus protocol messages.</p>
<h5>My modifications and hacks</h5>
<p>Code will be publish under <a href="/glkm" class="broken_link"><abbr title="GNOME LINUX Kernel Monitor" xml:lang="en" lang="en">GLKM</abbr> project page</a>.</p>
<h5>Links and references</h5>
<ul>
<li><a href="http://www.freedesktop.org/wiki/Software/dbus">dbus site</a></li>
<li><a href="http://gabriel.sourceforge.net/">gabriel site</a></li>
<li><a href="http://www.dest-unreach.org/socat/">socat site</a></li>
<li><a href="http://0xbadc0de.be/?part=libssh">libssh site</a></li>
<li><a name="reference1">reference 1</a>. (informational note, it had implied jumping into gabriel, libssh, and dbus code and testing with a virtualbox machine)</li>
<li><a name="reference2">reference 2</a>. (personal note, take a look at &#8220;Securing traffic between two socat instances using <abbr title="Secure Sockets Layer (a security protocol)" xml:lang="en" lang="en">SSL</abbr>&#8221; article in socat page)</li>
</ul>
<p><map name='google_ad_map_596_fc162ee2f6c09e91'>
<area shape='rect' href='http://imageads.googleadservices.com/pagead/imgclick/596?pos=0' coords='1,2,367,28' />
<area shape='rect' href='http://services.google.com/feedback/abg' coords='384,10,453,23'/></map>
<img usemap='#google_ad_map_596_fc162ee2f6c09e91' border='0' src='http://imageads.googleadservices.com/pagead/ads?format=468x30_aff_img&amp;client=&amp;channel=&amp;output=png&amp;cuid=596&amp;url= http%3A%2F%2Fwww.eldemonionegro.com%2Fwordpress%2Farchivos%2F2008%2F05%2F22%2Fhowto-to-intercomunicate-processes-in-differentremote-machines-through-dbus' /></p>
	<div class="st-related-posts">Te interesará:
	<ul>
	<li><a href="http://www.eldemonionegro.com/wordpress/archivos/2007/11/05/glkm-funcionalidades" title="[GLKM] Funcionalidades (5 de Noviembre de 2007)">[GLKM] Funcionalidades</a></li>
	<li><a href="http://www.eldemonionegro.com/wordpress/archivos/2007/04/03/glkm-documentacion-y-definicion" title="[GLKM] Documentación y definición (3 de Abril de 2007)">[GLKM] Documentación y definición</a></li>
	<li><a href="http://www.eldemonionegro.com/wordpress/archivos/2007/09/30/una-ola-llamada-gnulinux-ii-segunda-parte" title="Una ola llamada GNU/Linux II (Segunda parte) (30 de Septiembre de 2007)">Una ola llamada GNU/Linux II (Segunda parte)</a></li>
	<li><a href="http://www.eldemonionegro.com/wordpress/archivos/2007/09/25/una-ola-llamada-gnulinux-i-primera-parte" title="Una ola llamada GNU/Linux I (Primera parte) (25 de Septiembre de 2007)">Una ola llamada GNU/Linux I (Primera parte)</a></li>
	<li><a href="http://www.eldemonionegro.com/wordpress/archivos/2007/07/10/un-asistente-de-la-whyfloss-conference-madrid-2007" title="Un asistente de la Whyfloss Conference Madrid 2007 (10 de Julio de 2007)">Un asistente de la Whyfloss Conference Madrid 2007</a></li>
</ul></div>


	<span class="tag"> Etiquetas: </span><a href="http://www.eldemonionegro.com/wordpress/etiquetas/dbus" title="dbus" rel="tag">dbus</a>, <a href="http://www.eldemonionegro.com/wordpress/etiquetas/dbus_session_bus_address" title="DBUS_SESSION_BUS_ADDRESS" rel="tag">DBUS_SESSION_BUS_ADDRESS</a>, <a href="http://www.eldemonionegro.com/wordpress/etiquetas/dbus_system_bus_address" title="DBUS_SYSTEM_BUS_ADDRESS" rel="tag">DBUS_SYSTEM_BUS_ADDRESS</a>, <a href="http://www.eldemonionegro.com/wordpress/etiquetas/dbus_system_bus_default_address" title="DBUS_SYSTEM_BUS_DEFAULT_ADDRESS" rel="tag">DBUS_SYSTEM_BUS_DEFAULT_ADDRESS</a>, <a href="http://www.eldemonionegro.com/wordpress/etiquetas/debian" title="debian" rel="tag">debian</a>, <a href="http://www.eldemonionegro.com/wordpress/etiquetas/gabriel" title="gabriel" rel="tag">gabriel</a>, <a href="http://www.eldemonionegro.com/wordpress/etiquetas/glkm" title="glkm" rel="tag">glkm</a>, <a href="http://www.eldemonionegro.com/wordpress/etiquetas/ipc" title="IPC" rel="tag">IPC</a>, <a href="http://www.eldemonionegro.com/wordpress/etiquetas/libssh" title="libssh" rel="tag">libssh</a>, <a href="http://www.eldemonionegro.com/wordpress/etiquetas/linux" title="linux" rel="tag">linux</a>, <a href="http://www.eldemonionegro.com/wordpress/etiquetas/remote" title="remote" rel="tag">remote</a>, <a href="http://www.eldemonionegro.com/wordpress/etiquetas/socat" title="socat" rel="tag">socat</a>, <a href="http://www.eldemonionegro.com/wordpress/etiquetas/ssh" title="ssh" rel="tag">ssh</a>, <a href="http://www.eldemonionegro.com/wordpress/etiquetas/virtualbox" title="virtualbox" rel="tag">virtualbox</a><br/>
]]></content:encoded>
			<wfw:commentRss>http://www.eldemonionegro.com/wordpress/archivos/2008/05/22/howto-to-intercomunicate-processes-in-differentremote-machines-through-dbus/feed</wfw:commentRss>
		</item>
		<item>
		<title>Howto access a Virtualbox guest machine throught ssh (or how to port forwarding)</title>
		<link>http://www.eldemonionegro.com/wordpress/archivos/2008/05/18/howto-access-a-virtualbox-guest-machine-throught-ssh-or-how-to-port-forwarding</link>
		<comments>http://www.eldemonionegro.com/wordpress/archivos/2008/05/18/howto-access-a-virtualbox-guest-machine-throught-ssh-or-how-to-port-forwarding#comments</comments>
		<pubDate>Sun, 18 May 2008 18:17:50 +0000</pubDate>
		<dc:creator>kike</dc:creator>
		
		<category><![CDATA[GNU/Linux (Debian)]]></category>

		<category><![CDATA[Informática]]></category>

		<category><![CDATA[Proyectos]]></category>

		<category><![CDATA[glkm]]></category>

		<category><![CDATA[guest machine]]></category>

		<category><![CDATA[host machine]]></category>

		<category><![CDATA[linux]]></category>

		<category><![CDATA[port forwarding]]></category>

		<category><![CDATA[ssh]]></category>

		<category><![CDATA[VBoxManage]]></category>

		<category><![CDATA[virtualbox]]></category>

		<category><![CDATA[virtualbox port forwarding]]></category>

		<guid isPermaLink="false">http://www.eldemonionegro.com/wordpress/?p=595</guid>
		<description><![CDATA[<img src="http://www.eldemonionegro.com/wordpress/wp-content/wp-archivos/categoria_linux-debian.png" width="110" height="83" alt="" title="GNU/Linux (Debian)" /><br/>This is not an original article (see references), it&#8217;s just an archived one &#8220;por si las moscas&#8221;.
Introduction
By default, the network connection in Virtualbox is set to NAT, that is every packet coming from the Guest machine is modified so that it seems as it has come from the Host machine. In this way it’s easy [...]]]></description>
			<content:encoded><![CDATA[<img src="http://www.eldemonionegro.com/wordpress/wp-content/wp-archivos/categoria_linux-debian.png" width="110" height="83" alt="" title="GNU/Linux (Debian)" /><br/><p>This is not an original article (see references), it&#8217;s just an archived one &#8220;por si las moscas&#8221;.</p>
<h4>Introduction</h4>
<p>By default, the network connection in <strong>Virtualbox</strong> is set to <abbr title="Network Address Translation" xml:lang="en" lang="en">NAT</abbr>, that is every packet coming from the Guest machine is modified so that it seems as it has come from the Host machine. In this way it’s easy for the Guest machine to connect to all the rest of the network (the Internet included) but nobody can start a connection with the Guest Machine since it’s hidden behind the Host one.</p>
<p>So, if you want to use a server service in your Guest machine (i.e. Apache or <abbr title="Secure SHell (encrypted protocol replaces telnet and FTP)" xml:lang="en" lang="en">SSH</abbr>) you have two choices:</p>
<ol>
<li>pass to <strong>Virtualbox</strong> Host network connection;</li>
<li>make <strong>Virtualbox</strong> forward all the packets arriving to a certain port of the Host machine.</li>
</ol>
<p>This article will describe how to do the latter, in particular in the case of the <abbr title="Secure SHell (encrypted protocol replaces telnet and FTP)" xml:lang="en" lang="en">SSH</abbr> server. This is an interesting case because it allows you to simulate very well a quite common condition: connecting to a remote <abbr title="Linux is not Unix" xml:lang="en" lang="en">LINUX</abbr> headless machine.</p>
<p>We have a guest machine with a running <abbr title="Secure SHell (encrypted protocol replaces telnet and FTP)" xml:lang="en" lang="en">SSH</abbr> server which accepts connections on the <abbr title="Transmission Control Protocol" xml:lang="en" lang="en">TCP</abbr> port 22.<br />
Our goal is to make any packet arriving at a given <abbr title="Transmission Control Protocol" xml:lang="en" lang="en">TCP</abbr> port (i.e. 2222) of the host machine, to be forwarded to the <abbr title="Transmission Control Protocol" xml:lang="en" lang="en">TCP</abbr> port 22 of the guest machine.<br />
Fortunately, there is <strong>Virtualbox</strong> command which permits to do it almost instantly: <strong>VBoxManage</strong>.</p>
<h4>Configuration needed</h4>
<p>In our case <strong>we will use Debian as the guest machine name</strong> (quote in case guest machine name contains spaces), here are the commands that you have to type in the host machine (real one) console as your user (if you use another user it will try to look for its virtual machines):</p>
<p class="terminal">
user@machine $ VBoxManage list vms<br />
VirtualBox Command Line Management Interface Version 1.5.6_OSE<br />
(C) 2005-2008 innotek GmbH<br />
All rights reserved.<br />
Name:            debian<br />
Guest OS:        <abbr title="Linux is not Unix" xml:lang="en" lang="en">LINUX</abbr> 2.6<br />
UUID:            814e25f4-451e-4582-8d34-71a1cd437cdd<br />
Config file:     /mnt/extra/virtualizacion/virtualbox/debian/debian.xml<br />
Memory size:     195MB<br />
[...]<br />
user@machine $ VBoxManage setextradata debian &#8220;VBoxInternal/Devices/pcnet/0/LUN#0/Config/ssh/HostPort&#8221; 2222<br />
VirtualBox Command Line Management Interface Version 1.5.6_OSE<br />
(C) 2005-2008 innotek GmbH<br />
All rights reserved.<br />
user@machine $ VBoxManage setextradata debian &#8220;VBoxInternal/Devices/pcnet/0/LUN#0/Config/ssh/GuestPort&#8221; 22<br />
VirtualBox Command Line Management Interface Version 1.5.6_OSE<br />
(C) 2005-2008 innotek GmbH<br />
All rights reserved.<br />
user@machine$ VBoxManage setextradata debian &#8220;VBoxInternal/Devices/pcnet/0/LUN#0/Config/ssh/Protocol&#8221; <abbr title="Transmission Control Protocol" xml:lang="en" lang="en">TCP</abbr><br />
VirtualBox Command Line Management Interface Version 1.5.6_OSE<br />
(C) 2005-2008 innotek GmbH<br />
All rights reserved.
</p>
<p>HostPort,GuestPort,Protocol are just string examples and can be changed without any consequence. Just remember your choices if you want to remove them later.<br />
I guess you should be careful with pcnet substring, as maybe it should have something to see with your selected network card type.</p>
<h4>Testing</h4>
<p>Once you have typed the above commands, you need to close the guest machine (a reboot won’t be sufficient), restart it and then connect via <abbr title="Secure SHell (encrypted protocol replaces telnet and FTP)" xml:lang="en" lang="en">SSH</abbr> with:</p>
<p class="terminal">
anyuser@machine$ <abbr title="Secure SHell (encrypted protocol replaces telnet and FTP)" xml:lang="en" lang="en">SSH</abbr> -l &gt;user&lt; -p 2222 localhost
</p>
<p>Replace localhost with the host machine <abbr title="Internet Protocol" xml:lang="en" lang="en">IP</abbr> address if you are connecting from another computer.</p>
<p>By the way, you can check which customizations have been already set for your Guest Machine with VBoxManage by typing:</p>
<p class="terminal">
user@machine$ VBoxManage getextradata debian enumerate<br />
VirtualBox Command Line Management Interface Version 1.5.6_OSE<br />
(C) 2005-2008 innotek GmbH<br />
All rights reserved.<br />
Key: <abbr title="Graphical User Interface" xml:lang="en" lang="en">GUI</abbr>/LastWindowPostion, Value: 0,6,1028,820<br />
Key: <abbr title="Graphical User Interface" xml:lang="en" lang="en">GUI</abbr>/Fullscreen, Value: off<br />
Key: <abbr title="Graphical User Interface" xml:lang="en" lang="en">GUI</abbr>/AutoresizeGuest, Value: off<br />
Key: <abbr title="Graphical User Interface" xml:lang="en" lang="en">GUI</abbr>/LastCloseAction, Value: powerOff<br />
Key: <abbr title="Graphical User Interface" xml:lang="en" lang="en">GUI</abbr>/SaveMountedAtRuntime, Value: yes<br />
Key: <abbr title="Graphical User Interface" xml:lang="en" lang="en">GUI</abbr>/Seamless, Value: off<br />
Key: VBoxInternal/Devices/pcnet/0/LUN#0/Config/ssh/HostPort, Value: 2222<br />
Key: VBoxInternal/Devices/pcnet/0/LUN#0/Config/ssh/GuestPort, Value: 22<br />
Key: VBoxInternal/Devices/pcnet/0/LUN#0/Config/ssh/Protocol, Value: <abbr title="Transmission Control Protocol" xml:lang="en" lang="en">TCP</abbr>
</p>
<p>or remove one, for example “VBoxInternal/Devices/pcnet/0/LUN#0/Config/ssh/GuestPort”, by setting it without any value:</p>
<p class="terminal">
user@machine$ VBoxManage setextradata &#8220;VBoxInternal/Devices/pcnet/0/LUN#0/Config/ssh/GuestPort&#8221;
</p>
<h5>Links and references</h5>
<ul>
<li>an <a href="http://doc.ubuntu-fr.org/virtualbox">article about VirtualBox on doc.ubuntu-fr.org</a> (which offers a slightly different solution)</li>
<li><a href="http://mydebian.blogdns.org/?p=148">Howto access via <abbr title="Secure SHell (encrypted protocol replaces telnet and FTP)" xml:lang="en" lang="en">SSH</abbr> a Virtualbox guest machine.</a></li>
</ul>
<p><map name='google_ad_map_595_fc162ee2f6c09e91'>
<area shape='rect' href='http://imageads.googleadservices.com/pagead/imgclick/595?pos=0' coords='1,2,367,28' />
<area shape='rect' href='http://services.google.com/feedback/abg' coords='384,10,453,23'/></map>
<img usemap='#google_ad_map_595_fc162ee2f6c09e91' border='0' src='http://imageads.googleadservices.com/pagead/ads?format=468x30_aff_img&amp;client=&amp;channel=&amp;output=png&amp;cuid=595&amp;url= http%3A%2F%2Fwww.eldemonionegro.com%2Fwordpress%2Farchivos%2F2008%2F05%2F18%2Fhowto-access-a-virtualbox-guest-machine-throught-ssh-or-how-to-port-forwarding' /></p>
	<div class="st-related-posts">Te interesará:
	<ul>
	<li><a href="http://www.eldemonionegro.com/wordpress/archivos/2007/11/05/glkm-funcionalidades" title="[GLKM] Funcionalidades (5 de Noviembre de 2007)">[GLKM] Funcionalidades</a></li>
	<li><a href="http://www.eldemonionegro.com/wordpress/archivos/2007/04/03/glkm-documentacion-y-definicion" title="[GLKM] Documentación y definición (3 de Abril de 2007)">[GLKM] Documentación y definición</a></li>
	<li><a href="http://www.eldemonionegro.com/wordpress/archivos/2008/04/20/whyfloss-conference-08" title="WHYFLOSS Madrid Conference 08 (20 de Abril de 2008)">WHYFLOSS Madrid Conference 08</a></li>
	<li><a href="http://www.eldemonionegro.com/wordpress/archivos/2007/07/01/whyfloss-conference" title="WHYFLOSS Conference (1 de Julio de 2007)">WHYFLOSS Conference</a></li>
	<li><a href="http://www.eldemonionegro.com/wordpress/archivos/2006/07/29/warning-tmpvmware-config0vmnet-onlyvmneto-failed-to-load-not-a-kernel-module-lacks-modinfo-section" title="Warning: &#8220;/tmp/vmware-config0/vmnet-only/vmnet.o&#8221; failed to load: Not a kernel module, lacks modinfo section (29 de Julio de 2006)">Warning: &#8220;/tmp/vmware-config0/vmnet-only/vmnet.o&#8221; failed to load: Not a kernel module, lacks modinfo section</a></li>
</ul></div>


	<span class="tag"> Etiquetas: </span><a href="http://www.eldemonionegro.com/wordpress/etiquetas/glkm" title="glkm" rel="tag">glkm</a>, <a href="http://www.eldemonionegro.com/wordpress/etiquetas/guest-machine" title="guest machine" rel="tag">guest machine</a>, <a href="http://www.eldemonionegro.com/wordpress/etiquetas/host-machine" title="host machine" rel="tag">host machine</a>, <a href="http://www.eldemonionegro.com/wordpress/etiquetas/linux" title="linux" rel="tag">linux</a>, <a href="http://www.eldemonionegro.com/wordpress/etiquetas/port-forwarding" title="port forwarding" rel="tag">port forwarding</a>, <a href="http://www.eldemonionegro.com/wordpress/etiquetas/ssh" title="ssh" rel="tag">ssh</a>, <a href="http://www.eldemonionegro.com/wordpress/etiquetas/vboxmanage" title="VBoxManage" rel="tag">VBoxManage</a>, <a href="http://www.eldemonionegro.com/wordpress/etiquetas/virtualbox" title="virtualbox" rel="tag">virtualbox</a>, <a href="http://www.eldemonionegro.com/wordpress/etiquetas/virtualbox-port-forwarding" title="virtualbox port forwarding" rel="tag">virtualbox port forwarding</a><br/>
]]></content:encoded>
			<wfw:commentRss>http://www.eldemonionegro.com/wordpress/archivos/2008/05/18/howto-access-a-virtualbox-guest-machine-throught-ssh-or-how-to-port-forwarding/feed</wfw:commentRss>
		</item>
		<item>
		<title>Switch/Migration of Subversion repository without admin access (svn2svn)</title>
		<link>http://www.eldemonionegro.com/wordpress/archivos/2008/04/07/switchmigration-of-subversion-repository-without-admin-access-svn2svn</link>
		<comments>http://www.eldemonionegro.com/wordpress/archivos/2008/04/07/switchmigration-of-subversion-repository-without-admin-access-svn2svn#comments</comments>
		<pubDate>Mon, 07 Apr 2008 15:36:27 +0000</pubDate>
		<dc:creator>kike</dc:creator>
		
		<category><![CDATA[GNU/Linux (Debian)]]></category>

		<category><![CDATA[Informática]]></category>

		<category><![CDATA[Proyectos]]></category>

		<category><![CDATA[glkm]]></category>

		<category><![CDATA[profesional]]></category>

		<category><![CDATA[admin access]]></category>

		<category><![CDATA[repository]]></category>

		<category><![CDATA[subversion]]></category>

		<category><![CDATA[svn]]></category>

		<category><![CDATA[svn2svn]]></category>

		<category><![CDATA[svnadmin]]></category>

		<guid isPermaLink="false">http://www.eldemonionegro.com/wordpress/?p=590</guid>
		<description><![CDATA[<img src="http://www.eldemonionegro.com/wordpress/wp-content/wp-archivos/categoria_linux-debian.png" width="110" height="83" alt="" title="GNU/Linux (Debian)" /><br/>Hello fellows.
My latest adventure was about moving a project (unmaintained) from its public subversion repository which of course I was not admin (which means no admin access) over to my own server. 
Usually, to do this you’d dump the whole thing with svnadmin into one file (svnadmin dump > file_dump) and load it again at [...]]]></description>
			<content:encoded><![CDATA[<img src="http://www.eldemonionegro.com/wordpress/wp-content/wp-archivos/categoria_linux-debian.png" width="110" height="83" alt="" title="GNU/Linux (Debian)" /><br/><p>Hello fellows.<br />
My latest adventure was about moving a project (unmaintained) from its public subversion repository which of course I was not admin (which means no admin access) over to my own server. </p>
<p>Usually, to do this you’d dump the whole thing with svnadmin into one file (svnadmin dump > file_dump) and load it again at the new location (svnadmin load file_dump). After searching for any similar command without admin access into documentation I figured that something similar might exist for plain svn to svn migration.<br />
I founded a ruby version and a python. I chose python one because it&#8217;s recent, it&#8217;s python and it&#8217;s under google code site.<br />
There was other cause, the ruby version went through all revisions, from 1 till infinity, although many of them didn&#8217;t have any change. In the other hand, <strong>python version uses subversion logs and made a efficient use of it.</strong></p>
<h5>The real action</h5>
<p>Create a repository in my server was easy:</p>
<p class="terminal">
root@aristoteles:/var/lib/svn$ rm -rf MY-PROJECT-PATH<br />
root@aristoteles:/var/lib/svn$ svnadmin create MY-PROJECT-PATH<br />
root@aristoteles:/var/lib/svn$ chgrp svn-user MY-PROJECT-PATH/ -R<br />
root@aristoteles:/var/lib/svn$ chmod g+ws MY-PROJECT-PATH/ -R<br />
root@aristoteles:/var/lib/svn$ chmod o-rx MY-PROJECT-PATH/ -R
</p>
<p>After solving the problems I talk about, duplicating the repo was not so difficult. </p>
<p class="terminal">
user@othermachine:~$ mkdir tmp<br />
user@othermachine:~$ cd tmp<br />
user@othermachine:~$ svn co <abbr title="Uniform Resource Locator" xml:lang="en" lang="en">URL</abbr>-DEST-MY-PROJECT-PATH<br />
user@othermachine:~$ python svn2svn-0.1.1.py  -r 7382  <abbr title="Uniform Resource Locator" xml:lang="en" lang="en">URL</abbr>-ORIG <abbr title="Uniform Resource Locator" xml:lang="en" lang="en">URL</abbr>-DEST-MY-PROJECT-PATH
</p>
<p>This process took a while but the new directory was now ready for action.</p>
<p><strong>Be careful with your subversion config files</strong>. It may cause conflicts with file in repositories.<br />
As an example, I had some troubles because I use to ignore files like Makefile.in and so. The project I was trying to import did have files like that and svn2svn did bring svn errors because those files were not under revision. When I realized I modified my subversion config without that rules for a while.</p>
<h5>References and links</h5>
<ul>
<li><a href="http://code.google.com/p/svn2svn/">svn2svn</a></li>
</ul>
<p><map name='google_ad_map_590_fc162ee2f6c09e91'>
<area shape='rect' href='http://imageads.googleadservices.com/pagead/imgclick/590?pos=0' coords='1,2,367,28' />
<area shape='rect' href='http://services.google.com/feedback/abg' coords='384,10,453,23'/></map>
<img usemap='#google_ad_map_590_fc162ee2f6c09e91' border='0' src='http://imageads.googleadservices.com/pagead/ads?format=468x30_aff_img&amp;client=&amp;channel=&amp;output=png&amp;cuid=590&amp;url= http%3A%2F%2Fwww.eldemonionegro.com%2Fwordpress%2Farchivos%2F2008%2F04%2F07%2Fswitchmigration-of-subversion-repository-without-admin-access-svn2svn' /></p>
	<div class="st-related-posts">Te interesará:
	<ul>
	<li><a href="http://www.eldemonionegro.com/wordpress/archivos/2008/02/29/glkm-subversion-project-stats-measures-with-mpy-svn-stats" title="[GLKM] Subversion project stats measures with mpy-svn-stats (29 de Febrero de 2008)">[GLKM] Subversion project stats measures with mpy-svn-stats</a></li>
	<li><a href="http://www.eldemonionegro.com/wordpress/archivos/2006/11/09/viewvc-previously-viewcvs" title="Viewvc (previously viewcvs) (9 de Noviembre de 2006)">Viewvc (previously viewcvs)</a></li>
	<li><a href="http://www.eldemonionegro.com/wordpress/archivos/2007/06/06/svn-can-not-read-file-varlibsvnglkmdbrevprops5-end-of-file-found" title="svn: can not read file &#8216;/var/lib/svn/glkm/db/revprops/5&#8242;: End of file found (6 de Junio de 2007)">svn: can not read file &#8216;/var/lib/svn/glkm/db/revprops/5&#8242;: End of file found</a></li>
	<li><a href="http://www.eldemonionegro.com/wordpress/archivos/2006/11/09/subversion-server-howto" title="Subversion Server. Howto (9 de Noviembre de 2006)">Subversion Server. Howto</a></li>
	<li><a href="http://www.eldemonionegro.com/wordpress/archivos/2007/01/21/subversion-quick-reference" title="Subversion Quick Reference (21 de Enero de 2007)">Subversion Quick Reference</a></li>
</ul></div>


	<span class="tag"> Etiquetas: </span><a href="http://www.eldemonionegro.com/wordpress/etiquetas/admin-access" title="admin access" rel="tag">admin access</a>, <a href="http://www.eldemonionegro.com/wordpress/etiquetas/repository" title="repository" rel="tag">repository</a>, <a href="http://www.eldemonionegro.com/wordpress/etiquetas/subversion" title="subversion" rel="tag">subversion</a>, <a href="http://www.eldemonionegro.com/wordpress/etiquetas/svn" title="svn" rel="tag">svn</a>, <a href="http://www.eldemonionegro.com/wordpress/etiquetas/svn2svn" title="svn2svn" rel="tag">svn2svn</a>, <a href="http://www.eldemonionegro.com/wordpress/etiquetas/svnadmin" title="svnadmin" rel="tag">svnadmin</a><br/>
]]></content:encoded>
			<wfw:commentRss>http://www.eldemonionegro.com/wordpress/archivos/2008/04/07/switchmigration-of-subversion-repository-without-admin-access-svn2svn/feed</wfw:commentRss>
		</item>
		<item>
		<title>[GLKM] Subversion project stats measures with mpy-svn-stats</title>
		<link>http://www.eldemonionegro.com/wordpress/archivos/2008/02/29/glkm-subversion-project-stats-measures-with-mpy-svn-stats</link>
		<comments>http://www.eldemonionegro.com/wordpress/archivos/2008/02/29/glkm-subversion-project-stats-measures-with-mpy-svn-stats#comments</comments>
		<pubDate>Fri, 29 Feb 2008 00:18:37 +0000</pubDate>
		<dc:creator>kike</dc:creator>
		
		<category><![CDATA[GNU/Linux (Debian)]]></category>

		<category><![CDATA[Informática]]></category>

		<category><![CDATA[Proyectos]]></category>

		<category><![CDATA[glkm]]></category>

		<category><![CDATA[profesional]]></category>

		<category><![CDATA[command line tool]]></category>

		<category><![CDATA[graph]]></category>

		<category><![CDATA[mpy-svn-stats]]></category>

		<category><![CDATA[project measures]]></category>

		<category><![CDATA[project stats]]></category>

		<category><![CDATA[ssh]]></category>

		<category><![CDATA[subversion]]></category>

		<category><![CDATA[svn statistics]]></category>

		<guid isPermaLink="false">http://www.eldemonionegro.com/wordpress/archivos/2008/02/29/glkm-subversion-project-stats-measures-with-mpy-svn-stats</guid>
		<description><![CDATA[<img src="http://www.eldemonionegro.com/wordpress/wp-content/wp-archivos/categoria_linux-debian.png" width="110" height="83" alt="" title="GNU/Linux (Debian)" /><br/>A simple command line tool called mpy-svn-stats give us nice graphics using svn XML output.
You can see an example GLKM project statistics
It&#8217;s quite easy to use, see:

user@machine:/var/www/svn-stats$ mpy-svn-stats -o ./ svn+ssh://localhost/var/lib/svn/glkm/
Will generate PIL graphs.
getting data
running command: &#8220;svn -v &#8211;XML log svn+ssh://localhost/var/lib/svn/glkm/&#8221;
[...ssh stuff...]
done
parsing data
done
calculating stats
done
writing data
done
Have 13 stats objects, 13 of them are wanted.
user@machine:/var/www/svn-stats$ ll
total 48
-rw-r&#8211;r&#8211; [...]]]></description>
			<content:encoded><![CDATA[<img src="http://www.eldemonionegro.com/wordpress/wp-content/wp-archivos/categoria_linux-debian.png" width="110" height="83" alt="" title="GNU/Linux (Debian)" /><br/><p>A simple command line tool called mpy-svn-stats give us nice graphics using svn <abbr title="eXtensible Markup Language" xml:lang="en" lang="en">XML</abbr> output.</p>
<p>You can see an example <a href="/svn-stats/" class="broken_link"><abbr title="GNOME LINUX Kernel Monitor" xml:lang="en" lang="en">GLKM</abbr> project statistics</a></p>
<p>It&#8217;s quite easy to use, see:</p>
<p class="terminal">
user@machine:/var/www/svn-stats$ mpy-svn-stats -o ./ svn+ssh://localhost/var/lib/svn/glkm/<br />
Will generate PIL graphs.<br />
getting data<br />
running command: &#8220;svn -v &#8211;<abbr title="eXtensible Markup Language" xml:lang="en" lang="en">XML</abbr> log svn+ssh://localhost/var/lib/svn/glkm/&#8221;<br />
[...ssh stuff...]<br />
done<br />
parsing data<br />
done<br />
calculating stats<br />
done<br />
writing data<br />
done<br />
Have 13 stats objects, 13 of them are wanted.<br />
user@machine:/var/www/svn-stats$ ll<br />
total 48<br />
-rw-r&#8211;r&#8211; 1 user user 10379 2008-02-06 17:06 changed_paths_multi_author_graph.png<br />
-rw-r&#8211;r&#8211; 1 user user 10268 2008-02-06 17:06 commits_group_multi_author_graph.png<br />
-rw-r&#8211;r&#8211; 1 user user 11762 2008-02-06 17:06 index.html<br />
-rw-r&#8211;r&#8211; 1 user user 10265 2008-02-06 17:06 log_message_length_group_multi_author_graph.png<br />
user@machine:/var/www/svn-stats$
</p>
<h5>References and links</h5>
<ul>
<li>project web page <a href="http://mpy-svn-stats.berlios.de/">mpy-svn-stats</a></li>
</ul>
<p><map name='google_ad_map_432_fc162ee2f6c09e91'>
<area shape='rect' href='http://imageads.googleadservices.com/pagead/imgclick/432?pos=0' coords='1,2,367,28' />
<area shape='rect' href='http://services.google.com/feedback/abg' coords='384,10,453,23'/></map>
<img usemap='#google_ad_map_432_fc162ee2f6c09e91' border='0' src='http://imageads.googleadservices.com/pagead/ads?format=468x30_aff_img&amp;client=&amp;channel=&amp;output=png&amp;cuid=432&amp;url= http%3A%2F%2Fwww.eldemonionegro.com%2Fwordpress%2Farchivos%2F2008%2F02%2F29%2Fglkm-subversion-project-stats-measures-with-mpy-svn-stats' /></p>
	<div class="st-related-posts">Te interesará:
	<ul>
	<li><a href="http://www.eldemonionegro.com/wordpress/archivos/2007/11/05/glkm-funcionalidades" title="[GLKM] Funcionalidades (5 de Noviembre de 2007)">[GLKM] Funcionalidades</a></li>
	<li><a href="http://www.eldemonionegro.com/wordpress/archivos/2007/04/03/glkm-documentacion-y-definicion" title="[GLKM] Documentación y definición (3 de Abril de 2007)">[GLKM] Documentación y definición</a></li>
	<li><a href="http://www.eldemonionegro.com/wordpress/archivos/2008/04/07/switchmigration-of-subversion-repository-without-admin-access-svn2svn" title="Switch/Migration of Subversion repository without admin access (svn2svn) (7 de Abril de 2008)">Switch/Migration of Subversion repository without admin access (svn2svn)</a></li>
	<li><a href="http://www.eldemonionegro.com/wordpress/archivos/2007/01/21/subversion-quick-reference" title="Subversion Quick Reference (21 de Enero de 2007)">Subversion Quick Reference</a></li>
	<li><a href="http://www.eldemonionegro.com/wordpress/archivos/2006/11/07/realizar-un-proyecto-de-software-libre-desde-0" title="Realizar un proyecto de software libre desde 0 (7 de Noviembre de 2006)">Realizar un proyecto de software libre desde 0</a></li>
</ul></div>


	<span class="tag"> Etiquetas: </span><a href="http://www.eldemonionegro.com/wordpress/etiquetas/command-line-tool" title="command line tool" rel="tag">command line tool</a>, <a href="http://www.eldemonionegro.com/wordpress/etiquetas/glkm" title="glkm" rel="tag">glkm</a>, <a href="http://www.eldemonionegro.com/wordpress/etiquetas/graph" title="graph" rel="tag">graph</a>, <a href="http://www.eldemonionegro.com/wordpress/etiquetas/mpy-svn-stats" title="mpy-svn-stats" rel="tag">mpy-svn-stats</a>, <a href="http://www.eldemonionegro.com/wordpress/etiquetas/project-measures" title="project measures" rel="tag">project measures</a>, <a href="http://www.eldemonionegro.com/wordpress/etiquetas/project-stats" title="project stats" rel="tag">project stats</a>, <a href="http://www.eldemonionegro.com/wordpress/etiquetas/ssh" title="ssh" rel="tag">ssh</a>, <a href="http://www.eldemonionegro.com/wordpress/etiquetas/subversion" title="subversion" rel="tag">subversion</a>, <a href="http://www.eldemonionegro.com/wordpress/etiquetas/svn-statistics" title="svn statistics" rel="tag">svn statistics</a><br/>
]]></content:encoded>
			<wfw:commentRss>http://www.eldemonionegro.com/wordpress/archivos/2008/02/29/glkm-subversion-project-stats-measures-with-mpy-svn-stats/feed</wfw:commentRss>
		</item>
		<item>
		<title>[GLKM] Funcionalidades</title>
		<link>http://www.eldemonionegro.com/wordpress/archivos/2007/11/05/glkm-funcionalidades</link>
		<comments>http://www.eldemonionegro.com/wordpress/archivos/2007/11/05/glkm-funcionalidades#comments</comments>
		<pubDate>Mon, 05 Nov 2007 00:29:25 +0000</pubDate>
		<dc:creator>kike</dc:creator>
		
		<category><![CDATA[GNU/Linux (Debian)]]></category>

		<category><![CDATA[Informática]]></category>

		<category><![CDATA[Proyectos]]></category>

		<category><![CDATA[glkm]]></category>

		<category><![CDATA[profesional]]></category>

		<category><![CDATA[dtrace]]></category>

		<category><![CDATA[ideas]]></category>

		<category><![CDATA[monitorización]]></category>

		<category><![CDATA[pfc]]></category>

		<category><![CDATA[proyecto]]></category>

		<category><![CDATA[systemtap]]></category>

		<guid isPermaLink="false">http://www.eldemonionegro.com/wordpress/archivos/2007/11/05/glkm-funcionalidades/</guid>
		<description><![CDATA[<img src="http://www.eldemonionegro.com/wordpress/wp-content/wp-archivos/categoria_linux-debian.png" width="110" height="83" alt="" title="GNU/Linux (Debian)" /><br/>En esta entrada sólo me limito a escribir las principales funcionalidades/objetivos que ya pensé de dotar a mi PFC. Son un poco datos que debí haber publicado hace ya algún tiempo (para variar).
A priori no tengo porque implementarlo todo para poder terminar, ya que como se puede observar, terminan siendo muchas cosas.
Este futuro monitor gráfico [...]]]></description>
			<content:encoded><![CDATA[<img src="http://www.eldemonionegro.com/wordpress/wp-content/wp-archivos/categoria_linux-debian.png" width="110" height="83" alt="" title="GNU/Linux (Debian)" /><br/><p>En esta entrada sólo me limito a escribir las principales funcionalidades/objetivos que ya pensé de dotar a mi <abbr title="Proyecto Fin de Carrera" xml:lang="es" lang="es">PFC</abbr>. Son un poco datos que debí haber publicado hace ya algún tiempo (para variar).<br />
A priori no tengo porque implementarlo todo para poder terminar, ya que como se puede observar, terminan siendo muchas cosas.</p>
<p>Este futuro monitor gráfico de procesos del kernel <abbr title="Linux is not Unix" xml:lang="en" lang="en">LINUX</abbr> será útil para depurar procesos tanto de la propia máquina como de una máquina remota.<br />
La información monitorizada corresponde a las estructuras internas del sistema operativo, más concretamente, del sistema de ficheros con respecto a los procesos.</p>
<ul>
<li>Orientado a una interfaz gráfica.</li>
<li>Monitorización en red.</li>
<li>Monitorización de procesos. Específicamente atributos de ficheros Reiser. Por supuesto la arquitectura va encaminada a extensiones que permitan ampliar las estructuras a monitorizar</li>
<li>Visualizar/Monitorizar grupos de procesos simultáneamente.</li>
<li>Estadísticas del uso de ficheros (opcional)</li>
<li>Tipos de monitorización: Tiempo real o asíncrona. En tiempo real se toman datos cada intervalo X de tiempo de forma constante. En el caso de monitorización asíncrona se toman datos en los instantes que se indiquen.</li>
<li>Integración con DBUS/HAL. En la medida de lo posible quiero llevar la comunicación entre la interfaz gráfica y el módulo del kernel por DBUS. A ver como sale.</li>
</ul>
<p>No cabe duda que no quiero perder de vista al dtrace para <abbr title="Linux is not Unix" xml:lang="en" lang="en">LINUX</abbr>, <a href="http://sourceware.org/systemtap/">systemtap</a>. Systemtap realiza labores similares al fin y al cabo.<br />
Para quien no conozca estas herramientas en los siguiente párrafos hago un breve resumen.<br />
Dtrace y systemtap son muy similares, sólo que una está ligada a Solaris y la otra a <abbr title="Linux is not Unix" xml:lang="en" lang="en">LINUX</abbr>. Como en mi caso, monitorizar el núcleo del sistema operativo te cierne (un poco por definición) a ser una herramienta monoplataforma. Ambas proveen unos &#8220;lenguajes&#8221; propios que permiten extraer/monitorizar variables del sistema operativo.<br />
Con dicha información se pueden realizar estadísticas y depuración como objetivo primordial.</p>
<p><map name='google_ad_map_423_fc162ee2f6c09e91'>
<area shape='rect' href='http://imageads.googleadservices.com/pagead/imgclick/423?pos=0' coords='1,2,367,28' />
<area shape='rect' href='http://services.google.com/feedback/abg' coords='384,10,453,23'/></map>
<img usemap='#google_ad_map_423_fc162ee2f6c09e91' border='0' src='http://imageads.googleadservices.com/pagead/ads?format=468x30_aff_img&amp;client=&amp;channel=&amp;output=png&amp;cuid=423&amp;url= http%3A%2F%2Fwww.eldemonionegro.com%2Fwordpress%2Farchivos%2F2007%2F11%2F05%2Fglkm-funcionalidades' /></p>
	<div class="st-related-posts">Te interesará:
	<ul>
	<li><a href="http://www.eldemonionegro.com/wordpress/archivos/2008/02/29/glkm-subversion-project-stats-measures-with-mpy-svn-stats" title="[GLKM] Subversion project stats measures with mpy-svn-stats (29 de Febrero de 2008)">[GLKM] Subversion project stats measures with mpy-svn-stats</a></li>
	<li><a href="http://www.eldemonionegro.com/wordpress/archivos/2007/04/03/glkm-documentacion-y-definicion" title="[GLKM] Documentación y definición (3 de Abril de 2007)">[GLKM] Documentación y definición</a></li>
	<li><a href="http://www.eldemonionegro.com/wordpress/archivos/2006/11/09/viewvc-previously-viewcvs" title="Viewvc (previously viewcvs) (9 de Noviembre de 2006)">Viewvc (previously viewcvs)</a></li>
	<li><a href="http://www.eldemonionegro.com/wordpress/archivos/2007/06/06/svn-can-not-read-file-varlibsvnglkmdbrevprops5-end-of-file-found" title="svn: can not read file &#8216;/var/lib/svn/glkm/db/revprops/5&#8242;: End of file found (6 de Junio de 2007)">svn: can not read file &#8216;/var/lib/svn/glkm/db/revprops/5&#8242;: End of file found</a></li>
	<li><a href="http://www.eldemonionegro.com/wordpress/archivos/2006/11/09/subversion-server-howto" title="Subversion Server. Howto (9 de Noviembre de 2006)">Subversion Server. Howto</a></li>
</ul></div>


	<span class="tag"> Etiquetas: </span><a href="http://www.eldemonionegro.com/wordpress/etiquetas/dtrace" title="dtrace" rel="tag">dtrace</a>, <a href="http://www.eldemonionegro.com/wordpress/etiquetas/glkm" title="glkm" rel="tag">glkm</a>, <a href="http://www.eldemonionegro.com/wordpress/etiquetas/ideas" title="ideas" rel="tag">ideas</a>, <a href="http://www.eldemonionegro.com/wordpress/etiquetas/monitorizacion" title="monitorización" rel="tag">monitorización</a>, <a href="http://www.eldemonionegro.com/wordpress/etiquetas/pfc" title="pfc" rel="tag">pfc</a>, <a href="http://www.eldemonionegro.com/wordpress/etiquetas/proyecto" title="proyecto" rel="tag">proyecto</a>, <a href="http://www.eldemonionegro.com/wordpress/etiquetas/systemtap" title="systemtap" rel="tag">systemtap</a><br/>
]]></content:encoded>
			<wfw:commentRss>http://www.eldemonionegro.com/wordpress/archivos/2007/11/05/glkm-funcionalidades/feed</wfw:commentRss>
		</item>
		<item>
		<title>PKG_PROG_PKG_CONFIG: command not found</title>
		<link>http://www.eldemonionegro.com/wordpress/archivos/2007/07/25/pkg_prog_pkg_config-command-not-found</link>
		<comments>http://www.eldemonionegro.com/wordpress/archivos/2007/07/25/pkg_prog_pkg_config-command-not-found#comments</comments>
		<pubDate>Wed, 25 Jul 2007 18:51:40 +0000</pubDate>
		<dc:creator>kike</dc:creator>
		
		<category><![CDATA[GNU/Linux (Debian)]]></category>

		<category><![CDATA[Informática]]></category>

		<category><![CDATA[Proyectos]]></category>

		<category><![CDATA[glkm]]></category>

		<category><![CDATA[profesional]]></category>

		<category><![CDATA[autotools]]></category>

		<category><![CDATA[hal]]></category>

		<category><![CDATA[libhal]]></category>

		<category><![CDATA[PKG PROG PKG CONFIG]]></category>

		<guid isPermaLink="false">http://www.eldemonionegro.com/wordpress/archivos/2007/07/25/pkg_prog_pkg_config-command-not-found/</guid>
		<description><![CDATA[<img src="http://www.eldemonionegro.com/wordpress/wp-content/wp-archivos/categoria_linux-debian.png" width="110" height="83" alt="" title="GNU/Linux (Debian)" /><br/>Minutes ago I was trying to compile hal++ a wrapper for libhal developed by beep-media-player team.
While executing configure I&#8217;ve got this error:

./configure: line XXXXX: PKG_PROG_PKG_CONFIG: command not found

It was not expected because I did have autotools and pkg-config already installed. And as incredible as I had compiled without any error hal++ in other Debian testing/unstable [...]]]></description>
			<content:encoded><![CDATA[<img src="http://www.eldemonionegro.com/wordpress/wp-content/wp-archivos/categoria_linux-debian.png" width="110" height="83" alt="" title="GNU/Linux (Debian)" /><br/><p>Minutes ago I was trying to compile <a href="http://projects.beep-media-player.org/index.php/Main/Hal">hal++</a> a wrapper for libhal developed by beep-media-player team.<br />
While executing configure I&#8217;ve got this error:</p>
<p class="terminal">
./configure: line XXXXX: PKG_PROG_PKG_CONFIG: command not found
</p>
<p>It was not expected because I did have autotools and pkg-config already installed. And as incredible as I had compiled without any error hal++ in other Debian testing/unstable machine (I was in a Debian testing).<br />
So I have investigated a bit with half success. I&#8217;ve found a peace of autotools code which have been useful:</p>
<p class="terminal">
# Check for pkg-config manually first, as if its not installed the<br />
# PKG_PROG_PKG_CONFIG macro won&#8217;t be defined.<br />
#<br />
AC_CHECK_PROG(have_pkg_config, pkg-config, yes, no)<br />
#<br />
if test x&#8221;$have_pkg_config&#8221; == xno; then<br />
    AC_MSG_ERROR(pkg-config is required to install this program)<br />
fi<br />
#<br />
PKG_PROG_PKG_CONFIG
</p>
<p>It&#8217;s only a couple of verifications, which are not introducing anything new, but it was incredibly worked.</p>
<p>Now, I&#8217;ll try libhal++ to see if I can do what I want in C++.</p>
<p><map name='google_ad_map_536_fc162ee2f6c09e91'>
<area shape='rect' href='http://imageads.googleadservices.com/pagead/imgclick/536?pos=0' coords='1,2,367,28' />
<area shape='rect' href='http://services.google.com/feedback/abg' coords='384,10,453,23'/></map>
<img usemap='#google_ad_map_536_fc162ee2f6c09e91' border='0' src='http://imageads.googleadservices.com/pagead/ads?format=468x30_aff_img&amp;client=&amp;channel=&amp;output=png&amp;cuid=536&amp;url= http%3A%2F%2Fwww.eldemonionegro.com%2Fwordpress%2Farchivos%2F2007%2F07%2F25%2Fpkg_prog_pkg_config-command-not-found' /></p>
	<div class="st-related-posts">Te interesará:
	<ul>
	<li><a href="http://www.eldemonionegro.com/wordpress/archivos/2008/02/29/glkm-subversion-project-stats-measures-with-mpy-svn-stats" title="[GLKM] Subversion project stats measures with mpy-svn-stats (29 de Febrero de 2008)">[GLKM] Subversion project stats measures with mpy-svn-stats</a></li>
	<li><a href="http://www.eldemonionegro.com/wordpress/archivos/2007/11/05/glkm-funcionalidades" title="[GLKM] Funcionalidades (5 de Noviembre de 2007)">[GLKM] Funcionalidades</a></li>
	<li><a href="http://www.eldemonionegro.com/wordpress/archivos/2007/04/03/glkm-documentacion-y-definicion" title="[GLKM] Documentación y definición (3 de Abril de 2007)">[GLKM] Documentación y definición</a></li>
	<li><a href="http://www.eldemonionegro.com/wordpress/archivos/2006/11/09/viewvc-previously-viewcvs" title="Viewvc (previously viewcvs) (9 de Noviembre de 2006)">Viewvc (previously viewcvs)</a></li>
	<li><a href="http://www.eldemonionegro.com/wordpress/archivos/2007/06/06/svn-can-not-read-file-varlibsvnglkmdbrevprops5-end-of-file-found" title="svn: can not read file &#8216;/var/lib/svn/glkm/db/revprops/5&#8242;: End of file found (6 de Junio de 2007)">svn: can not read file &#8216;/var/lib/svn/glkm/db/revprops/5&#8242;: End of file found</a></li>
</ul></div>


	<span class="tag"> Etiquetas: </span><a href="http://www.eldemonionegro.com/wordpress/etiquetas/autotools" title="autotools" rel="tag">autotools</a>, <a href="http://www.eldemonionegro.com/wordpress/etiquetas/glkm" title="glkm" rel="tag">glkm</a>, <a href="http://www.eldemonionegro.com/wordpress/etiquetas/hal" title="hal" rel="tag">hal</a>, <a href="http://www.eldemonionegro.com/wordpress/etiquetas/libhal" title="libhal" rel="tag">libhal</a>, <a href="http://www.eldemonionegro.com/wordpress/etiquetas/pkg-prog-pkg-config" title="PKG PROG PKG CONFIG" rel="tag">PKG PROG PKG CONFIG</a><br/>
]]></content:encoded>
			<wfw:commentRss>http://www.eldemonionegro.com/wordpress/archivos/2007/07/25/pkg_prog_pkg_config-command-not-found/feed</wfw:commentRss>
		</item>
		<item>
		<title>intltoolize: cannot copy &#8216;/usr/share/intltool/Makefile.in.in&#8217; to &#8216;po/Makefile.in.in&#8217;</title>
		<link>http://www.eldemonionegro.com/wordpress/archivos/2007/06/14/intltoolize-cannot-copy-usrshareintltoolmakefileinin-to-pomakefileinin</link>
		<comments>http://www.eldemonionegro.com/wordpress/archivos/2007/06/14/intltoolize-cannot-copy-usrshareintltoolmakefileinin-to-pomakefileinin#comments</comments>
		<pubDate>Thu, 14 Jun 2007 22:44:17 +0000</pubDate>
		<dc:creator>kike</dc:creator>
		
		<category><![CDATA[GNU/Linux (Debian)]]></category>

		<category><![CDATA[Informática]]></category>

		<category><![CDATA[Proyectos]]></category>

		<category><![CDATA[glkm]]></category>

		<category><![CDATA[autotools]]></category>

		<category><![CDATA[howto]]></category>

		<category><![CDATA[intltoolize]]></category>

		<category><![CDATA[pfc]]></category>

		<guid isPermaLink="false">http://www.eldemonionegro.com/wordpress/archivos/2007/06/14/intltoolize-cannot-copy-usrshareintltoolmakefileinin-to-pomakefileinin/</guid>
		<description><![CDATA[<img src="http://www.eldemonionegro.com/wordpress/wp-content/wp-archivos/categoria_linux-debian.png" width="110" height="83" alt="" title="GNU/Linux (Debian)" /><br/>Un pequeño problema para el que no he encontrado la solución por más que he buscado.
El problema ha surgido ahora que estoy usando las autotools para automatizar toda la compilación, linkado y distribución de GLKM.
El caso es que al ejecutar el autogen.sh que tengo preparado me salía un mensaje, entre la maraña que sueltan estas [...]]]></description>
			<content:encoded><![CDATA[<img src="http://www.eldemonionegro.com/wordpress/wp-content/wp-archivos/categoria_linux-debian.png" width="110" height="83" alt="" title="GNU/Linux (Debian)" /><br/><p>Un pequeño problema para el que no he encontrado la solución por más que he buscado.<br />
El problema ha surgido ahora que estoy usando las autotools para automatizar toda la compilación, linkado y distribución de <abbr title="GNOME LINUX Kernel Monitor" xml:lang="en" lang="en">GLKM</abbr>.</p>
<p>El caso es que al ejecutar el autogen.sh que tengo preparado me salía un mensaje, entre la maraña que sueltan estas herramientas, del tipo:</p>
<p class="terminal">
user@einstein:~/svn/pfc/trunk/gui$ ./autogen.sh<br />
&#8230;<br />
cp: no se puede crear el fichero regular «po/Makefile.in.in»: No existe el fichero o el directorio<br />
&#8230;
</p>
<p>Acotando el comando que fallaba lo ejecuté en modo depuración, para saber que hacía exactamente.</p>
<p class="terminal">
user@einstein:~/svn/pfc/trunk/gui$ intltoolize &#8211;copy &#8211;force &#8211;automake &#8211;debug<br />
intltoolize: enabling shell trace mode<br />
+ test -f configure.ac<br />
+ configure=configure.ac<br />
+ files=&#8217;intltool-extract.in intltool-merge.in intltool-update.in po/Makefile.in.in&#8217;<br />
+ auxdir=.<br />
++ egrep &#8216;^AC_CONFIG_AUX_DIR&#8217; configure.ac<br />
+ auxdirline=&#8217;AC_CONFIG_AUX_DIR([build-aux])&#8217;<br />
+ test -n &#8216;AC_CONFIG_AUX_DIR([build-aux])&#8217;<br />
++ echo &#8216;AC_CONFIG_AUX_DIR([build-aux])&#8217;<br />
++ sed &#8217;s/^AC_CONFIG_AUX_DIR(\([^)]*\)).*$/\1/&#8217;<br />
+ auxdir=&#8217;[build-aux]&#8216;<br />
+ test &#8216;[build-aux]&#8216; = &#8216;AC_CONFIG_AUX_DIR([build-aux])&#8217;<br />
++ echo &#8216;[build-aux]&#8216;<br />
++ sed &#8217;s/^\[\(.*\)\]$/\1/g&#8217;<br />
+ auxdir=build-aux<br />
+ case &#8220;$auxdir&#8221; in<br />
+ test -z yes<br />
++ pwd<br />
+ cur=/home/user/svn/pfc/trunk/gui<br />
+ test build-aux &#8216;!=&#8217; .<br />
+ test -z yes<br />
+ cd build-aux<br />
+ for file in &#8216;$files&#8217;<br />
+ test -f intltool-extract.in<br />
+ test -z yes<br />
+ rm -f intltool-extract.in<br />
+ test -n &#8221;<br />
++ basename intltool-extract.in<br />
+ cp -f /usr/share/intltool/intltool-extract.in intltool-extract.in<br />
+ :<br />
+ for file in &#8216;$files&#8217;<br />
+ test -f intltool-merge.in<br />
+ test -z yes<br />
+ rm -f intltool-merge.in<br />
+ test -n &#8221;<br />
++ basename intltool-merge.in<br />
+ cp -f /usr/share/intltool/intltool-merge.in intltool-merge.in<br />
+ :<br />
+ for file in &#8216;$files&#8217;<br />
+ test -f intltool-update.in<br />
+ test -z yes<br />
+ rm -f intltool-update.in<br />
+ test -n &#8221;<br />
++ basename intltool-update.in<br />
+ cp -f /usr/share/intltool/intltool-update.in intltool-update.in<br />
+ :<br />
+ for file in &#8216;$files&#8217;<br />
+ test -f po/Makefile.in.in<br />
+ rm -f po/Makefile.in.in<br />
+ test -n &#8221;<br />
++ basename po/Makefile.in.in<br />
+ cp -f /usr/share/intltool/Makefile.in.in po/Makefile.in.in<br />
cp: no se puede crear el fichero regular «po/Makefile.in.in»: No existe el fichero o el directorio<br />
++ basename po/Makefile.in.in<br />
+ echo &#8216;intltoolize: cannot copy &#8216;\&#8221;/usr/share/intltool/Makefile.in.in&#8217;\&#8221; to &#8216;\&#8221;po/Makefile.in.in&#8217;\&#8221;&#8217;<br />
intltoolize: cannot copy &#8216;/usr/share/intltool/Makefile.in.in&#8217; to &#8216;po/Makefile.in.in&#8217;<br />
+ status=1<br />
+ exit 1<br />
+ exit 1
</p>
<p>Estoy usando un directorio para guardar los archivos de autoconf (<em>config-aux</em>) y tener la estructura de directorios y archivos ordenadita.<br />
Ahí radicaba el problema. Así que con crear un directorio llamado po bajo ese directorio ha desaparecido el error.</p>
<p class="terminal">
user@einstein:~/svn/pfc/trunk/gui$ cd config-aux/<br />
user@einstein:~/svn/pfc/trunk/gui/config-aux$ mkdir po<br />
user@einstein:~/svn/pfc/trunk/gui/config-aux$ ll<br />
total 412K<br />
-rwxr-xr-x 1 user user  44K 2007-04-20 04:09 config.guess*<br />
-rwxr-xr-x 1 user user  32K 2007-04-20 04:09 config.sub*<br />
-rwxr-xr-x 1 user user  18K 2007-06-07 21:28 depcomp*<br />
-rwxr-xr-x 1 user user  13K 2007-06-07 21:28 install-sh*<br />
-rw-r&#8211;r&#8211; 1 user user  23K 2007-06-14 16:53 intltool-extract.in<br />
-rw-r&#8211;r&#8211; 1 user user  36K 2007-06-14 16:53 intltool-merge.in<br />
-rw-r&#8211;r&#8211; 1 user user  28K 2007-06-14 16:53 intltool-update.in<br />
-rw-r&#8211;r&#8211; 1 user user 193K 2006-03-11 19:49 ltmain.sh<br />
-rwxr-xr-x 1 user user  11K 2007-06-07 21:28 missing*<br />
-rwxr-xr-x 1 user user 2,0K 2007-06-14 16:52 mkinstalldirs*<br />
drwxr-xr-x 2 user user   48 2007-06-14 17:51 po/</p>
<p><map name='google_ad_map_503_fc162ee2f6c09e91'>
<area shape='rect' href='http://imageads.googleadservices.com/pagead/imgclick/503?pos=0' coords='1,2,367,28' />
<area shape='rect' href='http://services.google.com/feedback/abg' coords='384,10,453,23'/></map>
<img usemap='#google_ad_map_503_fc162ee2f6c09e91' border='0' src='http://imageads.googleadservices.com/pagead/ads?format=468x30_aff_img&amp;client=&amp;channel=&amp;output=png&amp;cuid=503&amp;url= http%3A%2F%2Fwww.eldemonionegro.com%2Fwordpress%2Farchivos%2F2007%2F06%2F14%2Fintltoolize-cannot-copy-usrshareintltoolmakefileinin-to-pomakefileinin' /></p>
	<div class="st-related-posts">Te interesará:
	<ul>
	<li><a href="http://www.eldemonionegro.com/wordpress/archivos/2008/02/29/glkm-subversion-project-stats-measures-with-mpy-svn-stats" title="[GLKM] Subversion project stats measures with mpy-svn-stats (29 de Febrero de 2008)">[GLKM] Subversion project stats measures with mpy-svn-stats</a></li>
	<li><a href="http://www.eldemonionegro.com/wordpress/archivos/2007/04/03/glkm-documentacion-y-definicion" title="[GLKM] Documentación y definición (3 de Abril de 2007)">[GLKM] Documentación y definición</a></li>
	<li><a href="http://www.eldemonionegro.com/wordpress/archivos/2007/06/14/vodafone-3g-hsdpa" title="Vodafone 3G HSDPA para linux (14 de Junio de 2007)">Vodafone 3G HSDPA para linux</a></li>
	<li><a href="http://www.eldemonionegro.com/wordpress/archivos/2007/06/06/svn-can-not-read-file-varlibsvnglkmdbrevprops5-end-of-file-found" title="svn: can not read file &#8216;/var/lib/svn/glkm/db/revprops/5&#8242;: End of file found (6 de Junio de 2007)">svn: can not read file &#8216;/var/lib/svn/glkm/db/revprops/5&#8242;: End of file found</a></li>
	<li><a href="http://www.eldemonionegro.com/wordpress/archivos/2007/01/21/subversion-quick-reference" title="Subversion Quick Reference (21 de Enero de 2007)">Subversion Quick Reference</a></li>
</ul></div>


	<span class="tag"> Etiquetas: </span><a href="http://www.eldemonionegro.com/wordpress/etiquetas/autotools" title="autotools" rel="tag">autotools</a>, <a href="http://www.eldemonionegro.com/wordpress/etiquetas/glkm" title="glkm" rel="tag">glkm</a>, <a href="http://www.eldemonionegro.com/wordpress/etiquetas/howto" title="howto" rel="tag">howto</a>, <a href="http://www.eldemonionegro.com/wordpress/etiquetas/intltoolize" title="intltoolize" rel="tag">intltoolize</a>, <a href="http://www.eldemonionegro.com/wordpress/etiquetas/pfc" title="pfc" rel="tag">pfc</a><br/>
]]></content:encoded>
			<wfw:commentRss>http://www.eldemonionegro.com/wordpress/archivos/2007/06/14/intltoolize-cannot-copy-usrshareintltoolmakefileinin-to-pomakefileinin/feed</wfw:commentRss>
		</item>
		<item>
		<title>svn: can not read file &#8216;/var/lib/svn/glkm/db/revprops/5&#8242;: End of file found</title>
		<link>http://www.eldemonionegro.com/wordpress/archivos/2007/06/06/svn-can-not-read-file-varlibsvnglkmdbrevprops5-end-of-file-found</link>
		<comments>http://www.eldemonionegro.com/wordpress/archivos/2007/06/06/svn-can-not-read-file-varlibsvnglkmdbrevprops5-end-of-file-found#comments</comments>
		<pubDate>Wed, 06 Jun 2007 22:17:12 +0000</pubDate>
		<dc:creator>kike</dc:creator>
		
		<category><![CDATA[GNU/Linux (Debian)]]></category>

		<category><![CDATA[Informática]]></category>

		<category><![CDATA[Proyectos]]></category>

		<category><![CDATA[glkm]]></category>

		<category><![CDATA[subversion]]></category>

		<category><![CDATA[svn cannot read file]]></category>

		<category><![CDATA[svn end of file]]></category>

		<guid isPermaLink="false">http://www.eldemonionegro.com/wordpress/archivos/2007/06/06/svn-can-not-read-file-varlibsvnglkmdbrevprops5-end-of-file-found/</guid>
		<description><![CDATA[<img src="http://www.eldemonionegro.com/wordpress/wp-content/wp-archivos/categoria_linux-debian.png" width="110" height="83" alt="" title="GNU/Linux (Debian)" /><br/>Si tras ejecutar subversion con un svn co, o un svn update el resultado de la operación os luce con un bonito:

user@machine:~/svn/pfc/trunk/gui/src$ svn update
svn: No se pudo leer el archivo &#8216;/var/lib/svn/glkm/db/revprops/5&#8242;: End of file found

El problema es que el archivo en cuestión, llamémosle forunculo, contiene algún error.
Hasta aquí todo esto lo puede haber pensado cualquier [...]]]></description>
			<content:encoded><![CDATA[<img src="http://www.eldemonionegro.com/wordpress/wp-content/wp-archivos/categoria_linux-debian.png" width="110" height="83" alt="" title="GNU/Linux (Debian)" /><br/><p><br/><br />
Si tras ejecutar <em>subversion</em> con un <em>svn co</em>, o un <em>svn update</em> el resultado de la operación os luce con un bonito:</p>
<p class="terminal">
user@machine:~/svn/pfc/trunk/gui/src$ svn update<br />
svn: No se pudo leer el archivo &#8216;/var/lib/svn/glkm/db/revprops/5&#8242;: End of file found
</p>
<p>El problema es que el archivo en cuestión, llamémosle forunculo, contiene algún error.<br />
Hasta aquí todo esto lo puede haber pensado cualquier hijo de vecino.</p>
<p>En mi caso salía porque había tocado a mano ese archivo para modificar el log de <em>subversion</em> en ese commit/revision, número 5. Le había quitado algunas letras y lo había dejado tal cual.<br />
Cuando intenté posteriormente obtener esa versión para hacer unas pruebas me encontré con el fallo.</p>
<p>Estos archivos de propiedades de cada versión (eso deduzco por el nombre) contienen unos campos de control de longitud, algo muy cutre, pero muy sencillo. Para arreglar el problema hay que contar de manera exacta los caracteres ocupados (yo resté, menos mal que eran pocos).</p>
<p>Un ejemplo similar al caso real (Ojo, antes del END deberían aparecer 2 líneas vacías, en el ejemplo no se muestran):</p>
<p class="terminal">
user@machine-svnserver:/var/lib/svn/glkm/db# cat revprops/5<br />
K 10<br />
K 10<br />
svn:author<br />
V 9<br />
wodofredo<br />
K 8<br />
svn:date<br />
V 27<br />
2007-05-11T17:44:13.460401Z<br />
K 7<br />
svn:log<br />
V 19<br />
2007-05-11  Enrique<br />
END
</p>
<p class="terminal">
aristoteles:/var/lib/svn/glkm/db# diff revprops/5 revprops/5~<br />
< V 24<br />
< 2007-05-11  Enrique jdfgj<br />
---<br />
> V 19<br />
> 2007-05-11  Enrique</p>
<p><map name='google_ad_map_490_fc162ee2f6c09e91'>
<area shape='rect' href='http://imageads.googleadservices.com/pagead/imgclick/490?pos=0' coords='1,2,367,28' />
<area shape='rect' href='http://services.google.com/feedback/abg' coords='384,10,453,23'/></map>
<img usemap='#google_ad_map_490_fc162ee2f6c09e91' border='0' src='http://imageads.googleadservices.com/pagead/ads?format=468x30_aff_img&amp;client=&amp;channel=&amp;output=png&amp;cuid=490&amp;url= http%3A%2F%2Fwww.eldemonionegro.com%2Fwordpress%2Farchivos%2F2007%2F06%2F06%2Fsvn-can-not-read-file-varlibsvnglkmdbrevprops5-end-of-file-found' /></p>
	<div class="st-related-posts">Te interesará:
	<ul>
	<li><a href="http://www.eldemonionegro.com/wordpress/archivos/2007/11/05/glkm-funcionalidades" title="[GLKM] Funcionalidades (5 de Noviembre de 2007)">[GLKM] Funcionalidades</a></li>
	<li><a href="http://www.eldemonionegro.com/wordpress/archivos/2008/04/07/switchmigration-of-subversion-repository-without-admin-access-svn2svn" title="Switch/Migration of Subversion repository without admin access (svn2svn) (7 de Abril de 2008)">Switch/Migration of Subversion repository without admin access (svn2svn)</a></li>
	<li><a href="http://www.eldemonionegro.com/wordpress/archivos/2007/01/21/subversion-quick-reference" title="Subversion Quick Reference (21 de Enero de 2007)">Subversion Quick Reference</a></li>
	<li><a href="http://www.eldemonionegro.com/wordpress/archivos/2006/01/15/script-para-cdmon" title="Script para cdmon (15 de Enero de 2006)">Script para cdmon</a></li>
	<li><a href="http://www.eldemonionegro.com/wordpress/archivos/2006/11/07/realizar-un-proyecto-de-software-libre-desde-0" title="Realizar un proyecto de software libre desde 0 (7 de Noviembre de 2006)">Realizar un proyecto de software libre desde 0</a></li>
</ul></div>


	<span class="tag"> Etiquetas: </span><a href="http://www.eldemonionegro.com/wordpress/etiquetas/glkm" title="glkm" rel="tag">glkm</a>, <a href="http://www.eldemonionegro.com/wordpress/etiquetas/proyectos" title="Proyectos" rel="tag">Proyectos</a>, <a href="http://www.eldemonionegro.com/wordpress/etiquetas/subversion" title="subversion" rel="tag">subversion</a>, <a href="http://www.eldemonionegro.com/wordpress/etiquetas/svn-cannot-read-file" title="svn cannot read file" rel="tag">svn cannot read file</a>, <a href="http://www.eldemonionegro.com/wordpress/etiquetas/svn-end-of-file" title="svn end of file" rel="tag">svn end of file</a><br/>
]]></content:encoded>
			<wfw:commentRss>http://www.eldemonionegro.com/wordpress/archivos/2007/06/06/svn-can-not-read-file-varlibsvnglkmdbrevprops5-end-of-file-found/feed</wfw:commentRss>
		</item>
		<item>
		<title>[GLKM] Documentación y definición</title>
		<link>http://www.eldemonionegro.com/wordpress/archivos/2007/04/03/glkm-documentacion-y-definicion</link>
		<comments>http://www.eldemonionegro.com/wordpress/archivos/2007/04/03/glkm-documentacion-y-definicion#comments</comments>
		<pubDate>Tue, 03 Apr 2007 22:27:18 +0000</pubDate>
		<dc:creator>kike</dc:creator>
		
		<category><![CDATA[Informática]]></category>

		<category><![CDATA[Proyectos]]></category>

		<category><![CDATA[glkm]]></category>

		<category><![CDATA[profesional]]></category>

		<guid isPermaLink="false">http://www.eldemonionegro.com/wordpress/archivos/2007/04/03/glkm-documentacion-y-definicion/</guid>
		<description><![CDATA[<img src="http://www.eldemonionegro.com/wordpress/wp-content/wp-archivos/categoria_informatica.png" width="110" height="73" alt="" title="Informática" /><br/>Para que un proyecto software se lleve a cabo siempre van a hacer falta los mismos pasos. Quizás, según la experiencia o profesionalidad del equipo que lo lleve a cabo, se puedan omitir algunos pasos.
Los primeros pasos van encaminados a encontrar un problema a solucionar. A buscar una necesidad que necesita ser resuelta.
Es decir, lo [...]]]></description>
			<content:encoded><![CDATA[<img src="http://www.eldemonionegro.com/wordpress/wp-content/wp-archivos/categoria_informatica.png" width="110" height="73" alt="" title="Informática" /><br/><p>Para que un proyecto software se lleve a cabo siempre van a hacer falta los mismos pasos. Quizás, según la experiencia o profesionalidad del equipo que lo lleve a cabo, se puedan omitir algunos pasos.</p>
<p>Los primeros pasos van encaminados a encontrar un problema a solucionar. A buscar una necesidad que necesita ser resuelta.<br />
Es decir, lo que hay que hacer es definir que va a hacer el proyecto.</p>
<p>Otra parte que se da es la de documentación. Porque casi siempre que llevas a cabo un proyecto vas a necesitar saber cosas que desconoces. Tienes que </p>
<p>Ojo, muy importante, en el software, como en la vida, estamos sometidos continuamente a cambios, nuestros o del entorno y tienen una incidencia importantísima en el proyecto.<br />
De nuevo, quiero decir que llevar a cabo un proyecto software no es lineal. No es:</p>
<ol>
<li>escabar</li>
<li>cimientos</li>
<li>cemento</li>
<li>ladrillo</li>
<li>tubos</li>
<li>luz</li>
<li>ventanas</li>
<li>puertas</li>
<li>&#8230;</li>
</ol>
<p>Se trata de: </p>
<ul>
<li>Documentarse. Adquirir conocimientos que no posees</li>
<li>Definir funcionalidades</li>
<li>Planificar proyecto</li>
<li>Diseñar</li>
<li>Implementar</li>
<li>Probar</li>
<li>Documentar. Que consiste en describir lo que estas haciendo.</li>
</ul>
<p>Y cualquiera de estas directrices se puede tener que realizar, y se realizan, en mayor o menor medida, en cualquier momento del proyecto. </p>
<p>Concretamente estoy en fase de documentación desde hace unos cuantos meses ya. Pero es que me es muy fácil esparcirme y de repente ponerme a hacer otra cosa. Lo que se llama falta de concentración (o motivación, ni yo lo se).<br />
Me estoy documentando para ver cómo se escriben interfaces gráficos usando las librerías <abbr title="GUI ToolKit - The GIMP Tool Kit for dcreating user-interfaces" xml:lang="en" lang="en">GTK</abbr>/GNOME. Además estoy intentado usar un IDE para <abbr title="GNU Network Object Model Environment" xml:lang="en" lang="en">GNOME</abbr> llamado anjuta, pero entre que estoy usando la versión que esta en fase de desarrollo (y falla) y que no se manejarlo muy bien, me está costando. Es que no me apetece escribirlo yo todo.<br />
Además me facilita el código para poder hacer la aplicación fácilmente traducible a cualquier idioma.<br />
También me estoy leyendo un manual de C++, que casi no me acordaba de la última vez, a parte de que estoy aprendiendo cosas sobre las que no tenía ni idea de su existencia.</p>
<p>A la vez que me documento (y me disperso), me he ido informando de las herramientas con similares cometidos que ya existen, para ver que me podían aportar cada una de ellas.<br />
Según sabía y descubría más o menos que quería hacer e ido indagando que cosas podía o no usar. Por ejemplo, si usar DBUS para comunicar ciertos eventos. Por ejemplo, si permitir trabajo en red.</p>
<p>Algunas de las características las busco porque un proyecto fin de carrera requiere manejar distintas tecnologías (o debería).<br />
Por otra parte busco que las tecnologías del proyecto encajen y tengan sentido en el programa de forma que lo hagan más usable y útil. </p>
<p>Como veis todo este X se encuentra bajo que yo llamo el caos ordenado o el orden caótico. Muchas ideas y actividades aparentemente inconexas pero a su vez interrelacionadas y que se <em>respetan</em> mucho.</p>
<p><map name='google_ad_map_422_fc162ee2f6c09e91'>
<area shape='rect' href='http://imageads.googleadservices.com/pagead/imgclick/422?pos=0' coords='1,2,367,28' />
<area shape='rect' href='http://services.google.com/feedback/abg' coords='384,10,453,23'/></map>
<img usemap='#google_ad_map_422_fc162ee2f6c09e91' border='0' src='http://imageads.googleadservices.com/pagead/ads?format=468x30_aff_img&amp;client=&amp;channel=&amp;output=png&amp;cuid=422&amp;url= http%3A%2F%2Fwww.eldemonionegro.com%2Fwordpress%2Farchivos%2F2007%2F04%2F03%2Fglkm-documentacion-y-definicion' /></p>
	<div class="st-related-posts">Te interesará:
	<ul>
	<li><a href="http://www.eldemonionegro.com/wordpress/archivos/2008/02/29/glkm-subversion-project-stats-measures-with-mpy-svn-stats" title="[GLKM] Subversion project stats measures with mpy-svn-stats (29 de Febrero de 2008)">[GLKM] Subversion project stats measures with mpy-svn-stats</a></li>
	<li><a href="http://www.eldemonionegro.com/wordpress/archivos/2007/11/05/glkm-funcionalidades" title="[GLKM] Funcionalidades (5 de Noviembre de 2007)">[GLKM] Funcionalidades</a></li>
	<li><a href="http://www.eldemonionegro.com/wordpress/archivos/2008/04/20/whyfloss-conference-08" title="WHYFLOSS Madrid Conference 08 (20 de Abril de 2008)">WHYFLOSS Madrid Conference 08</a></li>
	<li><a href="http://www.eldemonionegro.com/wordpress/archivos/2007/07/01/whyfloss-conference" title="WHYFLOSS Conference (1 de Julio de 2007)">WHYFLOSS Conference</a></li>
	<li><a href="http://www.eldemonionegro.com/wordpress/archivos/2006/07/29/warning-tmpvmware-config0vmnet-onlyvmneto-failed-to-load-not-a-kernel-module-lacks-modinfo-section" title="Warning: &#8220;/tmp/vmware-config0/vmnet-only/vmnet.o&#8221; failed to load: Not a kernel module, lacks modinfo section (29 de Julio de 2006)">Warning: &#8220;/tmp/vmware-config0/vmnet-only/vmnet.o&#8221; failed to load: Not a kernel module, lacks modinfo section</a></li>
</ul></div>


	<span class="tag"> Etiquetas: </span><a href="http://www.eldemonionegro.com/wordpress/etiquetas/glkm" title="glkm" rel="tag">glkm</a>, <a href="http://www.eldemonionegro.com/wordpress/etiquetas/informatica" title="Informática" rel="tag">Informática</a>, <a href="http://www.eldemonionegro.com/wordpress/etiquetas/profesional" title="profesional" rel="tag">profesional</a>, <a href="http://www.eldemonionegro.com/wordpress/etiquetas/proyectos" title="Proyectos" rel="tag">Proyectos</a><br/>
]]></content:encoded>
			<wfw:commentRss>http://www.eldemonionegro.com/wordpress/archivos/2007/04/03/glkm-documentacion-y-definicion/feed</wfw:commentRss>
		</item>
		<item>
		<title>Proyecto Fin de Carrera: Gnome Linux Kernel Monitor (GLKM)</title>
		<link>http://www.eldemonionegro.com/wordpress/archivos/2007/03/08/proyecto-fin-de-carrera-gnome-linux-kernel-monitor-glkm</link>
		<comments>http://www.eldemonionegro.com/wordpress/archivos/2007/03/08/proyecto-fin-de-carrera-gnome-linux-kernel-monitor-glkm#comments</comments>
		<pubDate>Thu, 08 Mar 2007 07:48:52 +0000</pubDate>
		<dc:creator>kike</dc:creator>
		
		<category><![CDATA[Informática]]></category>

		<category><![CDATA[Proyectos]]></category>

		<category><![CDATA[glkm]]></category>

		<category><![CDATA[profesional]]></category>

		<guid isPermaLink="false">http://www.eldemonionegro.com/wordpress/archivos/2007/03/08/proyecto-fin-de-carrera-gnome-linux-kernel-monitor-glkm/</guid>
		<description><![CDATA[<img src="http://www.eldemonionegro.com/wordpress/wp-content/wp-archivos/categoria_informatica.png" width="110" height="73" alt="" title="Informática" /><br/>Con esta entrada anuncio el lanzamiento público del que va a ser mi proyecto Fin de Carrera.
El título es provisional.
Muchos estaban deseando obtener información sobre él. Pues ahora lo vais a poder seguir de cerca.
En las últimas dos semanas he estado configurando la página web y algunos de los servicios necesarios para tener en marcha [...]]]></description>
			<content:encoded><![CDATA[<img src="http://www.eldemonionegro.com/wordpress/wp-content/wp-archivos/categoria_informatica.png" width="110" height="73" alt="" title="Informática" /><br/><p>Con esta entrada anuncio el lanzamiento público del que va a ser mi proyecto Fin de Carrera.<br />
El título es provisional.<br />
Muchos estaban deseando obtener información sobre él. Pues ahora lo vais a poder seguir de cerca.</p>
<p>En las últimas dos semanas he estado configurando la página web y algunos de los servicios necesarios para tener en marcha la infraestructura mínima necesaria para llevar a cabo un proyecto de software libre.<br />
De acuerdo con mi tutor no habría problema en que hiciera todo esto. </p>
<p>Lo que he hecho en concreto ha sido instalar y configurar un software para web que suministra herramientas muy útiles para el desarrollo de un proyecto software. En concreto trac, muy usado en proyectos de software libre.<br />
Trac incluye wiki, navegador de código fuente, gestor de tickets. Además permite extender sus funcionalidades mediante un sistema de plugins.<br />
Con el wiki puedo crear páginas web con la información que crea necesaria.<br />
Con el navegador de código permito a cualquiera ojear el desarrollo del código fuente.<br />
El gestor de tickets es una idea sencillamente genial. En base a esto puedes reportar fallos (bugs) y sugerir funcionalidades (features). Mezclando un poco todo esto puedes seguir cuánto falta para alcanzar cierta meta del proyecto (Roadmap).<br />
El apartado de evolución (Timeline) también es muy útil porque en base a todo (repositorio de código, edición de wiki, gestión de tickets) puedes ver toda la evolución que tiene el proyecto. Es información útil para un desarrollador, para un aquel que no le interesen esto detalles iré narrando en la bitácora la evolución de todo.</p>
<p>La única cosa que me falta para cubrir todos los aspectos de un proyecto de software libre es una lista de correo o foro, pero cómo de momento el único desarrollador voy a ser yo, lo dejo para más adelante. El tiempo dirá.</p>
<p>Lo podéis seguir todo desde:</p>
<p><a href="http://www.eldemonionegro.com/glkm/"><strong><abbr title="GNU Network Object Model Environment" xml:lang="en" lang="en">GNOME</abbr> <abbr title="Linux is not Unix" xml:lang="en" lang="en">LINUX</abbr> Kernel Monitor</strong></a></p>
<p><map name='google_ad_map_421_fc162ee2f6c09e91'>
<area shape='rect' href='http://imageads.googleadservices.com/pagead/imgclick/421?pos=0' coords='1,2,367,28' />
<area shape='rect' href='http://services.google.com/feedback/abg' coords='384,10,453,23'/></map>
<img usemap='#google_ad_map_421_fc162ee2f6c09e91' border='0' src='http://imageads.googleadservices.com/pagead/ads?format=468x30_aff_img&amp;client=&amp;channel=&amp;output=png&amp;cuid=421&amp;url= http%3A%2F%2Fwww.eldemonionegro.com%2Fwordpress%2Farchivos%2F2007%2F03%2F08%2Fproyecto-fin-de-carrera-gnome-linux-kernel-monitor-glkm' /></p>
	<div class="st-related-posts">Te interesará:
	<ul>
	<li><a href="http://www.eldemonionegro.com/wordpress/archivos/2008/02/29/glkm-subversion-project-stats-measures-with-mpy-svn-stats" title="[GLKM] Subversion project stats measures with mpy-svn-stats (29 de Febrero de 2008)">[GLKM] Subversion project stats measures with mpy-svn-stats</a></li>
	<li><a href="http://www.eldemonionegro.com/wordpress/archivos/2007/11/05/glkm-funcionalidades" title="[GLKM] Funcionalidades (5 de Noviembre de 2007)">[GLKM] Funcionalidades</a></li>
	<li><a href="http://www.eldemonionegro.com/wordpress/archivos/2008/04/20/whyfloss-conference-08" title="WHYFLOSS Madrid Conference 08 (20 de Abril de 2008)">WHYFLOSS Madrid Conference 08</a></li>
	<li><a href="http://www.eldemonionegro.com/wordpress/archivos/2007/07/01/whyfloss-conference" title="WHYFLOSS Conference (1 de Julio de 2007)">WHYFLOSS Conference</a></li>
	<li><a href="http://www.eldemonionegro.com/wordpress/archivos/2006/07/29/warning-tmpvmware-config0vmnet-onlyvmneto-failed-to-load-not-a-kernel-module-lacks-modinfo-section" title="Warning: &#8220;/tmp/vmware-config0/vmnet-only/vmnet.o&#8221; failed to load: Not a kernel module, lacks modinfo section (29 de Julio de 2006)">Warning: &#8220;/tmp/vmware-config0/vmnet-only/vmnet.o&#8221; failed to load: Not a kernel module, lacks modinfo section</a></li>
</ul></div>


	<span class="tag"> Etiquetas: </span><a href="http://www.eldemonionegro.com/wordpress/etiquetas/glkm" title="glkm" rel="tag">glkm</a>, <a href="http://www.eldemonionegro.com/wordpress/etiquetas/informatica" title="Informática" rel="tag">Informática</a>, <a href="http://www.eldemonionegro.com/wordpress/etiquetas/profesional" title="profesional" rel="tag">profesional</a>, <a href="http://www.eldemonionegro.com/wordpress/etiquetas/proyectos" title="Proyectos" rel="tag">Proyectos</a><br/>
]]></content:encoded>
			<wfw:commentRss>http://www.eldemonionegro.com/wordpress/archivos/2007/03/08/proyecto-fin-de-carrera-gnome-linux-kernel-monitor-glkm/feed</wfw:commentRss>
		</item>
		<item>
		<title>Subversion Server. Howto</title>
		<link>http://www.eldemonionegro.com/wordpress/archivos/2006/11/09/subversion-server-howto</link>
		<comments>http://www.eldemonionegro.com/wordpress/archivos/2006/11/09/subversion-server-howto#comments</comments>
		<pubDate>Thu, 09 Nov 2006 16:41:02 +0000</pubDate>
		<dc:creator>kike</dc:creator>
		
		<category><![CDATA[GNU/Linux (Debian)]]></category>

		<category><![CDATA[Informática]]></category>

		<category><![CDATA[Proyectos]]></category>

		<category><![CDATA[glkm]]></category>

		<category><![CDATA[apache2]]></category>

		<category><![CDATA[debian]]></category>

		<category><![CDATA[gnu]]></category>

		<category><![CDATA[guia rapida]]></category>

		<category><![CDATA[howto]]></category>

		<category><![CDATA[linux]]></category>

		<category><![CDATA[quick reference]]></category>

		<category><![CDATA[subversion]]></category>

		<guid isPermaLink="false">http://www.eldemonionegro.com/wordpress/archivos/2006/11/09/subversion-server-howto/</guid>
		<description><![CDATA[<img src="http://www.eldemonionegro.com/wordpress/wp-content/wp-archivos/categoria_linux-debian.png" width="110" height="83" alt="" title="GNU/Linux (Debian)" /><br/>Here you can find how to prepare a subversion repository and its integration with Apache 2. 
You need apache with webDAV to access repository content using HTTP or HTTPS protocol. If you prefer not to use apache, then you should use svnserve (prefered in daemon mode). This will mean using svn protocol.
Be careful with firewalls [...]]]></description>
			<content:encoded><![CDATA[<img src="http://www.eldemonionegro.com/wordpress/wp-content/wp-archivos/categoria_linux-debian.png" width="110" height="83" alt="" title="GNU/Linux (Debian)" /><br/><p>Here you can find how to prepare a subversion repository and its integration with Apache 2. </p>
<p>You need apache with webDAV to access repository content using <abbr title="HyperText Transfer Protocol" xml:lang="en" lang="en">HTTP</abbr> or <abbr title="Secure HyperText Transfer Protocol" xml:lang="en" lang="en">HTTPS</abbr> protocol. If you prefer not to use apache, then you should use svnserve (prefered in daemon mode). This will mean using svn protocol.<br />
Be careful with firewalls (see ahead).<br />
And, of course, always better with Debian.</p>
<h4>Subversion for repository administrators (using Apache 2)</h4>
<p>In order to create a repository you need to follow these steps (do it in a root shell).</p>
<p>Install the needed packages:</p>
<ul>
<li>apache2</li>
<li>subversion</li>
<li>libapache2-svn</li>
</ul>
<p>Add next rules to your host in Apache 2. In Debian a mostly equal config (that you should modify) exists under /etc/apache2/mods-available/dav_svn.conf<br />
Configuration sniplet:</p>
<p class="terminal">
< Location /svn><br />
  # Uncomment this to enable the repository,<br />
   DAV svn<br />
  # Set this to the path to your repository<br />
  # SVNPath /var/lib/svn<br />
  # SVNParentPath /var/lib/svn/repository<br />
   SVNPath /var/lib/svn/repository<br />
  # The following allows for basic <abbr title="HyperText Transfer Protocol" xml:lang="en" lang="en">HTTP</abbr> authentication.  Basic authentication<br />
  # should not be considered secure for any particularly rigorous definition of<br />
  # secure.<br />
  # to create a passwd file<br />
  # # rm -f /etc/apache2/dav_svn.passwd<br />
  # # htpasswd2 -c /etc/apache2/dav_svn.passwd dwhedon<br />
  # New password:<br />
  # Re-type new password:<br />
  # Adding password for user dwhedon<br />
  # #<br />
  # http://svnbook.red-bean.com/nightly/en/svn.serverconfig.httpd.html<br />
  # configuration for mixed authenticated/anonymous access<br />
  Satisfy Any<br />
  Require valid-user<br />
  # Uncomment the following 3 lines to enable Basic Authentication<br />
   AuthType Basic<br />
   AuthName &#8220;Subversion Repository&#8221;<br />
   AuthUserFile /etc/apache2/dav_svn.passwd<br />
  # Uncomment the following line to enable Authz Authentication<br />
  # AuthzSVNAccessFile /etc/apache2/dav_svn.authz<br />
  # The following three lines allow anonymous read, but make<br />
  # committers authenticate themselves.<br />
  < LimitExcept GET PROPFIND OPTIONS REPORT><br />
    Require valid-user<br />
  < /LimitExcept>
</p>
<p>(<strong>Important</strong>: Don&#8217;t use a DocumentRoot setting for this virtual host!&#8221;)</p>
<p>Restart apache with or reload apache configuration without finishing open connections with (prefered)</p>
<p class="terminal">
root@maquine:~ $ /etc/init.d/apache2 reload<br />
or<br />
root@maquine:~ $ apache2ctl graceful (prefered)</p>
<p>Create the repository and create a password file:</p>
<p class="terminal">
root@maquine:~ $ svnadmin create /var/lib/svn/repository<br />
root@maquine:~ $ htpasswd2 -c /etc/subversion/passwd [username]<br />
root@maquine:~ $  chown -R www-data:www-data /home/svn
</p>
<p><strong>Don&#8217;t forget to make the repository accessible for your web server:</strong></p>
<p>To test it, try accessing it with a browser or try to check out the file:</p>
<p class="terminal">
user@maquine:~ $ lynx http://localhost/svn<br />
user@maquine:~ $  svn co http://server/svn
</p>
<p><em>(You will not be prompted for credentials. That&#8217;s normal.)</em></p>
<p>Worked?<br />
Voila. The repository is set up.<br />
You can check a ready setup in <del datetime="2007-06-08T16:05:33+00:00">http://www.eldemonionegro.com/svn/</del>.</p>
<h4>Subversion for repository administrators (using subversion protocol)</h4>
<p>You just need to put on work svn server.</p>
<p class="terminal">
user@maquine:~ $ ls -la /var/lib/svn/<br />
total 1<br />
drwxr-xr-x  4 root www-data   96 2005-06-06 00:45 .<br />
drwxr-xr-x 56 root root     1480 2005-06-03 17:00 ..<br />
drwxr-x&#8212;  7 root www-data  224 2003-02-20 00:37 project1<br />
drwxr-x&#8212;  7 root www-data  224 2004-11-15 21:23 project2<br />
user@maquine:~ $ svnserve -d -T -r REPOSITORY_DIR (Example 1: /var/lib/svn/project1/ - Example 2: /var/lib/svn/)
</p>
<p>(-d: daemon, -T: spawn a thread instead of a process for each connection, -r root: root repository)</p>
<p>Try to check out the file:</p>
<p class="terminal">
user@maquine:~ $  svn co REPOSITORY_URL (Example 1: svn://server/ - Example 2: svn://server/project1/)
</p>
<p>Worked?<br />
Voila. The repository is set up.</p>
<h4>Subversion for repository users</h4>
<p>To checkout (=download) the files in the repository for the very first time run this command::</p>
<p class="terminal">
user@maquine:~ $ svn co http://server/svn
</p>
<p>Don&#8217;t worry about other people working on the same files. Just do your changes to the files and when you seem to have a stable state (make sure everything works well enough so not everything will break for others) you should check in(=upload) your work:</p>
<p class="terminal">
user@maquine:~ $ svn ci
</p>
<p>(Only when committing your changes you will be prompted for your username and password.)</p>
<p>Run the following command regularly to get the changes from other contributors::</p>
<p class="terminal">
user@maquine:~ $  svn update
</p>
<p>If you want to add new files to the repository::</p>
<p class="terminal">
user@maquine:~ $ svn add [filename]
</p>
<p>To get a status of which files have changed::</p>
<p class="terminal">
user@maquine:~ $ svn stat
</p>
<h4>Subversion for local repositories</h4>
<p>This type of installation is used when you want subversion to track your local files but don&#8217;t want/need to put it on a host. You can create a local repository and access it directly. This repository is not password protected and it&#8217;s permissions depend on the filesystem&#8217;s permissions.</p>
<p>Install the needed packages (as root or with sudo) and create the repository (with your user):</p>
<p class="terminal">
root@maquine:~ $  apt-get install subversion<br />
root@maquine:~ $ svnadmin create /home/joe/repositorie
</p>
<p>The <abbr title="Uniform Resource Locator" xml:lang="en" lang="en">URL</abbr> to your repository is it&#8217;s path preceeded with file://. For example to checkout you would do the following:</p>
<p class="terminal">
user@maquine:~ $ svn co file:///home/joe/repositorie
</p>
<h4>Subversion firewall rules</h4>
<p>In order to acces your subversion repository using svn protocol you should reconfigure your firewall or update daemon config.<br />
If you need to access subversion remotely, by default it runs on port 3690 using <abbr title="Transmission Control Protocol" xml:lang="en" lang="en">TCP</abbr>.</p>
<h5>Resources and comments</h5>
<ul>
<li><a href="http://subversion.tigris.org/">Subversion&#8217;s Official Homepage</a></li>
<li><a href="http://svnbook.red-bean.com/">Online free book: Version Control with Subversion</a></li>
<li><a href="http://workaround.org/moin/SubVersion">http://workaround.org/moin/SubVersion</a></li>
<li><a href="/wordpress/archivos/2007/01/21/subversion-quick-reference/" class="broken_link">subversion quick reference</a></li>
<li>Any comments will be welcome.</li>
</ul>
<p>Original Authors: Christoph Haas, Tiago Cogumbreiro<br />
Modified by: Enrique Garcia</p>
<p><map name='google_ad_map_495_fc162ee2f6c09e91'>
<area shape='rect' href='http://imageads.googleadservices.com/pagead/imgclick/495?pos=0' coords='1,2,367,28' />
<area shape='rect' href='http://services.google.com/feedback/abg' coords='384,10,453,23'/></map>
<img usemap='#google_ad_map_495_fc162ee2f6c09e91' border='0' src='http://imageads.googleadservices.com/pagead/ads?format=468x30_aff_img&amp;client=&amp;channel=&amp;output=png&amp;cuid=495&amp;url= http%3A%2F%2Fwww.eldemonionegro.com%2Fwordpress%2Farchivos%2F2006%2F11%2F09%2Fsubversion-server-howto' /></p>
	<div class="st-related-posts">Te interesará:
	<ul>
	<li><a href="http://www.eldemonionegro.com/wordpress/archivos/2007/11/05/glkm-funcionalidades" title="[GLKM] Funcionalidades (5 de Noviembre de 2007)">[GLKM] Funcionalidades</a></li>
	<li><a href="http://www.eldemonionegro.com/wordpress/archivos/2007/04/03/glkm-documentacion-y-definicion" title="[GLKM] Documentación y definición (3 de Abril de 2007)">[GLKM] Documentación y definición</a></li>
	<li><a href="http://www.eldemonionegro.com/wordpress/archivos/2007/06/14/vodafone-3g-hsdpa" title="Vodafone 3G HSDPA para linux (14 de Junio de 2007)">Vodafone 3G HSDPA para linux</a></li>
	<li><a href="http://www.eldemonionegro.com/wordpress/archivos/2007/09/30/una-ola-llamada-gnulinux-ii-segunda-parte" title="Una ola llamada GNU/Linux II (Segunda parte) (30 de Septiembre de 2007)">Una ola llamada GNU/Linux II (Segunda parte)</a></li>
	<li><a href="http://www.eldemonionegro.com/wordpress/archivos/2007/09/25/una-ola-llamada-gnulinux-i-primera-parte" title="Una ola llamada GNU/Linux I (Primera parte) (25 de Septiembre de 2007)">Una ola llamada GNU/Linux I (Primera parte)</a></li>
</ul></div>


	<span class="tag"> Etiquetas: </span><a href="http://www.eldemonionegro.com/wordpress/etiquetas/apache2" title="apache2" rel="tag">apache2</a>, <a href="http://www.eldemonionegro.com/wordpress/etiquetas/debian" title="debian" rel="tag">debian</a>, <a href="http://www.eldemonionegro.com/wordpress/etiquetas/glkm" title="glkm" rel="tag">glkm</a>, <a href="http://www.eldemonionegro.com/wordpress/etiquetas/gnu" title="gnu" rel="tag">gnu</a>, <a href="http://www.eldemonionegro.com/wordpress/etiquetas/guia-rapida" title="guia rapida" rel="tag">guia rapida</a>, <a href="http://www.eldemonionegro.com/wordpress/etiquetas/howto" title="howto" rel="tag">howto</a>, <a href="http://www.eldemonionegro.com/wordpress/etiquetas/linux" title="linux" rel="tag">linux</a>, <a href="http://www.eldemonionegro.com/wordpress/etiquetas/quick-reference" title="quick reference" rel="tag">quick reference</a>, <a href="http://www.eldemonionegro.com/wordpress/etiquetas/subversion" title="subversion" rel="tag">subversion</a><br/>
]]></content:encoded>
			<wfw:commentRss>http://www.eldemonionegro.com/wordpress/archivos/2006/11/09/subversion-server-howto/feed</wfw:commentRss>
		</item>
		<item>
		<title>Viewvc (previously viewcvs)</title>
		<link>http://www.eldemonionegro.com/wordpress/archivos/2006/11/09/viewvc-previously-viewcvs</link>
		<comments>http://www.eldemonionegro.com/wordpress/archivos/2006/11/09/viewvc-previously-viewcvs#comments</comments>
		<pubDate>Thu, 09 Nov 2006 01:10:24 +0000</pubDate>
		<dc:creator>kike</dc:creator>
		
		<category><![CDATA[GNU/Linux (Debian)]]></category>

		<category><![CDATA[Informática]]></category>

		<category><![CDATA[Proyectos]]></category>

		<category><![CDATA[glkm]]></category>

		<category><![CDATA[apache2]]></category>

		<category><![CDATA[cgi]]></category>

		<category><![CDATA[debian]]></category>

		<category><![CDATA[gnu]]></category>

		<category><![CDATA[guia rapida]]></category>

		<category><![CDATA[howto]]></category>

		<category><![CDATA[linux]]></category>

		<category><![CDATA[mod python]]></category>

		<category><![CDATA[subversion]]></category>

		<category><![CDATA[viewcvs]]></category>

		<category><![CDATA[viewvc]]></category>

		<guid isPermaLink="false">http://www.eldemonionegro.com/wordpress/archivos/2006/11/09/viewvc-previously-viewcvs/</guid>
		<description><![CDATA[<img src="http://www.eldemonionegro.com/wordpress/wp-content/wp-archivos/categoria_linux-debian.png" width="110" height="83" alt="" title="GNU/Linux (Debian)" /><br/>Right now viewcvs is the old version which is available under Debian. I recomend to install the latest viewvc from official website until package gets updated.
For more about it&#8217;s history, look up in http://www.viewvc.org/who.html
Instalation is really simple, it&#8217;s only complexity resides in the apache 2 configuration. Which is not really well documented and can cause [...]]]></description>
			<content:encoded><![CDATA[<img src="http://www.eldemonionegro.com/wordpress/wp-content/wp-archivos/categoria_linux-debian.png" width="110" height="83" alt="" title="GNU/Linux (Debian)" /><br/><p>Right now viewcvs is the old version which is available under Debian. I recomend to install the latest viewvc from official website until package gets updated.<br />
For more about it&#8217;s history, look up in <a hreflang="en" href="http://www.viewvc.org/who.html">http://www.viewvc.org/who.html</a><br />
Instalation is really simple, it&#8217;s only complexity resides in the apache 2 configuration. Which is not really well documented and can cause some headache.</p>
<h4>Installation</h4>
<p><a href="http://viewvc.tigris.org/servlets/ProjectDocumentList?folderID=6004">Download here latest stable version from viewvc</a></p>
<p>I will install everything under /opt because it&#8217;s my favourite place (and because it&#8217;s standar (LSB rules I think) to put extrange things there).</p>
<p class="terminal">
user@machine:~$ cd /opt<br />
user@machine:~$ wget http://viewvc.tigris.org/files/documents/3330/34803/viewvc-1.0.3.tar.gz<br />
user@machine:~$ tar -xvzf viewvc-1.0.3.tar.gz<br />
user@machine:~$ cd viewvc-1.0.3<br />
user@machine:~$ ./viewvc-install
</p>
<p><em>[will be prompted some easy questions] Answer first /opt and then leave it as it is.</em></p>
<p>Take a look at INSTALL and README. It&#8217;s always good to read this stuff, and doesn&#8217;t hurt.</p>
<p class="terminal">
user@machine:~$ emacs /opt/viewvc/viewvc.conf<br />
[main changes I made]<br />
user@machine:~$ diff viewvc.conf ../viewvc-1.0.3/viewvc.conf.dist<br />
72c72<br />
< #cvs_roots = cvs: /home/cvsroot<br />
---<br />
> cvs_roots = cvs: /home/cvsroot<br />
80c80<br />
< svn_roots = svn: /var/lib/svn/repository<br />
---<br />
> #svn_roots = svn: /home/svnrepos<br />
105c105<br />
< default_root = svn<br />
---<br />
> default_root = <abbr title="Concurrent Versions System" xml:lang="en" lang="en">CVS</abbr><br />
138c138<br />
< mime_types_file = /etc/mime.types<br />
---<br />
> #mime_types_file = /usr/local/apache/conf/mime.types<br />
142c142<br />
< address = < a href="mailto:svn-admin@XXX.XXX">Administrador del repositorio Subversion< / a><br />
&#8212;<br />
> address = < a href="mailto:cvs-admin@insert.your.domain.here">No admin address has been configured< / a><br />
248c248<br />
< languages = es-es, en-us<br />
---<br />
> languages = en-us<br />
391c391<br />
< docroot = /viewvc-doc<br />
--- (LOOK APACHE 2 CONFIG TO EXPLAIN THIS CHANGE)<br />
> #docroot = /docroot<br />
435c435<br />
< use_enscript = 1<br />
---<br />
> use_enscript = 0<br />
445c445<br />
< use_highlight = 1<br />
---<br />
> use_highlight = 0<br />
459c459<br />
< use_php = 1<br />
---<br />
> use_php = 0<br />
473c473<br />
< allow_tar = 1<br />
---<br />
> allow_tar = 0
</p>
<p>For coloured syntax I installed next packages. But I am not really sure they are needed.</p>
<p class="terminal">
user@machine:~$ apt-get install highlight enscript
</p>
<h4>Apache 2 configuration</h4>
<p>Here I put my apache 2 configuration for viewvc. I&#8217;ve two versions, both of them work. Again I recomend take a take a look at INSTALL and README for answers. One is the version for <abbr title="Common Gateway Interface" xml:lang="en" lang="en">CGI</abbr> and the other for mod_python. I&#8217;m using mod_python because it&#8217;s known to be faster.</p>
<p><strong><abbr title="Common Gateway Interface" xml:lang="en" lang="en">CGI</abbr></strong></p>
<p class="terminal">
< IfModule !mod_python.c><br />
  < IfModule cgi.c><br />
  # para la instalacion local<br />
        ScriptAlias /viewvc /opt/viewvc/bin/cgi/viewvc.cgi<br />
  # para el paquete debian<br />
  #       ScriptAlias /viewsvn /usr/lib/cgi-bin/viewcvs.cgi<br />
  < /IfModule><br />
< /IfModule>
</p>
<p><strong>mod_python</strong></p>
<p class="terminal">
< IfModule mod_python.c><br />
        Alias /viewvc-doc &#8220;/opt/viewvc/templates/docroot&#8221;<br />
        ScriptAlias /viewvc /opt/viewvc/bin/mod_python/viewvc.py<br />
        < Location /viewvc><br />
                AddHandler python-program .py<br />
                # This appends &#8220;our path&#8221; to python path<br />
                PythonPath &#8220;['/opt/viewvc/bin/mod_python'] + sys.path&#8221;<br />
                PythonHandler handler<br />
                PythonDebug On<br />
        < /Location><br />
< /IfModule>
</p>
<p>Look the result at <del datetime="2007-06-08T16:59:34+00:00">http://www.eldemonionegro.com/viewvc/</del></p>
<h5>Resources and comments</h5>
<ul>
<li><a href="http://www.viewvc.org/">viewvc official homepage</a></li>
<li>Any comments will be welcome. </li>
</ul>
<p><map name='google_ad_map_496_fc162ee2f6c09e91'>
<area shape='rect' href='http://imageads.googleadservices.com/pagead/imgclick/496?pos=0' coords='1,2,367,28' />
<area shape='rect' href='http://services.google.com/feedback/abg' coords='384,10,453,23'/></map>
<img usemap='#google_ad_map_496_fc162ee2f6c09e91' border='0' src='http://imageads.googleadservices.com/pagead/ads?format=468x30_aff_img&amp;client=&amp;channel=&amp;output=png&amp;cuid=496&amp;url= http%3A%2F%2Fwww.eldemonionegro.com%2Fwordpress%2Farchivos%2F2006%2F11%2F09%2Fviewvc-previously-viewcvs' /></p>
	<div class="st-related-posts">Te interesará:
	<ul>
	<li><a href="http://www.eldemonionegro.com/wordpress/archivos/2007/11/05/glkm-funcionalidades" title="[GLKM] Funcionalidades (5 de Noviembre de 2007)">[GLKM] Funcionalidades</a></li>
	<li><a href="http://www.eldemonionegro.com/wordpress/archivos/2007/04/03/glkm-documentacion-y-definicion" title="[GLKM] Documentación y definición (3 de Abril de 2007)">[GLKM] Documentación y definición</a></li>
	<li><a href="http://www.eldemonionegro.com/wordpress/archivos/2007/06/14/vodafone-3g-hsdpa" title="Vodafone 3G HSDPA para linux (14 de Junio de 2007)">Vodafone 3G HSDPA para linux</a></li>
	<li><a href="http://www.eldemonionegro.com/wordpress/archivos/2007/09/30/una-ola-llamada-gnulinux-ii-segunda-parte" title="Una ola llamada GNU/Linux II (Segunda parte) (30 de Septiembre de 2007)">Una ola llamada GNU/Linux II (Segunda parte)</a></li>
	<li><a href="http://www.eldemonionegro.com/wordpress/archivos/2007/09/25/una-ola-llamada-gnulinux-i-primera-parte" title="Una ola llamada GNU/Linux I (Primera parte) (25 de Septiembre de 2007)">Una ola llamada GNU/Linux I (Primera parte)</a></li>
</ul></div>


	<span class="tag"> Etiquetas: </span><a href="http://www.eldemonionegro.com/wordpress/etiquetas/apache2" title="apache2" rel="tag">apache2</a>, <a href="http://www.eldemonionegro.com/wordpress/etiquetas/cgi" title="cgi" rel="tag">cgi</a>, <a href="http://www.eldemonionegro.com/wordpress/etiquetas/debian" title="debian" rel="tag">debian</a>, <a href="http://www.eldemonionegro.com/wordpress/etiquetas/glkm" title="glkm" rel="tag">glkm</a>, <a href="http://www.eldemonionegro.com/wordpress/etiquetas/gnu" title="gnu" rel="tag">gnu</a>, <a href="http://www.eldemonionegro.com/wordpress/etiquetas/guia-rapida" title="guia rapida" rel="tag">guia rapida</a>, <a href="http://www.eldemonionegro.com/wordpress/etiquetas/howto" title="howto" rel="tag">howto</a>, <a href="http://www.eldemonionegro.com/wordpress/etiquetas/linux" title="linux" rel="tag">linux</a>, <a href="http://www.eldemonionegro.com/wordpress/etiquetas/mod-python" title="mod python" rel="tag">mod python</a>, <a href="http://www.eldemonionegro.com/wordpress/etiquetas/subversion" title="subversion" rel="tag">subversion</a>, <a href="http://www.eldemonionegro.com/wordpress/etiquetas/viewcvs" title="viewcvs" rel="tag">viewcvs</a>, <a href="http://www.eldemonionegro.com/wordpress/etiquetas/viewvc" title="viewvc" rel="tag">viewvc</a><br/>
]]></content:encoded>
			<wfw:commentRss>http://www.eldemonionegro.com/wordpress/archivos/2006/11/09/viewvc-previously-viewcvs/feed</wfw:commentRss>
		</item>
		<item>
		<title>Realizar un proyecto de software libre desde 0</title>
		<link>http://www.eldemonionegro.com/wordpress/archivos/2006/11/07/realizar-un-proyecto-de-software-libre-desde-0</link>
		<comments>http://www.eldemonionegro.com/wordpress/archivos/2006/11/07/realizar-un-proyecto-de-software-libre-desde-0#comments</comments>
		<pubDate>Tue, 07 Nov 2006 01:26:27 +0000</pubDate>
		<dc:creator>kike</dc:creator>
		
		<category><![CDATA[GNU/Linux (Debian)]]></category>

		<category><![CDATA[Informática]]></category>

		<category><![CDATA[Libre/copyleft]]></category>

		<category><![CDATA[Ocio/Cultura]]></category>

		<category><![CDATA[Proyectos]]></category>

		<category><![CDATA[glkm]]></category>

		<category><![CDATA[foss]]></category>

		<category><![CDATA[iniciar proyecto]]></category>

		<category><![CDATA[pfc]]></category>

		<category><![CDATA[proyecto]]></category>

		<category><![CDATA[software libre]]></category>

		<guid isPermaLink="false">http://www.eldemonionegro.com/wordpress/archivos/2006/11/07/realizar-un-proyecto-de-software-libre-desde-0/</guid>
		<description><![CDATA[<img src="http://www.eldemonionegro.com/wordpress/wp-content/wp-archivos/categoria_linux-debian.png" width="110" height="83" alt="" title="GNU/Linux (Debian)" /><br/>Al tiempo de pensar los requisitos que debe seguir un proyecto de software libre se publicó este artículo, que razona y aconseja un poco sobre cada uno de los pasos. The Birth of a FOSS application.
En cualquier caso, yo voy a ir detallando cada paso importante. De forma que este documento lo iré actualizando poco [...]]]></description>
			<content:encoded><![CDATA[<img src="http://www.eldemonionegro.com/wordpress/wp-content/wp-archivos/categoria_linux-debian.png" width="110" height="83" alt="" title="GNU/Linux (Debian)" /><br/><p>Al tiempo de pensar los requisitos que debe seguir un proyecto de software libre se publicó este artículo, que razona y aconseja un poco sobre cada uno de los pasos. <a href="http://community.linux.com/article.pl?sid=07/01/12/2127230">The Birth of a FOSS application</a>.</p>
<p>En cualquier caso, yo voy a ir detallando cada paso importante. De forma que este documento lo iré actualizando poco a poco.</p>
<ul>
<li><a href="/wordpress/archivos/2006/11/09/subversion-server-howto/">¿Cómo preparar un servidor de subversion en Debian?</a></li>
<li><a href="/wordpress/archivos/2006/11/09/viewvc-previously-viewcvs/">Configuración de viewvc</a> (antiguo viewcvs) para que cualquiera pueda ver el contenido del repositorio subversion</li>
<li>Para preparar un trac, seguir la <a hreflang="en" href=" http://trac.edgewall.org/wiki/TracOnDebianSarge">guía para instalar trac en Debian en inglés</a> (también está la <a href="http://pabloabadsanz.f2o.org/2006/08/08/instalar-subversion-y-trac-en-debian/">guía de trac para Debian traducida al español</a>)</li>
</ul>
<p><map name='google_ad_map_494_fc162ee2f6c09e91'>
<area shape='rect' href='http://imageads.googleadservices.com/pagead/imgclick/494?pos=0' coords='1,2,367,28' />
<area shape='rect' href='http://services.google.com/feedback/abg' coords='384,10,453,23'/></map>
<img usemap='#google_ad_map_494_fc162ee2f6c09e91' border='0' src='http://imageads.googleadservices.com/pagead/ads?format=468x30_aff_img&amp;client=&amp;channel=&amp;output=png&amp;cuid=494&amp;url= http%3A%2F%2Fwww.eldemonionegro.com%2Fwordpress%2Farchivos%2F2006%2F11%2F07%2Frealizar-un-proyecto-de-software-libre-desde-0' /></p>
	<div class="st-related-posts">Te interesará:
	<ul>
	<li><a href="http://www.eldemonionegro.com/wordpress/archivos/2008/02/29/glkm-subversion-project-stats-measures-with-mpy-svn-stats" title="[GLKM] Subversion project stats measures with mpy-svn-stats (29 de Febrero de 2008)">[GLKM] Subversion project stats measures with mpy-svn-stats</a></li>
	<li><a href="http://www.eldemonionegro.com/wordpress/archivos/2007/04/03/glkm-documentacion-y-definicion" title="[GLKM] Documentación y definición (3 de Abril de 2007)">[GLKM] Documentación y definición</a></li>
	<li><a href="http://www.eldemonionegro.com/wordpress/archivos/2008/04/20/whyfloss-conference-08" title="WHYFLOSS Madrid Conference 08 (20 de Abril de 2008)">WHYFLOSS Madrid Conference 08</a></li>
	<li><a href="http://www.eldemonionegro.com/wordpress/archivos/2007/07/01/whyfloss-conference" title="WHYFLOSS Conference (1 de Julio de 2007)">WHYFLOSS Conference</a></li>
	<li><a href="http://www.eldemonionegro.com/wordpress/archivos/2006/11/09/viewvc-previously-viewcvs" title="Viewvc (previously viewcvs) (9 de Noviembre de 2006)">Viewvc (previously viewcvs)</a></li>
</ul></div>


	<span class="tag"> Etiquetas: </span><a href="http://www.eldemonionegro.com/wordpress/etiquetas/foss" title="foss" rel="tag">foss</a>, <a href="http://www.eldemonionegro.com/wordpress/etiquetas/glkm" title="glkm" rel="tag">glkm</a>, <a href="http://www.eldemonionegro.com/wordpress/etiquetas/iniciar-proyecto" title="iniciar proyecto" rel="tag">iniciar proyecto</a>, <a href="http://www.eldemonionegro.com/wordpress/etiquetas/pfc" title="pfc" rel="tag">pfc</a>, <a href="http://www.eldemonionegro.com/wordpress/etiquetas/proyecto" title="proyecto" rel="tag">proyecto</a>, <a href="http://www.eldemonionegro.com/wordpress/etiquetas/software-libre" title="software libre" rel="tag">software libre</a><br/>
]]></content:encoded>
			<wfw:commentRss>http://www.eldemonionegro.com/wordpress/archivos/2006/11/07/realizar-un-proyecto-de-software-libre-desde-0/feed</wfw:commentRss>
		</item>
	</channel>
</rss>
