Jump to content


Photo

Editors and Patching


  • Please log in to reply
9 replies to this topic

#1 flipit

  • Member
  • 5 posts

0
Neutral

Posted 30 December 2009 - 12:03

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

Re: Editors and Patching #2 pieterg

  • PLi® Core member
  • 32,766 posts

+245
Excellent

Posted 30 December 2009 - 13:31

Q2: just use git.
Clone our repository, make changes, commit them locally, and you will be able to generate patches from the commits (git format-patch), or just make your repository public.
Try to rebase all the time, so your changes stay on top of our stuff.

Re: Editors and Patching #3 flipit

  • Member
  • 5 posts

0
Neutral

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

Re: Editors and Patching #4 pieterg

  • PLi® Core member
  • 32,766 posts

+245
Excellent

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.

Re: Editors and Patching #5 littlesat

  • PLi® Core member
  • 56,309 posts

+691
Excellent

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 flipit

  • Member
  • 5 posts

0
Neutral

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

Re: Editors and Patching #7 flipit

  • Member
  • 5 posts

0
Neutral

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

Re: Editors and Patching #8 flipit

  • Member
  • 5 posts

0
Neutral

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

Re: Editors and Patching #9 Sjaaky

  • Senior Member
  • 7,443 posts

+41
Good

Posted 1 January 2010 - 15:04

You can use -c rebuild to do everything in one step.

Re: Editors and Patching #10 pieterg

  • PLi® Core member
  • 32,766 posts

+245
Excellent

Posted 1 January 2010 - 17:26

or use -f -c compile to just repeat the compile step (if you're editing the sources directly in the workdir)


0 user(s) are reading this topic

0 members, 0 guests, 0 anonymous users