articles/contrib

- add entry for translators
- add trademarks

articles/dialup-firewall
- add entry for translators.ent
- add translator's info

articles/explaining-bsd
- Cosmetic changes on Makefile
- add translators.ent
- add translator's info
- a lot of cosmetic changes

articles/fbsd-from-scratch
- add entry for translators.ent
- add translators' info

articles/laptop
- add "WITH_TOC" on Makefile
- add entry for translators.ent
- add translators' entry

articles/problem-reports
- correct several typos

articles/zip-drive
- add entry for translators.ent
- add translators' info

articles/Makefile
New article added: cvs-freebsd
Submitted by: Jesus R. Camou jcamou at es.FreeBSD.org

Approved by: jesusr (mentor)
This commit is contained in:
J. Vicente Carrasco 2005-01-12 20:39:27 +00:00
parent 0cc2bb2c1a
commit 73c55f927f
Notes: svn2git 2020-12-08 03:00:23 +00:00
svn path=/head/; revision=23537
12 changed files with 948 additions and 52 deletions
es_ES.ISO8859-1/articles
Makefile
cvs-freebsd
dialup-firewall
explaining-bsd
fbsd-from-scratch
laptop
problem-reports
zip-drive

View file

@ -8,8 +8,11 @@ SUBDIR+= dialup-firewall
SUBDIR+= explaining-bsd
SUBDIR+= fbsd-from-scratch
SUBDIR+= laptop
SUBDIR+= mailing-list-faq
SUBDIR+= problem-reports
SUBDIR+= releng
SUBDIR+= zip-drive
DOC_PREFIX?= ${.CURDIR}/../..
.include "${DOC_PREFIX}/share/mk/doc.project.mk"

View file

@ -0,0 +1,25 @@
# $FreeBSD$
# $FreeBSDes$
# Copiado de la version 1.5
#
# Article: Setting up a CVS repository - the FreeBSD way
#MAINTAINER= stijn@win.tue.nl
DOC?= article
FORMATS?= html
INSTALL_COMPRESSED?= gz
INSTALL_ONLY_COMPRESSED?=
WITH_ARTICLE_TOC?=YES
SRCS= article.sgml
URL_RELPREFIX?= ../../../..
DOC_PREFIX?= ${.CURDIR}/../../..
.include "${DOC_PREFIX}/share/mk/doc.project.mk"

View file

