Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
Re: [mihini-dev] Packaging

Launchpad only accepts packages sources [1] (the original tarball + a patchset and rules to build the package). However,
as I understood we use cmake for generating the package automatically, we have not rules to build the package ourselves.


1. http://askubuntu.com/questions/189529/can-i-upload-binary-packages-to-a-launchpad-ppa

Le 27/06/2013 17:31, Justin Cormack a écrit :

The best place to put Ubuntu packages is in a PPA (personal package archive) on Launchpad. Then anyone can install them. The OpenSuse build service serves a similar purpose.

Justin

On 27 Jun 2013 16:26, "Guilhem Saurel" <gsaurel@xxxxxxxxxxxxxxxxxx> wrote:
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.
_______________________________________________
mihini-dev mailing list
mihini-dev@xxxxxxxxxxx
http://dev.eclipse.org/mailman/listinfo/mihini-dev


Back to the top