Beginner plugin development for OE2.2

  • Hi folks,


    I am interested in helping to update any plugins I might need for my DM7080. I have searched around but not found much information about plugin development, especially for OE2.2.


    The first plugin I am interested in is the IPTVDream plugin, so my wife can watch her Kartina subscription on the DM7080.
    m0rphU has already pointed out some things that need changing and how they might be fixed, so I would like to have a go at fixing it.



    I am familiar with Python but not at all familiar with the development process for Dreambox.


    Do I need to build OE2.2 myself if I am only doing plugin development?
    If so, can anyone point me to any documentation about how to do this?


    How do I create a .deb file if the plugin uses the old package format?


    I will be starting from a fresh Ubuntu installation, what tools, etc do I need to setup the development toolchain?


    Thanks for any help,


    Charles

    Receivers: DM7080 HD (Astra 28.2E)

  • It seems that I am the only one to respond to your questions... But well, let's continue the fun :grinning_squinting_face:


    First of all, you are right, there is no real documentation for enigma2 plugin development and even less for the changes in OE 2.2 :frowning_face:
    But something that you can easily do, is to study the source code of all open plugins (e.g. the ones in the official repository http://schwerkraft.elitedvb.ne…nigma2-plugins.git;a=tree). Also in IHAD there is a short tutorial (http://www.i-have-a-dreambox.c…hread.php?threadid=130135).
    Infos regarding OE 2.2 adaptions can be partly found also in IHAD (http://www.i-have-a-dreambox.c…ostid=2044342#post2044342) or also from the changes in the repository (http://schwerkraft.elitedvb.ne…1c73bfb64a33a9b3b1454f088).


    Additionally e2 plugin development seems to be mainly try&error :thinking_face: Just start the plugin and read the error messages in the crashlog or (often faster) start e2 manually in the console ("systemctl stop enigma2; sleep 10; enigma2") or read the e2 logs ("journalctl -f -u enigma2").


    If you only have python code, you don't need any cross-compile or so and therefore no OE enviroment on your PC.


    IPK files can be extracted e.g. with 7zip on the PC (select in the contect menu 7-zip -> Open -> * to also see the control file). I think there are also tools / scripts to do this on the box, but for me it is always easier to check this stuff on the pc.
    Then I would install the dependencies (field "depends" in the control file) and transfer the data-content of the ipk via ftp (the folder structure relative to / is given in the ipk).


    Creating a deb should be straight forward and same as for any Ubuntu or Debian deb package. With a full tar binary you can do it even on the box. Just google for tutorials of deb creation...
    Alternatively there is a tool by gutemine (in OoZooN board) to convert ipk to deb.

    so long
    m0rphU

  • dpkg-deb ist the command to build debs - my 'tool' is just for converting old ipk NOT a sensemaking step for new ones. And it also uses dpkg-deb for the actual rebuild into a .deb

    Einmal editiert, zuletzt von Lost in Translation ()

  • Many thanks m0rphU and gutemine!


    I have some reading to do.


    I also found this link which has some background info on Enigma2, which I found interesting:
    http://www.saunalahti.fi/znark…a2_development_toolchain/


    Unfortunately the IPTVDream plugin which I am most interested in also contains some C/C++ code, however this plugin access several different IPTV sources, so I don't yet know if the C/C++ code is used for all of them or just some of them. Also, I haven't found an up-to-date .ipk for it yet. I was hoping to extract the .ipk, then update the Python for OE2.2 and see if it worked.


    I might see if I can follow the tutorials and build a Kartina-only plugin from scratch using only Python.

    Receivers: DM7080 HD (Astra 28.2E)