Irritierende Meldung beim Versuch, ein abhängiges Paket zu installieren

  • Mir ist gerade beim Versuch einer Plugininstallation eine etwas verwirrende Fehlermeldung untergekommen:


    Benötigt das Paket „bli.bla.blub“ in Version „3.0.0“ oder höher, es ist aber nur Version „3.1.0“ installiert.


    Es stellte sich folgendes heraus:


    Paket 1 hat den Bezeichner net.norse.wcf.ExamplePackage und wird in Version 3.1 installiert.


    Paket 2 erfordert irrtümlicherweise das Vorhandensein von net.norse.wcf.examplepackage mindestens in Version 3.0.


    Beim Versuch, Paket 2 zu installieren, wird trotz der unterschiedlichen Groß/Kleinschreibung der Paketbezeichner die Existenz von Paket 1 zwar erkannt (was m. E. schon nicht sein dürfte), aber zu allem Überfluss die falsche Version ermittelt, so dass es zur eingangs erwähnten verwirrenden Fehlermeldung kommt.


    Zwei Beispielpakete zum Nachstellen gibt es hier.


    Was sagt Ihr, ist das ein Fehler im WSC?





    Gruß norse

    Zugang zu meinen Arbeiten und dem dazugehörigen Support bekommt Ihr bei Interesse hier.

    • Official Post

    Hallo,


    aus Kompatibilitätsgründen kann man Paketbezeichner weder sinnvoll voll case-insensitive noch voll case-sensitive machen. Man könnte möglicherweise die Fehlermeldung an der Stelle verbessern. Wenn man aber berücksichtigt, dass deine Meldung die erste zu dieser Problematik in den letzten 13 Jahren ist, dann ist eine derartige Änderung am Paketsystem im Sinne der Stabilität nicht überaus attraktiv und die Zeit an anderer Stelle besser investiert.

  • aus Kompatibilitätsgründen kann man Paketbezeichner weder sinnvoll voll case-insensitive noch voll case-sensitive machen.

    Warum kann man das nicht voll case-insensitive machen? Gibt es hier tatsächlich ein bekanntes Paket, das dem im Wege steht?

    • Official Post

    Hallo,

    Warum kann man das nicht voll case-insensitive machen? Gibt es hier tatsächlich ein bekanntes Paket, das dem im Wege steht?

    sinnvollerweise wird im case-insensitiven Fall komplett mit Bezeichnern in Kleinbuchstaben gearbeitet, damit nicht bei jedem Vergleich die beiden Werte in Kleinbuchstaben umgewandelt werden müssen. Warum ein konsequentes Umwandeln von Bezeichnern in Kleinbuchstaben im Sinne der Kompatibilität eine blöde Idee ist, ist denke ich klar.

  • Warum ein konsequentes Umwandeln von Bezeichnern in Kleinbuchstaben im Sinne der Kompatibilität eine blöde Idee ist, ist denke ich klar.

    Ehrlich gesagt: Nein.


    Wenn es in 13 Jahren noch niemand geschafft hat, über diesen Bug zu stolpern, dann wäre es ja, de facto, egal, ob der Bezeichner case-sensitive oder case-insensitive verglichen wird.


    Die Bezeichner sind doch auch Domains rückwärts. Da könnte man sie doch auch so behandeln (woltlab.com ist dasselbe wie WoltLab.com für den Browser).



    (inb4 dieser Post ist das Outing als kompletter Noob. RIP.)

    No, you clearly don't know who you're talking to, so let me clue you in. I am not in danger, Skyler. I am the danger. A guy opens his door and gets shot and you think that of me? No. I am the one who knocks!

  • Warum ein konsequentes Umwandeln von Bezeichnern in Kleinbuchstaben im Sinne der Kompatibilität eine blöde Idee ist, ist denke ich klar.

    Prinzipiell musst nur der Bezeichner in der Datenbank „korrigiert“ werden und dann bei der Kommunikation mit den Updateservern und bei der Installation. Hier sollte es ausreichen den Identifier beim Auslesen der XML-Daten zu konvertieren. Alles andere läuft dann ja wie gehabt.