Baserock 15.10 release notes
by Pedro Alvarez
# 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.
[HP Moonshot]: http://www8.hp.com/us/en/products/servers/moonshot/index.html
* 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.
[Discussion of changes]: http://wiki.baserock.org/meetup/declarative/
* 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.
[Apache HTTP Server]: https://httpd.apache.org/
- The [Ceph] distributed file system tool is available in a new 'ceph'
stratum.
[Ceph]: http://www.ceph.com/
- The [Chef] orchestration and configuration management tool is
available in a new 'chef' stratum.
[Chef]: https://www.chef.io/
* 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.
[definitions.git]:
http://git.baserock.org/cgi-bin/cgit.cgi/baserock/baserock/definitions.gi...
[morph.git]:
http://git.baserock.org/cgi-bin/cgit.cgi/baserock/baserock/morph.git/log/...
# How do I get started?
Start with the following page: <http://wiki.baserock.org/quick-start/>
# How do I get in contact?
- IRC: freenode #baserock
- Public mailing list: baserock-dev(a)baserock.org
- See also: <http://wiki.baserock.org/mailinglist/>
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.
--
Pedro
8 years, 9 months