Plugins mit altem Makefile - Sammlung

  • Warum werden (gerade im Linux Umfeld) bestehende Dinge immer so extrem verteidigt? Da erwähnt man mal beiläufig das man es toll fände wenn Devs auch etwas die Bedürfnisse von Distributionen berücksichtigen und schon gehts extrem auf Abwehr.


    Aber da habe ich mich schon dran gewöhnt, einerseits haben grosse Projekte (z.B. ffmepg) keine Hemmungen ständig an der API rumzufummeln so das man für alle Programme die sie nutzen ständig Patches benötigt (und der ganze Kram damit relativ unbrauchbar wird). Aber andererseits reicht schon die Erwähnung einer Idee die evtl. von bestehenden Standarts abweicht um Kämpfe anzuzetteln ;)



    Wenn ich das nächste mal Spaß haben will bringe ich mal das zur Diskusion: http://www.vdr-wiki.de/wiki/index.php/Vdr-opticaldrive *)
    Mal sehen wie lange es dauert bis ich für den Vorschlag gesteinigt werde ;) Denn vermutlich ist schon die blosse Idee sowas von böse, weil hier müssen sich mehere Autohren ja auf was gemeinsames einigen was den Usern und den Distributionen das Leben vereinfachen würde. Und sowas geht nun wirklich nicht.


    Manchmal wundere ich mich nur...


    dieses distributionszentrierte denken geht mir ja schon lange auf den keks. im vdr-umfeld ganz besonders.


    Es geht hier ja noch nicht mal um Distributionen. Es geht darum das Plugins ALLE Teil des VDR sind. Und es geht draum die alle sauber unter einem Hut zu bringen.


    Klassisches Beispiel sind die Senderlogos, jedes Plugin für sich macht das korrekt. Aber was da in der Gesamtheit bei rauskommt ist einfach nur albern.
    Gut, nachdem das Problem mittlerweile einige Jahre besteht gibt es mittlerweile erste Ansätze das sich da evtl. mal die nächsten jahre was ändert. Juhuuu ;)
    Bleiben nur noch die 20 anderen (ähnlich gelagerten) Baustellen.


    Und das geht jetzt auch nicht gegen Einzelpersonen, sondern irgendwie scheint es sich so ganz natürlich zu ergeben das z.B. jedes neues Plugin garantiert nen Logoschema verwendet das bissher noch kein anderes Plugin verwendet hat ;)
    Nu könnte man z.B. das Namensschema per Makefilevariable vorgeben. Aber wer wagt denn heutzutage noch sowas vorzuschlagen? ;)


    cu


    *) BTW: Ich behaupte nicht das das die beste Idee ist, aber es ist bissher die einzige.

  • Da erwähnt man mal beiläufig das man es toll fände wenn Devs auch etwas die Bedürfnisse von Distributionen berücksichtigen und schon gehts extrem auf Abwehr.

    wieviele distros gibt es? gerade im linux-umfeld?


    ich plaediere dafuer, sauber zu entwickeln, aber auch dafuer, dass sich distros an vorgaben halten. was hat das bitte mit abwehr zu tun.


    wenn sowohl entwickler als auch distros/paketierer sauber arbeiten, bedarf es so einer aussage (pluginentwickler sollen den paketierern entgegen kommen) nicht.


    wie gesagt. ich finde deinen denkansatz falsch.
    entwickler sollen so entwickeln, dass das produkt moeglichst allgemein einsetzbar ist. aber sie sollen dabei keinen gedanken an eine spez. distro verschwenden, da genau diese allgemeine einsetzbarkeit dadurch gefaehrdet ist.


    /wastl


    PS: auf die aenderungen des postings konnte ich noch nicht eingehen, da ich da auf einem soft-keyboard tippe (und das dauert ...)
    ad logos: kann man anders, eleganter, ... machen, durchaus.
    ist aber in keiner weise eine distro- bzw. paketierer-diskussion. aus oben genannten gruenden.
    das es da verbesserungen bedarf, steht ausser diskussion. sicher aber nicht deswegen, um einen paketersteller gleucklich zu machen ...

  • wie gesagt. ich finde deinen denkansatz falsch.
    entwickler sollen so entwickeln, dass das produkt moeglichst allgemein einsetzbar ist. aber sie sollen dabei keinen gedanken an eine spez. distro verschwenden, da genau diese allgemeine einsetzbarkeit dadurch gefaehrdet ist.


    Nur erstmal noch mal schnell dazu.


    Mit distro freundlich meine ich nicht Debian, Ubuntu, yaVDR, easyVDR oder FHS oder ähnliches.


    Es geht schlicht und einfach um den User der den VDR installiert (wenn er es mit make install macht ist er selber die Distribution). Also...
    Es ist nicht Vorschrift das sich alle Plugins die Logos verwenden auf die Makefilevariable LOGOFORMAT regaieren, aber es wäre höflich. Weil dann könnte der User im globalen Pluginconfigfile LOGOFORMAT=jpg setzen (wenn er ein jpg Logopack hat) und könnte dann per make install den Kram installieren ohne in jedem Plugin rumpatchen zu müssen.
    Ferner könnten Distributionen in den Paketbauregeln LOGOFORMAT=jpg setzen (wenn sie ein Logopacket mit jpg mitliefern) ohne für jedes Plugin nen Patch zu pflegen.


    Ist jetzt nur nen Beispiel (nicht auf die Implementation festnageln ;) ) das zeigt was ich mit "höflickeit" meine. Und mir kann keiner erzählen das die Welt untergeht wenn Devs auf diese Art höflich sind.


    cu

  • Moin!


    Hui, was für eine Aufregung... :)


    Es geht doch nur darum, dass ein Plugin-Autor ein paar Konfigurationsvariablen zur Verfügung stellt, damit Distributoren es etwas leichter haben.
    Mal abgesehen davon, dass es sowieso vernünftig ist, hat das überhaupt nichts damit zu tun, dass man als Autor irgendwelchen "Forderungen" von Distributoren ausgesetzt ist.
    Das ist einfach nur die angesprochene Höflichkeit, die alle in einer Community gegenseitig aufbringen sollten. Denn ohne den gegenseitigen Respekt ist eine Community einfach nur kacke und es bringt keinen Spaß, sich dort aufzuhalten.
    Außerdem sind fest verdrahtete, distributionsspezifische Konstanten schlechter Stil (ich nehme mich nicht davon aus, auch sowas zu tun, nehme aber gerne Patches entgegen und integriere sie vernünftig).


    Wenn ich merke, dass ein Plugin irgendwas fest verdrahtet hat, was nicht in meine Distribution passt, dann kann ich das zwar irgendwie patchen, aber sinnvoller ist es doch, einen Patch zu entwickeln, der Upstream aufgenommen werden kann, so dass der Autor nichts an seiner Konfiguration ändern muss (sein Wert als Default), aber ein Distributor einfach eine Variable an make übergeben kann und alle sind glücklich.


    Das ist doch nicht weiter schlimm...


    Ich schlage vor, wir kommen wieder zurück zum Thema, wir können uns aber auch gerne in einem anderen Thread weiter darüber austauschen, am besten mit einem konkreten Beispiel eines "doofen" Plugins.


    Lars.

  • Um davon mal ab zu lenken hätte ich auch noch eine blöde Frage ;)
    Da ich noch keinen neuen VDR gebaut habe, konnte ich dies auch noch nicht ausprobieren. Sind die neuen Makefiles der Plugins abwärtskompatibel?

  • Die Frages ist in welchem Kontext. Es dürfte helfen, wenn man vdr-dev mit einer entsprechenden /usr/lib/pkgconfig/vdr.pc ausstattet bzw. diese lokal entsprechend ablegt: [0.5-stable] und die neuen Makefiles


    Dann bleibt nur noch das Problem mit /usr/include/vdr/libsi (statt dem vorgesehenen /usr/include/libsi) ([ANNOUNCE] VDR developer version 1.7.36)

    yaVDR-Dokumentation (Ceterum censeo enchiridia esse lectitanda.)

    Einmal editiert, zuletzt von seahawk1986 ()

  • hotzenplotz5


    bitte das naechste mal mit sinnerfassendem lesen probieren!


    ich trete ja dafuer ein, programme sauber zu erstellen (inkl.allgemeiner konfig., install., ...)
    der antrieb dahinter kann aber nicht irgendeine distro/paketersteller sein, sondern eine weiter gefasste, ueber einzelne distros hinausgehende einstellung beim entwickler.


    ich vertrete hier in keiner weise irgendwelche festverdrahtungen - im gegenteil. wer mich kennt (du offenbar nicht) weiss auch, dass ich anregungen / aenderungen, wenn sie schoen dazupassen, gerne uebernehme und fuer anregungen auch dankbar bin. gerade Keine_Ahnung sticht immer wieder durch sehr gute ideen hervor.

  • Zitat


    Keine_Ahnung sticht immer wieder durch sehr gute ideen hervor.


    ganz deiner meinung !


    Zitat


    wer mich kennt (du offenbar nicht) weiss auch, dass ich anregungen / aenderungen, wenn sie schoen dazupassen, gerne uebernehme und fuer anregungen auch dankbar bin


    ist doch gut. daher hab ich ja auch "bescheuerte diskussion" geschrieben.


    Zitat


    der antrieb dahinter kann aber nicht irgendeine distro/paketersteller sein, sondern eine weiter gefasste, ueber einzelne distros hinausgehende einstellung beim entwickler.


    ganz genau das widerspricht sich ja nicht. wenn dann aber ein paketbauer kommt (egal welche distri) und das gerne "weiter gefasst" hätte. dann wird das von diversen leuten im portal immer aufs neue als sonderwunsch der distri reduziert. das muss nichtmal der plugin/software entwickler sein.
    das ist anstrengend und dumm.

  • der antrieb dahinter kann aber nicht irgendeine distro/paketersteller sein, sondern eine weiter gefasste, ueber einzelne distros hinausgehende einstellung beim entwickler.


    War das wirklich so gemeint?


    Auf einzelne Distributionen Rücksicht nehmen finde ich auch unsinnig. Die Pluginentwickler kommen den meisten mit den neuen Makefiles schon genug entgegen (vor allem wenn dann für Zusatzdateien noch ein zusätzliches Install-Target erstellt wird).


    Und weil immer mal wieder die Kanallogos angesprochen werden. Für Graphlcd habe ich eine channels.alias erstellt, die die Logonamen genauso erwartet, wie Skinelchi und Skinenigmang das tun. Wenn sich da jetzt auch noch Skinnopacity mit einreiht, ist das alles kein Problem mehr.

  • ich bezog mich in meiner kritik ja auch auf leute, die nur ihre distro im auge haben und darueber hinaus nichts sehen (wollen). und die gibt es leider. gerade im vdr-bereich. und _das_ ist fuer mich kleingeisterei.


    dass keine_ahnung im prinzip diesselbe auffassung vertritt wie ich und mit seinem posting eigentlich nicht distrospezifika, sondern eine allgemein gehaltene entwicklung gemeint hat, hat er oben ja korrigiert.

  • Ich hätte da gerne mal ein Problem mit dem neuen Makefile des live-Plugins und Ubuntu/Launchpad:
    https://github.com/CReimer/vdr…master/pages/Makefile#L19


    Es geht um die Ermittlung der GIT_REV, die mit Arch Linux beim lokalen Bauen interessanterweise ohne Probleme definiert wird (-DGIT_REV="311b2ee" PKGBUILD: https://github.com/seahawk1986…plugins/vdr-live/PKGBUILD), unter Ubuntu bzw. mit Launchpad beim dpkg-buildpackage aber kläglich scheitert, wenn man sich das Quellpaket https://github.com/CReimer/vdr…ive/archive/master.taz.gz heruntergeladen hat und daraus dann das Paket bauen will, weil git dann einfach kein Git Repo vorfindet.


    Das dürfte in der jetzigen Form vermutlich öfters Probleme machen, wenn jemand keinen lokalen Clone des Repos nutzt, sondern einfach so das Quellpaket herunterlädt.

    yaVDR-Dokumentation (Ceterum censeo enchiridia esse lectitanda.)

  • Ich denke mal dpkg-buildpackage setzt das global.


    Bei make gilt global immer weniger als wenn es direkt hinter das make geschrieben wird. Die globalen Variablen werden auch nur eingelesen, wenn im Makefile ?= steht. Die hinter dem make wird immer forciert.


    BTW: Mir ist gerade erst aufgefallen, dass du mein Repo geforkt hast :D

  • Mein Problem ist folgendes - wenn GIT_REV nicht gesetzt wurde, baut er libpages.a nicht und damit schlägt der Paketbau fehl: https://launchpadlibrarian.net…cise_FAILEDTOBUILD.txt.gz


    Also müsste man entweder GIT_REV vorher schon mal definieren oder einen Fallback einbauen:

    Code
    DEFINES ?= -DPLUGIN_NAME_I18N='"$(PLUGIN)"' -DTNTVERSION=$(TNTVERSION) $(if $(GIT_REV), -DGIT_REV='"$(GIT_REV)"', -DGIT_REV='"dummy"')

    yaVDR-Dokumentation (Ceterum censeo enchiridia esse lectitanda.)

  • Warte. Du vergleichst da zwei verschiedene Dinge. Das PKGBUILD kompiliert noch das alte Plugin mit dem alten Makefile.


    Dann bin ich jetzt ganz durcheinander... Ich dachte du hättest das hier extra mit den neuen Makefiles aufgesetzt: https://github.com/CReimer/vdr-plugin-live
    Die weichen ja auch von dem Git-Stand auf vdr-developer.org ab und laut Commits sind die Makefiles für VDR 1.7.36

    yaVDR-Dokumentation (Ceterum censeo enchiridia esse lectitanda.)

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!