# # spec file for package osc (Version 0.97) # # Copyright (c) 2007 SUSE LINUX Products GmbH, Nuernberg, Germany. # This file and all modifications and additions to the pristine # package are under the same license as the package itself. # # Please submit bugfixes or comments via http://bugs.opensuse.org/ # # norootforbuild Name: osc BuildRequires: python-devel Version: 0.97 Release: 1 Group: Development/Tools/Other License: GPL v2 or later BuildRoot: %{_tmppath}/%{name}-%{version}-build URL: https://forgesvn1.novell.com/svn/opensuse/trunk/buildservice/src/clientlib/python/osc/ # v=0.97; svn export https://forgesvn1.novell.com/svn/opensuse/trunk/buildservice/src/clientlib/python/osc osc-$v; tar czf osc-$v.tar.gz osc-$v Source: osc-%{version}.tar.gz Summary: openSUSE (build service) commander Requires: python-urlgrabber # %if 0%{?suse_version} %if %suse_version < 1020 Requires: python-elementtree %else Requires: python-xml %endif %endif # %if 0%{?fedora_version} %if %fedora_version < 7 Requires: python-elementtree %endif %endif # %{!?python_sitelib: %define python_sitelib %(python -c "from distutils.sysconfig import get_python_lib; print get_python_lib()")} %description Commandline client for the openSUSE build service. See http://en.opensuse.org/Build_Service/CLI , as well as http://en.opensuse.org/Build_Service_Tutorial for a general introduction. Authors: -------- Peter Poeml %prep %setup -q -n osc-%{version} %build CFLAGS="%{optflags}" \ %{__python} setup.py build %install %{__python} setup.py install --prefix=%{_prefix} --root %{buildroot} ln -s osc-wrapper.py %{buildroot}/%{_bindir}/osc mkdir -p %{buildroot}/var/lib/osc-plugins %clean %{__rm} -rf %{buildroot} %files %defattr(-,root,root) %{_bindir}/osc* %{python_sitelib}/* %dir /var/lib/osc-plugins %doc README TODO NEWS %changelog * Wed Jul 11 2007 - poeml@suse.de - update to r1825: - version 0.97 - added initial revision handling: - extended "osc co prj pac" to checkout a specific revision of pac - extended "osc up" to update to a specific revision - extended "osc diff" to diff the working copy against a specific revision on the server. NOTE: comparing two server-side revisions (osc diff -r 11:12) is currently not supported! - addremove: ignore foo.rXX, foo.mine for files which are in 'C' state - wipebinaries: allow to wipe all binaries of packages for which the build is disabled - updatepacmetafromspec scans for spec files automatically; also, added a --specfile option. - load subcommands from /var/lib/osc-plugins/ or ~/.osc-plugins/ * Fri Jun 29 2007 - poeml@suse.de - add /var/lib/osc-plugins to the filelist * Fri Jun 29 2007 - poeml@suse.de - update to r1794: - rm: don't allow to mark files as deleted which are not under version control * Thu Jun 28 2007 - poeml@suse.de - update to r1792: - linkpac: make this osc subcommand work again: sync metadata if edit_meta() is called with change_is_required=False. - log: fail gracefully if logfile can't be found - handle empty prjresults (e.g. when no repositories are defined) * Tue Jun 26 2007 - poeml@suse.de - update to r1783: - build: don't stumble over an empty list of packages when trying to verify packages - ls: add verbose option to print extra information for packages - for ls, co, meta, editmeta, linkpac, copypac, rebuildpac, and wipebinaries (basically all the server-side commands), allow arguments "foo/bar" instead of "foo bar" * Fri Jun 22 2007 - poeml@suse.de - update to r1769: fix return values in metafile.sync() which I broke whey I applied Marcus Huewe's patch... * Thu Jun 21 2007 - poeml@suse.de - update to r1763: - set correct Content-Type header on PUT requests (application/octet-stream). Rails 1.2 seems to be more strict in this regard. Patch from Marcus Rueckert. - init: make usage (and usage info) info more precise * Thu Jun 14 2007 - poeml@suse.de - update to r1733: New features kindly implemented by Marcus Huewe: - added wipebinaries command - added abortbuild command - improved handling of metadata editing if the server doesn't accept it * Thu Jun 14 2007 - poeml@suse.de - update to r1731: - adjust for change in build.rpm, where /usr/lib/build/debsort was removed. Look for debtransform program instead in order to determine if build.rpm is new enough. - update cmdln.py to planned 1.0 version. The main changes are related to points that were raised during employment in osc: [#] v0.8.3 - Fix a bug where errors with passing an incorrect number of args to functions in do_foo() implementations would be masked. [#] v1.0.0 - [backward incompat] `Cmdln.main()` no longer takes an `optparser` argument. Top-level option parsing has been changed so that top-level options for a `Cmdln` subclass can more naturally be defined and handled on the class definition. Changes: - `Cmdln.main()` calls `self.get_optparser` to get an option handler. Subclasses should overload this method for custom top-level options. - After option parsing, but before sub-command handling, the `self.postoptparse()` hook is called. - Add a `version` attribute on `Cmdln` subclasses. If set, the default top-level option parser will have a `--version` attribute. - [backward incompat] Simplify the StopProcessing/opts.stop handling for option handling in subcommands. The "opts" argument to "do_*" sub-command functions will no longer have a "stop" value. StopProcessing is now called StopOptionProcessing. This shouldn't affect simple usage of cmdln.py. - adjust osc.commandline for these changes. - make startdir a module global - add info about usage with the 'nosetests' test discovery tool - add tests for commandline options - results: remove obsolete code handling commandline arguments * Mon May 14 2007 - poeml@suse.de - update to r1657: - rebuildpac: fix mistyped repository parameter - build: add --userootforbuild option * Sat May 12 2007 - poeml@suse.de - update to r1655: - build: fix bug introduced with r1652: for the buildinfo, POST the specfile's content, not its name... * Thu May 10 2007 - poeml@suse.de - update to r1652: - build: implement -x/--extra-pkgs option (passed to backend and included in buildinfo result) - make filling out of username in templates work again * Tue May 08 2007 - poeml@suse.de - update to r1644: - don't allow to delete projects, as long it is not implemented in the backend - use new API route for downloading binaries also in configured URLs - make deletepac work again * Sat May 05 2007 - poeml@suse.de - update to r1635: - version 0.96 - following suggestions by Christian Boltz and Michal Marek, osc now memorizes where a working copy was checked out from, saving the api server url to .osc/_apiurl. - implement 'info' subcommand - buildhistory works again - copypac: implement package copy from one buildservice instance to another (--to-apiurl option) - build: - rename --prefer-pacs option to --prefer-pkgs - implement --keep-pkgs option - call rpm command for preferred rpms with --nosignature --nodigest - improve key import instructions after suggestion by Michael Wolf - the results subcommand now handles multiple arguments - use the new api routes in all places * Wed May 02 2007 - poeml@suse.de - update to r1626: - build: implement --prefer-pacs option - apply patch from Michael Marek, fixing all places where error messages were printed to stdout instead of stderr. [#239404] * Wed Apr 25 2007 - poeml@suse.de - update to r1608: - version 0.95 - osc is now easier to work with when using alternative API servers. The configured server can be overriden with -A on the commandline. "apisrv" in the config takes a URL now, so the variable "scheme" which was needed in addition before becomes obsolete. For backward compatibility, a hostname (and scheme variable) are accepted like before. Likewise, the auth sections in the config take a URL now, or a hostname:port to keep old config working. HTTP or HTTPS scheme is determined from the URL. Credentials must be configured in .oscrc. - build: use actual api server in urllist for downloading, instead of hardcoded api.opensuse.org [#265211]. - finally, global option -H enables HTTP traffic debugging - implement "rebuild all failed packages", via --failed option in rebuildpac subcommand - status -v shows all files, including unmodified ones - suppress the legend in prjresults by default (show with -l) - --version shows the program version number - fix the commit subcommand's argument handling. The following works correctly now: osc ci ../test/onlyinwc `pwd` fstab ../test/f2 - fix the download progress meter to work with small terminals [#266989] * Fri Apr 20 2007 - poeml@suse.de - update to r1594: - save and reuse HTTP server cookies, speeding HTTP requests up about 5 times (in our iChain setup anyway...) - rewrite the HTTP handling - adding http_GET/POST/PUT/DELETE() functions, which dispatch to http_request(), and use them everywhere - removing othermethods.py - keeping urlopen(), in case it is used from externally, but have it print out a "depracated" message - finally, implementing a global HTTP debug mode - if data to be sent is large, mmap it instead of reading at once - build: remove debug print of tempfile name - README: add info about dependencies of osc python module - further the osc buildroot configuration example * Fri Mar 30 2007 - poeml@suse.de - update to r1551: - update: when updating multiple packages, print each package name - build: - use preinstall attribute instead of obsolete element - use runscripts attribute and hand it over to build in the buildinfo - results: quote parameter in the new URL - prjresults: sort package names - run build with --norootforbuild, thereby defaulting to build as abuild user - when updating, don't delete files with local modifications - add testcase - update osc tests for small api changes - use new api ['build', prj, '_result'] for prjresults subcommand * Tue Mar 13 2007 - poeml@suse.de - update to r1427: - apply fix from Christoph Thiel to use cElementTree from Python 2.5 - let the diff subcommand return 1 if differences were found - make 'results' subcommand many times faster, by making only a single request on _result?view=status&package=%%s (new api) * Fri Mar 09 2007 - poeml@suse.de - build the debian package in the new way * Tue Jan 23 2007 - poeml@suse.de - update to r1093: - fix important bug, which could lead to overwriting local modifications when upstream changes are merged in - if a merge fails, the store copy must be updated neverthelesss - sort output of 'status' (unknown files first, filenames alphabetically) * Tue Jan 23 2007 - poeml@suse.de - remove unused (and possibly disturbing, because unfunctional) rpm define of py_sitedir * Fri Jan 12 2007 - poeml@suse.de - update to r1047: - core: added class "metadata" (merge from Susannes /branches/froh/reponator/) - added command alias 'stat' for 'status', like in svn - improved documentation/examples (Lars + Susanne) - print usage info if 'co' is called without arguments * Fri Oct 13 2006 - poeml@suse.de - set scheme=https in the default configuration, to work around issue with new server * Thu Oct 12 2006 - poeml@suse.de - update to 0.9 (r761): - "iChain-ready" (works with API server now using iChain authentication) - add runtime check for build.rpm version, so the rpm package dependency is no longer required - add 'edituser' command for editing the metadata of a user account. It tries to create a user if it doesn't exist yet. A new command 'usermeta' replaces 'id' respectively 'userid'. - rewrite configuration handling. Now the API server can be set in .oscrc - ignore '.gitignore', '.pc', '*~' (now using filename matching [#208969] - fix 'status' to work with project directories as arguments - fix 'status ' * Fri Sep 29 2006 - poeml@suse.de - update to r753: - 'rebuildpac' now accepts additional repo and arch argument. Note: the syntax has changed. - add 'prjresults' command to display aggregated build status over an entire project - add 'deleteprj' command (the API server doesn't seem to support it yet, though) - change 'buildhistory' to display human-readable text - 'log': print usage info if called with missing arguments - 'ci': handle upload errors - fix filelist for python >= 2.5 * Thu Sep 21 2006 - poeml@suse.de - update to r744: - add 'copypac' subcommand, to copy a complete package to a new package, possibly cross-project - don't die if user tries to 'add' a file which is already versioned - don't die if 'addremove' encounters directories - urlopen(): for server return code 500, print out the reply body - be fair, and also mention dsc files in some help texts * Fri Sep 15 2006 - poeml@suse.de - update to r735: - build: use configuration from *local* specfile (e.g. BuildRequires) - build: let envvars OSC_SU_WRAPPER and OSC_BUILD_ROOT override config - build: allow 'dynamical' build-root setting by using %%(repo)s and %%(arch)s - add 'createpac/editpac' and 'createprj/editprj' subcommands which are similar to 'editmeta' but should be more logical to find - added 'deletepac' subcommand - added 'buildhistory' subcommand (formerly 'history'). This only gives out raw xml at this time - added ".git" to the excluded files * Mon Aug 07 2006 - poeml@suse.de - update to svn r635: - added 'linkpac' subcommand - adapt to API changes * Thu Jul 20 2006 - poeml@suse.de - fixed issue with uploading files when an intercepting web proxy was in between osc and the api server - fixed creation of new packages/projects * Mon Jul 17 2006 - poeml@suse.de - update to 0.7 (r599) - initial support for local builds (subcommand 'build') - new subcommands buildconfig, buildinfo, repos - better error handling * Mon Jun 26 2006 - poeml@suse.de - update to svn r534 - fix 'rebuildpac' command to not show raw xml - editmeta: - add examples for tags to the package template - add examples for build targets to the project template - fix updatepacmetafromspec to cope with subpackages during parsing - code cleanup - remove requirement on pyxml package * Thu Jun 22 2006 - poeml@suse.de - update to svn r528: - add support for streaming build log (thanks to Christoph Thiel) - don't try to merge binary files - set mtime on files that have been fetched during merge * Thu Jun 08 2006 - poeml@suse.de - update to svn r481: - fix handling of filenames with '+' signs [#153725, #181593] - before committing, make sure that the working copy is up to date - don't diff binary files - add 'rebuildpac' command, which triggers a rebuild for all repositories/architectures of the package - fix merge on 'update', if osc is called from another directory - don't fail on 'resolve' when the working copy is in a newer rev already - add 'commit' as command alias for 'ci/checkin' * Tue Jun 06 2006 - poeml@suse.de - update to svn r469: - work around ruby on rails issue, which swallows '+' signs in filenames in PUT requests [#153725, 181593] - before committing, make sure that the working copy is up to date (added show_rev() function) - add 'commit' as subcommand alias for 'ci/checkin' * Sat Jun 03 2006 - poeml@suse.de - update to svn r466: - add 'repourls' subcommand - display reason for new build status is 'broken' - add a tentative 'updatepacmetafromspec' subcommand, which takes package metadata from a specfile - handle some error conditions - fix the profiling wrapper script - make 'resolved' more robust - set a User-agent * Tue May 30 2006 - poeml@suse.de - update to 0.6: - diff bugfix: sometimes displayed diff against obsolete files - update bugfixes: fix update of working copy when adding a file from upstream which is missing locally; fix update in directory with unmodified files: don't try to merge if upstream file wasn't changed at all - add: make it faster * Tue May 23 2006 - poeml@suse.de - update to 0.5: - help :-) - fix status letter for files merged on update (in analogy to svn , it is either G or U) - if an old _files listing without any metadata is found, don't bother the user with it - make all subcommands properly importable functions - bug in 'resolved' command fixed, which wouldn't clear the conflict state of a file - fix update in directory with unmodified files: don't try to merge if upstream file wasn't changed at all * Mon May 22 2006 - poeml@suse.de - don't fail on undeleting non-existing _to_be_deleted file - update to 0.4: - allow 'up' inside a project directory (will automatically pull in all new packages). (For past checkouts, you may need to put the project name into $prjdir/.osc/_project yourself). - checkout: preserve mtimes - add diff3 merge support. Locally modified files are merged with upstream changes if possible, and go into Conflict state if that fails. - add 'resolved' command to be used after manual merging. * Fri May 19 2006 - poeml@suse.de - update to 0.3: - use the new file metadata, which provides checksum, size and mtime - faster 'status', 'update', 'diff' - improve argument handling, now e.g. 'osc up *' is possible - on first usage, ask for username and password and store them in .oscrc (.netrc can still be used) * Mon May 15 2006 - poeml@suse.de - this package is not noarch * Fri May 12 2006 - poeml@suse.de - don't use --record-rpm option on setup.py, only SUSE has it - define py_sitelib macro * Wed May 10 2006 - poeml@suse.de - created package (version 0.2)