[2024-feb-29] Sad news: Eric Layton aka Nocturnal Slacker aka vtel57 passed away on Feb 26th, shortly after hospitalization. He was one of our Wiki's most prominent admins. He will be missed.

Welcome to the Slackware Documentation Project

Diferencias

Muestra las diferencias entre dos versiones de la página.

Enlace a la vista de comparación

Ambos lados, revisión anteriorRevisión previa
Próxima revisión
Revisión previa
es:howtos:misc:anatomy_of_a_slackbuild [2020/02/08 18:54 (UTC)] – [Anatomía de un Slackbuild] rrampes:howtos:misc:anatomy_of_a_slackbuild [2020/04/26 20:17 (UTC)] (actual) – Traducción completa. Comentarios y sugerencias son bienvenidos rramp
Línea 1: Línea 1:
 <!-- Add your text below. We strongly advise to start with a Headline (see button bar above). --> <!-- Add your text below. We strongly advise to start with a Headline (see button bar above). -->
  
-<note>En proceso de traducción.  --- //[[wiki:user:rramp|rramp]] 2020/01/13 16:26 (UTC)//</note> 
 ====== Anatomía de un Slackbuild ====== ====== Anatomía de un Slackbuild ======
  
Línea 35: Línea 34:
  
 En los días anteriores a Windows en Unix, un shell o Bourne Shell (Stephen Bourne, Bell Labs) fue una forma de comunicarse con el sistema. En los días anteriores a Windows en Unix, un shell o Bourne Shell (Stephen Bourne, Bell Labs) fue una forma de comunicarse con el sistema.
