NAME
osc - openSUSE build service command-line tool.
SYNOPSIS
osc [GLOBALOPTS] SUBCOMMAND [OPTS] [ARGS...]
osc help SUBCOMMAND
DESCRIPTION
openSUSE build service command-line tool.
COMMANDS
abortbuild
Aborts the build of a certain project/package
With the optional argument <package> you can specify a certain
package otherwise all builds in the project will be cancelled.
usage:
osc abortbuild [OPTS] PROJECT [PACKAGE] Options:
-h, --help show this help message and exit
-r REPO, --repo=REPO
Abort builds for a specific repository
-a ARCH, --arch=ARCH
Abort builds for a specific architecture
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...]
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/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]
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 -m PUT -f /etc/fstab source/home:user/test5/myfstab
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
-f FILE, --file=FILE
specify filename for e.g. PUT or DELETE
-d STRING, --data=STRING
specify string data for e.g. POST
-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/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
openSUSE:Factory if nothing else specified.
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
-r rev, --revision=rev
branch against a specific revision
-m TEXT, --message=TEXT
specify message TEXT
-f, --force
force branch, overwrite target
-c, --checkout
Checkout branched package afterwards (’osc bco’
is a
shorthand for this option)
--nodevelproject
do not follow a defined devel project (primary
project
where a package is developed)
bugowner
Show bugowners of a project/package
osc bugowner PRJ
osc bugowner PRJ PKG
Shortcut for osc maintainer -B [PRJ] PKG
PRJ defaults to ’openSUSE:Factory’. Prints bugowner if defined,
or maintainer otherwise.
Options:
-h, --help show this help message and exit
-e, --email
show email addresses instead of user names
--nodevelproject
do not follow a defined devel project (primary
project
where a package is developed)
-v, --verbose
show more information
build 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 honours 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] REPOSITORY ARCH BUILD_DESCR
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)
# 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
--cpio-bulk-download
enable 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
--vm-type=TYPE
use VM type TYPE (e.g. kvm)
--linksources
use hard links instead of a deep copied source
--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
Run build as root. The default is to build as
unprivileged user. Note that a line "#
norootforbuild"
in the spec file will invalidate this option.
--without=X
disable feature X for build
--with=X enable feature X for build
--ccache use ccache to speed up rebuilds
--icecream=N
use N parallel build jobs with icecream
-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
-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.
--no-verify
Skip signature verification of packages used for
build.
--nochecks, --no-checks
Do not run post 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 chache 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. It needs to be called from inside a package directory.
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 arguments REPOSITORY and ARCH can be taken from the first
two columns of the ’osc repos’ output.
usage:
osc buildconfig REPOSITORY ARCH (in pkg dir)
osc buildconfig PROJECT PACKAGE REPOSITORY ARCH
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
--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 can be taken from the first
two columns of the ’osc repos’ output.
usage:
osc buildinfo REPOSITORY ARCH [BUILD_DESCR] (in pkg dir)
osc buildinfo PROJECT PACKAGE REPOSITORY ARCH [BUILD_DESCR]
Options:
-h, --help show this help message and exit
-x PAC, --extra-pkgs=PAC
Add this package when computing the buildinfo
buildlog (bl)
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.
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 START, --start=START
get log starting from the offset
cat Output the content of a file to standard output
Examples:
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
Usage:
osc cat [ARGS...]
Options:
-h, --help show this help message and exit
-u, --unexpand
always work with unexpanded packages.
-e, --expand
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/Build_Service/Collaboration for
information on this topic.]
See the "request" command for showing and modifing existing
requests.
osc changedevelrequest PROJECT PACKAGE DEVEL_PROJECT
[DEVEL_PACKAGE]
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
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
Use server side generated sources instead of
local
generation.
-c, --current-dir
place PACKAGE folder in the current
directoryinstead
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
-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!
chroot chroot into the buildchroot
chroot into the buildchroot for the given repository, arch and
build description (NOTE: this command does not work if "build-
type" is set in the config)
usage:
osc chroot [OPTS] REPOSITORY ARCH BUILD_DESCR
osc chroot [OPTS] REPOSITORY (ARCH = hostarch, BUILD_DESCR
is detected automatically)
osc chroot [OPTS] ARCH (REPOSITORY = build_repository
(config option), BUILD_DESCR is detected automatically)
osc chroot [OPTS] BUILD_DESCR (REPOSITORY = build_repository
(config option), ARCH = hostarch)
osc chroot [OPTS] (REPOSITORY = build_repository (config
option), ARCH = hostarch, BUILD_DESCR is detected automatically)
Options:
-h, --help show this help message and exit
-o, --offline
Use cached data without contacting the api
server
-r, --root login as root instead of abuild
--noinit, --no-init
do not guess/verify specified repository
--alternative-project=PROJECT
specify the used build target project
--local-package
package doesn’t exist on the server
commit (checkin, ci)
Upload content to the repository server
Upload content which is changed in your working copy, to the
repository server.
Optionally checks the state of a working copy, if found a file
with unknown state, it requests an user input:
* skip - don’t change anything, just move to another file
* remove - remove a file from dir
* edit file list - edit filelist using EDITOR
* commit - don’t check anything and commit package
* abort - abort commit - this is default value This can be
supressed by check_filelist config item, or -f/--force command
line option.
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
--verbose-validation
Run the source validation with verbose
informations
--skip-validation
Skip the source validation
-f, --force
force commit - do not tests a file list
-F FILE, --file=FILE
read log message from FILE
-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)
(section is either an apiurl or an alias or ’generic’)
Usage:
osc config SECTION OPT [VAL...]
Options:
-h, --help show this help message and exit
-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 is 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
link the specified revision.
-d, --keep-develproject
keep develproject tag in the package metadata
-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
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_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.
-d, --diff show diff only instead of creating the actual
request
--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 SUPERSEDE, --supersede=SUPERSEDE
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)
Create request to delete a package or project
usage:
osc deletereq [-m TEXT] PROJECT [PACKAGE] Options:
-h, --help show this help message and exit
-m TEXT, --message=TEXT
specify message TEXT
dependson (whatdependson)
Show the build dependencies
The command dependson and 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.
dependson shows the build dependencies inside of a project,
valid for a given repository and architecture. 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
osc whatdependson REPOSITORY ARCH
usage:
osc dependson PROJECT [PACKAGE] REPOSITORY ARCH
osc whatdependson PROJECT [PACKAGE] REPOSITORY ARCH
diff (di)
Generates a diff
Generates a diff, comparing local changes against the repository
server.
ARG, specified, is a filename to include in the diff.
Usage:
osc diff [ARGS...]
Options:
-h, --help show this help message and exit
--missingok
do not fail if the source or target
project/package
does not exist on the server
-p, --plain
output the diff in plain (not unified) diff
format
-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.
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 package (check out all archs in subdirs)
osc getbinaries REPOSITORY ARCHITECTURE #
works in checked out package
osc getbinaries PROJECT PACKAGE REPOSITORY ARCHITECTURE
Options:
-h, --help show this help message and exit
--sources also fetch source packages
-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
-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.
usage:
osc linkpac SOURCEPRJ SOURCEPAC DESTPRJ [DESTPAC] Options:
-h, --help show this help message and exit
-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
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
-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)
-R REVISION, --revision=REVISION
specify revision (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 START, --start=START
get log starting from offset
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
--xml generate output in XML
--csv generate output in CSV (separated by |)
-r rev, --revision=rev
show log of the specified revision
maintainer
Show maintainers of a project/package
To be used like this:
osc maintainer PRJ <options> or
osc maintainer PRJ PKG <options>
Usage:
osc maintainer [ARGS...]
Options:
-h, --help show this help message and exit
-r role, --role=role
Specify user role
-d user, --delete=user
delete a maintainer/bugowner (can be specified
via
--role)
-a user, --add=user
add a new maintainer/bugowner (can be specified
via
--role)
-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
man generates a man page
usage:
osc man
mbranch
Multiple branch of a package
[See http://en.opensuse.org/Build_Service/Concepts/Maintenance
for information on this topic.]
This command is used for creating multiple links of defined
version of a package in one project. This is esp. used for
maintenance updates.
The branched package will live in
home:USERNAME:branches:ATTRIBUTE:PACKAGE if nothing else
specified.
usage:
osc mbranch [ SOURCEPACKAGE [ TARGETPROJECT ] ] Options:
-h, --help show this help message and exit
-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.
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 -
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
osc meta attribute PRJ [PKG [SUBPACKAGE]] [--attribute
ATTRIBUTE] [--create|--delete|--set [value_list]]
Usage:
osc meta <prj|pkg|prjconf|user|pattern|attribute> ARGS...
osc meta <prj|pkg|prjconf|user|pattern|attribute> -e|--edit
ARGS...
osc meta <prj|pkg|prjconf|user|pattern|attribute> -F|--file
ARGS...
osc meta pattern --delete PRJ PATTERN Options:
-h, --help show this help message and exit
--delete delete a pattern or attribute
-s ATTRIBUTE_VALUES, --set=ATTRIBUTE_VALUES
set attribute values
-c, --create
create attribute without values
-e, --edit edit metadata
-F FILE, --file=FILE
read metadata from FILE, instead of opening an
editor.
’-’ denotes standard input.
--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 packages, projects or requests involving yourself
Examples:
# 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 submitrequests 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:
-h, --help
show this help message and exit
-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.
Examples:
osc patchinfo
osc patchinfo PATCH_NAME Options:
-h, --help show this help message and exit
--force-update
drops away collected packages from an already
built
patch and let it collect again
-f, --force
force generation of new patchinfo file
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
-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)
-c, --csv csv output
-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). If you are sure that you want to
remove this project and all its packages use ’--force’ switch.
usage:
osc rdelete -f PROJECT
osc rdelete PROJECT PACKAGE [PACKAGE ...]
Options:
-h, --help show this help message and exit
-f, --force
deletes a package or an empty project
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.
Note that this command doesn’t return a normal diff (which could
be applied as patch), but a "pretty" diff, which also compares
the content of tarballs.
usage:
osc rdiff OLDPRJ OLDPAC NEWPRJ [NEWPAC]
osc rdiff PROJECT PACKAGE Options:
-h, --help show this help message and exit
--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
-r N[:M], --revision=N[:M]
revision id, where N = old revision and M = new
revision
--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 (inside working copy)
osc rebuild PROJECT [PACKAGE [REPOSITORY [ARCH]]] Options:
-h, --help show this help message and exit
-f, --failed
rebuild all failed packages
remotebuildlog (rbl, rbuildlog)
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.
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 START, --start=START
get log starting from the offset
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
repos shows repositories configured for a project
usage:
osc repos
osc repos [PROJECT]
repositories (platforms)
Shows available repositories
Examples: 1. osc repositories
Shows all available repositories/build targets
2. osc repositories <project>
Shows the configured repositories/build targets of a
project
Usage:
osc repositories [ARGS...]
repourls
Shows URLs of .repo files
Shows URLs on which to access the project .repos files (yum-
style metadata) on download.opensuse.org.
usage:
osc repourls [PROJECT]
request (review, rq)
Show and modify requests
[See http://en.opensuse.org/Build_Service/Collaboration for
information on this topic.]
This command shows and modifies existing requests. To create new
requests you need to call one of the following:
osc submitrequest
osc deleterequest
osc changedevelrequest To send low level requests to the
buildservice API, use:
osc api
This 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" and append
a message that you specify with the --message option.
"wipe" will permanently delete a request.
"revoke" will set the request state to "revoked" and append a
message that you specify with the --message 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.
"checkout" will checkout the request’s source package. This only
works for "submit" requests.
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 approvenew [-m TEXT] PROJECT
osc request decline [-m TEXT] ID
osc request revoke [-m TEXT] ID
osc request wipe ID
osc request checkout/co ID
osc review accept [-m TEXT] ID
osc review decline [-m TEXT] ID
osc review new [-m TEXT] ID # for setting a
temporary comment without changing the state Options:
-h, --help show this help message and exit
--involved-projects
show all requests for project/packages where
USER is
involved
--exclude-target-project=EXCLUDE_TARGET_PROJECT
exclude target project from request list
--non-interactive
non-interactive review of request
-i, --interactive
interactive review of request
-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
-U USER, --user=USER
same as -M, but for the specified USER
-D DAYS, --days=DAYS
only list requests in state "new" or changed in
the
last DAYS. [default=30]
-s STATE, --state=STATE
only list requests in one of the comma separated
given
states (new/accepted/revoked/declined) or "all"
[default=new, or all, if no args given]
-a, --all all states. Same as’-s all’
-t TYPE, --type=TYPE
limit to requests which contain a given action
type
(submit/delete/change_devel)
-m TEXT, --message=TEXT
specify message TEXT
-u, --unified
output the diff in the unified diff format
-d, --diff generate a diff
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...]
results (r)
Shows the build results of a package
Usage:
osc results (inside working copy)
osc results remote_project remote_package
Options:
-h, --help show this help message and exit
--format=FORMAT
format string for csv output
--csv generate output in CSV format
--xml generate output in XML (former results_meta)
-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)
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, sm)
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 sm ’source package name’ (’osc search
--maintained’)
osc bse ... (’osc search --binary’)
osc se ... Options:
-h, --help show this help message and exit
-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
limit search results to packages with maintained
attribute set.
-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
-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
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 rev, --revision=rev
use the specified revision.
signkey
Manage Project Signing Key
osc signkey [--create|--delete] <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 (eg. when dropping "KDE:KDE4:Community" key, the one
from "KDE:KDE4" will be used).
WARNING: THE OLD KEY WILL NOT BE RESTORABLE WHEN USING DELETE OR
CREATE
Usage:
osc signkey [ARGS...]
Options:
-h, --help show this help message and exit
--notraverse
don’ traverse projects upwards to find key
--delete delete the gpg signing key in 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
’?’ item is not under version control
’!’ item is missing (removed by non-osc command) or incomplete
examples:
osc st
osc st <directory>
osc st file1 file2 ...
usage:
osc status [OPTS] [PATH...] Options:
-h, --help show this help message and exit
-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/Build_Service/Collaboration for
information on this topic.]
See the "request" command for showing and modifing existing
requests.
usage:
osc submitreq [OPTIONS]
osc submitreq [OPTIONS] DESTPRJ [DESTPKG]
osc submitreq [OPTIONS] SOURCEPRJ SOURCEPKG DESTPRJ
[DESTPKG] Options:
-h, --help show this help message and exit
--yes proceed without asking.
-d, --diff show diff only instead of creating the actual
request
--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 SUPERSEDE, --supersede=SUPERSEDE
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
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 (eg. 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 reason REPOSITORY ARCH
osc reason PROJECT PACKAGE REPOSITORY ARCH
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 ...]
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
Use server side generated sources instead of
local
generation.
-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
-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)
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)
-m MESSAGE, --message=MESSAGE
add MESSAGE to changes (not open an editor)
wipebinaries
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 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
-a ARCH, --arch=ARCH
Delete all binary packages for a specific
architecture
GLOBAL OPTIONS
Options:
--version show program’s version number and exit
-h, --help show this help message and exit
--debugger jump into the debugger before executing
anything
--post-mortem jump into the debugger in case of errors
-t, --traceback print call trace in case of errors
-H, --http-debug debug HTTP traffic
-d, --debug print info useful for debugging
-A URL/alias, --apiurl=URL/alias
specify URL to access API server at or an alias
-c FILE, --config=FILE
specify alternate configuration file
--no-keyring disable usage of desktop keyring system
--no-gnome-keyring disable usage of GNOME Keyring
-v, --verbose increase verbosity
-q, --quiet be quiet, not verbose
SEE ALSO
Type ’osc help <subcommand>’ for more detailed help on a specific
subcommand.
For additional information, see
* http://en.opensuse.org/Build_Service_Tutorial
* http://en.opensuse.org/Build_Service/CLI
You can modify osc commands, or roll you own, via the plugin API:
* http://en.opensuse.org/Build_Service/osc_plugins
AUTHOR
osc was written by several authors. This man page is automatically
generated.