Making packages for Humax HDR-T2.

mingw.android

New Member
Hi,

tl;dr version:
1. Is my build process correct?
2. Why are the curl headers already in header-files package despite there being no curl package?
3. I've built curl if you want to add it to the packages.
4. Is Perl broken?
5. Why does my nano segfault?
6. Is there a set of build scripts that I can join in the development of?

I've had my Humax for about a month before I looked into custom firmwares, wish I'd done it earlier, you've turned my TV box into something much better! I had been using a wdtv live with b-rad's custom firmware, but this has made that redundant now.

I had been using my wdtv as an svn server and it worked well enough, so I figured that I'd try to get the Humax working as a git server in a bid to improve both my looks and intellect.

The main dependencies on compiling git are perl and curl.

...to make sure I'm not doing this all wrong, in general, to build stuff, I do:
CFLAGS=/mod/include ./configure --prefix=/mod --host=mipsel-unknown-linux-uclibc --build=mipsel-unknown-linux-uclibc
make
mkdir $PACKAGENAME
DESTDIR=$PWD/$PACKAGENAME make install
..then do the opkg bits after that...

I managed to build a working curl:
http://dl.dropbox.com/u/17108768/curl_no_headers_7.24.0_mipsel.opk
http://dl.dropbox.com/u/17108768/curl_7.24.0_mipsel.opk

I made two opkgs, one with and one without headers as it seems that the curl headers are in your header-files package already? (unless I did a make install by mistake without setting DESTDIR) The no_headers one should install fine. I don't see a description for curl in the package management webif though, so maybe I did something wrong in the control file.

I tried to use Perl (and also micro Perl) as provided, but I had no luck. In fact, when git tries to use Perl during the make process, the whole machine crashed (does this box have VM? where can I find the tech details of the Linux install?) -> I would re-run it now to get the output before the crash except people are watching TV and it'd be a bit rude to crash the box ;-)

Next up, I tried to compile nano as I'm not good with vi. It compiles fine:
http://dl.dropbox.com/u/17108768/nano_2.3.1_mipsel.opk

..but segfaults when I try to run it. The strace -F output of this can be found at:
http://dl.dropbox.com/u/17108768/strace-nano.txt

and finally, where is the core development work for this all done and is it possible to join in the fun?
 
Some answers..

2. Why are the curl headers already in header-files package despite there being no curl package?

Because the curl libraries are part of the Humax firmware (in /usr/lib)

3. I've built curl if you want to add it to the packages.

See above.

4. Is Perl broken?

Yes.

5. Why does my nano segfault?
I don't know, but I can have a look.

(I'll post more fully tomorrow when I have a real keyboard!)
 
Thanks, also not using a real keyboard:

Ah ok, git build process needs the curl executable. Should I make an opkg with just that?

I tried to rebuild Perl but it hung my hummy, probably OOM? Is there a cross-build env. I should use instead?
 
5. Why does my nano segfault?
It works for me, perhaps there's a problem with your build environment. If all else fails try running it under gdb.

FWIW I used:

Code:
CFLAGS=-I/mod/include/ncurses ./configure --host=mipsel-linux --prefix=/mod

PS. I do have yet another text editor "joe" if anyone's interested.
 
Anything's got to be better than vi! I don't know nano or joe (surprised?), but hopefully they are easier to remember how to use (I have to google a crib sheet every time, fortunately I know roughly what I'm doing even if I can't remember the commands).

:wq
 
Thanks, also not using a real keyboard:

Ah ok, git build process needs the curl executable. Should I make an opkg with just that?

I tried to rebuild Perl but it hung my hummy, probably OOM? Is there a cross-build env. I should use instead?

There is a maintenance mode that you can enable for the customised software (http://wiki.hummy.tv/wiki/Maintenance_Mode). It disables the humaxtv process and frees up more memory. It was initially set up to allow formatting of large disks, but it might be worth a punt in this case as well.
 
Anything's got to be better than vi! I don't know nano or joe (surprised?), but hopefully they are easier to remember how to use (I have to google a crib sheet every time, fortunately I know roughly what I'm doing even if I can't remember the commands).
:wq

Sounds like it might be safer for you to use

:q!
 
vi is a superb editor - I spend most of my working day using it - but does have a somewhat steep learning curve. It would be good to have an alternative editor on the box for people to use although perhaps samba/nfs with a binary safe editor on a client PC would be more appropriate.
 
vi is a superb editor
Perhaps it is, and I realise it was created for the limited interface capabilities of a remote ASCII terminal and managed the best it could (yes, I have used it on a VT100), but you have to admit that in this day and age the interface is arcane and not easy to remember if one only uses it from time to time.

I do wonder why you think it is superior to a more modern editor though? Lightness of footprint? Can't imagine it has greater capabilities.

I'll put a Vi Primer up later (or is that asking for trouble?).
 
I think I should go back to plan A and just have ed...

Iv'e never used ed, But a bit of searching revealed that grep came from the ed argument g/re/p (globally search for the expression re and print)
well there you go ! !
 
Cheers,

Black Hole:

Nano's really easy to use. I think having an easier-to-use-than-vi option would be good. Are you guys keen to not provide too many package options? I'll look into why nano segfaulted tonight (I suspect it's because I initially didn't configure it with -I/mod/include for picking up curses.h, so I hacked that into config.h... the strace seemed to point to the failure being something to do with terminfo/vt100 access ;-)).

I like Nano mainly because it's tiny and I can use it on Linux and Mac OS X out of the box and also on Windows (I had to compile it for that though) and I have to switch between these OSes a lot so having the same editor available from the terminal all the time is a great help.

Sam Wedges:

Thanks for the maintanence mode tip, I will try Perl again later. You said it was for formatting big disks, does this apply for internal and external disks? Relatedly, am I correct that the max size for internal disk is 2TB?

af123:

Have you got a link to the cross build env?
 
Are you guys keen to not provide too many package options?

Not particularly, but I wouldn't add packages which weren't targetted for a small embedded system - so if someone submitted emacs I probably wouldn't publish it without a discussion!

I like Nano mainly because it's tiny and I can use it on Linux and Mac OS X out of the box and also on Windows (I had to compile it for that though) and I have to switch between these OSes a lot so having the same editor available from the terminal all the time is a great help.

One of the reasons I like vi :) - I use gvim on Windows when I have to use it.

Have you got a link to the cross build env?

http://www.humaxdigital.com/global/products/opensource.aspx
 
I do wonder why you think it is superior to a more modern editor though? Lightness of footprint? Can't imagine it has greater capabilities.

Vi (or at least one of the modern variants like vim) has everything any other modern editor has but without ever having to touch the mouse. It is just so much faster to do anything with it once you have become used to it. It's very configurable too so if, like me, you detest auto-indent then it's easy to turn off. Some of the features, like jump to matching brace (%) or jump to start of function ({{), only work well because it is a text editor with two modes.

What editor features would you miss? I'll bet Vim can do it.

I do miss some of the vim features when I go back to vi (our production systems at work don't have vim) - mainly multi-level undo, split window support and visual highlighting - but it's still a great editor.

"vi is an editor with two modes: one which destroys your input and the other which beeps at you."

I'm not saying it's for everybody : )
 
Back
Top