GoboLinux? Que distro é essa? (Parte 3 - Instalando programas)
Agora que testei a distribuição e a instalei no HD, estou pronto para usá-la. Mas espera um pouco... esta distro não tem os programas que gosto de usar. O que fazer?
Parte 4: Compilando manualmente seus programas
Uma pergunta que sempre surge é se mesmo com as ferramentas de instalação de programas da distribuição eu posso instalar manualmente utilizando a boa e velha combinação "configure && make && make install". Nesta distribuição esta combinação é substituída pelos scripts PrepareProgram, SandboxInstall e SymlinkProgram respectivamente.
O primeiro script, PrepareProgram faz os primeiros preparativos: ele cria um subdiretório com o nome do programa dentro do diretório Programs e faz com que as devidas configurações objetivem a árvore de diretórios da distribuição, tais como definir para onde no diretório do programa, rodar o configure com algumas opções. Sua sintaxe é a seguinte:
$ PrepareProgram <programa> <versão> <--configurações-adicionais>
Onde --configurações-adicionais são os parâmetros que serão passados para o configure do programa que você quer instalar.
Após ter configurado digita:
$ SandboxInstall <programa> <versão>
Que ele faz a instalação do programa compilado de uma forma segura, dentro do seu próprio diretório.
O último passo é disponibilizar os links simbólicos para o sistema com o seguinte comando:
$ SymlinkProgram <programa> <versão>
Este comando criará todos os links simbólicos do novo programa para o diretório /System/Links.
Vamos a um exemplo: Fiz os testes na instalação do Inkscape. Após ter baixado e descompactado o programa, digitei o meu primeiro comando:
$ PrepareProgram -t Inkscape 0.46
Vá até a pasta onde o pacote foi descompactado e digite:
$ PrepareProgram Inkscape 0.46 --parâmetros-do-configure --do-inkscape
Após rodar o script configure do programa, digite na linha de comando:
$ SandboxInstall Inkscape 0.46
Após fazer a compilação e a instalação do Inkscape no diretório apropriado, digite:
$ SymlinkProgram Inkscape 0.46
Após isso você tem o inkscape compilado e instalado no seu computador.
Você deve ter notado que digitei PrepareProgram 2 vezes, uma com o parâmetro -t e outra sem esse parâmetro.
Por quê? Após observar os procedimentos para instalação através destes scripts, vi que o diretório do programa não era criado sob /Programs, e toda vez que rodava o script SandboxInstall, ele não achava o diretório de destino. O parâmetro -t induz script PrepareProgram a construir o caminho <Programa>/<Versão> dentro do diretório /Programs, sem rodar o script configure. Com esta dica, tenha em mente que toda vez que você compilar manualmente seus programas no GoboLinux você tem que rodar PrepareProgram duas vezes: uma com o parâmetro -t, para criar o diretório do programa, e outra de forma normal.
Observe também que a checagem de dependência nesta forma de instalação deverá ser feita pelo usuário, assim como em qualquer instalação manual realizada nas outras distribuições.
O primeiro script, PrepareProgram faz os primeiros preparativos: ele cria um subdiretório com o nome do programa dentro do diretório Programs e faz com que as devidas configurações objetivem a árvore de diretórios da distribuição, tais como definir para onde no diretório do programa, rodar o configure com algumas opções. Sua sintaxe é a seguinte:
$ PrepareProgram <programa> <versão> <--configurações-adicionais>
Onde --configurações-adicionais são os parâmetros que serão passados para o configure do programa que você quer instalar.
Após ter configurado digita:
$ SandboxInstall <programa> <versão>
Que ele faz a instalação do programa compilado de uma forma segura, dentro do seu próprio diretório.
O último passo é disponibilizar os links simbólicos para o sistema com o seguinte comando:
$ SymlinkProgram <programa> <versão>
Este comando criará todos os links simbólicos do novo programa para o diretório /System/Links.
Vamos a um exemplo: Fiz os testes na instalação do Inkscape. Após ter baixado e descompactado o programa, digitei o meu primeiro comando:
$ PrepareProgram -t Inkscape 0.46
Vá até a pasta onde o pacote foi descompactado e digite:
$ PrepareProgram Inkscape 0.46 --parâmetros-do-configure --do-inkscape
Após rodar o script configure do programa, digite na linha de comando:
$ SandboxInstall Inkscape 0.46
Após fazer a compilação e a instalação do Inkscape no diretório apropriado, digite:
$ SymlinkProgram Inkscape 0.46
Após isso você tem o inkscape compilado e instalado no seu computador.
Você deve ter notado que digitei PrepareProgram 2 vezes, uma com o parâmetro -t e outra sem esse parâmetro.
Por quê? Após observar os procedimentos para instalação através destes scripts, vi que o diretório do programa não era criado sob /Programs, e toda vez que rodava o script SandboxInstall, ele não achava o diretório de destino. O parâmetro -t induz script PrepareProgram a construir o caminho <Programa>/<Versão> dentro do diretório /Programs, sem rodar o script configure. Com esta dica, tenha em mente que toda vez que você compilar manualmente seus programas no GoboLinux você tem que rodar PrepareProgram duas vezes: uma com o parâmetro -t, para criar o diretório do programa, e outra de forma normal.
Observe também que a checagem de dependência nesta forma de instalação deverá ser feita pelo usuário, assim como em qualquer instalação manual realizada nas outras distribuições.
na compilação manual, o procedimento correto é executar o "PrepareProgram" (equivalente ao "./configure"), depois executar o bom e velho "make", depois executar o "SandboxInstall" (equivalente ao "make install"), e por fim, o SymlinkProgram, que é um passo adicional comparado à instalação tradicional.