SlideShare uma empresa Scribd logo
LuaRocks 2.0

Lua Workshop 2009

Hisham Muhammad
http://www.luarocks.org
Gerência de módulos em Lua
Lua 5.1 introduziu um sistema de módulos
  require(), module()
Reuso de módulos
  Perl tem CPAN, Ruby tem RubyGems, etc.
LuaRocks
Sistema de gerenciamento e distribuição
  de módulos para a linguagem Lua
  Portável: Linux, BSD, OSX, Windows
  Licença MIT/X11
  Similar ao RubyGems
Recursos
Download e instalação de módulos
  luarocks build luasocket
  luarocks list, luarocks search curl...
Um gerenciador de módulos dinâmico para
 uma linguagem dinâmica
  Suporte a resolução de cadeias de
   dependências em tempo de execução
  Instalação em paralelo de múltiplas versões de
    um módulo
LuaRocks 1.0
Módulos empacotados como “rocks”
Árvore local de rocks
  Cada rock contém sua própria sub-árvore:
    bin
    lib
    lua
    ...
Módulo luarocks.require realiza a resolução
 em runtime
Recepção
Boa, mas não ideal
Usuários desconfortáveis com o módulo
 luarocks.require
  Wrapper da função require()
LuaRocks 2.0
Não precisa de luarocks.require
Instala módulos em uma árvore Lua padrão
  .../share/lua/5.1
  .../lib/lua/5.1
Basta incluir estes caminhos no
 package.path e package.cpath
  Instalação default usa /usr/local
Controle de módulos no LR2
Cada rock instalado possui um arquivo
 rock_manifest
  Contém a lista de arquivos e os seus MD5
LuaRocks compila módulos como de
 costume
  Realiza fase de “deployment” baseado no
   rock_manifest
Suporte a múltiplas versões
Usa mecanismo de Lua
 Versões antigas instaladas ganham um prefixo
  no nome do arquivo
    md5/core.so
    md5/md5_1.0.2_1-core.so
 Para usar versões antigas transparentemente,
  o LuaRocks 2.0 inclui um package loader
  extra (require “luarocks.loader”) que faz a
  seleção baseado na árvore de dependências
Compatibilidade
Servidores de rocks compatíveis com
 LuaRocks 1.0:
  Formato rockspec mantido
  Formato de manifest de servidores de rocks
   mantido
Instalações locais não:
  Formato de manifest local alterado
  Árvore de diretórios alterada
Conclusões
●   LR2: Novo formato de instalação local
●   Compatibilidade de rockspecs com LR1
      –   Sem disrupção na comunidade
●   Melhor compatibilidade com vanilla Lua
      –   Menor barreira de entrada
●   Maior dependência em arquivos de
     controle
      –   Mecanismos de verificação
Obrigado!
●   Perguntas?
●   Contato: hisham@gobolinux.org

Mais conteúdo relacionado

ODP
Clustering Domino8.5
PDF
Replicação de dados
PPT
Cluster e replicação em banco de dados
PPTX
Sistemas Distribuídos - Replicação de Banco de Dados
DOC
Ficha de trabalho nº1 so 11º-2011_2012
ODP
PostgreSQL Transformando um elefante numa manada
PDF
GUO-RS - Junho/2005 - ASM 10g
PPT
Banco de Dados Distribuídos - MySql
Clustering Domino8.5
Replicação de dados
Cluster e replicação em banco de dados
Sistemas Distribuídos - Replicação de Banco de Dados
Ficha de trabalho nº1 so 11º-2011_2012
PostgreSQL Transformando um elefante numa manada
GUO-RS - Junho/2005 - ASM 10g
Banco de Dados Distribuídos - MySql

Mais procurados (20)

PDF
Sistemas operativo servidor (PT)
PDF
APRESENTAÇÃO DE TCC - ESTUDO DE VIABILIDADE DE SERVIDORES EM CLUSTER PARA A A...
PPT
Tutorial Replicação Slony
PPT
Threads - .Net Framework 4.0
PDF
Utilizando software livre para alta disponibilidade de sistemas web Java
PDF
Alta disponibilidade com PostgreSQL
PPT
Tomcat e Aplicações Web
PDF
Cluster ha com banco de dados
PDF
Bancos de dados open source
PPTX
Escalonamento no Windows
PDF
Linux como funciona esta fera
PPTX
Sistemas operativos servidor
PPTX
Lynxos RTOS
ODT
Java no-ubuntu-1204-instalacao-a-moda-antiga
ODP
PostgreSQL Conceitos e aplicações
PDF
UNIFAL - MySQL Logs - 5.0/5.6
PPTX
Instalação de Servidor de Arquivo
PDF
Soa#cap4.1 gestor de pacotes
PDF
Sistemas Distribuídos - Comunicação Distribuída - Socket
PDF
Sistemas operacionais1
Sistemas operativo servidor (PT)
APRESENTAÇÃO DE TCC - ESTUDO DE VIABILIDADE DE SERVIDORES EM CLUSTER PARA A A...
Tutorial Replicação Slony
Threads - .Net Framework 4.0
Utilizando software livre para alta disponibilidade de sistemas web Java
Alta disponibilidade com PostgreSQL
Tomcat e Aplicações Web
Cluster ha com banco de dados
Bancos de dados open source
Escalonamento no Windows
Linux como funciona esta fera
Sistemas operativos servidor
Lynxos RTOS
Java no-ubuntu-1204-instalacao-a-moda-antiga
PostgreSQL Conceitos e aplicações
UNIFAL - MySQL Logs - 5.0/5.6
Instalação de Servidor de Arquivo
Soa#cap4.1 gestor de pacotes
Sistemas Distribuídos - Comunicação Distribuída - Socket
Sistemas operacionais1
Anúncio

Último (11)

PPTX
Tipos de servidor em redes de computador.pptx
PPTX
Proposta de Implementação de uma Rede de Computador Cabeada.pptx
PPTX
Informática Aplicada Informática Aplicada Plano de Ensino - estudo de caso NR...
PPTX
Arquitetura de computadores - Memórias Secundárias
PDF
Manejo integrado de pragas na cultura do algodão
PPTX
Viasol Energia Solar -Soluções para geração e economia de energia
PDF
Termos utilizados na designação de relação entre pessoa e uma obra.pdf
PPTX
Utilizando code blockes por andre backes
PPTX
Design - Introdução a Gestalt e teoria das formas
PPTX
Eng. Software - pontos essenciais para o início
PDF
eBook - GUIA DE CONSULTA RAPIDA EM ROTEADORES E SWITCHES CISCO - VOL I.pdf
Tipos de servidor em redes de computador.pptx
Proposta de Implementação de uma Rede de Computador Cabeada.pptx
Informática Aplicada Informática Aplicada Plano de Ensino - estudo de caso NR...
Arquitetura de computadores - Memórias Secundárias
Manejo integrado de pragas na cultura do algodão
Viasol Energia Solar -Soluções para geração e economia de energia
Termos utilizados na designação de relação entre pessoa e uma obra.pdf
Utilizando code blockes por andre backes
Design - Introdução a Gestalt e teoria das formas
Eng. Software - pontos essenciais para o início
eBook - GUIA DE CONSULTA RAPIDA EM ROTEADORES E SWITCHES CISCO - VOL I.pdf
Anúncio

Luarocks 2.0 - talk at Lua Workshop 2009

  • 1. LuaRocks 2.0 Lua Workshop 2009 Hisham Muhammad http://www.luarocks.org
  • 2. Gerência de módulos em Lua Lua 5.1 introduziu um sistema de módulos require(), module() Reuso de módulos Perl tem CPAN, Ruby tem RubyGems, etc.
  • 3. LuaRocks Sistema de gerenciamento e distribuição de módulos para a linguagem Lua Portável: Linux, BSD, OSX, Windows Licença MIT/X11 Similar ao RubyGems
  • 4. Recursos Download e instalação de módulos luarocks build luasocket luarocks list, luarocks search curl... Um gerenciador de módulos dinâmico para uma linguagem dinâmica Suporte a resolução de cadeias de dependências em tempo de execução Instalação em paralelo de múltiplas versões de um módulo
  • 5. LuaRocks 1.0 Módulos empacotados como “rocks” Árvore local de rocks Cada rock contém sua própria sub-árvore: bin lib lua ... Módulo luarocks.require realiza a resolução em runtime
  • 6. Recepção Boa, mas não ideal Usuários desconfortáveis com o módulo luarocks.require Wrapper da função require()
  • 7. LuaRocks 2.0 Não precisa de luarocks.require Instala módulos em uma árvore Lua padrão .../share/lua/5.1 .../lib/lua/5.1 Basta incluir estes caminhos no package.path e package.cpath Instalação default usa /usr/local
  • 8. Controle de módulos no LR2 Cada rock instalado possui um arquivo rock_manifest Contém a lista de arquivos e os seus MD5 LuaRocks compila módulos como de costume Realiza fase de “deployment” baseado no rock_manifest
  • 9. Suporte a múltiplas versões Usa mecanismo de Lua Versões antigas instaladas ganham um prefixo no nome do arquivo md5/core.so md5/md5_1.0.2_1-core.so Para usar versões antigas transparentemente, o LuaRocks 2.0 inclui um package loader extra (require “luarocks.loader”) que faz a seleção baseado na árvore de dependências
  • 10. Compatibilidade Servidores de rocks compatíveis com LuaRocks 1.0: Formato rockspec mantido Formato de manifest de servidores de rocks mantido Instalações locais não: Formato de manifest local alterado Árvore de diretórios alterada
  • 11. Conclusões ● LR2: Novo formato de instalação local ● Compatibilidade de rockspecs com LR1 – Sem disrupção na comunidade ● Melhor compatibilidade com vanilla Lua – Menor barreira de entrada ● Maior dependência em arquivos de controle – Mecanismos de verificação
  • 12. Obrigado! ● Perguntas? ● Contato: hisham@gobolinux.org