Desenvolvendo novos Ícones Mágicos (Atualizado)


Página 1 de 18    1  2 3 6 11 
11-03-2008 por Leandro.S.S
Desenvolvendo novos Ícones Mágicos (Atualizado)
O novo sistema de Ícones Mágicos é divido basicamente em duas parte principais, uma é a aplicação em si e a outra são arquivos do tipo .kng que a aplicação trata.

Os arquivos do tipo .kng nada mais são do que arquivos empacotados com o tar e comprimidos com o bzip2 (.tar.bz2), os arquivos contidos no arquivo .kng tem nomes pré-definidos, as possibilidades são:

package.conf
: Este arquivo contém informações sobre o pacote .kng, tais como: Nome, Autor, Descrição, etc, segue um modelo oficial para este tipo de arquivo:

Name="aMSN"
Author="Leandro Santos <kalango@gmail.com>"
Description="MSN para Linux"
Category="Internet"
PackagesNames="amsn"
ReferenceFile="/usr/bin/amsn"

Todos os campos são de preenchimento obrigatório exceto o campo PackagesNames, no caso de não utiliza-lo o mesmo não deve existir. Todos os campos tem que ter exatamente os mesmos nomes do exemplo, ou seja, em inglês, isso será traduzido depois pelo próprio programa, porém a princípio os valores dos campos podem ser em português mesmo. Também é obrigatório que os valores estejam entre aspas duplas.

Sobre os campos do package.conf

- Name: Serve para exibir o nome do pacote para o usuário. Este campo em nada tem haver com a instalação.
- Author: Nome do autor do pacote .kng
- Description: Serve para exibir a descrição do pacote para o usuário. Esta descrição deve ser bem breve, algo em torno de 3 à 6 palavras.
- Category: Este campo ainda não está sendo usado efetivamente mas por enquanto serve para mostrar a categoria para o usuário.
- PackagesNames: O sistema trabalha em conjunto com o apt e sua forma padrão de trabalho será instalando pacotes através do adept_batch (uma interface gráfica para o apt), sendo assim, neste campo é definido o nome dos pacotes a serem instalados. Ele também serve para que o sistema check se o programa já está instalado ou se foi instalado com sucesso.
- ReferenceFile: Este campo é usado em conjunto com o campo PackagesNames, ele contém um arquivo de referência definido por quem criou o pacote assim o sistema checa a instalação usando também este critério. Serve principalmente para caso o pacote não instale algo via apt, mas sim de qualquer outra forma, assim o sistema saberá se o mesmo foi instalado, checando a existência deste arquivo.

package.install
: Este arquivo é um script para instalação do item em questão, ele só deverá existir caso o pacote .kng faça algo além de instalar pacotes via apt, pois via apt o próprio sistema já instalará mediante os valores do campo PackagesNames, ou seja este é um script complementar que instala algo que não seja via apt. Este "algo complementar" não inclui configuração do que o pacote .kng instalou, pois para este finalidade existe o arquivo package.configure abordado adiante. Este arquivo é opcional.

package.remove : Este arquivo é um script para remoção do item em questão, ele só deverá existir caso o pacote .kng faça algo além de remover pacotes via apt, pois via apt o próprio sistema já removerá mediante os valores do campo PackagesNames, ou seja este é um script complementar que remove algo que não seja via apt. Este arquivo é opcional.

package.article
: Este arquivo é um arquivo de texto puro com algum artigo e/ou explicação sobre o item que o .kng em questão instalou, ele também poderá conter explicações sobre oque acontecerá na etapa seguinte (que será a configuração caso exista um arquivo package.configure) e referências para algum endereço eletrônico, enfim informações. Este arquivo é opcional.

package.configure : Este arquivo é um script para configuração de um item em questão, ele só deverá existir caso o pacote .kng tenha necessidade de configurar algo que foi instalado, este pode ou não interagir com o usuário. Este arquivo é opcional.

Diretório desktop: O pacote .kng pode ainda conter um diretório chamado desktop que terá arquivos do tipo .desktop que nada mais são do que atalhos para o que o pacote .kng instalou, mediante a existência de algum arquivo .desktop dentro deste diretório o sistema pergunta para o usuário se ele deseja adicionar o atalho no desktop.

Funcionamento do Sistema


