Em um gerenciador de pacotes, o que é essencial? [RESOLVIDO]

1. Em um gerenciador de pacotes, o que é essencial? [RESOLVIDO]

Perfil removido
removido

(usa Nenhuma)

Enviado em 21/09/2017 - 18:18h

Estou escrevendo um gerenciador de pacotes[1], um ridiculamente simples, que pretendo usar para gerenciar pacotes linkados estaticamente. No momento ele só move, deleta e mostra informações sobre "pacotes"[2], eu gostaria de receber algumas ideias sobre o que um gerenciador de pacotes deve fazer

[1]: https://github.com/eltanin-os/pkgutils (está sobre dominio publico, unlicense)
[2]: o gerenciador não assume nenhum formato de pacote, isso será feito por um script shell ou pelo utilizador


  


2. Re: Em um gerenciador de pacotes, o que é essencial? [RESOLVIDO]

Perfil removido
removido

(usa Nenhuma)

Enviado em 21/09/2017 - 18:23h

- Fazer tracking dos arquivos que pertecem a um pacote
- Dependencias
- Manter metadados


3. Re: Em um gerenciador de pacotes, o que é essencial? [RESOLVIDO]

Perfil removido
removido

(usa Nenhuma)

Enviado em 21/09/2017 - 18:28h

- conseguir segurar versões de alguns pacotes
- manter mais de duas versões de um mesmo pacote
- fazer verificação de hash
- fazer upgrade do pacotes
- gerenciar meta-pacotes
- fazer upgrade manual de um pacote
- remover os pacotes não relacionados a outros e que não tem nenhuma utilidade aparente
- fazer busca com suporte a expressões regulares
- comparar versões de pacotes
- mostrar as dependências do pacote
- mostrar dependência reversa
- mostrar arquivos providos pelo pacote
- mostra informações sobre o pacote
- ter a opção de somente baixar o pacote
- mostar o status atual do sistema em relação aos pacotes
- purgar pacotes

Apenas um começo, já te trará muito entretenimento.

Nem tudo que é ouro fulgura, nem todo vagante é vadio.
O velho que é forte perdura, raiz funda não sofre frio.
Das cinzas um fogo há de vir, das sombras a luz vai jorrar;
A espada há de, nova, luzir,
O sem corôa há de reinar



4. Re: Em um gerenciador de pacotes, o que é essencial? [RESOLVIDO]

Mashn
Mashn

(usa Outra)

Enviado em 21/09/2017 - 18:42h

uruk escreveu:

- conseguir segurar versões de alguns pacotes
- manter mais de duas versões de um mesmo pacote
- fazer verificação de hash
- fazer upgrade do pacotes
- gerenciar meta-pacotes
- fazer upgrade manual de um pacote
- remover os pacotes não relacionados a outros e que não tem nenhuma utilidade aparente
- fazer busca com suporte a expressões regulares
- comparar versões de pacotes
- mostrar as dependências do pacote
- mostrar dependência reversa
- mostrar arquivos providos pelo pacote
- mostra informações sobre o pacote
- ter a opção de somente baixar o pacote
- mostar o status atual do sistema em relação aos pacotes
- purgar pacotes

Apenas um começo, já te trará muito entretenimento.

Nem tudo que é ouro fulgura, nem todo vagante é vadio.
O velho que é forte perdura, raiz funda não sofre frio.
Das cinzas um fogo há de vir, das sombras a luz vai jorrar;
A espada há de, nova, luzir,
O sem corôa há de reinar


Ou seja, escreva um portage.


5. Re: Em um gerenciador de pacotes, o que é essencial?

Perfil removido
removido

(usa Nenhuma)

Enviado em 21/09/2017 - 18:49h

apostasia escreveu:
- Fazer tracking dos arquivos que pertecem a um pacote
- Dependencias
- Manter metadados

1 - O "tracking" é feito pelo arquivo do banco de dados (pacotes seguros não exigem tracking em tempo real)
2 - Este realmente é um ponto a ser implementado. (está na lista)
3 - O arquivo do banco de dados mantem as informações sobre o pacote

uruk escreveu:
- conseguir segurar versões de alguns pacotes
- manter mais de duas versões de um mesmo pacote
- fazer verificação de hash
- fazer upgrade do pacotes
- gerenciar meta-pacotes
- fazer upgrade manual de um pacote
- remover os pacotes não relacionados a outros e que não tem nenhuma utilidade aparente
- fazer busca com suporte a expressões regulares
- comparar versões de pacotes
- mostrar as dependências do pacote
- mostrar dependência reversa
- mostrar arquivos providos pelo pacote
- mostra informações sobre o pacote
- ter a opção de somente baixar o pacote
- mostar o status atual do sistema em relação aos pacotes
- purgar pacotes
Apenas um começo, já te trará muito entretenimento.

1 - acho que implementarei isso por flags no arquivo de banco de dados (está na lista)
2 - me pergunto se manter pacotes de versões diferentes faz sentido (considerando binarios e não deps)
3 - verificar a integridade do pacote é bom (está na lista)
4 - este é simples de implementar (está na list)
5 - meta-pacotes são facilmente criados por causa do estilo do banco de dados
6 - bem de certa forma já funciona (é só informar o db)
7 - mesmo sendo pacotes estaticos acredito que valha a pena implementar (está na lista)
8 - e só usar find e grep no banco de dados do repositorio
9, 11 e 12 - já faz (informado pelo arquivo do banco de dados)
10 - dependencias reversas?
13 - estou implementando isso no codigo local (não foi pro git ainda)
14 - status do sistema em relação aos pacotes?
15 - ou seja remoção de pacotes e de seus residuos, certo (sendo este o caso praticamente já funciona)




6. Re: Em um gerenciador de pacotes, o que é essencial? [RESOLVIDO]

