| OSC(1) | Generated Python Manual | OSC(1) |
osc - openSUSE build service command-line tool
osc [global opts] <command> [--help] [opts] [args]
Manage persons
osc [global opts] person
usage: osc [global opts] person [-h] {register,search} ...
Register a new person (user)
usage: osc [global opts] register [-h] --login LOGIN --realname
REALNAME
--email EMAIL [--password PASSWORD]
[--note NOTE] [--state STATE]
options:
Search a person (user)
usage: osc [global opts] search [-h] [--login LOGIN]
[--login-contains SUBSTR]
[--realname-contains SUBSTR] [--email EMAIL]
[--email-contains SUBSTR]
options:
Manage repositories in project meta
osc [global opts] repo
usage: osc [global opts] repo [-h] {add,list,ls,remove,rm} ...
Add a repository to project meta
usage: osc [global opts] add [-h] --repo NAME --arch [ARCH]
--path [PROJECT/REPO] [--disable-publish] [--yes]
project
arguments:
options:
List repositories in project meta
usage: osc [global opts] list [-h] project
arguments:
Remove repositories from project meta
usage: osc [global opts] remove [-h] --repo [NAME] [--yes] project
arguments:
options:
Mark files to be added upon the next commit
usage: osc [global opts] add [-h] [-f]
In case a URL is given the file will get downloaded and registered to be downloaded by the server as well via the download_url source service.
This is recommended for release tar balls to track their source and to help others to review your changes esp. on version upgrades.
usage:
osc add URL [URL...]
osc add FILE [FILE...]
options:
Add channels to project
usage: osc [global opts] addchannels [-h] [-s] [-e]
The command adds all channels which are defined to be used for a given source package. The source link target is used to lookup the channels. The command can be used for a certain package or for all in the specified project.
In case no channel is defined the operation is just returning.
Examples:
osc addchannels [PROJECT [PACKAGE]]
options:
Add maintained containers for a give package
usage: osc [global opts] addcontainers [-h] [--extend-package-names]
The command adds all containers which are marked as maintained and contain an rpm originating from the specified source package.
Examples:
osc addcontainers [PROJECT PACKAGE]
options:
Adds new files, removes disappeared files
usage: osc [global opts] addremove [-h] [-r]
Adds all files new in the local copy, and removes all disappeared files.
ARG, if specified, is a package working copy.
options:
"Aggregate" a package to another package
usage: osc [global opts] aggregatepac [-h] [--nosources]
[-m SRC=TARGET[,SRC=TARGET]] [-d]
Aggregation of a package means that the build results (binaries) of a package are basically copied into another project. This can be used to make packages available from building that are needed in a project but available only in a different project. Note that this is done at the expense of disk space. See http://en.opensuse.org/openSUSE:Build_Service_Tips_and_Tricks#link_and_aggregate for more information.
The DESTPAC name is optional; the source packages' name will be used if DESTPAC is omitted.
usage:
osc aggregatepac SOURCEPRJ SOURCEPAC[:FLAVOR] DESTPRJ [DESTPAC]
options:
Issue an arbitrary request to the API
usage: osc [global opts] api [-h] [-X HTTP_METHOD] [-e] [-d
STRING] [-T FILE]
[-a NAME STRING NAME STRING]
url
Useful for testing.
URL can be specified either partially (only the path component), or fully with URL scheme and hostname ('http://...').
Note the global -A and -H options (see osc help).
Examples:
osc api /source/home:user
osc api -X PUT -T /etc/fstab source/home:user/test5/myfstab
osc api -e /configuration
arguments:
options:
Branch a package
usage: osc [global opts] branch [-h] [--nodevelproject] [-c] [-f]
[--add-repositories] [--extend-package-names]
[--noaccess] [-m TEXT] [-M] [-N] [-r rev]
[--linkrev linkrev]
[--add-repositories-block add_repositories_block]
[--add-repositories-rebuild add_repositories_rebuild]
[--disable-build]
[See http://en.opensuse.org/openSUSE:Build_Service_Collaboration for information on this topic.]
Create a source link from a package of an existing project to a new subproject of the requesters home project (home:branches:)
The branched package will live in
home:USERNAME:branches:PROJECT/PACKAGE if nothing else specified.
With getpac or bco, the branched package will come from one of
%(getpac_default_project)s (list of projects from
oscrc:getpac_default_project) if nothing else is specified on the command
line.
In case of branch errors, where the source has currently merge conflicts use --linkrev=base option.
usage:
osc branch
osc branch SOURCEPROJECT SOURCEPACKAGE
osc branch SOURCEPROJECT SOURCEPACKAGE TARGETPROJECT|.
osc branch SOURCEPROJECT SOURCEPACKAGE TARGETPROJECT|. TARGETPACKAGE
osc getpac SOURCEPACKAGE
osc bco ...
options:
Opens browser
usage: osc [global opts] browse [-h]
usage:
osc browse [PROJECT [PACKAGE]]
osc browse [REQUEST_ID]
Build a package on your local machine
usage: osc [global opts] build [-h] [--clean] [-o] [-l]
[--no-changelog]
[--rsync-src RSYNCSRCPATH]
[--rsync-dest RSYNCDESTPATH]
[--overlay OVERLAY] [--noinit] [--checks]
[--nochecks] [--no-verify] [--nodebugpackages]
[--skip-local-service-run] [-p DIR] [-k DIR]
[-M FLAVOR] [-x PAC] [-X FILE] [--root ROOT]
[-j N] [-t N] [--icecream N] [--ccache]
[--pkg-ccache /path/to/_ccache.tar] [--sccache]
[--sccache-uri redis://127.0.0.1:6389]
[--with X] [--without X] [--define 'X Y']
[--build-opt OPT] [--buildtool-opt OPT]
[--userootforbuild]
[--build-uid uid:gid|"caller"]
[--local-package] [--stage STAGE]
[--linksources] [--vm-memory MEMORY]
[--vm-disk-size DISKSIZE] [--vm-type TYPE]
[--vm-telnet TELNET] [--target TARGET]
[--alternative-project PROJECT] [-d]
[--disable-debuginfo] [-b] [--release N]
[--disable-cpio-bulk-download]
[--download-api-only] [--oldpackages DIR]
[--verbose-mode MODE] [--shell-after-fail]
[--shell-cmd COMMAND] [-f] [--host HOST]
[--trust-all-projects] [--nopreinstallimage]
[--just-print-buildroot] [--no-timestamps]
The command works from a package checkout (local changes are fine).
You can use `osc repos` to look up REPOSITORY and ARCH arguments.
If they are not set, `osc` choses from configured repos in this priority:
1. `build_repository` mentioned in config file
2. "standard"
3. "openSUSE_Factory"
4. "openSUSE_Tumbleweed"
5. last repo from the sorted list
BUILD_DESCR is either a RPM spec file, or a Debian dsc file.
The command honors packagecachedir, build-root and build-uid settings in oscrc, if present. You may want to set su-wrapper = 'sudo' in oscrc, and configure sudo with option NOPASSWD for /usr/bin/build.
If neither --clean nor --noinit is given, build will reuse an existing build-root again, removing unneeded packages and add missing ones. This is usually the fastest option.
If the package doesn't exist on the server please use the
--local-package option. If the project of the package doesn't exist on the
server use the --alternative-project <alternative-project> option.
Example:
osc build [OPTS] --alternative-project openSUSE:10.3 standard i586
BUILD_DESCR
usage:
osc build [OPTS] # will try to guess a build environment
osc build [OPTS] REPOSITORY ARCH BUILD_DESCR
osc build [OPTS] REPOSITORY ARCH
osc build [OPTS] REPOSITORY (ARCH = hostarch, BUILD_DESCR is detected
automatically)
osc build [OPTS] ARCH (REPOSITORY = build_repository (config option),
BUILD_DESCR is detected automatically)
osc build [OPTS] BUILD_DESCR (REPOSITORY = build_repository (config option),
ARCH = hostarch)
osc build [OPTS] (REPOSITORY = build_repository (config option), ARCH =
hostarch, BUILD_DESCR is detected automatically)
For debugging after a build you can jump into the build
environment:
osc shell [OPTS] REPOSITORY ARCH
Run a single command inside of the build environment:
osc shell --shell-cmd=COMMAND [OPTS] REPOSITORY ARCH
Useful `shell` OPTS
--noinit # for faster run
--shell-cmd=COMMAND
--shell-after-fail
--extra-pkgs=PACKAGE # install additional packages
To clean up the build environment run
osc wipe [OPTS]
osc wipe [OPTS] REPOSITORY ARCH
If you've set the used VM type in oscrc, it can be also overridden here
--vm-type=chroot # for faster, but uncleaner and unsecure build
--vm-type=kvm # for clean and secure build
--vm-type=qemu # for slow cross architecture build using system emulator
# Note: # Configuration can be overridden by envvars, e.g. # OSC_SU_WRAPPER overrides the setting of su-wrapper. # OSC_BUILD_ROOT overrides the setting of build-root. # OSC_PACKAGECACHEDIR overrides the setting of packagecachedir.
options:
Shows the build config
usage: osc [global opts] buildconfig [-h]
Shows the build configuration which is used in building a package. This command is mostly used internally by the 'build' command.
The returned data is the project-wide build configuration in a format which is directly readable by the build script. It contains RPM macros and BuildRequires expansions, for example.
The argument REPOSITORY an be taken from the first column of the
usage:
osc buildconfig REPOSITORY (in pkg or prj dir)
osc buildconfig PROJECT REPOSITORY
Shows the build history of a package
usage: osc [global opts] buildhistory [-h] [--csv] [-l limit] [-M FLAVOR]
The arguments REPOSITORY and ARCH can be taken from the first two columns of the 'osc repos' output.
usage:
osc buildhist REPOSITORY ARCHITECTURE
osc buildhist PROJECT PACKAGE[:FLAVOR] REPOSITORY ARCHITECTURE
options:
Shows the build info
usage: osc [global opts] buildinfo [-h] [--alternative-project
PROJECT] [-d]
[-M FLAVOR] [-x PAC] [-p DIR]
[--nodebugpackages]
Shows the build "info" which is used in building a package. This command is mostly used internally by the 'build' subcommand. It needs to be called from within a package directory.
The BUILD_DESCR argument is optional. BUILD_DESCR is a local RPM specfile or Debian "dsc" file. If specified, it is sent to the server, and the buildinfo will be based on it. If the argument is not supplied, the buildinfo is derived from the specfile which is currently on the source repository server.
The returned data is XML and contains a list of the packages used in building, their source, and the expanded BuildRequires.
The arguments REPOSITORY and ARCH are optional. They can be taken from the first two columns of the 'osc repos' output. If not specified, REPOSITORY defaults to the 'build_repository' config entry in your 'oscrc' and ARCH defaults to your host architecture.
usage:
in a package working copy:
osc buildinfo [OPTS] REPOSITORY ARCH BUILD_DESCR
osc buildinfo [OPTS] REPOSITORY (ARCH = hostarch, BUILD_DESCR is detected
automatically)
osc buildinfo [OPTS] ARCH (REPOSITORY = build_repository (config option),
BUILD_DESCR is detected automatically)
osc buildinfo [OPTS] BUILD_DESCR (REPOSITORY = build_repository (config
option), ARCH = hostarch)
osc buildinfo [OPTS] (REPOSITORY = build_repository (config option), ARCH =
hostarch, BUILD_DESCR is detected automatically)
Note: if BUILD_DESCR does not exist locally the remote BUILD_DESCR is
used
osc buildinfo [OPTS] PROJECT PACKAGE[:FLAVOR] REPOSITORY ARCH
[BUILD_DESCR]
options:
Shows the build log of a package
usage: osc [global opts] buildlog [-h] [-l] [--lastsucceeded] [-M
FLAVOR]
[-o OFFSET] [-s]
Shows the log file of the build of a package. Can be used to follow the log while it is being written. Needs to be called from within a package directory.
When called as buildlogtail (or blt) it just shows the end of the logfile. This is useful to see just a build failure reasons.
The arguments REPOSITORY and ARCH are the first two columns in the 'osc results' output. If the buildlog url is used buildlog command has the same behavior as remotebuildlog.
buildlog [REPOSITORY ARCH | BUILDLOGURL]
options:
Output the content of a file to standard output
usage: osc [global opts] cat [-h] [-r rev] [-e] [-u] [-D] [-M]
Examples:
osc cat file
osc cat project package file
osc cat project/package/file
osc cat http://api.opensuse.org/build/.../_log
osc cat http://api.opensuse.org/source/../_link
osc less file
osc less project package file
osc blame file
osc blame project package file
options:
Create request to change the devel package definition
usage: osc [global opts] changedevelrequest [-h] [-m TEXT]
[See http://en.opensuse.org/openSUSE:Build_Service_Collaboration for information on this topic.]
See the "request" command for showing and modifying existing requests.
usage:
osc changedevelrequest PROJECT PACKAGE DEVEL_PROJECT [DEVEL_PACKAGE]
options:
Check the constraints and view compliant workers
usage: osc [global opts] checkconstraints [-h] [--ignore-file] [-M FLAVOR]
Checks the constraints for compliant workers.
usage:
remote request:
osc checkconstraints [OPTS] PROJECT PACKAGE REPOSITORY ARCH
[CONSTRAINTSFILE]
in a package working copy:
osc checkconstraints [OPTS] REPOSITORY ARCH [CONSTRAINTSFILE]
osc checkconstraints [OPTS] CONSTRAINTSFILE
osc checkconstraints [OPTS]
options:
Check out content from the repository
usage: osc [global opts] checkout [-h] [-r rev] [-e] [-D] [-u]
[-M] [-c]
[-o outdir] [-s] [-S] [-l limit_size]
[--native-obs-package]
Check out content from the repository server, creating a local working copy.
When checking out a single package, the option --revision can be used to specify a revision of the package to be checked out.
When a package is a source link, then it will be checked out in expanded form. If --unexpand-link option is used, the checkout will instead produce the raw _link file plus patches.
usage:
osc co PROJECT [PACKAGE] [FILE]
osc co PROJECT # entire project
osc co PROJECT PACKAGE # a package
osc co PROJECT PACKAGE FILE # single file -> to current dir
while inside a project directory:
osc co PACKAGE # check out PACKAGE from project
with the result of rpm -q --qf '%%{DISTURL}\n' PACKAGE
osc co obs://API/PROJECT/PLATFORM/REVISION-PACKAGE
options:
Removes all untracked files from the package working copy
usage: osc [global opts] clean [-h] [-n]
Examples:
osc clean <path>
Note: if <path> is omitted it defaults to '.' (<path> has to be a package working copy)
Warning: This command removes all files with status '?'.
options:
Clean all previous downloaded assets
usage: osc [global opts] cleanassets [-h]
This is useful to prepare a new git commit.
List / create / delete comments
usage: osc [global opts] comment [-h] [-c COMMENT] [-p PARENT]
On create:
If -p is given a reply to the ID is created. Otherwise
a toplevel comment is created.
If -c is not given the default editor will be opened and
you can type your comment
usage:
osc comment list package PROJECT PACKAGE
osc comment list project PROJECT
osc comment list request REQUEST_ID
osc comment create [-p PARENT_ID] [-c COMMENT] package PROJECT PACKAGE
osc comment create [-p PARENT_ID] [-c COMMENT] project PROJECT
osc comment create [-p PARENT_ID] [-c COMMENT] request REQUEST_ID
osc comment delete ID
options:
Upload content to the repository server
usage: osc [global opts] commit [-h] [-m TEXT] [-n] [-F FILE] [-f]
[--skip-local-service-run]
Upload content which is changed in your working copy, to the repository server.
examples:
osc ci # current dir
osc ci <dir>
osc ci file1 file2 ...
options:
Get/set a config option
usage: osc [global opts] config [-h] [-d] [-s] [-p]
[--change-password]
[--select-password-store] [--no-echo] [--dump]
[--dump-full]
Examples:
osc config section option (get current value)
osc config section option value (set to value)
osc config section option --delete (delete option/reset to the default)
osc config section --change-password (changes the password in section
"section")
(section is either an apiurl or an alias or 'general')
osc config --dump (dump the complete configuration)
options:
Copy a package
usage: osc [global opts] copypac [-h] [-c] [-k] [-K] [-d] [-r rev]
[-t URL]
[-m TEXT] [-e]
A way to copy package to somewhere else.
It can be done across buildservice instances, if the -t option is used. In that case, a client-side copy and link expansion are implied.
Using --client-side-copy always involves downloading all files, and uploading them to the target.
The DESTPAC name is optional; the source packages' name will be used if DESTPAC is omitted.
If SOURCEPRJ or DESTPRJ is '.' it will be expanded to the PRJ of the current directory.
usage:
osc copypac SOURCEPRJ SOURCEPAC DESTPRJ [DESTPAC]
options:
This command is creating the necessary files to build using pbuild tool.
usage: osc [global opts] create-pbuild-config [-h] repository arch
It basically creates _config and _pbuild file in the project directory. Changes from there can not get submitted back, except the project is managed in git.
Examples:
osc cpc REPOSITORY ARCH
arguments:
Create a maintenance incident
usage: osc [global opts] createincident [-h] [-a ATTRIBUTE]
[--noaccess]
[-m TEXT]
[See https://openbuildservice.org/help/manuals/obs-user-guide/cha.obs.maintenance_setup.html for information on this topic.]
This command is asking to open an empty maintenance incident. This can usually only be done by a responsible maintenance team. Please see the "mbranch" command on how to full such a project content and the "patchinfo" command how add the required maintenance update information.
usage:
osc createincident [ MAINTENANCEPROJECT ]
options:
Create a request with multiple actions
usage: osc [global opts] createrequest [-h] [-a ACTION [[ARGS]
...]] [-m TEXT]
[-r REV] [-s REQUEST_ID]
[--nodevelproject] [--cleanup]
[--no-cleanup] [--no-update] [--yes]
usage:
osc creq [OPTIONS] [
-a submit SOURCEPRJ SOURCEPKG DESTPRJ [DESTPKG]
-a delete PROJECT [PACKAGE]
-a change_devel PROJECT PACKAGE DEVEL_PROJECT [DEVEL_PACKAGE]
-a add_me ROLE PROJECT [PACKAGE]
-a add_group GROUP ROLE PROJECT [PACKAGE]
-a add_role USER ROLE PROJECT [PACKAGE]
-a set_bugowner USER PROJECT [PACKAGE]
-a release PROJECT PACKAGE TARGET_PROJECT [[SOURCE_REPOSITORY]
TARGET_REPOSITORY]
]
Option -m works for all types of request actions, the rest work only for
submit.
Example:
osc creq -a submit -a delete home:someone:branches:openSUSE:Tools -a
change_devel openSUSE:Tools osc home:someone:branches:openSUSE:Tools -m
ok
This will submit all modified packages under current directory, delete
project home:someone:branches:openSUSE:Tools and change the devel project to
home:someone:branches:openSUSE:Tools for package osc in project
openSUSE:Tools.
options:
Mark files or package directories to be deleted upon the next 'checkin'
usage: osc [global opts] delete [-h] [-f]
usage:
cd .../PROJECT/PACKAGE
osc delete FILE [...]
cd .../PROJECT
osc delete PACKAGE [...]
This command works on check out copies. Use "rdelete" for working on server side only. This is needed for removing the entire project.
As a safety measure, projects must be empty (i.e., you need to delete all packages first).
If you are sure that you want to remove a package and all its files use '--force' switch. Sometimes this also works without --force.
options:
Request to delete (or 'drop') a package or project
usage: osc [global opts] deleterequest [-h] [-m TEXT] [-r
REPOSITORY] [--all]
[--accept-in-hours HOURS]
usage:
osc deletereq [-m TEXT] # works in checked out project/package
osc deletereq [-m TEXT] PROJECT PACKAGE
osc deletereq [-m TEXT] PROJECT [--all|--repository REPOSITORY]
options:
Dependson shows the build dependencies inside of a project, valid for a given repository and architecture
usage: osc [global opts] dependson [-h] [-M FLAVOR]
The command can be used to find build dependencies (wrt. a given repository and arch) that reside in the same project. To see all build dependencies use the buildinfo command.
This is no guarantee, since the new build might have changed dependencies.
NOTE: to see all binary packages, which can trigger a build you
need to
refer the buildinfo, since this command shows only the dependencies
inside of a project.
The arguments REPOSITORY and ARCH can be taken from the first two columns of the 'osc repos' output.
usage in package or project directory:
osc dependson REPOSITORY ARCH
usage:
osc dependson PROJECT [PACKAGE[:FLAVOR]] REPOSITORY ARCH
options:
Replace a link with its expanded sources
usage: osc [global opts] detachbranch [-h] [-m TEXT]
If a package is a link it is replaced with its expanded sources. The link does not exist anymore.
usage:
osc detachbranch # from a package working copy
osc detachbranch PROJECT PACKAGE
options:
Print the devel project / package of a package
usage: osc [global opts] develproject [-h]
Examples:
osc develproject [PROJECT PACKAGE]
Generates a diff
usage: osc [global opts] diff [-h] [-c rev] [-r rev1[:rev2]] [-M]
[-p] [-l]
[--missingok] [-u]
Generates a diff, comparing local changes against the repository server.
usage:
ARG, if specified, is a filename to include in the diff.
Default: all files.
osc diff --link
osc linkdiff
Compare current checkout directory against the link base.
osc diff --link PROJ PACK
osc linkdiff PROJ PACK
Compare a package against the link base (ignoring working copy changes).
options:
Shows all available distributions
usage: osc [global opts] distributions [-h]
This command shows the available distributions. For active distributions it shows the name, project and name of the repository and a suggested default repository name.
usage:
osc distributions
usage: osc [global opts] downloadassets [-h]
Enables channels
usage: osc [global opts] enablechannels [-h]
Enables existing channel packages in a project. Enabling means adding the needed repositories for building. The command can be used to enable a specific one or all channels of a project.
Examples:
osc enablechannels [PROJECT [PACKAGE]]
Download binaries to a local directory
usage: osc [global opts] getbinaries [-h] [-d DIR] [-M FLAVOR]
[--sources]
[--debuginfo] [--ccache]
This command downloads packages directly from the api server. Thus, it directly accesses the packages that are used for building others even when they are not "published" yet.
usage:
osc getbinaries REPOSITORY # works in checked out project/package (check out
all archs in subdirs)
osc getbinaries REPOSITORY ARCHITECTURE # works in checked out
project/package
osc getbinaries PROJECT REPOSITORY ARCHITECTURE
osc getbinaries PROJECT PACKAGE REPOSITORY ARCHITECTURE
osc getbinaries PROJECT PACKAGE REPOSITORY ARCHITECTURE FILE
options:
Give detailed help on a specific sub-command
usage: osc [global opts] help [-h]
usage:
%(prog)s [SUBCOMMAND]
Import a new package from a src.rpm
usage: osc [global opts] importsrcpkg [-h] [-p project] [-n name]
[-t title]
[-d description] [--delete-old-files]
[-c]
srpm
A new package dir will be created inside the project dir (if no project is specified and the current working dir is a project dir the package will be created in this project). If the package does not exist on the server it will be created too otherwise the meta data of the existing package will be updated (<title /> and <description />). The src.rpm will be extracted into the package dir. The files won't be committed unless you explicitly pass the --commit switch.
SRPM is the path of the src.rpm in the local filesystem, or an URL.
arguments:
options:
Print information about a working copy
usage: osc [global opts] info [-h]
Print information about each ARG (default: '.') ARG is a working-copy path.
Initialize a directory as working copy
usage: osc [global opts] init [-h] project [package] [scm_url]
Initialize an existing directory to be a working copy of an (already existing) buildservice project/package.
(This is the same as checking out a package and then copying sources into the directory. It does NOT create a new package. To create a package, use 'osc meta pkg ... ...')
You wouldn't normally use this command.
To get a working copy of a package (e.g. for building it or working on it, you would normally use the checkout command. Use "osc help checkout" to get help for it.
usage:
osc init PRJ
osc init PRJ PAC
osc init PRJ PAC SCM_URL
arguments:
Shows the job history of a project
usage: osc [global opts] jobhistory [-h] [--csv] [-l limit] [-M FLAVOR]
The arguments REPOSITORY and ARCH can be taken from the first two columns of the 'osc repos' output.
usage:
osc jobhist REPOSITORY ARCHITECTURE (in project dir)
osc jobhist PROJECT [PACKAGE[:FLAVOR]] REPOSITORY ARCHITECTURE
options:
"Link" a package to another package
usage: osc [global opts] linkpac [-h] [-C {add,copy,local}] [-c]
[-r rev] [-f]
[--disable-build] [-d] [-N]
A linked package is a clone of another package, but plus local modifications. It can be cross-project.
The TARGET_PACKAGE name is optional; the source packages' name will be used if TARGET_PACKAGE is omitted.
Afterwards, you will want to 'checkout TARGET_PROJECT TARGET_PACKAGE'.
To add a patch, add the patch as file and add it to the _link file. You can also specify text which will be inserted at the top of the spec file.
See the examples in the _link file.
NOTE: In case you want to fix or update another package, you
should use the 'branch'
command. A branch has correct repositories (and a link) setup up by default
and
will be cleaned up automatically after it was submitted back.
usage:
osc linkpac PROJECT PACKAGE TARGET_PROJECT [TARGET_PACKAGE]
osc linkpac TARGET_PROJECT [TARGET_PACKAGE] # from a package checkout
options:
Convert a package containing a classic link with patch to a branch
usage: osc [global opts] linktobranch [-h]
This command tells the server to convert a _link with or without a project.diff to a branch. This is a full copy with a _link file pointing to the branched place.
usage:
osc linktobranch # from a package working copy
osc linktobranch PROJECT PACKAGE
List sources or binaries on the server
usage: osc [global opts] list [-h] [-a ARCH] [-r REPO] [-b] [-e]
[-u] [-l]
[-D] [-M] [-R REVISION]
Examples for listing sources:
ls # list all projects (deprecated)
ls / # list all projects
ls . # take PROJECT/PACKAGE from current dir.
ls PROJECT # list packages in a project
ls PROJECT PACKAGE # list source files of package of a project
ls PROJECT PACKAGE <file> # list <file> if this file exists
ls -v PROJECT PACKAGE # verbosely list source files of package
ls -l PROJECT PACKAGE # verbosely list source files of package
ll PROJECT PACKAGE # verbosely list source files of package
LL PROJECT PACKAGE # verbosely list source files of expanded link
With --verbose, the following fields will be shown for each item:
MD5 hash of file (doesn't apply to binaries)
Revision number of the last commit
Size (in bytes)
Date and time of the last commit
Examples for listing binaries:
ls -b PROJECT # list all binaries of a project
ls -b PROJECT -a ARCH # list ARCH binaries of a project
ls -b PROJECT -r REPO # list binaries in REPO
ls -b PROJECT PACKAGE REPO ARCH
usage:
ls [PROJECT [PACKAGE]]
ls -b [PROJECT [PACKAGE [REPO [ARCH]]]]
options:
Shows the build log of a local buildchroot
usage: osc [global opts] localbuildlog [-h] [-o OFFSET] [-s]
usage:
osc lbl [REPOSITORY [ARCH]]
osc lbl # show log of newest last local build
options:
Locks a project or package
usage: osc [global opts] lock [-h] [-m TEXT]
usage:
osc lock PROJECT [PACKAGE]
options:
Shows the commit log of a package
usage: osc [global opts] log [-h] [-r rev] [-p] [--csv] [--xml] [-D] [-M]
usage:
osc log (inside working copy)
osc log remote_project [remote_package]
options:
Show maintainers according to server side configuration
usage: osc [global opts] maintainer [-h] [-b] [-B] [-e]
[--nodevelproject]
[-D devel_project] [-a user] [-A]
[-s user] [-S user] [-U USER] [-G GROUP]
[-d user] [-r role] [-m MESSAGE]
# Search for official maintained sources in OBS instance osc maintainer BINARY_OR_PACKAGE_NAME <options> osc maintainer -U <user> <options> osc maintainer -G <group> <options>
# Lookup via containers osc maintainer <options> osc maintainer PRJ <options> osc maintainer PRJ PKG <options>
The tool looks up the default responsible person for a certain project or package. When using with an OBS 2.4 (or later) server it is doing the lookup for a given binary according to the server side configuration of default owners.
The tool is also looking into devel packages and supports to fallback to the project in case a package has no defined maintainer.
Please use "osc meta pkg" in case you need to know the definition in a specific container.
PRJ and PKG default to current working-copy path.
options:
Create a request for starting a maintenance incident
usage: osc [global opts] maintenancerequest [-h] [-a ATTRIBUTE]
[-m TEXT]
[--release-project RELEASEPROJECT]
[--enforce-branching]
[--no-cleanup] [--cleanup]
[--incident INCIDENT]
[--incident-project INCIDENT_PROJECT]
[-s REQUEST_ID]
[See https://openbuildservice.org/help/manuals/obs-user-guide/cha.obs.maintenance_setup.html for information on this topic.]
This command is asking the maintenance team to start a maintenance incident based on a created maintenance update. Please see the "mbranch" command on how to create such a project and the "patchinfo" command how add the required maintenance update information.
usage:
osc maintenancerequest [ SOURCEPROJECT [ SOURCEPACKAGES RELEASEPROJECT ] ]
osc maintenancerequest .
The 2nd line when issued within a package directory provides a short cut to submit a single package (the one in the current directory) from the project of this package to be submitted to the release project this package links to. This syntax is only valid when specified from a package subdirectory.
options:
Search or branch multiple instances of a package
usage: osc [global opts] mbranch [-h] [-c] [-a ATTRIBUTE]
[-u UPDATE_ATTRIBUTE] [--dryrun] [--noaccess]
[--nodevelproject] [--version]
This command is used for searching all relevant instances of packages and creating links of them in one project. This is esp. used for maintenance updates. It can also be used to branch all packages marked before with a given attribute.
[See http://en.opensuse.org/openSUSE:Build_Service_Concept_Maintenance for information on this topic.]
The branched package will live in
home:USERNAME:branches:ATTRIBUTE:PACKAGE if nothing else specified.
If osc maintained or sm is issued only the relevant instances of a package will be shown. No branch will be created. This is similar to osc mbranch --dryrun.
usage:
osc sm [SOURCEPACKAGE] [-a ATTRIBUTE]
osc mbranch [ SOURCEPACKAGE [ TARGETPROJECT ] ]
options:
Show meta information, or edit it
usage: osc [global opts] meta [-h] [-a ATTRIBUTE]
[--attribute-defaults]
[--attribute-project] [--blame] [-f] [-F FILE]
[-r REV] [-m TEXT] [-e] [-c] [-R]
[-s ATTRIBUTE_VALUES] [--add ATTRIBUTE_VALUES]
[--delete]
Show or edit build service metadata of type <prj|pkg|prjconf|user|pattern>.
This command displays metadata on buildservice objects like projects, packages, or users. The type of metadata is specified by the word after "meta", like e.g. "meta prj".
prj denotes metadata of a buildservice project. prjconf denotes the (build) configuration of a project. pkg denotes metadata of a buildservice package. user denotes the metadata of a user. group denotes the metadata of a group. pattern denotes installation patterns defined for a project.
To list patterns, use 'osc meta pattern PRJ'. An additional argument will be the pattern file to view or edit.
With the --edit switch, the metadata can be edited. Per default, osc opens the program specified by the environmental variable EDITOR with a temporary file. Alternatively, content to be saved can be supplied via the --file switch. If the argument is '-', input is taken from stdin: osc meta prjconf home:user | sed ... | osc meta prjconf home:user -F -
For meta prj and prjconf updates optional commit messages can be applied with --message.
When trying to edit a non-existing resource, it is created implicitly.
Examples:
osc meta prj PRJ
osc meta pkg PRJ PKG
osc meta pkg PRJ PKG -e
usage:
osc meta <prj|prjconf> [-r|--revision REV] ARGS...
osc meta <prj|pkg|prjconf|user|group|pattern> ARGS...
osc meta <prj|pkg|prjconf|user|group|pattern> [-m|--message TEXT]
-e|--edit ARGS...
osc meta <prj|pkg|prjconf|user|group|pattern> [-m|--message TEXT]
-F|--file ARGS...
osc meta pattern --delete PRJ PATTERN
osc meta attribute PRJ [PKG [SUBPACKAGE]] [--attribute ATTRIBUTE] [--create
[--set <value_list>]|--delete|--set <value_list>]
options:
Create a new package under version control
usage: osc [global opts] mkpac [-h]
usage:
osc mkpac new_package
Move SOURCE file to DEST and keep it under version control
usage: osc [global opts] mv [-h] [-f] source dest
arguments:
options:
Show waiting work, packages, projects or requests involving yourself
usage: osc [global opts] my [-h] [-b] [-m] [-a] [-U USER]
[--exclude-project EXCLUDE_PROJECT] [--maintained]
Examples:
# list all open tasks for me
osc my [work]
# list packages where I am bugowner
osc my pkg -b
# list projects where I am maintainer
osc my prj -m
# list request for all my projects and packages
osc my rq
# list requests, excluding project 'foo' and 'bar'
osc my rq --exclude-project foo,bar
# list requests I made
osc my sr
usage:
osc my <TYPE>
where TYPE is one of requests, submitrequests,
projects or packages (rq, sr, prj or pkg)
options:
Generate and edit a patchinfo file
usage: osc [global opts] patchinfo [-h] [-f]
A patchinfo file describes the packages for an update and the kind of problem it solves.
This command either creates a new _patchinfo or updates an existing one.
Examples:
osc patchinfo
osc patchinfo [PROJECT [PATCH_NAME]]
options:
Quick alias to diff the content of a package with its parent
usage: osc [global opts] pdiff [-h] [-p] [-n]
usage:
osc pdiff [--plain|-p] [--nomissing-ok|-n]
osc pdiff [--plain|-p] [--nomissing-ok|-n] PKG
osc pdiff [--plain|-p] [--nomissing-ok|-n] PRJ PKG
options:
Server-side diff of two projects
usage: osc [global opts] prdiff [-h] [-r] [-e REGEXP] [-i REGEXP]
[-n] [-o]
[-u] [-d]
Compares two projects and either summarizes or outputs the differences in full. In the second form, a project is compared with one of its branches inside a home:$USER project (the branch is treated as NEWPRJ). The home branch is optional if the current working directory is a checked out copy of it.
usage:
osc prdiff [OPTIONS] OLDPRJ NEWPRJ
osc prdiff [OPTIONS] [home:$USER:branch:$PRJ]
options:
Shows project-wide build results
usage: osc [global opts] prjresults [-h] [-b] [-w] [-c] [--xml]
[-s STATUS]
[-n EXPR] [-a ARCH] [-r REPO] [-V]
[--show-excluded]
usage:
osc prjresults (inside working copy)
osc prjresults PROJECT
options:
Merge the changes of the link target into your working copy
usage: osc [global opts] pull [-h]
Delete a project or packages on the server
usage: osc [global opts] rdelete [-h] [-r] [-f] [-m TEXT]
As a safety measure, project must be empty (i.e., you need to delete all packages first). Also, packages must have no requests pending (i.e., you need to accept/revoke such requests first). If you are sure that you want to remove this project and all its packages use '--recursive' switch. It may still not work because other depends on it. If you want to ignore this as well use '--force' switch.
usage:
osc rdelete [-r] [-f] PROJECT [PACKAGE]
options:
Server-side "pretty" diff of two packages
usage: osc [global opts] rdiff [-h] [--issues-only] [-M] [-r
N[:M]] [-p]
[-c rev] [--missingok] [-u] [--xml]
Compares two packages (three or four arguments) or shows the changes of a specified revision of a package (two arguments)
If no revision is specified the latest revision is used.
usage:
osc rdiff OLDPRJ OLDPAC NEWPRJ [NEWPAC]
osc rdiff PROJECT PACKAGE
osc rdiff PROJECT --meta
options:
Trigger package rebuilds
usage: osc [global opts] rebuild [-h] [-a ARCH] [-r REPO] [-f] [-M
FLAVOR]
[--all]
Note that it is normally NOT needed to kick off rebuilds like this, because they principally happen in a fully automatic way, triggered by source check-ins. In particular, the order in which packages are built is handled by the build service.
The arguments REPOSITORY and ARCH can be taken from the first two columns of the 'osc repos' output.
usage:
osc rebuild [PROJECT [PACKAGE[:FLAVOR] [REPOSITORY [ARCH]]]]
options:
Release sources and binaries
usage: osc [global opts] release [-h] [-a ARCH] [-r REPO]
[--target-project TARGETPROJECT]
[--target-repository TARGETREPOSITORY]
[--set-release RELEASETAG] [--no-delay]
This command is used to transfer sources and binaries without rebuilding them. It requires defined release targets set to trigger="manual".
usage:
osc release [PROJECT [PACKAGE]]
options:
Create a release request
usage: osc [global opts] releaserequest [-h] [-m TEXT] [-p PKG]
For maintenance incident projects:
This command is used by the maintenance team to start the release process of a maintenance update. This includes usually testing based on the defined reviewers of the update project.
[See
https://openbuildservice.org/help/manuals/obs-user-guide/cha.obs.maintenance_setup.html
for information on this topic.]
For normal projects:
This command is used to transfer sources and binaries without rebuilding them. It requires defined release targets set to trigger="manual".
[See
https://openbuildservice.org/help/manuals/obs-user-guide/cha.obs.request_and_review_system.html
for information on this topic.]
usage:
osc releaserequest [-p package] [ SOURCEPROJECT ]
options:
Shows the build log of a package
usage: osc [global opts] remotebuildlog [-h] [-l]
[--lastsucceeded]
[-M FLAVOR] [-o OFFSET] [-s]
Shows the log file of the build of a package. Can be used to follow the log while it is being written.
remotebuildlogtail shows just the tail of the log file.
usage:
osc remotebuildlog project package[:flavor] repository arch
or
osc remotebuildlog project/package[:flavor]/repository/arch
or
osc remotebuildlog buildlogurl
options:
Repair a broken source link
usage: osc [global opts] repairlink [-h] [-d DIR]
This command checks out a package with merged source changes. It uses a 3-way merge to resolve file conflicts. After reviewing/repairing the merge, use 'osc resolved ...' and 'osc ci' to re-create a working source link.
usage: * For merging conflicting changes of a checkout package:
osc repairlink
* Check out a package and merge changes:
osc repairlink PROJECT PACKAGE
* Pull conflicting changes from one project into another one:
osc repairlink PROJECT PACKAGE INTO_PROJECT [INTO_PACKAGE]
options:
Try to repair an inconsistent working copy
usage: osc [global opts] repairwc [-h] [--force-apiurl]
Examples:
osc repairwc <path>
Note: if <path> is omitted it defaults to '.' (<path> can be a project or package working copy)
Warning: This command might delete some files in the storedir (.osc). Please check the state of the wc afterwards (via 'osc status').
options:
Shows repositories configured for a project
usage: osc [global opts] repositories [-h]
It skips repositories by default which are disabled for a given package.
usage:
osc repos
osc repos [PROJECT] [PACKAGE]
Shows URLs of .repo files
usage: osc [global opts] repourls [-h]
Shows URLs on which to access the project repositories.
usage:
osc repourls [PROJECT]
Show or modify requests and reviews
usage: osc [global opts] request [-h] [-d] [-S SUPERSEDED_REQUEST]
[-u]
[--no-devel] [-m TEXT] [-t TYPE] [-a] [-f]
[-s STATE] [-D DAYS] [-U USER] [-G GROUP]
[-P PROJECT] [-p PACKAGE] [-b] [-M] [-B] [-e]
[-i] [--or-revoke] [--non-interactive]
[--exclude-target-project EXCLUDE_TARGET_PROJECT]
[--keep-packages-locked] [--incoming]
[--involved-projects]
[--target-package-filter TARGET_PACKAGE_FILTER]
[--source-buildstatus]
[See http://en.opensuse.org/openSUSE:Build_Service_Collaboration for information on this topic.]
The 'request' command has the following sub commands:
"list" lists open requests attached to a project or package or person. Uses the project/package of the current directory if none of -M, -U USER, project/package are given.
"log" will show the history of the given ID
"show" will show the request itself, and generate a diff for review, if used with the --diff option. The keyword show can be omitted if the ID is numeric.
"decline" will change the request state to "declined"
"reopen" will set the request back to new or review.
"setincident" will direct "maintenance" requests into specific incidents
"supersede" will supersede one request with another existing one.
"revoke" will set the request state to
"revoked" WARNING: Revoking a maitenance release request unlocks
packages in the source project.
To avoid unlocking, use the --keep-packages-locked option.
"accept" will change the request state to "accepted" and will trigger the actual submit process. That would normally be a server-side copy of the source package to the target package.
"approve" marks a requests in "review" state as approved. This request will get accepted automatically when the last review got accepted.
"checkout" will checkout the request's source package ("submit" requests only).
"prioritize" change the priority of a request to either "critical", "important", "moderate" or "low"
The 'review' command has the following sub commands:
"list" lists open requests that need to be reviewed by the specified user or group
"add" adds a person or group as reviewer to a request
"accept" mark the review positive
"decline" mark the review negative. A negative review will decline the request.
usage:
osc request list [-M] [-U USER] [-s state] [-D DAYS] [-t type] [-B] [PRJ
[PKG]]
osc request log ID
osc request [show] [-d] [-b] ID
osc request accept [-m TEXT] ID
osc request approve [-m TEXT] ID
osc request cancelapproval [-m TEXT] ID
osc request decline [-m TEXT] ID
osc request revoke [-m TEXT] ID
osc request reopen [-m TEXT] ID
osc request setincident [-m TEXT] ID INCIDENT
osc request supersede [-m TEXT] ID SUPERSEDING_ID
osc request approvenew [-m TEXT] PROJECT
osc request prioritize [-m TEXT] ID PRIORITY
osc request checkout/co ID
osc request clone [-m TEXT] ID
osc review show [-d] [-b] ID
osc review list [-U USER] [-G GROUP] [-P PROJECT [-p PACKAGE]] [-s state]
osc review add [-m TEXT] [-U USER] [-G GROUP] [-P PROJECT [-p PACKAGE]] ID
osc review accept [-m TEXT] [-U USER] [-G GROUP] [-P PROJECT [-p PACKAGE]] ID
osc review decline [-m TEXT] [-U USER] [-G GROUP] [-P PROJECT [-p PACKAGE]]
ID
osc review reopen [-m TEXT] [-U USER] [-G GROUP] [-P PROJECT [-p PACKAGE]] ID
osc review supersede [-m TEXT] [-U USER] [-G GROUP] [-P PROJECT [-p PACKAGE]]
ID SUPERSEDING_ID
options:
Requests to add user as maintainer or bugowner
usage: osc [global opts] requestmaintainership [-h] [-m TEXT] [-r role]
usage:
osc requestmaintainership # for current user in checked out package
osc requestmaintainership USER # for specified user in checked out package
osc requestmaintainership PROJECT # for current user if cwd is not a checked
out package
osc requestmaintainership PROJECT group:NAME # request for specified group
osc requestmaintainership PROJECT PACKAGE # for current user
osc requestmaintainership PROJECT PACKAGE USER # request for specified user
osc requestmaintainership PROJECT PACKAGE group:NAME # request for specified
group
osc requestbugownership ... # accepts same parameters but uses bugowner
role
options:
Remove 'conflicted' state on working copy files
usage: osc [global opts] resolved [-h]
If an upstream change can't be merged automatically, a file is put into in 'conflicted' ('C') state. Within the file, conflicts are marked with special <<<<<<< as well as ======== and >>>>>>> lines.
After manually resolving all conflicting parts, use this command to remove the 'conflicted' state.
Note: this subcommand does not semantically resolve conflicts or remove conflict markers; it merely removes the conflict-related artifact files and allows PATH to be committed again.
usage:
osc resolved FILE [FILE...]
Restart the build of a certain project or package
usage: osc [global opts] restartbuild [-h] [-a ARCH] [-M FLAVOR]
[-r REPO]
[--all]
usage:
osc restartbuild [PROJECT [PACKAGE[:FLAVOR] [REPOSITORY [ARCH]]]]
options:
Shows the build results of a package or project
usage: osc [global opts] results [-h] [-l] [-r REPO] [-a ARCH]
[-b]
[--no-multibuild] [-M FLAVOR] [-V] [-w] [-F]
[-s STATUS_FILTER] [-f] [--xml] [--csv]
[--format FORMAT] [--show-excluded]
usage:
osc results # (inside working copy of PRJ or PKG)
osc results PROJECT [PACKAGE[:FLAVOR]]
options:
Restore changed files or the entire working copy
usage: osc [global opts] revert [-h] file [file ...]
Examples:
osc revert <modified file(s)>
osc revert . Note: this only works for package working copies
arguments:
Shows the rpmlint logfile
usage: osc [global opts] rpmlintlog [-h]
Shows the rpmlint logfile to analyse if there are any problems with the spec file and the built binaries.
usage:
osc rpmlintlog project package repository arch
Remove source files from selected package
usage: osc [global opts] rremove [-h] [-f] project package file [file ...]
arguments:
options:
Search for a project and/or package
usage: osc [global opts] search [-h] [--repos-baseurl] [-e] [-s]
[--package]
[--project] [--title] [--description]
[-a ATTRIBUTE] [-V] [-i] [-b] [-m] [-M]
[--csv] [--binary] [-B PROJECT]
[--binaryversion VERSION]
If no option is specified osc will search for projects and packages which contains the 'search term' in their name, title or description.
usage:
osc search 'search term' <options>
osc bse ... ('osc search --binary')
osc se 'perl(Foo::Bar)' ('osc search --package perl-Foo-Bar')
options:
Trigger a sysrq in a running build
usage: osc [global opts] sendsysrq [-h] [-M FLAVOR]
This is only going to work when the build is running in a supported VM. Also only a subset of sysrq are supported. Typical use case for debugging are 9, t and w in this sequence.
usage:
osc sendsysrq REPOSITORY ARCH SYSRQ
osc sendsysrq PROJECT PACKAGE[:FLAVOR] REPOSITORY ARCH SYSRQ
options:
Handle source services
usage: osc [global opts] service [-h] [-v]
Source services can be used to modify sources like downloading files, verify files, generating files or modify existing files.
usage:
osc service COMMAND (inside working copy)
osc service run [SOURCE_SERVICE]
osc service runall
osc service manualrun [SOURCE_SERVICE]
osc service remoterun [PROJECT PACKAGE]
osc service merge [PROJECT PACKAGE]
osc service wait [PROJECT PACKAGE]
COMMAND can be:
run r run defined services with modes "trylocal",
"localonly", or no mode set locally,
may take an optional parameter to run only a specified source service. In
case
parameters exist for this one in _service file they are used.
runall ra run all services independent of the used mode
manualrun mr run all services with mode "manual", may take an
optional parameter to run only a
specified source service
remoterun rr trigger a re-run on the server side
merge commits all server side generated files and drops the _service
definition
wait waits until the service finishes and returns with an error if it
failed
Not for common usage anymore:
localrun lr the same as "run" but services with mode
"serveronly" are also executed
disabledrun dr run all services with mode "disabled"
options:
Set the devel project / package of a package
usage: osc [global opts] setdevelproject [-h] [-u]
Examples:
osc setdevelproject [PROJECT PACKAGE] DEVEL_PROJECT [DEVEL_PACKAGE]
options:
Updates a revision number in a source link
usage: osc [global opts] setlinkrev [-h] [-r rev] [-R] [-u] [--vrev vrev]
This command adds or updates a specified revision number in a source link. The current revision of the source is used, if no revision number is specified.
usage:
osc setlinkrev
osc setlinkrev PROJECT [PACKAGE]
options:
Show all packages linking to a given one
usage: osc [global opts] showlinked [-h]
Examples:
osc showlinked [PROJECT PACKAGE]
Manage Project Signing Key
usage: osc [global opts] signkey [-h] [--create] [--extend]
[--delete]
[--notraverse] [--sslcert]
osc signkey [--create|--delete|--extend] <PROJECT> osc signkey [--notraverse] <PROJECT>
This command is for managing gpg keys. It shows the public key by default. There is no way to download or upload the private part of a key by design.
However you can create a new own key. You may want to consider to sign the public key with your own existing key.
If a project has no key, the key from upper level project will be used (e.g. when dropping "KDE:KDE4:Community" key, the one from "KDE:KDE4" will be used).
WARNING: THE OLD KEY CANNOT BE RESTORED AFTER USING DELETE OR CREATE
options:
Show status of files in working copy
usage: osc [global opts] status [-h] [-e]
Show the status of files in a local working copy, indicating whether files have been changed locally, deleted, added, ...
The first column in the output specifies the status and is one of
the following characters:
' ' no modifications (shown only in verbose output)
'A' Added
'C' Conflicted
'D' Deleted
'M' Modified
'R' Replaced (file was deleted and added again afterwards)
'?' item is not under version control
'!' item is missing (removed by non-osc command) or incomplete
'S' item is skipped (item exceeds a file size limit or is _service:* file)
'F' Frozen (use "osc pull" to merge conflicts) (package-only
state)
examples:
osc st
osc st <directory>
osc st file1 file2 ...
usage:
osc status [OPTS] [PATH...]
options:
Create request to submit source into another Project
usage: osc [global opts] submitrequest [-h] [-m TEXT] [-F FILE]
[-r REV]
[-s REQUEST_ID] [--nodevelproject]
[--separate-requests] [--cleanup]
[--no-cleanup] [--no-update]
[--update-link] [-d] [--yes]
[See http://en.opensuse.org/openSUSE:Build_Service_Collaboration for information on this topic.]
See the "request" command for showing and modifying existing requests.
usage:
osc submitreq [OPTIONS]
osc submitreq [OPTIONS] DESTPRJ [DESTPKG]
osc submitreq [OPTIONS] SOURCEPRJ SOURCEPKG DESTPRJ [DESTPKG]
osc submitpac ... is a shorthand for osc submitreq --cleanup ...
options:
Show and manage authentication token
usage: osc [global opts] token [-h] [-c] [-d TOKENID] [-o
OPERATION]
[-t TOKENSTRING] [--scm-token SCM_TOKEN]
[-a ARCH] [-r REPO] [--target-project PROJECT]
[--target-repo REPO]
[--set-release RELEASE_TAG]
Authentication token can be used to run specific commands without sending credentials.
usage:
osc token
osc token --create --operation <OPERATION> [<PROJECT>
<PACKAGE>]
osc token --delete <TOKENID>
osc token --trigger <TOKENSTRING> [--operation <OPERATION>]
[<PROJECT> <PACKAGE>]
options:
Show reason why a package got triggered to build
usage: osc [global opts] triggerreason [-h] [-M FLAVOR]
The server decides when a package needs to get rebuild, this command shows the detailed reason for a package. A brief reason is also stored in the jobhistory, which can be accessed via "osc jobhistory".
Trigger reasons might be:
- new build (never build yet or rebuild manually forced)
- source change (e.g. on updating sources)
- meta change (packages which are used for building have changed)
- rebuild count sync (In case that it is configured to sync release
numbers)
usage in package or project directory:
osc triggerreason REPOSITORY ARCH
osc triggerreason PROJECT PACKAGE[:FLAVOR] REPOSITORY ARCH
options:
Restores a deleted project or package on the server
usage: osc [global opts] undelete [-h] [-m TEXT]
The server restores a package including the sources and meta configuration. Binaries remain to be lost and will be rebuild.
usage:
osc undelete PROJECT
osc undelete PROJECT PACKAGE
options:
Unlocks a project or package
usage: osc [global opts] unlock [-h] [-m TEXT]
Unlocks a locked project or package. A comment is required.
usage:
osc unlock PROJECT [PACKAGE]
options:
Update a working copy
usage: osc [global opts] update [-h] [-r REV] [--linkrev REV] [-u]
[-e] [-s]
[-S] [-l limit_size]
examples:
1. osc up
If the current working directory is a package, update it.
If the directory is a project directory, update all contained
packages, AND check out newly added packages.
To update only checked out packages, without checking out new
ones, you might want to use "osc up *" from within the project
dir.
2. osc up PAC
Update the packages specified by the path argument(s)
When --expand-link is used with source link packages, the expanded sources will be checked out. Without this option, the _link file and patches will be checked out. The option --unexpand-link can be used to switch back to the "raw" source with a _link file plus patch(es).
options:
Update package meta information from a specfile
usage: osc [global opts] updatepacmetafromspec [-h] [--specfile FILE]
ARG, if specified, is a package working copy.
options:
Edit the changes file
usage: osc [global opts] vc [-h] [-m MESSAGE] [-F FILE] [-e]
osc vc [-m MESSAGE|-e] [filename[.changes]|path [file_with_comment]] If no <filename> is given, exactly one *.changes or *.spec file has to be in the cwd or in path.
The email address used in .changes file is read from BuildService instance, or should be defined in oscrc [https://api.opensuse.org/] user = login pass = password email = user@defined.email
or can be specified via mailaddr environment variable.
By default, osc vc opens the program specified by the EDITOR environment variable (and it uses Vim if that variable is not set) with a temporary file that should replace the *.changes file when saved by the editor, or discarded otherwise.
options:
Give version of osc binary
usage: osc [global opts] version [-h]
usage:
osc version
Show the packages that require the specified package during the build
usage: osc [global opts] whatdependson [-h] [-M FLAVOR]
The command whatdependson can be used to find out what will be triggered when a certain package changes.
This is no guarantee, since the new build might have changed dependencies.
The packages marked with the [i] flag are inherited to the project.
The arguments REPOSITORY and ARCH can be taken from the first two columns of the 'osc repos' output.
usage in package or project directory:
osc whatdependson REPOSITORY ARCH
usage:
osc whatdependson PROJECT [PACKAGE[:FLAVOR]] REPOSITORY ARCH
options:
Show fullname and email of a buildservice user
usage: osc [global opts] whois [-h] [user ...]
arguments:
Delete all binary packages of a certain project/package
usage: osc [global opts] wipebinaries [-h] [-a ARCH] [-M FLAVOR]
[-r REPO]
[--build-disabled] [--build-failed]
[--broken] [--unresolvable] [--all]
With the optional argument <package> you can specify a certain package otherwise all binary packages in the project will be deleted.
usage:
osc wipebinaries OPTS # works in checked out project dir
osc wipebinaries OPTS PROJECT [PACKAGE[:FLAVOR]]
osc unpublish OPTS # works in checked out project dir
osc unpublish OPTS PROJECT [PACKAGE[:FLAVOR]]
options:
Gets the information to a worker from the server
usage: osc [global opts] workerinfo [-h] <hostarch>:<workerid>
Examples:
osc workerinfo x86_64:goat:1
usage:
osc workerinfo <hostarch>:<workerid>
arguments:
Contributors to the osc project.
The latest version of osc may be downloaded from https://github.com/openSUSE/osc/
| 2025-03-11 | osc |