2026-03-12 15:08:04 +01:00
2026-03-04 10:05:37 +01:00
2026-02-02 16:18:43 +01:00
2026-03-04 10:05:50 +01:00
2026-02-02 16:11:13 +01:00
2026-02-02 16:11:13 +01:00
2026-03-05 12:31:58 +01:00
2026-02-03 19:18:23 +01:00

The openSUSE Factory project

This project is managing the entire Factory, aka Tumbleweed distribution.

It defines the used package sources and additional configuration settings to build the binaries.

Package Sources

All package sources are organized below the pkgs directory. These are grouped again in subdirectories to avoid too large directory listings.

The _manifest file needs to get adapted in case a new subdirectory gets created or an existing one gets renamed.

Each package source is defined via a git submodule. The submodules defines

  • the origin url of the source (in .gitmodules)
  • the branch to follow (in .gitmodules)
  • the current used commit hash

Any submodule reference should be relative to allow a full replication on other git servers.

Add a new package source

  git submodule add -b factory ../../pool/$PACKAGE pkg/$DIRECTORY/$PACKAGE
  git commit

Remove a package source

  git rm pkg/$DIRECTORY/$PACKAGE
  git commit -a

This modifies also the .gitmodules file

Update a package source

This is usually done via our bot infrastucture. But in case a manual action is needed run

  git submodule update --init pkg/$DIRECTORY/$PACKAGE
  cd pkg/$DIRECTORY/$PACKAGE
  git pull # or checkout a specific commit/branch
  cd -
  git add pkg/$DIRECTORY/$PACKAGE
  git commit

Additional files

_manifest

Is the master git configuration file. Currently it is only used to define the package source structure of the project.

_config

The build configuration (aka prjconf).

workflow.config

Rules for the workflow-pr bot. The bot creates for any pull request against any used pool/$PACKAGE git repository factory branch also a pull request for this git project here.

staging.config

Defines test builds for any pull request to this project.

In any case the modified packages (aka git submodules) are build in the main pull request project. This is name openSUSE:Factory:PullRequest:PR_NUMBER

Additional further builds can be started in QA projects which are also defined in this file. A gitea label can get set on the pull request to create or remove these.

If any of them are used, the :Base project is created. This used to get a fixed binary snapshot to avoid influence from the moving openSUSE:Factory project.

The following templates are currently prepared:

MinimalX

This is building the modifed packages as well, plus all depending packages out of the reduced package set of MinimalX.

MinimalX-Full

This building the modified packages and in any case all package sources from MinimalX package selection. This is useful when a support package is updated (eg. any validation tool like rpmlint-mini), and it should get tested with all MinimalX packages.

Another example is an updated kernel to run stability or regression tests against it.

Factory

This is building the modifed packages as well, plus all depending packages of entire Factory.

Description
No description provided
Readme 802 KiB
Languages
Markdown 100%