0,0 → 1,128 |
|
Arquivos de pacote proveem uma forma fácil de gerenciar software no SvarDOS. |
Esses pacotes devem aderir a uma convenção estrita, assim podem ser manipulados |
corretamente pelo gerenciador de pacotes do SvarDOS. |
|
|
%hNomes de arquivo de pacotes |
|
Os nomes dos pacotes devem seguir algumas regras básicas. Devem ser de no máximo |
8 tetras de tamanho (mas não devem ser muito curtos também, pois um pacote com 1 |
ou 2 letras no nome pode ser confuso), e não deve ser composto por caracters que |
não sejam a-b, 0-9 e '_'. Isso é para compatibilidade com o padrão de nomes de |
arquivo curtos (8+3) e sistemas de arquivo ISO 9660 (usados em CDROMs). O nome |
de arquivo do pacote sempre é seguido da extensão .SVP ("SvarDOS Package"). |
|
|
%hArquivos de pacote |
|
O SvarDOS usa arquivos ZIP como formato de arquivo de pacote. Esse formato foi |
escolhido porque arquivos ZIP no DOS se tornaram de fato a maneira padrão para |
distribuir coleções de arquivos. Além disso, o formato de arquivo ZIP é bem |
documentado, bem suportado e em domínio público. |
|
Abaixo está a linha de comando recomendada que pode ser usada para criar um |
pacote para um programa chamado EXEMPLO usando info-zip: |
|
zip -9rkDX EXEMPLO.SVP subdir1 subdir2 ... subdirN |
|
Se você estiver usando o 7za (7-ZIP) para cirar seus pacotes, então use isso: |
|
7za a -mm=deflate -mx=9 -tzip EXEMPLO.SVP subdir1 subdir2 ... subdirN |
|
|
%hEstrutura de diretórios dos pacotes |
|
A estrutura de diretórios de um pacote depende do tipo do pacote. |
Para os pacotes "core", nós temos isso: |
|
APPINFO Ponha o arquivo LSM do programa aqui |
BIN Binários, tais como aquivos exe e com |
DOC\PKGNAME Documentação do pacote |
HELP Usado SOMENTE pelo pacote "help" |
NLS\PKGNAME Traduções (arquivos de linguagem NLS) do pacote |
|
Pacotes não-core usam uma organização de diretórios levemente diferente. Por |
exemplo, se se formos considerar um pacote chamado FOO, podemos terminar com a |
seguinte estrutura: |
|
APPINFO\FOO.LSM Meta aquivo do pacote para o programa FOO |
PROGS\FOO\FOO.EXE O executável do programa |
PROGS\FOO\FOO.TXT Alguma documentação |
PROGS\FOO\FILE.DAT Arquivo de dados usado pelo programa FOO |
|
Note o diretório PROGS acima. Essa é a categoria ao qual o pacote pertence. |
O instalador de pacotes pode mudar esse diretório no momento da instalação, |
dependendo das preferências do usuário. Categorias possíveis são listadas |
abaixo: |
|
Categoria | Descrição |
DEVEL | Ferramentas de desenvolvimento (a maioria compiladores) |
DRIVERS | Drivers de dispositivo |
GAMES | Jogos |
PROGS | Programas do usuário, ferramentas... |
|
Note: Diretórios "DOC", "NLS", "BIN" e "HELP" são reservados estritamente aos |
pacotes CORE. |
|
|
%hArquivos de metadados LSM |
|
Cada pacote DEVE conter um arquivo LSM em seu diretório "APPINFO". Esse arquivo |
LSM é um arquivo de texto que contém informação básica sobre o pacote. Seu |
formato é muito simples, deve conter pelo menos duas linhas: |
|
version: x.y.z |
description: descrição do pacote |
|
Quaisquer outras linhas adicionais são ignoradas pelo gernciador de pacotes do |
SvarDOS. |
|
|
%hVersões dos pacotes |
|
A vesão presente no arquivo LSM foi pensada para refletir a versão do software |
empacotado, mas pode acontecer de um pacote precisar ser mudado para corrigir |
um problema estritamente relacionado ao pacote em si (por emeplo, um arquivo de |
documentação esquecido ou uma recompilação do binário usando um melhor jogo de |
opções...). Em tais casos, a versão do software não muda, mas a versão do pacote |
em sí precisa mudar, assim os usuários saberão que alguma coisa mudou. É aí onde |
as "Revisões do SvarDOS" entram. Um string de versão é basicamente o formato |
abaixo: |
|
UPSTREAM_VER[+SVARREV] |
|
UPSTREAM_VER é o exato string de versão informado pelo software. Ele pode ser |
qualquer coisa. Essa versão original (upstream) pode ser opcionalmente seguida |
por um sinal de mais "+" e a revisão do SvarDOS. No evento da versão upstream já |
conter um sinal de mais, a versão da revisão do SvarDOS é delimitada com um til |
"~". |
|
A revisão do SvarDOS começa com 0 e incrementa por 1 cada vez que a dada revisão |
upstream é reempacotada. A revisão SvarDOS reinicia sempre que a versão upstream |
mudar. A revisão SvarDOS com 0 é sempre oculta. |
|
Exemplos: |
|
FDISK 1.54 <- versão empacotada originalmente |
FDISK 1.54+1 <- o pacote mudou, mas não a versão upstream |
FDISK 1.55 <- a versão upstream incrementou, a rev do SvarDOS reinicia |
FDISK 1.55+1 <- nova versão do pacote, mas ainda contém FDISK 1.55 |
FDISK 1.55+2 <- outra nova versão do pacote, etc |
|
O string de versão inteiro de um pacote nunca deve exceder 16 caracteres. |
|
|
%hFontes de software |
|
Quando um software empacotado tiver arquivos de código fonte disponíveis, é |
recomendado também arquivá-los. Nesse efeito, ponha os fontes num arquivo ZIP |
que tenha o mesmo nome do pacote, mas com uma extensão *.ZIP (em oposição a |
extensão *.SVP própria do pacote). O resultado é que o software empacotado |
seria distribuído com dois arquivos. Exemplo para o FDISK: |
|
FDISK.SVP <- binários (arquivo ZIP seguindo a estrutura SVP) |
FDISK.ZIP <- fontes (arquivo ZIP não estruturado, livre) |
|
O arquivo ZIP deve obviamente conter o código fonte que pertence exatamente a |
mesma versão presente no pacote SVP. |