1
0
mirror of https://github.com/openSUSE/osc.git synced 2024-11-14 16:26:13 +01:00
Commit Graph

3768 Commits

Author SHA1 Message Date
a7b58e86a0 Fix loading 'skipped' attribute in File.from_xml_node() 2022-10-24 17:04:46 +02:00
5f0156dbde oscssl: Fix sys.version_info comparison 2022-10-24 13:44:31 +02:00
cc0bb5ac7b
Merge pull request #1178 from dmach/fix-osc-sr-list-all
rq list --all: Avoid conflict with the --state option
2022-10-21 10:42:11 +02:00
63436f4b81 rq list --all: Avoid conflict with the --state option 2022-10-21 10:29:45 +02:00
dbe75fe324
Merge pull request #1172 from dmach/mute-deprecation-warnings-tls-ssl
Mute ssl/tls deprecation warnings
2022-10-20 20:30:50 +02:00
8cac2e55c0 Mute ssl/tls deprecation warnings
ssl.OP_NO_SSLv2 - removed, because it's deprecated since py3.6
ssl.OP_NO_SSLv3 - removed, because it's deprecated since py3.6
ssl.OP_NO_TLSv1 - enabled only on py3.6, because it's deprecated since py3.7
ssl.OP_NO_TLSv1_1 - enabled only on py3.6, because it's deprecated since py3.7
2022-10-19 10:25:39 +02:00
bac3336d90
Merge pull request #1166 from dmach/sr-accept-forwarding
sr accept: Enable forwarding requests to the parent projects; Introduce new osc._private module
2022-10-19 10:09:23 +02:00
Dirk Müller
ee68e87474
cleanups 2022-10-18 23:41:22 +02:00
Dirk Müller
51d993c1e7
Merge _expand_as_project_name into _process_project_name
This function was already doing most of the work, so we can do this
extra there as well. simplifies the code a little. also fix a regression
in previous change where Pwd.cwd().replace() would rename the directory
(rather than doing a replace on the string value).
2022-10-18 23:41:22 +02:00
5478f726e8 rq list: Fix traceback when there's no search criteria 2022-10-13 12:58:15 +02:00
77beee1d4a Mute consequent InsecureRequestWarning warnings 2022-10-13 12:58:15 +02:00
aec503585e rq list -i: Enable forwarding requests to the parent projects 2022-10-13 12:58:15 +02:00
fef07af464 sr accept: Enable forwarding requests to the parent projects
This works only with the --interactive option
2022-10-13 12:58:15 +02:00
ca744aa7d7
Merge pull request #1167 from OlegGirko/extra-pkgs-from-file
Add "--extra-pkgs-from" ("-X") option to osc build
2022-10-13 12:52:12 +02:00
741180fc52
Merge pull request #1169 from dirkmueller/handle_dot_expansion_in_more_commands
use Path.cwd() consistently
2022-10-13 12:45:01 +02:00
a4720eb776 Add new osc._private module 2022-10-13 10:52:17 +02:00
Dirk Müller
e002a45527
Use tuples when possible 2022-10-13 10:31:47 +02:00
ef6e399603 Import rpm locally because it's not available to Read the Docs 2022-10-13 09:54:54 +02:00
bac162a712
use Path.cwd() consistently
we have a mix of os.curdir and os.getcwd(). consolidate on the
python 3.x recommended method of Path.cwd()
2022-10-13 09:53:20 +02:00
Oleg Girko
f0935fe47d Add "--extra-pkgs-from" ("-X") option to osc build.
This option adds extra packages listed in the specified file to build.

For now, osc does not support automatic buildrequires.

When a package has automatic buildrequires, osc just
returns error code 9 that is returned by build,
but build leaves a list of missing dependencies in
".build.packages/OTHER/_generated_buildreqs" file inside build root.

These extra packages can be added using "--extra-pkgs" ("-x") option,
but this is very inconvenient if there are many of them.

Allowing to add extra dependencies listed in a file makes building
packages with automatic buildrequires much more convenient:
just do a first stage build, resulting in a file with list of
extra dependencies, and then add extra packages from this file
using "--extra-pkgs-from" ("-X") option that is added by this change.

Signed-off-by: Oleg Girko <ol@infoserver.lv>
2022-10-13 00:14:32 +01:00
e03cafa99a Add core.File.from_xml_node() class method 2022-10-12 14:01:38 +02:00
298a1fba4b
Merge pull request #1165 from dmach/display-ssl-cert
Fix the '9 - review the server certificate' option in cert trust prompt
2022-10-12 09:15:55 +02:00
5d0f1f6176
Merge pull request #1072 from Firstyear/20220506-highlight-md5-faults
OBS has a fault where is sends invalid md5s
2022-10-12 09:13:22 +02:00
bd69fe73cf expand "." in copypac and rdelete as referencing the workdir project
dot (".") is already used as magic "current project/package" in
other commands like "ls" for example, but in the most useful ones
like copypac and rdelete it was missing. this adds a function that
does the dot expansion and adds it to the respective command expansions.
2022-10-11 13:20:50 +02:00
3aae045aac Fix the '9 - review the server certificate' option in cert trust prompt 2022-10-11 10:27:43 +02:00
lethliel
6c6428fbaa fix osc build
config['api_host_options'] were missing
extra_pkgs is a list not a str
2022-10-07 20:52:58 +02:00
William Brown
647c4fe34d OBS has a fault where is sends invalid md5s
This causes downloads to come from the api, generally on noarch packages.
However, in countries like australia, due to OBS' high latency, and poor
bandwidth, these faults can cause downloads to take more than an hour, compared
to using a local mirror which can take minutes. There is actually nothing
wrong with the packages it all, OBS just sends the wrong md5.

