Subversion Repositories SvarDOS

Rev

Rev 1176 | Details | Compare with Previous | Last modification | View Log | RSS feed

Rev Author Line No. Line
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.