Warum ist Mono-Complete auf allen Debian-Versionen vollständig veraltet?


7

Das aktuelle stabile Debian 7 / Wheezy läuft auf meinem Server.
Mit apt-getder neuesten Mono-Version, die ich bekommen kann, ist 2.10, was drei Jahre alt ist.
Ich habe das Mono-Complete-Paket nachgeschlagen und selbst unter instabilem Debian 9 / Sid erhalten Sie nur Version 3.2.8, wenn die neueste stabile Version 3.6 und 3.8.1 verfügbar ist.

Ich habe zwei Fragen:

  1. Gibt es eine Möglichkeit, eine zumindest etwas neuere Version von Mono mit zu bekommen apt-get? Das Befolgen einer Anleitung zur Installation des neuesten Mono war für mich ziemlich unangenehm und ich fürchte, wenn ich das nächste Mal ein Update durchführen möchte.

  2. Warum sind nur diese schrecklich veralteten Pakete verfügbar (selbst auf instabilen, zukünftigen Versionen von Debian), wenn es neue, stabile Versionen gibt, die Jahre voraus sind?


1
Das Einreichen eines Wunschliste-Fehlers ist eine Option. Wenn Sie der Meinung sind, dass der Betreuer MIA ist, können Sie sich auch darüber beschweren, obwohl Debian normalerweise nur langsam etwas gegen solche Dinge unternimmt. Das Anpassen der vorhandenen Debian-Verpackung für die Verwendung mit neueren Versionen der Software ist wahrscheinlich ebenfalls eine Option, könnte jedoch einige Arbeit bedeuten. Ein wichtiges Problem ist, ob die vorhandenen Debian-Patches (falls vorhanden) zutreffen. Wenn dies nicht der Fall ist, müssen Sie sie neu gründen.
Faheem Mitha

2
3.2.8 ist erst ein Jahr alt (veröffentlicht am 19.02.2014 laut download.mono-project.com/sources/mono ), dann 3.4 (31.03.2014) und die neue Version wurde gerade angekündigt (2014- 08-12), also halte ich das wirklich nicht für so unvernünftig. Denken Sie daran, Debian-Packager sind normalerweise unbezahlte Freiwillige. Es ist möglich, beim Verpacken zu helfen, und ich bin sicher, dass sie sich über Ihre Hilfe freuen würden.
Faheem Mitha

Antworten:


4

Ab Februar 2015 unterstützt das Mono-Projekt eigene Apt-Repositorys, die die neuesten Pakete und Abhängigkeiten bereitstellen. Folge diesen Schritten:

  1. Fügen Sie den Mono Project GPG-Signaturschlüssel hinzu
  2. Fügen Sie das Paket-Repository hinzu
  3. Aktualisieren Sie Ihren Paket-Cache
  4. Installieren Sie mono-develodermono-complete

Führen Sie die folgenden Befehle als root aus:

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

Weitere technische Details finden Sie auf dieser Seite: http://www.mono-project.com/docs/getting-started/install/linux/


steckte immer noch @ Mono JIT compiler version 2.10.8.1 (Debian 2.10.8.1-8+deb7u1)auf meinem Keuchen !! Wie auch immer, um das zu beheben ?!
Enissay

3

Gibt es eine Möglichkeit, mit apt-get eine zumindest etwas neuere Version von Mono zu bekommen? Das Befolgen einer Anleitung zur Installation des neuesten Mono war für mich ziemlich unangenehm und ich fürchte, wenn ich das nächste Mal ein Update durchführen möchte.

Es gibt eine Vielzahl von Optionen:

  • Sie können von Debian Stable zu Debian Testing / Instable wechseln
  • Sie können Distributionen mischen, das instabile Repo zu Ihren Quellen hinzufügen und dann ein gemischtes System haben (stabil / testen). Beachten Sie, dass dies nicht immer empfohlen wird.
  • Zu guter Letzt können Sie die Quellen natürlich selbst herunterladen und kompilieren

Warum sind nur diese schrecklich veralteten Pakete verfügbar (selbst auf instabilen, zukünftigen Versionen von Debian), wenn es neue, stabile Versionen gibt, die Jahre voraus sind?