As a result, ignore the problem and complain about it, because OBS is broken
here, not osc, and this wastes a lot of time.
2022-10-06 10:50:24 +10:00
6f45a09f3a
Merge pull request #1160 from dmach/submitrequest-allow-aliases
osc sr: Do not error out on using an alias to apiurl
2022-10-05 13:58:25 +02:00
119ca682de osc sr: Do not error out on using an alias to apiurl 2022-10-05 11:55:17 +02:00
82981f544d Fix "NameError: name 'core' is not defined" when using Package 2022-10-05 11:51:44 +02:00
fbde8fc256
Merge pull request #1157 from dmach/configparser-disable-interpolation
Disable configparser interpolation to allow unescaped '%' in values
2022-10-05 11:17:56 +02:00
Adrian Schröter
ab8c5d1692 add create-pbuild-config(cpc) command
which allows to create a working config for pbuild tool based on OBS server side data

The cross build support is not yet done
2022-10-04 13:15:40 +02:00
841353049a cmdln: Allow explicitly setting command name 2022-10-04 13:15:40 +02:00
5094099f08 Disable configparser interpolation to allow unescaped '%' in values 2022-10-04 09:37:33 +02:00
a68f96fc7f
Merge pull request #1153 from mackdk/fix-maintenance-help-url
Wrong documentation URL for maintenancerequest and createincident
2022-10-03 09:44:45 +02:00
b9f8112003
Merge pull request #1154 from dirkmueller/for_in_cleanup
Use a more readable 'if ... in ' construct
2022-10-03 09:43:06 +02:00
d57a373874
Merge pull request #1152 from dmach/argparse-and-cli-fixes
Argparse and cli fixes
2022-10-03 09:42:09 +02:00
Rainer Müller
241b34d645 Refactor tar open functions to return early 2022-09-30 15:51:06 +02:00
Rainer Müller
395df87fa1 Remove workarounds for python2 compatibility 2022-09-30 15:48:36 +02:00
Rainer Müller
bcdc3b1835 Replace double with single underscores to avoid name mangling 2022-09-30 15:47:46 +02:00
Rainer Müller
a6fd4f88d3 Refactor extracting control from Debian package
Use separate functions for each compression type instead of a
cascade of conditionals.
2022-09-30 15:45:57 +02:00
Rainer Müller
5a13baf2ab Handle uncompressed Debian packages
Debian packages can also be uncompressed in which case the archive
contains a control.tar file.
2022-09-30 15:44:14 +02:00
4edd4799a1 Use a more readable 'if ... in ' construct 2022-09-30 14:10:29 +02:00
Thomas Florio
2bbb098a8b
Fixed the documentation url for maintenancerequest and createincident 2022-09-30 12:28:58 +02:00
4c24f50df2 Replace remaining occurences of optparse.SUPPRESS_HELP with argparse.SUPPRESS 2022-09-30 10:27:10 +02:00
cc7de20598 Bring 'osc buildinfo -d/--debug' back 2022-09-30 09:57:42 +02:00
69af8b59a5 Bring 'osc build --verbose' back as --verbose-mode=MODE to avoid conflicts with global --verbose 2022-09-30 09:57:42 +02:00
f7af6329b5 argparse: Prefer sub-command options over global options 2022-09-30 09:57:34 +02:00
b92f9f76ef
Merge pull request #1148 from dmach/fix-core.addFiles
Fix core.addFiles() to correctly create Package objects from file paths
2022-09-27 16:43:30 +02:00
dd78f2654a Fix core.addFiles() to correctly create Package objects from file paths 2022-09-26 17:23:50 +02:00
63f1471ef4 Do not traceback on conflicting argparse arguments
If a plugin uses an argument that conflicts with osc's global args,
osc fails with argparse.ArgumentError.
The exception is now caught and reported as a warning,
while the conflicting argument is skipped.
2022-09-26 15:53:21 +02:00
1fe2b17957
Merge pull request #1144 from dmach/1141-search-requests-created-by-myself
Properly handle osc rq -M/--mine option
2022-09-20 13:09:25 +02:00
c8f4487201 Replace core.findpacs() with Package.from_paths() and Package.from_paths_nofail()
The original findpacs() was returning either [Package]
or ([Package], [str]) depending on the `fatal` option.
This confused pylint and it was returning false-positives:
E1101: Instance of 'list' has no '...' member (no-member)
2022-09-20 11:32:25 +02:00
c7370522cc Add PackageError.__str__() so we can also use it in the inherited classes 2022-09-20 11:30:59 +02:00
175a44bc97 Fix calling findpacs() with os.curdir
A list of strings is expected, but a string was passed.
It was working only by coincidence, because iterating
through ["."] and "." gives the same result.
2022-09-20 10:48:05 +02:00
8dbf859ce2 core.Package: add ordering methods, repr and hash 2022-09-20 10:48:01 +02:00
c263d950ca Fix 'osc revert' command 2022-09-20 10:04:04 +02:00
42dcc7ca3c Fix 'osc mv' command 2022-09-20 10:03:52 +02:00
451067bf05 Fix 'osc whois' command 2022-09-20 10:03:42 +02:00
e65bb3819d Fix 'osc importsrcpkg' command 2022-09-20 10:03:32 +02:00
c011fffa02 Fix 'osc workerinfo' command 2022-09-20 10:03:21 +02:00
553bbf7b7d Fix 'osc rremove' command 2022-09-20 10:03:13 +02:00
2d14d0d1ec Fix 'osc lock' command 2022-09-20 10:03:02 +02:00
84138fb41f Fix 'osc init' command 2022-09-20 10:02:48 +02:00
6629da6fc6 Improve 'api' command argparse handling 2022-09-20 10:01:28 +02:00
4ee3df3bbc cmdln: Handle multiple signatures of do_* handlers 2022-09-20 10:00:45 +02:00
9d11493f33 cmdln: Order options and arguments by the order of decorators in the source code 2022-09-20 09:59:41 +02:00
056e6f1dde Improve 'osc rq show' output
* Add 'Created by' field
* Make formatting more consistent across the sections
2022-09-16 12:49:08 +02:00
584fd5e0f4 Fix osc rq -M/--mine option to show only requests created by the user 2022-09-16 12:49:08 +02:00
30d967513e Migrate from get_request_list() to get_request_collection()
The new function uses a new, fast API call.
2022-09-16 12:49:08 +02:00
783ed2b6e0 core.Request - implement ordering compatible with py3 2022-09-16 12:42:09 +02:00
9073b1a1d2 Change get_request_collection() not to list declined requests by default 2022-09-16 12:41:08 +02:00
5761d6bbf7
Add information about osc vc using the EDITOR envar to the help output
While for some developers/veteran Linux users this might be obvious,
many people will probably find it hard to know why osc vc is using
editor X instead of Y though.
2022-09-15 23:01:53 -03:00
54e873605d Always list requests with 'new,review' states by default 2022-09-15 08:53:05 +02:00
959d054ec8 Fix whitespace issues in osc.util 2022-09-12 15:44:27 +02:00
824c324dd5 Replace 'if not <cond> is None' with 'if <cond> is not None' 2022-09-12 14:23:47 +02:00
7e67269b74 Replace 'if not <cond> in ...' with 'if <cond> not in ...' 2022-09-12 14:15:34 +02:00
fe59986e1c Run autopep8 to fix whitespace issues 2022-09-12 13:45:19 +02:00
b511be20ff Always import at the toplevel 2022-09-12 13:45:19 +02:00
6d891d7488 Remove superfluous parens 2022-09-12 13:45:19 +02:00
3296fd8d89 User super() instead of referencing parent classes explicitly 2022-09-12 13:45:19 +02:00
1442a55c96 Remove trailing whitespaces 2022-09-12 13:45:19 +02:00
f12c72a69f Fix dangerous (mutable) default values 2022-09-12 13:45:19 +02:00
f54ff7f9c3 Remove unused dict argument from OscConfigParser.SectionLine's init 2022-09-09 09:33:51 +02:00
4b487d4f99 Fix isinstance usage in core.makeurl() 2022-09-09 09:33:51 +02:00
ee39653dc7 Fix indentation 2022-09-09 09:33:51 +02:00
beaf312eee Use implicit booleaness instead of len() to test if iterables are empty 2022-09-09 09:33:51 +02:00
ff63226c2f Properly test for None 2022-09-09 09:33:51 +02:00
a4ac558fa6 Fix error: Instance of 'Project' has no 'prjname' member 2022-09-09 09:33:51 +02:00
b55384a914 Fix undefined variable in conf.apply_option_types() 2022-09-09 09:33:51 +02:00
a5b8729f2f Fix usage of super() 2022-09-09 09:33:51 +02:00
1b9ed6bdbb release 1.0.0b2 2022-09-09 09:29:05 +02:00
804db37dd4 Add missing 'apiurl' argument when creating CookieJarAuthHandler instance in build.py 2022-09-08 14:02:50 +02:00
f8a8c9c91c Print user and apiurl when prompting for a password
It's not a good idea to send a password to a different server
than it belongs. Now the server identity is obvious.
2022-09-08 10:51:04 +02:00
7de13ea597 Pass apiurl to all auth handlers
Fixes TransientCredentialsManager check when working with multiple apiurls
2022-09-08 10:51:01 +02:00
157d4b79f8 Inject no-op print() into http.client when http debugging is off
This solves a crash that occasionaly occurs - osc tries to use a function that is not there
2022-09-08 10:32:34 +02:00
2496b3e987 Properly handle missing ssh-keygen and ssh-add 2022-09-07 10:09:20 +02:00
bbb2746657 Support ssh-agent forwarding 2022-09-07 10:07:01 +02:00
3d8efe2d15 ssh auth: Avoid password prompt when using TransientCredentialsManager 2022-09-06 12:49:47 +02:00
ca6a352acb Fix race condition in using .old directory in Serviceinfo.execute() 2022-09-05 15:33:42 +02:00
6a1e8053ac
Merge pull request #1128 from dmach/http-accept
Send HTTP header Accept: application/xml
2022-09-05 13:59:48 +02:00
c2d0b05ede Send HTTP header Accept: application/xml
Rails sends a html response if the header is not set
https://github.com/openSUSE/open-build-service/pull/13019
2022-09-05 13:32:57 +02:00
79b8c34aa6 Print URLs and xpaths in debug rather than verbose mode 2022-08-31 14:17:04 +02:00
615935de27 Create ~/.config/osc/trusted-certs if not exists 2022-08-31 14:16:59 +02:00
5a9909370d Fix connection to work on python 3.6
Use ssl.CertificateError instead of ssl.SSLCertVerificationError.
2022-08-30 11:41:09 +02:00
a362edee5e Handle conflicting options manually because the mutually exclusive group is buggy 2022-08-26 17:10:24 +02:00
3763bff901 Remove the '-A' option from the 'maintainer' command
It conflicts with the global '-A/--apiurl' option.
Use the long '--all' version from now on.
2022-08-26 17:04:56 +02:00
98b76d14b6 Replace the '-q/--hide-legend' option in 'prjresults' command with global '-q/--quiet' option 2022-08-26 17:04:41 +02:00
b5491911ea Add global options to subcommands so they can be specified in any place 2022-08-26 16:23:48 +02:00
99937100df Allow intermixing positional and optional args 2022-08-26 16:11:16 +02:00
2588060628
Merge pull request #1120 from dmach/cookiejar-locking-for-better-signature-auth
Lock cookiejar to prevent unnecessary signature auth
2022-08-26 16:10:46 +02:00
a4a984ee14 Lock cookiejar to prevent unnecessary signature auth
This usually happens when a user runs multiple osc instances
from the command-line in parallel.
2022-08-25 15:39:26 +02:00
ed5def96ba Remove deprecated 'plaintext_passwd' config option 2022-08-25 13:20:25 +02:00
41ceb4b5f8 Remove deprecated 'GnomeKeyringCredentialsManager' and related code 2022-08-25 13:20:25 +02:00
ed49664d3e Remove deprecated '--skip-validation' option from the 'commit' command 2022-08-25 13:06:58 +02:00
364a945440 Remove deprecated '--oldpkg', '--oldprj' options from the 'rdiff' command 2022-08-25 13:06:48 +02:00
dc22af0183 Remove deprecated subcommands 'create', 'list', 'log', 'show', 'decline', 'accept', 'delete', 'revoke' from the 'submitrequest' command 2022-08-25 10:01:36 +02:00
28c898a2cb Remove deprecated '--seperate-requests' option from the 'submitrequest' command 2022-08-25 09:57:42 +02:00
47d4aa1eda Remove deprecated '--raw' option from the 'develproject' command 2022-08-25 09:56:36 +02:00
cd66d2ab19 Remove deprecated '--maintained' option from the 'search' command 2022-08-25 09:50:42 +02:00
ee93af6d5f Remove deprecated 'rlog' command 2022-08-25 09:48:31 +02:00
c7df2a154b Remove deprecated 'rprjresults' command 2022-08-25 09:48:13 +02:00
7c282e80e9 Remove deprecated 'rresults' command 2022-08-25 09:47:49 +02:00
81d8c821d1 Remove deprecated 'results_meta' command 2022-08-25 09:47:26 +02:00
bfcdba8b4d Remove deprecated 'deleteprj' command 2022-08-25 09:46:54 +02:00
9ca0a5122e Remove deprecated 'deletepac' command 2022-08-25 09:46:35 +02:00
59e697e61e Remove deprecated 'editmeta' command 2022-08-25 09:46:08 +02:00
20998385f3 Remove deprecated Request.get_creator() 2022-08-25 09:44:45 +02:00
8ca816755a
Merge pull request #1117 from dmach/setup.py-to-setup.cfg
Move python package metadata from setup.py to setup.cfg
2022-08-24 14:28:32 +02:00
4848b0f42a Move __version__ from osc.core to osc
Fixes issues with circular module deps during tests
that caused that osc.core wasn't available
2022-08-24 09:53:26 +02:00
9cc4a5594f Fix resource warnings (unclosed files) 2022-08-24 08:43:09 +02:00
a24c905f53 Fix 'osc up' on project level for scm packages 2022-08-24 08:24:12 +02:00
31b804eeec
Merge pull request #1114 from dmach/replace-imp-with-importlib
Replace imp with importlib
2022-08-23 08:29:34 +02:00
78374d2ca6
Merge pull request #1111 from dmach/do-not-list-declined-requests-by-default
Do not list declined requests by default
2022-08-23 08:28:42 +02:00
564c54b90d
Merge pull request #1110 from dmach/fix/git_version
git_version: Return version from the source code if there's no matching tag
2022-08-23 08:27:56 +02:00
ddec088efc Replace imp with importlib 2022-08-22 15:45:25 +02:00
565797d5a7
Merge pull request #1113 from dmach/fix/cmdln-empty-docstring
Do not crash when do_* handler has no docstring
2022-08-22 15:21:41 +02:00
b306bf0b91 Convert defaults to their expected types
Fixes problems in reading conf values before the configuration
is fully initialized.
2022-08-22 15:08:49 +02:00
d2015d808b Do not crash when do_* handler has no docstring 2022-08-22 13:41:08 +02:00
2892f1bb11 Do not list declined requests by default 2022-08-22 11:34:56 +02:00
8acad28cc0 git_version: Return version from the source code if there's no matching tag 2022-08-22 11:08:34 +02:00
d7ee98833c
Merge pull request #1105 from lethliel/add_version_command
add version command to print the used version
2022-08-22 09:16:47 +02:00
Frank Schreiner
6c7ad021c8 reset "file current position" on errors
If an error occurs while sending a file to the API (e.g. 401), the io handle
is reused and the current postion is at the end of the file. This results in an
empty value.

