[Starlingx-discuss] [Multi-OS] POC project update
Hello everyone in STX community
We are very happy to share with you the current state of the Multi-OS POC project we started a few weeks ago:
https://github.com/starlingx-staging/stx-packaging
Since our last update:
http://lists.starlingx.io/pipermail/starlingx-discuss/2019-March/003618.html
There have been new features that we have added:
1) Able to build Ubuntu Live image tooling that resolves runtime dependencies: https://github.com/starlingx-staging/stx-packaging#building-an-image-wip-as-...
$ make iso ISO_TEMPLATE=ubuntu-16.04.6-server-amd64.iso
2) Able to build the DEB files inside Ubuntu containers ( so you don't need to have an Ubuntu system as workstation ). Even If you are not in a Linux machine but it has docker and Makefile tools, you still can build a Starling X package, for example:
$ make package PKG=x.stx-fault/fm-mgr DISTRO=ubuntu BUILD_W_CONT=y
The flag BUILD_W_CONT=y will create a docker image with all the environment necessary to build the package and leave the results in stx-packaging/configs/docker-ubuntu-img/results/
You can also set there a specific Packages.gz that you prefer with fixed packages versions for your build.
3) Able to build Centos/Fedora/EPEL RPMs using the same tooling. Here is how it works so far:
Inside the directory stx-packaging/configs/docker-centos-img/ the developers can run:
$ make build PKG=systemd-219-62.el7.src.rpm MOCK_CONFIG=centos-7-i386
The SRPM should be in the container volume ( in this case /tmp/rpmbuild ) , it is also possible to pass the URL variable as part of the make build sentence
$ make build PKG=<package name> MOCK_CONFIG= URL=<url where to get the srpm>
It has been tested with multiple MOCK_CONFIG files, the supported ones include Centos / Fedora and EPEL ( check /etc/mock for the specific versions ). Is also possible to add your personal MOCK_CONFIG that can point to your local repository or the mirror you prefer.
It also has the capability to pass the .spec file and tarball if developers prefer. A more detailed README will be updated soon with examples on how to use it.
Summary:
* The first goal of the POC which was to build packages of the project in multiple operating systems ( including Ubuntu/Centos ) works! * This POC does not need to modify the current directory structure * Is scalable to other operating systems
Next steps and what current state of the POC doesn't do (yet) :
* Feedback from community, especially from STX (current and future) developers * Research on a better approach to solving build dependencies * Bring up a Controller 0 * Build the platform to consume OpenStack containers
Thanks a lot to contributors to this project:
https://github.com/starlingx-staging/stx-packaging/graphs/contributors
Regards
Victor Rodriguez
participants (1)
-
Victor Rodriguez