Archive for April, 2013

Koji RPM Build System Configuration and Usage

In the previous short article series I’ve shown you how to install Koji and all its components like Kojid, Kojira, Koji-Hub. However to fully use it we need to do some initial configuration that can only be persisted for a fresh install by a early DB Backup, I’ll remind you of that later.

To understand what we are doing here you need to know a bit more about Kojis philosophy:

Koji uses Tags to identify and mark various stages in the RPM building workflow. Some tags are logically linked together to the same flow, like building for a certain target distribution, e.g. CentOS6. We will call this target tag dist-centos6. But you can maintain multiple distribution-builds on the same Koji instance, just add more tags then according to this article.

We also need a tag that is used for builds and inherits the build target. We call this tag dist-centos6-build
Koji is building RPMs in a chroot with the mock tool. It also installs basic packages to those buildroots from the virtual yum package groups named build and srpm-build. So we need to tell Koji which packages we need. You can extend that list to your needs but choose wise: These packages are pulled in for every build then.
Also, Koji needs to know where to find/pull packages from, therefore we add external repositories, the base repo as the very first !!

Read more

Fix “App can’t be opened because it is from an unidentified developer” error on Mac OS X

You might have gotten this error saying

“.. can’t be opened because it is from an unidentified developer” / “.. kann nicht geöffnet werden, da es von einem nicht verifizierten Entwickler stammt.”

can't be opened because it is from an unidentified developer

Instead of turning off the security feature GateKeeper entirely which is suggested by most websites on this topic, you should rather make an exception for those applications that produce this error but you got them from a trusted source!

This is done fairly simple: Read more

Koji RPM Build System Installation Part 4

Lets see what we have running so far by the last articles of this series:

  • Postgresql DB
  • Koji-Hub
  • Koji CLI
  • Koji-Web

Thats all nice but useless unless we add something that actually does all the work, the actual RPM building…


Kojid, also called Koji-Builder, is the service that takes care of building your SRPM and RPMs. You can have dozens of builders, each on their own host, if you need to build alot of RPM. Fedoras own Koji instance is using around 50-60 build hosts ! So lets get started

Read more

Updating a git submodule from a forked repo on GitHub

Git submodules are a great way of adding 3rd-party libraries/modules to your project.
Basically you are forking the 3rd-party repo and add your own fork as submodule to your projects.

The benefits are that you can modify the fork to your needs and even open pull requests to the maintainer. If the maintainer updates his code you can then merge/update everything you want into your fork and keep your patches that didnt make it upstream.

Read more