This patch takes care that the current file postion gets resetted
if a retransmission is required.
2022-08-18 12:06:06 +00:00
lethliel
4b2bfb0b80 add version command to print the used version 2022-08-17 22:21:02 +02:00
6cb7412749 Remove duplicated --debug and --verbose options
Additional changes:
* rename getbinaries --debug to --debuginfo to avoid conflicts
* switch conf['verbose'] from int to bool

The changes were needed because the new argparser behaves differently
and commands such as `osc ls` ran in verbose mode by default.
2022-08-12 10:06:00 +02:00
84c97ab625 Fix crash caused by concatenating bytes with string 2022-08-12 10:06:00 +02:00
be8a5268a8 Replace unmaintained cmdln.py with a custom code
Cmdln.py is unmaintained for years and uses deprecated optparse.
Let's replace it with a simpler custom code. Also remove code
that generates man page, we'll replace it with a 3rd party tool.
2022-08-12 10:05:59 +02:00
e469c2c184
Merge pull request #1041 from AdamMajer/master
Add support for project separator
2022-08-12 10:03:23 +02:00
47b58ac350
Merge pull request #1095 from abitrolly/build-decsc
Reworded `build` help and added debug prints
2022-08-12 09:40:06 +02:00
4423a5d4a9 release 1.0.0b1 2022-08-04 16:19:59 +02:00
Anatoli Babenia
0036aa931e Print debug messages to stderr 2022-08-04 17:12:57 +03:00
Anatoli Babenia
988f19f9ce Document build repo selection logic 2022-08-03 13:36:31 +03:00
Anatoli Babenia
0660c14a62 Add debug print for REPO (and desc just in case) 2022-08-03 10:40:29 +03:00
Anatoli Babenia
0b6039025f Shortened build help and add debug prints
Debug prints are needed for troubleshooting ARCH selection problem in
https://github.com/openSUSE/osc/pull/241#issuecomment-1203463612
2022-08-03 08:36:51 +03:00
Anatoli Babenia
d9bc6d1c12 Remove unused code for discontinued distributions 2022-08-02 14:47:56 +03:00
Anatoli Babenia
5751222bd0 Remove extra line from the end of osc dists output 2022-08-02 14:45:23 +03:00
Anatoli Babenia
3ae3c88a95 Dedent main code for get_distributions 2022-08-02 14:45:23 +03:00
Anatoli Babenia
4d6a6aaf96 Move output formatting from core into commandline
This makes `get_distributions()` return list of dicts.
2022-08-02 14:45:23 +03:00
Anatoli Babenia
0bc142df91 Move format_table to util.helper 2022-08-02 14:45:23 +03:00
Anatoli Babenia
fed3de9c11 Add a function for table formatting 2022-08-02 14:45:23 +03:00
Anatoli Babenia
10a156d4ca Fix spelling mistake in get_distributions method name 2022-08-02 14:45:23 +03:00
abfc30e59d
Merge pull request #1090 from abitrolly/nopy2
Remove Python 2 code
2022-08-01 08:44:54 +02:00
Anatoli Babenia
560e556d36 Do not ask for login for -h,--help 2022-07-29 18:59:25 +03:00
Anatoli Babenia
ce91a9ff5a Remove Python 2 code 2022-07-29 17:26:39 +03:00
eb83b42f32 Fix several undefined-variable issues reported by pylint 2022-07-28 21:01:16 +02:00
feb53212dd Modernize code with pyupgrade
pyupgrade --keep-percent-format --py36-plus `find -name '*.py'`
2022-07-28 19:14:12 +02:00
e7af9cebb3
Merge pull request #1088 from dmach/python3-import-cleanup
Clean imports up, drop python 2 fallbacks
2022-07-28 17:41:10 +02:00
229913a77f Clean imports up, drop python 2 fallbacks 2022-07-28 13:17:43 +02:00
ad8d2bd67e
Remove duplicate taking care of sys.stderr in babysitter:main. 2022-07-28 11:21:35 +02:00
e16e196fa1
Merge pull request #1040 from dmach/fix/multibuild-commandline
Fix -M/--multibuild user experience, allow globs where possible
2022-07-28 11:03:34 +02:00
84fa637556 Add XDG compatible location for osc plugins.
I believe it is generally a good idea to move stuff from $HOME to
XDG-compatible directories.
2022-07-28 10:26:13 +02:00
6397a6070d Replace osc-wrapper.py with entry_points. 2022-07-28 09:46:34 +02:00
85dbd9f626
Merge pull request #1000 from dmach/urllib3
Switch http_request() to urllib3
2022-07-27 11:27:18 +02:00
0d701556f2 Warn when using HTTP connection. Make HTTPS the default.
It is possible to omit protocol in -A/--apiurl now,
because https:// is the default.
2022-07-27 11:15:21 +02:00
93bc0e4731 Switch http_request() to urllib3
Use connection pools for better performance.
Replace M2Crypto with cryptography and urllib3's ssl context.
2022-07-27 11:15:21 +02:00
69f75a0278 Open osc 1.0 development
Upcoming changes:
- drop python2 support
- replace M2Crypto with cryptography
- replace cmdln.py/optparse with argparse
- various cleanups
2022-07-27 10:46:55 +02:00
d8d4b0831c release 0.181.0 2022-07-26 21:34:07 +02:00
133a6e340c Fix crash when 'pass' is not set in the config file 2022-07-26 15:07:40 +02:00
97b0961fe0 Add missing attributes to Package when scm_url is set 2022-07-26 13:13:37 +02:00
ff1ae5e25e Fix multibuild packages in osc wipebinaries 2022-07-26 09:51:16 +02:00
f70b480cab Fix multibuild packages in osc jobhistory 2022-07-26 09:51:16 +02:00
a51524e5af Fix multibuild packages in osc buildhistory 2022-07-26 09:51:16 +02:00
1a4942da83 Fix multibuild packages in osc build 2022-07-26 09:51:16 +02:00
5198b6334b Fix multibuild packages in osc buildinfo 2022-07-26 09:51:16 +02:00
0fd93f7443 Fix multibuild packages in osc triggerreason 2022-07-26 09:51:16 +02:00
182e8e20a4 Fix multibuild packages in osc remotebuildlog 2022-07-26 09:51:15 +02:00
26ad5aa35c Fix multibuild packages in osc buildlog 2022-07-26 09:51:15 +02:00
502bff50ff Fix multibuild packages in osc restartbuild 2022-07-26 09:51:15 +02:00
30a3106375 Fix multibuild packages in osc sendsysrq 2022-07-26 09:51:15 +02:00
55ad41d33b Fix multibuild packages in osc results 2022-07-26 09:51:15 +02:00
6ccdb9cfe3 Fix multibuild packages in osc rebuild 2022-07-26 09:51:15 +02:00
082986daf9 core: Add functions for glob matching of multibuild flavors 2022-07-26 09:51:15 +02:00
cc393758df Fix errorneous double quotes in core.py 2022-07-26 09:51:15 +02:00
4deaf2b9c3
Merge pull request #1077 from abitrolly/relconf
Fix failure to create config in current dir
2022-07-26 09:37:29 +02:00
Anatoli Babenia
6a9398a97b Fix failure to create config in current dir
This uses exception based protection from parallel execution
https://github.com/openSUSE/osc/pull/1077#discussion_r928976845
2022-07-26 09:04:15 +03:00
637cfe8471
Merge pull request #1023 from dmach/fix/622-additional-changes
parseRevisionOption(): Raise an exception on invalid revisons
2022-07-25 18:26:06 +02:00
9786aafa51 Update list of considered file names for ssh key autodetection
The file names come from ssh(1) man page.
2022-07-25 17:54:43 +02:00
f83e9a23d5
Merge pull request #1074 from dmach/pr1049-v2
RFC: ssh: recognize gpg keys (yubikey usage)
2022-07-25 13:52:31 +02:00
a7e5e12c5a Allow users to prefer ssh key over password auth
If `sshkey` config option is set, then osc prefers it over password auth.
If `sshkey` config option is not set and the server supports both basic
and signature auth, basic auth is used and ssh key is NOT auto-detected.

