Subversion Repositories SvarDOS

Rev

Rev 1176 | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 1176 Rev 1197
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