On Wed, Apr 18, 2012 at 2:11 PM, Mrk3004 <[email protected]> wrote:
> Acho que você não compreendeu muito bem a minha perspectiva de difícil e
> trabalhoso.
>
>  Por que é fácil? Porque não importa a forma ou que linguagem vá fazer, as
> funções, comandos, variáveis que serão utilizadas na elaboração desse
> gerenciador, todo programador já está careca de saber, você não tem que
> criar nada de realmente novo, só precisa "organizar" os dados que já existem
> (em sua mente). É como um quarto bagunçado que você tem que arrumar, isso é
> trabalhoso, seria difícil se você tivesse que construir os móveis.

Bem longe disso. Um sistema de gerenciamento de pacotes de verdade
inclui muito mais, ainda mais se tu descer para o lado da
especificação das propriedades do pacote (ex: dependências, o que ele
oferece, conflitos).

Para fazer um sistema de gerenciamento completo tu tem que "construir"
os móveis ou amontoar hacks em cima de hacks.



>  Difícil mesmo foi começar o projeto Wine, criar o primeiro Kernel, os
> primeiros drivers para dispositivos multimídia, um tradutor de instruções de
> máquina (assembly).
>
> Criar um simples gerenciador de pacotes? Isso é fácil...

É mesmo?

Estamos falando de um gerenciamento de verdade ou o teu conceito é um
script que baixa uma duzia de tarballs, compila tudo, joga num outro
tarball e extrai em algum lugar? Ou um script que baixa uma lista de
pacotes e instala estes pacotes em uma determinada ordem?

A forma que tu subestima a complexidade e os requisitos dos sistemas
de gerenciamento de pacotes existentes (como o dpkg e o rpm) e a tua
"comparação de maçãs com laranjas" não encorajam uma discussão muito
produtiva...



>  Eu já comecei a fazer um sistema parecido com o gerenciamento de pacotes do
> debian, que funcionava em conjunto com meu ftp e um aplicativo escrito em
> python+gtk, mas ele precisava de um mantenedor que atualizasse os pacotes no
> ftp para que tudo se tornasse realmente melhor, porque eu tendo que
> atualizar tudo, acabava se tornando mais chato e demorado, pois não queria
> utilizar o velho padrão de dados de repositórios do Slackware, pois nesses
> seria difícil manter uma checagem de dependência segura e funcional. E
> também com o tempo fui percebendo que não precisava disso no Slackware, era
> só um vício que trazia de outras distribuições. Passei a utilizar algumas
> funções desse mesmo programa para em vez de gerenciar dependências,
> gerenciar versões, pois gosto de estar sempre atualizado com as ultimas libs
> disponível. Agora ele atua como um daemon que de tempos em tempos checa a
> url do site oficial do pacote e verifica se há alguma nova versão do mesmo,
> se houver eu sou avisado com uma notificação na área de trabalho e também um
> e-mail caso eu não esteja aqui, assim eu posso manualmente baixar e compilar
> a nova versão. Isso é útil para mim, porque uso meu sistema apenas para fins
> pessoais e tenho tempo para fazer essas compilações, mas pode ser totalmente
> inútil para quem usa para outros fins.

Ok, tu fez um script que lê um arquivo de configurações e faz o
download de vários arquivos para instalar. Isso realmente é simples.

E como o teu gerenciamento de pacotes lidava com múltiplas versões da
mesma lib (ex: libpng 1.2, libpng 1.4 e libpng 1.5)?

Pacotes conflitantes porque oferecem a mesma coisa (ex; pacotes A e B
oferecem a libab.so)?

Como tu sabia quais pacotes tinham bibliotecas com determinados
símbolos (é assim que os RPM modernos constroem as relações de
dependência)?

Que tal usar mútliplas arquiteturas, como i?86/x86_64/x32 ou os
zilhões de arm, como propõe a especificação do multilib no dpkg?

E a eterna questão da resolução de dependências, como que faz com o
pacote C que depende de B e B depende de A, mas A conflita com C?

A coisa vai muito além de um gerenciador de downloads glorificado.
Seria uma perda de tempo, mas tu poderia querer rebater cada uma das
questões que eu levantei; só não esquece que tu tem que ter uma visão
bem ampla na hora de fazer isso -- as pessoas por trás destes projetos
(dpkg, rpm) vem trabalhando há quase 20 anos nisso e muitos já
trabalhavam em similares de outros SOs antes, tem que ter um motivo
para eles não terem escrito o gerenciador de pacotes perfeito até
agora, não acha?



>  Eu acho que tudo vai do perfil do usuário, se você acha que estamos um
> passo atrás de outras distros, e prefere o gerenciador de pacotes dessas,
> você pode migrar. Eu faria isso se as dependências fosse um problema para
> mim. Linux não deixa de ser Linux, não vejo porque não migrar.

E qual o problema de alguém querer implementar um sistema de
gerenciamento de pacotes melhor, implementar no "core" da distro? Se
tu não gosta de um sistema destes, simplesmente não usa, continua
baixando as coisas com slackpkg e/ou wget+installpkg.

Esse pensamento de "se não tá satisfeito, muda" é meio retardado. Por
que não podemos tentar melhorar ao invés de ficar pulando de distro
para distro?

A propósito, eu acho no mínimo irônico que tu abra uma thread dizendo
que não consegue compilar um programa por algo que tu fez de errado na
hora que tu gerenciava a instalação dos teus programas e depois dizer
que as dependências não são problema para ti. ;)

-- 
GUS-BR - Grupo de Usuários de Slackware Brasil
http://www.slackwarebrasil.org/
http://groups.google.com/group/slack-users-br

Antes de perguntar:
http://www.istf.com.br/perguntas/

Para sair da lista envie um e-mail para:
[email protected]

Responder a