Cross build and packaging

It compiles! Ship it!

Introduction Let’s start by clarifying what we mean by cross-building and cross-packaging. Cross-compilation is the process of compiling source code on one platform, called the host, in order to generate an executable binary for a different target platform. The emphasis here is on the word “different”. The target platform may have a different CPU architecture, such as when we work on an x86 computer and want to build software for a Raspberry Pi board with an ARM CPU. [Read More]

Reverse dependencies

Dependencies are like pets, they bring joy but also require constant attention.

As start let’s sort it out what is dependency and what is reverse dependency. Dependencies and reverse dependencies in Linux distributions are important concepts to understand. A package dependency means that another package relies on it in order to function. For example, if package B requires package A to be installed in order to work, then package B is dependent on package A and is considered a reverse dependency of package A. [Read More]

Build system statistics

Okey, let's start with a boring cliché...

From time to time we should ask ourselves how are we doing. Are we successful, are we on the right track, are we heading to the right direction, are we fast enough, are we accelerating or slowing down? This time I am talking about the openSUSE Linux Distribution and about the SUSE Linux Enterprise Server. And here I quickly would like to note an important disclaimer with a short story. [Read More]

Checking changelogs with zypper

The future you see is the future you get.

I have heard way to often the question from Linux and specially SUSE Linux users that “How can I check the changelog of a package or new version of a package available on the repository, but not yet installed”. There was no easy answer for that question, so I have decided to make a little tool for that. How it is done All the enabled repositories have a bunch of configuration files in a well structured directory tree under the /var/cache/zypp/raw/. [Read More]

Data visualization with Grafana and Telegraf

There are decades where nothing happens; and there are weeks where decades happen.

It all started when… Few weeks ago we have decided to create a dashboard where we can monitor the status of the SUSE Linux Enterprise maintenance update queue. Naturally there are tons of cool open source solutions to build this type of monitoring. Two decades ago I probably would have written a Perl or Python based monitoring script for the monitoring part and use the good old gnuplot (http://www.gnuplot.info/) to visualize the data and create an active page written in some silly web UI framework. [Read More]

Contributing to SLE/openSUSE

What is the path of an upstream fix to a given codestream

The motivation of this post is to demonstrate how easy and logical is the workflow of an upstream change in a project to a given SUSE Linux codestream. I try to write this post in a codestream agnostic way. As I have experienced the workflow from the package maintainer point of view is the same for SUSE:SLE-15:Update and for openSUSE:Factory. What I want to do It all starts with a Bugzilla case. [Read More]

Playing with Shelly

Finally I can turn on the lights from CLI

For xmass I got few Shelly lamps to play with. Shelly lamps are simple IoT devices. Super easy to install, configure and use. The Youtube is full with instructions on what can be done with these smart lamps. Naturally my main motivation was to figure out how to hack these devices and how ready my openSUSE servers are with tools and services (spoiler: they are ready) Look daddy no cloud Needless to say that like most smart home automation devices the Shelly lamps can be operated via the Shelly cloud. [Read More]

Measuring web traffic with Matomo

You get what you measure

Matomo is an open source PHP/MySQL based web analytics application to track online visits to websites and displays reports on these visits. It does what Google Analytics does, but it is open source. Matomo has commercial cloud based offering for those who do not want to host their own instance but the code is there on GitHub (https://github.com/matomo-org/matomo) for anyone who is interested. I decided to first test drive the cloud based solution and then install my own instance. [Read More]

Private cloud based on openSUSE Leap 15.3 beta and Nextcloud

Be yourself. Unless you can be a unicorn, In that case, you should always be a unicorn.

Motivation I used to have a Synology DS414 server what worked well for about 8 years. Naturally, occasionally I had to change disks in the RAID5 system in it, but other than that it did its job. But regardless of the really smooth user experience and the low maintenance needs I never really liked that system as the Synology Disk Station Manager OS is not like many “real” Linux distributions and the community behind that OS is basically non existent. [Read More]

Setup a Blog With Github Pages and Hugo

Always be yourself. Except if you can be Batman, then be Batman!

GitHub pages are super powerful and very easy to use for creating markdown based static websites. In this post I will walk through how I made this very page. My setup will be two GitHub repositories, one for the source of the page (https://github.com/bzoltan1/blog-source) and the other where the html artifacts are deployed (https://github.com/bzoltan1/bzoltan1.github.io) Here I would like to note that it is possible to use a single repository with two branches, one for holding the the source and the other where the website is deployed. [Read More]

Telegram Bridge

Who reads system logs anyway?

Motivation I got lucky with my original hackweek project and I have managed to set up my Leap 15.3 based NAS and private cloud running on NextCloud earlier than planned. So I though that as an extra project I will set up a proper system monitoring service. The monit service is very handy (thanks for the idea to Paolo Stivanin) but by default it wants to send emails when something goes wrong. [Read More]