From Fedora Project Wiki
m
Line 1: Line 1:
 +
 +
== Overview ==
 +
 
Pungi is set of tools which is used by Release Engineering to create composes of Fedora and RHEL.
 
Pungi is set of tools which is used by Release Engineering to create composes of Fedora and RHEL.
 
Compose is currently one big process which does everything from depsolving to creation of rpm repos, isos, docker images.
 
Compose is currently one big process which does everything from depsolving to creation of rpm repos, isos, docker images.
Line 17: Line 20:
 
...
 
...
  
Sources for prototype
+
 
 +
== Sources for prototype ==
 +
 
  
 
* '''pungi-gather''' [https://pagure.io/fork/lkocman/pungi/branch/modularity-pungi-gather-only https://pagure.io/fork/lkocman/pungi/branch/modularity-pungi-gather-only]
 
* '''pungi-gather''' [https://pagure.io/fork/lkocman/pungi/branch/modularity-pungi-gather-only https://pagure.io/fork/lkocman/pungi/branch/modularity-pungi-gather-only]
 
* '''pungi''' (pungi-createrepo, pungi-createiso [https://pagure.io/fork/lkocman/pungi/branch/modularity https://pagure.io/fork/lkocman/pungi/branch/modularity]
 
* '''pungi''' (pungi-createrepo, pungi-createiso [https://pagure.io/fork/lkocman/pungi/branch/modularity https://pagure.io/fork/lkocman/pungi/branch/modularity]
 +
* '''productmd''' - the metadata glue for composes [https://github.com/lkocman/productmd/tree/modularity https://github.com/lkocman/productmd/tree/modularity]
 +
 +
 +
 +
== Documentation ==
 +
 +
http://people.redhat.com/~lkocman/ - Building distribution the RedHat way (presentation + tarball with examples) this specific demo is using upstream pungi (not the one for modularity)

Revision as of 13:46, 6 April 2016

Overview

Pungi is set of tools which is used by Release Engineering to create composes of Fedora and RHEL. Compose is currently one big process which does everything from depsolving to creation of rpm repos, isos, docker images.

The goal here is to split whole tool into several scripts doing just one thing right. Output of such tool would be wrapped into metadata (preferably json with python-library see productmd) so other tool can take it as input.


These individual tools would be

  • pungi-gather - takes some core packages as input (comps, json) , source repo for rpms (koji/local repo), some depsolving rules) and produces something that I'd like to call static manifest which would be list of NEVRAs linked into variant (type=(module|variant|addon ...)
  • pungi-createrepo - takes output as pungi-gather as input + configuration for pungi-createrepo (saying which checksum, which createrepo (createrepo|createrepo_c) ..., variant configuration (custom paths ...) ) and produces repositories in a tree wrapped by productmd metadata
  • pungi-createiso - takes output from pungi-createrepo as input + configuration for pungi-createiso (extra files (README), product information (ISO Labels) ) and produces iso files
  • pungi-image-build

...


Sources for prototype


Documentation

http://people.redhat.com/~lkocman/ - Building distribution the RedHat way (presentation + tarball with examples) this specific demo is using upstream pungi (not the one for modularity)