BTS | Telos – upcoming new boss

Get the lowdown on a bruising boss encounter with a twist as we go behind the scenes with The Watch.

Koschei: Reducing bugs and saving time

Koschei is a continuous integration service for RPM packages. It helps developers fix bugs as fast as possible. It tracks package dependency changes in Rawhide, the bleeding-edge, development version of Fedora. Packages whose dependencies change too much are rebuilt. Koschei logs… Continue Reading →

Joomla! 3.6 Beta 2 Released

The Joomla! Project is pleased to announce the availability of Joomla! CMS 3.6 Beta 2. Community members are asked to download and install the package in order to provide quality assurance for the forthcoming 3.6 release.
Joomla! 3 is the latest major…

Leveling up snapd integration tests

Over the last several months there has been noticeable and growing pain associated with the evolving integration tests around snapd, and given the project goal of being a cross-distribution platform, we are very keen on solving this problem appropriately so that stability is guaranteed everywhere.

With that mindset a more focused effort was made over the last few weeks to produce a tool that can get the project out of those problems, and onto a runway of more pleasant stability. Despite the short amount of time, I’m very happy about the Spread project which resulted from this effort.

Spread is not Jenkins or Travis, and is not a language or library either. Spread is a tool that will very conveniently ship your code to one or more systems, in parallel, and then offer the right set of options so you can run whatever you need to run to make sure the logic is working, and drive it all from the local system. That implies you can run Spread inside Travis, Jenkins, or your terminal, in a similar way to how your unit tests work.

Here is a short list of interesting facts about Spread:

  • Full-system tests with on demand machine allocation.
  • Multi-backend with Linode and LXD (for local runs) out of the box for now.
  • Multi-language since it can run arbitrary remote code.
  • Agent-less and driven via embedded ssh (kudos to Go team).
  • Convenient harness with project+backend+suite+test prepare and restore scripts.
  • Variants feature for test duplication without copy & paste.
  • Great debugging support – add -debug and stop with a shell inside every failure.
  • Reuse of servers – server allocation is fast, but not allocating is faster.
  • Reasonable test outputs with the shell’s +x mode on failures.
  • … and so forth.

This is all well documented, so I’ll just provide one example here to offer a real taste of how the system feels like.

This is spread.yaml, put in the project root to define the basics:

project: spread backends: lxd: systems: - ubuntu-16.04 - ubuntu-14.04 path: /home/test prepare: | echo Entering project... restore: | echo Leaving project... suites: tests/: summary: Integration tests prepare: | echo Entering suite... restore: | echo Leaving suite... 

The suite name is also the path under which the tests are found.

Then, this is tests/hello/task.yaml:

summary: Greet the world prepare: | echo "Entering task..." restore: | echo "Leaving task..." environment: FOO/a: one FOO/b: two execute: | echo "Hello world!" [ $FOO = one ] || exit 1 

The outcome should be almost obvious (intended feature :-). The one curious detail here is the FOO/a and FOO/b environment variables. This is how to introduce variants, which means this one test will in fact become two: first with FOO=one, and then with FOO=two. Now consider that such environment variables can be defined at any level – project, backend, suite, and task – and imagine how easy it is to test small variations without any copy & paste. After cascading takes place (project→backend→suite→task) all environment variables using a given variant key will be present at once on the same execution.

Now let’s try to run this configuration, including the -debug flag so we get a shell on the failures. Note how with a single test we get four different jobs, two variants over two systems, with the variant b failing as instructed:

$ spread -debug 2016/06/11 19:09:27 Allocating lxd:ubuntu-14.04... 2016/06/11 19:09:27 Allocating lxd:ubuntu-16.04... 2016/06/11 19:09:41 Waiting for LXD container to have an address... 2016/06/11 19:09:43 Waiting for LXD container to have an address... 2016/06/11 19:09:44 Allocated lxd:ubuntu-14.04. 2016/06/11 19:09:44 Connecting to lxd:ubuntu-14.04... 2016/06/11 19:09:48 Allocated lxd:ubuntu-16.04. 2016/06/11 19:09:48 Connecting to lxd:ubuntu-16.04... 2016/06/11 19:09:52 Connected to lxd:ubuntu-14.04. 2016/06/11 19:09:52 Sending project data to lxd:ubuntu-14.04... 2016/06/11 19:09:53 Connected to lxd:ubuntu-16.04. 2016/06/11 19:09:53 Sending project data to lxd:ubuntu-16.04... 2016/06/11 19:09:54 Error executing lxd:ubuntu-14.04:tests/hello:b : ----- + echo Hello world! Hello world! + [ two = one ] + exit 1 ----- 2016/06/11 19:09:54 Starting shell to debug... lxd:ubuntu-14.04 ~/tests/hello# echo $FOO two lxd:ubuntu-14.04 ~/tests/hello# cat /etc/os-release | grep ^PRETTY PRETTY_NAME="Ubuntu 14.04.4 LTS" lxd:ubuntu-14.04 ~/tests/hello# exit exit 2016/06/11 19:09:55 Error executing lxd:ubuntu-16.04:tests/hello:b : ----- + echo Hello world! Hello world! + [ two = one ] + exit 1 ----- 2016/06/11 19:09:55 Starting shell to debug... lxd:ubuntu-16.04 ~/tests/hello# echo $FOO two lxd:ubuntu-16.04 ~/tests/hello# cat /etc/os-release | grep ^PRETTY PRETTY_NAME="Ubuntu 16.04 LTS" lxd:ubuntu-16.04 ~/tests/hello# exit exit 2016/06/11 19:10:33 Discarding lxd:ubuntu-14.04 (spread-129)... 2016/06/11 19:11:04 Discarding lxd:ubuntu-16.04 (spread-130)... 2016/06/11 19:11:05 Successful tasks 2016/06/11 19:11:05 Aborted tasks: 0 2016/06/11 19:11:05 Failed tasks: 2 - lxd:ubuntu-14.04:tests/hello:b - lxd:ubuntu-16.04:tests/hello:b error: unsuccessful run 

This demonstrates many of the stated goals (parallelism, clarity, convenience, debugging, …) while running on a local system. Running on a remote system is just as easy by using an appropriate backend. The snapd project on GitHub, for example, is hooked up on Travis to run Spread and then ship its tests over to Linode. Here is a real run output with the initial tests being ported, and a basic smoke test.

If you like what you see, by all means please go ahead and make good use of it.

We’re all for more stability and sanity everywhere.


Parsix GNU/Linux 8.5 & 8.10 Receive the Latest Debian Security Fixes, Update Now

Parsix GNU/Linux 8.5 “Atticus” is the stable version of the desktop-oriented operating system, based on Debian GNU/Linux 8 “Jessie” series, which means that it has most likely received all the security fixes that landed as part of the recently released Debian GNU/Linux 8.5 update. Among these, we can mention security updates for VLC Media Player,

Wine 1.8.3 Stable Release Adds Support for Many Nvidia GPUs, Fixes Over 50 Bugs

Just a few moments ago, June 16, 2016, the Wine developers have announced the release of the third maintenance update in the stable Wine 1.8 series of the open-source software used for running Windows apps and games on Linux.

Wine 1.8.3 comes as an unexpected released, after less than a week from the announcement of Wine 1.9.12, the most advanced development snapshot of the project, to fix a total of 54 issues that have been reported by users since Wine 1.8.2 released in back in April 2016.

As mentioned before, Wine 1.8.3 is the third stable update of Wine 1.8, and looking at the release highlights, we can’t help but notice that it is mostly a bugfix release, but it also updates the National Language Support (NLS) files and adds support for numerous Nvidia graphic…

KDE Doing a Survey for Input on our Mission

As already hinted at in the article about KDE’s Vision, the next step in setting our path into the future is defining KDE’s Mission statement. Right after our Vision was published, a group of people started drafting a Mission statement and discussing …

Salix Xfce 14.2 Now in Beta, Will Be Based on Slackware Linux 14.2 and Xfce 4.12

The Salix Xfce 14.2 GNU/Linux operating system is in development, and it looks like a public Beta version has just been released into the wild, allowing the community to see what’s coming in the Slackware-based OS.

Salix Xfce 14.2 Beta 1 arrives on June 15, 2016, three months after the Alpha milestone, bringing many enhancements and new features, among which we can mention an improved boot menu that lets users choose in which language to install Salix, and a boot prompt is no longer available on the ISO image.

“So you can now install Salix, not only in English, but using your own language as well,” reads the announcement. “Most of the translations are only partially complete at this point, but you can help with the translation effort so that everything will be complete by the time we finally release 14.2.”

Also, it appears that syslinux is now used for boot menus on computers with Le…

Play RuneScape Idle Adventures Early! | Visit us on Steam

Follow the Steam Store page for our upcoming idle game and sign up to play the beta.

Drupal 8.1.3 and 7.44 released

Drupal 8.1.3 and 7.44, maintenance releases which contain fixes for security vulnerabilities, are now available for download.
See the Drupal 8.1.3 and Drupal 7.44 release notes for further information.
Download Drupal 8.1.3
Download Drupal 7.44

