SISTEMA DE AJUDA DO SVARDOS [20240126][pkgfmt]
Arquivos de pacote fornecem uma forma fácil de gerenciar software no SvarDOS. Os pacotes devem aderir a uma convenção estrita, assim podem ser manipulados corretamente pelo gerenciador de pacotes do SvarDOS.

Nomes de arquivo de pacotes

Os nomes dos pacotes devem seguir algumas regras básicas. Devem ser de no máximo 8 caracteres alfanuméricos (mas também não devem ser muito curtos, pois um pacote com 1 ou 2 letras no nome pode ser confuso), e deve ser composto pelos caracteres a-b, 0-9 e '_'. Isso é devido a 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").

Arquivos de pacote

O SvarDOS usa arquivos ZIP como formato de arquivo de pacote. Esse formato foi escolhido porque os 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

Estrutura 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: 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. As 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.

Arquivos 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, contendo 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.

Versões dos pacotes

A vesão presente no arquivo LSM foi pensada para refletir a versão do software empacotado, mas pode ocorrer 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. Se a versão upstream já tiver 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 em 1 por cada vez que a 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.

Fontes 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 à extensão *.SVP própria do pacote). O resultado é que o software empacotado será 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.