Perfil removido
removido

(usa Nenhuma)

Enviado em 21/09/2017 - 18:50h

Mashn escreveu:
Ou seja, escreva um portage.

Tirando o lance de mostrar os arquivos advindos do pacote e as dependências reversas, o apk do Alpine faz tudo isso. Simples, eficiente, rápido e sucinto. Estou cada dia mais me engraçando com Alpine Linux.

Nem tudo que é ouro fulgura, nem todo vagante é vadio.
O velho que é forte perdura, raiz funda não sofre frio.
Das cinzas um fogo há de vir, das sombras a luz vai jorrar;
A espada há de, nova, luzir,
O sem corôa há de reinar



7. Re: Em um gerenciador de pacotes, o que é essencial?

Perfil removido
removido

(usa Nenhuma)

Enviado em 21/09/2017 - 18:55h

katsuke00 escreveu:
2 - me pergunto se manter pacotes de versões diferentes faz sentido (considerando binarios e não deps)

Faz, o usuário pode querer manter duas versões diferentes do mesmo programa.
10 - dependencias reversas?

Mostrar que pacotes dependem desse.
Exemplo:
musl-dev-X-rX
- pacote 1
- pacote 2
- pacote n
dependem desse pacote.
xbps do Void Linux implementa isso bem.
14 - status do sistema em relação aos pacotes?

Sim. Quantidade de pacotes instalados e tamanho ocupado.
apk do Alpine Linux o faz com maestria.

Nem tudo que é ouro fulgura, nem todo vagante é vadio.
O velho que é forte perdura, raiz funda não sofre frio.
Das cinzas um fogo há de vir, das sombras a luz vai jorrar;
A espada há de, nova, luzir,
O sem corôa há de reinar



8. Re: Em um gerenciador de pacotes, o que é essencial? [RESOLVIDO]

Perfil removido
removido

(usa Nenhuma)

Enviado em 21/09/2017 - 19:02h

uruk escreveu:
Faz, o usuário pode querer manter duas versões diferentes do mesmo programa.

Humm... se o usuario souber o que está fazendo o gerenciador de pacotes não impedira

uruk escreveu:
Mostrar que pacotes dependem desse.
Exemplo:
musl-dev-X-rX
- pacote 1
- pacote 2
- pacote n
dependem desse pacote.

A claro, acredito que valha a pena implementar, mesmo que por shell script, quanta mais info o usuario tiver melhor.

uruk escreveu:
Sim. Quantidade de pacotes instalados e tamanho ocupado.

Entendi, de certa forma já é possivel, considerando uma utilização real do mesmo, mas vou tentar automatizar o processo


9. Re: Em um gerenciador de pacotes, o que é essencial? [RESOLVIDO]

Perfil removido
removido

(usa Nenhuma)

Enviado em 21/09/2017 - 19:13h

katsuke00 escreveu:
Humm... se o usuario souber o que está fazendo o gerenciador de pacotes não impedira

Alguns impedem, não levando em consideração a versão do pacote, apenas o nome. Mas eu não sei como é o seu, ainda não testei.

Nem tudo que é ouro fulgura, nem todo vagante é vadio.
O velho que é forte perdura, raiz funda não sofre frio.
Das cinzas um fogo há de vir, das sombras a luz vai jorrar;
A espada há de, nova, luzir,
O sem corôa há de reinar



10. Re: Em um gerenciador de pacotes, o que é essencial? [RESOLVIDO]

Perfil removido
removido

(usa Nenhuma)

Enviado em 21/09/2017 - 19:59h

uruk escreveu:
Alguns impedem, não levando em consideração a versão do pacote, apenas o nome. Mas eu não sei como é o seu, ainda não testei.

o meu leva em consideração somente os arquivos do banco de dados, estes arquivos representam o pacote, assim sendo você pode modificar a forma como o gerenciador de pacotes vê um pacote editando esses arquivos. no momento seria dificil de testa-lo pois não está nada documentado, mas em breve farei a documentação



11. Re: Em um gerenciador de pacotes, o que é essencial?

Slackjeff
slackjeff

(usa Slackware)

Enviado em 21/09/2017 - 20:12h

Cara eu vou ser sincero, eu mau mau utilizo o slackpkg to sem atualizar nessa máquina o slackware desde agosto do ano passado, tenho uma outra máquina que está em "current" botei entre aspas porque tambem esta a uns 4 meses sem atualizar.

Por mim eu nem teria o slackpkg já que quando lança uma nova versão do Slack eu faço uma nova instalação, uso 99,5% o pkgtools.
Enfim, acho que para um gerenciador ser bom não teria que ter tanta frescura já que hoje em dia frescurite tá cheio, minha dica é essa... ser o vermelho ao meio de tantos amarelos! ser simples e inovador!



GPG KeyId: <0xD9EC33CD>

Meu Site:
http://slackjeff.emmilinux.com.br/








12. Re: Em um gerenciador de pacotes, o que é essencial?

Perfil removido
removido

(usa Nenhuma)

Enviado em 21/09/2017 - 20:17h

slackjeff escreveu:
Enfim, acho que para um gerenciador ser bom não teria que ter tanta frescura já que hoje em dia frescurite tá cheio, minha dica é essa, ser o vermelho ao meio de tantos amarelos!

Esse gerenciador de pacotes não tem frescuras, ele funciona de forma diferente, já que ele não sabe nada sobre pacotes ou repositorios, ele só lê os arquivos do banco de dados e apartir dos mesmos é tomada uma ação(decidida pelo usuario). Os processos não são chamados automaticamente, mesmo que sejá possivel por shell, essas duas caracteristicas garantem controle total do usuario.

* Além disso o codigo é ridiculamente simples e leve








Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts