Notícias
Mais notícias de Dezembro de 2005 | Navegar no histórico de notícias
Kurumin 6.0: Novidades no apt e internacionalização
Por Carlos E. Morimoto em 30 de dezembro de 2005 às 15h56
0Um dos problemas mais graves do Kurumin nas últimas versões têm sido as transições de pacotes no Debian testing/unstable, que o Kurumin usa por padrão.
Usar o stable não é uma opção na maioria do tempo, pois os pacotes ficam defasados muito rapidamente e novas versões demoram a ser lançadas.
O pessoal do Debian está desenvolvendo patches de segurança pro testing, então cheguei a uma solução que tem dado certo nos meus testes internos. O padrão é o "etch" (não "testing", existe uma pequena diferença entre usar as duas coisas, que explico a seguir), e o unstable (que é necessário ao usar o testing, pois muitos pacotes são baixados de lá) é uma cópia congelada numa determinada data.
No apt.conf o release padrão é "etch" em no sources.list vão as seguintes linhas (exemplo):
-------------------------
# Etch (testing)
deb http://ftp.us.debian.org/debian etch main contrib non-free
# Atualizações de segurança
deb http://secure-testing.debian.net/debian-secure-testing etch-proposed-updates/security-updates main contrib non-free
# Frozen (contém pacotes congelados do Unstable)
deb http://snapshot.debian.net/archive/2005/12/10/debian unstable main contrib non-free
#deb http://athlon64.fsij.org/archive/2005/12/10/debian unstable contrib main non-free
# Unstable (Usar com cuidado. Ao ativar, comente a linha do frozen)
#deb http://ftp.us.debian.org/debian unstable main contrib non-free
--------------------
Com esta configuração, o sistema vai baixar os pacotes e atualizações do etch enquanto ele for testing, mas passará automáticamente a usar o "stable", assim que o etch for finalizado. A cópia congelada do unstable deixa de ser usada gradualmente, conforme os pacotes do etch passarem a ser mais recentes que os do repositório congelado.
Isso faz com que, durante a fase "testing", tenha-se a disposição os pacotes mais recentes e, a partir de um certo ponto, passe-se automaticamente a usar o stable, tendo versões antigas porém estáveis dos aplicativos.
Acredito que essa solução vai funcionar muito bem para o pessoal dos desktops e, ao mesmo tempo, prover uma segurança razoavel pro pessoal dos pequenos servidores, que são o meu foco.
A segunda novidade é com relação aos scripts dos ícones mágicos. O Christian dos Santos Ferreira (do Posseidon Linux) está montando uma equipe e se comprometeu publicamente que se não traduzir todos os scripts até o FISL 7.0, vai ao evento vestido de LinuxChick (esta parte é brincadeira ;p). Fazendo a minha parte, estou convertendo os scripts a um novo formato, que oferece suporte a internacionalização e permite uma manutenção mais simples.
Vou ir fazendo a adaptação dos scripts gradualmente, em ordem alfabética, começando pelos "instalar-*". Os scripts adaptados podem ser baixados do: http://www.hardware.com.br/kurumin/scripts/ e as traduções enviadas para mim via e-mail.
Este é um modelo do novo padrão dos scripts. Ainda não está finalizado nem muito testado, então qualquer correção ou melhoria é bem vinda (é preciso, antes de mais nada, arrumar a tradução para o espanhol das $msg1, $msg2, $msg3 e $msg4):
--------------------
#!/bin/sh
# Script de instalação dos ícones mágicos, com suporte a internacionalização
# Escrito por Carlos E. Morimoto
# Traduzido para o &lang por &nome
# Sanity checks
rm -f /tmp/instalar /tmp/remover; if [ -e /tmp/instalar ]; then sudoativo=`sudo whoami`
if [ "$sudoativo" != "root" ]; then kdesu "rm -f /tmp/instalar"; else sudo rm -f /tmp/instalar; fi; fi
# Internacionalização. Ao traduzir, descomente a linha referente a linguagem:
case "$LANGUAGE" in
#en*)
#msg=""
#;;
#es)
#msg=""
#;;
*)
msg="O Bluefish é um editor HTML não visual com recursos interessantes. Ele tem várias opções de customização,
corretor ortográfico embutido, etc. A maior parte das páginas do Guia do Hardware foram editadas com ele Smile"
;;
esac
# INSTALAR
echo '#!/bin/sh
killall synaptic apt-get dpkg; apt-get -f install; dpkg --configure -a; clear
# --- Comandos para instalar: ---
apt-get install bluefish
# ------------ fim --------------
sleep 5' > /tmp/instalar; chmod 700 /tmp/instalar
# ABRIR
abrir(){
bluefish
}
# REMOVER
echo '#!/bin/sh
killall synaptic apt-get dpkg; apt-get -f install; dpkg --configure -a; clear
# --- Comandos para remover: ---
apt-get remove bluefish
# ------------ fim --------------
sleep 5' > /tmp/remover; chmod 700 /tmp/remover
# Dimensões da janela:
altura=21
largura=70
# ---------------------------------------------------------------
# Parte estática
instalar(){
sudoativo=`sudo whoami`
if [ "$sudoativo" != "root" ]; then
kdesu "xterm -e /tmp/instalar"
rm -f /tmp/instalar
else
sudo /tmp/instalar
rm -f /tmp/instalar
fi
}
remover(){
sudoativo=`sudo whoami`
if [ "$sudoativo" != "root" ]; then
kdesu "xterm -e /tmp/remover"
rm -f /tmp/remover
else
sudo /tmp/remover
rm -f /tmp/remover
fi
}
# Opções de linha de comando:
if [ "$1" = "-i" ]; then
instalar
abrir
exit 0
fi
if [ "$1" = "-r" ]; then
remover
exit 0
fi
if [ "$1" = "-o" ]; then
abrir
exit 0
fi
# Mais internacionalização
case "$LANGUAGE" in
en*)
msg1="Click to install the application"
msg2="Remove, if previosly installed"
msg3="Open the program, after installed"
msg4="Exit, do nothing"
;;
es)
msg1="Instale el aplicativo"
msg2="Quite el aplicativo"
msg3="Abrirse el aplicativo"
msg4="A la salida"
;;
*)
msg1="Clique para instalar ou atualizar o programa"
msg2="Remover o programa caso já instalado"
msg3="Marque esta opção para rodar o programa já instalado"
msg4="Sair sem fazer nada"
;;
esac
# Execução normal do script:
export XDIALOG_HIGH_DIALOG_COMPAT=1
DIALOG=Xdialog
DIA=Xdialog
$DIALOG --title "Ícones mágicos"
--radiolist "n$msgn" $altura $largura 0
"Instalar" "$msg1" off
"Remover" "$msg2" off
"Abrir" "$msg3" off
"Sair" "$msg4" off 2> /tmp/checklist.tmp.$$
retval=$?
if [ $retval = 1 ]; then exit 0; fi
choice=`cat /tmp/checklist.tmp.$$`
rm -f /tmp/checklist.tmp.$$
if [ "$choice" = "Instalar" ]; then
instalar
abrir
fi
if [ "$choice" = "Remover" ]; then
remover
fi
if [ "$choice" = "Abrir" ]; then
abrir
fi
if [ "$choice" = "Sair" ]; then
exit 0
fi
exit 0
-----------------
Poste comentários referentes a esta notícia no: http://www.hardware.com.br/comunidade/kurumin/266165/
Sem comentáriosPostado 30 de dezembro de 2005 às 15h56 por Carlos E. Morimoto


Comentários