Baserock 15.10 is released

Changes since 15.02:

  • This release includes a GENIVI Jupiter J-0.1 Baseline.

  • New architecture: ARMv8 64-bit. This is not yet integrated into the continuous testing and release processes, but work is ongoing on this at Codethink. The definitions.git repo includes deployment files that allow deploying Baserock to HP Moonshot servers using PXE.

  • Definitions are now versioned, using a file named 'VERSION' at the top level of the definitions.git. We are currently at version 0. Discussion of changes for future versions is ongoing, and may involve fairly drastic changes. All changes will need to be accompanied by automated 'migration' scripts so that all users can keep up to date.

  • The Xorg X server is now not built by default. We recommend using a Wayland compositor with Xwayland, if possible. If you want to continue using Xorg in your systems, revert the merge commit 41e9e020944029b808bf0ecafdceb613fced73fb (branch 'baserock/jjardon/only_xwayland')

  • Component additions:

    • The IANA Time Zone Database has been added to the 'foundation' stratum.

    • New 'python-core', 'python-common' and 'python-tools' strata, to separate out Python-specific components and include more common dependencies by default. These include: Paramiko, Pip, Requests, and Virtualenv.

    • New 'python3-core' stratum, containing Python 3.

    • The Apache HTTP server is now available in a new 'apache-httpd-server' stratum.

    • The Ceph distributed file system tool is available in a new 'ceph' stratum.

    • The Chef orchestration and configuration management tool is available in a new 'chef' stratum.

  • Some Busybox tools have been replaced with their GNU equivalents, including dd, diff and sed.

  • Bug fixes in the Lorry version control mirroring tool, and the Lorry Controller mirroring management tool used in Trove.

  • Updated version of baserock-import included in the devel systems. This tool assists with importing foreign packaging from RubyGems and PyPI. The updated version contains NPM support, and some bug fixes.

  • Openstack clients updated to Juno 2014.2.1 tag.

  • More component updates, including:

    • Ansible 1.8.4
    • btrfs-progs 3.18.2
    • GCC 4.9.2
    • GDB 7.8.2
    • Git 2.3.0
    • GNU Autoconf 2.69
    • GNU Automake 1.15
    • GNU Binutils 2.25
    • GNU Gettext 0.19.4
    • GNU Libtool 2.4.6
    • GNU M4 1.4.17
    • GNU Make 4.1
    • libinput 0.10.0
    • libvirt 1.2.10
    • Linux 3.19
    • NetworkManager 1.0.0
    • OpenSSH 6.7
    • pkg-config 0.28
    • Pulseaudio 6.0
    • QEMU 2.2.0
    • QtCreator 3.3.0
    • rsync 3.1.1
    • SQLite 3.8.8.1
    • strace 4.8
    • systemd 219
    • util-linux 2.25.2
    • Vala 0.26.2
    • Wayland 1.7.0
    • Weston 1.7.0
  • Fixes and improvements to the bootstrap and cross-bootstrap processes.

  • Ansible is present in 'build' as well as 'devel' systems now.

  • SYSLINUX is present in all x86 'build' systems now (this was an oversight, which caused Morph's test suite to fail in some systems).

  • ARMv7 hard-float systems contain a compatibility symlink to /lib/ld-linux-armhf.so.3 (GLIBC 2.20 dynamic linker) from /lib/ld-linux.so.3 (EGLIBC 2.15 dynamic linker), to avoid problems when sharing bootstrap chunks between Baserock 'build' systems that use different LIBC versions.

  • Splitting rules for the 'gcc' chunk have been improved, to fix a problem where GCC compiler binaries would be present in an initramfs.

  • Updates to Morph, the tool used to build Baserock systems. Improvements include:

    • Speedups in Morph's build graph calculation, by caching more information about remote Git repos involved in the build. After your first run of morph build you should see the 'Deciding on a task order' step take no more than a few seconds.

    • New --local-changes=ignore option, which stops Morph creating temporary branches with local changes in your workspace. This reduces the amount of work Morph does before starting a 'build' or 'deploy' operation, and is also important for ensuring the /baserock/*.meta files in built systems do not point to temporary refs. The default setting is --local-changes=include, which keeps the old behaviour.

    • The morph build and morph deploy commands now look for files relative to your current working directory, not the toplevel directory of the definitions.git repo as before.

    • Extra safety checks for some deployment extensions.

    • Git submodules are now only updated when needed. Previously git remote update would run unconditionally.

    • Morph now depends on PyLRU, which is present in Baserock 15.10 'build' and 'devel' systems.

  • Updates to Morph's 'distbuild' plugin, which allows distributing builds across multiple machines. Lots of performance and stability improvements, including:

    • The protocol between clients and controllers is now versioned, so future incompatible updates to the distbuild protocol can send an error message to the client instead of causing unpredictable failures.

    • Fixed a crash in the controller when receiving invalid input on the port that listens for incoming build-requests.

    • Fixed bug where build logs would end up in the wrong build-step-xx.log file after a build-request was cancelled.

  • Lots of other bugfixes: see the Git logs of definitions.git and morph.git for a full list.

Known issues in 15.10:

  • The simple-network.configure extension has not been updated to generate configuration files for systemd-networkd. If you have systems using systemd that have a special network configuration generated with simple-network.configure (i.e if you have NETWORK_CONFIG set in the deployment .morph file), do not upgrade them yet.

    There is a branch of Morph currently under review (jjardon/simple-network-networkd2) that should fix this issue.

How do I get started?

Start with the following page: http://wiki.baserock.org/quick-start/

How do I get in contact?

If you find a bug in Baserock, we'd like to hear from you using one of the above methods.

The Baserock project welcomes new participants! We hope you enjoy experimenting with Baserock and look forward to hearing about any cool things you do with Baserock.