Hi,
I'm a little new to this so apologies if this question seems a little naive.
I'd like to start making some 'test' patches to the OpenPLI code to start getting a feel for how things work with the plan to take on a few tickets and help out. I can build a images and know my way around linux based systems reasonable well, but I'm learning python and C++.
So here goes.
Q1. What editor recommendation do you have for making changes to OpenPLI (Ubuntu Jaunty)
Q2. Creating patches. OK, of course I can just go into /build/work and change file with a standard text editor, but what's the proper way or at least preferred way?
I guess I should be creating a copy of the file I intend to change from /Source folders and then use diff / quilt ? to create a *.patch. How ? Then how do I get bitbake to include the patch ?
Thanks.
Flipit
Editors and Patching
Started by flipit, 30 Dec 2009 12:03
9 replies to this topic
Re: Editors and Patching #2
Re: Editors and Patching #3
Posted 30 December 2009 - 13:54
Thanks. I'd just started reading the git manual after I posted (never know which manual to read first !). I'll need to do a bit more reading on git I think.
Couple more questions if I may ?
The Openpli makefile does a git clone of /openembedded so I'm guessing I don't need to make another git clone. I just need to commit the changes locally and (git format patch)
If I want to create a local branch (experimental) how do I get bitbake to build from the experimental rather then master ? (I'm reading git manual but it's taking time)
Finally where should I be making code changes /Sources or /build/tmp/work/
Sorry, I'm just confusing myself a little I think and I want to make sure I set off correctly.
Thanks
Flipt
Couple more questions if I may ?
The Openpli makefile does a git clone of /openembedded so I'm guessing I don't need to make another git clone. I just need to commit the changes locally and (git format patch)
If I want to create a local branch (experimental) how do I get bitbake to build from the experimental rather then master ? (I'm reading git manual but it's taking time)
Finally where should I be making code changes /Sources or /build/tmp/work/
Sorry, I'm just confusing myself a little I think and I want to make sure I set off correctly.
Thanks
Flipt
Re: Editors and Patching #4
Posted 30 December 2009 - 14:40
if you create a branch in .../openembedded/, as soon as you check it out, you start using it.
But have a look in the bb files, for instance enigma2, it pulls stuff from another repository.
You can change the url of that repository, by defining a OPENPLI_GIT_URL_enigma2 (don't remember the exact syntax) in local.conf for instance.
But have a look in the bb files, for instance enigma2, it pulls stuff from another repository.
You can change the url of that repository, by defining a OPENPLI_GIT_URL_enigma2 (don't remember the exact syntax) in local.conf for instance.
Re: Editors and Patching #5
Posted 30 December 2009 - 14:50
Change local-enigma2.bb
# This is an example to build enigma2 from a local GIT repository # instead of using the central one. It assumes you have a copy # of the repo in ~/pli/enigma2 # To build it, go to your build-{MACHINE} directory and run: # bitbake -b ~/pli/openembedded/packages/enigma2/enigma2-local.bb.example PLIGITURL = "file:///${HOME}/pli/enigma2;protocol=git" PN = "enigma2" require enigma2.bb S = "${WORKDIR}/enigma2"
Re: Editors and Patching #6
Posted 30 December 2009 - 15:23
Ahhh.. Makes a lot sense. It's actually the Enigma2 lib/dvb and lib/service code I'm most interested in at the moment.
Digital+ (19.2e) has started adding extended_events to the EITs for some Event_Ids which are labeled "PRID" "SHID" and occasionally "MSRID" I believe these are being used to identify Programs and Series but I need to filter a few (100) first. It maybe a better way to search for similar_broadcasts then Title txt is currently. The lib/service/event.cpp code has a pre-processor #if 0 comment around the extended_events at present, else it would just put them all into the extended event text of the eServiceEvent, so a very quick way for me to monitor these from the epg info, since the rest of the code is unchanged. If I can extract the pattern of the how the PRID SHID and MSRID work then I can look in to adding some specific fields to use them in the epg search criteria rather then just title from the short extended event, which is currently the case. BTW. Freeview uses a similar concept called CRIDs but these have their own table _id (0x76) and the structure is somewhat more complicated. Anyway gives me something to play with in the evenings.
Thanks for your help so far.
Flipit
Digital+ (19.2e) has started adding extended_events to the EITs for some Event_Ids which are labeled "PRID" "SHID" and occasionally "MSRID" I believe these are being used to identify Programs and Series but I need to filter a few (100) first. It maybe a better way to search for similar_broadcasts then Title txt is currently. The lib/service/event.cpp code has a pre-processor #if 0 comment around the extended_events at present, else it would just put them all into the extended event text of the eServiceEvent, so a very quick way for me to monitor these from the epg info, since the rest of the code is unchanged. If I can extract the pattern of the how the PRID SHID and MSRID work then I can look in to adding some specific fields to use them in the epg search criteria rather then just title from the short extended event, which is currently the case. BTW. Freeview uses a similar concept called CRIDs but these have their own table _id (0x76) and the structure is somewhat more complicated. Anyway gives me something to play with in the evenings.
Thanks for your help so far.
Flipit
Re: Editors and Patching #7
Posted 31 December 2009 - 21:03
Hi all,
Happy New Year - Feliz Ano
Some advice please? I have everything up and running. I'm able to make commits to my clone of the enigma2 git. (not sure how to undo them but I can live with that for now, can seem to make git format patch work either...) I built an engima source from local enigma following littesat's and pieterg's advice.. all goodso far. Now say I want to make more changes (more commits) . If re-run: bitkate -b ~/pli/../enigma2/enigma2-local.bb , it build very quickly, which make me think it's still using a cache of the prevous build. So the question is ? Do I have to run some sort of bitbake -cclean on engima2.bb or enigma2-local or somehting else each time I want to force a rebuild from the local source.
Many thanks
Flipit
Happy New Year - Feliz Ano
Some advice please? I have everything up and running. I'm able to make commits to my clone of the enigma2 git. (not sure how to undo them but I can live with that for now, can seem to make git format patch work either...) I built an engima source from local enigma following littesat's and pieterg's advice.. all goodso far. Now say I want to make more changes (more commits) . If re-run: bitkate -b ~/pli/../enigma2/enigma2-local.bb , it build very quickly, which make me think it's still using a cache of the prevous build. So the question is ? Do I have to run some sort of bitbake -cclean on engima2.bb or enigma2-local or somehting else each time I want to force a rebuild from the local source.
Many thanks
Flipit
Re: Editors and Patching #8
Posted 1 January 2010 - 12:08
I found the answer...Read the Bitbake manual !
The correct command to refresh from the source code, in case anyone else wants to know is:
bitbake -b ~/pli/openembedded/packages/enigma2/enigma2-local.bb - c clean
Might help someone like me (who asks before reading !)
Flipit
The correct command to refresh from the source code, in case anyone else wants to know is:
bitbake -b ~/pli/openembedded/packages/enigma2/enigma2-local.bb - c clean
Might help someone like me (who asks before reading !)
Flipit
Re: Editors and Patching #9
Re: Editors and Patching #10
0 user(s) are reading this topic
0 members, 0 guests, 0 anonymous users