PackageKit in Debian verfügbar!

Lange hat es gedauert, aber jetzt ist es geschafft: PackageKit ist in den Quellen von Debian Sid!

PackageKit ist eine Abstraktionsschicht für das distributionseigene Paketmanagement. Es erlaubt z.B. die Entwicklung von Paketmanager-Oberflächen für Fedora, openSUSE und Debian/Ubuntu, ohne geau zu wissen, welches Paketmanagement verwendet wird. So hat man auf jeder Distribution die gleiche GUI zu Verfügung und muss sich kaum umstellen. Zudem hat das weitere Vorteile,  z.B. können Anwendungen im Falle eines Crashes automatisch Debuginformationen nachinstallieren, Multimedia-Player fehlende Codecs automatisch nachrüsten oder aber Anwendungen selbstständig PlugIns nachinstallieren. Außerdem bietet PackageKit ein verbessertes Update-Management und viele weitere Funktionen. PK ist mit seiner Oberfläche KPackageKit Standard in Kubuntu.

Die Paketierung für Debian, welche auch in Ubuntu Natty zu finden sein wird, wurde von mir erledigt. Die wirklich wichtige Arbeit haben aber Richard Hughes und Daniel Nicoletti erledigt. Daniel hat einen Weg gefunden, Debconf in PackageKit zu nutzen und hat diesen auch gleich in KPackageKit implementiert, während Richard Hughes, der Erfinder von PK, die letzten Codeteile geschrieben hat, um dem Kommandozeilentool “pkcon” und GNOME-PackageKit Debconf beizubrigen.

Für die, die jetzt denken “Was zur Hölle ist Debconf, und warum ist das so wichtig?”, hier eine kurze Erklärung: Debconf stellt die (meistens grafischen) Konfigurationsdialoge von Debian-Paketen zu Verfügung. Damit lassen sich z.B. bestimmte Einstellungen direkt setzen, wie z.B. Tastaturlayouts etc. PackageKit hat nun jedoch die Designentscheidung getroffen, dass eine Installation, sobald sie einmal angestoßen ist, auf keinen Fall mehr Fragen an den Nutzer stellen darf und völlig unbeaufsichtigt laufen muss. Alle Fragen müssen vor der Installation gestellt werden, während Debconf das jedoch während der Installation tut. (Und es für Debconf auch technisch unmöglich ist, das vorher zu tun)

Aus diesem Grund haben viele Debian-Entwickler PackageKit als “crap” und “broken by design” abgetan und es gab viele teils sehr emotionale Diskussionen vor allem über die “keine-Fragen-während-der-Installation-Regel”. (auch als “Hughsie’s Law” bekannt) Das ging soweit, dass einige wichtige Leute sich komplett gegen PackageKit sperrten und den Prozess, das Paket in Debian aufzunehmen, blockierten. Inzwischen benutzt PK für Debconf einen Workaround,  PK funktioniert nun also mit absolut allen Debian-Paketen, wodurch die PK-Gegner weniger Argumente hatten 😛

Jetzt ist das Paket jedoch “durch”  und Michael Vogt (APT-Entwickler) höchstselbst hat sein okay dazu gegeben. (Michael entwickelt auch das APTd-basierte Ubuntu-Software-Center)

Der Maintainer von SessionInstaller, einer von Debian produzierten Python-basierten Konkurrenzanwendung zu PackageKit hat auch bereits mitgeteilt, das Projekt zu unterstützen bzw. zu helfen die Projekte aufeinander abzustimmen.

Ich bin froh, dass jetzt auch Debian PackageKit hat, was den größten Vorteil von PK, seine Distributionsunabhängigkeit, nun erst richtig zu Geltung bringt. Vielleicht wird sogar das Ubuntu-Software-Center irgendwann auf PackageKit aufbauen. (Es gibt Überlegungen in diese Richtung. Damit könnte das USC von allen anderen Distributionen ebenfalls verwendet werden.)

Danke an alle, die es möglich gemacht haben, PK in Debian zu bringen!

