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:

1
monteur release

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:

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:

  1. 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]

The above shall make your user to add your sources.List in the following pattern:

1
2
3
4
deb https://{{- .Origin }} {{ .Codename }} {{ .Components }}

# example above:
deb https://monteur.zoralab.com/releases/deb main stable

and apt search in the following pattern:
1
2
3
4
5
6
{{ .AppName }}/{{- .Suite }} {{ .PkgVersion }} {{ .PkgArch }}
  {{ .Description }}

# example above:
monteur/stable 0.0.1 amd64
  software manufacturing automation tool in one single app.

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 as reprepro.toml.

  • Update the recipe's Variables.GPGID to match the signing GPG key.

  • Update the recipe's FMTVariables.Datapath pointing to your conf/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 matching debuild overwritten package filename.

  • NOT BACKWARD COMPATBILE - Added Releases.Packages.XXX.OS and Releases.Packages.XXX.Arch as required by Monteur v0.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 as reprepro.toml.

  • Update the recipe's Variables.GPGID to match the signing GPG key.

  • Update the recipe's FMTVariables.Datapath pointing to your conf/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.