buildswirl(1) | General Commands Manual | buildswirl(1) |
buildswirl
— build
a swirl package
./buildswirl |
swirls/<swirlname> [checksum] |
cd swirls/<swirlname> && ../../buildswirl
$PWD |
[checksum] |
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.
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/*
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.
contains the logs generated during swirl builds. This can be safely removed.
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
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.
MAKE_JOBS
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 |