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