Por que o mono-completo está completamente desatualizado em todas as versões do Debian?

6

O atual Debian 7 / Wheezy estável está sendo executado no meu servidor.
Com apt-get , a última versão mono que consigo é 2.10, que tem três anos.
Eu procurei o pacote mono-completo e até mesmo no instável Debian 9 / Sid, tudo que você obtém é a versão 3.2.8, quando a última versão estável é 3.6 e 3.8.1 está disponível.

Eu tenho duas perguntas:

  1. Existe uma maneira de obter uma versão pelo menos um pouco recente do mono com apt-get ? Seguir um guia para instalar o mono mais recente foi bastante desconfortável para mim e tenho medo do próximo vez que eu quero fazer uma atualização.

  2. Por que somente esses pacotes horrivelmente desatualizados estão disponíveis (mesmo em instável, futuras versões do Debian), quando houver novas e estáveis versões que estão anos à frente?

por user81756 23.08.2014 / 12:36

5 respostas

3

Is there a way to get an at least somewhat recent version of mono with apt-get? Following a guide to install the latest mono was rather uncomfortable to me and I dread the next time I want to do an update.

Existe uma infinidade de opções:

  • Você pode ir do Debian estável para o Debian testing / unstable
  • Você pode misturar distribuições, adicionar o repositório instável ao seu sources.lst e depois ter um sistema misto (stable / testing). Note que isto nem sempre é recomendado.
  • Por último, mas não menos importante, você pode, claro, fazer o download das fontes de uma compilação por conta própria

Why are only those horribly outdated packages available (even on unstable, future versions of Debian), when there are new, stable versions that are years ahead?

O Debian é conhecido por ser sólido como uma rocha, o que, por sua vez, significa não ter os pacotes atuais, e muito menos os novíssimos. Depois que um ramo é congelado, ele só recebe correções de erros.

    
por 23.08.2014 / 15:55
2

Desde fevereiro de 2015, o projeto mono suporta seus próprios repositórios do Apt, que fornecem os pacotes e dependências mais recentes. Siga estas etapas:

  1. Adicione a chave de assinatura do Projeto Mono GPG
  2. Adicione o repositório de pacotes
  3. Atualize seu cache de pacotes
  4. Instale mono-devel ou mono-complete

Execute os seguintes comandos como root:

apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 3FA7E0328081BFF6A14DA29AA6A19B38D3D831EF
echo "deb http://download.mono-project.com/repo/debian wheezy main" |    sudo tee /etc/apt/sources.list.d/mono-xamarin.list
apt-get update
apt-get install mono-complete

Veja esta página para mais detalhes técnicos: link

    
por 14.02.2015 / 01:33
1

Why is mono-complete completely outdated on all versions of Debian?

Isso é uma falácia. As versões do mono-completo disponíveis no Debian são:

oldstable     2.6.7-5.1 
old-sec       2.6.7-5.1 
stable        2.10.8.1-8 
testing       3.2.8+dfsg-7 
unstable      3.2.8+dfsg-7 

Então, 2.6.7, 2.10.8 e 3.2.8 são todas as versões do Mono, prontas para serem instaladas em todas as versões do Debian. Você está baseando suas declarações usando a versão estável como único ponto de referência, que sempre sacrificará recursos pela estabilidade; estável é sólido .

I looked up the mono-complete package and even on unstable Debian 9/Sid all you get is version 3.2.8, when the latest stable version is 3.6 and 3.8.1 is available.

Why are only those horribly outdated packages available (even on unstable, future versions of Debian), when there are new, stable versions that are years ahead?

O pacote estava em um processo de transição. Qualquer upload que não seja voltado para essa transição é altamente desencorajado:

This package will soon be part of the auto-mame transition. You might want to ensure that your package is ready for it. You can probably find supplementary information in the debian-release archives or in the corresponding release.debian.org bug.

Além disso, a equipe de mantenedores tem apenas dois jogadores strongs, e ambos têm mais pacotes para manter além do Mono. Mono sendo um pacote enorme, com toneladas de código é difícil de manter.

Is there a way to get an at least somewhat recent version of mono with apt-get?

Você pode adicionar os repositórios de teste e fixar o repositório para dar preferência a estável.

    
por 23.08.2014 / 18:07
1

Eu olhei as fontes do pacote Debian, e estou construindo a versão instável no wheezy enquanto escrevo.