Debian ist dafür bekannt, absolut solide zu sein, was wiederum bedeutet, keine aktuellen Pakete zu haben, geschweige denn brandneue. Sobald ein Zweig eingefroren ist, erhält er nur Bugfixes.


Sie können die vorhandene Debian-Verpackung auch mit neueren Mono-Versionen verwenden. Dies erfordert möglicherweise ein erneutes Basieren von Debian-spezifischen Patches, was schmerzhaft sein kann. Das Auslassen der Patches ist vermutlich auch eine Option, obwohl ich nicht stark genug bin, um dies zu tun.
Faheem Mitha

1

Warum ist Mono-Complete auf allen Debian-Versionen vollständig veraltet?

Dies ist ein Irrtum. Die in Debian verfügbaren Versionen von Mono-Complete sind:

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 

2.6.7, 2.10.8 und 3.2.8 sind also alle Versionen von Mono, die in allen Versionen von Debian installiert werden können. Sie stützen Ihre Aussagen darauf, dass Sie die stabile Version als einzigen Bezugspunkt verwenden, wodurch Funktionen immer für die Stabilität geopfert werden. Stall ist steinhart .


Ich habe das Mono-Complete-Paket nachgeschlagen und selbst unter instabilem Debian 9 / Sid erhalten Sie nur Version 3.2.8, wenn die neueste stabile Version 3.6 und 3.8.1 verfügbar ist.

Warum sind nur diese schrecklich veralteten Pakete verfügbar (selbst auf instabilen, zukünftigen Versionen von Debian), wenn es neue, stabile Versionen gibt, die Jahre voraus sind?

Das Paket befand sich in einem Übergangsprozess. Von Uploads, die nicht auf diesen Übergang ausgerichtet sind, wird dringend abgeraten:

Dieses Paket wird bald Teil des Auto-Mame-Übergangs sein. Möglicherweise möchten Sie sicherstellen, dass Ihr Paket dafür bereit ist. Weitere Informationen finden Sie wahrscheinlich in den Debian-Release-Archiven oder im entsprechenden release.debian.org-Bug.

Außerdem ist das Betreuerteam nur aus zwei Personen zusammen, und beide haben neben Mono mehr Pakete zu warten . Mono ist ein riesiges Paket mit Tonnen von Code, das schwer zu warten ist.


Gibt es eine Möglichkeit, mit apt-get eine zumindest etwas neuere Version von Mono zu bekommen?

Sie können die Test-Repositorys hinzufügen und das Repository anheften, um Stable zu bevorzugen.


1
"Sie können die Test-Repositorys hinzufügen und das Repository anheften, um Stable zu bevorzugen." Ich bin mir nicht sicher, was dies bedeutet, aber eine direkte Installation von Paketen aus Tests auf Stable ist im Allgemeinen keine gute Idee.
Faheem Mitha

1

Ich habe mir die Quellen des Debian-Pakets angesehen und baue die instabile Version beim Schreiben auf Wheezy auf.

Hier gibt es zwei gute Neuigkeiten.

  1. Die instabile Version von Mono hatte Abhängigkeiten, die sehr leicht von Keuchen zu befriedigen scheinen, obwohl ich nicht versucht habe, sie in einer Chroot zu bauen. Ich musste nur ein Paket installieren, um es zu erstellen. Dies ist in großen Paketen unter Linux selten. Oft muss man sich durch ein Labyrinth von Abhängigkeiten bewegen. Wenn ich gemeinnützig wäre, könnte ich es als Rattennest bezeichnen.
  2. Außerdem gibt es genau einen Debian-Patch, obwohl es sich um einen großen Un handelt. Sie können es entweder ganz weglassen oder versuchen, es neu zu gründen. Es scheint für das Bauen auf Mipsel zu sein. Dies ist die einzige Information dort.

    * [10016c2] Build libmono-2.0-1 and libmono-2.0-dev for mipsel
    Author: Iain Lane <laney@debian.org>
    

    Leider können sich die Packager nicht die Mühe machen, die Debian Patch Tagging Guidelines zu befolgen.

Daher ist es wahrscheinlich nicht schwierig, die Debian-Verpackung neu zu definieren, um ein Debian-Paket der neuesten Mono-Version zu erstellen. Natürlich berühmte letzte Worte ...

