- add
- Mark files to be added upon the next commit
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:
-h, --help show this help message and exit
-f, --force
add files even if they are excluded by the
exclude_glob config option
- addchannels
- Add channels to project.
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:
-h, --help show this help message and exit
-e, --enable-all
Enable all added channels including the ones disabled
by default.
-s, --skip-disabled
Skip disabled channels. Otherwise the source gets
added, but not the repositories.
- addcontainers
- Add maintained containers for a give package
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:
-h, --help show this help message and exit
--extend-package-names
Extend packages names with project name as suffix
- addremove (ar)
- Adds new files, removes disappeared files
Adds all files new in the local copy, and removes all
disappeared files.
ARG, if specified, is a package working copy.
Usage:
osc addremove [ARGS...]
Options:
-h, --help show this help message and exit
-r, --recursive
If CWD is a project dir then scan all package dirs as
well
- aggregatepac
- "Aggregate" a package to another package
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 DESTPRJ [DESTPAC] Options:
-h, --help show this help message and exit
-d, --disable-publish
disable publishing of the aggregated package
-m SRC=TARGET[,SRC=TARGET], --map-repo=SRC=TARGET[,SRC=TARGET]
Allows repository mapping(s) to be given as
SRC=TARGET[,SRC=TARGET]
--nosources
ignore source packages when copying build results to
destination project
- api
- Issue an arbitrary request to the API
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
Usage:
osc api URL
Options:
-h, --help show this help message and exit
-a NAME STRING, --add-header=NAME STRING
add the specified header to the request
-T FILE, -f FILE, --file=FILE
specify filename to upload, uses PUT mode by default
-d STRING, --data=STRING
specify string data for e.g. POST
-e, --edit GET, edit and PUT the location
-X HTTP_METHOD, -m HTTP_METHOD, --method=HTTP_METHOD
specify HTTP method to use (GET|PUT|DELETE|POST)
- branch (bco, branchco, getpac)
- Branch a package
[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
openSUSE:Factory (list of projects from oscrc:getpac_default_project) if
nothing else is specfied 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:
-h, --help show this help message and exit
--add-repositories-rebuild=add_repositories_rebuild
specify the used rebuild strategy for new repositories
--add-repositories-block=add_repositories_block
specify the used block strategy for new repositories
--linkrev=linkrev
specify the used revision in the link target.
-r rev, --revision=rev
branch against a specific revision
-N, --new-package
create a branch pointing to a not yet existing package
-M, --maintenance
Create project and package in maintenance mode
-m TEXT, --message=TEXT
specify message TEXT
--noaccess Create a hidden project
--extend-package-names
Extend packages names with project name as suffix
--add-repositories
Add repositories to target project (happens by default
when project is new)
-f, --force
force branch, overwrite target
-c, --checkout
Checkout branched package afterwards using "co -e
-S"('osc bco' is a shorthand for this option)
--nodevelproject
do not follow a defined devel project (primary project
where a package is developed)
- browse
- opens browser
usage:
osc browse [PROJECT [PACKAGE]]
- build (chroot, shell, wipe)
- Build a package on your local machine
You need to call the command inside a package directory, which
should be a buildsystem checkout. (Local modifications are fine.)
The arguments REPOSITORY and ARCH can be taken from the first
two columns of the 'osc repos' output. 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 please 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 environement
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 purposes you can run after a build the following
to jump inside of of the build environemnt:
osc shell [OPTS] REPOSITORY ARCH
Run a single command inside of the build environment:
osc shell --shell-cmd=COMMAND [OPTS] REPOSITORY ARCH
OPTS may be
--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
You may set the used VM type in oscrc already, but you can
also overwrite it for example with
--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:
-h, --help show this help message and exit
--nopreinstallimage, --no-preinstallimage
Do not use preinstall images for creating the build
root.
--trust-all-projects
trust packages from all projects
--host=HOST
perform the build on a remote server -
user@server:~/remote/directory
-f, --force
Do not ask for confirmation to wipe
--shell-cmd=COMMAND
run specified command instead of bash
--shell-after-fail
run a shell if the build tool fails
--verbose=VERBOSE
set a verbose mode, arguments can be "all" or "vm"
--oldpackages=DIR
take previous build from DIR (special values: _self,
_link)
--download-api-only
only fetch packages from the api
--disable-cpio-bulk-download
disable downloading packages as cpio archive from api
--release=N
set release number of the package to N
-b, --baselibs
Create -32bit/-64bit/-x86 rpms for other architectures
--disable-debuginfo
disable build of debuginfo packages
-d, --debuginfo
also build debuginfo sub-packages
--alternative-project=PROJECT
specify the build target project
--target=TARGET
define target platform
--vm-telnet=TELNET
Launch a telnet server inside of VM build
--vm-type=TYPE
use VM type TYPE (e.g. kvm)
--vm-disk-size=DISKSIZE
size for newly created disk image in MB
--vm-memory=MEMORY
amount of memory for VM defined in MB
--linksources
use hard links instead of a deep copied source
--stage=STAGE
runs a specific stage, default is "a" for all. Append
a trailing "="to only run the specified stage. Append
a trailing "+" to runthe specified stage and all
stages coming after it. With nosuffix, stages up to
and included the specified stage are run.
--local-package
build a package which does not exist on the server
--build-uid=uid:gid|"caller"
specify the numeric uid:gid pair to assign to the
unprivileged "abuild" user or use "caller" to use the
current user uid:gid
--userootforbuild, --login-as-root
Run build or shell as root. The default is to build as
unprivileged user. Note that a line "# norootforbuild"
in the spec file will invalidate this option.
--build-opt=OPT
pass option OPT to the build command
--define='X Y'
define macro X with value Y
--without=X
disable feature X for build
--with=X enable feature X for build
--sccache-uri=redis://127.0.0.1:6389
Optional remote URI for sccache storage. Implies
--sccache.
--sccache use sccache to speed up rebuilds. Conflicts with
--cache
--pkg-ccache=/path/to/_ccache.tar
path to an existing uncompressed archive ccache. Using
this option implies --ccache
--ccache use ccache to speed up rebuilds
--icecream=N
use N parallel build jobs with icecream
-t N, --threads=N
Compile with N threads
-j N, --jobs=N
Compile with N jobs
--root=ROOT
Build in specified directory
-x PAC, --extra-pkgs=PAC
Add this package when installing the build-root
-M MPAC, --multibuild-package=MPAC
Build the specified multibuild package
-k DIR, --keep-pkgs=DIR
Save built packages into this directory
-p DIR, --prefer-pkgs=DIR
Prefer packages from this directory when installing
the build-root
--noservice, --no-service
Skip run of local source services as specified in
_service file.
--nodebugpackages, --no-debug-packages
Skip installation of additional debug packages for CLI
builds
--no-verify, --noverify
Skip signature verification (via pgp keys) of packages
used for build. (Global config in oscrc: no_verify)
--nochecks, --no-checks
Do not run build checks on the resulting packages.
--noinit, --no-init
Skip initialization of build root and start with build
immediately.
--overlay=OVERLAY
Copy overlay filesystem to buildroot after installing
all RPMs .
--rsync-dest=RSYNCDESTPATH
Copy folder to buildroot after installing all RPMs.
Use together with --rsync-src. This is the path on the
TARGET filesystem e.g.
/usr/src/packages/BUILD/linux-2.6 .
--rsync-src=RSYNCSRCPATH
Copy folder to buildroot after installing all RPMs.
Use together with --rsync-dest. This is the path on
the HOST filesystem e.g. /tmp/linux-kernel-tree. It
defines RSYNCDONE 1 .
--no-changelog
don't update the package changelog from a changes file
-l, --preload
Preload all files into the cache for offline operation
-o, --offline
Start with cached prjconf and packages without
contacting the api server
--clean Delete old build root before initializing it
- buildconfig
- Shows the build config
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
'osc repos' output.
usage:
osc buildconfig REPOSITORY (in pkg or prj dir)
osc buildconfig PROJECT REPOSITORY
- buildhistory (buildhist)
- Shows the build history of a package
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 REPOSITORY ARCHITECTURE Options:
-h, --help show this help message and exit
-M MPAC, --multibuild-package=MPAC
Show the buildhistory of the specified multibuild
package
-l limit, --limit=limit
for setting the number of results
--csv generate output in CSV (separated by |)
- buildinfo
- Shows the build info
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 REPOSITORY ARCH [BUILD_DESCR]
Options:
-h, --help show this help message and exit
-p DIR, --prefer-pkgs=DIR
Prefer packages from this directory when installing
the build-root
-x PAC, --extra-pkgs=PAC
Add this package when computing the buildinfo
-M MPAC, --multibuild-package=MPAC
Show the buildinfo of the specified multibuild package
--alternative-project=PROJECT
specify the build target project
-d, --debug
verbose output of build dependencies
- buildlog (bl, blt, buildlogtail)
- Shows the build log of a package
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.
Usage:
osc buildlog [ARGS...]
[REPOSITORY ARCH | BUILDLOGURL] Options:
-h, --help show this help message and exit
-s, --strip-time
strip leading build time from the log
-o OFFSET, --offset=OFFSET
get log start or end from the offset
-M MPAC, --multibuild-package=MPAC
get log of the specified multibuild package
--lastsucceeded, --last-succeeded
Show the last succeeded log file
-l, --last Show the last finished log file
- cat (blame, less)
- Output the content of a file to standard output
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
Usage:
osc cat [ARGS...]
Options:
-h, --help show this help message and exit
-M, --meta list meta data files
-D, --deleted
access file in a deleted package
-u, --unexpand
always work with unexpanded packages.
-e, --expand
(default) force expansion of linked packages.
-r rev, --revision=rev
print out the specified revision
- changedevelrequest (changedevelreq, cr)
- Create request to change the devel package definition.
[See
http://en.opensuse.org/openSUSE:Build_Service_Collaboration for
information on this topic.]
See the "request" command for showing and modifying
existing requests.
osc changedevelrequest PROJECT PACKAGE DEVEL_PROJECT
[DEVEL_PACKAGE]
- checkconstraints
- check the constraints and view compliant workers
Checks the constraints for compliant workers.
usage:
remote request:
osc checkconstraints [OPTS] PROJECT PACKAGE REPOSITORY ARCH
in a package working copy:
osc checkconstraints [OPTS] REPOSITORY ARCH CONSTRAINTSFILE
osc checkconstraints [OPTS] CONSTRAINTSFILE
osc checkconstraints [OPTS]
Options:
-h, --help show this help message and exit
--ignore-file
ignore _constraints file and only check project
constraints
- checkout (co)
- Check out content from the repository
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}0 PACKAGE
osc co obs://API/PROJECT/PLATFORM/REVISION-PACKAGE
Options:
-h, --help show this help message and exit
-l limit_size, --limit-size=limit_size
Skip all files with a given size
-S, --server-side-source-service-files
Use server side generated sources instead of local
generation.
-s, --source-service-files
Run source services.
-o outdir, --output-dir=outdir
place package in the specified directory instead of a
PROJECT/PACKAGE directory
-c, --current-dir
place PACKAGE folder in the current directory instead
of a PROJECT/PACKAGE directory
-M, --meta checkout out meta data instead of sources
-u, --unexpand-link
if a package is a link, check out the _link file
instead of the expanded sources
-D, --deleted
checkout an already deleted package. No meta
information
-e, --expand-link
if a package is a link, check out the expanded sources
(no-op, since this became the default)
-r rev, --revision=rev
checkout the specified revision. NOTE: if you checkout
the complete project this option is ignored!
- clean
- removes all untracked files from the package working copy
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 '?'.
Usage:
osc clean [ARGS...]
Options:
-h, --help show this help message and exit
-n, --dry-run
print the results without actually removing a file
- comment
- List / create / delete comments
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
- commit (checkin, ci)
- Upload content to the repository server
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 ...
Usage:
osc commit [ARGS...]
Options:
-h, --help show this help message and exit
--skip-local-service-run, --noservice
Skip service run of configured source services for
local run
-v, --verbose
Run the source services with verbose information
--skip-validation
deprecated, don't use it
-f, --force
force commit, even if there were no changes
-F FILE, --file=FILE
read log message from FILE, '-' denotes standard
input.
-n, --no-message
do not specify a log message
-m TEXT, --message=TEXT
specify log message TEXT
- config
- get/set a config option
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)
Usage:
osc config [ARGS...]
Options:
-h, --help show this help message and exit
--dump-full
dump the complete configuration (including 'pass' and
'passx' options)
--dump dump the complete configuration (without 'pass' and
'passx' options)
--no-echo prompt for a value but do not echo entered characters
--select-password-store
Change the password store
--change-password
Change password
-p, --prompt
prompt for a value
-s, --stdin
indicates that the config value should be read from
stdin
-d, --delete
delete option from config or reset option to the
default)
- copypac
- Copy a package
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.
usage:
osc copypac SOURCEPRJ SOURCEPAC DESTPRJ [DESTPAC] Options:
-h, --help show this help message and exit
-e, --expand
if the source package is a link then copy the expanded
version of the link
-m TEXT, --message=TEXT
specify message TEXT
-t URL, --to-apiurl=URL
URL of destination api server. Default is the source
api server.
-r rev, --revision=rev
copy the specified revision.
-d, --keep-develproject
keep develproject tag in the package metadata
-K, --keep-link
If the target package is a link, the link is kept, but
may be updated. If the source package is a link, its
expanded version is considered.
-k, --keep-maintainers
keep original maintainers. Default is remove all and
replace with the one calling the script.
-c, --client-side-copy
do a (slower) client-side copy
- createincident
- Create a maintenance incident
[See
http://openbuildservice.org/help/manuals/obs-reference-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:
-h, --help show this help message and exit
-m TEXT, --message=TEXT
specify message TEXT
--noaccess Create a hidden project
-a ATTRIBUTE, --attribute=ATTRIBUTE
Use this attribute to find default maintenance project
(default is OBS:MaintenanceProject)
- createrequest (creq)
- create multiple requests with a single command
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]
]
Option -m works for all types of request, 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:
-h, --help show this help message and exit
--yes proceed without asking.
--no-update
never touch source package on accept (will break
source links)
--no-cleanup
never remove source package on accept, but update its
content
--cleanup remove package if submission gets accepted (default
for home:<id>:branch projects)
--nodevelproject
do not follow a defined devel project (primary project
where a package is developed)
-s REQUEST_ID, --supersede=REQUEST_ID
Superseding another request by this one
-r REV, --revision=REV
for "create", specify a certain source revision ID
(the md5 sum)
-m TEXT, --message=TEXT
specify message TEXT
-a, --action
specify action type of a request, can be :
submit/delete/change_devel/add_role/set_bugowner
- delete (del, remove, rm)
- Mark files or package directories to be deleted upon the next 'checkin'
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:
-h, --help show this help message and exit
-f, --force
forces removal of entire package and its files
- deleterequest (deletereq, dr, dropreq, droprequest)
- Request to delete (or 'drop') a package or project
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:
-h, --help show this help message and exit
--accept-in-hours=HOURS
specify time when request shall get accepted
automatically. Only works with write permissions in
target.
--all deletes entire project with packages inside
-r REPOSITORY, --repository=REPOSITORY
specify repository
-m TEXT, --message=TEXT
specify message TEXT
- dependson
- dependson shows the build dependencies inside of a project, valid for a
given repository and architecture.
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] REPOSITORY ARCH
- detachbranch
- replace a link with its expanded sources
If a package is a link it is replaced with its expanded
sources. The link does not exist anymore.
usage:
osc detachbranch # can be used in package working copy
osc detachbranch PROJECT PACKAGE Options:
-h, --help show this help message and exit
-m TEXT, --message=TEXT
specify message TEXT
- develproject (bsdevelproject, dp)
- print the devel project / package of a package
Examples:
osc develproject PRJ PKG
osc develproject Options:
-h, --help show this help message and exit
-r, --raw deprecated option
- diff (di, ldiff, linkdiff)
- Generates a diff
Generates a diff, comparing local changes against the
repository server.
Usage:
osc diff [ARGS...]
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:
-h, --help show this help message and exit
-u, --unexpand
Local changes only, ignore changes in linked package
sources
--missingok
do not fail if the source or target project/package
does not exist on the server
-l, --link (osc linkdiff): compare against the base revision of
the link
-p, --plain
output the diff in plain (not unified) diff format
-M, --meta operate on meta files
-r rev1[:rev2], --revision=rev1[:rev2]
If rev1 is specified it will compare your working copy
against the revision (rev1) on the server. If rev1 and
rev2 are specified it will compare rev1 against rev2
(NOTE: changes in your working copy are ignored in
this case)
-c rev, --change=rev
the change made by revision rev (like -r rev-1:rev).If
rev is negative this is like -r rev:rev-1.
- distributions (dists)
- Shows all available distributions
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
- enablechannels (enablechannel)
- Enables channels
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 [CHANNEL_PACKAGE]]
- getbinaries
- Download binaries to a local directory
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:
-h, --help show this help message and exit
--ccache allow fetching ccache archive
--debug also fetch debug packages
--sources also fetch source packages
-M FLAVOR, --multibuild-package=FLAVOR
Get binaries from the specified flavor of a multibuild
package. It is meant for use from a package checkout
when it is not possible to specify package:flavor.
-d DIR, --destdir=DIR
destination directory
-q, --quiet
do not show downloading progress
- help (?, h)
- give detailed help on a specific sub-command
usage:
osc help [SUBCOMMAND]
- importsrcpkg
- Import a new package from a src.rpm
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.
Usage:
osc importsrcpkg SRPM
Options:
-h, --help show this help message and exit
-c, --commit
commit the new files
--delete-old-files
delete existing files from the server
-d description, --description=description
set the description of the package
-t title, --title=title
set a title
-n name, --name=name
specify a package name
-p project, --project=project
specify the path to a project
- info
- Print information about a working copy
Print information about each ARG (default: '.') ARG is a
working-copy path.
Usage:
osc info [ARGS...]
- init
- Initialize a directory as working copy
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
- jobhistory (jobhist)
- Shows the job history of a project
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] REPOSITORY ARCHITECTURE Options:
-h, --help show this help message and exit
-M MPAC, --multibuild-package=MPAC
get jobhistory for the specified multibuild package
-l limit, --limit=limit
for setting the number of results
--csv generate output in CSV (separated by |)
- linkpac
- "Link" a package to another package
A linked package is a clone of another package, but plus local
modifications. It can be cross-project.
The DESTPAC name is optional; the source packages' name will
be used if DESTPAC is omitted.
Afterwards, you will want to 'checkout DESTPRJ DESTPAC'.
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 SOURCEPRJ SOURCEPAC DESTPRJ [DESTPAC] Options:
-h, --help show this help message and exit
-N, --new-package
create a link to a not yet existing package
-d, --disable-publish
disable publishing of the linked package
-f, --force
overwrite an existing link file if it is there.
-r rev, --revision=rev
link the specified revision.
-c, --current
link fixed against current revision.
-C CICOUNT, --cicount=CICOUNT
cicount attribute in the link, known values are add,
copy, and local, default in buildservice is currently
add.
- linktobranch
- Convert a package containing a classic link with patch to a branch
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 # can be used in checked out package
osc linktobranch PROJECT PACKAGE
- list (LL, lL, ll, ls)
- List sources or binaries on the server
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
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:
list (LL, lL, ll, ls) [PROJECT [PACKAGE]]
list (LL, lL, ll, ls) -b [PROJECT [PACKAGE [REPO [ARCH]]]] Options:
-h, --help show this help message and exit
-R REVISION, --revision=REVISION
specify revision (only for sources)
-M, --meta list meta data files
-D, --deleted
show only the former deleted projects or packages
-l, --long print extra information
-v, --verbose
print extra information
-u, --unexpand
always work with unexpanded (source) packages
-e, --expand
expand linked package (only for sources)
-b, --binaries
list built binaries instead of sources
-r REPO, --repo=REPO
specify repository (only for binaries)
-a ARCH, --arch=ARCH
specify architecture (only for binaries)
- localbuildlog (lbl)
- Shows the build log of a local buildchroot
usage:
osc lbl [REPOSITORY [ARCH]]
osc lbl # show log of newest last local build
Options:
-h, --help show this help message and exit
-s, --strip-time
strip leading build time from the log
-o OFFSET, --offset=OFFSET
get log starting from offset
- lock
- Locks a project or package.
usage:
osc lock PROJECT [PACKAGE]
Options:
-h, --help show this help message and exit
-m TEXT, --message=TEXT
specify log message TEXT
- log
- Shows the commit log of a package
Usage:
osc log (inside working copy)
osc log remote_project [remote_package]
Options:
-h, --help show this help message and exit
-M, --meta checkout out meta data instead of sources
-D, --deleted
work on deleted package
--xml generate output in XML
--csv generate output in CSV (separated by |)
-r rev, --revision=rev
show log of the specified revision
- maintainer (bugowner)
- Show maintainers according to server side configuration
# 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.
Usage:
osc maintainer [ARGS...]
Options:
-h, --help show this help message and exit
-m MESSAGE, --message=MESSAGE
Define message as commit entry or request description
-r role, --role=role
Specify user role
-d user, --delete=user
delete a maintainer/bugowner (can be specified via
--role)
-G GROUP, --group=GROUP
All official maintained instances for the specified
GROUP
-U USER, --user=USER
All official maintained instances for the specified
USER
-S user, --set-bugowner-request=user
Set the bugowner to specified person via a request (or
group via group: prefix)
-s user, --set-bugowner=user
Set the bugowner to specified person (or group via
group: prefix)
-A, --all list all found entries not just the first one
-a user, --add=user
add a new person for given role ("maintainer" by
default)
-D devel_project, --devel-project=devel_project
define the project where this package is primarily
developed
-v, --verbose
show more information
--nodevelproject
do not follow a defined devel project (primary project
where a package is developed)
-e, --email
show email addresses instead of user names
-B, --bugowner
Show only the bugowner if defined, or maintainer
otherwise
-b, --bugowner-only
Show only the bugowner
- maintenancerequest (mr)
- Create a request for starting a maintenance incident.
[See
http://openbuildservice.org/help/manuals/obs-reference-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:
-h, --help show this help message and exit
-s REQUEST_ID, --supersede=REQUEST_ID
Superseding another request by this one
--incident-project=INCIDENT_PROJECT
specify incident project to merge in
--incident=INCIDENT
specify incident number to merge in
--cleanup do remove source project on accept
--no-cleanup
do not remove source project on accept
--enforce-branching
submit from a fresh branched project
--release-project=RELEASEPROJECT
Specify the release project
-m TEXT, --message=TEXT
specify message TEXT
-a ATTRIBUTE, --attribute=ATTRIBUTE
Use this attribute to find default maintenance project
(default is OBS:MaintenanceProject)
- man
- generates a man page
usage:
osc man
- mbranch (maintained, sm)
- Search or branch multiple instances of a package
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:
-h, --help show this help message and exit
--version print version of maintained package
--nodevelproject
do not follow a defined devel project (primary project
where a package is developed)
--noaccess Create a hidden project
--dryrun Just simulate the action and report back the result.
-u UPDATE_ATTRIBUTE, --update-project-attribute=UPDATE_ATTRIBUTE
Use this attribute to find update projects (default is
OBS:UpdateProject)
-a ATTRIBUTE, --attribute=ATTRIBUTE
Use this attribute to find affected packages (default
is OBS:Maintained)
-c, --checkout
Checkout branched package afterwards ('osc bco' is a
shorthand for this option)
- meta
- Show meta information, or edit it
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:
-h, --help show this help message and exit
--delete delete a pattern or attribute
-s ATTRIBUTE_VALUES, --set=ATTRIBUTE_VALUES
set attribute values
-R, --remove-linking-repositories
Try to remove also all repositories building against
remove ones.
-c, --create
create attribute without values
-e, --edit edit metadata
-m TEXT, --message=TEXT
specify log message TEXT. For prj and prjconf meta
only
-r REV, --revision=REV
checkout given revision instead of head revision. For
prj and prjconf meta only
-F FILE, --file=FILE
read metadata from FILE, instead of opening an editor.
'-' denotes standard input.
-f, --force
force the save operation, allows one to ignores some
errors like depending repositories. For prj meta only.
--blame show author and time of each line
--attribute-project
include project values, if missing in packages
--attribute-defaults
include defined attribute defaults
-a ATTRIBUTE, --attribute=ATTRIBUTE
affect only a given attribute
- mkpac
- Create a new package under version control
usage:
osc mkpac new_package
- mv
- Move SOURCE file to DEST and keep it under version control
Usage:
osc mv SOURCE DEST
Options:
-h, --help show this help message and exit
-f, --force
forces removal of entire package and its files
- my
- show waiting work, packages, projects or requests involving yourself
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 [ARGS...]
where TYPE is one of requests, submitrequests,
projects or packages (rq, sr, prj or pkg)
Options:
-h, --help
show this help message and exit
--maintained
limit search results to packages with maintained
attribute set.
-v, --verbose
verbose listing
--exclude-project=EXCLUDE_PROJECT
exclude requests for specified project
-U USER, --user=USER
search for USER instead of yourself
-a, --all
all involvements
-m, --maintainer
restrict listing to items where the user is maintainer
-b, --bugowner
restrict listing to items where the user is bugowner
- patchinfo
- Generate and edit a patchinfo file.
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:
-h, --help show this help message and exit
-f, --force
force generation of new patchinfo file, do not update
existing one.
- pdiff
- Quick alias to diff the content of a package with its parent.
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:
-h, --help show this help message and exit
-n, --nomissingok
fail if the parent package does not exist on the
server
-p, --plain
output the diff in plain (not unified) diff format
- prdiff (projdiff, projectdiff)
- Server-side diff of two projects
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:
-h, --help show this help message and exit
-d, --diffstat
show diffstat of differences
-u, --unified
show full unified diffs of differences
-o, --show-not-in-new
show packages only in the old project
-n, --show-not-in-old
show packages only in the new project
-i REGEXP, --include=REGEXP
only consider packages matching REGEXP
-e REGEXP, --exclude=REGEXP
skip packages matching REGEXP
-r, --requests
show open requests for any packages with differences
- prjresults (pr)
- Shows project-wide build results
Usage:
osc prjresults (inside working copy)
osc prjresults PROJECT
Options:
-h, --help show this help message and exit
--show-excluded
show packages that are excluded in all repos, also
hide repos that have only excluded packages
-V, --vertical
list packages vertically instead horizontally
-r REPO, --repo=REPO
show results only for specified repo(s)
-a ARCH, --arch=ARCH
show results only for specified architecture(s)
-n EXPR, --name-filter=EXPR
show only packages whose names match EXPR
-s STATUS, --status-filter=STATUS
show only packages with buildstatus STATUS (see
legend)
--xml generate output in XML
-c, --csv csv output
-w, --watch
watch the results until all finished building, only
supported with --xml
-b, --brief
show the result in "pkgname repo arch result"
-q, --hide-legend
hide the legend
- pull
- merge the changes of the link target into your working copy.
- rdelete
- Delete a project or packages on the server.
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:
-h, --help show this help message and exit
-m TEXT, --message=TEXT
specify log message TEXT
-f, --force
deletes a project where other depends on
-r, --recursive
deletes a project with packages inside
- rdiff
- Server-side "pretty" diff of two packages
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 Options:
-h, --help show this help message and exit
--xml show diff as xml (only for issues diff)
-u, --unexpand
diff unexpanded version if sources are linked
--missingok
do not fail if the source or target project/package
does not exist on the server
-c rev, --change=rev
the change made by revision rev (like -r rev-1:rev).
If rev is negative this is like -r rev:rev-1.
-p, --plain
output the diff in plain (not unified) diff format and
show diff of files in archives
-r N[:M], --revision=N[:M]
revision id, where N = old revision and M = new
revision
-M, --meta diff meta data
--issues-only
show only issues in diff
--oldpkg=OLDPKG
package to compare against (deprecated, use 3 argument
form)
--oldprj=OLDPRJ
project to compare against (deprecated, use 3 argument
form)
- rebuild (rebuildpac)
- Trigger package rebuilds
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 [REPOSITORY [ARCH]]]] Options:
-h, --help show this help message and exit
--all Rebuild all packages of entire project
-M MULTIBUILD_PACKAGE, --multibuild-package=MULTIBUILD_PACKAGE
rebuild specified multibuild package
-f, --failed
rebuild all failed packages
-r REPO, --repo=REPO
trigger rebuilds for a specific repository
-a ARCH, --arch=ARCH
trigger rebuilds for a specific architecture
- release
- Release sources and binaries
This command is used to transfer sources and binaries without
rebuilding them. It requires defined release targets set to
trigger="manual". Please refer the release management chapter
in the OBS book for details.
usage:
osc release [ SOURCEPROJECT [ SOURCEPACKAGE ] ]
Options:
-h, --help show this help message and exit
--no-delay Don't put the release job in a queue to be run later,
but immediately run it. Thus the next call to osc
prjresult will reflect it. Otherwise there is no way
to know if it is finished or didn't start yet.
--set-release=RELEASETAG
rename binaries during release using this release tag
--target-repository=TARGETREPOSITORY
Release only to specified repository
--target-project=TARGETPROJECT
Release only to specified project
-r REPO, --repo=REPO
Release only binaries from the specified repository
- releaserequest
- Create a release request
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:
-h, --help show this help message and exit
-p PKG, --package=PKG
specify packages to release
-m TEXT, --message=TEXT
specify message TEXT
- remotebuildlog (rbl, rblt, rbuildlog, rbuildlogtail,
remotebuildlogtail)
- Shows the build log of a package
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 repository arch
or
osc remotebuildlog project/package/repository/arch
or
osc remotebuildlog buildlogurl Options:
-h, --help show this help message and exit
-s, --strip-time
strip leading build time from the log
-o OFFSET, --offset=OFFSET
get log starting or ending from the offset
-M MPAC, --multibuild-package=MPAC
show log file for specified multibuild package
--lastsucceeded, --last-succeeded
Show the last succeeded log file
-l, --last Show the last finished log file
- repairlink
- Repair a broken source link
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:
-h, --help show this help message and exit
-d DIR, --destdir=DIR
destination directory
- repairwc
- try to repair an inconsistent working copy
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').
Usage:
osc repairwc [ARGS...]
Options:
-h, --help show this help message and exit
--force-apiurl
ask once for an apiurl and force this apiurl for all
inconsistent projects/packages
- repositories (platforms, repos)
- shows repositories configured for a project.
It skips repositories by default which are disabled for a given package.
usage:
osc repos
osc repos [PROJECT] [PACKAGE]
- repourls
- Shows URLs of .repo files
Shows URLs on which to access the project repositories.
usage:
osc repourls [PROJECT]
- request (review, rq)
- Show or modify requests and reviews
[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"
"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:
-h, --help show this help message and exit
--source-buildstatus
print the buildstatus of the source package (only
works with "show" and the interactive review)
--target-package-filter=TARGET_PACKAGE_FILTER
only list requests for the packages matching the
package filter. A (python) regular expression is
expected.
--involved-projects
show all requests for project/packages where USER is
involved
--incoming Show only requests where the project is target
--exclude-target-project=EXCLUDE_TARGET_PROJECT
exclude target project from request list
--non-interactive
non-interactive review of request
--or-revoke
For automation scripts: accepts (if using with accept
argument) a request when it is in new or review state.
Or revoke it when it got declined. Otherwise just do
nothing.
-i, --interactive
interactive review of request
-e, --edit edit a submit action
-B, --bugowner
also show requests about packages where I am bugowner
-M, --mine only show requests created by yourself
-b, --brief
print output in list view as list subcommand
-p PACKAGE, --package=PACKAGE
requests or reviews limited for the specified PACKAGE,
requires also a PROJECT
-P PROJECT, --project=PROJECT
requests or reviews limited for the specified PROJECT
-G GROUP, --group=GROUP
requests or reviews limited for the specified GROUP
-U USER, --user=USER
requests or reviews limited for the specified USER
-D DAYS, --days=DAYS
only list requests in state "new" or changed in the
last DAYS. [default=0]
-s STATE, --state=STATE
only list requests in one of the comma separated given
states (new/review/accepted/revoked/declined) or "all"
[default="declined,new,review", or "all", if no args
given]
-f, --force
enforce state change, can be used to ignore open
reviews
-a, --all all states. Same as'-s all'
-t TYPE, --type=TYPE
limit to requests which contain a given action type (s
ubmit/delete/change_devel/add_role/set_bugowner/mainte
nance_incident/maintenance_release)
-m TEXT, --message=TEXT
specify message TEXT
--no-devel Do not attempt to forward to devel project
-u, --unified
output the diff in the unified diff format
-d, --diff generate a diff
- requestmaintainership (reqbs, reqbugownership, reqmaintainership,
reqms, requestbugownership)
- requests to add user as maintainer or bugowner
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:
-h, --help show this help message and exit
-r role, --role=role
specify user role (default: maintainer)
-m TEXT, --message=TEXT
specify message TEXT
- resolved
- Remove 'conflicted' state on working copy files
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...]
- restartbuild (abortbuild)
- Restart the build of a certain project or package
usage:
osc restartbuild [PROJECT [PACKAGE [REPOSITORY [ARCH]]]] Options:
-h, --help show this help message and exit
--all Restart all running builds of entire project
-r REPO, --repo=REPO
Restart builds for a specific repository
-M MULTIBUILD_PACKAGE, --multibuild-package=MULTIBUILD_PACKAGE
Restart builds for specified multibuild package
-a ARCH, --arch=ARCH
Restart builds for a specific architecture
- results (r)
- Shows the build results of a package or project
Usage:
osc results # (inside working copy of PRJ or PKG)
osc results PROJECT [PACKAGE]
Options:
-h, --help show this help message and exit
--show-excluded
show repos that are excluded for this package
--format=FORMAT
format string for csv output
--csv generate output in CSV format
--xml generate output in XML (former results_meta)
-f, --failed
show only failed results
-s STATUS_FILTER, --status-filter=STATUS_FILTER
only show packages with the given build status
-w, --watch
watch the results until all finished building
-V, --vertical
list packages vertically instead horizontally for
entire project
-M MULTIBUILD_PACKAGE, --multibuild-package=MULTIBUILD_PACKAGE
Only show results for the specified multibuild package
--no-multibuild
Disable results for all direct affect packages inside
of the project
-v, --verbose
more verbose output
-b, --brief
show the result in "pkgname repo arch result". Default
for -f
-a ARCH, --arch=ARCH
Show results only for specified architecture(s)
-r REPO, --repo=REPO
Show results only for specified repo(s)
-l, --last-build
show last build results (succeeded/failed/unknown)
- revert
- Restore changed files or the entire working copy.
Examples:
osc revert <modified file(s)>
osc revert . Note: this only works for package working copies
Usage:
osc revert [FILES...]
- rpmlintlog (lint, rpmlint)
- Shows the rpmlint logfile
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
- rremove
- Remove source files from selected package
Usage:
osc rremove PROJECT PACKAGE [FILES...]
Options:
-h, --help show this help message and exit
-f, --force
Don't ask and delete files
- search (bse, se)
- Search for a project and/or package.
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:
-h, --help show this help message and exit
--binaryversion=VERSION
search for binary with specified version (implies
--binary)
-B PROJECT, --baseproject=PROJECT
search packages built for PROJECT (implies --binary)
--binary search binary packages
--csv generate output in CSV (separated by |)
-M, --mine shorthand for --bugowner --package
--maintained
OBSOLETE: please use maintained command instead.
-m, --maintainer
as -i, but only maintainer
-b, --bugowner
as -i, but only bugowner
-i, --involved
show projects/packages where given person (or myself)
is involved as bugowner or maintainer
[[{group|person}/]<name>] default: person
-V, --version
show package version, revision, and srcmd5. CAUTION:
This is slow and unreliable
-v, --verbose
show more information
-a ATTRIBUTE, --limit-to-attribute=ATTRIBUTE
match only when given attribute exists in meta data
--description
search for matches in the 'description' element
--title search for matches in the 'title' element
--project search for a project
--package search for a package
-s, --substring
Show also results where the search term is a sub
string, slower search
-e, --exact
show only exact matches, this is default now
--repos-baseurl
show base URLs of download repositories
- sendsysrq
- trigger a sysrq in a running build
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 REPOSITORY ARCH SYSRQ Options:
-h, --help show this help message and exit
-M MULTIBUILD_PACKAGE, --multibuild-package=MULTIBUILD_PACKAGE
specify a specific multibuild flavor
- service
- Handle source services
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 localrun [SOURCE_SERVICE]
osc service disabledrun [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"
- setdevelproject (sdp)
- Set the devel project / package of a package
Examples:
osc setdevelproject [PRJ PKG] DEVPRJ [DEVPKG] Options:
-h, --help show this help message and exit
-u, --unset
remove devel project
- setlinkrev
- Updates a revision number in a source link.
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:
-h, --help show this help message and exit
-u, --unset
remove revision in link, it will point always to
latest revision
-R, --use-plain-revision
Do not expand revision the specified or latest rev
-r rev, --revision=rev
use the specified revision.
- showlinked
- Show all packages linking to a given one
Examples:
osc showlinked [PROJECT PACKAGE]
- signkey
- Manage Project Signing Key
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
Usage:
osc signkey [ARGS...]
Options:
-h, --help show this help message and exit
--sslcert fetch SSL certificate instead of GPG key
--notraverse
don't traverse projects upwards to find key
--delete delete the gpg signing key in this project
--extend extend expiration date of the gpg public key for this
project
--create create new gpg signing key for this project
- status (st)
- Show status of files in working copy
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
'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:
-h, --help show this help message and exit
-e, --show-excluded
also show files which are excluded by the
"exclude_glob" config option
-v, --verbose
print extra information
-q, --quiet
print as little as possible
- submitrequest (sr, submitpac, submitreq)
- Create request to submit source into another Project
[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:
-h, --help show this help message and exit
--yes proceed without asking.
-d, --diff show diff only instead of creating the actual request
--update-link
This transfers the source including the _link file.
--no-update
never touch source package on accept (will break
source links)
--no-cleanup
never remove source package on accept, but update its
content
--cleanup remove package if submission gets accepted (default
for home:<id>:branch projects)
--seperate-requests
Deprecated (wrong spelling - see --separate-requests)
--separate-requests
Create multiple requests instead of a single one (when
command is used for entire project)
--nodevelproject
do not follow a defined devel project (primary project
where a package is developed)
-s REQUEST_ID, --supersede=REQUEST_ID
Superseding another request by this one
-r REV, --revision=REV
specify a certain source revision ID (the md5 sum) for
the source package
-F FILE, --file=FILE
read log message from FILE, '-' denotes standard
input.
-m TEXT, --message=TEXT
specify message TEXT
- token
- Show and manage authentication token
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:
-h, --help show this help message and exit
--scm-token=SCM_TOKEN
The scm's access token (only in combination with a
--operation=workflow option)
-t TOKENSTRING, --trigger=TOKENSTRING
Trigger the action of a token
-o OPERATION, --operation=OPERATION
Default is "runservice", but "branch",
"release",
"rebuild", or "workflow" can also be used
-d TOKENID, --delete=TOKENID
Delete a token
-c, --create
Create a new token
- triggerreason (tr)
- Show reason why a package got triggered to build
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 REPOSITORY ARCH
Options:
-h, --help show this help message and exit
-M MPAC, --multibuild-package=MPAC
get triggerreason of the specified multibuild package
- undelete
- Restores a deleted project or package on the server.
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 [PACKAGE ...]
Options:
-h, --help show this help message and exit
-m TEXT, --message=TEXT
specify log message TEXT
- unlock
- Unlocks a project or package
Unlocks a locked project or package. A comment is
required.
usage:
osc unlock PROJECT [PACKAGE]
Options:
-h, --help show this help message and exit
-m TEXT, --message=TEXT
specify log message TEXT
- update (up)
- Update a working copy
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).
Usage:
osc update [ARGS...]
Options:
-h, --help show this help message and exit
-l limit_size, --limit-size=limit_size
Skip all files with a given size
-S, --server-side-source-service-files
Use server side generated sources instead of local
generation.
-s, --source-service-files
Run local source services after update.
-e, --expand-link
if a package is a link, update to the expanded sources
-u, --unexpand-link
if a package is an expanded link, update to the raw
_link file
--linkrev=REV
revision of the link target that is used during link
expansion
-r REV, --revision=REV
update to specified revision (this option will be
ignored if you are going to update the complete
project or more than one package)
- updatepacmetafromspec (metafromspec, updatepkgmetafromspec)
- Update package meta information from a specfile
ARG, if specified, is a package working copy.
Usage:
osc updatepacmetafromspec [ARGS...]
Options:
-h, --help show this help message and exit
--specfile=FILE
Path to specfile. (if you pass more than working copy
this option is ignored)
- vc
- Edit the changes file
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.
Usage:
osc vc [ARGS...]
Options:
-h, --help show this help message and exit
-e, --just-edit
just open changes (cannot be used with -m)
-F FILE, --file=FILE
read changes message from FILE (do not open an editor)
-m MESSAGE, --message=MESSAGE
add MESSAGE to changes (do not open an editor)
- whatdependson
- Show the packages that require the specified package during the build.
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 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] REPOSITORY ARCH
- whois (user, who)
- Show fullname and email of a buildservice user
Usage:
osc whois [USERNAMES...]
- wipebinaries (unpublish)
- Delete all binary packages of a certain project/package
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]
osc unpublish OPTS # works in checked out project dir
osc unpublish OPTS PROJECT [PACKAGE] Options:
-h, --help show this help message and exit
--all Delete all binaries regardless of the package status
(previously default)
--unresolvable
Delete all binaries of packages which have dependency
errors
--broken Delete all binaries of packages for which the package
source is bad
--build-failed
Delete all binaries of packages for which the build
failed
--build-disabled
Delete all binaries of packages for which the build is
disabled
-r REPO, --repo=REPO
Delete all binary packages for a specific repository
-M MULTIBUILD_PACKAGE, --multibuild-package=MULTIBUILD_PACKAGE
Delete all binary packages for specified multibuild
package
-a ARCH, --arch=ARCH
Delete all binary packages for a specific architecture
- workerinfo
- gets the information to a worker from the server
Examples:
osc workerinfo x86_64:goat:1
Usage:
osc workerinfo <hostarch>:<workerid>