Forget Game of Thrones as Android ransomware infects TVs

Researchers at Trend Micro have spotted a new variant of ransomware code that can be used to lock down Android-powered smartphones and televisions. The FLocker (short for the Frantic Locker) malware has been in circulation since at least April 2015 and has concentrated on locking down smartphone handsets running the latest builds of Android. But

Seattle GNU/Linux Conference 2016 to Take Place November 11-12 in Seattle, USA

Seattle GNU/Linux Conference or SeaGL is an annual event that takes place in Seattle, a city in Washington, USA. SeaGL debuted in 2013, so this will be the fourth year in a row for GNU/Linux users living around that area when they get to meet new people and share their knowledge about everything Linux and

GCC 6 Imminent for openSUSE Tumbleweed, openSUSE Leap 42.2 Alpha 2 Coming Soon

Today, June 15, 2016, the openSUSE Tumbleweed maintainers have informed the community that the long-anticipated GCC 6 compiler is imminent for the rolling operating system.

openSUSE Tumbleweed received its last snapshot (20160612) on June 14, 2016, which brought several goodies to users of this RPM-based computer operating system, including the recently released Linux 4.6.2 kernel, Mozilla Firefox 47.0, AppStream 0.9.6, and kernel-firmware 20160609.

Also, it appears that previous Tumbleweed snapshots that were released last week brought Git 2.8.4, Wayland 1.11.0, as well as updates to autoyast2, the GStreamer multimedia backend, and several YaST packages. And it now looks like the next snapshot (20160613) will be the last based on GCC 5.

Yes, that’s right, the GCC 6 migration has been completed for openSUSE Tumbleweed, and the next snapshot after snapshot 20160613 will be the one to make GCC (GNU Compiler Collection) 6 the default for the rolling release operating…

Juju Made the Deadline

Ok… I am exaggerating. Juju did not make the deadline, Panagiotis and his co-authors with their hard work made the deadline. Ah, ok you caught me lying again… One of Panagiotis co-authors (me) did not work hard, actually he did not work on the paper at all! Normally, I would publicly apologize, but let me […]

Special report: Low latency and real-time kernels for telco and NFV

The kernel is the fundamental core of a computer operating system. It is the first program to load, and it manages all core functions of the computer. With the expanding role of the Linux kernel in systems today, Canonical is often asked to provide leadership and support for kernel offerings for many purposes. Recently, Network […]

Antergos 2016.06.14 ISOs Are Out Now, the Last to Offer Support for 32-Bit PCs

Antergos’ Dustin Falgout announced just a few minutes ago, June 15, 2016, that the latest ISO images for the Arch Linux-based operating system are now available for download.

There’s really nothing out of the ordinary in the Antergos 2016.06.14 ISO refresh, with the exception of the fact that this will be the last one to offer support for 32-bit platforms. What does this mean? Well, the next ISO images will come only in a 64-bit format, for modern computers, which means that you won’t be able to install Antergos on those old and dusty PCs.

However, this does not imply that the 32-bit support that has been offered until today to users who are running Antergos on 32-bit computers will end, as the distribution’s maintainers promise to provide updates for the 32-bit packages available in the main software repositories.

“We are discontinuing the 32bit versions of our install media. This will be the last release that includes 32bit media. This change applies to the inst…

LibreOffice 5.2 Beta 2 Now Available as a Snap for Ubuntu Linux, Other Distros

GNU/Linux developer Björn Michaelsen reported on June 14, 2016, managing to package the latest Beta build of the upcoming LibreOffice 5.2 office suite as a Snap package for various GNU/Linux distributions, including Ubuntu.

LibreOffice 5.2 Beta 2 was quietly released a few days ago, and as usual, it is packaged by the LibreOffice maintainers as DEB and RPM binary archives for Debian- and Red Hat Linux-based operating systems. Of course, the source package is available as well, but the community needs a universal binary format that works across all GNU/Linux distros.

As reported by us the other day, Canonical has been working lately with various developers and contributors, as well as major hardware manufacturers to bring its innovative and secure Snap package format to virtually any Linux kernel-based operating system out there. So Björn Michaelsen saw this as a great opportunity to package LibreOffice 5.2 Beta 2 as a Snap.

“So, here is what I have been up to: The…

GParted 0.26.1 Ensures Bootloaders Work on EXT4 Partitions Smaller Than 16 TB

GParted developer Curtis Gedak has announced the availability of the first point release for the GParted 0.26 open-source partition editor utility announced back in April 2016.