1 - O usuário clica no arquivo .kng
2 - O sistema pede a senha de root para o usuário.
3 - O sistema verifica se o pacote é um pacote confiável (Oficial) através do md5 do arquivo que está cadastrado no arquivo md5sums em /var/lib/icones-magicos. Se positivo, pula para o passo 4, se negativo dá uma mensagem dizendo para só utilizar pacotes oficiais e aborta.
4 - O sistema mostra informações a respeito do pacote (que estão no package.conf) e pergunta se o usuário tem certeza que deseja continuar. Se positivo pula para o passo 5, se negativo o sistema Aborta.
5 - O sistema checa se o pacote já está instalado através do que foi definido nos campos PackageNames e ReferenceFile do arquivo package.conf. Se positivo, pula para o passo 6, se negativo pula para o passo 7.
6 - Fala para o usuário que o pacote já está instalado e exibe uma lista com ações que ele pode executar, sendo estas: Reinstalar, Remover e Configurar, esta última só aparecerá caso exista o arquivo package.configure. Se ele escolher Reinstalar pula para o passo 7, se escolher Remover o sistema remove o que o .kng instalou mediante o script package.remove e o campo PackagesName do package.conf, se escolher Configurar pula para o passo 10.
7 - O sistema instala os pacotes definidos em PackagesName do package.conf e roda o arquivo package.install, caso exista.
8 - O sistema checa se o pacote foi instalado com sucesso através do que foi definido nos campos PackageNames e ReferenceFile do arquivo package.conf. Se positivo pula para o passo 9, se negativo dá uma mensagem de erro dizendo que não foi possível completar a instalação e pede pra checar a conexão com a internet e o arquivo .kng.
9 - O sistema exibe o conteúdo do arquivo package.article, caso exista.
10 - O sistema executa o script package.configure, caso exista.
11 - O sistema checa se existe algum arquivo.desktop (atalho) dentro do diretório desktop do arquivo .kng. Se positivo pula para o passo 12, se negativo pula para o passo 13.
12 - O sistema informa ao usuário que o pacote foi instalado com sucesso e pergunta se o usuário deseja criar um atalho no desktop para o pacote que acabou de instalar. Se positivo o sistema copia o conteúdo do diretório desktop do arquivo .kng para a Área de Trabalho do usuário e aborta, se negativo simplesmente aborta.
13 - O usuário recebe uma mensagem dizendo que o pacote foi instalado com sucesso.
11-03-2008 por gongochoco
leandro, fiz a instalaçao limpa do kubuntu hardy alpha6 configurei o ppoe atualizei ok. baixei os programas e testei como proposto. a primeira mensagem do amsn perfeito, so que em ingles. o kopete ok verificou, me informou que ja estava instalado e perguntou se eu queria reinstalar respondi ok e ele me informou que a reinstalçao havia procedido com sucesso.
parabens vamos la.

obs: meu firefox eh o 3.0 beta3 em ingles talvez por isso ainda nao consegui acentuar.
11-03-2008 por S-k
Ficou bem legal o magic-icons, está bem "bolado". Fica muito mais simples e funcional, que ter um script para cada programa em /usr/local/bin.
Aqui o magic-icons funcionou sem problemas.

Boa idéia essa do arquivo check. É sempre bom usar o md5sum para verificar a integridade dos ficheiros.

Um abraço
11-03-2008 por Bugs_Bunny
nossa velinho..
show de bola esse esquema de fazer um meta pacote de instalaçao para cada programa!..
eu estava trabalhando (em silencio..) em um script para fazer um "banco de dados" dos programas que tem nos icones magicos do kurumin..com a finalidade de esse script substituir cerca de 100 dos scripts de instalaçao de programas dos icones-magicos e com a vantagem de o suporte a internacionalizaçao..eu vi algumas semelhanças entre o que eu estava desenvolvendo e o que vc postou no forum do kurumin..
o meu projeto se baseava em fazer o seguinte..
usar um arquivo para guardar os comandos de install de desinstall de todos os programas registrados (incluindo as urls para o download por wget) e em outros arquivos as descriçoes de cada programa como heim..tudo em um xml bem simples de intender..
pt.inf guardaria a informaçao das descriçoes de todos os programas registrados em portugues..en.inf as descriçoes dos programas registrados em ingles e es.inf em espanhol..
o que achei mais interessante de fazer coisas como separar em arquivos diferentes eh que o port para outras distros nao Debian fica mais facil, pois so eh necessario a ediçao do arquivo de comandos de install..
mas vou te falar que a ideia do .krm eh muito boa..na verdade muito melhor do que a que eu tive..pois assim todos os scripts e nao somente uma parte deles podem ser portados para o novo Icones Magicos..meus parabens!!

eu queria saber eh se vcs ja tem um script para facilitar o processo de criaçao dos .krm..
afinal ha um padrao de instação entao pode ser feito um script para auxiliar na parte de criaçao do .krm
e como que fica a internacionalizaçao da descriçao do programa??
pelo o que vc postou no forum nao ha um campo para setar o idioma que a descriçao vai aparecer para o usuario..
pelo o que eu pude intender ..
ou se cria um meta pacote com descriçoes em cada idioma...ou se cria um novos campos para a especificaçao do idioma..
11-03-2008 por Leandro.S.S
Citação:
Postado Originalmente por Bugs_Bunny Ver Mensagens
nossa velinho..
show de bola esse esquema de fazer um meta pacote de instalaçao para cada programa!..
eu estava trabalhando (em silencio..) em um script para fazer um "banco de dados" dos programas que tem nos icones magicos do kurumin..com a finalidade de esse script substituir cerca de 100 dos scripts de instalaçao de programas dos icones-magicos e com a vantagem de o suporte a internacionalizaçao..eu vi algumas semelhanças entre o que eu estava desenvolvendo e o que vc postou no forum do kurumin..
o meu projeto se baseava em fazer o seguinte..
usar um arquivo para guardar os comandos de install de desinstall de todos os programas registrados (incluindo as urls para o download por wget) e em outros arquivos as descriçoes de cada programa como heim..tudo em um xml bem simples de intender..
pt.inf guardaria a informaçao das descriçoes de todos os programas registrados em portugues..en.inf as descriçoes dos programas registrados em ingles e es.inf em espanhol..
o que achei mais interessante de fazer coisas como separar em arquivos diferentes eh que o port para outras distros nao Debian fica mais facil, pois so eh necessario a ediçao do arquivo de comandos de install..
mas vou te falar que a ideia do .krm eh muito boa..na verdade muito melhor do que a que eu tive..pois assim todos os scripts e nao somente uma parte deles podem ser portados para o novo Icones Magicos..meus parabens!!

eu queria saber eh se vcs ja tem um script para facilitar o processo de criaçao dos .krm..
afinal ha um padrao de instação entao pode ser feito um script para auxiliar na parte de criaçao do .krm
e como que fica a internacionalizaçao da descriçao do programa??
pelo o que vc postou no forum nao ha um campo para setar o idioma que a descriçao vai aparecer para o usuario..
pelo o que eu pude intender ..
ou se cria um meta pacote com descriçoes em cada idioma...ou se cria um novos campos para a especificaçao do idioma..
Opa,

Uma comunidade ativa, estou gostando :-P

Então a questão da internacionalização, pelo menos com relação ao programa principal será feita via arquivo .po (que se tornarão .mo) que é o padrão para internacionalização de qualquer aplicação em GNU/Linux, assim não será preciso reinventar a roda...Até por isso que está em inglês que deve ser em todos os casos o idioma padrão, para as demais linguagens se cria arquivos de internacionalização, para saber qual idioma o usuário está usando também pretendo usar um conceito padrão que é ver as configurações de locales.

Agora com relação a descrição do programa, categoria etc, realmente do jeito que está no momento acho que está complicado, talvez uma solução seria colocar certas coisas em arquivos a parte como o esquema da descrição que tu falou.

Com relação à um script para ajudar na criação de arquivos .krm é totalmente possível e relativamente fácil de se construir um protótipo, mas no momento estou focando as forças na aplicação principal, pois ela estando pronto já dá tempo de ir no Kurumin NG 1.0 (ou coisa do gênero) o resto pode ser feito nos bastidores dos intervalos entre uma versão e outra.

Você conhece bem de XML? Mas estava usando padrão XML em Shell mesmo? tem alguma biblioteca ou coisa do gênero para se trabalhar com arquivos XML em shell?

Você programa em alguma outra linguagem? Não pretendo manter esse esquema em Shell para sempre, só to fazendo em Shell porque eu domino mais, enfim pra poder expressar minha idéia, em certas coisas ficamos muito limitados utilizando Shell puro.

Valeu pela mensagem.

Citação:
Postado Originalmente por S-k Ver Mensagens
Ficou bem legal o magic-icons, está bem "bolado". Fica muito mais simples e funcional, que ter um script para cada programa em /usr/local/bin.
Aqui o magic-icons funcionou sem problemas.

Boa idéia essa do arquivo check. É sempre bom usar o md5sum para verificar a integridade dos ficheiros.

Um abraço
A idéia do MD5 é mais do que simplesmente ver se o pacote está "inteiro", essa lista será mantida online em nosso servidor portanto a aplicação irá se recusar a instalar pacotes .krm que não foram feitos ou aprovados por nós, isso vai previnir contra arquivos maliciosos.