Users who want to use ssh auth with ssh key auto-detection can now leave
the `pass` config option empty to trigger ssh key auto-detection.

The ssh-key autodetection picks the first key that matches:
- key loaded to ssh-agent (`ssh-add -l`) that has a public key in ~/.ssh
- ~/.ssh/{id_ed25519,id_rsa}

It is also recommended to use Obfuscated or Plaintext credentials manager.
Please be aware that storing passwords using these credentials managers
is unsafe, because they're stored in plain text on disk.

Example:

    [<apiurl>]
    user=<username>
    pass=
    # ssh key is auto-detected because `pass` is empty
    sshkey=
    credentials_mgr_class=osc.credentials.ObfuscatedConfigFileCredentialsManager
2022-07-22 08:20:44 +02:00
Martin Wilck
870d861b61 ssh: recognize gpg keys (yubikey usage)
When using ssh keys from gpg, there are no private key files on
disk. The public keys are available from "ssh-add -L". Conveniently,
users store the public keys in some ".pub" file under ~/.ssh
(see e.g. https://serverfault.com/questions/906871/force-the-use-of-a-gpg-key-as-an-ssh-key-for-a-given-server;
this is also necessary to use IdentityFile= in ssh itself).

Thus public key files can't be ignored any more in list_ssh_dir_keys().
"ssh-keygen -Y sign" works nicely with a public key file if the agent
has access to the private key.
2022-07-11 13:08:34 +02:00
Adrian Schröter
932d4c5fa1 fix operating on _project meta
The removed code is plain wrong, ../_project/_meta?meta=1 exists
2022-07-11 11:16:15 +02:00
8d843b5968 Revert "interpretation of string literals in messages"
Emojis were broken due to this commit.