Há duas boas notícias aqui.

  1. A versão instável do mono tinha dependências que parecem muito fáceis de satisfazer no wheezy, embora eu não tenha tentado construí-lo em um chroot. Eu só tinha que instalar um pacote para obtê-lo para construir. Isso é raro em pacotes principais no Linux. Muitas vezes é preciso navegar por meio de um labirinto de dependências. Se eu estivesse sendo pouco caridoso, poderia referem-se a ele como um ninho de ratos.
  2. Além disso, há precisamente um patch do Debian, embora seja um grande 'un'. Você pode deixá-lo completamente ou tentar rebase-lo. isto parece ser para construir em mipsel. Esta é a única informação lá.

    * [10016c2] Build libmono-2.0-1 and libmono-2.0-dev for mipsel
    Author: Iain Lane <[email protected]>
    

    Infelizmente, os empacotadores não podem ser incomodados em seguir as diretrizes de marcação de patch do Debian.

Portanto, é provável que reutilizar o pacote Debian para construir um pacote Debian da versão Mono mais recente não seria difícil. Claro, famosas últimas palavras ...

De qualquer forma, considere empacotá-lo você mesmo. Você pode até se tornar o novo mantenedor do Debian!

ADENDO: Se você quiser tentar construir um pacote Debian a partir da fonte mais recente, aqui está como você faz isso.

  1. Obtenha a fonte upstream mais recente. Desembale-o.
  2. Obtenha a fonte mais recente do Debian

    apt-get source mono-complete
    
  3. Copie o diretório Debian da fonte Debian para o autor fonte.
  4. Cd para debian/patches e comente o patch mencionado em %código%.
  5. Adicione uma nova entrada em debian/patches/series para a nova versão. Verificar se há menções do número do pacote em outros lugares. Em um bem projetado sistema de embalagem deve haver poucas menções codificadas.
  6. Executar debian/changelog
  7. Isso provavelmente falhará, reclamando sobre dependências ausentes. Instale essas dependências ausentes. Tente novamente. Se você tiver sucesso, você poderia tentar aplicar esse patch.
  8. Se 6 funcionar, tente instalar. Você precisará executar debuild -uc -us , provavelmente repetidamente. Então você vai precisar para tentar instalar dependências de tempo de execução ausentes. %código% funciona bem aqui, desde que os pacotes estejam disponíveis no seu sistema nas versões necessárias.

ADENDO 2: Então 3.2.8 construído com sucesso em wheezy. Uau, isso é um monte de pacotes. Embora eu desaprovo a tentativa infeliz do Sr. Icaza de portar os produtos de uma corporação perversa para liberar sistemas, devo parabenizá-los por sua impressionante engenharia de software.

    
por 23.08.2014 / 17:12
1
 Is there a way to get an at least somewhat recent version of mono with apt-get?

Resposta: Sim, você pode usar um repositório de terceiros, que eu uso, que tenha os pacotes mais recentes ou pelo menos posteriores do Mono.

Se você precisar do Mono no Debian e quiser instalá-lo e atualizá-lo com apt :

Eu tive um problema parecido, precisei do Monodevelop e do Mono nos meus sistemas Red Hat e Fedora, e encontrei esse cara que tem repos para estes, I think they're always the newest packages, but I know they are newer than come with the distributions normally. Eu usei por muitos meses no meu Fedora e nunca tive nenhum problemas (EDIT: estou testando no Debian Wheezy também, Mono e Monodevelop estão instalados).

Ele tem repositórios e suporta estes: CentOS, Debian, Fedora, Ubuntu e openSUSE.

Aqui está o link.

No site, escolha a sua distribuição e siga as instruções para adicionar os repositórios e instalar o mono.

Para o Debian 7.0, execute o seguinte como root:

apt-get install debian-keyring
echo 'deb http://download.opensuse.org/repositories/home:/tpokorra:/mono/Debian_7.0/ /' >> /etc/apt/sources.list.d/monodevelop-opt.list 
wget http://download.opensuse.org/repositories/home:tpokorra:mono/Debian_7.0/Release.key
apt-key add - < Release.key  
apt-get update
apt-get install mono-opt

Se você deseja instalar o Monodevelop, faça:

apt-get install monodevelop-opt
    
por 23.08.2014 / 22:27

Tags