http://www.linuxpackages.net/howto.php?page=perfect-package&title=Perfect+Package
Você tem que cuidar da compatibilidade com versões antigas. E, se algum dia o Patrick decidir resolver dependências nos tgz's uma solução muito boa (e em funcionamento no Zenwalk) são o slack-suggest e o slack-required. Vide a parte de opcionais do artigo acima. "arch", "version" e "release" são simples informações contidas no nome do pacote. Se você tem um pcaote cujo nome está corrompido talvez não seja boa idéia instalar ele; A retundância de scripts é um problema. Em se tratando de binários, faz sentido esperar que, após a instalação, um script pra criar usuários, criar bases de dados e adicionar configurações default seja suficiente. Listar pacotes não eve ser responsabilidade do pacote, mas do pkgtool. Tem outras coisas, mas não sou tão espírito de porco pra ficar só criticando, :D Ao invés de começar do zero, por que vc não pega os fontes do pkgtool, dá uma guaribada... ou mesmo trabalha ativamente em uma ferramenta APT-like dessas que tem pra slackware; o slackpkg tem plena compatibilidade com o pkgtool (de fato, responsabilidades diferentes), e com seu trabalho ele pode verificar se o pacote tem aquelas informações extra que os caras do linuxpackages sugerem; o slapt-get (bom... ele tava lah, eu uso ateh hj, :D) vem com a resolução de dependência implementada, mas desativada por padrão, pois os pacotes oficiais não oferecem suporte a resolução de dependência; Algo legal seria a sua sugestão de se adicionar informações acerca da categoria, os .deb e os .rpm já fazem isso, e a pasta install não explodiria se incluíssemos um txt nos moldes do slack-required. Espaço para expansão existe. O que não tem muito futuro é quebar 14 anos de padrão. On 9/1/07, Marcos Henrique Esteves Barbosa <[EMAIL PROTECTED]> wrote: >> Olá! >> Estou desenvolvendo um novo formato de pacotes para o Slackware (já >> que o novo sistema de inicialização não deu muito certo, espero ter >> mais sucesso com a criação de um novo formato de pacote). Ele não vai >> sair muito do que é atualmente, para se manter simples, mas serão >> acrescentadas coisas para tornar o pacote mais completo. A principal >> mudança será a inclusão no diretório install (que poderá mudar para um >> nome mais significativo, mas ainda não tive uma boa idéia) de vários >> arquivos, cada um contendo uma informação. Por exemplo: O arquivo arch >> conterá a arquitetura. Uma lista de possíveis aqruivos: >> - arch (arquitetura) >> - preinst.sh (script para ser executado antes da instalação) >> - posinst.sh >> - name (script para ser executado após a isntalação) >> - version (versão) >> - release (revisão) >> - category/classification (categoria em que o pacote se encaixa) >> - developer (nome e e-mail do desenvolvedor) >> - packager (nome e e-mail do empacotador) >> - description (descrição) >> - filelist (lista de arquivos. É realmente necessária?) >> - dependencies (pacotes necessários para funcionar. Incluindo os >> básicos, como glibc-solibs) >> - suggests (pacotes sugeridos que aumentam as funcionalidades) >> - source (localização do fonte na internet. Deve ser melhorado para >> talvez ter um arquivo para o endereço e outro para o arquivo ou talvez >> não precise, já que o local onde pegar o fonte estará no SlackBuild) >> - size (tamanho que o pacote ocupa após instalado. Pode ser dividido >> em um que contenha o tamanho compactado e outro o descompactado, ou só >> o tamanho quando descompactado, já que o compactado pode ser visto no >> próprio pacote) >> - license (tipo de licença) >> - hash (hash do pacote. Precisa ser visto como será implementado) >> - signature (assinatura) >> - url/page/website (página oficial do pacote) >> - summary (descrição em uma linha) >> Nesta lista eu tentei incluir todas as informações que eu achei útil, >> baseando a lista em um pacote RPM (briga Slackware X Red Hat a parte). >> Não inclui coisas como "build date" e "build host" por não achar que >> tivesse utilidade (se alguém souber a utilidade fale). >> Também haverá modificações no sistema de criação do pacote. Ainda >> existirá o SlackBuild (que é um ótimo sistema) mas haverá modificações >> tanto para dar maiores opções quanto para facilitar o uso. As mudanças >> principais no SlackBuild são: >> - Remoção dos arquivos temporários após o final da compilação (talvez >> inclua uma variável para escolha, mas acho improvável) >> - O pacote pronto será movido para o diretório onde está o SlackBuild >> - O SlackBuild procurará o arquivo fonte no diretório atual. Se não >> encontrar, baixará da Internet >> Também haverá mudanças no formato do repositório, mas ainda não pensei >> bem nisso. Só acho que talvez seja uma boa idéia fundir o repositório >> de fontes com o de pacotes, mais ou menos como é feito no repositório >> do slacky.eu (www.slacky.eu/repository), onde existe as categorias e >> dentro diretórios com pacotes que por sua vez tem os pacotes e um >> diretório src/ para os fontes. O que acham? >> PS.: Se isso andar bem, que sabe esteja sólido para incluir na próxima >> versão do Slackware???!!! >> --~--~---------~--~----~------------~-------~--~----~ GUS-BR - Grupo de Usuários de Slackware Brasil http://www.slackwarebrasil.org/ http://groups.google.com/group/slack-users-br -~----------~----~----~----~------~----~------~--~---

