Skip to main content

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

I'm trying to write the debian/rules (the executable makefile that
launchpad uses to build itself the packages).

As Romain said, it's not that easy because we have not yet theses rules.
And even if I succeed in writing them, I'm not sure it's gonna be easy
to maintain.

The main advantage of using launchpad is to allow Ubuntu users to stay
up to date… But if this packaging works, we might be able to have an
official package in Debian.


But I think that the main goal of Mihini is to be embedded, and that's
why I'm focusing on packaging it and testing it a little more on RPi /
BeagleBone / Gumstix / anything else I can have access to.



Guilhem Saurel.

Le 02/07/2013 11:59, Romain Perier a écrit :
> 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<mailto: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<mailto:mihini-dev@xxxxxxxxxxx>
> http://dev.eclipse.org/mailman/listinfo/mihini-dev
> 



Back to the top