Valeu!
11-03-2008 por Leandro.S.S
Citação:
Postado Originalmente por gongochoco Ver Mensagens
leandro, fiz a instalaçao limpa do kubuntu hardy alpha6 configurei o ppoe atualizei ok. baixei os programas e testei como proposto. a primeira mensagem do amsn perfeito, so que em ingles. o kopete ok verificou, me informou que ja estava instalado e perguntou se eu queria reinstalar respondi ok e ele me informou que a reinstalçao havia procedido com sucesso.
parabens vamos la.

obs: meu firefox eh o 3.0 beta3 em ingles talvez por isso ainda nao consegui acentuar.
Por enquanto está em inglês mesmo, não fiz nada em português, só depois de pronto...até porque essa tarefa pode ser delegada pra alguém quando tiver uma versão funcional...voluntários? hehe

Valeu cara.
11-03-2008 por Bugs_Bunny
he he
eu nao conheço nenhuma bliblioteca para trabalhar com shell script e XML nao..mas para trabalhar com java e C++ existem aos montes..
verdade eh que depois que comecei o projeto eh que me deram a ideia de mexer com um TAD (colocar tudo a respeito do programa em uma linha e usar um separador entre os campos..como o pipe) ..mas ai eu ja tinha muitas linhas de codigo escritas e fiquei com preguiça de recomeçar tudo do zero..
eu estava fazendo tudo na "unha" ..eu dei uma lida no codigo do magic-icons e fiquei com vergonha do meu shell script..mas conheço um pouco de XML e posso dar uma ajuda em java, C++, SQL (html e php so o basicao)..esta semana estarei começando um projeto no qual terei que aprender perl e para mexer com CGI..
so tenho que adiantar que minhas esperiencias como programador se restringem a trabalhos da universidade..
se quiser posso te passar o que eu tenho ja feito..mando por mail ou algo assim..so mandar uma MP
fui
12-03-2008 por gongochoco
Citação:
Postado Originalmente por Leandro.S.S Ver Mensagens
Por enquanto está em inglês mesmo, não fiz nada em português, só depois de pronto...até porque essa tarefa pode ser delegada pra alguém quando tiver uma versão funcional...voluntários? hehe

Valeu cara.
quando puder disponibilizar posso dar uma olhada para saber se dou conta de traduzir.

na espera do Kurumin NG
12-03-2008 por mattosoft
Citação:
Postado Originalmente por Leandro.S.S Ver Mensagens
Por enquanto está em inglês mesmo, não fiz nada em português, só depois de pronto...até porque essa tarefa pode ser delegada pra alguém quando tiver uma versão funcional...voluntários? hehe

Valeu cara.
Ai, me ofereço como tradutor para o Italiano e Espanhol
12-03-2008 por Kevin-Moc
O teste pode ser feito no Kurumin 7 ou apenas na familia Ubuntu Hardy heron, ou mesmo apenas no kubuntu?
12-03-2008 por Bugs_Bunny
aqui me diz uma coisa..
o painel de controle do kurumin com os icones magicos vao continuar no NG neh?
o referenceFile eh usado para ver se o programa ja esta instalado neh?
bem..
eu testei os scripts do magic-icons hoje em um kurumin 7 que tenho instalado por aqui..
rodou como vc disse que iria rodar..ou quase..
aquele passivepoup ficou com as letras meio esquisitas..deve ter algo haver com a codificação usada..alem do que ele sumiu muito rapido..vc nao anima tirar esse passivepoup e deixar com uma janela de xdialog ou kdialog nao? (pessoalmente eu achei a ideia de ler as infs do programa em um "balao" meio paia..mas eu sei que isso deve ser provisorio)

eu nao sabia sobre os .po ou .mo..vou procurar no google como eh que eh feito esse padrao..