The revert causes a change in behavior:
"\n" no longer gets resolved to a newline.
It is suggested to do the following instead:

$ osc <command> ... -m "first line
second line"

This reverts commit 16fda3115c.
2022-07-07 15:42:22 +02:00
dba4041af0
Merge pull request #1066 from dmach/fix-git-version-github
Fix detecting version from git in archives from GitHub
2022-07-07 13:40:08 +02:00
194f829297
fix product build rpm caching
* src/noarch rpm packaages needs to be stored in scheduler architecture to avoid
  conflicts of the multiple versions
* avoid removal of every downloaded file
2022-07-07 12:30:55 +02:00
Adam Majer
f10247014d Process input with configurable project separators
This allows for usage of configurable project name separator in
the command line inputs

Fixes: #1024
2022-07-04 15:05:05 +02:00
Adam Majer
c4c2d2a933 Add project_separator to config file
This allows for arbitrary string to be used as a project
separator instead of restricting oneself to : or directory
structure.

Fixes: #1024
2022-07-04 15:05:05 +02:00
2aaefb7c79 Fix detecting version from git in archives from GitHub
There seem to be a bug in how GitHub generates archives.
"Format:" and "$" characters get removed from the version string,
setting it to:

    version = "%(describe:tags=true)"
2022-07-04 14:43:21 +02:00
515db3dea0 release 0.180.0 2022-06-24 15:23:26 +02:00
fec667c70d Fix crash in determining git version when git command is not available 2022-06-24 12:24:53 +02:00
e6061da1d6
Merge pull request #1056 from dmach/fix-invalid-credentials-manager-traceback
Don't traceback on invalid credentials manager
2022-06-24 08:54:11 +02:00
9a5c775d47
Merge pull request #1062 from adrianschroeter/gitupdate
fix crash on "osc up" for git based package/projects
2022-06-24 08:53:42 +02:00
45268e5cb5
Merge pull request #1037 from dmach/fix/git-version-compatible-with-pip
Make osc git version compatible with pip to mute the PEP 440 warning
2022-06-24 08:52:17 +02:00
253d760a76 fix crash on "osc up" for git based package/projects 2022-06-24 08:46:49 +02:00
5e8413ecb6 Don't traceback on invalid credentials manager 2022-06-21 08:33:38 +02:00
lethliel
d9e2d958c1 declare OscHTTPSignatureAuthHandler as a new-style class
remove illegal character in comment
2022-06-14 14:27:48 +02:00
295ea7f356 Warn when trying to commit a prj/pac managed in scm 2022-06-08 14:18:33 +02:00
40067dce0a Auto-generate git versions compatible with PEP 440
`git archive` is configured to set osc version according to the git tag
via .gitattributes/export-subst
2022-06-08 08:48:50 +02:00
0b4158590c release 0.179 2022-06-02 14:29:11 +02:00
0a1d47d920
Merge pull request #1034 from andreas-schwab/master
Fix check for empty details
2022-06-02 13:31:00 +02:00
dec6f7135d
Merge pull request #1043 from dirkmueller/download_url_quoting
Fix quoting of download urls
2022-06-02 13:28:59 +02:00
eac5434700
Merge pull request #928 from jengelh/master
osc co/up: highlight pending requests' header
2022-06-02 10:23:58 +02:00
fad89f8e09
Merge pull request #1027 from adrianschroeter/github
add another exception for github URLs for "osc add"
2022-06-02 10:21:02 +02:00
1715163166
Merge pull request #994 from dmach/update-sphinx-configuration
Update Sphinx configuration
2022-06-02 10:09:38 +02:00
a223dd085a
Merge pull request #1009 from dmach/aggregatepac-flavor
Support flavors in aggregatepac
2022-06-02 10:06:21 +02:00
cf5da11b26 Enable md5 revisions in osc log 2022-06-02 10:02:32 +02:00
ca9dc30643 parseRevisionOption(): Raise an exception on invalid revisions 2022-06-02 10:01:57 +02:00
1f8fc339de
ssh key authentification fixes
- do not crash when having binary files in ~/.ssh
- support also RSA key setups
2022-06-01 16:23:02 +02:00
Mihai Moldovan
f2474fa7f0 commandline: handle calls without arguments gracefully
Fixes the following error:

```
%  osc
Traceback (most recent call last):
  File "/usr/bin/osc", line 45, in <module>
    r = babysitter.run(osccli)
  File "/usr/lib/python3.10/site-packages/osc/babysitter.py", line 67, in run
    return prg.main(argv)
  File "/usr/lib/python3.10/site-packages/osc/cmdln.py", line 341, in main
    self.postoptparse()
  File "/usr/lib/python3.10/site-packages/osc/commandline.py", line 137, in postoptparse
    if self._get_canonical_cmd_name(self.args[0]) == "help":
IndexError: list index out of range
```
2022-05-30 20:43:37 +02:00
ac6b615575 release 0.178 2022-05-24 14:19:37 +02:00
Marco Strigl
c3d535c3b2
Merge pull request #1012 from adrianschroeter/obs_git
initial obs-git support
2022-05-24 11:39:45 +02:00
02b3d70e9c
Merge pull request #1032 from mlschroe/master
Implement the Signature authentication scheme
2022-05-23 13:14:08 +02:00
Michael Schroeder
badcfc283c Remove no longer used modules 2022-05-23 11:23:13 +02:00
Michael Schroeder
b8f76f7990 OscHTTPSignatureAuthHandler: try to guess ssh key from the keys added to ssh-agent
Based on a patch by Daniel Mach
2022-05-23 11:23:05 +02:00
Dirk Müller
b7ed6534eb
trailing whitespace cleanup 2022-05-20 12:00:44 +02:00
Dirk Müller
7b759dc8bc
Prefer list comprehensions 2022-05-20 11:57:06 +02:00
Dirk Müller
8ba078a872
use percent-quoted url for download url generation
We need to percent-quote base urls because they will
be used in named-percent-substitution afterwards.
2022-05-20 11:57:06 +02:00
Marco Strigl
ed78dcbfd2
Merge pull request #1033 from dmach/linkdiff-missing-added-file
linkdiff: Raise an exception when an added file is missing
2022-05-12 10:51:15 +02:00
Marco Strigl
560bd953e0
Merge pull request #1035 from dmach/fix/do-not-require-login-in-help
Never require login in the help command
2022-05-12 10:48:10 +02:00
deccf5252b
Merge pull request #1038 from Firstyear/20220506-highlight-md5-faults
Show the md5s that are failing to validate
2022-05-09 09:12:51 +02:00
mls
0b826613d9
Integrate signature authentication in the OscHTTPAuthHandler 2022-05-06 16:30:15 +02:00
mls
99ba3719c7
Add support for the Signature authentication scheme
See https://tools.ietf.org/id/draft-cavage-http-signatures-12.html
2022-05-06 16:29:58 +02:00
William Brown
1ba375d81f Show the md5s that are failing to validate 2022-05-06 12:27:43 +10:00
0d40ff8ce6 osc co/up: highlight pending requests' header
Found myself to mentally miss the request list of 1 pending rq and so
I am pitching the idea of subtle boldening for experimentation.
2022-05-05 11:24:33 +02:00
cc0b8f1606 Never require login in the help command 2022-05-05 11:07:28 +02:00
Dirk Müller
56ad831a39
Add osc helm type build support 2022-05-04 23:17:20 +02:00
c875ca2886
initial obs-git support
* init command is working inside of a git repository
* downloadassets command fetches references assets from build description
* checkout is cloning from git
2022-04-29 09:59:13 +02:00
Andreas Schwab
e0168046a1 Fix check for empty details 2022-04-28 15:34:14 +02:00
Dirk Müller
3ed913c007
Whitespace fixes as expected by pycodestyle/pep8 2022-04-27 14:13:18 +02:00
Dirk Müller
69c83d41aa
add support for building preinstall images
This is yet another build type supported by the obs-build
script intended to build images that speed up the build setup
phase.
2022-04-27 14:00:00 +02:00
3393033887 linkdiff: Raise an exception when an added file is missing 2022-04-27 13:40:35 +02:00