buildswirl(1) General Commands Manual buildswirl(1)

buildswirlbuild a swirl package

./buildswirl swirls/<swirlname> [checksum]

cd swirls/<swirlname> && ../../buildswirl $PWD [checksum]

TABLE OF CONTENTS

This manual assumes you have followed the "QuickStart" instructions at swirlbuild(7).

The buildswirl utility builds a Debian package for a given swirlname, in your $SWIRLBUILD/repository directory, and then updates the necessary files to make that directory a basic Debian repository.

When applicable, buildswirl will build dbgsym (debug symbols) packages, and will make them available in the repository.

checksum

If it is appended to the command line, buildswirl will download all the source files necessary to build the swirl, compute their checksums, and then create a $SWIRLBUILD/<swirlname>/checksum file with them, provided that it does not exist.

If $SWIRLBUILD/<swirlname>/checksum exists, it will quit immediatly.

This option should not be used if you do not intend to create or maintain a swirl.

If you removed a package from the repository, the Packages and/or the Release files, the repository itself or added a third party deb package, you must update the metadata, otherwise apt(8) will error out.

To do so, you can issue:

$SWIRLBUILD/infrastructure/bin/repoupdate $SWIRLBUILD/repository

The same applies if you moved the $SWIRLBUILD tree or the $SWIRLBUILD/repository directory.

In case your intention is to not use swirlbuild and its repository anymore, you just need to remove the /etc/apt/sources.list.d/swirlpkg.list file as root to unlock the situation.

pbuilder(8) has its own apt(8) cache and packages store, that can be cleaned by using:

sudo pbuilder clean
sudo rm /var/cache/pbuilder/result/*

$SWIRLBUILD/distfiles

contains the downloaded sources of the swirl you have built. It can safely be removed, but at the next build sources will be downloaded again.

$SWIRLBUILD/logs

contains the logs generated during swirl builds. This can be safely removed.

$SWIRLBUILD/repository

Your local repository directory. buildswirl does not remove old packages, and there are no official way to do so, but $WEBSEARCHENGINE has some proposals. The Release and Packages files should never be removed.

After you are done, you must proceed as described in MANUALLY UPDATING THE REPOSITORY, MOVED/DELETED REPOSITORY

$SWIRLBUILD/myswirls

Files included in this directory are not tracked by git(1). If you want to put personal swirls inside your copy of the buildswirl repository, you can put them there.

The buildswirl utility exits 0 on success, and >0 if an error occurs.

This variable can be used if it is not specified in the buildfile, and will define the numbers of parallel jobs during various steps of the build. This may be useful if you are out of memory during a build. It may be overriden by a swirl if we have found out that a single job takes 4GB of memory or more, with a value of 1, which is rarely the case.

If it is the first time you are using buildswirl, it is recommended to read its intro at swirlbuild(7).

The packager reference is available at swirlbuild(5).

A swirl is mostly composed of files that will be executed on your computer. Among others, debian/rules and build are executed. Be careful to always download a swirl from a trusted source, or review the swirl to ensure no malicious code is executed.

Using the swirls/ directory is a convention, actually buildswirl should be able to work with any directory provided.

May 13, 2025 Debian stable