Um allen Gerüchten vorzubeugen: PackageKit ist in den Debian-Repositories, es wird aber keine Standardkomponente einer Debianinstallation sein und auch nicht in Squeeze enthalten sein. (wegen dem aktuellen Freeze)

12 thoughts on “PackageKit in Debian verfügbar!

  1. Eine gute Nachricht. Ich bin auch der Meinung, dass alle Fragen an den Nutzer vor der Installation stattfinden sollten, vorallem, wenn man ein System neu aufsetzt – dann will man der Installation ja nicht unbedingt zuschauen.
    Ein einheitliches Paketformat ist damit immer noch nicht erreicht, aber da gibt es ja auch wieder zwei Seiten.

    1. Ja, noch fehlt es… Aber natürlich ist das schon in Arbeit, ich werde demnächst mal fragen, ob jemand Lust hat, das Paket als Co-Maintainer zu betreuen. (Idealerweise das KDE/Qt-Team und das GNOME-Team für beide Frontends)

      1. Ich hab mir KPackagekit mal angesehen aber davon gibt es ja noch nicht mal ne fertige .deb Datei.
        Keine Ahnung wie tief du in der Sache mit drin hängst aber es wäre cool wenn es diesbezüglich in Zukunft etwas fertiges gibt.
        Andererseits hätte ich auch keine Probleme selbst eine zu erstellen nur muss ich mich dann ein bisschen mit dem Aufbau solcher . deb Packages befassen.

        1. Hmm… Es gibt mindestens 2 PPAs mit KPackageKit drin, in Kubuntu ist KPK standard…
          Wenn du bei der Integration helfen möchtest, kannst du nich gerne bei mir per mail melden. (Ganz einfach über Launchpad, Ximion suchen)

  2. Danke für den informativen Artikel! Interessant auch mal ein bisschen mehr über den Background und die technischen Finessen zu erfahren. Weiter so!

  3. Die grafischen Oberflächen sind aber noch nicht dabei, oder?
    ..trotzdem, sehr schön. 🙂
    u. wenn es keine (Domino)abhängigkeiten verlangt, kann man es ja trotzdem unter Squeeze installieren – oder?

    1. Das sehe ich anders. Stell dir vor, du wärst Entwickler, z.B von Totem, und möchtest implementieren, das fehlende Codecs automatisch über die Paketverwaltung installiert werden können. Ohne PackageKit müsstest du das Feature für jede Distribution einzeln implementieren, oder die Distributoren müssten das entsprechend patchen. Das erzeugt nur unnötigen Aufwand und schreckt ab, für Linux zu entwickeln, mit PackageKit hast du eine API die auf jeder Distribution funktioniert, jetzt eben auch auf Debian.

      Apropos: Benutzt Debian eigentlich immer noch sein eigenes Menüsystem oder kann man mittlerweile .desktop-Dateien aus dem Freedesktop.org-Standard benutzen? Vielfalt ist ja schön, aber nur, wenn es reale Vorteile bringt, welche eine Fragmentierung rechtfertigen.

      1. Die Standard-XDG-Desktop dateien funktionieren problemlos mit KDE und GNOME und Xfce und im grunde jedem modernen Desktop. Mit exotischen alten Desktops kann es Probleme geben, wenn man nicht Debians Menüsystem benutzt. (Die meisten Pakete verwenden aber inzwischen .desktop-Dateien direkt)

  4. Wie ist das Problem mit den Fragen denn jetzt geklärt? Werden während der Installation Fragen an den Benutzer gestellt?

    1. Ja, ist es damit. Richard hat die Struktur dafür geschaffen und den GNOME-Teil implementiert, ich habe noch Unterstützung für KDE hinzugefügt, womit PackageKit KDE-Debconf Unerstützung sogar noch vor APT hat 😀 Details sind oben im Artikel verlinkt, unter anderem gibt’s auch einen Link zum ausführlichen Bericht von Richard Hughes dazu.

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.