Re: RFC: packaging a daemon for an embedded platform
Hi, Rogério
Rogério Brito wrote:
> Dear mentors (with CC to debian-powerpc),
>
> I intend to package a heartbeat program for an embedded computer
> (actually, a NAS) based on PowerPC, the Kurobox.
>
Yup, your thread on -devel is most detailed.
> The original firmware of the Kurobox is non-free, but there is a free,
> highly configurable daemon from
> <http://sourceforge.net/projects/ppc-evtd>.
>
> The "problem" is that it is packaged by upstream in a quite unusual
> way, with the following directory structure:
>
Hmm.. "packaged"? you mean the "upstream tarball"?
In this case, it doesn't really matter.
> - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
> rbrito@cruz:/tmp$ tar ztf avr_evtd_1.7.2.release.tar.gz
> usr/src/avr_evtd/./
> usr/src/avr_evtd/./COPYING
> usr/src/avr_evtd/./Makefile
> usr/src/avr_evtd/./README1st.txt
> usr/src/avr_evtd/./avr_evtd.c
> usr/src/avr_evtd/./PPC/
> usr/src/avr_evtd/./PPC/avr_evtd
> usr/src/avr_evtd/./MIPS/
> usr/src/avr_evtd/./Install/
> usr/src/avr_evtd/./Install/avr_evtd
> usr/src/avr_evtd/./Install/emergency_eth0
> usr/src/avr_evtd/./Install/avr_evtd.sample
> usr/src/avr_evtd/./Install/EventScript
> usr/src/avr_evtd/./Install/COPYING
> usr/src/avr_evtd/./Install/recovery.tar
> usr/src/avr_evtd/./Install/avr_evtd.1.gz
> usr/src/avr_evtd/./IMPORTANT.PLEASE READ
> rbrito@cruz:/tmp$
> - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
>
> It also contains a binary included and some other things that need to
> be Debianized. So, in light of this strange situation, would it be the
> case of repackaging the source or would it be better to keep
> upstream's strange arrangement?
>
dpkg-source would, AFAIK, rename the "usr" to the proper
avr-evtd-<version> upon unpacking.
Unless you have to extensively patch the source, or remove any
non-DFSG-free content, I would keep the upstream tarball as it is as
much as possible ("pristine upstream source" for traceability purposes)
> I'm interested, BTW, in getting things working well in small, embedded
> platforms.
>
That should only be a matter of keeping the package small (i.e. not
shipping unneeded files) -- the rest depends directly on the source itself.
> Thanks for any comments, Rogério Brito.
>
When debianizing, just:
in debian/rules:
- remove all binaries (I mean src/avr_evtd/PPC/avr_evtd): this is
typically achieved by calling "$(MAKE) clean" or similar
- compile, but do not install --- you most probably want to do that
yourself, anyway, seeing how upstream likes to arrange things o_O
- you might want to investigate compiler switches to make the daemon
use less resources
For the rest
- put the daemon in /usr/sbin -debian/install (or avr-evtd.install)
- put the config file in /etc/avr-evtd/avr-evtd.conf or similar (you
might need to patch the source for this)
- emergency_eth0 seems to be a script -- it would go within
/etc/avr-evtd or /usr/lib/avr-evtd depending on how it gets used
- install the manpage - dh_installmanpages
- install the samples - dh_installexamples
What does "recovery.tar" contain?? this might be the most hairy part...
Hope that helps.
Cheers,
J.L.
Reply to: