1 |
Em 15/11/05, Sam RBL<sam.owner@×××××.com> escreveu: |
2 |
> Laércio , a muito procuro algo que automatize a tarefa de desmascar |
3 |
> pacotes, já tinha tentando com expressões regulares , mas naum tive |
4 |
> sussesso. Vou tentar esse seu ebuild , so nos fale mais sobre o resto |
5 |
> do pacote o que tem nele? ( não estou com meu pc aqui agora pra ver ) |
6 |
Eu comecei a desenvolver essas ferramentas como o propósito inicial de |
7 |
automatizar, com algum critério e inteligência, tarefas que eu costumo |
8 |
repetir com irritante freqüência (como adicionar e remover entradas no |
9 |
arquivo /etc/portage/package.keywords). |
10 |
|
11 |
Ao contrário de outras ferramentas similares que vocês podem encontrar |
12 |
em sites relativos ao Gentoo, que são desenvolvidas em linguagem de |
13 |
shell ou em Perl, decidi implementar as minhas ferramentas em Python |
14 |
para que elas pudessem interagir diretamente com o Portage. Para |
15 |
tanto, precisei: |
16 |
|
17 |
1- Aprender a programar em Python --- eu não manjava quase nada de |
18 |
Python até então. |
19 |
|
20 |
2- Estudar o código-fonte do Portage para entender como ele é por dentro. |
21 |
|
22 |
Pois bem. De tanto estudar o Portage, fiquei com a péssima impressão |
23 |
de que ele explora muito mal o potencial da plataforma Python --- pode |
24 |
ser preconceito meu, mas, às vezes, eu até penso que o Portage é |
25 |
robusto demais para ser implementado em Python e que ele seria mais |
26 |
eficiente se fosse implementado em Java ou C++. Então eu comecei a |
27 |
desenvolver uma espécie de "camada de abstração sobre o Portage" para |
28 |
facilitar a minha vida na hora de escrever as ferramentas propriamente |
29 |
ditas. |
30 |
|
31 |
Até o presente momento, vocês encontrarão no meu pacote: |
32 |
|
33 |
1- Um conjunto de módulos Python que comõem a "camada de abstração |
34 |
sobre o Portage". |
35 |
|
36 |
2- Duas ferramentas: |
37 |
a- ngetversions: lista todas as versões disponíveis para um |
38 |
determinado ebuild, classificando-as por keywords, máscaras, etc. |
39 |
|
40 |
b- npkeywords: gerencia o conteúdo do arquivo |
41 |
/etc/portage/package.keywords, adicionando ou removendo entradas; ele |
42 |
consegue, por exemplo, varrer as dependências de um pacote, |
43 |
desmascarando-as conforme necessário, e "limpar" o arquivo |
44 |
/etc/portage/package.keywords, removendo entradas desnecessárias --- |
45 |
eu sempre faço esta "limpeza" depois de um 'emerge sync'. |
46 |
|
47 |
Atualmente, estou meio sem tempo para mexer no pacote, mas o meu plano |
48 |
para o futuro é incluir nele: |
49 |
|
50 |
- Ferramentas similares ao 'npkeywords' para gerenciar o conteúdo dos |
51 |
arquivos /etc/portage/package.mask, /etc/portage/package.unmask e |
52 |
/etc/portage/package.use (este último, minha necessidade mais |
53 |
urgente). |
54 |
|
55 |
- Uma ferramenta para fazer a limpeza --- com algum critério e |
56 |
inteligência --- do meu DISTDIR e do meu PKGDIR. |
57 |
|
58 |
- Uma ferramenta alternativa ao getdelta para baixar os arquivos dtu |
59 |
do Dynamic Deltup Server. |
60 |
|
61 |
-- |
62 |
gentoo-user-br@g.o mailing list |