bem..ainda sobre a internacionalizaçao dos programas..
meu script de configuraçao esta praticamente pronto..falta corrigir somente uma ou duas funçoes..mas ele ja consegue ler e escrever as informaçoes dos arquivos, adicionar programas ao cadastro, motrar os programas cadastrados, apagar e editar as descriçoes dos programas..tudo isso usando kdialog na interface do usuario...(umas boas 500 linhas de codigo ) a parte que esta faltando fazer eh exatamente a que leia as infs dos arquivos xml e as usem para instalar o programa..ou para montar meta pacotes..como os krm..
se vc me passar exatamente quais dados terao que ser guardados eu posso adaptadar meu script..pelo o que eu vi..o meu so nao esta guardando no xml os md5sum, a categoria do programa e o arquivo de referencia.. mas o meu script guarda os comandos de remoçao do programa e guarda as urls para download usando o wget..
se vcs quiserem/acharem que vale a pena..
eu posso fazer funçoes em shell script que leiam meus arquivos e retornem os dados que se deseja..
como uma
Código:
getDescricao "Amsn" "pt" /tmp/pt.txt ## poderia guardar em /tmp/pt.txt a descriçao em portugues do Amsn..ai eh so dar um cat no arquivo..
quase que fazer um framework para trabalhar com os arquivos xml que eu criei..
eu posso cadastrar os programas que ja existem no kurumin 7 ( mas pelo o que vi so existe descrições em portugues..)
por que ter esse trabalho todo agora?
primeiramente por que eu nao queria jogar meu trabalho fora..ja se foram 3 semanas de trabalho encima do meu script e queria fazer algo util para a comunidade..
segundo para ja aproveitar a ajuda de pessoas como o mattosoft
que estao dispostas a ajudar no desenvolvimento do kurumin e dos magic-icons.. meu script originalmente nao tinha suporte a Italiano..mas se rolar de usar ele.. eu ja posso passar para o mattosoft como que ele funciona ja com a suporte a Italiano configurado..
fui
13-03-2008 por APONETO
Citação:
Postado Originalmente por Leandro.S.S Ver Mensagens
Por enquanto está em inglês mesmo, não fiz nada em português, só depois de pronto...até porque essa tarefa pode ser delegada pra alguém quando tiver uma versão funcional...voluntários? hehe

Valeu cara.
Também me disponho a isso, não entendo nada de desenvolver software, mas tenho inglês perfeito.
13-03-2008 por Jedi Lii'N Ux
Sou shell-scriptista... Também sei mexer quase bem com Kommander...
Quero participar

Estou criando pelo kommander um programa de apoio expresso aos programadores java...

Interessam em colocar no Kurumin NG?
13-03-2008 por instantware2005
Opa, até que fim o Kurumin não morreu! Gostaria de poder ajudar criando scripts para instalar alguns programas diferentes do padrão e alguns jogos nativos.

Como eu posso ajudar?
13-03-2008 por Ricardo Pimenta
poso ajudar também com propagandas, faço trilhas de Jeeps e uns dizeres na lataria e camisas seriam uma boa....
14-03-2008 por lucaspoa_rs
Teste de download.
Tenho acesso à uma conexão de 30Mbps, me disponibilizo a fazer os testes de download dos pacotes e ver se nada mudou de endereço ou saiu errado. É útil? Posso também colaborar em algo relacionado à softwares de uso acadêmico.
15-03-2008 por gongochoco
Citação:
Postado Originalmente por josenilton Ver Mensagens
Fiz um pacote .krm do firefox-3b4 se vc quizer testar ?
http://zaitan.net/download/firefox.krm
josenilton, tem como vc passar o md5 para anexar ao check e testar??
15-03-2008 por gongochoco
Citação:
Postado Originalmente por josenilton Ver Mensagens
Md5sum dele é esse

d54d62560ee218e3c8f0d73b306ac67e firefox.krm
simplesmente anexei ao arquivo check:
firefox: d54d62560ee218e3c8f0d73b306ac67e
cliquei sobre o firefox.krm e continuou informando não confiavel.
Apaguei a linha do kopete nesse ponto ele abriu o balão magic-incons e me informou em uma cx de dialogo que o programa já estava instalado mandei reinstalar e ele me retornou que tinha reinstalado com sucesso, mas não instalou ou reinstalou nada,como na opçao do kopete.
Era isso mesmo que vc queria ou deveria realmente fazer a instalação?
19-03-2008 por Leandro.S.S
Pessoal já atualizei os arquivos no mesmo link, se quizerem testar as instruções são as mesmas o josenilton tem me ajudado com este sistema e irá portá-lo para python.

Agora é obrigatório estar usando o Kubuntu para testar!

Agradeço o feedback
19-03-2008 por gongochoco
Citação:
Postado Originalmente por Leandro.S.S Ver Mensagens
Pessoal já atualizei os arquivos no mesmo link, se quizerem testar as instruções são as mesmas o josenilton tem me ajudado com este sistema e irá portá-lo para python.

Agradeço o feedback
Leandro:
copiei os arquivos para a pasta /home/dumoura/kng-testes.
fiz os procedimentos descritos como copiar e tornar executável.
kopete e firefox pacotes não confiáveis.
amsn perguntou se queria desinstalar respondi ok fez todo o procedimento de desinstalação. chamei o amsn de novo abriu uma caixa de diálogo com as informações do tipo autor etc. continuei executou o procedimento de instalção terminando me perguntou se queria criar um icone novamente ok. está funcionando a versão do amsn de 25/12/2007.
Tô gostando tem mais??

 
Guia do Hardware Melhores Tópicos