Setup the staging config #34
75
README.md
Normal file
75
README.md
Normal file
@@ -0,0 +1,75 @@
|
||||
# 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
|
||||
|
||||
```shell
|
||||
git submodule add -b factory ../../pool/$PACKAGE pkg/$DIRECTORY/$PACKAGE
|
||||
git commit
|
||||
```
|
||||
|
||||
### Remove a package source
|
||||
|
||||
```shell
|
||||
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
|
||||
|
||||
```shell
|
||||
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
|
||||
|
||||
5
_manifest
Normal file
5
_manifest
Normal file
@@ -0,0 +1,5 @@
|
||||
|
||||
# sub directories which provide package sources
|
||||
subdirectories:
|
||||
- pkgs/c
|
||||
|
||||
@@ -1,4 +1,16 @@
|
||||
{
|
||||
// Reference build project
|
||||
"ObsProject": "openSUSE:Factory",
|
||||
"ObsProject": "openSUSE:Factory:git",
|
||||
"StagingProject": "openSUSE:Factory:PullRequest"
|
||||
"QA": [
|
||||
{
|
||||
"Name": "Bootstrap",
|
||||
"Origin": "openSUSE:Factory:Rings:0-Bootstrap",
|
||||
"Label": "QA-Bootstrap"
|
||||
},
|
||||
{
|
||||
"Name": "MinimalX",
|
||||
"Origin": "openSUSE:Factory:Rings:1-MinimalX",
|
||||
"Label": "QA-MinimalX"
|
||||
}
|
||||
]
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user