Launched on April 26, GParted 0.26.0 introduced some exciting new features and improvements, among which we can mention read-only support for encrypted filesystems with the LUKS method, as well as the implementation of a progress bar for file system copy methods supporting EXT2, EXT3, EXT4, XFS, and NTFS.

Additionally, the GParted 0.26.0 partition editor brought support for using only a single progress bar for the entire internal copy operation, the implementation of the partition object polymorphism, and fixes for many other issues reported by users since GParted 0.25.0.

One and a half month later, it appears that GParted 0.26.0 needed a maintenance release to bring support for bootloaders on 32-bit EXT4 filesystems that are smaller than 16 TiB, add support for multiple bootloaders on 64-b…

Treasure Hunter | Dragon Chests

Use your keys for the return of the prize multiplying dragon chests!

LaKademy 2016 ‒ strewing FLOSS culture

LaKademy 2016 group photo

KDE is a free software community full of diversity and, as such, we foster several meetings and welcome people from all over the world. The 4th Latin-America KDE Summit (LaKademy 2016) took place from 26-29 May at Federal University of State of Rio de Janeiro (UNIRIO), Brazil. Since 2014, LaKademy has become a yearly meeting (it happened every two years since 2010) and that has proven to be a quite important step to create a “sprint culture”, narrow the ties with the global community, and better support newcomers. In every new edition, old LaKademy participants are more experienced about how sprints work and, therefore, more skillful in the task of guiding newcomers through their way into the Free Software world.

This year, LaKademy brought together eighteen KDE fellows from Brazil, Argentina, and Peru ‒ interested in contributing to development, translation, artwork, promotion, and sysadmin. Contributions have covered projects such as Cantor, Minuet, Umbrello, BRPrint-3D, Plasma widgets, Plasma Network Manager, and color themes in breeze-gtk, as well as a revamp in pt_BR translation infrastructure/workflow, the creation of docker images for building KDE applications and the automation of KDE server configuration.

LaKademy 2016 highlights

Filipe and Fernando did a quite comprehensive bug triage for Cantor and worked on improving the Sage backend and fixing some bugs on Python3 and R backends. Wagner started investigating the use of CERN’s Root project as a new Cantor backend. Henrique worked on his script for converting colors in GTK themes. The goal is to support GTK themes with any color scheme defined in Plasma, in addition to the already existing Breeze and Breeze Dark GTK themes. Lamarque helped Lays with compiling VTK as a Qt5 plugin (for use in BRPrint-3D), investigated some bugs in Plasma Network Manager and submitted a patch to a bug in libQt5Qml. He also helped Lays and Ronnie with doing their QML coding for BR-Print3D and porting KPeg to QML, respectively.

Enoque ‒ who was attending his very first LaKademy ‒ worked on the development of new Plasma widgets for interacting with Phabricator and also did the first steps towards the implementation of an Android version for Akregator. Ícaro started the development of a new application for teaching Control Theory as a car race game. He worked closely with Gabriela Shima, a designer who joined us during LaKademy and helped with the game UX inception. Sandro focused on some architecture refactoring for Minuet and helped Ícaro and Enoque in their tasks during LaKademy. Lays did some bug fixing for Umbrello, as part of her Google Summer of Code project, and took the chance to do some improvements in the QML UI for BR-Print3D.

For the first time ever, LaKademy had a small group devoted to do sysadmin tasks. Nicolás and Rafael worked to get KDE infrastructure configured using Ansible, starting with teleirc (bridge between IRC and Telegram) and created some docker images for easing the build of Cantor and other KDE applications. As for translation activities, Camila, Aracele, and Fred worked hard on reviewing package localization, came up with a proposal for a new software for managing the KDE glossary and analyzed the use of the Brazilian standard vocabulary. Camila and Aracele also worked on the creation of a LaKademy pre-meeting checklist and post-meeting metrics.

On Saturday morning, we had the traditional promo meeting, where we discuss all sort of actions to boost KDE presence in Latin America, review our current practices, find out ways to improve it, and plan how to widen our community in the continent. The promo meeting is usually a quite exhausting time, but it has proven to be worthy since we are today more focused, organized, and compelling when doing promotion, handling finances, and supporting newcomers, just to mention a few benefits. As the outcome, we got a reviewed and up to date todo list with a lot of work to be done in upcoming months.

And that’s it! The good news is that we already have a considerably firm proposal for LaKademy 2017 ‒ it should happen from 28th April to 1st May in Belo Horizonte, state of Minas Gerais, Brazil. Until then, stay tuned for more exciting news from KDE in Latin America. Now you can checkout the full LaKademy 2016 photo set and enjoy the LaKademy 2016 video:

LaKademy 2016 video