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.2and above.Supported platform: STRICTLY depends on
Monteuravailability.
Installation Instructions
Download and place the recipe file into your
.configs/monteur/package/jobs/directory asdebuild.toml.Update the recipe's
Variables.GPGIDpointing to your GPG signing key.Update the recipe's
Packages.XXXand list all the packages. Duplicate if there are more build variants.Update the recipe's
Packages.XXX.OSlist all supported operating system. Minimum 1.Update the recipe's
Packages.XXX.Archlist all supported CPU architecture. Minimum 1.Update the recipe's
Packages.XXX.Changelogpointing to the package's corresponding filepath.Update the recipe's
Packages.XXX.Namefilename without file extension.Update the recipe's
Packages.XXX.Distributionlist of supported distributions.Update the recipe's
Packages.XXX.BuildSourceinstructs 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.Filesassemble the list of file for the package.
Changelog
NOT BACKWARD COMPATBILE - Removed
[Changelog]as Monteurv0.0.2supplies dedicated Prepare CI Job for this specific role."BACKWARD COMPATBILE - Abstracted as many
FMTVariablesto 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
Monteuravailability.
Installation Instructions
Download and place the recipe file into your
.configs/monteur/package/packagers/directory asdebuild.toml.Update the recipe's
Variables.ChangelogFromto track your source branch for changelog generations.Update the recipe's
Variables.ChangelogToto track your destination branch for changelog generations.Update the recipe's
Variables.GPGIDpointing to your GPG signing key.Update the recipe's
Changelog.LineBreakto match the output line break characters for obtaining changelog entry data.Update the recipe's
Changelog.Regexfor optionally filtering the changelog entry data.Update the recipe's
Packages.XXXand list all the packages. Duplicate if there are more build variants.Update the recipe's
Packages.XXX.OSlist all supported operating system. Minimum 1.Update the recipe's
Packages.XXX.Archlist all supported CPU architecture. Minimum 1.Update the recipe's
Packages.XXX.Namefilename without file extension.Update the recipe's
Packages.XXX.Distributionlist of supported distributions.Update the recipe's
Packages.XXX.BuildSourceinstructs 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.Filesassemble 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
gitto 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.