Provided by: osc_0.152.0-1_all
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 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/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. 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 -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) 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 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 --trust-all-projects trust packages from all projects --host=HOST perform the build on a remote server - user@server:~/remote/directory --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-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. --define='X Y' define macro X with value Y --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 -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 -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, --noverify Skip signature verification 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 --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_repositoy' 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 -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 -l, --last Show the last finished log file cat (less) 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 -M, --meta list meta data files -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/openSUSE: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 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 directoryinstead of a PROJECT/PACKAGE directory -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 opens a shell inside of the build root chroot into the build root for the given repository, arch and build description (NOTE: this command does not work if a VM is used) 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 --root=ROOT Path to the buildroot -r, --login-as-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 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 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 ignored -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) (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 -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 keep the source link in target, this also expands the source -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://doc.opensuse.org/products/draft/OBS/obs-reference- guide_draft/cha.obs.maintenance_setup.html for information on this topic.] This command is asking to open an empty maintence 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 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, 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 [--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. -r REPOSITORY, --repository=REPOSITORY specify repository -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 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 --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 -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 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 PACKAGE REPOSITORY ARCHITECTURE osc getbinaries PROJECT PACKAGE REPOSITORY ARCHITECTURE FILE Options: -h, --help show this help message and exit --debug also fetch debug packages --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. 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] 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 <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://doc.opensuse.org/products/draft/OBS/obs-reference- guide_draft/cha.obs.maintenance_setup.html for information on this topic.] This command is asking the maintence team to start a maintence 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 ] ] Options: -h, --help show this help message and exit --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 --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 banch 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. usage: osc sm [SOURCEPACKAGE] [-a ATTRIBUTE] osc mbranch [ SOURCEPACKAGE [ TARGETPROJECT ] ] Options: -h, --help show this help message and exit --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. 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 Usage: osc meta <prj|pkg|prjconf|user|pattern> ARGS... osc meta <prj|pkg|prjconf|user|pattern> -e|--edit ARGS... osc meta <prj|pkg|prjconf|user|pattern> -F|--file ARGS... osc meta pattern --delete PRJ PATTERN osc meta attribute PRJ [PKG [SUBPACKAGE]] [--attribute ATTRIBUTE] [--create|--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 -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. --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 submitrequests 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 summarises 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 -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. 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 -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 -r N[:M], --revision=N[:M] revision id, where N = old revision and M = new revision -M, --meta diff meta data --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 -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 --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 request for releasing a maintenance update. [See http://doc.opensuse.org/products/draft/OBS/obs-reference- guide_draft/cha.obs.maintenance_setup.html for information on this topic.] This command is used by the maintence team to start the release process of a maintenance update. This includes usually testing based on the defined reviewers of the update project. usage: osc releaserequest [ SOURCEPROJECT ] Options: -h, --help show this help message and exit -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 -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 .repos files (yum-style metadata) on download.opensuse.org. 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. "checkout" will checkout the request's source package ("submit" requests only). "priorize" change the prioritity 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 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 priorize [-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") --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 --or-revoke For automatisation 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 (submit/delete/change_devel) -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 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 -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 --format=FORMAT format string for csv output --csv generate output in CSV format --xml generate output in XML (former results_meta) -w, --watch watch the results until all finished building -v, --verbose more verbose output -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)> ose revert . Note: this only works for package working copies Usage: osc revert [FILES...] 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 --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 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 disabledrun osc service remoterun [PROJECT PACKAGE] COMMAND can be: run r run defined services locally, it takes an optional parameter to run only a specified source service. In case parameters exist for this one in _service file they are used. disabledrun dr run disabled or server side only services locally and store files as local created remoterun rr trigger a re-run on the server side 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. 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 (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 --sslcert fetch SSL certificate instead of GPG key --notraverse don' 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 '?' 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 modifing 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 Create multiple request 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 SUPERSEDE, --supersede=SUPERSEDE Superseding another request by this one -r REV, --revision=REV specify a certain source revision ID (the md5 sum) for the source package -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 [<PROJECT> <PACKAGE>] osc token --delete <TOKENID> osc token --trigger <TOKENID> Options: -h, --help show this help message and exit -t TOKENID, --trigger=TOKENID Trigger the action of a token -d TOKENID, --delete=TOKENID Create a new 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 (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 ...] 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 -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) whois (user, who) Show fullname and email of a buildservice user Usage: osc whois [USERNAMES...] 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 # works in checked out project dir 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 (filters some headers) --http-full-debug debug HTTP traffic (filters no headers) -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/openSUSE:Build_Service_Tutorial * http://en.opensuse.org/openSUSE:OSC You can modify osc commands, or roll your own, via the plugin API: * http://en.opensuse.org/openSUSE:OSC_plugins
AUTHOR
osc was written by several authors. This man page is automatically generated.