From be95ac32ffcb84f56d716b81a838222f3f63a097 Mon Sep 17 00:00:00 2001 From: Martin Curlej Date: May 12 2020 13:31:05 +0000 Subject: Added glossary page As modularity introduces a lot of new technical terms into the existing packaging environment, a glossary page has been added to serve as a quick reference to Modularity Issue: modularity#174 Signed-off-by: Martin Curlej --- diff --git a/modules/ROOT/nav.adoc b/modules/ROOT/nav.adoc index 2daee0a..f5b5262 100644 --- a/modules/ROOT/nav.adoc +++ b/modules/ROOT/nav.adoc @@ -1,6 +1,7 @@ * **What is Modularity** * xref:index.adoc[Introduction] * xref:community.adoc[Community] +* xref:glossary.adoc[Glossary] * xref:architecture.adoc[Core Concepts] ** xref:architecture/building.adoc[Building Software] ** xref:architecture/consuming.adoc[Consuming Software] diff --git a/modules/ROOT/pages/architecture/nsvca.adoc b/modules/ROOT/pages/architecture/nsvca.adoc index 2744c61..b078062 100644 --- a/modules/ROOT/pages/architecture/nsvca.adoc +++ b/modules/ROOT/pages/architecture/nsvca.adoc @@ -12,7 +12,7 @@ With the introduction of Modularity to the packager ecosystem it also introduced == Source-level module ID (NSV) -At the source level, modules are only identified by the first three: _name_, _stream_, and _version_. Name is defined as a name of the module’s repository in https://src.fedoraproject.org/[DistGit], stream is a name of the branch in https://src.fedoraproject.org/[DistGit], and version is the timestamp of a commit. +At the source level, modules are only identified by the first three: _name_, _stream_, and _version_. Name is defined as a name of the module’s repository in https://src.fedoraproject.org/[DistGit^], stream is a name of the branch in https://src.fedoraproject.org/[DistGit^], and version is the timestamp of a commit. === Name diff --git a/modules/ROOT/pages/glossary.adoc b/modules/ROOT/pages/glossary.adoc new file mode 100644 index 0000000..5d53f09 --- /dev/null +++ b/modules/ROOT/pages/glossary.adoc @@ -0,0 +1,46 @@ += Glossary + +As Modularity introduces a lot of new terms to the packaging environment, here you can find a small glossary for a quick introduction to the topic. + +1. **<>** +2. **<>** +3. **<>** +4. **<>** +5. **<>** +6. **<>** +7. **<>** +8. **<>** +9. **<>** +10. **<>** + +== Modularity +It’s a technology which is built on top of the standard rpm ecosystem. It enables you to create modular repositories which contain software which is built/bundled differently then the one available in an operating system release i. e. enables you to provide older/newer major versions of software to be available in one operating system release for example. + +== Module +Module is not a RPM. Module is a group of software defined in the Modularity ecosystem. It does not represent a specific “flavor” but all of the “flavors” of the given software in an operating system release i. e. it is a group of all the different “flavours” of the software represented by its name. + +== Module Stream (Application Stream) +Stream is a unit of software defined in the Modularity ecosystem. represents a specific “flavour” of a software. This means different major versions of the software or a different build of the software. The name of the stream is normally represented by the SVC branch of the given software in https://src.fedoraproject.org/[disgit^]. + +== Default Module Stream +It's a special stream which is installed if you don’t specify a stream when installing a module. Not all modules have default streams as it is not mandatory. + +== Module Artifact +The result of a module build is a module artifact. The artifact is represented by a directory which contains metadata files which define the module stream and one or more rpms which contain the software which this module stream represents. + +== Module Stream Expansion +Stream expansion is additional metadata you can specify in your modulemd file. The metadata specifies how and for what major releases of an operating system, your package will be built. +i. e. you can specify that mariadb:10 can be built for f29, f30, f31 and not built for f28 with specific options for each buildroot. + +== Module Metadata +Metadata which defines how a module should look like. It defines how and for what releases the module should be built and how it will look like after the build process is finished and how it will be installed. +The module metadata is stored in yaml format according to https://github.com/fedora-modularity/libmodulemd/tree/master/yaml_specs[modulemd specification^]. + +== NSVCA +This abbreviation describes the new naming conventions for modular packages i. e. Name:stream:version:context:architecture. For more information see this xref:nsvca.adoc[section]. + +== Modular Repository +Is a directory which holds all the artefacts which are produced by the build process of a module. Each module produces one directory. + +== Upgrade Path +A virtual path which describes with what patch a software should be updated. For example, dnf resolves those paths when we update our software with dnf update command.