DEBuild Package Recipe
Montuer has a continuously developed package recipe dedicated for DEB archive
file distribution using 3rd-party DEBuild packager.
The objective is simple: to package the built project or app into
.deb
matching its archive distribution requirements using
debuild
.
All users has to do is to issue this command:
|
|
For this recipe, they are arranged based on its own semantic versioning and is not directly related to Monteur's actual release version. Hence, feel free to explore and update each versions to suit your CI needs.
Resources
This recipe is built and maintained based on the following resources:
DEBuild instructions - https://wiki.debian.org/BuildingTutorial
Monteur Package Data Structure - https://monteur.zoralab.com/en/ci-jobs/package/
One Time Setup
To ensure maximum compatibiltiy with the recipe implementation,
debuild
requires a ONE-TIME (1) setup on your
Debian-based operating system.
Cross Build
There is a very high chance that you will perform
cross-build in your current build system. Hence, you
need to at least make sure the correct
crossbuild-essentials
tools are readily
available in your operating system. Here are some
examples for installing cross-building essential tools
for armhf
and aarch64
:
|
|
DEBuild
Overrides
In some cases, you might need to override
dh_auto_build
and dh_shlipdeps
if you're using build tools elsewhere (e.g.
Go
already has its own build tools done
and ready).
These overrides can be done in your (default path)
.configs/monteur/app/config/[LANGUAGE]/debian.toml
data file under DEB.Rules
field. Here is
an example for Go complied package:
|
|
Recipe File
Here are all the Monteur Package CI Job recipe files
for operating DEBuild
semi-autonomously.
They are sorted by the latest version first, at the top.
Please read through its requiremnets and changes before
procuring.
Version v2.0.0
Download Link: debuild-v2p0p0.toml
Minimum Requirements
Montuer version:
v0.0.2
and above.Supported platform: STRICTLY depends on
Monteur
availability.
Installation Instructions
Download and place the recipe file into your
.configs/monteur/package/jobs/
directory asdebuild.toml
.Update the recipe's
Variables.GPGID
pointing to your GPG signing key.Update the recipe's
Packages.XXX
and list all the packages. Duplicate if there are more build variants.Update the recipe's
Packages.XXX.OS
list all supported operating system. Minimum 1.Update the recipe's
Packages.XXX.Arch
list all supported CPU architecture. Minimum 1.Update the recipe's
Packages.XXX.Changelog
pointing to the package's corresponding filepath.Update the recipe's
Packages.XXX.Name
filename without file extension.Update the recipe's
Packages.XXX.Distribution
list of supported distributions.Update the recipe's
Packages.XXX.BuildSource
instructs Monteur to build as source code package, not binary one, and not both. If both are required, use a separate recipe file.Update the recipe's
Packages.XXX.Files
assemble the list of file for the package.
Changelog
NOT BACKWARD COMPATBILE - Removed
[Changelog]
as Monteurv0.0.2
supplies dedicated Prepare CI Job for this specific role."BACKWARD COMPATBILE - Abstracted as many
FMTVariables
to many packages fields instead of hardcoding to specific ones.
Version v1.0.0
Download Link: debuild-v1p0p0.toml
Minimum Requirements
Montuer version:
v0.0.1
.Supported platform: STRICTLY depends on
Monteur
availability.
Installation Instructions
Download and place the recipe file into your
.configs/monteur/package/packagers/
directory asdebuild.toml
.Update the recipe's
Variables.ChangelogFrom
to track your source branch for changelog generations.Update the recipe's
Variables.ChangelogTo
to track your destination branch for changelog generations.Update the recipe's
Variables.GPGID
pointing to your GPG signing key.Update the recipe's
Changelog.LineBreak
to match the output line break characters for obtaining changelog entry data.Update the recipe's
Changelog.Regex
for optionally filtering the changelog entry data.Update the recipe's
Packages.XXX
and list all the packages. Duplicate if there are more build variants.Update the recipe's
Packages.XXX.OS
list all supported operating system. Minimum 1.Update the recipe's
Packages.XXX.Arch
list all supported CPU architecture. Minimum 1.Update the recipe's
Packages.XXX.Name
filename without file extension.Update the recipe's
Packages.XXX.Distribution
list of supported distributions.Update the recipe's
Packages.XXX.BuildSource
instructs Monteur to build as source code package, not binary one, and not both. If both are required, use a separate recipe file.Update the recipe's
Packages.XXX.Files
assemble the list of file for the package.
Changelog
BACKWARD COMPATBILE - Created the base TOML configuration recipe.
BACKWARD COMPATBILE - Tested with GitLab CI.
BACKWARD COMPATBILE - Using
git
to generate changelog entries between source and destination braches.
Epilogue
That's all for Monteur's Package CI Job handling DEBuild
packaging
tasks.
If you have any question, please feel free to raise your
question at our Issues
Section.