1176 |
mateusz.vi |
1 |
|
1197 |
mateusz.vi |
2 |
Arquivos de pacote fornecem uma forma fácil de gerenciar software no SvarDOS.
|
|
|
3 |
Os pacotes devem aderir a uma convenção estrita, assim podem ser manipulados
|
1176 |
mateusz.vi |
4 |
corretamente pelo gerenciador de pacotes do SvarDOS.
|
|
|
5 |
|
|
|
6 |
|
|
|
7 |
%hNomes de arquivo de pacotes
|
|
|
8 |
|
1197 |
mateusz.vi |
9 |
Os nomes dos pacotes devem seguir algumas regras básicas. Devem ser de no
|
|
|
10 |
máximo 8 caracteres alfanuméricos (mas também não devem ser muito curtos, pois
|
|
|
11 |
um pacote com 1 ou 2 letras no nome pode ser confuso), e deve ser composto
|
|
|
12 |
pelos caracteres a-b, 0-9 e '_'. Isso é devido a compatibilidade com o padrão
|
|
|
13 |
de nomes de arquivo curtos (8+3) e sistemas de arquivo ISO 9660 (usados em
|
|
|
14 |
CDROMs). O nome de arquivo do pacote sempre é seguido da extensão .SVP
|
|
|
15 |
("SvarDOS Package").
|
1176 |
mateusz.vi |
16 |
|
|
|
17 |
|
|
|
18 |
%hArquivos de pacote
|
|
|
19 |
|
|
|
20 |
O SvarDOS usa arquivos ZIP como formato de arquivo de pacote. Esse formato foi
|
1197 |
mateusz.vi |
21 |
escolhido porque os arquivos ZIP no DOS se tornaram de fato a maneira padrão
|
|
|
22 |
para distribuir coleções de arquivos. Além disso, o formato de arquivo ZIP é
|
|
|
23 |
bem documentado, bem suportado e em domínio público.
|
1176 |
mateusz.vi |
24 |
|
|
|
25 |
Abaixo está a linha de comando recomendada que pode ser usada para criar um
|
|
|
26 |
pacote para um programa chamado EXEMPLO usando info-zip:
|
|
|
27 |
|
|
|
28 |
zip -9rkDX EXEMPLO.SVP subdir1 subdir2 ... subdirN
|
|
|
29 |
|
|
|
30 |
Se você estiver usando o 7za (7-ZIP) para cirar seus pacotes, então use isso:
|
|
|
31 |
|
|
|
32 |
7za a -mm=deflate -mx=9 -tzip EXEMPLO.SVP subdir1 subdir2 ... subdirN
|
|
|
33 |
|
|
|
34 |
|
|
|
35 |
%hEstrutura de diretórios dos pacotes
|
|
|
36 |
|
|
|
37 |
A estrutura de diretórios de um pacote depende do tipo do pacote.
|
1197 |
mateusz.vi |
38 |
Para os pacotes "core", nós temos:
|
1176 |
mateusz.vi |
39 |
|
|
|
40 |
APPINFO Ponha o arquivo LSM do programa aqui
|
1197 |
mateusz.vi |
41 |
BIN Binários, tais como aquivos EXE e COM
|
1176 |
mateusz.vi |
42 |
DOC\PKGNAME Documentação do pacote
|
|
|
43 |
HELP Usado SOMENTE pelo pacote "help"
|
|
|
44 |
NLS\PKGNAME Traduções (arquivos de linguagem NLS) do pacote
|
|
|
45 |
|
|
|
46 |
Pacotes não-core usam uma organização de diretórios levemente diferente. Por
|
|
|
47 |
exemplo, se se formos considerar um pacote chamado FOO, podemos terminar com a
|
|
|
48 |
seguinte estrutura:
|
|
|
49 |
|
|
|
50 |
APPINFO\FOO.LSM Meta aquivo do pacote para o programa FOO
|
|
|
51 |
PROGS\FOO\FOO.EXE O executável do programa
|
|
|
52 |
PROGS\FOO\FOO.TXT Alguma documentação
|
|
|
53 |
PROGS\FOO\FILE.DAT Arquivo de dados usado pelo programa FOO
|
|
|
54 |
|
|
|
55 |
Note o diretório PROGS acima. Essa é a categoria ao qual o pacote pertence.
|
|
|
56 |
O instalador de pacotes pode mudar esse diretório no momento da instalação,
|
1197 |
mateusz.vi |
57 |
dependendo das preferências do usuário. As Categorias possíveis são listadas
|
1176 |
mateusz.vi |
58 |
abaixo:
|
|
|
59 |
|
|
|
60 |
Categoria | Descrição
|
|
|
61 |
DEVEL | Ferramentas de desenvolvimento (a maioria compiladores)
|
|
|
62 |
DRIVERS | Drivers de dispositivo
|
|
|
63 |
GAMES | Jogos
|
|
|
64 |
PROGS | Programas do usuário, ferramentas...
|
|
|
65 |
|
|
|
66 |
Note: Diretórios "DOC", "NLS", "BIN" e "HELP" são reservados estritamente aos
|
|
|
67 |
pacotes CORE.
|
|
|
68 |
|
|
|
69 |
|
|
|
70 |
%hArquivos de metadados LSM
|
|
|
71 |
|
|
|
72 |
Cada pacote DEVE conter um arquivo LSM em seu diretório "APPINFO". Esse arquivo
|
|
|
73 |
LSM é um arquivo de texto que contém informação básica sobre o pacote. Seu
|
1197 |
mateusz.vi |
74 |
formato é muito simples, contendo pelo menos duas linhas:
|
1176 |
mateusz.vi |
75 |
|
|
|
76 |
version: x.y.z
|
|
|
77 |
description: descrição do pacote
|
|
|
78 |
|
|
|
79 |
Quaisquer outras linhas adicionais são ignoradas pelo gernciador de pacotes do
|
|
|
80 |
SvarDOS.
|
|
|
81 |
|
|
|
82 |
|
|
|
83 |
%hVersões dos pacotes
|
|
|
84 |
|
|
|
85 |
A vesão presente no arquivo LSM foi pensada para refletir a versão do software
|
1197 |
mateusz.vi |
86 |
empacotado, mas pode ocorrer de um pacote precisar ser mudado, para corrigir
|
|
|
87 |
um problema estritamente relacionado ao pacote em si (por emeplo, um arquivo
|
|
|
88 |
de documentação esquecido ou uma recompilação do binário usando um melhor jogo
|
|
|
89 |
de opções...). Em tais casos, a versão do software não muda, mas a versão do
|
|
|
90 |
pacote em sí precisa mudar, assim os usuários saberão que alguma coisa mudou.
|
|
|
91 |
É aí onde as "Revisões do SvarDOS" entram. Um string de versão é basicamente o
|
|
|
92 |
formato abaixo:
|
1176 |
mateusz.vi |
93 |
|
|
|
94 |
UPSTREAM_VER[+SVARREV]
|
|
|
95 |
|
|
|
96 |
UPSTREAM_VER é o exato string de versão informado pelo software. Ele pode ser
|
|
|
97 |
qualquer coisa. Essa versão original (upstream) pode ser opcionalmente seguida
|
1197 |
mateusz.vi |
98 |
por um sinal de mais "+" e a revisão do SvarDOS. Se a versão upstream já tiver
|
|
|
99 |
um sinal de mais, a versão da revisão do SvarDOS é delimitada com um til "~".
|
1176 |
mateusz.vi |
100 |
|
1197 |
mateusz.vi |
101 |
A revisão do SvarDOS começa com 0 e incrementa em 1 por cada vez que a revisão
|
|
|
102 |
upstream é reempacotada. A revisão SvarDOS reinicia sempre que a versão
|
|
|
103 |
upstream mudar. A revisão SvarDOS com 0 é sempre oculta.
|
1176 |
mateusz.vi |
104 |
|
|
|
105 |
Exemplos:
|
|
|
106 |
|
|
|
107 |
FDISK 1.54 <- versão empacotada originalmente
|
|
|
108 |
FDISK 1.54+1 <- o pacote mudou, mas não a versão upstream
|
|
|
109 |
FDISK 1.55 <- a versão upstream incrementou, a rev do SvarDOS reinicia
|
|
|
110 |
FDISK 1.55+1 <- nova versão do pacote, mas ainda contém FDISK 1.55
|
1197 |
mateusz.vi |
111 |
FDISK 1.55+2 <- outra nova versão do pacote, etc.
|
1176 |
mateusz.vi |
112 |
|
|
|
113 |
O string de versão inteiro de um pacote nunca deve exceder 16 caracteres.
|
|
|
114 |
|
|
|
115 |
|
|
|
116 |
%hFontes de software
|
|
|
117 |
|
|
|
118 |
Quando um software empacotado tiver arquivos de código fonte disponíveis, é
|
|
|
119 |
recomendado também arquivá-los. Nesse efeito, ponha os fontes num arquivo ZIP
|
1197 |
mateusz.vi |
120 |
que tenha o mesmo nome do pacote, mas com uma extensão *.ZIP (em oposição à
|
1176 |
mateusz.vi |
121 |
extensão *.SVP própria do pacote). O resultado é que o software empacotado
|
1197 |
mateusz.vi |
122 |
será distribuído com dois arquivos. Exemplo para o FDISK:
|
1176 |
mateusz.vi |
123 |
|
|
|
124 |
FDISK.SVP <- binários (arquivo ZIP seguindo a estrutura SVP)
|
|
|
125 |
FDISK.ZIP <- fontes (arquivo ZIP não estruturado, livre)
|
|
|
126 |
|
|
|
127 |
O arquivo ZIP deve obviamente conter o código fonte que pertence exatamente a
|
|
|
128 |
mesma versão presente no pacote SVP.
|