Contents

Introduction

When you want to update multiple dependent packages, you can build the first package, request a buildroot override, build the second package … hold on, why am I getting so much email from koschei about broken dependencies?

The old way of building multiple packages left brokenness in its wake until the builds were all complete. If a package in the middle failed to build, then the brokenness could last for days, or weeks, or even months! Now there is a better way. For details, see these pages:

The following content is my cheat sheet on how to do this in the most common ways.

Create a side tag

To create a side tag for Rawhide, run:

fedpkg request-side-tag

To create a side tag for a branch, specify the base tag:

fedpkg request-side-tag --base-tag f35-build

Either way, if successful this command will print two commands for you. The first is a koji wait command. That command will block until the side tag is ready for you to use. Run it now. The other is a fedpkg build command to use when building a package. It contains a tag name. Make a note of that tag name; you’re going to need it later.

Build a package in a side tag

Push you changes to git, then run the build command printed by fedpkg request-side-tag. If you forgot the command, then just use the tag name in this command:

fedpkg build --target=[TAG NAME]

Wait for a package to appear in a side tag

After building a package in a side tag, the newly built package is not instantly ready to be used in further builds. Run this command to wait for it to be ready:

koji wait-repo --target [TAG NAME] --build [NEVR]

where NEVR is the full Name-Epoch-Version-Release of the package you just built; e.g., widgets-1.0-1.fc36.

Get mock configuration for a side tag

Oh no! A build failed. Now you want to diagnose it locally with a mock build, but it depends on other packages in the side tag. No problem! Get a mock configuration for your side tag like this:

fedpkg mock-config --taret [TAG NAME] > mock.cfg

Now you can do your mock build with mock -r ./mock.cfg --rebuild [package].

Find my side tags

What if I can’t remember which side tag I was working on, or I don’t recall if I ever cleaned up an old side tag? You can see a list of your side tags by running this command:

fedpkg list-side-tags --user [FAS name]