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/distributions
file 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 26
Origin: 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]
Origin
The distribution URI where users source the packages from (and added into
/etc/apt/source.list.d
) directory.
Label
Name of the package series.
Codename
controlled field.
When in doubts, denotes it to your branch name.
Suite
Debian distribution suite. Please refer to the operating system manuals for compliant names.
When in doubts, sticks to
stable
,unstable
, orexperimental
.
Architectures
Supported CPU architectures separated by space (
amd64 arm64 i386
.Please refers to operating system manuals for accepted values or refer to Debian MultiArch Specification.
Components
Distribution components.
When in doubt, keep it to the same as
Suite
.
Description
Abstract of the package.
When in doubt, use your
App.Abstract
data.
SignWith
Your 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.2
and above.Supported platform: STRICTLY depends on
reprepro
availability.
Installation Instructions
Download and place the recipe file into your
.configs/monteur/release/jobs
directory asreprepro.toml
.Update the recipe's
Variables.GPGID
to match the signing GPG key.Update the recipe's
FMTVariables.Datapath
pointing to yourconf/distributions
config file.Update the recipe's
Releases.Target
pointing to your output directory.Update the recipe's
Releases.Packages.XXX
matching the list of.deb
packages. Duplicate the package data structure for more variants support.Update the recipe's
Releases.Packages.XXX.OS
matching the.deb
supported operating system. Minimum 1.Update the recipe's
Releases.Packages.XXX.ARCH
matching the.deb
supported CPU Architecture. Minimum 1.Update the recipe's
Releases.Packages.XXX.Source
matching the.deb
package's filepath.Update the recipe's
Dependencies
when needed to match your customization needs.Update the recipe's
CMD
when needed to match your customization needs.
Changelog
NOT BACKWARD COMPATBILE - Formatted
Releases.Packages.XXX.Source
to use new variables for matchingdebuild
overwritten package filename.NOT BACKWARD COMPATBILE - Added
Releases.Packages.XXX.OS
andReleases.Packages.XXX.Arch
as required by Monteurv0.0.2
Package 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
reprepro
availability.
Installation Instructions
Download and place the recipe file into your
.configs/monteur/release/releasers
directory asreprepro.toml
.Update the recipe's
Variables.GPGID
to match the signing GPG key.Update the recipe's
FMTVariables.Datapath
pointing to yourconf/distributions
config file.Update the recipe's
Releases.Target
pointing to your output directory.Update the recipe's
Releases.Packages.XXX
matching the list of.deb
packages. Duplicate the package data structure for more variants support.Update the recipe's
Releases.Packages.XXX.OS
matching the.deb
supported operating system. Minimum 1.Update the recipe's
Releases.Packages.XXX.ARCH
matching the.deb
supported CPU Architecture. Minimum 1.Update the recipe's
Releases.Packages.XXX.Source
matching the.deb
package's filepath.Update the recipe's
Dependencies
when needed to match your customization needs.Update the recipe's
CMD
when 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.