====== Alice meta template ====== Este é um repositório template para a criação de pacotes no [[ppa|PPA]] do Alice. Ele fornece a estrutura necessária e as diretrizes para facilitar o desenvolvimento e a publicação de novos pacotes. O template já inclui um arquivo de [[https://git.alice.ufsj.edu.br/alice-meta-packages/alice-meta-template/src/branch/main/.gitea/workflows/deploy.yml|workflow]] para o build e deploy do pacote no PPA, mas é necessário ativar as Actions nas configurações do repositório. Além disso, é importante criar o repositório pela organização alice-meta-packages, pois ela possui as chaves necessárias para o deploy. ====== Estrutura de diretórios ====== A raiz do projeto possui, por padrão, a pasta DEBIAN, onde são armazenados os arquivos de controle e configuração do pacote. Para incluir qualquer outro arquivo necessário no pacote, como por exemplo um arquivo de configuração que deve ser instalado em /etc/programa/config, você deve criar a estrutura correspondente dentro da raiz do pacote. Assim, a pasta seria organizada como RAIZ/etc/programa/config, garantindo que o arquivo seja instalado no local correto durante a instalação do pacote. ===== DEBIAN ===== A pasta DEBIAN armazena o arquivo de controle do pacote, incluindo scripts como postinst e preinst. * preinst: Este script é executado antes da instalação do pacote. Ele pode ser utilizado para realizar verificações de pré-requisitos ou preparar o sistema para a instalação, como parar serviços ou verificar se dependências estão instaladas. * postinst: Este script é executado após a instalação do pacote. É ideal para configurar o software, iniciar serviços ou realizar tarefas que dependem da instalação completa do pacote, como ajustar permissões ou gerar arquivos de configuração. Esses scripts permitem personalizar o processo de instalação e garantir que o software funcione corretamente em seu ambiente. ==== Control ==== O arquivo control é um componente essencial de qualquer pacote Debian, pois contém informações fundamentais sobre o pacote. No template disponível aqui, você encontrará várias chaves que descrevem o pacote, incluindo: * Package: O nome do pacote. * Version: A versão do pacote. * Architecture: A arquitetura para a qual o pacote é destinado (por exemplo, amd64 ou all). * Maintainer: O nome e e-mail do mantenedor do pacote. * Depends: Uma lista de dependências que devem ser instaladas para que o pacote funcione corretamente. * Description: Uma breve descrição do que o pacote faz. Essas informações são essenciais para o gerenciamento de pacotes, permitindo que o sistema de instalação resolva dependências e forneça detalhes aos usuários sobre o pacote. O correto preenchimento deste arquivo é crucial para garantir a integridade e a funcionalidade do pacote.