@ -0,0 +1,840 @@
<!--
The FreeBSD Spanish Documentation Project
$FreeBSD$
$FreeBSDes$
-->
<!--
<!DOCTYPE article PUBLIC "-//FreeBSD//DTD DocBook V4.1-Based Extension//EN" [
<!ENTITY % articles.ent PUBLIC "-//FreeBSD//ENTITIES DocBook FreeBSD Articles Entity Set//EN">
%articles.ent;
]>
-->
<!DOCTYPE article PUBLIC "-//FreeBSD//DTD DocBook V4.1-Based Extension//EN" [
<!ENTITY % man PUBLIC "-//FreeBSD//ENTITIES DocBook Manual Page Entities//EN">
%man;
<!ENTITY % freebsd PUBLIC "-//FreeBSD//ENTITIES DocBook Miscellaneous
FreeBSD Entities//EN"> %freebsd;
<!ENTITY % newsgroups PUBLIC "-//FreeBSD//ENTITIES DocBook Newsgroup Entities//ES"> %newsgroups;
<!ENTITY % authors PUBLIC "-//FreeBSD//ENTITIES DocBook Author Entities//EN">
%authors;
<!ENTITY % trademarks PUBLIC "-//FreeBSD//ENTITIES DocBook Trademark Entities//EN">
%trademarks;
<!ENTITY % translators PUBLIC "-//FreeBSD//ENTITIES DocBook Translator Entities//ES">
%translators;
<!ENTITY % mailing-lists PUBLIC "-//FreeBSD//ENTITIES DocBook Mailing List Entities//ES"> %mailing-lists;
<!ENTITY % not.published "IGNORE">
]>
<article>
<articleinfo>
<title>Configurar un repositorio CVS - a la manera de FreeBSD</title>
<author>
<firstname>Stijn</firstname>
<surname>Hoop</surname>
<affiliation>
<address><email>stijn@win.tue.nl</email></address>
</affiliation>
</author>
<copyright>
<year>2001</year>
<year>2002</year>
<year>2003</year>
<holder role="mailto:stijn@win.tue.nl">Stijn Hoop</holder>
</copyright>
<releaseinfo>$FreeBSD$</releaseinfo>
<legalnotice id="trademarks" role="trademarks">
&tm-attrib.freebsd;
&tm-attrib.general;
</legalnotice>
<abstract>
<para>Este art&iacute;culo describe los pasos que d&iacute; para
configurar un repositorio CVS con los mismos <quote>scripts</quote>
usados por el proyecto &os; en su configuraci&oacute;n.
Tienen algunas ventajas frente a las dem&aacute;s
configuraciones de CVS, por ejemplo una gesti&oacute;n m&aacute;s
eficaz de los accesos a los &aacute;rboles de c&oacute;digo
la creaci&oacute;n de mensajes de correo electr&oacute;nico por
cada commit.</para>
&trans.es.jcamou;
</abstract>
</articleinfo>
<sect1>
<title>Introducci&oacute;n</title>
<para>Muchos de los proyectos de software de c&oacute;digo
abierto usan <application>CVS</application> como su sistema
de gesti&oacute;n de c&oacute;digo. Aunque <application>
CVS</application> es bastante bueno para esto tiene sus
inconvenientes y sus flaquezas. Un ejemplo de esto es el compartir
un &aacute;rbol de c&oacute;digo con otros desarrolladores, lo cual
puede convertirse r&aacute;pidamente en una pesadilla para la
administraci&oacute;n del sistema, especialmente si se desea
proteger del acceso indiscriminado ciertas partes del
&aacute;rbol.</para>
<para>&os; es uno de los proyectos que usan <application>
CVS</application>. Tambi&eacute;n cuenta con una gran
cantidad de desarrolladores alrededor del mundo. Ellos
mismos desarrollaron algunos <quote>scripts</quote> para hacer
del manejo del repositorio una tarea m&aacute;s f&aacute;cil.
Recientemente estos <quote>scripts</quote> fueron revisados por
&a.joe; para facilitar su uso en otros proyectos. Este
art&iacute;culo muestra uno de los m&eacute;todos para usar estos
nuevos <quote>scripts</quote>.</para>
<para>Si quiere sacar verdadero partido de la informaci&oacute;n que
se le brinda en este art&iacute;lo debe tener familiaridad con
m&eacute;todos b&aacute;sicos para realizar operaciones
<application>CVS</application>.</para>
</sect1>
<sect1>
<title>Comienzo de la configuraci&oacute;n</title>
<warning>
<para>Es preferible que realice estos procedimientos
en un repositorio de prueba vac&iacute;o y podamos asi asegurarnos
de que entiende todas las consecuencias. Como siempre, aseg&uacute;rese
de tener respaldos recientes.</para>
</warning>
<sect2>
<title>Inicio del repositorio</title>
<para>Lo primero a hacer al configurar un nuevo repositorio
es decirle a <application>CVS</application> que lo inicie:
<screen>&prompt.user; <userinput>cvs -d <replaceable>ruta-al-repositorio
</replaceable> init</userinput></screen>
Esto le indica a <application>CVS</application> que cree
el directorio administrativo <filename>CVSROOT</filename>,
donde se albergar&aacute;n todas las configuraciones.</para>
</sect2>
<sect2>
<title>El grupo del repositorio</title>
<para>Ahora vamos a crear al grupo due&ntilde;o del repositorio.
Todos los <quote>committers</quote> necesitan estar en este
grupo, para de esta manera poder escribir en el repositorio.
Asumiremos el grupo <literal>ncvs</literal> por defecto
de &os;.
<screen>&prompt.root; <userinput>pw groupadd <replaceable>ncvs
</replaceable></userinput></screen>
A continuaci&oacute;n, es necesario usar &man.chown.8; en el directorio
para ajustar los permisos al grupo reci&oacute;n agregado:
<screen>&prompt.root; <userinput>chown -R :<replaceable>ncvs
</replaceable>
<replaceable>path-a-su-repositorio</replaceable></userinput></screen>
Esto asegura que nadie podr&aacute; escribir en el repositorio
sin los permisos de grupo adecuados.</para>
</sect2>
<sect2>
<title>Obtenci&oacute;n del c&oacute;digo</title>
<para>Ahora es necesario obtener el directorio <filename>
CVSROOT</filename> del repositorio de &os;. Puede hacerse muy
f&aacute;cilmente desde una r&eacute;plica de CVS
an&oacute;nimo de &os;. Para m&aacute;s informaci&oacute;n
<!--
consulte <ulink
url="&url.books.handbook;/anoncvs.html">el cap&iacute;tulo
-->
consulte <ulink
url="http://www.freebsd.org/doc/en_US.ISO8859-1/books/handbook/anoncvs.html">el
cap&iacute;tulo correspondiente del Handbook</ulink>.
Asumiremos que el c&oacute;digo est&aacute; en
<filename>CVSROOT-freebsd</filename> en el directorio
actual.</para>
</sect2>
<sect2>
<title>Copia de los <quote>scripts</quote> de &os;</title>
<para>El siguiente paso consiste en copiar el c&oacute;digo de &os;
sito en <filename>CVSROOT</filename> a nuestro
repositorio. Si est&aacute; familiarizado con <application>CVS
</application>, deber&aacute; estar pensando que esto se puede
realizar importando los <quote>scripts</quote>, lo que deber&iacute;a
permitirle sincronizar posteriores versiones muy f&aacute;cilmente.
No es as&iacute;, <application>CVS</application> tiene una
deficiencia en este aspecto: al intentar importar
c&oacute;digo al directorio
<filename>CVSROOT</filename> no se actualizar&aacute;n los
ficheros administrativos necesarios. Para hacer que esto
suceda es necesario ejecutar <quote>checkin</quote>
en cada uno de ellos despu&eacute;s de importarlos,
perdiendo asi el valor de <literal>cvs import</literal>.
En consecuencia el m&eacute;todo recomendado para este
cometido es sencillamente copiar los
<quote>scripts</quote>.</para>
<para>No importa en realidad si no encuentra demasiado sentido al
p&aacute;rrafo anterior, el resultado ser&aacute; el mismo.
Simplemente haga <quote>check out</quote> de su <filename>CVSROOT
</filename> y copie los ficheros de &os; sobre su copia local:
<screen>&prompt.user; <userinput>cvs -d <replaceable>
ruta-a-su-repositorio </replaceable> checkout CVSROOT</userinput>
&prompt.user; <userinput>cd CVSROOT</userinput>
&prompt.user; <userinput>cp ../CVSROOT-freebsd/* .</userinput>
&prompt.user; <userinput>cvs add *</userinput></screen>
Tenga en cuenta que probablemente recibir&aacute; advertencias
acerca de directorios no copiados; esto es normal,
porque &eacute;stos no son necesarios.</para>
</sect2>
<sect2>
<title>Los <quote>scripts</quote></title>
<para>Ahora ya cuenta con una copia exacta en su directorio de
trabajo de los <quote>scripts</quote> que &os; usa en la
gesti&oacute;n de su repositorio.
He aqu&iacute; una descripci&oacute;n del cometido de cada uno de
ellos.</para>
<itemizedlist>
<listitem>
<para><filename>access</filename> - este fichero
no se usa en la configuraci&oacute;n por defecto.
Se usa en <link linkend="freebsdspecific">la
configuraci&oacute;n del proyecto &os;</link>,
el cual controla el acceso al repositorio. Puede
borrar este fichero si no quiere usarlo en su
configuraci&oacute;n.</para>
</listitem>
<listitem>
<para><filename>avail</filename> - este fichero
controla el acceso al repositorio. Dentro del mismo
es posible especificar grupos de personas
autorizadas para el acceso al repositorio,
asi como commits no autorizados en uno o m&aacute;s
directorios dados. Deber&aacute;
editarlo para que contenga los grupos
y directorios que se usar&aacute;n en su
repositorio.</para>
</listitem>
<listitem>
<para><filename>cfg.pm</filename> - este fichero
se encarga de analizar su configuraci&oacute;n
y provee la configuraci&oacute;n por defecto.
<emphasis>No</emphasis> deber&aacute; usted
cambiar nada en este fichero. Si va a hacer cambios
su configuraci&oacute;n deber&aacute;n ir en
<filename>cfg_local.pm</filename>.
</para>
</listitem>
<listitem>
<para><filename>cfg_local.pm</filename> -
contiene todos los par&aacute;metros configurables del
sistema. Deber&aacute; configurar todo tipo de
cosas en este fichero, tales como el env&iacute;o
por correo electr&oacute;nico de los mensajes
de commit, desde qu&eacute; <quote>hosts</quote> pueden
hacer commits los usuarios, etc. M&aacute;s
informaci&oacute;n m&aacute;s adelante en el texto.</para>
</listitem>
<listitem>
<para><filename>checkoutlist</filename> - este fichero
lista todos los ficheros bajo control de <application>
CVS</application> en este directorio, aparte de aquellos
est&aacute;ndar creados por <literal>cvs init</literal>.
Deber&aacute; editar &eacute;ste para borrar algunos
ficheros espec&iacute;ficos del proyecto &os;.</para>
</listitem>
<listitem>
<para><filename>commit_prep.pl</filename> - este <quote>
script</quote> se encarga de realizar algunas comprobaciones
previas a cada commit seg&uacute;n las modificaciones hechas o
o no en su versi&oacute;n de
<filename>cfg_local.pm</filename>.
No deber&iacute;a modificar este <quote>script</quote>.</para>
</listitem>
<listitem>
<para><filename>commitcheck</filename> - este <quote>script</quote>
es invocado directamente por <application>CVS</application>.
En primer lugar comprueba que la <quote>committer</quote> tenga
acceso a una parte espec&iacute;fica del &aacute;rbol usando
<filename>cvs_acls.pl</filename>, para despu&eacute;s
ejecutar <filename>commit_prep.pl</filename>, mediante el que
efectuar&aacute; las comprobaciones de rigor previas a cada
commit. Si todo ha ido bien <application>CVS</application>
permitir&aacute; que el commit tenga lugar. No deber&iacute;a
tocar este fichero.</para>
</listitem>
<listitem>
<para><filename>commitinfo</filename> - este fichero es
usado por <application>CVS</application> para determinar
qu&eacute; <quote>script</quote> se deber&aacute; ejecutar
antes de hacer el commit, en este caso
<filename>commitcheck</filename>.
Tampoco deber&iacute;a tener que modificar este fichero.</para>
</listitem>
<listitem>
<para><filename>config</filename> - el fichero de
configuraci&oacute;n del repositorio. Deber&iacute;a
editarlo si es necesario aunque la mayor&iacute;a de
los administradores lo dejan tal y como viene por defecto.
Dispone de m&aacute;s informaci&oacute;n sobre las opciones
que pueden declararse en &eacute;l en el manual de
<application>CVS</application>.</para>
</listitem>
<listitem>
<para><filename>cvs_acls.pl</filename> - este <quote>script</quote>
determina la identidad de los <quote>committers</quote>, as&iacute;
como si tiene permitido acceder al &aacute;rbol.
Est&aacute; basado en el fichero <filename>avail</filename>.
No deber&iacute;a tener que modificar este fichero.</para>
</listitem>
<listitem>
<para><filename>cvsignore</filename> - este fichero especifica
los ficheros que <application>CVS</application> no debe
incluir en el repositorio. Puede editarlo a su gusto.
Para m&aacute;s informaci&oacute;n sobre fichero consulte
el manual de <application>CVS</application>.
</para>
</listitem>
<listitem>
<para><filename>cvswrappers</filename> -
<application>CVS</application> usa este fichero para activar
o desactivar la expansi&oacute;n de
la expansi&oacute;n de palabras clave o si el
fichero debe ser considerado binario. Este fichero puede
editarse seg&uacute;n necesidades. Para m&aacute;s
informaci&oacute;n sobre este fichero consulte el manual de
<application>CVS</application>.
Tenga en cuenta que las opciones <literal>-t</literal> y <literal>
-f</literal> no funcionan correctamente con <application>
CVS</application> cliente/servidor.</para>
</listitem>
<listitem>
<para><filename>edithook</filename> - este fichero ya no
se usa, aunque se mantenga por razones hist&oacute;ricas.
Este fichero puede borrarse con total tranquilidad sin miedo de
perjudicar la configuraci&oacute;n.</para>
</listitem>
<listitem>
<para><filename>editinfo</filename> - <application>CVS
</application> usa este fichero en las sobreescrituras de
edici&oacute;n. &os; no usa esta funci&oacute;n ya que el
an&aacute;lisis de mensajes de <quote>log</quote> se hace
mediante <filename>verifymsg</filename> y
<filename>logcheck</filename>. Esto se debe a que
<filename>editinfo</filename> no funciona correctamente con
commits remotos ni con aquellos que usan las opciones
<literal>-m</literal> o <literal>-F</literal>.
No deber&iacute;a tener que modificar este fichero.</para>
</listitem>
<listitem>
<para><filename>exclude</filename> - este fichero lista
expresiones regulares usadas por
<filename>commit_prep.pl</filename> para determinar ficheros
que no puedan contener cabeceras de revisi&oacute;n. En la
configuraci&oacute;n que se usa en &os; todos los ficheros
bajo control de revisi&oacute;n necesitan tener lo que se
llama una cabecera de revisi&oacute;n
(&dollar;FreeBSD&dollar;). Todos los ficheros que aparezcan
en alguna de las l&iacute;neas de
<filename>exclude</filename> no pasan por dicha revisi&oacute;n.
Incluya en este fichero entradas para aquellos ficheros que no
puedan tener una cabecera de revisi&oacute;n. Si va a instalar
los <quote>scripts</quote> <filename>CVSROOT/</filename> es un
firme candidato para figurar en este fichero.</para>
</listitem>
<listitem>
<para><filename>log_accum.pl</filename> - este es el
<quote>script</quote> encargado de obtener el mensaje de
<quote>log</quote> que genera <filename>logcheck</filename> y
a&ntilde;adirlo a un fichero de <quote>log</quote> en el repositorio
para que pueda disponerse de respaldos en caso de necesidad.
Tambi&eacute;n gestiona el env&iacute;o de un correo electr&oacute;nico
a la direcci&oacute;n que el administrador declare (en
<filename>cfg_local.pm</filename>). <filename>loginfo
</filename> se encarga de conectar <filename>log_accum.pl
</filename> con <application>CVS</application>. No
deber&iacute;a tener que modificar este este fichero.</para>
</listitem>
<listitem>
<para><filename>logcheck</filename> - este fichero revisa el
mensaje de commit proporcionado por el
<quote>committer</quote> e intenta esterilizarlo, valga la
expresi&oacute;n. Este fichero conecta con
<application>CVS</application> via <filename>verifymsg
</filename>. Tampoco deber&iacute;a tener que modificar este
fichero.</para>
<note><para>Este <quote>script</quote> depende de un hack de <application>
CVS</application> propio de &os;: esta versi&oacute;n lee el
mensaje de <quote>log</quote> despu&eacute;s de que este
<quote>script</quote> lo haya modificado. La versi&oacute;n
est&aacute;ndar de <application>CVS</application>
no hace esto, lo que hace a <filename>
logcheck</filename> incapaz de limpiar los mensajes de
<quote>log</quote>, aunque es capaz de comprobar que
est&eacute; sint&aacute;cticamente correcto.
<application>CVS</application> 1.11.2 puede configurarse
para tener el mismo comportamiento que la
versi&oacute;n de &os; activando <literal>
RereadLogAfterVerify=always</literal> en el fichero
<filename>config</filename>.</para></note>
</listitem>
<listitem>
<para><filename>loginfo</filename> - este fichero es usado por
<application>CVS</application> para controlar d&oacute;nde se
env&iacute; la informaci&oacute;n de <quote>log</quote>;
aqu&iacute; es donde <filename>log_accum.pl</filename>
entra en escena. No deber&iacute;a tener que modificar
este fichero.
</para>
</listitem>
<listitem>
<para><filename>modules</filename> - este fichero mantiene su
significado tradicional en <application>CVS</application>.
Deber&aacute; borrar los m&oacute;dulos propios de &os; de la
versi&oacute;n que vaya a usar. Puede editarlo a su
gusto. Tiene m&aacute;s informaci&oacute;n acerca de este fichero
en el manual de <application>CVS</application>.</para>
</listitem>
<listitem>
<para><filename>notify</filename> -
<application>CVS</application> usa este fichero en caso de que
alguien ponga un fichero en modo <quote>watch</quote>. No se usa en el
repositorio de &os; y puede editarse cuanto se desee.
Tiene m&aacute;s informaci&oacute;n acerca de este fichero
en el manual de <application>CVS</application>.</para>
</listitem>
<listitem>
<para><filename>options</filename> - este fichero se usa
espec&iacute;ficamente en la versi&oacute;n de <application>CVS
</application>
de &os;, as&iacute; como en la versi&oacute;n de Debian.
Contiene una palabra clave para expander cabeceras de
revisi&oacute;n. Tendr&aacute; que modificar este fichero
y escribir la misma palabra que haya declarado en
<filename>cfg_local.pm</filename> (si es que quiere usar esa
caracter&iacute;stica, claro est&aacute;; el valor por defecto
es FreeBSD)</para>
</listitem>
<listitem>
<para><filename>rcsinfo</filename> - este fichero mapea
directorios en el repositorio para aplicar una plantilla
como <filename>rcstemplate</filename>. Por defecto &os;
usa una plantilla para el repositorio. Es posible
a&ntilde;adir otras plantillas si se estima conveniente.</para>
</listitem>
<listitem>
<para><filename>tagcheck</filename> - este fichero controla
el acceso a marcar <quote>tags</quote> (etiquetas) en el
repositorio. La versi&oacute;n por defecto en &os; no admite
etiquetas con nombre RELENG* debido al proceso de ingenier&iacute;a
de releases. Puede editar este fichero seg&uacute;n sus
necesidades.</para>
</listitem>
<listitem>
<para><filename>taginfo</filename> - este fichero mapea operaciones
de etiquetado en los directorios del repositorio, cosa necesaria en
el funcionamiento habitual de <quote>scripts</quote> de control como
<filename>tagcheck</filename>. No deber&iacute;a tener que modificar
este fichero.</para>
</listitem>
<listitem>
<para><filename>unwrap</filename> - este <quote>script</quote> puede ser
usado para alterar el estado de ficheros binarios en una forma opuesta a
como lo hace <filename>cvswrappers</filename>, descrito al principio de esta
lista. No se usa en la configuraci&oacute;n que funciona hoy d&iacute;a
en &os; porque no funciona correctamente con commits remotos. No
No deber&iacute;a tener que modificar este fichero.</para>
</listitem>
<listitem>
<para><filename>verifymsg</filename> - este fichero mapea
directorios del repositorio con <quote>scripts</quote> encargados del proceso
posterior de mensajes de commit en ficheros de <quote>log</quote>, por
ejemplo <filename>logcheck</filename>.
No deber&iacute;a verse en la necesidad de modificar este fichero.</para>
</listitem>
<listitem>
<para><filename>wrap</filename> - este script puede usarse
para poner ficheros binarios bajo el efecto de
<filename>cvswrappers</filename> (descrito al principio de esta
lista) en cada <quote>checkin</quote>. No se usa en la
configuraci&oacute;n que mantiene el proyecto &os; porque no
funciona correctamente con commits remotos. No deber&iacute;a tener
que modificar este fichero.
</para>
</listitem>
</itemizedlist>
</sect2>
<sect2>
<title>Modificaci&oacute;n de los <quote>scripts</quote></title>
<para>El siguiente paso es configurar los <quote>scripts</quote> para que
se adapten a sus necesidades. Tendr&aacute; que revisar todos y
cada uno de los ficheros en el directorio y hacer sus propios
cambios y configuraciones. Seguramente tendr&aacute; que editar los
siguientes ficheros:</para>
<procedure>
<step>
<para>Si no desea usar los <quote>scripts</quote> de la
<link linkend="freebsdspecific">
configuraci&oacute;n espec&iacute;fica de &os;</link>
puede borrar tranquilamente el fichero <filename>
access</filename>:
<screen>&prompt.user; <userinput>cvs rm -f access</userinput>
</screen></para>
</step>
<step>
<para>Editar <filename>avail</filename> para que contenga los
diferentes directorios del repositorio en los cuales quiera
controlar el acceso. Aseg&uacute;rese de mantener la l&iacute;nea
<literal>avail||CVSROOT</literal>, si no lo hace no podr&iacute;
realizar el siguiente paso.</para>
<para>Otra de las opciones que puede a&ntilde;adir a este fichero
es el grupo de <quote>committers</quote>. Por defecto
&os; usa el fichero <filename>access</filename> para
listar todos sus <quote>committers</quote> pero se puede
usar cualquier fichero que se desee. Tambi&eacute;n es
posible agregar grupos si se desea (la sintaxis est&aacute;
declarada en la primera parte de <filename>cvs_acls.pl
</filename>).</para>
</step>
<step>
<para>Edite <filename>cfg_local.pm</filename> para que contenga
las opciones deseadas. Seguramente le ser&aacute;n de gran
inter&eacute;s las siguientes configuraciones:
<itemizedlist>
<listitem>
<para><literal>%TEMPLATE_HEADERS</literal> - &eacute;stos son
procesados por los <quote>scripts</quote> de <quote>log</quote>
y se insertan bajo el correo de commit si es que existen.
Puede que quiera borrar las entradas <literal>PR</literal>
y <literal>MFC after</literal>; y claro, puede agregar
las suyas.</para>
</listitem>
<listitem>
<para><literal>$MAIL_BRANCH_HDR</literal> - puede a&ntilde;adir
una cabecera en cada correo de commit en la que se detalle la
rama (<quote>branch</quote>) en la que se ha hecho el commit.
Defina la cabecera seg&uacute;n su configuraci&oacute;n y
necesidades o d&eacute;jelo vac&iacute;o si no desea usar dicha
cabecera.</para>
</listitem>
<listitem>
<para><literal>@COMMIT_HOSTS</literal> - defina &eacute;ste valor
si desea listar los <quote>hosts</quote> desde los que ser&aacute;
posible hacer commits.
</para>
</listitem>
<listitem>
<para><literal>$MAILADDRS</literal> - defina &eacute;ste como
la direcci&oacute;n del administrador o de alguna lista donde
reciban los correos de commit.</para>
</listitem>
<listitem>
<para><literal>@LOG_FILE_MAP</literal> - cambie este
valor como desee. Cada expresi&oacute;n regular
(regexp) se compara en el directorio del commit, y el
mensaje de log del commit se guarda en el subdirectorio
<filename>commitlogs</filename> en el nombre de fichero
mencionado.</para>
</listitem>
<listitem>
<para><literal>$COMMITCHECK_EXTRA</literal> - si no
desea usar las <link linkend="freebsdspecific">comprobaciones
de acceso espec&iacute;ficas de &os;</link> deber&iacute;a
borrar la definici&oacute;n de <literal>
$COMMITCHECK_EXTRA</literal> de este fichero.</para>
</listitem>
</itemizedlist>
<note><para>Cambiar el par&aacute;metro <literal>$IDHEADER</literal>
es algo que s&oacute;lo puede asegurarse que funcionar&aacute; en
&os;; depende de las modificaciones
espec&iacute;ficas de <application>CVS</application> hechas por
&os;.</para></note>
Revise <filename>cfg.pm</filename> y compruebe si alguna de las
opciones puede modificarse, aunque los cambios propuestos en los
p&aacute;rrafos anteriores son bastante razonables.</para>
</step>
<step>
<para>Seguramente quiera borrar las l&iacute;neas del principio de
<filename>exclude</filename> (las que contienen
<literal>^ports/</literal>, entre otras), puesto que son
espec&iacute;ficas de &os;. Adem&aacute;s de esto
comente las l&iacute;neas que empiecen con
<literal>^CVSROOT/</literal> y agregue una l&iacute;nea s&oacute;lo
con <literal>^CVSROOT/</literal>. Despu&eacute;s de que
<quote>wrapper</quote> sea instalado puede a&ntilde;adir
su cabecera a los ficheros en el directorio <filename>
CVSROOT</filename> y restaurar estas l&iacute;neas; por lo
pronto s&oacute;lo estar&aacute;n estorbar&aacute;n en el momento
que quiera hacer un commit.</para>
</step>
<step>
<para>Edite <filename>modules</filename> y borre todo lo
relacionado con &os;. A&ntilde;ada sus propios m&oacute;dulos
si lo cree necesario.</para>
</step>
<step>
<note><para>Este paso es s&oacute;lo necesario si usted ha
declarado un valor a <literal>$IDHEADER</literal>
en <filename>cfg_local.pm</filename> (que s&oacute;lo
funciona usando la versi&oacute;n de <application>CVS
</application> modificada por &os;).</para></note>
<para>Edite <filename>options</filename> y aseg&uacute;rese
de que la etiqueta declarada sea la misma que en <filename>
cfg_local.pm</filename>. Simplemente cambie la etiqueta
<literal>FreeBSD</literal> por la suya.</para>
</step>
<step>
<para>Edite <filename>rcstemplate</filename> para que
contenga las mismas palabras clave
(o <quote>keywords</quote>) declaradas en
<filename>cfg_local.pm</filename>.</para>
</step>
<step>
<para>Puede borrar (este paso es opcional) las comprobaciones
realizadas por <filename>tagcheck</filename>. Puede
simplemente a&ntilde;adir <literal>exit 0</literal> al principio
del fichero para deshabilitar todas las comprobaciones que
hace sobre las etiquetas.</para>
</step>
<step>
<para>El &uacute;ltimo paso antes de terminar es
asegurarse de que sea posible guardar de modo seguro los
mensajes de commit. Por defecto se guardan en el propio
repositorio, en el subdirectorio <filename>commitlogs</filename>
del directorio <filename>CVSROOT</filename>. Este
directorio debe crearse del siguiente modo:
<screen>&prompt.user; <userinput>mkdir commitlogs
</userinput>&prompt.user; <userinput>cvs add commitlogs
</userinput></screen></para>
</step>
</procedure>
<para>Despu&eacute;s de una revisi&oacute;n cuidadosa
debe hacer los commits necesarios con sus cambios. Aseg&uacute;rese
de haber activado su acceso al directorio <filename>
CVSROOT</filename> en su <filename>avail</filename> antes
de intentarlo. Una vez haya comprobado que todo es correcto puede
hacer lo siguiente:
<screen>&prompt.user; <userinput>cvs commit -m '<replaceable>- Commit
para iniciar los scripts de FreeBSD</replaceable>'</userinput>
</screen></para>
</sect2>
<sect2>
<title>Prueba de la configuraci&oacute;n</title>
<para>Ahora ya est&aacute; listo para la primera prueba: un commit
forzado al fichero <filename>avail</filename> para asegurarnos
de que todo funciona como se espera.
<screen>&prompt.user; <userinput>cvs commit -f -m'<replaceable>Commit
forzado para probar los nuevos scripts en CVSROOT</replaceable>'
avail</userinput></screen>
Si todo ha funcionado &iexcl;felicidades! Dispone de una
configuraci&oacute;n de los <quote>scripts</quote> de &os; en su repositorio.
Si <application>CVS</application> le da alg&uacute;n tipo de error
en algo revise todo de nuevo y aseg&uacute;rese de que todos
los pasos se hayan hecho correctamente.</para>
</sect2>
</sect1>
<sect1 id="freebsdspecific">
<title>Configuraci&oacute;n espec&iacute;fica de &os;</title>
<para>El proyecto &os; utliza una configuraci&oacute;n
ligeramente diferente de la descrita; se usan los ficheros de
configuraci&oacute;n del subdirectorio
<filename>freebsd</filename> en <filename>CVSROOT</filename>.
El proyecto lo hace de esta manera debido al gran n&uacute;mero de
committers y a que todos y todas han de estar en el mismo grupo.
Un <quote>wrapper</quote> simple fu&eacute; escrito para poder
asegurar que los usuarios tengan permisos correctos para poder hacer
hacer commits; este <quote>wrapper</quote> establece el id del grupo al
que el respositorio tiene.</para>
<para>Si su repositorio lo necesita tambi&eacute;n los
pasos para hacerlo est&aacute;n documentados m&aacute;s adelante. Pero
antes de nada veamos una descripci&oacute;n de los ficheros involucrados.</para>
<sect2>
<title>Ficheros usados en la configuraci&oacute;n de &os;</title>
<para>
<itemizedlist>
<listitem>
<para><filename>access</filename> - este fichero controla
la informaci&oacute;n de acceso. Se debe editar este
fichero e incluir a todos los miembros del proyecto.</para>
</listitem>
<listitem>
<para><filename>freebsd/cvswrap.c</filename> - este es el
c&oacute;digo de CVS wrapper que va a ser necesario
instalar para hacer que todos los chequeos de acceso
funcionen. Mas informaci&oacute;n sobre &eacute;l m&aacute;s
adelante en el texto. Deber&iacute;a editar las rutas de las
macros <literal>ACCESS</literal> y <literal>REALCVS</literal>
para que se correspondan con su configuraci&oacute;n.
</para>
</listitem>
<listitem>
<para><filename>freebsd/mailsend.c</filename> - este fichero
es necesario para la configuraci&oacute;n de la lista
de correo de &os;. No deber&acute; tocar este
fichero.</para>
</listitem>
</itemizedlist>
</para>
</sect2>
<sect2>
<title>El procedimiento</title>
<procedure>
<step>
<para>Edite el fichero <filename>access</filename> para que
s&oacute;lo contenga su nombre de usuario.</para>
</step>
<step>
<para>Edite el fichero <filename>cvswrap.c</filename> para que
contenga la ruta correcta de su configuraci&oacute;n. Se
define con una macro llamada <literal>ACCESS</literal>.
Deber&aacute; cambiar tambi&eacute;n el lugar del binario de
<command>cvs</command> si no coincide con el de su
sistema. <filename>cvswrap.c</filename> est&aacute; pensado
para sustituir al comando cvs del sistema, que pasar&aacute; a
ser <filename>/usr/bin/ncvs
</filename>.</para>
<para>Mi copia de <filename>cvswrap.c</filename> tiene lo
siguiente:</para>
<programlisting>#define ACCESS "/local/cvsroot/CVSROOT/access"
#define REALCVS "/usr/bin/ncvs"</programlisting>
</step>
<step>
<para>Instalaremos despu&eacute;s wrapper para asegurarnos de que
se haya convertido en el grupo correcto al hacer el commit.
Tiene el c&oacute;digo fuente en
<filename>cvswrap.c</filename> en su
<filename>CVSROOT</filename>.</para>
<para>Tendr&aacute; que compilar el c&oacute;digo una vez haya
incluido en el las rutas correctas:
<screen>&prompt.user; <userinput>cc -o cvs cvswrap.c
</userinput></screen>
E inst&aacute;lelos (necesitar&aacute; ejecutar este paso como root):
<screen>&prompt.root; <userinput>mv /usr/bin/cvs /usr/bin/ncvs
</userinput>
&prompt.root; <userinput>mv cvs /usr/bin/cvs</userinput>
&prompt.root; <userinput>chown root:<replaceable>ncvs</replaceable>
/usr/bin/cvs /usr/bin/ncvs</userinput>
&prompt.root; <userinput>chmod o-rw /usr/bin/ncvs</userinput>
&prompt.root; <userinput> chmod u-w,g+s /usr/bin/cvs</userinput>
</screen>
Esto instala wrapper como el comando <command>cvs</command>
por defecto; as&iacute; nos aseguramos de que cualquiera que
quiera usar el repositorio necesita tener los niveles de acceso
correctos.</para>
</step>
<step>
<para>Ahora ya puede eliminar a todos los usuarios del grupo del repositorio.
Todo control de acceso lo har&aacute; a partir de ahora wrapper y este wrapper
establecer&aacute; el grupo de acceso correcto.</para>
</step>
</procedure>
</sect2>
<sect2>
<title>Prueba de la configuraci&oacute;n</title>
<para>Su wrapper deber&iacute;a estar listo. Deber&iacute; probarlo,
claro est&aacute;, haciendo un commit forzado al fichero <filename>
access</filename>:
<screen>&prompt.user; <userinput>cvs commit -f -m '<replaceable>Commit
forzado para probar los nuevos scripts en CVSROOT</replaceable>'
access</userinput></screen>
Si algo falla aseg&uacute;rese de que todos los pasos arriba
descritos se han realizado correctamente.</para>
</sect2>
</sect1>
</article>

View file

@ -5,6 +5,9 @@
<!DOCTYPE article PUBLIC "-//FreeBSD//DTD DocBook V4.1-Based Extension//EN" [
<!ENTITY % man PUBLIC "-//FreeBSD//ENTITIES DocBook Manual Page Entities//EN">
%man;
<!ENTITY % translators PUBLIC "-//FreeBSD//ENTITIES DocBook Translator Entities//ES">
%translators;
]>
<article lang=es>
@ -32,6 +35,7 @@
a la que se le asigna una IP din&aacute;mica. &Eacute;ste
documento no se ocupa de la configuraci&oacute;n de la
conexi&oacute;n PPP necesaria.</para>
&trans.es.carvay;
</abstract>
</articleinfo>

View file

@ -8,6 +8,8 @@ DOC?= article
FORMATS?= html
WITH_ARTICLE_TOC?=YES
INSTALL_COMPRESSED?= gz
INSTALL_ONLY_COMPRESSED?=

View file

@ -6,6 +6,9 @@
%man;
<!ENTITY % freebsd PUBLIC "-//FreeBSD//ENTITIES DocBook Miscellaneous FreeBSD Entities//EN">
%freebsd;
<!ENTITY % translators PUBLIC "-//FreeBSD//ENTITIES DocBook Translator Entities//ES">
%translators;
]>
<article lang=es>
@ -35,10 +38,10 @@
url="http://www.yahoo.com/">Yahoo!</ulink>, usan BSD. El servidor
de FTP que m&aacute;s tr&aacute;fico soporta del mundo, <ulink
url="ftp://ftp.cdrom.com/">ftp.cdrom.com</ulink>, transfiere 1'4 TB
diariamente usando BSD. Es f&aacute;cil suponer que no se trata de un
nicho de mercado: BSD es un secreto bien guardado.</para>
de FTP con m&aacute;s carga en 1999 (ahora desaparecido) , <ulink
url="ftp://ftp.cdrom.com/">ftp.cdrom.com</ulink>, transfer&iacute;a
1'4TB diariamente usando BSD. Es f&aacute;cil suponer que no se trata
de un nicho de mercado: BSD es un secreto bien guardado.</para>
<para>&iquest;As&iacute; que cu&aacute;l es el secreto? &iquest;Por
qu&eacute; BSD no es m&aacute;s conocido? &Eacute;ste
@ -46,6 +49,7 @@
<para>A lo largo de &eacute;ste art&iacute;culo ser&aacute;n destacadas
de <emphasis>&eacute;ste modo</emphasis>.</para>
&trans.es.bazcar;
</abstract>
</articleinfo>
@ -582,7 +586,7 @@
<sect2>
<title>Entonces &iquest;Qu&eacute; deber&iacute;a usar, BSD
o Linux</title>
o Linux?</title>
<para>&iquest;Qu&eacute; significa realmente esa pregunta?
&iquest;Qui&eacute;n deber&iacute;a utilizar BSD y qui&eacute;n

View file

@ -13,7 +13,7 @@ INSTALL_COMPRESSED?= gz
INSTALL_ONLY_COMPRESSED?=
#
#WITH_ARTICLE_TOC?=YES
WITH_ARTICLE_TOC?=YES
# SGML content
SRCS= article.sgml fase_1.sh fase_2.sh fase_3.mk

View file

@ -4,6 +4,8 @@
<!ENTITY % freebsd PUBLIC "-//FreeBSD//ENTITIES DocBook Miscellaneous FreeBSD Entities//EN">
%freebsd;
<!ENTITY scratch.ap "<application>FreeBSD From Scratch</application>">
<!ENTITY % translators PUBLIC "-//FreeBSD//ENTITIES DocBook Translator Entities//ES">
%translators;
]>
<article>
@ -39,6 +41,7 @@
que podr&iacute;a traducirse muy libremente como <quote>hacer, o m&aacute;s bien rehacer el
mundo entero</quote> y <command>make evenmore</command>, osea, <quote>hacer m&aacute;s
a&uacute;n</quote>. </para>
&trans.es.carvay;
</abstract>
<sect1 id="introduction">

View file

@ -11,6 +11,10 @@ FORMATS?= html
INSTALL_COMPRESSED?=gz
INSTALL_ONLY_COMPRESSED?=
#
WITH_ARTICLE_TOC?=YES
SRCS= article.sgml
DOC_PREFIX?= ${.CURDIR}/../../..

View file

@ -10,6 +10,8 @@
<!ENTITY % mailing-lists PUBLIC "-//FreeBSD//ENTITIES DocBook Mailing List Entities//ES">
%mailing-lists;
<!ENTITY % translators PUBLIC "-//FreeBSD//ENTITIES DocBook Translator Entities//ES">
%translators;
]>
<article lang=es>
@ -25,6 +27,7 @@
en el hardware de port&aacute;tiles
y sistemas de escritorio y de c&oacute;mo afecta esto al uso
de FreeBSD.</para>
&trans.es.bazcar;
</abstract>
</articleinfo>

View file

@ -66,7 +66,7 @@ $FreeBSDes: doc/es_ES.ISO8859-1/articles/problem-reports/article.sgml,v 1.2 2004
De forma semejante, una de las experiencias m&aacute;s fustrantes que
puede experimentar un desarrollador de aplicaciones consiste en
verse inundado por una cantidad ingente de informes de errores
que en realidad vienen a ser solicitudes donde se requiere
que en realidad vienen a ser solicitudes de
soporte o ayuda, o que contienen poca o ninguna informaci&oacute;n
sobre c&uacute;al es el problema y como se puede reproducir.</para>
@ -74,44 +74,46 @@ $FreeBSDes: doc/es_ES.ISO8859-1/articles/problem-reports/article.sgml,v 1.2 2004
problemas de calidad. Usted se preguntar&aacute; c&oacute;mo se pueden
escribir informes de problemas de calidad. Bien, para ir
directos al grano, un informe de problemas de calidad es aqu&eacute;l
que se puede analizar y tratar r&aacute;pidamente, para mutua
que se puede analizar y tratar r&aacute;pidamente, para m&uacute;tua
satisfacci&oacute;n del usuario y del desarrollador.</para>
<para>Aunque el objetivo principal de este art&iacute;culo se centra en
los informes de problemas, la mayor&iacute;a de los conceptos se pueden
aplicar bastante bien en otros proyectos de software.</para>
los informes de problemas de &os; la mayor&iacute;a de los conceptos se
pueden aplicar bastante bien en otros proyectos de software.</para>
<para>D&eacute;se cuenta de que este art&iacute;culo se organiza de forma
tem&aacute;tica, no cronol&oacute;gicamente, de tal forma que se debe
leer el documento &iacute;ntegro antes de proceder a enviar informes
de problemas. No debe tratarse como un tutorial del estilo paso
leer el documento &iacute;ntegro antes de enviar informes
de problemas. No debe tratarse como un tutorial del estilo paso
a paso.</para> </section>
<section id="pr-when">
<title>Cuando enviar informes de problemas</title>
<title>Cu&aacute;ndo enviar informes de problemas</title>
<para>Existen varios tipos de problemas y no todos ellos se
merecen la creaci&oacute;n de un informe de problemas. Por supuesto,
nadie es perfecto, y existir&aacute;n ocasiones donde estaremos
convencidos de haber encontrado un bug en un programa cuando
realmente hemos malentendido la sintaxis o el funcionamiento de
nadie es perfecto, y existir&aacute;n ocasiones en las que estaremos
convencidos de haber encontrado un <quote>bug</quote> en un programa
cuando realmente hemos malinterpretado la sintaxis o el funcionamiento de
dicho programa, o simplemente hemos cometido un error
tipogr&aacute;fico en un archivo de configuraci&oacute;n (aunque en este
tipogr&aacute;fico en un fichero de configuraci&oacute;n (aunque en este
&uacute;ltimo caso podr&iacute;a tratarse de un indicador de
documentaci&oacute;n pobre o de manejo de errores inadecuado por parte
de la aplicaci&oacute;n). Incluso teniendo estos aspectos en cuenta,
existen varios casos en los cuales el env&iacute;o de un informe de
problemas resulta claramente <emphasis>no ser</emphasis> la
mejor forma de actuar, ya que dicho env&iacute;o puede servir para
fustrar tanto al creador del informe como al desarrollador de
la aplicaci&oacute;n. Por el contrario, tambi&eacute;n existen casos
documentaci&oacute;n escasa o que la aplicaci&oacute;n peca de una
gesti&oacute;n de errores defectuosa. Incluso
teniendo estos aspectos en cuenta existen varios casos en los cuales
el env&iacute;o de un informe de problemas resulta claramente
<emphasis>no ser</emphasis> la mejor forma de proceder, ya que dicho
env&iacute;o puede servir para frustrar tanto a quien env&iacute;a el
informe como a quien desarroll&oacute; la aplicaci&oacute;n.
Por el contrario, tambi&eacute;n existen casos
en los que puede resultar apropiado enviar un informe de problemas sobre
algo m&aacute;s aparte de bugs; una mejora o una solucitud de
nueva caracter&iacute;stica, por citar un par de ejemplos.</para>
algo m&aacute;s aparte de <quote>bugs</quote>: una mejora o una solucitud
nuevas caracter&iacute;sticas, por citar un par de ejemplos.</para>
<para>As&iacute; que &iquest;c&oacute;mo podemos determinar qu&eacute;
constituye un bug y qu&eacute; no? Como regla para principiantes
podemos decir que su problema <emphasis>no</emphasis> es un bug si
constituye un <quote>bug</quote> y qu&eacute; no? Como regla para
principiantes podemos decir que su problema
<emphasis>no</emphasis> es un <quote>bug</quote> si
se puede expresar como una pregunta (normalmente del estilo de
<quote>&iquest;c&oacute;mo hago X?</quote> o
<quote>&iquest;donde puedo encontrar Y?</quote>). No siempre las
@ -122,7 +124,7 @@ $FreeBSDes: doc/es_ES.ISO8859-1/articles/problem-reports/article.sgml,v 1.2 2004
<para>A continuaci&oacute;n se muestran algunos casos en los que resulta
apropiado enviar un informe de problemas sobre algo que no se
considera un bug:</para>
considera un <quote>bug</quote>:</para>
<itemizedlist>
<listitem>
@ -139,26 +141,26 @@ $FreeBSDes: doc/es_ES.ISO8859-1/articles/problem-reports/article.sgml,v 1.2 2004
</listitem>
</itemizedlist>
<para>Otro tema es que si el sistema donde se experiment&oacute; el bug
no se encuentra medianamente actualizado, se debe considerar muy
seriamente su actualizaci&oacute;n e intentar reproducir el problema en
un sistema actualizado antes de emitir el informe de problemas.
<para>Otro tema es que si el sistema donde se experiment&oacute; el
<quote>bug</quote> no est&aacute; medianamente actualizado se debe
considerar muy seriamente su actualizaci&oacute;n e intentar reproducir
el problema en un sistema actualizado antes de emitir el informe.
Existen pocas cosas que molesten m&aacute;s a un desarrollador que
recibir un informe de problemas sobre un problema que ya ha
resuelto.</para>
<para>Por &uacute;ltimo, un bug que no se puede reproducir
dif&iacute;cilmente puede arreglarse. Si el bug
s&oacute;lo corri&oacute; una vez y no somos capaces de
reproducirlo, y parece que no le ocurre a nadie m&aacute;s,
<para>Por &uacute;ltimo, un <quote>bug</quote> que no se puede
reproducir dif&iacute;cilmente puede arreglarse. Si el
<quote>bug</quote> s&oacute;lo ocurri&oacute; una vez y no somos capaces
de reproducirlo, y parece que no le ocurre a nadie m&aacute;s,
es muy probable que ni siquiera los desarrolladores puedan
reproducirlo y por lo tanto ni siquiera puedan imaginarse que es
lo que falla. Esto no significa que el bug no haya ocurrido,
sino que las probabilidades de que nuestro informe de errores
reproducirlo y por lo tanto ni siquiera puedan imaginarse qu&eacute; es
lo que falla. Esto no significa que el <quote>bug</quote> no haya
ocurrido, sino que las probabilidades de que nuestro informe de errores
sirva para corregir un defecto son muy peque&ntilde;as. Para complicar
m&aacute;s las cosas, a menudo estas clases de errores se producen
debido a fallos en los discos duros o sobrecalentamiento del
procesador &mdash; usted debe siempre intentar descubrir estos
debido a fallos en los discos duros o al sobrecalentamiento del
procesador: debe intentar siempre descubrir estos
fallos, siempre que sea posible, antes de enviar un PR.</para>
</section>
@ -166,26 +168,26 @@ $FreeBSDes: doc/es_ES.ISO8859-1/articles/problem-reports/article.sgml,v 1.2 2004
<title>Preparativos</title>
<para>Una buena regla que se puede seguir consiste en realizar
siempre una b&uacute;squeda en segundo plano antes de enviar un informe
siempre una b&uacute;squeda antes de enviar un informe
de problemas. Quiz&aacute; nuestro problema ya ha sido reportado;
quiz&aacute; se est&aacute; discutiendo en las listas de
distribuci&oacute;n o fue discutido hace poco; incluso es posible que
se haya arreglado en versiones m&aacute;s recientes del software.
Por lo tanto, se deben consultar los sitios y fuentes m&aacute;s obvias
antes de proceder con el env&iacute;o del informe de errores.
En &os;, esto significa:</para>
En &os; esto significa:</para>
<itemizedlist>
<listitem>
<para>El &os;
<para>Las
<ulink url="http://www.freebsd.org/doc/en/books/faq/index.html">Preguntas M&aacute;s
<!--
XXX
<ulink url="&url.books.faq;/index.html">Preguntas M&aacute;s
-->
Frecuentes</ulink> (FAQ).
La lista de FAQ intenta proporcionar respuestas para un
amplio rango de preguntas, tales como aquellas relacionadas
Frecuentes</ulink> (FAQ) de &os;.
Las FAQ intentan proporcionar respuestas para un
amplio rango de dudas, tales como aquellas relacionadas
con las
<!--
<ulink url="&url.books.faq;/hardware.html">compatibilidades
@ -215,7 +217,7 @@ XXX
<ulink
url="http://www.freebsd.org/doc/en/books/handbook/eresources.html#ERESOURCES-MAIL">listas
de correo</ulink>&mdash;si no est&aacute; subscrito, utilice
de correo</ulink>. Si no est&aacute; subscrito utilice
<ulink
url="http://www.FreeBSD.org/search/search.html#mailinglists">la
b&uacute;squeda en los archivos</ulink> del sitio web de &os;. Si
@ -245,7 +247,7 @@ XXX
<listitem>
<para>Lo m&aacute;s importante, se deber&iacute;a intentar comprobar
si la documentaic&oacute;n existente en el c&oacute;digo fuente del
si la documentaci&oacute;n existente en el c&oacute;digo fuente del
programa puede resolver el problema.</para>
<para>En el caso de las fuentes del sistema &os; debe estudiarse
@ -933,12 +935,12 @@ XXX
<title>Follow-up</title>
<para>Una vez enviado el informe de problemas, se recibe una
confirmaci&oacute;n por correo eletr&oacute;nico en la que se incluye el
confirmaci&oacute;n por correo electr&oacute;nico en la que se incluye el
n&uacute;mero asignado al informe y la URL que puede utilizarse para
consultar su estado. Con un poquito de suerte, alguien mostrar&aacute;
inter&eacute;s en el problema y tratar&aacute; de solucionarlo, o de
explicar por qu&eacute; raz&oacute;n no se considera un problema,
c&oacute;mo ha ocurrido en muchas ocasiones. Recibiremos
como ha ocurrido en muchas ocasiones. Recibiremos
autom&aacute;ticamente una notificaci&oacute;n relativa a
cualquier cambio de estado, adem&aacute;s de recibir copias de
cualquier comentario o de los parches que se generen

View file

@ -6,6 +6,9 @@
<!ENTITY % freebsd PUBLIC "-//FreeBSD//ENTITIES DocBook Miscellaneous FreeBSD Entities//EN">
%freebsd;
<!ENTITY % translators PUBLIC "-//FreeBSD//ENTITIES DocBook Translator Entities//ES">
%translators;
]>
<article lang=es>
@ -22,6 +25,9 @@
</affiliation>
</author>
</authorgroup>
<abstract>
&trans.es.bazcar;
</abstract>
</articleinfo>
<sect1>