1
0
mirror of https://github.com/openSUSE/osc.git synced 2024-12-29 03:06:15 +01:00
Commit Graph

247 Commits

Author SHA1 Message Date
Marcus Hüwe
4c136424fb fix for "osc prjconf <project> -e". 2007-08-04 21:11:31 +00:00
Marcus Hüwe
9921478c37 changed default behaviour of importsrcpkg(). The files will not be committed by default. To commit them use the --commit switch. 2007-07-30 18:11:52 +00:00
Marcus Hüwe
d6bdc3712f - some more work on importsrcpkg():
* by default the new files will be comitted
    (if it is a new package or if there are no
    source files on the server)
  * added --disable-commit option switch to
    import the package only locally
  * added --delete-old-files option switch to
    delete old files from the server.
- some changes in the Package class:
  * extended existing commit() method to do
    all the commit work (before it was done
    in the do_commit() method).
  * moved stuff from the constructor into a
    new method (update_datastructs()).
2007-07-30 11:12:42 +00:00
Marcus Hüwe
155d60cfa0 use rpm-python to detect the "Name:", "Summary:", "%description" of a (s)rpm.
This change speeds up some things
2007-07-29 15:27:27 +00:00
Dr. Peter Poeml
8316936fa5 allow to import source rpms by specifying an URL 2007-07-25 12:21:46 +00:00
Dr. Peter Poeml
633fd2c10f simplify do_importsrcpkg() 2007-07-25 12:14:32 +00:00
Dr. Peter Poeml
8fe9ac2ed1 add req command to issue arbitrary requests to the API 2007-07-25 10:56:04 +00:00
Dr. Peter Poeml
30b82a050e expand tilde to users home for packagecachedir in .oscrc [#293675] 2007-07-24 10:46:03 +00:00
Dr. Peter Poeml
31953fbbe4 append missing newline if do_commits=False [#293672] 2007-07-24 10:35:08 +00:00
Marcus Hüwe
63d6dede67 make delete_package() and delete_project() more userfriendly (added trivial exception handling..) 2007-07-23 16:31:02 +00:00
Marcus Hüwe
f36e3133c7 - added new importfromsrcpkg command:
* now a package can be imported from a
    src.rpm
  * thanks to Peter for his is_rpm() and is_srcrpm()
    methods
- split out some methods into smaller ones (so they
  can be reused for other tasks)
- added some new methods for unpacking a src.rpm
- changed read_meta_from_spec() method to be more
  flexible (it is possible to specify the tags and
  sections).
2007-07-23 16:03:30 +00:00
Dr. Peter Poeml
de9faebefe - meta: add --delete switch to delete pattern files
- complete last fix (don't implicitely add .xml to pattern files) -- forgot to
  commit the part in osc/core.py.
2007-07-19 12:23:42 +00:00
Dr. Peter Poeml
1945a7a683 - fix indentation (enforceming pattern file argument)
- don't implicitely add .xml to pattern files -- it will probably cause
  confusion.
2007-07-19 11:54:13 +00:00
Dr. Peter Poeml
a9dbc4bb1d fix error message which osc issues if build package is too old 2007-07-19 10:49:30 +00:00
Dr. Peter Poeml
ad9517cb81 meta: extend usage info for 'meta pattern' 2007-07-19 10:14:10 +00:00
Dr. Peter Poeml
04bd877a59 - meta: allow for editing patterns
# list patterns:
  osc meta pattern <prj>

  # show pattern foo:
  osc meta pattern <prj> foo

  # edit pattern foo:
  osc meta pattern <prj> foo -e
2007-07-19 10:08:42 +00:00
Dr. Peter Poeml
b1ca1e46ab results: result code can be empty when package has just been created 2007-07-19 07:42:19 +00:00
Dr. Peter Poeml
513255ccf7 fix name of 10.2 product in the template for new projects 2007-07-18 16:49:02 +00:00
Dr. Peter Poeml
d260050dc0 - commit (using the currently documented way): do DELETEs _before_ generating
an "upload" revision with PUTs. The DELETEs would be invalidated by the
  commit.
2007-07-18 13:20:59 +00:00
Dr. Peter Poeml
5c0b0d64b6 commit: flush stdout, so that the progress dots are seen directly when being written 2007-07-18 13:05:13 +00:00
Dr. Peter Poeml
05b47f7f98 - commit: switch to new commit mode also if the -F switch is used
- update NEWS file
2007-07-16 17:30:48 +00:00
Dr. Peter Poeml
b5e1dec8ad - api now sends HTTP/1.1 400 Bad Request for invalid xml. Thus, show the reply
body because it contains helpful info.
- repair linkpac for the new metadata editing facilities. copypac still seems
  to work.
2007-07-16 17:06:06 +00:00
Dr. Peter Poeml
5284a9b783 - meta: implement -F|--file switch. Can read from stdin to ease scripting.
- rework editmeta class, because it was programmed to pull content from the
  server first
- add a catch-all for the depracated commands which refers to the new meta command
2007-07-16 16:20:09 +00:00
Dr. Peter Poeml
4944828bf1 - improve usage info on meta command
- if PUT on metadata fails with a 500, and http_debug is True, print out the
  body of the server reply
- rename update_pacmeta() to update_local_pacmeta() for clarity
- rename update_filesmeta() to update_local_filesmeta() for clarity
2007-07-16 13:40:58 +00:00
Dr. Peter Poeml
3aa108d32a usage info for the meta command 2007-07-16 10:58:11 +00:00
Dr. Peter Poeml
9921fcac8e Switch from software.opensuse.org to download.opensuse.org as default
download URL
2007-07-16 09:45:17 +00:00
Marcus Hüwe
cf3727b70c - added initial search support (some ideas are taken from the webclient):
* when searching a package/project it
     is also possible to search for the search term
     in the <title /> and <description /> elements of
     a package/project.
   * show only exact matches
   * etc.
- please tell me if the usability is too "complex"
  or if the output of the results is too weird.
2007-07-15 13:49:13 +00:00
Dr. Peter Poeml
5a4f1e4d42 - new meta command, replacing editmeta, editprj, createprj, editpac, createpac,
edituser. TODO: 
    - write usage info
    - implement -c|--create
    - implement -F|--file
    - check whether I broke usage of metadata copying/creation from withing
      linkpac or copypac
    - re-implement createpac and friends as aliasses to the new meta command -- I
      just commented them out for now
- fix metadata change detection, which no longer relies on the timestamp of the
  temporary file
- add close() in dgst(), which seemed to miss (I can't see a reason why it
  should not be there0
2007-07-13 16:01:02 +00:00
Dr. Peter Poeml
9d2863b257 - log: convert commit messages to preferred output locale
- commit: new option -F/--file to read commit message from file
- commit: print committed revision number
- Package.commit(): return the new revision number
2007-07-13 10:02:35 +00:00
Marcus Hüwe
fd199c66e9 - added revision support for "osc log"
- some other minor fixes (a bit exception handling (some other methods should be improved too!) etc.)
2007-07-12 00:48:52 +00:00
Dr. Peter Poeml
7e98ecb0cb - renamed log command to buildlog (short: bl)
- implementing a provisionary log command for the commit log
- commit: implemented -m option for the commit message
- commit files together, if (and only if) do_commits = 1 is set in the 
  [general] section of .oscrc
2007-07-11 23:24:26 +00:00
Dr. Peter Poeml
abdbb7c11e updatepacmetafromspec: read spec files in utf-8, or whatever the preferred encoding is in the locale 2007-07-11 21:14:58 +00:00
Dr. Peter Poeml
4d612264e4 bump version (0.97); update NEWS file 2007-07-11 09:19:06 +00:00
Marcus Hüwe
44b1f5621c small fix for do_checkout() 2007-07-07 17:13:37 +00:00
Marcus Hüwe
44dd39c0c2 added some exception handling stuff to checkRevision() (thanks darix for the tip) 2007-07-06 15:54:10 +00:00
Marcus Hüwe
644f8695de added checkRevision() method to verify a revision 2007-07-06 11:54:34 +00:00
Dr. Peter Poeml
eaa08653e0 addremove: ignore foo.rXX, foo.mine for files which are in 'C' state 2007-07-06 11:20:30 +00:00
Dr. Peter Poeml
3b78077453 remove unneeded import statement 2007-07-05 15:12:30 +00:00
e6ae7ddde3 use new openSUSE:Factory name 2007-07-04 17:48:50 +00:00
Dr. Peter Poeml
9ee07fcd5a wipebinaries: allow to wipe all binaries of packages for which the build is disabled 2007-07-04 14:57:19 +00:00
Marcus Hüwe
a0f8f15190 updatepacmetafromspec scans for spec files automatically.
requested/suggested (or whatever) by darix
2007-07-04 13:48:24 +00:00
0629060b41 update template file. Introduce the the new flags, which are support by
build service in svn, but not yet deployed on api.opensuse.org
2007-07-04 12:59:18 +00:00
Marcus Hüwe
85e66362af 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!
2007-07-04 12:55:26 +00:00
Marcus Hüwe
adf9e633f9 added --specfile option to updatepacmetafromspec. Now the name of the spec can differ from the package name. 2007-06-30 15:39:47 +00:00
Dr. Peter Poeml
5f2e9ac766 - load subcommands from /var/lib/osc-plugins/ or ~/.osc-plugins/ 2007-06-29 18:26:30 +00:00
Dr. Peter Poeml
f54d26e61e rm: don't allow to mark files as deleted which are not under version control 2007-06-29 12:02:35 +00:00
Dr. Peter Poeml
6057f2c063 - linkpac: make this osc subcommand work again: sync metadata if edit_meta() is
called with change_is_required=False.
- linkpac: correctly set the destination project in the template used for the
  new package, although the api didn't seem to notice the mistake so far.
2007-06-28 14:17:13 +00:00
Dr. Peter Poeml
f3e5333267 handle empty prjresults (e.g. when no repositories are defined) 2007-06-26 14:32:49 +00:00
Dr. Peter Poeml
d5ba95193b log: fail gracefully if logfile can't be found 2007-06-26 14:22:23 +00:00
Dr. Peter Poeml
458ffb51cb fix return value of read_meta_from_spec() if specfile is missing 2007-06-26 13:56:02 +00:00
Dr. Peter Poeml
8c03ba4f8d ignore .swp files in working copies 2007-06-26 13:49:47 +00:00
Dr. Peter Poeml
a7158af067 - 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"
- add show_project_conf()
2007-06-26 13:17:38 +00:00
Dr. Peter Poeml
b832d0f1c2 build: don't stumble over an empty list of packages when trying to verify packages 2007-06-26 11:19:41 +00:00
Dr. Peter Poeml
7312db109c fix return values in metafile.sync() which I broke whey I applied Marcus Huewe's patch... 2007-06-22 12:36:13 +00:00
Dr. Peter Poeml
955c45868c Set correct Content-Type header on PUT requests (application/octet-stream).
Rails 1.2 seems to be more strict in this regard.
2007-06-21 15:14:15 +00:00
Dr. Peter Poeml
751bc409ac init: make usage (and usage info) info more precise 2007-06-21 09:40:47 +00:00
Dr. Peter Poeml
0cf26d0f06 - with small changes, apply a patch from Marcus Huewe:
- added wipebinaries command
  - added abortbuild command
  - improve handling of metadata editing if the server doesn't accept it
- rebuildpac: rename internal command for consistency reasons
- update NEWS file
2007-06-14 14:30:36 +00:00
Dr. Peter Poeml
e8ca5f0028 diff: if file doesn't end with newline, append one together with diffutils-like
comment line. Bug reported by Dirk Stoecker.
2007-06-14 09:39:00 +00:00
Dr. Peter Poeml
48349f67b9 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.
2007-06-14 08:34:02 +00:00
Dr. Peter Poeml
fc6eaf68da - 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.
2007-05-16 10:55:05 +00:00
Dr. Peter Poeml
036a8780e2 results: remove obsolete code handling commandline arguments 2007-05-15 21:13:39 +00:00
Dr. Peter Poeml
1ce0b8a19d rebuildpac: fix mistyped repository parameter 2007-05-14 10:13:47 +00:00
Dr. Peter Poeml
c895de414e osc build: add --userootforbuild option 2007-05-14 08:29:50 +00:00
Dr. Peter Poeml
59cf753cc8 build: for buildinfo, post the specfile's content instead of its name... fixing introduced introduced with the last change 2007-05-12 20:18:23 +00:00
Dr. Peter Poeml
0d9278229c - don't need config['pass'] anymore
- but set config['user'], which was unset since the recent changes in auth handling
2007-05-10 14:29:04 +00:00
Dr. Peter Poeml
293d87dbe7 fix new_user_template, removing obsolete elements 2007-05-10 13:52:13 +00:00
Dr. Peter Poeml
cb61461fb4 - build & buildinfo:
- implement --extra-pkgs option
  - pass the list of extra packages to the backend, as "add=pkg" query parameters
  - use osc.core.get_buildinfo(), instead of os.system('osc buildinfo ...')
- implement adding query parameters to constructed URLs in a more generic way
2007-05-09 09:36:55 +00:00
Dr. Peter Poeml
a21f5c1891 don't try to delete projects, as long it is not implemented in the backend 2007-05-08 08:59:10 +00:00
Dr. Peter Poeml
4e39519efb use new API route for downloading binaries also in configured URLs 2007-05-07 20:14:20 +00:00
Dr. Peter Poeml
2c5e637693 make deletepac work again 2007-05-07 18:32:51 +00:00
Dr. Peter Poeml
0ab5e73ed9 use apiurl, not apisrv, in deleteprj and deletepac commands 2007-05-07 17:52:04 +00:00
Dr. Peter Poeml
90ca587cd0 - 0.96
- save api server url to .osc/_apiurl. This requires changing makeurl() and all
  calls to it.
- implement 'info' subcommand, essential for debugging these changes.
- use new api routes in all places
- buildhistory works again
- copypac: implement package copy from one buildservice instance to another
  (--to-apiurl option)
- the results subcommand handles <working copy> arguments now
2007-05-04 21:51:54 +00:00
Dr. Peter Poeml
1c6f303c70 add debugging hint to cmdln.py 2007-05-04 21:51:15 +00:00
Dr. Peter Poeml
5739a5c262 build: call rpm command for preferred rpms with --nosignature --nodigest 2007-05-04 21:40:35 +00:00
Dr. Peter Poeml
4a2c675e6e - build:
- rename --prefer-pacs option to --prefer-pkgs
  - implement --keep-pkgs option
2007-05-03 15:54:40 +00:00
Dr. Peter Poeml
22b72ac695 improve key import instructions after suggestion by Michael Wolf 2007-05-02 19:17:10 +00:00
Dr. Peter Poeml
877f8b5ad7 - build:
- implement --prefer-pacs option
  - finished the help text that I started last time
  - rename buildconf -> rpmlist for the sake of consistency
2007-05-02 13:49:57 +00:00
Dr. Peter Poeml
60bc70dc7a applied patch from Michael Marek, fixing all places where error messages were
printed to stdout instead of stderr. [#239404]
2007-04-25 21:10:49 +00:00
Dr. Peter Poeml
354c01be55 - build: fix passing of commandline options and arguments to build.main(),
which was still using sys.argv
- build: use own api server as upstream URL in urllist. So far,
  api.opensuse.org was hardcoded in the download URL [#265211].
2007-04-25 11:22:40 +00:00
Dr. Peter Poeml
b58b6e5a3f - fully implement accessing multiple API servers. "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 still accepted. Likewise, the auth sections in the config take
  a URL now, and a hostname:port to keep old config working.
  Furthermore, apisrv can be overridden by -A on the commandline. HTTP or HTTPS
  scheme is determined from the URL. Credentials must be configured in .oscrc.
2007-04-25 10:24:51 +00:00
Dr. Peter Poeml
36e4cc3140 initialize the auth handler with all configured credentials, so it is now
possible to use osc with different api servers by overriding apisrv on the
command line
2007-04-25 08:56:31 +00:00
Dr. Peter Poeml
2f5b52e92c Complete rewrite of the internal commandline handling, using cmdln.py.
Bump version to 0.95.

New features:
- implement "rebuild all failed packages", via --failed option in rebuildpac
  subcommand (new api route)
- status -v shows all files, including unmodified ones
- suppress the legend in prjresults by default (show with -l)
- add global options to override config
- can use arbitrary api server via global -A option
- -H enables HTTP traffic debugging
- --version

Bugfixes:
- fix typo in delete_project() (the line building up the URL got lost)
- fix the commit subcommand's arguments. This works correctly now: 
    osc ci ../test/onlyinwc `pwd` fstab ../test/f2 
- fix buildinfo subcommand, if no specfile is posted. Broke with the recent URL
  handling rewrite, but didn't seem to bother because the build subcommand
  always sends the specfile.
- try to fix buildhistory route, but it might be gone actually (need to pursue)
- add --clean/--noinit to osc build help output
2007-04-24 23:00:12 +00:00
Dr. Peter Poeml
637dec8e83 fix the download progress meter to be small enough to work with terminals 80 characters wide [#266989] 2007-04-24 21:10:01 +00:00
Dr. Peter Poeml
56f9752b8c save and reuse HTTP server cookies, speeding HTTP requests up about 5 times (in
our iChain setup anyway...)
2007-04-19 10:40:18 +00:00
Dr. Peter Poeml
8a3f251377 if data to be sent is large, mmap it instead of reading at once 2007-04-19 09:12:39 +00:00
Dr. Peter Poeml
c993a04c7c 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
2007-04-19 08:47:22 +00:00
Dr. Peter Poeml
1ecbbf9f23 further the osc buildroot configuration example 2007-04-18 00:26:14 +00:00
Dr. Peter Poeml
36359996f0 remove debug print of tempfile name 2007-04-18 00:23:49 +00:00
Dr. Peter Poeml
162b52cc4d update: when updating multiple packages, print each package name 2007-03-29 21:53:38 +00:00
Dr. Peter Poeml
0ba494298e - build:
- use <bdep> preinstall attribute instead of obsolete <pdep> element
  - use <bdep> runscripts attribute and hand it over to build in the buildinfo
2007-03-28 23:37:34 +00:00
Dr. Peter Poeml
12e1f1b45d - results: quote parameter in the new URL
- prjresults: sort package names
2007-03-28 22:55:38 +00:00
Dr. Peter Poeml
7f4ed364f0 run build with --norootforbuild, thereby defaulting to build as abuild user 2007-03-21 00:29:10 +00:00
Dr. Peter Poeml
5f4640848e - when updating, don't delete files with local modifications
- add testcase
2007-03-19 13:30:59 +00:00
Dr. Peter Poeml
0204819a54 - use new api ['build', prj, '_result'] for prjresults subcommand 2007-03-13 00:17:28 +00:00
Dr. Peter Poeml
0b47b21719 - make 'results' subcommand many times faster, by making only a single request
on _result?view=status&package=%s (new api)
2007-03-12 23:21:34 +00:00
Dr. Peter Poeml
2e0927ddfd - apply fix from Christoph Thiel to use cElementTree from Python 2.5 2007-03-12 23:17:34 +00:00
Dr. Peter Poeml
76632513cc - apply fix from Christoph Thiel to use cElementTree from Python 2.5 2007-03-12 20:00:47 +00:00
Dr. Peter Poeml
03b1db05fb - let the diff subcommand return 1 if differences were found 2007-03-12 15:46:15 +00:00
Dr. Peter Poeml
3e82391e1f - fix important bug, which could lead to overwriting local modifications when
upstream changes are merged
- if a merge fails, the store copy must be updated neverthelesss
2007-01-23 06:55:43 +00:00
Dr. Peter Poeml
e6a65dab44 these two debug prints in osc/othermethods.py may be helpful sometimes (although the code is planned te be rewritten anyway) 2007-01-23 00:37:15 +00:00