Ambos lados, revisión anteriorRevisión previaPróxima revisión | Revisión previaPróxima revisiónAmbos lados, revisión siguiente |
es:howtos:misc:anatomy_of_a_slackbuild [2020/01/24 15:47 (UTC)] – [Anatomía de un Slackbuild] rramp | es:howtos:misc:anatomy_of_a_slackbuild [2020/02/08 15:33 (UTC)] – [Anatomía de un Slackbuild] rramp |
---|
| |
Otro algoritmo común es llamado, por ejemplo, php es la "sentencia switch". | Otro algoritmo común es llamado, por ejemplo, php es la "sentencia switch". |
En terminos simples, es una lista con condiciones que se va evaluando. Si ninguna de las condiciones se cumple en las últimas líneas puede colocar lo que le gustaría hacer. | En términos simples, es una lista con condiciones que se va evaluando. Si ninguna de las condiciones se cumple en las últimas líneas puede colocar lo que le gustaría hacer. |
| |
En bash en principio es la misma idea, pero se le llama "sentencia case". Es posib | En bash en principio es la misma idea, pero se le llama "sentencia case". |
Podes colocar lo que desees en los bloques case, pero si piensas en el hecho de que queremos averiguar la "arquitectura" de un ordenador y ya sabemos que sólo hay ciertas posibilidades, entonces tiene sentido probar primero un par de posibilidades conocidas en la lista y, si no hay ninguna coincidencia, hacer algo para obtener una respuesta. arm y i586 son dos tipos de arquitecturas de computadoras. | Podes colocar lo que desees en los bloques case, pero si piensas en el hecho de que queremos averiguar la "arquitectura" de un ordenador y ya sabemos que sólo hay ciertas posibilidades, entonces tiene sentido probar primero un par de posibilidades conocidas en la lista y, si no hay ninguna coincidencia, hacer algo para obtener una respuesta. arm y i586 son dos tipos de arquitecturas de computadoras. |
| |
Esto muestra la arquitectura de tu PC, en mi caso es x86_64. | Esto muestra la arquitectura de tu PC, en mi caso es x86_64. |
| |
Así que para resumir con respecto al bloque de código. Primero una sentencia "if" se ejecuta para ver si la variable "ARCH" está vacía. Si hay un valor para la variable ARCH, nada en el bloque de "if" y "case" interno se ejecutará; pero si una cadena vacía es encontrada (ARCH no tiene valor) una "sentencia case" es ejecutada (dentro del bloque de código if) para buscar una coincidencia. Si se encuentra una coincidencia la variable ARCH sera asignada con el valor de la coincidencia y la ejecución del case se detendría. Si la variable ARCH estaba vacia y no coincide con la lista, entonces entra en juego la línea que dice: | Así que para resumir con respecto al bloque de código. Primero una sentencia "if" se ejecuta para ver si la variable "ARCH" está vacía. Si hay un valor para la variable ARCH, nada en el bloque de "if" y "case" interno se ejecutará; pero si una cadena vacía es encontrada (ARCH no tiene valor) una "sentencia case" es ejecutada (dentro del bloque de código if) para buscar una coincidencia. Si se encuentra una coincidencia la variable ARCH sera asignada con el valor de la coincidencia y la ejecución del case se detendría. Si la variable ARCH estaba vacía y no coincide con la lista, entonces entra en juego la línea que dice: |
| |
<code>uname -m </code> | <code>uname -m </code> |
es usado para obtener el resultado y la variable ARCH es fijada con el resultado. | es usado para obtener el resultado y la variable ARCH es fijada con el resultado. |
| |
Don't be fazed by the question mark in i?86 ,the question mark is a place holder that allows for possibilities via regex. it could be "3" (i386) , "6"( i686) etc. | |
| |
Next block of code | No te preocupes por el signo de interrogación en i?86, el signo de interrogación es un lugar que permite posibilidades a través de regex. |
| Podría ser "3" (i386), "6"( i686), etc. |
| |
| Proximo bloque de código |
| |
<code> | <code> |
</code> | </code> |
| |
Before we go into this let me have a look in my slackware file system and see whats there at /tmp/SBo.Taking a quick look at the image will give you a clue that the slackbuild works, by using the /tmp/SBo/ directory and creates a directory with the syntax package-packagename.So if we now have a look at the code above. CWD (current working directory) is a variable and is set to the value of pwd. If you run that in a terminal window, it will tell you where you in a bash context where you are working from.{{ howtos:misc:tmp_Sbo.gif }} | Antes de entrar en esto, déjame echar un vistazo a mi sistema de archivos de Slackware y ver qué hay en /tmp/SBo. |
| Echando un vistazo rápido a la imagen te dará una pista de que el slackbuild funciona, usando el directorio /tmp/SBo/ y crea un directorio con la sintaxis package-packagename. Así que si ahora echamos un vistazo al código anterior. |
| CWD (directorio de trabajo actual) es una variable y es configurada al valor de pwd. Si lo ejecutas en una ventana del terminal, te dirá dónde estás en un contexto bash desde el que estás trabajando. |
| {{ howtos:misc:tmp_Sbo.gif }} |
| |
TMP is going to be set to /tmp/SBo. | TMP se va a establecer en /tmp/SBo. |
Now lets have a look at | Ahora echemos un vistazo a |
| |
<code> | <code> |
PKG=$TMP/package-$PRGNAM | PKG=$TMP/package-$PRGNAM |
</code> | </code> |
| |
You might guess PKG is going to be set for latex2html to : | Se podría suponer que la PKG se va a fijar para el látex2html a: |
<code> | <code> |
/tmp/SBo/package-latex2html | /tmp/SBo/package-latex2html |
</code> | </code> |
| |
If you look closely at the image (taking into account /tmp/SBo/ at top of image) you will see exactly that in the image.OUTPUT is set to /tmp \\ | Si se mira de cerca la imagen (tomando en cuenta /tmp/SBo/ en la parte superior de la imagen) verás exactamente que en la imagen. OUTPUT está ajustado a /tmp\\ |
| |
Next block of code: | Próximo bloque de código: |
<code> | <code> |
if [ "$ARCH" = "i586" ]; then | if [ "$ARCH" = "i586" ]; then |
| |
</code> | </code> |
Probably we need, before we look at the rest of the code for latex2html slackbuild to introduce some basic concepts. | Probablemente, antes de mirar el resto del código del slackbuild latex2html para introducir necesitemos algunos conceptos básicos. |
| |
Historically computer software is installed in a three step process called configure, make, make install. Configure gets ready to build the software , see if everything needed is there and builds a new make file. A make file is a file that contains instructions to build a program. | 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. |
| |
You can from the command line install software just using configure, make and make install. A slackbuild does the job of creating a package so that the process of installing is more manageable and reliable fashion. When you have a slackbuild downloaded on your system should there be a new release of source code its a simple matter of putting that source in your unpacked slackbuild and a quick edit to the slackbuild script. | 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. |
| |
| El código fuente de los programas informáticos está escrito en lenguajes de "alto nivel", pero se convierte en una forma que el ordenador puede entender fácilmente. El código escrito en el lenguaje C implica que un compilador de C lo convierte a binario. |
| |
Computer program source are written in “high level “ languages but are converted into a form that the computer can readily understand.Code written in the C language involves a C compiler converted it to binary. | |
| |
The whole goal of any system installing a program, is that it should involve the concept of making it “tailor made” for the computer its being installed. Obviously that is going to involve the computer Architecture. | The whole goal of any system installing a program, is that it should involve the concept of making it “tailor made” for the computer its being installed. Obviously that is going to involve the computer Architecture. |