Reprepro Release Recipe
Montuer has a continuously developed release recipe dedicated for reprepro,
a decentralized deb package distributions.
The objective is simple: to quickly and steadily upstream the built
.deb packages in a consistent, secured, and seamlessly
easy manner.
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:
Debian Reprepro Setup Specification - https://wiki.debian.org/DebianRepository/SetupWithReprepro
Monteur Release Data Structure - https://monteur.zoralab.com/en/ci-jobs/release/
One-Time Setup
Reprepro requires a ONE-TIME (1) setup to meet its
minimal requirements. This 3rd-party software ONLY works on
linux operating system. Its specifications is
available at
https://wiki.debian.org/DebianRepository/SetupWithReprepro.
The first thing to do is to create a persistent data directory
for it to house its workspace and configuration data. All you
need to do is:
Create the
conf/distributionsfile in your data directory (.DataDir). The content of the file is as such:1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26Origin: monteur.zoralab.com/releases/deb Label: ZORALab's Monteur Deb Package (Main Branch) Codename: main Suite: stable Architectures: amd64 Components: stable Description: software manufacturing automation tool in one single app. SignWith: [email protected] Origin: monteur.zoralab.com/releases/deb Label: ZORALab's Monteur Deb Package (Staging) Codename: staging Suite: unstable Architectures: amd64 Components: unstable Description: software manufacturing automation tool in one single app. SignWith: [email protected] Origin: monteur.zoralab.com/releases/deb Label: ZORALab's Monteur Deb Package (Next) Codename: next Suite: experimental Architectures: amd64 Components: experimental Description: software manufacturing automation tool in one single app. SignWith: [email protected]
OriginThe distribution URI where users source the packages from (and added into
/etc/apt/source.list.d) directory.
LabelName of the package series.
Codenamecontrolled field.
When in doubts, denotes it to your branch name.
SuiteDebian distribution suite. Please refer to the operating system manuals for compliant names.
When in doubts, sticks to
stable,unstable, orexperimental.
ArchitecturesSupported CPU architectures separated by space (
). Example:amd64 arm64 i386.Please refers to operating system manuals for accepted values or refer to Debian MultiArch Specification.
ComponentsDistribution components.
When in doubt, keep it to the same as
Suite.
DescriptionAbstract of the package.
When in doubt, use your
App.Abstractdata.
SignWithYour GPG signing key ID.
The above shall make your user to add your
sources.List in the following pattern:
|
|
and
apt search in the following pattern:
|
|
Recipe File
Here are all the Monteur Release CI Job recipe files
for operating Reprepro 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: reprepro-v2p0p0.toml
Minimum Requirements
Montuer version:
v0.0.2and above.Supported platform: STRICTLY depends on
repreproavailability.
Installation Instructions
Download and place the recipe file into your
.configs/monteur/release/jobsdirectory asreprepro.toml.Update the recipe's
Variables.GPGIDto match the signing GPG key.Update the recipe's
FMTVariables.Datapathpointing to yourconf/distributionsconfig file.Update the recipe's
Releases.Targetpointing to your output directory.Update the recipe's
Releases.Packages.XXXmatching the list of.debpackages. Duplicate the package data structure for more variants support.Update the recipe's
Releases.Packages.XXX.OSmatching the.debsupported operating system. Minimum 1.Update the recipe's
Releases.Packages.XXX.ARCHmatching the.debsupported CPU Architecture. Minimum 1.Update the recipe's
Releases.Packages.XXX.Sourcematching the.debpackage's filepath.Update the recipe's
Dependencieswhen needed to match your customization needs.Update the recipe's
CMDwhen needed to match your customization needs.
Changelog
NOT BACKWARD COMPATBILE - Formatted
Releases.Packages.XXX.Sourceto use new variables for matchingdebuildoverwritten package filename.NOT BACKWARD COMPATBILE - Added
Releases.Packages.XXX.OSandReleases.Packages.XXX.Archas required by Monteurv0.0.2Package Meta Processing function.
Version v1.0.0
Download Link: reprepro-v1p0p0.toml
Minimum Requirements
Montuer version: ONLY
v0.0.1.Supported platform: STRICTLY depends on
repreproavailability.
Installation Instructions
Download and place the recipe file into your
.configs/monteur/release/releasersdirectory asreprepro.toml.Update the recipe's
Variables.GPGIDto match the signing GPG key.Update the recipe's
FMTVariables.Datapathpointing to yourconf/distributionsconfig file.Update the recipe's
Releases.Targetpointing to your output directory.Update the recipe's
Releases.Packages.XXXmatching the list of.debpackages. Duplicate the package data structure for more variants support.Update the recipe's
Releases.Packages.XXX.OSmatching the.debsupported operating system. Minimum 1.Update the recipe's
Releases.Packages.XXX.ARCHmatching the.debsupported CPU Architecture. Minimum 1.Update the recipe's
Releases.Packages.XXX.Sourcematching the.debpackage's filepath.Update the recipe's
Dependencieswhen needed to match your customization needs.Update the recipe's
CMDwhen needed to match your customization needs.
Changelog
BACKWARD COMPATBILE - Created the base TOML configuration recipe.
BACKWARD COMPATBILE - Integrated with GitLab CI.
Epilogue
That's all for Monteur's Release CI Job handling Reprepro release
distribution system.
If you have any question, please feel free to raise your
question at our Issues
Section.