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. But even if the target platform has the same CPU architecture as the host, there may be several other possible differences. For example, the host may be running Debian Sid, while the target may be running openSUSE Leap. Different Linux distributions may have different compilers, linkers, and run-time libraries. Even when using the same distribution as the host for the target, they may be different releases, such as openSUSE Tumbleweed and Leap. In short, nothing guarantees that the target system will have the same shared libraries as the host system.

[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]