Instalador ou Processo para aplicativos Kylix

11/03/2006

2

Pessoal,

Por favor, gostaria de receber algumas experiencias os comentarios, sobre como estão instalando o aplicativo Kylix em um PC apenas com o Linux. Referente a parte de Link etc etc , já tem varios assuntos aqui no forum, neste caso seria a instalação por completa mesmo até gerar os icones.

Acredito que ira ajudar a outras pessoas

Grato,


Responder

Posts

14/03/2006

Dopi

Ola Vinicius,

Já existem ferramentas que podem automatizar o processo de instalação no Linux...

Atualmente, no ACBrMonitor, estou usando o produto comercial [url=http://www.bitrock.com/download_installbuilder_download.html]BitRock InstallBuilder[/url]... Conseguimos uma licensa free para o ACBr.

Mas pretendo migrar para um projeto OpenSource chamado [url=http://www.installjammer.com/]InstallJammer[/url], que possui muito mais opções.

Uso o InstallBuilder apenas para ´copiar´ os arquivos e criar os arquivos de icones, mas o restante é feito por um Script de pos-instalação
#!/bin/sh

PASTA="Projeto_ACBr"
NOME=$USER

if [ ! -z $USERNAME ]; then
  NOME=$USERNAME ;
fi

if [ $NOME = ´root´ ]; then
  NOME=$USER ;
fi
echo $NOME

DIRETORIO_HOME=/home/$NOME
if [ ! -e $DIRETORIO_HOME ]; then
  DIRETORIO_HOME=$HOME ;
fi ;
echo $DIRETORIO_HOME

AUTOSTART_DIR=/usr/share/autostart/
if [ ! -z $XDG_CONFIG_HOME ]; then
   AUTOSTART_DIR=$XDG_CONFIG_HOME/autostart/
fi ;
echo $AUTOSTART_DIR

 Acessando a pasta do Programa onde ACBrMonitor foi instalado (geralmente /opt/ACBrMonitor)
 o parâmetro com o nome da pasta é informado pelo InstallBuilder
if [ -z $1 ]; then
  echo Diretorio de instalacao nao informado.... Saindo... ;
  exit 0 ;
fi 

cd $1

 Consegiu acessar a pasta onde o programa foi instalado ?
 Se NAO conseguiu... sai..
if [ ! -e ./ACBrMonitor ]; then
  echo Nao e o diretorio do ACBrMonitor.... Saindo...
  exit 0 ;
fi

 Dando permissão total na pasta do ACBrMonitor para permitir criar os arquivos
 de configuração, alem de permitir a Troca de Arquivos entre o ACBrMonitor e a
# Aplicação Comercial
chmod 777 $1

 Ajustando permissao de Execução apenas para os executaveis
chmod 644 *
chmod 755 ACBrMonitor
chmod 755 QECFTeste
chmod 755 *.sh
chmod 755 /usr/lib/libborqt-6.9.0-qt2.3.so

 Diretório /var/lock é usado pela classe "SynaSer" para detectar se a porta
 Serial está disponível... Necessita de Leitura / Escrita
chmod 777 /var/lock

 ACBrMonitor deve ser executado como SuperUsuário para que seja possível
 interagir com os dispositivos seriais (/dev/ttyS0, /dev/ttyUSB0 )
chmod u+s ACBrMonitor
chmod u+s QECFTeste

 Copiando a lib do Kylix para  /usr/lib
cp libborqt-6.9.0-qt2.3.so /usr/lib

 Criando SoftLink com o nome correto
ln -s /usr/lib/libborqt-6.9.0-qt2.3.so /usr/lib/libborqt-6.9-qt2.3.so

 Copiando atalho para o Desktop do usuário
cp ACBrMonitor.desktop $DIRETORIO_HOME/Desktop
mkdir $DIRETORIO_HOME/Desktop/$PASTA
cp ACBrMonitor.desktop $DIRETORIO_HOME/Desktop/$PASTA
cp ECFTeste.desktop    $DIRETORIO_HOME/Desktop/$PASTA
cp leia-me.txt         $DIRETORIO_HOME/Desktop/$PASTA
cp "Remover ACBrMonitor.desktop" $DIRETORIO_HOME/Desktop/$PASTA

mkdir /usr/share/applnk/$PASTA
cp ACBrMonitor.desktop /usr/share/applnk/$PASTA
cp ECFTeste.desktop    /usr/share/applnk/$PASTA
cp leia-me.txt         /usr/share/applnk/$PASTA
cp "Remover ACBrMonitor.desktop" /usr/share/applnk/$PASTA

# Criando atalho na Auto-inicialização 
cp ACBrMonitor.desktop $AUTOSTART_DIR ;


Para Remover o sofware, o InstallBuilder cria um executável chamado uninstall e ele já remove os arquivos e permite tb rodar um Script... nesse caso uso:
!/bin/sh

PASTA="Projeto_ACBr"
NOME=$USER

if [ ! -z $USERNAME ]; then
  NOME=$USERNAME ;
fi

if [ $NOME = ´root´ ]; then
  NOME=$USER ;
fi
echo $NOME

DIRETORIO_HOME=/home/$NOME
if [ ! -e $DIRETORIO_HOME ]; then
  DIRETORIO_HOME=$HOME ;
fi ;
echo $DIRETORIO_HOME

AUTOSTART_DIR=/usr/share/autostart/
if [ ! -z $XDG_CONFIG_HOME ]; then
   AUTOSTART_DIR=$XDG_CONFIG_HOME/autostart/
fi ;
echo $AUTOSTART_DIR

 Removendo Pasta com atalhos do Desktop do usuário
rm $DIRETORIO_HOME/Desktop/ACBrMonitor.desktop -f
if [ -e $DIRETORIO_HOME/Desktop/$PASTA ]; then
  rm $DIRETORIO_HOME/Desktop/$PASTA -rf ;
fi

if [ -e /usr/share/applnk/$PASTA ]; then
  rm /usr/share/applnk/$PASTA -rf ;
fi

 Removendo atalho da pasta iniciar do KDE
rm $AUTOSTART_DIR/ACBrMonitor.desktop -f ;



Responder