-En reconocimiento a Stephen Bourne, Brian Fox lanzó una nueva versi{on en 1989 y la llamó *B**ourne **a**gain **Sh**ell (bash).+En reconocimiento a Stephen Bourne, Brian Fox lanzó una nueva versión en 1989 y la llamó *B**ourne **a**gain **Sh**ell (bash).
  
 Si abrís una terminal en Slackware - es decir ''Menu -> System -> Console'' y tipeando en el $ prompt: Si abrís una terminal en Slackware - es decir ''Menu -> System -> Console'' y tipeando en el $ prompt:
Línea 154: Línea 153:
 Podría ser "3" (i386), "6"( i686), etc. Podría ser "3" (i386), "6"( i686), etc.
  
-Proximo bloque de código+Próximo bloque de código
  
 <code> <code>
Línea 203: Línea 202:
  
 Históricamente el software para computadoras es instalado en un un proceso de tres pasos llamado configure, make and make install. Históricamente el software para computadoras es instalado en un un proceso de tres pasos llamado configure, make and make install.
-configure se utiliza para preparar la construcción del software, comprueba que todo lo necesario está en el sistema y crea un archivo para make. Un archivo para meke es un archivo que contiene instrucciones para compilar un programa.+configure se utiliza para preparar la construcción del software, comprueba que todo lo necesario está en el sistema y crea un archivo para make. Un archivo para make es un archivo que contiene instrucciones para compilar un programa.
  
 A partir de la línea de comandos se puede instalar software solamente usando configure, make and make install. Un slackbuild hace el trabajo de crear el paquete para que el proceso de instalación sea más manejable y confiable de moda. Cuando usted tiene un slackbuild descargado en su sistema, si hay una nueva versión del código fuente es una simple cuestión de poner esa fuente en su slackbuild desempaquetado y una rápida edición del script de slackbuild.  A partir de la línea de comandos se puede instalar software solamente usando configure, make and make install. Un slackbuild hace el trabajo de crear el paquete para que el proceso de instalación sea más manejable y confiable de moda. Cuando usted tiene un slackbuild descargado en su sistema, si hay una nueva versión del código fuente es una simple cuestión de poner esa fuente en su slackbuild desempaquetado y una rápida edición del script de slackbuild. 
Línea 238: Línea 237:
  
 package-latex2html at  of /tmp/SBo/package-latex2html \\ package-latex2html at  of /tmp/SBo/package-latex2html \\
-mkdir -p $TMP $PKG $OUTPUT :mkdir with the " -p " flag creates  directoriesbut only if they don't exist already.\\+mkdir -p $TMP $PKG $OUTPUT :mkdir con la bandera (flag) " -p " crea directoriospero sólo si no existen ya.\\
  
-that would be /tmp/SBo , /tmp/Sbo/package-latex2html, /tmp \\+que serían /tmp/SBo , /tmp/Sbo/package-latex2html, /tmp \\
  
 +Es improbable que el directorio SBo no exista a menos que no se hayan ejecutado otros slackbuilds en el pasado. /tmp debería estar ahí por defecto con la instalación de slackware. 
  
-Its  unlikely that the SBo directory doesn't exist unless no other slackbuilds have been run in the past . /tmp should be there as default with the  slackware installation. \\  +cd $tmp : mueve el lugar donde Bash está trabajando de a /tmp/SBo \\
-cd $tmp : moves location where bash is  working from to /tmp/SBo \\+
  
-rm -rf $PRGNAM-$VERSION will get rid of any previous directory entries(maybe failed for latex2html-2019.2  \\+rm -rf $PRGNAM-$VERSION se deshará de cualquier entrada previa del directorio (tal vez fallidapara latex2html-2019.2.\\
  
-tar xvf $CWD/$PRGNAM-$VERSION.tar.gz : This equated to unpacking of  latex2html-2019.2.tar.gz , which would be inside the unpacked slackbuild from slackbuilds.org namely "latex2html".\\+tar xvf $CWD/$PRGNAM-$VERSION.tar.gz : Esto equivalía a desempacar de  latex2html-2019.2.tar.gz , el cual estaría en el interior del slackbuild de slackbuilds.org llamado "latex2html".\\
  
-cd $PRGNAM-$VERSION : This  is a "change directorycommandThe bash shell will now be working from the context that is located inside the unpacked  sourcewhich is located $CWD. i.e We are back to the unpacked slackbuild but, inside the unpacked source.+cd $PRGNAM-$VERSION : Este es el comando para "cambiar de directorio"El shell bash funcionara ahora desde el contexto que se encuentra dentro de la fuente desempacadaque se encuentra en $CWD. Es decir, estamos desempacando el slackbuild pero dentro de la fuente desempacada.
  
-chown -R root:root . : Notice the dot with a space at the end of the linethis means all in current directory. -R is permission recursiveSo here we are giving ownership to root and group root.+chown -R root:root . : Note el puntocon un espacio al final de la líneaesto significa todo en el directorio actual. -R es recursivoAsí que aquí estamos dando propiedad a root y al grupo root.
 <code> <code>
  find -L . \  find -L . \
Línea 261: Línea 260:
 </code> </code>
  
-If i understand the above block of code correctly its using the "findon the basis of permissions and following symbolic links using the "-L flag"If i understand this correctly its basically setting directories to 755 in order to enable a "cd" into them and files so that root can read writeIf this is true I might  have expected+Si entiendo correctamente el bloque de código anterior, está usando la "búsquedaen base a los permisos y siguiendo los enlaces simbólicos usando "-L flag"Si entiendo esto correctamente, es básicamente establecer los directorios 755 para habilitar un "cd" en ellos y los archivos para que root pueda leer y escribirSi esto es cierto, podría haber esperado: 
 <code> <code>
 -type d -exec chmod 775 {}  -type d -exec chmod 775 {} 
 </code>  </code> 
- +Para directorio y
-For directories  and +
 <code> <code>
 -type f -exec chmod 644 {} -type f -exec chmod 644 {}
  
 </code> </code>
-For files+para archivos
-Next block of code+ 
 +Próximo bloque de código
 <code> <code>
 CFLAGS="$SLKCFLAGS" \ CFLAGS="$SLKCFLAGS" \
Línea 294: Línea 294:
 </code> </code>
  
-A couple of things to say here , the use of "\" is a way of using a long command over several lines. We have already mentioned CFLAGS and CXXFLAGS. We also previously mentioned the variable SLKFLAGS and here we use it to set the value of CFLAGS and CXXFLAGS. +Un par de cosas para decir aquí, el uso de "\" es una forma de usar un comando largo sobre varias líneas. Ya se mencionó CFLAGS y CXXFLAGS. 
 +A couple of things to say here , the use of "\" is a way of using a long command over several lines. We have already mentioned CFLAGS and CXXFLAGS. 
 +También hemos mencionado anteriormente la variable SLKFLAGS y aquí la usamos para establecer el valor de CFLAGS CXXFLAGS. 
  
-In this latex2html slackbuild script we also utilize a three step process of configure, make, make install. +En este script slackbuild latex2html también utilizamos un proceso de tres pasos de configurar, make, make install. 
-But what about the likes of  --enable-eps , where does that come from ?+Pero, ¿qué pasa con los tipos de --enable-eps, ¿de dónde viene eso?
  
-Well if you take the source code  [[https://github.com/latex2html/latex2html/archive/v2019.2/latex2html-2019.2.tar.gz | latex2html source]]unpack it a quick way is right click , open with Ark) cd into it and run :+Bueno, si tomas el código fuente de [[https://github.com/latex2html/latex2html/archive/v2019.2/latex2html-2019.2.tar.gz | latex2html source]] desempaquetas una forma rápida es hacer click con el botón derechoabrir con Ark) ingresar al directorio y ejecutar:
  
  
Línea 306: Línea 308:
 </code> </code>
  
-Then you will get some useful information from the developersIt tells you the option and how you can enable some of them+Entonces obtendrá información útil de los desarrolladoresTe dice la opción y cómo puedes habilitar algunas de ellas
  
 <code> <code>
Línea 313: Línea 315:
 </code> </code>
  
-Here, make, make install are carried out.Note DESTDIR is a flag to say where the package will go. \\+Aquí, make, make install se llevan a cabo. Note que DESTDIR es una bandera que indica dónde irá el paquete.\\
    
 $PKG equates to /tmp/SBo/package-latex2html $PKG equates to /tmp/SBo/package-latex2html
  
-Next Block of code:\\+Proximo bloque de código:\\
  
 <code> <code>
Línea 338: Línea 340:
  
 </code> </code>
 +Las dos primeras líneas de este bloque están un poco llenas:
  
-The first two lines of this block are a bit of a mouth-full: 
 <code> <code>
 find $PKG -print0 | xargs -0 file | grep -e "executable" -e "shared object" | grep ELF \ find $PKG -print0 | xargs -0 file | grep -e "executable" -e "shared object" | grep ELF \
Línea 345: Línea 347:
 </code> </code>
  
-We can however pick out key words that are commands and that can help to make some sense of it. +Sin embargo, podemos elegir palabras clave que son órdenes y que pueden ayudar a darle algún sentido. "find" es una poderosa utilidad, con más de 50 opciones, localizada en /usr/bin/find. Básicamente hace lo que dice en la lataCon la opción -print0 separa lo que encuentra con "\000"en una palabra NULL.  
-indlocated at /usr/bin/find is a powerful utility  that has around 50 optionsIt basically does what it says on the can.With the -print0 option it separates what it finds with "\000"  in a word NULL. +La tuberia "|" es usada para pasar los resultados de un comando a otro; en este caso xargs tiene un flag (bandera) -0. Esta opción es para que xargs acepte la entrada que tiene /000 entre ellos. ELF es un formato ejecutable y enlazable.
  
-The "|" or pipe is used to pass the results of a command to another;in this case xargs which has a flag -0. This option  is for xargs to accept input that has /000 between them. ELF is is Executable & Linkable Format. +Para dar una respuesta sucinta las dos líneas están eliminando los símbolos de depuración y otras cosas innecesarias para que los binarios sean más pequeñosmás rápidos y ocupen menos memoria.
- +
-To give a succinct answer the two lines are removing debugging symbols and other unnecessary stuff to make the binaries smallerfaster and take up less memory.+
  
 <code> <code>
Línea 356: Línea 356:
 </code> </code>
  
-Here we are preparing a directory which will be called "latex2html-2019.2" located at  /usr/doc. This is so we an put relevant documentation into a directory relevantly calledso that user can access documentation on the package+Aquí estamos preparando un directorio que se llamara "latex2html-2019.2" localizado en /usr/doc. 
-The next lines put files such as  README.md into the /usr/doc/latex2html-2019.2 directory.+Esto es así para que pongamos la documentación relevante en un directorio. De esta formaun usuario puede acceder la documentación del paquete
 +Las siguientes líneas ponen archivos como README.md en el directorio /usr/doc/latex2html-2019.2.
  
 <code> <code>
Línea 377: Línea 378:
  
 //Si enseñas matemáticas no te impide incrustar un poco de inglés.// //Si enseñas matemáticas no te impide incrustar un poco de inglés.//
 +
 Una plantilla en blanco puede ser obtenida de: [[https://slackbuilds.org/templates/]] Una plantilla en blanco puede ser obtenida de: [[https://slackbuilds.org/templates/]]
  
 es:howtos:misc:anatomy_of_a_slackbuild ()