Wie auch immer, erwägen Sie, es selbst zu verpacken. Sie könnten sogar der neue Debian-Betreuer werden!

ADDENDUM: Wenn Sie versuchen möchten, ein Debian-Paket aus der neuesten Quelle zu erstellen, gehen Sie wie folgt vor.

  1. Holen Sie sich die neueste Upstream-Quelle. Pack es aus.
  2. Holen Sie sich die neueste Debian-Quelle

    apt-get source mono-complete
    
  3. Kopieren Sie das Debian-Verzeichnis von der Debian-Quelle in die Upstream-Quelle.
  4. CD zu debian/patchesund kommentiere den Patch aus debian/patches/series.
  5. Fügen Sie einen neuen Eintrag debian/changelogfür die neue Version hinzu. Suchen Sie an anderen Stellen nach Erwähnungen der Paketnummer. In einem gut gestalteten Verpackungssystem sollten nur wenige fest codierte Erwähnungen vorhanden sein.
  6. Lauf debuild -uc -us
  7. Dies wird wahrscheinlich fehlschlagen und sich über fehlende Abhängigkeiten beschweren. Installieren Sie diese fehlenden Abhängigkeiten. Versuch es noch einmal. Wenn Sie erfolgreich sind, können Sie versuchen, diesen Patch anzuwenden.
  8. Wenn 6 funktioniert, versuchen Sie zu installieren. Sie müssen dpkg i list_of_packages_you_wantwahrscheinlich wiederholt ausführen . Dann müssen Sie versuchen, fehlende Laufzeitabhängigkeiten zu installieren. apt-get install funktioniert hier gut, vorausgesetzt, die Pakete sind auf Ihrem System in den erforderlichen Versionen verfügbar.

ADDENDUM 2: Also 3.2.8 erfolgreich auf Keuchen aufgebaut. Wow, das sind viele Pakete. Obwohl ich persönlich den unglücklichen anhaltenden Versuch von Herrn Icaza missbillige, die Produkte eines bösen proprietären Unternehmens auf freie Systeme zu portieren, sollte ich gratulieren, wo sie auf ein beeindruckendes Stück Software-Engineering zurückzuführen sind.


1
Dank einer Anleitung konnte ich bereits mit dem neuesten Git-Snapshot (3.8.1) erstellen und ausführen. Wenn ich bessere Kenntnisse in Linux-Magie hätte, würde ich gerne helfen, anderen die neuesten Mono-Versionen zur Verfügung zu stellen ... Link zur Anleitung (funktioniert auf Debian): lovsesome.com.com/20130719-compiling-mono-3-in-ubuntu
user81756

1
@ user81756 Sie könnten mehr über Debian erfahren. Es würde wahrscheinlich nicht zu sehr weh tun.
Faheem Mitha

1
Wie bin ich dazu gekommen?
user81756

1
@ user81756 das Befolgen der obigen Anweisungen wäre ein Anfang.
Faheem Mitha

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

Antwort: Ja, Sie können ein von mir verwendetes Repo eines Drittanbieters verwenden, das die neuesten oder zumindest späteren Mono-Pakete enthält.

Wenn Sie Mono auf Ihrem Debian benötigen und es mit apt installieren und aktualisieren möchten :

Ich hatte ein ähnliches Problem, brauchte Monodevelop und Mono auf meinen Red Hat- und Fedora-Systemen, und ich fand diesen Typen, der Repos für diese hat. I think they're always the newest packages, but I know they are newer than come with the distributions normally.Ich habe es viele Monate auf meinem Fedora verwendet und hatte nie Probleme (EDIT: I ' Wenn ich es auch auf Debian Wheezy teste, sind Mono und Monodevelop installiert.

Er hat Repositories für diese und unterstützt diese: CentOS, Debian, Fedora, Ubuntu und openSUSE.

Hier ist der Link.

Wählen Sie auf der Site Ihre Distribution aus und befolgen Sie die Anweisungen zum Hinzufügen der Repos und zum Installieren von Mono.

Führen Sie für Debian 7.0 Folgendes als root aus:

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

Wenn Sie Monodevelop installieren möchten, gehen Sie wie folgt vor:

apt-get install monodevelop-opt
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.