Gostaria da opnião de vocês em relação a este projeto (um gerenciador de pacotes)

1. Gostaria da opnião de vocês em relação a este projeto (um gerenciador de pacotes)

Perfil removido
removido

(usa Nenhuma)

Enviado em 12/10/2017 - 02:07h

Estou programando, um gerenciador de pacotes em C, e gostaria da opinião de vocês em relação a algumas coisas:

1- dbfiles - arquivos que representam o pacote, geralmente procurados em:
/var/pkg/local/$nomedopacote
/var/pkg/remote/$nomedopacote
* Chaves que aceitam múltiplos valores: long-desc, run-dep, make-dep, dir, file, flag (o resto são chaves de valor único)
* Para atribuir um valor adicional, a uma chave múltipla, se repete a chave em outra linha com o valor adicional.

Veja um de exemplo (usei alguns dados do pacote fornecido no arch):
name:mksh
long-name:mksh
version:56.b-1
license:MIROS
description:An enchanced version of the public domain ksh.
long-desc:Is an actively developed successor of pdksh,
long-desc:aimed at producing a shell good for interactive use,
long-desc:but with the primary focus on scripting.
size:277112
pkgsize:132280
# run-dep: não possui dependência para ser executado.
make-dep: glibc-2.26-4
dir:usr/bin
dir:usr/share/licenses/mksh
dir:usr/share/man/man1
file:usr/bin/mksh
file:usr/share/licenses/mksh/TaC-mksh.txt
file:usr/share/man/man1/mksh.1.gz
flag:keep


1.1- Possui dois bancos de dados, um local e o outro remoto, quando um pacote é instalado o dbfile e copiado do remoto para o local.
* provavelmente colocarei uma opção para criar um link simbólico, para pacotes que não iram ser modificados.
$ ls /var/pkg/remote
mksh
$ ls /var/pkg/local
$ *instala mksh*
$ ls /var/pkg/local
mksh


2- Não toma ações automáticas, veja um exemplo de como seria a instalação do pacote citado anteriormente:
* Isso é consequência de o gerenciador não assumir nada sobre o pacote, usando somente os dados do dbfile.
$ lux fetch mksh
$ tar -xf mksh.tar.gz
$ cd mksh
$ lux add mksh


2.1- Fornece informações para o usuário que permitem uma manipulação manual.
exemplo de instalação do pacote citado anteriormente, se ele possuísse dependências:
$ lux fetch mksh $(lux info mksh | grep "R" | sed 's/R://' | tr '\n' ' ')
$ tar -xf *.tar.gz
$ for file in *; do; cd $file && lux add $file; done


Ainda possuo algumas coisas a adicionar, que possibilitaram executar alguns processos de forma mais simples, mas o modelo(design) do gerenciador em si não se afastara muito do mostrado, ou seja, não assume informações sobre o pacote, usa dbfiles (em formato de arquivo de texto), e fornece informações para o processo ser executado manualmente. Gostaria da opinião de vocês em relação ao funcionamento do mesmo.

* Os comandos citados são reais, e funcionariam em um ambiente configurado.
* Eu omiti detalhes, por que eu gostaria de opiniões sobre o modelo(design) do mesmo.
* O gerenciador: https://github.com/eltanin-os/lux


  






Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts