Subversion Repositories SvarDOS

Rev

Go to most recent revision | Details | Last modification | View Log | RSS feed

Rev Author Line No. Line
1176 mateusz.vi 1
 
2
Arquivos de pacote proveem uma forma fácil de gerenciar software no SvarDOS.
3
Esses pacotes devem aderir a uma convenção estrita, assim podem ser manipulados
4
corretamente pelo gerenciador de pacotes do SvarDOS.
5
 
6
 
7
%hNomes de arquivo de pacotes
8
 
9
Os nomes dos pacotes devem seguir algumas regras básicas. Devem ser de no máximo
10
8 tetras de tamanho (mas não devem ser muito curtos também, pois um pacote com 1
11
ou 2 letras no nome pode ser confuso), e não deve ser composto por caracters que
12
não sejam a-b, 0-9 e '_'. Isso é para compatibilidade com o padrão de nomes de
13
arquivo curtos (8+3) e sistemas de arquivo ISO 9660 (usados em CDROMs). O nome
14
de arquivo do pacote sempre é seguido da extensão .SVP ("SvarDOS Package").
15
 
16
 
17
%hArquivos de pacote
18
 
19
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
distribuir coleções de arquivos. Além disso, o formato de arquivo ZIP é bem
22
documentado, bem suportado e em domínio público.
23
 
24
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
 
27
  zip -9rkDX EXEMPLO.SVP subdir1 subdir2 ... subdirN
28
 
29
Se você estiver usando o 7za (7-ZIP) para cirar seus pacotes, então use isso:
30
 
31
  7za a -mm=deflate -mx=9 -tzip EXEMPLO.SVP subdir1 subdir2 ... subdirN
32
 
33
 
34
%hEstrutura de diretórios dos pacotes
35
 
36
A estrutura de diretórios de um pacote depende do tipo do pacote.
37
Para os pacotes "core", nós temos isso:
38
 
39
  APPINFO            Ponha o arquivo LSM do programa aqui
40
  BIN                Binários, tais como aquivos exe e com
41
  DOC\PKGNAME        Documentação do pacote
42
  HELP               Usado SOMENTE pelo pacote "help"
43
  NLS\PKGNAME        Traduções (arquivos de linguagem NLS) do pacote
44
 
45
Pacotes não-core usam uma organização de diretórios levemente diferente. Por
46
exemplo, se se formos considerar um pacote chamado FOO, podemos terminar com a
47
seguinte estrutura:
48
 
49
  APPINFO\FOO.LSM    Meta aquivo do pacote para o programa FOO
50
  PROGS\FOO\FOO.EXE  O executável do programa
51
  PROGS\FOO\FOO.TXT  Alguma documentação
52
  PROGS\FOO\FILE.DAT Arquivo de dados usado pelo programa FOO
53
 
54
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
dependendo das preferências do usuário. Categorias possíveis são listadas
57
abaixo:
58
 
59
Categoria | Descrição
60
DEVEL     | Ferramentas de desenvolvimento (a maioria compiladores)
61
DRIVERS   | Drivers de dispositivo
62
GAMES     | Jogos
63
PROGS     | Programas do usuário, ferramentas...
64
 
65
Note: Diretórios "DOC", "NLS", "BIN" e "HELP" são reservados estritamente aos
66
pacotes CORE.
67
 
68
 
69
%hArquivos de metadados LSM
70
 
71
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
formato é muito simples, deve conter pelo menos duas linhas:
74
 
75
  version: x.y.z
76
  description: descrição do pacote
77
 
78
Quaisquer outras linhas adicionais são ignoradas pelo gernciador de pacotes do
79
SvarDOS.
80
 
81
 
82
%hVersões dos pacotes
83
 
84
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
um problema estritamente relacionado ao pacote em si (por emeplo, um arquivo de
87
documentação esquecido ou uma recompilação do binário usando um melhor jogo de
88
opções...). Em tais casos, a versão do software não muda, mas a versão do pacote
89
em sí precisa mudar, assim os usuários saberão que alguma coisa mudou. É aí onde
90
as "Revisões do SvarDOS" entram. Um string de versão é basicamente o formato
91
abaixo:
92
 
93
  UPSTREAM_VER[+SVARREV]
94
 
95
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
por um sinal de mais "+" e a revisão do SvarDOS. No evento da versão upstream já
98
conter um sinal de mais, a versão da revisão do SvarDOS é delimitada com um til
99
"~".
100
 
101
A revisão do SvarDOS começa com 0 e incrementa por 1 cada vez que a dada revisão 
102
upstream é reempacotada. A revisão SvarDOS reinicia sempre que a versão upstream
103
mudar. A revisão SvarDOS com 0 é sempre oculta.
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
111
FDISK 1.55+2    <- outra nova versão do pacote, etc
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
120
que tenha o mesmo nome do pacote, mas com uma extensão *.ZIP (em oposição a 
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:
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.