BASH 118
Recipe Openresty qi package manager Guest on 27th November 2020 06:52:00 PM
  1. #       Contrucción de receta para Openresty
  2. #      
  3. #       Copyright (c) 2020 Ricardo García Jiménez, <ricardog08@disroot.org>.
  4. #
  5. #       Autorizado en virtud de la Licencia de Apache, Versión 2.0 (la "Licencia");
  6. #       se prohíbe utilizar este archivo excepto en cumplimiento de la Licencia.
  7. #       Podrá obtener una copia de la Licencia en:
  8. #
  9. #               http://www.apache.org/licenses/LICENSE-2.0
  10. #
  11. #       A menos que lo exijan las leyes pertinentes o se haya establecido por escrito,
  12. #       el software distribuido en virtud de la Licencia se distribuye “TAL CUAL”,
  13. #       SIN GARANTÍAS NI CONDICIONES DE NINGÚN TIPO, ya sean expresas o implícitas.
  14. #       Véase la Licencia para consultar el texto específico relativo a los permisos
  15. #       y limitaciones establecidos en la Licencia.
  16.  
  17.  
  18. # Cuando un comando falla finaliza el script
  19. set -e
  20.  
  21. program=openresty   # Nombre del programa
  22. version=1.19.3.1    # Versión del programa
  23. arch=${arch}        # Arquitectura que constituye el nombre del paquete.
  24. release=1           # Número de lanzamiento del paquete.
  25.  
  26. # Nombre del directorio que contiene el código fuente del programa al descomprimir el tarball.
  27. # Algunos programas establecen difentes nombres para tarball y para el directorio descomprimido.
  28. #srcdir=
  29.  
  30. pkgcategory=network    # Categoria del paquete.
  31.  
  32. # Nombre del tarball del código fuente a través de la red.
  33. tarname=${program}-${version}.tar.gz
  34.  
  35. # Origen del código fuente del programa a través de la red.
  36. fetch=https://openresty.org/download/${tarname}
  37.  
  38. # Sito web oficial del programa.
  39. homepage=https://openresty.org/en/
  40.  
  41. # Descripción breve y descripción extendida, separa por un espacio, del programa.
  42. description='
  43. A dynamic web platform based on NGINX and LuaJIT.
  44.  
  45. Openresty is a web platform that integrates an improved version
  46. of the NGINX core, and not a fork of NGINX, being a server
  47. of web applications that executes scripts written in the
  48. Lua programming language with its own LuaJIT 2 engine.
  49. '
  50.  
  51. # Abreviación de la licencia del programa.
  52. license='BSD'
  53.  
  54. # Documentación adicional, autores, cambios, nuevas funcionalidades,
  55. # agradecimientos, versión del programa, lista de tareas, licencia, etc,
  56. # dentro del talball del código fuente del programa.
  57. docs='COPYRIGHT README.markdown'
  58. docsdir=${docdir}/${program}-${version}
  59.  
  60. # Función especial que compila el código fuente del programa
  61. # y construye el paquete.
  62. build(){
  63.  
  64.         # Descomprime el tarball del código fuente.
  65.         unpack "${tardir}/${tarname}"
  66.        
  67.         # Cambia al directorio del código fuente del programa
  68.         cd ${srcdir}
  69.  
  70.         # Establece permisos adecuados a todo los archivos
  71.         # del código fuente del programa.
  72.         chmod -R u+w,go-w,a+rX-s .
  73.        
  74.         destopenresty=/usr/${program}
  75.        
  76.         # Sección de compilación del programa.
  77.         ./configure \
  78.                         --build=$(cc -dumpmachine) \
  79.                         --prefix=${destopenresty} \
  80.                         --user=nobody \
  81.                         --group=nobody \
  82.                         --with-http_iconv_module \
  83.                         --with-threads \
  84.                         --with-file-aio \
  85.                         --with-http_ssl_module \
  86.                         --with-http_v2_module \
  87.                         --with-http_realip_module \
  88.                         --with-http_addition_module \
  89.                         --with-http_geoip_module \
  90.                         --with-http_sub_module \
  91.                         --with-http_dav_module \
  92.                         --with-http_flv_module \
  93.                         --with-http_mp4_module \
  94.                         --with-http_gunzip_module \
  95.                         --with-http_gzip_static_module \
  96.                         --with-http_auth_request_module \
  97.                         --with-http_secure_link_module \
  98.                         --with-http_degradation_module \
  99.                         --with-http_slice_module \
  100.                         --with-http_stub_status_module \
  101.                         --with-mail \
  102.                         --with-mail_ssl_module \
  103.                         --with-stream \
  104.                         --with-stream_ssl_module \
  105.                         --with-stream_realip_module \
  106.                         --with-stream_geoip_module \
  107.                         --with-stream_ssl_preread_module \
  108.                         --with-compat \
  109.                         --with-pcre-jit
  110.                        
  111.         make -j${jobs} V=1
  112.         make -j${jobs} DESTDIR=${destdir} install
  113.  
  114.  
  115.         luajitdir=${destdir}/${destopenresty}/luajit
  116.         luajitmantype=${mandir}/man1
  117.     luajitman=${luajitdir}/${luajitmantype}
  118.        
  119.         # Comprime los man pages (si es necesario).
  120.         if test -d ${luajitman}; then
  121.         (
  122.                         mkdir -p ${luajitmantype}
  123.             cd ${luajitman}
  124.             find . -type f -exec lzip -9 {} +
  125.             find . -type l | while read -r file
  126.             do
  127.                 ln -sf "$(readlink -- "$file").lz" "${destdir}/${mantype}/${file}.lz"
  128.                 rm -- "$file"
  129.             done
  130.                         rm -rf "${luajitdir}/${mandir}"
  131.         )
  132.         fi
  133.  
  134.         # Copia la documentación adicional.
  135.         mkdir -p "${destdir}${docsdir}"
  136.         cp -p ${docs} "${destdir}${docsdir}"
  137.  
  138. }

Paste Reisub es para el código fuente y el texto de depuración general.

Iniciar sesión o Registrarse para editar, eliminar y mantener un seguimiento de sus pegados y mucho más.

Pasta cruda

Iniciar sesión o Registrarse para editar o bifurcar este pegado. Es gratis.