73 lines
3.3 KiB
Markdown
73 lines
3.3 KiB
Markdown
[](https://github.com/openSUSE/openSUSE-release-tools/actions?query=branch%3Amaster)
|
|
[](https://coveralls.io/github/openSUSE/openSUSE-release-tools?branch=master)
|
|
[](https://repology.org/metapackage/opensuse-release-tools)
|
|
|
|
# openSUSE-release-tools
|
|
|
|

|
|
|
|
Everything denoted with a cloud is largely in this repository while the rest is the [open-build-service (OBS)](https://github.com/openSUSE/open-build-service).
|
|
|
|
## Installation
|
|
|
|
For non-development usage just install the package.
|
|
|
|
zypper in openSUSE-release-tools
|
|
|
|
Many sub-packages are provided which can be found either by searching or [looking on the build service](https://build.opensuse.org/package/binaries/openSUSE:Tools/openSUSE-release-tools/openSUSE_Factory).
|
|
|
|
zypper se openSUSE-release-tools osc-plugin
|
|
|
|
If CI builds are needed add the [appropriate `openSUSE:Tools` repository](https://software.opensuse.org//download.html?project=openSUSE%3ATools&package=openSUSE-release-tools).
|
|
|
|
## Usage
|
|
|
|
All tools provide help documentation accessible via `--help`.
|
|
|
|
For `osc` plugins include the plugin name after `osc` like the following.
|
|
|
|
osc staging --help
|
|
|
|
For other tools execute the tool directly.
|
|
|
|
osrt-repo-checker --help
|
|
|
|
See the [docs](/docs) directory or a specific tool directory for specific tool documentation outside of `--help`. The [wiki](/wiki) also contains some additional documentation.
|
|
|
|
## Development
|
|
|
|
git clone https://github.com/openSUSE/openSUSE-release-tools.git
|
|
|
|
If working on an `osc` plugin create symlinks for the plugin and `osclib` in either `~/.osc-plugins` or `/usr/lib/osc-plugins`. For example to install the _staging_ plugin do the following.
|
|
|
|
mkdir -p ~/.osc-plugins
|
|
ln -sr ./osc-staging.py ./osclib ~/.osc-plugins
|
|
|
|
It can also be useful to work against a development copy of `osc` either to utilize new features or to debug/fix functionality. To do so one must place the development copy in the path to be loaded and utilize the wrapper script if working on `osc` plugins. One method to accomplish this is shown below.
|
|
|
|
# outside of openSUSE-release-tools checkout
|
|
git clone https://github.com/openSUSE/osc.git
|
|
|
|
# inside openSUSE-release-tools checkout
|
|
# note the ending /osc which points to the osc directory within the checkout
|
|
ln -s /path/to/osc/osc ./
|
|
|
|
# to utilize the wrapper for working on osc plugins from osrt checkout
|
|
$(realpath ./osc)/../osc-wrapper.py --version
|
|
|
|
A containerized OBS can be started via one command. The default credentials are `Admin` and `opensuse` on [0.0.0.0:3000](http://0.0.0.0:3000).
|
|
|
|
docker-compose -f dist/ci/docker-compose.yml up api
|
|
|
|
An `osc` alias is automatically configured as `local`.
|
|
|
|
osc -A local api /about
|
|
|
|
A facsimile of `openSUSE:Factory` in the form of a subset of the related data can be quickly created in a local OBS instance using the `obs_clone` tool.
|
|
|
|
./obs_clone.py --debug --apiurl-target local
|
|
|
|
Some tests will attempt to run against the local OBS, but not all.
|
|
|
|
nosetests
|