1
0
mirror of https://github.com/openSUSE/osc.git synced 2024-12-30 19:56:14 +01:00
Commit Graph

3036 Commits

Author SHA1 Message Date
Marcus Huewe
d83bf74984 Merge branch 'unclear_error_message' of https://github.com/lethliel/osc
Improve error message in rpmquery.py
2018-10-15 22:18:37 +02:00
lethliel
9ffe9b9288 improve error message if file is not a valid rpm
The current error message is quite confusing and nobody knows what
"invalid lead magic" means.
2018-10-09 10:16:27 +02:00
c5ec3ce807 support checkconstraints command without local checkout 2018-10-02 10:45:38 +02:00
lethliel
f643e37eb1 print error and exit if p.apiurl != -A <apiurl>
Print error and exit if osc -A <apiurl> sr is issued on a
package with a different apiurl in its working copy. This leads
to unexpected behavior, because the SR is created for the package
apiurl, not the apiurl given by the -A command line option.
2018-09-25 13:48:09 +02:00
Johannes Kastl
ba66a0bc1d change keep-link description to make it easier to understand 2018-09-17 20:50:27 +02:00
Marco Strigl
48e71b0255
Merge pull request #438 from andreas-schwab/token
Clarify use of osc token
2018-08-31 11:16:04 +02:00
Marcus Huewe
f1c31561cb Merge branch 'clean_xpath' of https://github.com/lethliel/osc
Let's get rid of this old cruft.
2018-08-30 14:13:00 +02:00
153032bc11 fix local multibuild flavor support when package does not exist ('_repository' case) 2018-08-22 11:20:40 +02:00
ae2656b415 open 0.164 development 2018-08-21 10:34:53 +02:00
d82b30636f release 0.163.0 2018-08-20 13:19:29 +02:00
Marcus Huewe
86e5757832 Refactor the do_vc code a bit
No functional changes.
2018-08-17 22:45:28 +02:00
Marcus Huewe
820c3adc71 Consider the "realname" config option in apiurl sections
This is a follow up fix for commit ef13d67 ("Export a real name
for vc to consume").
2018-08-17 22:45:17 +02:00
Marcus Huewe
6233f8bf0b Merge branch 'moreuserinfoforvc' of https://github.com/Conan-Kudo/osc
Adds support for full author identities in changes files (see also
https://github.com/openSUSE/obs-build/pull/214).
2018-08-17 21:14:30 +02:00
2566d6aa73 add podman build support 2018-08-14 13:02:16 +02:00
Andreas Schwab
4eae5d9a45 Clarify use of osc token
Clarify the fact that the parameters of osc token -t and osc token -d are
of different types.
2018-08-12 13:36:24 +02:00
lethliel
69983249ef cleanup xpath. submit/* is ignored by the API since 2012 2018-08-07 11:53:49 +02:00
ef13d67208 Export a real name for vc to consume 2018-08-01 09:43:14 -04:00
Marcus Huewe
bc57f89e9e Merge branch 'fix_indent_for_python3' of https://github.com/lethliel/osc
Fixes a single indentation.
2018-07-06 10:29:34 +02:00
lethliel
779b66f3c3 fixed indentation of return[].
It works in python2, but will break in python3
2018-07-06 09:54:59 +02:00
4cc87b2c57 fix DISTURL checkout for package containers using a multibuild flavor 2018-06-27 10:25:45 +02:00
Sean Kelly
b42e6f5e04 Support larger uids and gids 2018-06-25 16:55:47 -04:00
Marcus Huewe
b730f880cf Disable ssl session resumption
The old code could potentially yield to a use-after-free situation,
which results in UB. For this, consider the following scenario, where
osc performs several HTTPS requests (assumption: the server supports
ssl session resumption):

- HTTPS Request 1:
  * a new SSL *s connection is established, which also creates a new
    SSL_SESSION *ss => ss->references == 1
  * once the handshake is done, the ss is put into the session cache
    (see ssl_update_cache) => ss->references == 2
  - osc saves the session ss in a class variable
  - s is SSL_free()d, which calls SSL_SESSION_free => ss->references == 1

- HTTPS Request 2:
  * setup a new SSL *s connection that reuses the saved session ss
    => ss->references == 2
  * once the handshake is done, ssl_update_cache is called, which is a
    NOP, because s->hit == 1 (that is, the session was resumed)
  * osc saves the session ss in a class variable
  * s is SSL_free()d, which calls SSL_SESSION_free => ss->references == 1

...

> 2 hours later (see tls1_default_timeout)

...

- HTTPS Request 256:
  * setup a new SSL *s connection that reuses the saved session ss
    => ss->references == 2
  * once the handshake is done, ssl_update_cache is called, but is
    _no_ NOP anymore
  * ssl_update_cache flushes the session cache (this is done every
    255/256 (depending on the way we count) connections) => ss is
    SSL_SESSION_free()d => ss->references == 1
  * osc saves the session ss in a class variable
  * s is SSL_free()d, which calls SSL_SESSION_free:
    since ss->references == 1, ss is eventually free()d

- HTTPS Request 257:
  * setup a new SSL *s connection that reuses the saved session ss

Since ss does not exist anymore, the remaining program execution is UB.

(Note: SSL_free(...) is _NOT_ called, if M2Crypto 0.29 is used.
M2Crypto 0.30 calls SSL_free(...) again.)

Due to a bug in OpenSSL_1_1_0h (see openssl commit 8e405776858) the
scenario from above can be triggered with exactly 2 HTTPS requests (the
SSL_SESSION is not cached, because we configured SSL_VERIFY_PEER, but
no sid_ctx was set). This is fixed in openssl commit c4fa1f7fc01.

In order to reliably reuse a session, we probably need to listen to the
session cache changes. Such callbacks could be registered via
SSL_CTX_sess_set_new_cb and/or SSL_CTX_sess_set_remove_cb, but both
functions are not provided by M2Crypto. Another idea is to directly utilize
the session cache, but this also has to be implemented in M2Crypto first.
Yet another approach is to retrieve the session via SSL_get1_session, which
increases the session's refcnt, but this also needs to be implemented in
M2Crypto first (if we choose to use this approach, we also have to make
sure that we eventually free the session manually...).

Fixes: #398 ("SIGSEGV on \"osc commit\"")
2018-05-08 14:32:33 +02:00
jonsger
6bd8572cf7
Fix typo in "osc revert" help 2018-05-03 16:16:38 +02:00
Marcus Huewe
d6a04e5327 Merge branch 'master' of https://github.com/adrianschroeter/osc
Always pass the "--statistics" option to the build script (only affects
a vm build). It is not implemented as an option, because we already have
so many of them... (see also https://github.com/openSUSE/osc/pull/412).
2018-05-03 11:02:57 +02:00
Marcus Huewe
88274c92ed Merge branch 'fix_newline_in_verbose' of https://github.com/lethliel/osc
Print each unresolvable on a separate line.
2018-05-03 09:57:02 +02:00
0c3edd3fa0 always run build using --statistics. I could have made this
yet another option, but
* only very old build scripts don't know it, we should just require a recent one
* build script is ignoring it for chroot case

so why bother with another option?
2018-04-27 15:01:09 +02:00
bfcfddb0da fix some commands when used with / syntax between arguments 2018-04-27 14:41:08 +02:00
628f7e2cf5 - support "addcontainers" command 2018-04-27 09:16:13 +02:00
Marcus Huewe
d756f56af2 Show diff when creating a new comment (interactive_review)
Note that the diff is only shown, if it was requested before (that is
the "i" command was issued). The new behavior is consistent with the
other commands like "a", "d" etc.
2018-04-26 17:01:49 +02:00
lethliel
b7ada2cb5b fix missing newline in osc r -v
This adds a newline after unresolvable:. So the
messages are now well printed.
2018-04-26 15:38:25 +02:00
Marcus Huewe
cbd10644a2 Merge branch 'fix_IncompleteRead' of https://github.com/lethliel/osc
Retry 3 times in print_buildlog in case of an incomplete read. (Instead
of 3, the "http_retries" config option might be more appropriate.)
2018-04-25 11:02:52 +02:00
lethliel
1caa825e89 fixed IncompleteRead(0) error on long builds.
catch IncompleteRead() and retry until retry_counter is
reached. Then re-raise IncompleteRead()
2018-04-24 10:44:46 +02:00
lethliel
eb2647fd4f fix order of options valdiation. Now -P and -p is
honored if given by user.
2018-04-18 16:04:06 +02:00
fba9af7eee add new options to diff command:
--unexpand for local diffs only (bsc#1089025)
--meta for diffing meta files
2018-04-11 08:01:45 +02:00
Marcus Huewe
5341f3aae5 Merge branch 'fix_dod_get_binaries' of https://github.com/lethliel/osc
Support dod binaries in core.get_binarylist.
2018-03-14 14:06:13 +01:00
lethliel
9b42897413 fix getbinaries with DOD binaries
getbinaries of dod binaries do not have a size or mtime.
This will break. So just set to None and print unkown instead.
2018-03-14 13:45:38 +01:00
Marcus Huewe
a25209ac31 Merge branch 'improve_created_binaries_msg' of https://github.com/lethliel/osc
Improve message that is printed during "osc getbinaries...".
2018-03-13 15:16:12 +01:00
lethliel
e042c585c0 change output when creating binaries directory
was:
Creating binaries

is now:
Creating directory "binaries"
2018-03-13 15:00:46 +01:00
Marcus Huewe
caaefb0bf5 Fix and simplify util.safewriter.SafeWriter
Storing the error encoding in an "encoding" attribute "breaks" the
python3 "input" function: In essence, builtin_input_impl does a
getattr(sys.stdout, 'encoding'), which returns our error encoding
instead of the "real" stdout encoding. In order to avoid this, we
store the error encoding in an "_encoding" attribute.

Making SafeWriter a new-style class simplifies the code a lot.
2018-03-09 16:55:56 +01:00
305501f92c Revert "handle SSL connection closing ourself as advised in boo#1068470 bye"
This reverts commit 0ddb598743.

was incomplete and seems to be the wrong approach
2018-02-26 15:54:20 +01:00
Marcus Huewe
5fb71aa6d4 Merge branch 'fix_385' of https://github.com/lethliel/osc
Fix for python26, since it does not support an epath/xpath like
.//entry[@hash].

Fixes: #385 ("osc 0.162.x does not work anymore on SLE11")
2018-02-23 13:29:11 +01:00
Marco Strigl
e017a8e237 do not use complex path separator fixes #385
This is a fix for issue #385. osc commit breaks due to
the use of sfilelist.findall('.//entry[@hash]')

I now will iterate through the sfilelist and use

for entry in sfilelist.findall('entry'):
    if entry.get('hash'):
        ... execute hash code ...

This is a little bit slower, but should not break
on SLE11 anymore
2018-02-23 13:24:48 +01:00
0ddb598743 handle SSL connection closing ourself as advised in boo#1068470 bye
M2Crypto upstream maintainer.

Should fix hanging connections
2018-02-23 07:33:27 +01:00
Björn Geuken
030c2a41f8 Fix typo in example for osc search 2018-02-18 21:27:22 +01:00
Marcus Huewe
8948a26ae4 Fix --multibuild-package option handling in do_sendsysrq
Concatenating a str and a list does not work.
2018-02-09 15:35:52 +01:00
7fc251d81e fix sendsysrq command description 2018-02-09 10:08:13 +01:00
80352cbfc7 add sendsysrq command 2018-02-09 08:50:21 +01:00
Marcus Huewe
9c4f0d5d30 Ignore "--alternative-project <prj>" if it is equal to the wc's project
Without this change, using "--alternative-project <prj>" in combination
with "--multibuild-package <flavor>" yields to unexpected results (from
a user's point of view). Note that this may break existing (artificial)
workflows (e.g., using --alternative-project to ignore the package
meta's debuginfo flag), but these workflows should be rare and there
are options to achieve the same.

Fixes: #376 ("osc build -M something does not work with
--alternative-project")
2018-02-07 14:35:35 +01:00
Andreas Schwab
50222810f0 osc chroot: also mount devpts
This is needed for running expect, for example.
2018-01-28 16:53:52 +01:00
5e3fe8ba08 give a hint which package to install to get CA certificates 2018-01-26 09:46:52 +01:00
Marcus Huewe
d0213c63a9 All values in the conf.DEFAULTS dict should be strings
Non-strings cause errors during config value interpolation.

Fixes: #372 ("Commit causes crash: The 'build-jobs' config option
should be an integer")
2018-01-24 14:00:02 +01:00
Marcus Huewe
1a92c8b995 The 'build-jobs' config option should be an integer
This fixes the "config['build-jobs'] > 1" check in the build module.
2018-01-23 12:28:55 +01:00
Marcus Huewe
8cb0246c10 Merge branch 'fix_369_crash_at_req_issues' of https://github.com/lethliel/osc
Only include a tag if it "has" text in get_request_issues. Note
that the code in get_formatted_issues always assumes the presence
of the "label" tag.

Fixes: #369 ("crash trying to view diff of a request")
2018-01-22 14:46:21 +01:00
Marco Strigl
5b3d8633fa only assign issue detail if text for tag exists 2018-01-22 11:00:40 +01:00
Marco Strigl
2405134cbf fixes not working osc maintainer <prj>
The retrun at this point breaks the call, because in most
cases <prj> is not a binary. And the code always checks for the
binary first and then returns if no binary with the name <prj>
is found.
2018-01-11 11:57:22 +01:00
Marcus Huewe
0b241a9586 Consider "recommends" and "supplements" in build.create_deps
Fixes: #363 ("osc build -p ../rpms/tw doesnt send recommends to
the server which makes client side build behave differently to server
side build").
2017-12-26 23:28:14 +01:00
Marcus Huewe
ebb2f2ee0d Add support for querying weak dependencies
The following abstract methods are added to the PackageQueryResult
class: recommends(), suggests(), supplements(), and enhances().
Note that not all package/metadata formats have a notion of these
weak dependencies.

              rpm   rpmmd   deb   arch
recommends     x      x      x
suggests       x      x      x     x
supplements    x      x
enhances       x      x      x

(where "x" represents "supported"). In case of an unsupported weak
dependency, the implementation returns an empty list.

We need the weak dependency support in order to fix #363 ("osc build
-p ../rpms/tw doesnt send recommends to the server which makes client
side build behave differently to server side build").
2017-12-26 23:14:47 +01:00
ChrisWi
26f00c6749 change WARNING message for better understanding 2017-12-14 12:11:25 +01:00
lethliel
43be8f0e9c add meaningful error if no attribute name 2017-12-08 13:20:24 +01:00
Marcus Huewe
b1d6d8347b Fix "osc buildinfo --prefer-pkgs <dir>..." (finally!)
This is a follow-up commit for commit ce9a6d0 ("Fixed
\"osc buildinfo --prefer-pkgs...\"").
2017-12-06 18:04:30 +01:00
lethliel
aa01b1c52a reopen 0.163 development 2017-12-06 10:22:15 +01:00
lethliel
067fd4cd2d release 0.162.1 2017-12-05 14:29:03 +01:00
Marcus Huewe
9116d8ff97 Support expansion/unexpansion of a link when updating to certain rev
There is no good reason why "--revision <rev>" and "--expand-link" or
"--revision <rev>" and "--unexpand-link" should be mutually exclusive
during an "osc up" of a package wc.
Introduce the new "--linkrev <rev>" option to specify a rev of the link
target that is used during link expansion.
2017-12-03 16:45:36 +01:00
Marcus Huewe
f698103977 Send sha256 hashes for tracked files if the wc is pulled/linkrepair
In case of a pulled/linkrepair wc, it is possible that the backend
requests a hash for a tracked file, which is neither added, restored,
nor modified. For instance, this can happen if a new file was added
to the link target. Hence, for a pulled/linkrepair wc always send
the sha256 hashes of the tracked files.
2017-12-03 15:02:22 +01:00
e818989d21 0.163 development open 2017-11-28 15:13:26 +01:00
2b0f015de0 0.162.0 2017-11-28 15:12:29 +01:00
lethliel
f0325eb0b5 added code to get the sha256 hashes of files
This is needed for a new validation of the source server.

The source server will 'ask' for the sha256 sum of files which are new or
modified and osc calculates the sha256 sums for those files and sends them
back to the server.

The server checks the sha256 sums and if dies if something is wrong.
2017-11-27 16:18:19 +01:00
Marcus Huewe
03c25eb8f9 Merge branch 'return_external_2.6_compat' of https://github.com/lethliel/osc
Workaround for python26 due to missing subprocess.check_output.

Fixes: #355 ("subprocess.check_output() not in Python 2.6")
2017-11-21 14:25:55 +01:00
lethliel
7581856d9b added compat code for python 2.6
if subprocess has no method check_output us Popen instead
2017-11-21 14:06:31 +01:00
Marcus Huewe
5791d1bb5c Merge branch 'mount_sysfs' of https://github.com/lethliel/osc
Mount sysfs during "osc chroot". The current implementation
of "osc chroot" is a major pain for plain "su" users, because the
root password has to be entered several times - we should fix this.

Fixes: #354 ("Mount sysfs in chroot")
2017-11-21 12:34:15 +01:00
lethliel
00b6a9fe27 in chroot also mount /sys in addition to proc 2017-11-21 10:52:40 +01:00
Marcus Huewe
0f9ab38948 Merge branch 'fix_#351' of https://github.com/lethliel/osc
Fix logic for finding disabled repos in do_repositories.

Fixes: #351 ("Not all options for osc getbinaries is listed")
2017-11-09 11:56:36 +01:00
marco
12b17cfc5d consider arch when checking the disabled repos
At the moment just repo.name is considered. So if
the repo is disabled for s390 all other repo / arch
combination are not shown in the repo list.

To be able to change this r is now a list of dicts
containing the name and arch of the disabled repo.

None for repo if a complete arch gets disabled
None for arch if a complete repo gets disabled
2017-11-08 14:02:20 +01:00
Marcus Huewe
cb376a1a34 Merge branch 'config_replace_issue_313' of https://github.com/lethliel/osc
Store a newly created config file in $XDG_CONFIG_HOME/osc/. For backward
compatibility, ~/.oscrc is used, if present.

Fixes: #313 ("oscrc should be stored in $XDG_CONFIG_HOME on linux")
2017-11-08 12:23:07 +01:00
marco
6bc2d3f939 use XDG_CONFIG_HOME/osc/oscrc as default config
write oscrc to the default location for user-specific configuration.
If XDG_CONFIG_HOME is not set use ~/.config/osc/oscrc which is basically the same.

If there is already a ~/.oscrc use this one (for compat reasons). Existing user
installations should not get affected by this commit.

The order is the following:

Given config with -c
config defined in OSC_CONFIG
existing ~/.oscrc
default XDG_CONFIG_HOME/osc/oscrc
2017-11-08 11:17:11 +01:00
690dbf42ab Small documentation fix to clarify attribute usage. 2017-11-08 10:55:38 +01:00
Marcus Huewe
9d4390eed9 Close file before returning from core.dgst
The old f.close() call was never reached.
2017-11-07 17:52:34 +01:00
Marcus Huewe
3c1bb1cf0a Merge branch 'xz-support' of https://github.com/suihkulokki/osc
Support an xz compressed control.tar file. In case of a control.tar.xz and
a missing lzma module, an exception is thrown at runtime (for now, in order
to avoid a hard depedency to the lzma module, which is no standard module).
2017-10-30 22:24:00 +01:00
Riku Voipio
9166a7f075 debquery: support control.tar.xz
Similar to recent fixes in libsolv and obs-build. Since tarfile
on python2 doesn't do lzma, decompress the file into memory and
feed it as a fake file via StringIO to tarfile
2017-10-30 14:10:54 +02:00
marco
b52edb6513 Open 0.162 development 2017-10-26 14:47:40 +02:00
marco
fbcda8ae6e prepare 0.161.1 release 2017-10-26 14:21:33 +02:00
Marcus Huewe
a884b58313 Fix python 2.6 SyntaxError
Multiple context expressions are only supported since version 2.7.
It was introduced in commit f6f879d ("Fix potential shell injection
when running rpm2cpio").
2017-10-26 14:16:58 +02:00
marco
b7d3ae992c Open 0.162 development 2017-10-26 13:51:51 +02:00
marco
72f9f89e85 prepare 0.161 release 2017-10-26 13:33:06 +02:00
Marcus Huewe
06d0693f64 Merge branch 'show_issues_in_diff' of https://github.com/lethliel/osc
When showing a diff in the interactive review mode, also show the issues
that are associated with the request.
2017-10-20 17:39:27 +02:00
marco
895f168b91 show issues (bugs) in interactive review diff 2017-10-20 12:59:47 +02:00
marco
3a5bd607f8 fixes broken osc results on project level 2017-10-18 15:17:56 +02:00
Marcus Huewe
760a3e5558 Merge branch 'show_overview_in_diff' of https://github.com/lethliel/osc
Show request details, when displaying a diff in the interactive
review mode.
2017-10-11 13:30:48 +02:00
marco
4f518b5e59 prepend request summary to diff in interactive mode 2017-10-11 08:55:55 +02:00
Marcus Huewe
0eecdaf830 Add missing comment
Follow-up commit for f6f879d.
2017-10-10 16:36:58 +02:00
Marcus Huewe
f6f879dac5 Fix potential shell injection when running rpm2cpio
Actually, there is nothing that can be injected, except the "-h"
option. However, in case rpm2cpio evolves, we are on the safe side.
Also, document the potential shell injection in the cpio call
(the comment was accidentally removed in commit dbdc712) (the
current osc code is not affected, because we never pass filenames
via *files to core.unpack_srcrpm).
2017-10-10 16:24:42 +02:00
Marcus Huewe
a5c7611aee Support unusual filenames in "osc add <directory>"
This way, we can also support directories/files that contain
a newline "\n" etc.
2017-10-10 16:18:45 +02:00
Marcus Huewe
c3ba1fbf63 Eventually fix potential shell injections for find
It seems that the "find" binary has no way to indicate an
end of options for its arguments. Hence, we use os.walk to mimic
"find"'s behavior, which is also the cleaner solution.

Fixes: #340 ("osc add of directories does not quote the argument")
2017-10-10 16:18:39 +02:00
Marcus Huewe
d66ccb2a7d Cleanup babysitter a bit
In case of an exception, return status code 1 by default.
2017-10-06 13:25:25 +02:00
Marcus Huewe
6acc90d438 Exit with status 1 in case of a ServiceRuntimeError
Fixes: #344 ("'osc ci' exit code doesn't take source service results
       into account")
2017-10-06 13:19:15 +02:00
Marcus Huewe
760d4d65d7 Supersede existing requests if --yes is passed to "osc sr"
This basically reverts commit b2b59ca, because the old code performed
a "no" instead of a "yes" (see also the discussion in
https://github.com/openSUSE/osc/pull/269).

Fixes: #343 ("'osc sr --yes ...' doesn't supersede existing requests
       as promised")
2017-10-06 12:32:52 +02:00
Marcus Huewe
aea395a7e7 Document 'R' (replaced) file state
Fixes: #336 ("Missing explanation for status 'R'")
2017-10-03 22:05:41 +02:00
Marcus Huewe
f52cf7745a Take --repo/--arch options in "osc prjresults --xml..." into account
Fixes: #341 ("prjresults doesn't support repo/arch options")
2017-09-28 15:55:11 +02:00
Marcus Huewe
8a81a68028 Cleanup url construction in core.show_results_meta
The old code was flawed, because, for instance,
core.show_results_meta(apiurl, project, arch=['x86_64']) resulted
in a wrong http request: GET <apiurl>/build/<project>/_result&arch=x86_64
(note the "&" instead of the correct "?"). The drawback of the new
implementation is that we have to do the proper quoting manually.
2017-09-28 15:52:25 +02:00
Marcus Huewe
2d327df4e7 Allow multiple --repo and --arch options in "osc prjresults"
This harmonizes "osc prjresults --help" with osc's actual behavior.
Also, core.get_prj_results expects lists (or None) instead of strings
for the corresponding repo/arch parameters.
2017-09-28 15:29:48 +02:00
Marcus Huewe
dbdc712018 Really fix potential shell injections
This is a follow-up commit for commit c9c0f8a. Using core.run_external
with shell=True is too error-prone.

Fixes: #340 ("osc add of directories does not quote the argument")
2017-09-28 14:48:30 +02:00
Marcus Huewe
63c2aa3630 Do not run diff3 in the shell
This fixes a potential shell injection.

See also: #340 ("osc add of directories does not quote the argument")
2017-09-28 12:03:53 +02:00
Marcus Huewe
c9c0f8a731 Fix potential shell injections
Also, document a potential shell injection in core.unpack_srcrpm
(via the "files" parameter), which cannot be exploited, because
"files" is not used by the current osc code.

Fixes: #340 ("osc add of directories does not quote the argument")
2017-09-28 00:09:42 +02:00
Marcus Huewe
08504a1509 Merge branch 'lintlog_in_interactive_review' of https://github.com/lethliel/osc
Add support for showing rpmlint logs during interactive review.
2017-09-26 23:47:38 +02:00
marco
b59d40c57c show lintlog (li) in interactive mode 2017-09-26 20:20:02 +02:00
Marcus Huewe
3389db2c8f Merge branch 'repotype-pacsuffix-hint' of https://github.com/Conan-Kudo/osc
Use the buildconfig's binarytype to determine the correct pacsuffix
(TODO: cleanup Buildinfo pacsuffix code a bit).
2017-09-26 14:06:29 +02:00
Neal Gompa
ef9b308d50 Add pacsuffix hint using BinaryType from build config 2017-09-26 07:57:59 -04:00
Marcus Huewe
c2922e8a67 Open 0.161 development 2017-09-26 12:45:48 +02:00
73e8e3e97b prepare 0.160.0 release
mainly needed for new container support
2017-09-22 09:06:18 +02:00
Marcus Huewe
b07ba53ad0 Allow slash separated arguments in "osc rpmlintlog" 2017-09-01 10:51:28 +02:00
Marcus Huewe
38af00d509 Merge branch 'rpmlint' of https://github.com/lethliel/osc
Add new "osc rpmlint" command to retrieve the rpmlint.log file (if
present).
2017-09-01 10:49:16 +02:00
marco
99309db315 show rpmlint.log
Provide function to show the content of rpmlint.log.
The core function get_rpmlint_log will later be used in the interactive
request mode to provide the rpmlint logs to the reviewer.

I add the osc rpmlint | rpmlintlog | lint command also.
2017-09-01 10:27:05 +02:00
Marcus Huewe
c2a4d14c42 Merge branch 'patch-2' of https://github.com/jnweiger/osc
Fix UnboundLocalError in do_submitrequest.
2017-09-01 09:45:35 +02:00
Jürgen Weigert
2e6c838d66 submitreq entire project fix
`osc submitreq TARGETPROJ`
bails out with unbound variable t. This is true. the variable should be target_project.
2017-08-31 14:58:22 +02:00
3a41ae64f0
osc tr: show the time when the event happened 2017-08-31 13:57:21 +02:00
Marcus Huewe
e0bce5652a Merge branch 'show_comments_in_reviews' of https://github.com/lethliel/osc
Show the comments of a request during interactive review.
2017-08-25 13:23:17 +02:00
marco
7804a8c577 show user comments in interactive mode 2017-08-25 11:51:55 +02:00
Marcus Huewe
28368ecd4a Document possible action types for "osc rq --type <TYPE>"
The "group" action type is omitted on purpose, because it is not/was
never supported.
2017-08-24 12:14:25 +02:00
Marcus Huewe
1c21c67659 Do not ignore --type parameter in "osc review list --type..."
There is no reason why we should ignore the --type parameter in this
case.
2017-08-24 12:01:56 +02:00
marco
10e6619250 renamed get_group to get_group_meta. 2017-08-21 10:37:07 +02:00
Marcus Huewe
8746ea7ee3 Merge branch 'meta_group' of https://github.com/lethliel/osc
Add "group" subcommand to "osc meta".
2017-08-18 15:42:27 +02:00
marco
a261c73cce add meta group function to edit / show group meta 2017-08-18 15:32:27 +02:00
Marcus Huewe
902b48fd86 Add withfullhistory parameter to core.get_request_list
If withfullhistory is set to True (default: False), the returned
request collection contains full history information.

Requested by vpereira
2017-08-17 16:48:02 +02:00
Marcus Huewe
d401eb2c69 Add queries keyword argument to core.search
queries is a dict of optional http query parameters, which are passed
to the makeurl call.
2017-08-17 16:47:05 +02:00
Marcus Huewe
1524214060 Merge branch 'add_package_filter' of https://github.com/lethliel/osc
Add --target-package-filter option to do_request.
2017-08-17 10:34:41 +02:00
marco
af8b1e77f7 add --target-package-filter option to osc review
This will filter the requests you get to review based on
the tgt_package in the action element (if not action type is 'group').

This helps reviewers who want to just review a subset of requests or
do _not_ want to review some packages.

Examples:

osc review list --interactive --target-package-filter='^python.*' -G opensuse-review-team
osc review list --interactive --target-package-filter='^(?!ghc).*' -G opensuse-review-team
2017-08-17 10:14:02 +02:00
Bernhard M. Wiedemann
3dcd359eeb Check digest of modified files
this reverts a semantic change introduced by commit
48a35fed91
that caused files with updated timestamps to always be in "M" state.
2017-08-17 04:32:08 +00:00
Marcus Huewe
d126d07787 Fix typo in docstr of do_triggerreason
The command is called "triggerreason" instead of "reason".
2017-08-15 16:39:32 +02:00
Marcus Huewe
a170e1236b Merge branch 'fix_#314' of https://github.com/lethliel/osc
Add "--multibuild-package" option to do_triggerreason
2017-08-15 16:38:45 +02:00
marco
ad6b9cfd0a added -M switch to osc triggerreason 2017-08-15 15:18:41 +02:00
Marcus Huewe
48a35fed91 Add config option for the Package.status mtime heuristic
By default, the "status_mtime_heuristic" config option is disabled.
2017-08-15 13:31:10 +02:00
Bernhard M. Wiedemann
47834b3279 allow to get old status behaviour back 2017-08-12 22:10:41 +02:00
Bernhard M. Wiedemann
f1f6e9501d speedup osc status
by using mtime metadata
before checking digests.
This slightly changes the semantic by assuming that modified files
will always have updated timestamps.

With this change it is possible to do osc status
on a checkout of openSUSE:Factory that contains 40GB of source tarballs
in seconds instead of minutes:
time .../osc/osc-wrapper.py status > /dev/null

real    0m33.652s
user    0m32.590s
sys     0m1.060s

Without the patch it took 22x as long:
real    12m14.545s
user    1m50.084s
sys     0m20.566s
2017-08-12 22:07:25 +02:00
Bernhard M. Wiedemann
461d83d722 cleanup status code
to only call os.path.join once
2017-08-12 22:07:25 +02:00
Marcus Huewe
d34e0ace77 Also consider the project name in findpacs
Otherwise, we could merge two packages that belong to different projects.
Actually, we should also check the apiurls...
2017-08-04 14:51:34 +02:00
Marcus Huewe
853ab4f758 Fix computation of files dict in Osc._commit
The old implementation was unable to commit specific files from
packages, which have the same name, but belong to different projects.
2017-08-04 14:48:01 +02:00
Marcus Huewe
194d179e66 CLI part for committing a deleted, but non-existent package
That is, a package which has state 'D', but its package working
copy does not exist anymore.
2017-08-04 14:19:22 +02:00
Marcus Huewe
8f68626735 Support the commit of a deleted, but non-existent package
That is, a package which has state 'D', but its package working
copy does not exist anymore.
2017-08-04 14:02:56 +02:00
Marcus Huewe
8ce386c76a Remove all untracked files during "osc clean"
Now we also take files into account that match the "exclude_glob"
config option. The new behavior is consistent with the command's
description.
2017-08-03 17:21:20 +02:00
Marcus Huewe
2c353a5696 Merge branch 'set_build_files_for_fissile' of https://github.com/jimmykarily/osc
Print built artifacts for a fissile build.
2017-08-02 12:23:49 +02:00
Michael Schroeder
c3e0bbccb2 Container support: use multiple container extensions when checking the cache
The container may end in .tar.xz, .tar.gz, or .tar
2017-08-02 11:02:14 +02:00
Tim Hardeck
a8cc111851 Set build files for fissile 2017-08-01 15:01:53 +02:00
Marcus Huewe
c2fc655557 Merge branch 'fix_chroot_procfs' of https://github.com/lethliel/osc
Mount proc during "osc chroot". Eventually, we should implement
"osc chroot" via the obs-build script.
2017-07-31 16:28:52 +02:00
Marco Strigl
5726c66335 implented signal handler to umount proc 2017-07-31 14:41:45 +02:00
Dimitris Karakasilis
b6c064cf40 Fix typos "fissile.ymp" -> "fissile.yml" 2017-07-25 16:06:04 +03:00
Michael Schroeder
e6d492ee38 Support 'fissile' build type 2017-07-21 10:58:52 +02:00
49e8d10594 open development for 0.160 2017-07-19 00:50:31 +02:00
4f524b4d43 prepare 0.159 release 2017-07-19 00:48:15 +02:00
af5a38f4c8 Add compatibility with Debian's obs-build
In Debian and Ubuntu build is renamed to obs-build for disambiguation
purposes.
Add a simple check to use the correct paths if running on Debian and
use /usr/bin/obs-build and /usr/lib/obs-build if so.
2017-07-07 17:47:43 +01:00
Michael Schroeder
9ed700e930 Fix --set-container-derived-from option passing
We now use dir:// as with the repos. Also pass the option with
the "--option=value" form.
2017-07-03 13:34:35 +02:00
Ludwig Nussel
c941a02c73 Allow requesting maintainership for group and project
Useful e.g. for factory-maintainers
2017-07-02 15:59:45 +02:00
Marcus Huewe
c9dfe03a46 Use the correct path in core.createPackageDir
The old implementation only worked, if cwd was a project working
copy (even in this case, it may did the wrong thing...).
2017-06-29 14:20:58 +02:00
Marcus Huewe
ffe68fd9f4 Check whether project_dir points to a project wc (in do_importsrcpkg)
If we abort early, the user gets a more meaningful error message.

Fixes: #301 ("Inconsistent working copy")
2017-06-29 14:11:27 +02:00
a8612f4ecc Allow to cat/less files from deleted packages 2017-06-24 14:25:05 +02:00
Bernhard M. Wiedemann
a472fcb522 Allow to override man-page date
to enable reproducible builds of osc packages
2017-06-17 17:40:42 +02:00
Marco Strigl
fcef29131c pass --buildflavor to build script 2017-05-31 07:00:46 +02:00
Marcus Huewe
5d480fd370 Merge branch 'rdiff_issues_only' of https://github.com/lethliel/osc
Add --issues-only option to the rdiff command.
2017-05-28 19:23:34 +02:00
Marcus Huewe
23a6b4cfe9 Remove superfluous "pass" statements in edit_text 2017-05-28 19:01:50 +02:00
Marcus Huewe
9614cea39b Merge branch 'fix_#175' of https://github.com/lethliel/osc
Only accept valid user inputs.
2017-05-28 18:58:15 +02:00
67d1b50461 "osc buildhistory": show build duration 2017-05-22 12:42:51 +02:00
Marco Strigl
c19fb0e057 fixes issue #175 / invalid input at prompt 2017-05-18 11:13:44 +02:00
Marcus Huewe
e809cc8ef1 Merge branch 'fixparam' of https://github.com/bmwiedemann/osc
Fixes metvars in some help texts.
2017-05-17 23:43:14 +02:00
Marcus Huewe
900ee88bfa Fix "osc results --xml..."
For now, "osc results --xml..." ignores the "--show-excluded" option
(that's what we did in the past).

Fixes: PR#297 ("results --xml causes a stack trace")
2017-05-17 23:35:07 +02:00
Michael Schroeder
2b7cef3b33 Prepare for md5sum checking of containers
We do not want to use an old container if a new version is built
on the server. They don't have a rebuild count or something like
that (yet).
2017-05-17 11:20:03 +02:00
Michael Schroeder
7dae421d77 Support derived images for kiwi docker builds
Kiwi currently rejects the --set-container-derived-from option,
but this will hopefully change.
2017-05-16 14:02:37 +02:00
Michael Schroeder
8bffeb70e5 Support docker builds 2017-05-16 11:14:52 +02:00
Marco Strigl
fa5c97971e added switch to show only issues in rdiff 2017-05-11 09:22:42 +02:00
Marco Strigl
bea940c02d open 0.159 development 2017-05-10 16:50:23 +02:00
Marcus Huewe
7d3f8cd255 Only serialize "creator" attribute if it is neither None nor the empty string
Follow-up fix for commit eed18c6. Storing an empty creator attribute may lead
to validation errors etc. (see also PR#295).
2017-05-08 21:41:29 +02:00
Marco Strigl
320ff1bd41 release 0.158 2017-05-08 13:30:48 +02:00
Marcus Huewe
eed18c6a2e Initialize Request.creator with the empty string instead of None
Old obs versions have no creator attribute. In this case, string
formatting operations will fail if the "creator" attribute is
initialized with None (affects some codepaths).
An alternative would be to officially resurrect the deprecated
"Request.get_creator" method, which could return something like
"unknown" if no creator information is present.

This is a follow-up fix for the commits d68507f and 7d54b5c.
2017-05-04 20:49:35 +02:00
Marcus Huewe
d5393481cb Merge branch 'buildopt' of https://github.com/bmwiedemann/osc
Adds a "--build-opt" option to "osc build" in order to pass
arbitrary options to the build script.
2017-04-26 00:24:48 +02:00
efbd032da9 fix wipebinaries
don't do a second wipe all after doing the intended wipe by a filter.

Eg: osc wipebinaries home:adrianSuSE -r standard -a i586 --build-disabled

wiped first --build-disabled only, but did a second wipe all afterwards
2017-04-24 16:35:15 +02:00
Bernhard M. Wiedemann
f4771ce67a allow to pass any option to the build command
so that we do not have to patch osc for every parameter added to build
e.g. "--vm-custom-opt" in my case

similar in nature to gcc'c -Wl, option
2017-04-19 15:33:08 +02:00
Bernhard M. Wiedemann
eb25d6dfce use proper placeholder strings in help text 2017-04-19 15:27:23 +02:00
7d54b5c685 Fixing request handling for OBS < 2.8
request creator is only delivered by OBS 2.8 and newer. Makeing this not a hard
condition therefor. (introduced in d68507fa95)

Also fixes test suite failure
2017-04-18 09:41:44 +02:00
a059629e74 Fix inconsistency of request/review list -U vs -G
"osc review/request list" using -G did added the local project as target
project filter unlike -U. (If local work dir is a check out)
2017-04-18 09:12:48 +02:00
Marcus Huewe
c96928ce9a Avoid (useless) info message during interactive review
It is perfectly fine, if a request has no src actions (the
wording of the old message could be interpreted as an error...).
2017-04-12 17:16:09 +02:00
Marcus Huewe
164435dcb9 Readd Request.get_creator method (for backward compatibility)
Request.get_creator is used by some factory bots (see comment
in issue #286).

Note: Request.get_creator is deprecated and the "creator" attribute
should be used instead.
2017-04-12 14:24:04 +02:00
Marcus Huewe
20e7a132ab Cosmetic: use "... is not None" instead of "not ... is None" 2017-04-12 13:03:16 +02:00
Marcus Huewe
d68507fa95 Drop Request.get_creator method in favor of a new "creator" attribute
This implements the Request api change that was proposed in commit
6965dc5 ("Adjust request testcases to the upcoming Request api
change").

Fixes: #286 ("get_creator() does not return request creator")
2017-04-12 12:58:23 +02:00
Marcus Huewe
a271a33a53 Merge branch 'fix_issue_#236' of https://github.com/lethliel/osc
Fixes --no-cleanup in combination with --separate-requests
2017-04-11 12:41:24 +02:00
Marco Strigl
2e76f91980 fixes issue #236 2017-04-11 11:38:47 +02:00
Marco Strigl
055f577c6b filter excluded repos for package by default 2017-04-07 11:13:20 +02:00
Marcus Huewe
b0b4cb9ed8 Merge branch 'comment_interactive_req' of https://github.com/lethliel/osc
Add support for creating comments during interactive review.
2017-04-07 09:36:04 +02:00
Marco Strigl
6a6a5686df requests can now be commented in interactive mode 2017-04-07 09:09:33 +02:00
0d941e8766 show package status when repository configuration is broken
it was just dropped before due to lack of status element for the package
2017-04-07 08:50:57 +02:00
Marcus Huewe
3397acc756 Try to autodetect a local package when running "osc build"
Note that this detection might fail... in the this case osc will
eventually error out and suggest to rerun with "--local-package".
2017-03-31 15:51:08 +02:00
Marcus Huewe
7a4f7b0b9d Fix typo in "service runall" docs and list the "service runall" command 2017-03-31 10:34:52 +02:00
Marcus Huewe
ae591a82fc Document deprecated "service disabledrun" and "service localrun" commands
Fixes: #282 ("service disabledrun is not documented")
2017-03-31 10:32:55 +02:00
Marco Strigl
678c79224c added --blame switch to osc meta command 2017-03-22 08:32:05 +01:00
Marco Strigl
30b5af2d86 open 0.158 development 2017-03-21 14:31:06 +01:00
Marco Strigl
3df1724235 release 0.157.2 2017-03-21 13:33:10 +01:00
Marcus Huewe
45e27c01af Correctly update a conflict file ('C') that is going to be deleted
Deleting a conflict file (state 'C') during an update operation results
in an inconsistent working copy. To fix this, we remove the conflict
file from the _in_conflict list.
2017-03-20 19:20:59 +01:00
340a72ee83 never take releasename blindly (eg. on linkpac). It needs to be set
explicit
2017-03-20 16:05:39 +01:00
3ab3ff0b1c list appimage build results 2017-03-15 10:32:11 +01:00
Marcus Huewe
8bb903f41c Make error handling in attribute_branch_pkg more robust 2017-03-14 22:50:48 +01:00
3e2bb0ec1d add support for highly experimental native appimage.yml support 2017-03-14 19:02:01 +01:00
6b91b282b8 cat/less/blame command: default to expand to stay in sync with checkout
this allows us also to drop the nasty fallback code
2017-03-14 19:02:01 +01:00
Ludwig Nussel
8f175484f7 Add plugin directory to search path
Some osc plugins ship with extra modules that are not globally installed
as python modules. So expand search path.
2017-03-14 13:39:04 +01:00
Marcus Huewe
9d0725b2d4 Fix local service run for non-existent (server-side) package
If a package does not exist on the server, the
Serviceinfo.getProjectGlobalServices call results in a 404. In this
case, we try it again with the _project package (note: this does not
take potential "linked" services into account, if the local package
is a _link).

Fixes: #277 ("404 on running service for non commited package")
2017-03-10 11:08:31 +01:00
Marco Strigl
e94c9cc280 multibuild compatibility mode for old apis 2017-03-09 14:55:30 +01:00
Marcus Huewe
ff19a5f539 Fix SSL.Connection instantiation in case of an old M2Crypto
Do not pass a family parameter to SSL.Connection's constructor if it
does not support it. If the family parameter is not supported, we
_try_ to fallback to socket.AF_INET, which is implicitly used by
older versions of the SSL.Connection class.

Fixes: #274 ("osc 0.157 Exception AttributeError: "Connection
instance has no attribute 'ssl_close_flag'"")
2017-03-09 13:34:17 +01:00
Marco Strigl
8f6e292637 reopen 0.158 development 2017-03-09 10:51:35 +01:00
Marco Strigl
ba9b3d8dab release 0.157.1 2017-03-08 13:10:35 +01:00
670bd90e29 fix local build of kiwi images using obsrepositories:// (affects newer python3-kiwi) 2017-03-08 13:01:08 +01:00
Marco Strigl
1cde520db5 open 0.158 development 2017-03-08 10:17:25 +01:00
Marco Strigl
7f428cccdf release 0.157.0 2017-03-08 09:25:02 +01:00
ccafb430b8 support operation in checked out package for cat/less/blame 2017-03-07 15:07:44 +01:00
Marcus Huewe
0d79510fa0 Merge branch 'comment_command_integration' of https://github.com/lethliel/osc
New "comment" command.
2017-03-07 13:32:19 +01:00
Marco Strigl
68f10bdb14 integrated comments command 2017-03-07 08:42:21 +01:00
Felix Zhang
f8e61cfd28 Add missing whitespaces in commandline options 2017-03-07 10:30:30 +08:00
008a6009f8 add blame command 2017-03-02 16:05:48 +01:00
Marcus Huewe
e324a36b41 Merge branch 'token_syntax_verify' of https://github.com/lethliel/osc
Bail in some cases if wrong args were supplied
2017-03-02 10:37:58 +01:00
Marco Strigl
d49c741b0d added syntax check if no token opt is set 2017-03-02 09:02:19 +01:00
cf656e30d7 getbinaries: make .AppImage files executable
shouldn't be a security issue, since they are always in subdirectories
2017-02-27 09:45:37 +01:00
Oliver Kurz
7f985cf874 Fix outdated doc URL to maintenance setup 2017-02-23 16:02:09 +01:00
Marcus Huewe
8c82243ad5 Merge branch 'fix-sr-yes' of https://github.com/srinidhibs/osc
Add missing check for opts.yes to do_submitrequest.
2017-02-22 20:02:16 +01:00
Marcus Huewe
74e397b12c Merge branch 'multibuild' of https://github.com/lethliel/osc
Adds a "--multibuild-package" option to the following commands:
buildlog, remotebuildlog, buildinfo, build, buildhistory, jobhistory,
rebuild, restartbuild/abortbuild, wipebinaries, getbinaries
2017-02-20 19:47:19 +01:00
B S Srinidhi
b2b59ca929 - Fix handling of "--yes" argument to "osc sr" 2017-02-20 14:01:55 +05:30
Marco Strigl
2969c9c52e added multibuild switch (-M) to commands 2017-02-17 11:53:14 +01:00
Marcus Huewe
8efcb0b14d Fix ret code in do_list in case of a non-existent file 2017-02-13 21:45:16 +01:00
Peter Simons
d86e960e30 Lex the contents of $PAGER to support pager commands with arguments.
Closes https://github.com/openSUSE/osc/issues/264.
2017-02-11 20:21:02 +01:00
Marco Strigl
8cf89fa122 fixes osc checkout error with checkout_rooted=1
see bsc#1012592
2017-02-08 13:55:36 +01:00
Marcus Huewe
025ececfdc Merge branch 'recipe_type_guessing' of https://github.com/lethliel/osc 2017-02-02 12:52:49 +01:00
Marco Strigl
b16f1c9c90 improved build recipe guessing 2017-02-02 12:25:43 +01:00
Marcus Huewe
b0d905aa38 Print error for a failed service run in do_submitrequest
Additionally, we do not treat a "running" service run as an
error (the api will complain, if it is still running).
2017-01-31 23:35:43 +01:00
Marcus Huewe
3b3bb21645 Fix IPv6 support in myHTTPSConnection.connect
So far, the AF_INET family was implicitly used. Now, we try all families,
which are returned by socket.getaddrinfo.

Fixes: #261
2017-01-29 22:43:42 +01:00
Marco Strigl
24d70c03dd quote the proj and pkg on checkout url 2017-01-19 14:53:28 +01:00
Marcus Huewe
41187aa705 Merge branch 'fix_urlgraberror_handling' of https://github.com/OlegGirko/osc 2017-01-18 18:18:15 +01:00
Oleg Girko
361fec753a Fix URLGrabError exception handling.
URLGrabError class has no exception attribute,
use strerror to print error instead.

Signed-off-by: Oleg Girko <oleg.girko@jolla.com>
2017-01-17 23:27:08 +00:00
885dd3fecd show build results of multibuild packages by default
Be in sync with webui. Also it is assumed that a user wants to see
all build results of the source change he did and not only for a subset.
2017-01-17 17:16:00 +01:00
943a53d4d8 add unpublish command 2017-01-16 11:58:02 +01:00
Marcus Huewe
4c39b63162 Fix "osc results --csv ..."
Follow-up fix for commit 665d2bda72.
Fixes https://github.com/openSUSE/open-build-service/issues/2548
2017-01-12 15:33:26 +01:00
Marco Strigl
4893049312 added commands for constraints/worker checking 2016-12-30 14:10:35 +01:00
9fffefb2d2 - open 0.157 development 2016-12-20 08:29:01 +01:00
Marco Strigl
78b404158e release 0.156.0 2016-12-19 14:47:45 +01:00
Andreas Schwab
c5a7d266fb Respect repository and arch arguments in restartbuild 2016-12-18 16:04:34 +01:00
Marcus Huewe
1c03e32a57 Merge branch 'add_multibuild_to_results' of https://github.com/lethliel/osc 2016-12-13 16:49:56 +01:00
Marco Strigl
665d2bda72 added support for multibuild / locallink feature
new option -m shows all subpackages and results of the subpackages.
2016-12-13 14:43:36 +01:00
1cb3f9eed5 Add '--vm-memory' option to osc build 2016-11-29 09:07:20 +01:00
Hemmo Nieminen
326abe0c8b Backport a fix from Python 2.7 upstream for urllib2.
This change makes basic authentication fail after first unsuccessful
attempt (instead of automatically retrying) and thus prevents unnecessary
failed login attempts.

This change also allows printing the contents of an HTTP 401 message to
the user.
2016-11-22 11:13:24 +02:00
Marcus Huewe
05ad9efae3 Avoid stale ~/.osc_cookiejar file
Always clear the cookiejar, if ~/.oscrc's mtime is "greater" than
~/.osc_cookiejar's mtime. This fixes issue #86.
2016-11-19 13:01:05 +01:00
Marcus Huewe
25ccfde43c Speed up Project.checkout_missing_pacs a bit
This is a follow-up commit for 613e7b1a95.
2016-11-18 13:00:55 +01:00
Hemmo Nieminen
613e7b1a95 Alter osc update operation's default behaviour.
Make update operation behave as checkout does and do not checkout linked
packages from the same project (by default) during a project wide update.
2016-11-16 10:12:12 +02:00
Marcus Huewe
7be66bc57a Adjust error message in do_getbinaries
This is a follow-up change for commit f7918fcc10.
2016-11-15 14:06:33 +01:00
Marcus Huewe
e4d6e06e1c Merge branch 'getbinaries-project' of https://github.com/Ericsson/osc 2016-11-15 14:05:51 +01:00
Matias Hilden
82dbd10af2 Ignore build descr directory in build-root substitution for local packages
If build-root contains %(package) substitution, --local-package builds
would substitute absolute path there. This is different than the rule used
in osc chroot (uses relative path), causing the chroot to fail by default.

This commit removes the directory part from both build-root substitutions.
2016-11-14 13:48:06 +02:00
Hemmo Nieminen
f7918fcc10 Support downloading a project's binaries from a non-checkout directory. 2016-11-11 16:17:39 +02:00
2befb71663 allow to specify a log message in lock command 2016-11-03 08:41:56 +01:00
Marcus Huewe
9800a7a706 do_wipe: replaced sys.stdout.write calls with print calls 2016-10-31 19:32:08 +01:00
Marcus Huewe
06120b3323 Merge branch 'add-wipe-subcommand' of https://github.com/Ericsson/osc 2016-10-27 18:32:34 +02:00
Matias Hilden
dd4675096a Add '--wipe' option to osc chroot for deleting buildroots
Co-Author: Juha Kallioinen <juha.kallioinen@ericsson.com>
2016-10-27 09:05:35 -07:00
290d96e0b0 add comment about extending env variables for services 2016-10-20 13:12:15 +02:00
8c3f5e9ae2 highlight scheduled jobs with dispatch problems (due to constraints) 2016-10-20 12:59:08 +02:00
Marco Strigl
e0fae072eb improved watched output of osc results
before joining the results on a osc r -w a newline is printed now
2016-10-07 10:07:23 +02:00
Marcus Huewe
6ec62da3cc Add "apiurl" attribute to the Serviceinfo class
Follow-up commit for 8c45eb64ade699ce3d8717f460b3064ca3ab3a58 (just to
make sure that the "apiurl" attribute is always part of the Serviceinfo
class...)
2016-10-04 13:22:00 +02:00
Adam Spiers
8c45eb64ad pass apiurl to source services (#234)
Some source services need to know the apiurl, e.g. to lookup values
in the ~/.oscrc config file.

Closes #234.

https://github.com/openSUSE/osc/issues/234
2016-10-01 22:50:33 +01:00
Marcus Huewe
b4d4d3c027 do_vc: don't contact the api if the "email" config option is set 2016-09-23 16:37:23 +02:00
Marcus Huewe
2816f325ca Fix logic error in do_my
A dict doesn't work here (however, this codepath shouldn't be reached at
all).
2016-09-13 12:39:24 +02:00
Marcus Huewe
e9cc000987 Fix non-existent user handling in do_my/get_user_projpkgs_request_list
This fixes the issue reported in PR #227.
2016-09-13 12:34:48 +02:00
Marcus Huewe
07e0628d9e get_package_results: added None check 2016-09-09 16:24:26 +02:00
ssedlmaier
a536ef5e64 get_package_results: check actual package status
At the moment only the project status is taken into account when determining when to stop watching a build.
This leads to wrong behavior when a package is in 'blocked' for a longer time.
In this state the project status and code is 'published' but the package remains at 'blocked'.
With this additional check this problem is fixed.
2016-09-09 14:46:28 +02:00
Marcus Huewe
bdec204600 treat code 500 as 414 in get_project_sourceinfo
Depending on, e.g., the apache2 configuration, status 500 is returned in case
of an "uri too long" error.
2016-09-09 13:34:21 +02:00
Marcus Huewe
3b1409fd33 Sigh... fix error message 2016-09-09 13:23:55 +02:00
Marcus Huewe
008c456942 Removed debug output
Introduced in commit 2953d65220.
2016-09-09 13:22:40 +02:00
Marcus Huewe
2953d65220 Hint to the --noservice option in do_commit in case of a missing service
Also, this simplifies the service related error handling in do_commit/_commit
a bit.
2016-09-09 13:20:15 +02:00
Marcus Huewe
78e0aa90f5 Fix "args" handling in class PackageNotInstalled 2016-09-09 13:14:35 +02:00
Marcus Huewe
8e7189b391 Restore support for "osc add prj/dir"
This is used to turn "dir" into a package and add it to the version
control (got broken in commit b6f7d1be6c).
Integrated the obscpio code that was introduced in commit
b6f7d1be6c into core.addFiles (XXX: we
should get rid of the run_external(..., shell=True) code).
2016-08-26 17:12:09 +02:00
Marcus Huewe
00c8876791 core.addFiles: improve usability a bit (as suggested by darix)
The previous errors are in fact just warnings.
2016-08-26 16:28:19 +02:00
Marcus Huewe
e7dc0c740a Removed bogus check in get_package_results (fixes #224)
The bogus check is twofold: the first error is due to a wrong
refactoring (repostate was intended to be the "code" attribute
and "code" was supposed to the "code" attribute of the status
node) (see commit f3a1d12a). The second error is a logic error
in the original code, because the package state "succeeded" and
the repostate "unpublished" is a valid combination. Consequently,
the check didn't make any sense...
2016-08-18 01:24:34 +02:00
0c00108521 get_prefer_pkgs: don't ignore debuginfo packages 2016-08-17 09:44:36 +02:00
Marcus Huewe
05ab19bda7 Merge branch 'master' of https://github.com/andreas-schwab/osc
babysitter.run: decode entities in error summary
2016-08-17 01:52:07 +02:00
Marcus Huewe
b5679dee81 Introduced wrongly spelled "--seperate-requests" option again
Just for backward compatibility - will be removed in the
future. See commit b9a53e3527.
2016-08-17 01:43:19 +02:00
Jim McDonough
b9a53e3527 Fix spelling of --separate-requests 2016-08-16 11:40:34 -04:00
9f00759e02 Support arm packages in pkg-prefer 2016-08-08 10:35:14 +02:00
Andreas Schwab
9be4295c73 - babysitter.run: decode entities in error summary 2016-08-04 12:45:30 +02:00
dd1228c872 fix reading of local package directory in release command (osc#218) 2016-08-02 14:09:18 +02:00
9a3f33d5e3 open 0.156 development 2016-07-29 16:06:53 +02:00
a2a6cc95f5 version 0.155.0 2016-07-29 16:03:59 +02:00
Marcus Huewe
83c1064cfe Merge branch 'master' of https://github.com/sleep-walker/osc 2016-07-08 15:28:44 +02:00
Marcus Huewe
58adc14dd4 Merge branch 'fix_osc_co_outdir_project' of https://github.com/Ericsson/osc 2016-07-08 11:48:52 +02:00
Bernhard M. Wiedemann
1ef4449e80 mention "key" in no-verify help text
to make it easier to find with
man osc | grep key
2016-07-05 17:11:48 +02:00
Tomáš Čech
66596c5d0a Return different return code on KeyboardInterrupt
As I haven't found any good source for choice of exit code, I took value
130 found here:

http://tldp.org/LDP/abs/html/exitcodes.html
2016-07-02 19:19:32 +02:00
f2faa82ac7 fix local package caching for snapcraft 2016-07-01 11:15:12 +02:00
Esa Kulmala
c4e4064778 fixed output dir handling for osc checkout <project> 2016-06-30 09:51:48 +03:00
b6f7d1be6c explicit "osc add" of a directory offers to create an archive for uploading it
Question: what can be a trigger to update it?
          checking for mtimes in directories where an .obscpio exists?
2016-06-30 08:19:23 +02:00
d623cb8552 add support for snapcraft builds 2016-06-30 08:06:29 +02:00
Marcus Huewe
30213d0da4 Merge branch 'fix-obsolete' of https://github.com/sebix/osc 2016-06-17 09:17:24 +02:00
Sebastian Wagner
61ddf8542e
Unify obsolete warnings for commandline
Signed-off-by: Sebastian Wagner <sebix@sebix.at>
2016-06-16 23:53:07 +02:00
Marcus Huewe
89fd90ee23 cosmetic + logic fix in get_results 2016-06-10 14:41:35 +02:00
Marcus Huewe
ca9da9df05 fixed "osc results" output in case of a missing status node
In this case, the code from the result element is used.
2016-06-10 14:40:12 +02:00
Michael Schroeder
95b6087c5b Use the preinstall filename if the hdrmd5 is not available 2016-06-09 16:40:39 +02:00
Michael Schroeder
55da852a90 Add support for preinstall iamges
Adapted from a submission from Ericsson by Esa Kulmala, thanks a lot!
2016-06-09 16:24:30 +02:00
37990f48b2 add "osc service runall"
This is up for discussion, but I try to simplify the interface here:
- obsolete "localrun" and "disabledrun". Still implemented, but not anymore
  recommended and documented. can hopefully removed later.
- "runall" is running all services local, also buildtime services
  - files get replaced by the service
  - can be used to get final tar balls to be used with tools like quilt
2016-06-08 09:17:15 +02:00
015ab4cd40 Merge pull request #208 from b1-systems/project_meta_revision_ctrl
Add revision control options to meta project commands
2016-06-08 09:10:21 +02:00
abe0ffad76 Merge pull request #207 from adrianschroeter/master
add "osc service runall"

no feedback yet, but it is not removing functionality, so let's try in real life
2016-06-08 09:10:14 +02:00
Marcus Huewe
acbd2c17c7 Revert "Simplify core.http_request"
This reverts commit c53a7681ef (for now!).
It seems to break local obs instances (see issue #202) (this needs
further debugging). Moreover, it breaks the python 3.4 - excerpt
from a travis run:

======================================================================
ERROR: test_added_missing2 (test_commit.TestCommit)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/opt/python/3.4.2/lib/python3.4/urllib/request.py", line 1111, in do_request_
    mv = memoryview(data)
TypeError: memoryview: _io.BufferedReader object does not have the buffer interface

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/home/travis/build/openSUSE/osc/tests/common.py", line 122, in wrapped_test_method
    test_method(*args)
  File "/home/travis/build/openSUSE/osc/tests/common.py", line 122, in wrapped_test_method
    test_method(*args)
  File "/home/travis/build/openSUSE/osc/tests/common.py", line 122, in wrapped_test_method
    test_method(*args)
  File "/home/travis/build/openSUSE/osc/tests/common.py", line 122, in wrapped_test_method
    test_method(*args)
  File "/home/travis/build/openSUSE/osc/tests/common.py", line 122, in wrapped_test_method
    test_method(*args)
  File "/home/travis/build/openSUSE/osc/tests/test_commit.py", line 290, in test_added_missing2
    p.commit()
  File "/home/travis/build/openSUSE/osc/tests/osc/core.py", line 1471, in commit
    self.put_source_file(filename, tdir)
  File "/home/travis/build/openSUSE/osc/tests/osc/core.py", line 1319, in put_source_file
    http_PUT(u, file = tfilename)
  File "/home/travis/build/openSUSE/osc/tests/osc/core.py", line 3243, in http_PUT
    def http_PUT(*args, **kwargs):    return http_request('PUT', *args, **kwargs)
  File "/home/travis/build/openSUSE/osc/tests/osc/core.py", line 3231, in http_request
    fd = urlopen(req, data=data)
  File "/opt/python/3.4.2/lib/python3.4/urllib/request.py", line 153, in urlopen
    return opener.open(url, data, timeout)
  File "/opt/python/3.4.2/lib/python3.4/urllib/request.py", line 453, in open
    req = meth(req)
  File "/opt/python/3.4.2/lib/python3.4/urllib/request.py", line 1116, in do_request_
    data))
ValueError: Content-Length should be specified for iterable data of type <class '_io.BufferedReader'> <_io.BufferedReader name='/tmp/osc_test571whun4/osctest/added_missing/.osc/_in_commit/bar'>
2016-06-02 21:59:40 +02:00
Karsten Keil
fca93a8b60 Add revision control options to meta project commands 2016-06-02 08:23:47 +02:00
28c12686b9 add "osc service runall"
This is up for discussion, but I try to simplify the interface here:
- obsolete "localrun" and "disabledrun". Still implemented, but not anymore
  recommended and documented. can hopefully removed later.
- "runall" is running all services local, also buildtime services
  - files get replaced by the service
  - can be used to get final tar balls to be used with tools like quilt
2016-06-01 17:10:31 +02:00