[
Date Prev][
Date Next][
Thread Prev][
Thread Next][
Date Index][
Thread Index]
[
List Home]
Hi,
As a new intern at Sierra Wireless, my first task was to try to package
Mihini so that it would be faster and easier to install.
This task is in the tracker, with some precisions:
https://bugs.eclipse.org/bugs/show_bug.cgi?id=408321
I choosed to use CPack as we already use CMake, so the main idea was to
tell to CPack to install the files of runtime/ in /opt/mihini.
I have also written a few scripts (init for SysV & systemd, and
{post,pre}{inst,rm}) which are mainly in porting/{debian,archlinux}, and
manage things like creating a mihini user, putting R/W folders in /var
and creating the right config file for ldconfig.
You can find my work here : https://github.com/nim65s/mihini-repo/tree/CPack
The packages for debian i386 & armhf (raspbian) seems to work (you can
find them here : http://saurel.me/sierra, or build them with a «make
package», as it's described here :
http://wiki.eclipse.org/Mihini/Cross_Compilation).
I also uploaded an AUR package, which has been tested on an x86_64
ArchLinux, and as it builds everything from the git repository, it
should work on any architecture.
Now I'm working on the .rpm, and then I'm gonna make some tests on other
embedded platforms (RasperryPi/ArchLinux, BeagleBone/Ångström,…)
Then, if would be great if someone could give me a more official
location to put the .deb & .rpm, to update
http://wiki.eclipse.org/Mihini/Install_Mihini.
I would also appreciate any tests/comments/help/etc.
NB:
- The .tar.gz doesn't include any {post,pre}{inst,rm} script
- The R/W files in /var (apps, update & persist) will not be erased on
uninstall
- the sysV init has a «purge» command, which cleans persist/*
- The actual way of telling CPack the location of each file we want in
the final installation is kind of ugly (see all the "INSTALL" lines in
https://github.com/nim65s/mihini-repo/commit/3c7bd961c4451dc63395a2bd3edb6c3b0843adad)
; I tried to use a higher level method, with something like
"INSTALL(DIRECTORY luafwk/ DESTINATION lua FILES_MATCHING PATTERN
'*.lua')", and the same for the *.h, and it works well, but we have ~250
files which don't go to the right place in the final folder (ie: it's
not the same place as in runtime/).
- The generation of the .deb of the default target would work only if
you have dpkg, as we need to know the architecture. If you don't have
it, just put 'SET(CPACK_DEBIAN_PACKAGE_ARCHITECTURE "<arch>")' in
cmake/toolchain.default.cmake
- I added files for the cross compilation with raspberrypi-linaro. Of
course, you will need the toolchain if you want to use it. In this case,
check http://wiki.eclipse.org/Mihini/Cross_Compilation
- If some day we could use a default lua VM, it would be possible to put
all the files of the project in a more standard place on UNIX system,
like /usr/{bin,lib,include} and so on.
- All the "tests" I was talking about are only the things covered in
http://wiki.eclipse.org/Mihini/Run_Mihini_on_an_Open_Hardware_platform ;
I will try other things soon.
regards,
Guilhem Saurel.