1
0
mirror of https://github.com/openSUSE/osc.git synced 2024-11-15 00:36:11 +01:00
Commit Graph

3966 Commits

Author SHA1 Message Date
497f4db18b commandline: Append plugin dirs to sys.path to allow loading modules installed next to the plugins 2023-04-05 15:53:17 +02:00
b6a6ee5c00 Decode entities in HTTPError message body 2023-04-04 14:36:32 +02:00
9e0d7783d6 release 1.1.0 2023-04-03 13:45:36 +02:00
b3e88c5380
Merge pull request #1289 from dmach/fix-commandline-default-apiurl
commandline: Fix regression in handling default apiurl from oscrc
2023-04-03 09:33:20 +02:00
bc468b7710 commandline: Fix regression in handling default apiurl from oscrc
The default apiurl (https://api.opensuse.org) was always used as default
regardless the settings in oscrc.
2023-04-03 09:12:01 +02:00
a25ea8d175 conf: Do not error out if oscrc is owned by another user 2023-04-03 08:59:25 +02:00
d7af821ec1 rq list: Restore 'include_request_from_project' conf option functionality 2023-03-31 14:01:55 +02:00
26a8fb1acf commandline: New class-based commands
This is based on a prototype we've worked on together
with Laurin Fäller <laurin.faeller@suse.com>.
2023-03-31 09:39:04 +02:00
e0404c003b cmdln: Sort commands before printing help 2023-03-31 09:39:04 +02:00
f7c84d42a3 Simplify how babysitter works with options and config 2023-03-31 09:39:04 +02:00
8ea24b1a3c commandline: No longer read plugins from /var/lib/osc-plugins 2023-03-31 09:39:04 +02:00
483685aaa8
Prefer f-strings ove c-style string expansion
This exists since Python >= 3.6 and is shorter and easier to read.
2023-03-30 10:25:49 +02:00
a953dcf8b8 release 1.0.1 2023-03-17 16:05:07 +01:00
2c04bd64d7
Merge pull request #1282 from dmach/fix-conf-disable_hdrmd5_check
conf: Fix a cut&paste error in setting 'disable_hdrmd5_check' config option
2023-03-17 15:30:11 +01:00
7c826dc605 conf: Fix a cut&paste error in setting 'disable_hdrmd5_check' config option
This set credentials_mgr_class to 'False', which caused
TransientCredentialsManager to ask for a password even when doing ssh auth.
2023-03-17 14:13:21 +01:00
da822b3cfc connection: Set Content-Type of POST requests without data to 'application/x-www-form-urlencoded' 2023-03-17 11:53:50 +01:00
77517ce280 release 1.0.0 2023-03-14 14:07:06 +01:00
97496a4154 Revert "Remove the '-A' option from the 'maintainer' command"
This reverts commit 3763bff901.

The change is no longer needed, because the argument parser resolves
the conflicts now and we can use -A as either --add or --apiurl
depending on if we use it before or after the subcommand name.
2023-03-14 10:14:59 +01:00
4f9fb9f1ac core.get_request_list: Remove deprecation warning
It turned out that get_request_list() and get_request_collection()
are not interchangeable and we need both for different use cases.

get_request_collection() was designed mainly for the 'osc my' command,
while get_request_list() should be used in a generic use case
2023-03-13 13:07:20 +01:00
85973f20fc commit: Update help text for --force option 2023-03-09 15:27:01 +01:00
8df8ee63aa
Merge pull request #1265 from andreas-schwab/master
Pass --force down to delete_package
2023-03-09 13:14:12 +01:00
5d1141eb96 meta attribute: Add --add option to append values to the existing list 2023-03-06 10:12:59 +01:00
e15c530fb2 _private.api: Rewrite find_node() and find_nodes() to use a simplified xpath notation 2023-03-06 10:12:59 +01:00
e4723f7f74 Replace arbitrary XML escaping code with xml_escape() 2023-03-06 10:12:59 +01:00
bacaa29a78 _private.api: Add xml_escape() function 2023-03-06 10:12:59 +01:00
13979f79d3 _private.api: Add xml_indent() function 2023-03-03 11:48:05 +01:00
8fb243e897 _private.api: Use an own ElementTree import instead of importing it from core 2023-03-03 11:46:41 +01:00
0ad39a9ec9 build: New option 'disable_hdrmd5_check' to ignore hdrmd5 mismatches 2023-02-21 14:53:08 +01:00
2a9edeec5b conf: Change how api_host_options determine option types
The _integer_opts and _boolean_opts specify option types for both
global options as well as api_host_options
2023-02-21 14:42:30 +01:00
5b67164a9c Pass --force down to delete_package 2023-02-16 10:35:31 +01:00
815009f647 core.ReviewState: Add __repr__() method 2023-02-14 16:24:20 +01:00
e132d093e7 core.Action: Add __repr__() method 2023-02-14 16:24:20 +01:00
95be11130e core.Action: Add src_pkg_object and tgt_pkg_object properties providing object wrappers to file lists 2023-02-14 16:24:20 +01:00
f5da27ad24 core.Action: Remember apiurl 2023-02-14 15:57:15 +01:00
770217bb8d core.Request: Add issues property that loads issues on demand 2023-02-14 15:57:15 +01:00
27c3159fdb core.Request: Add id property that is a shortcut to the reqid attribute 2023-02-14 15:57:15 +01:00
17e25776a2 core.Request: Add from_api() class method 2023-02-14 15:57:15 +01:00
09ad87c865 core.Request: Store apiurl the object was initialized from 2023-02-14 15:57:15 +01:00
16288a2972 release 1.0.0b5 2023-02-09 15:04:54 +01:00
81e5a7b958 rq list: Fix a traceback when --type is not specified 2023-02-09 13:32:28 +01:00
05d381ad79 connection: Retry all, not just default allowed methods 2023-02-09 13:11:23 +01:00
2f6b50ec2b connection: Wait between retries 2023-02-09 09:32:25 +01:00
1d96c6eb2a checkout_package: Use pathlib.Path
Modify it to use pathlib.Path along with its callers. Some str(path) was
necessary to avoid having a large changeset.

It addresses #1258 and continues the work started in
bac162a712.
2023-02-08 11:46:16 +01:00
83b1e22e52 release 1.0.0b4 2023-02-03 11:01:51 +01:00
4c7cdaec19 rq list: Fix passing values of the --type option 2023-02-03 09:57:51 +01:00
b047154ee5
Merge pull request #1250 from dmach/revert-1107-do-not-list-declined-requests-by-default
Revert "Do not list declined requests by default"
2023-02-02 21:19:18 +01:00
5810e09aab Revert "Do not list declined requests by default"
This reverts commit 2892f1bb11.
This reverts commit 9073b1a1d2.

The declined requests are still on maintainer's TODO list,
they should be either superseded with another request or revoked.
2023-02-02 14:11:04 +01:00
efa2c09e2e connection: Fix traceback on loading an invalid cookiejar file
Ignore the error and overwrite the cookiejar file with new content
after we get a new cookie from server.
2023-02-02 11:01:06 +01:00
18f4d88231 connection: Save cookiejar only when there's a Set-Cookie header in the response 2023-02-02 10:54:59 +01:00
40a24d3185
Merge pull request #1246 from dmach/fix-rdiff-no-new-project
rdiff: Fix traceback when new project is not specified
2023-02-02 10:53:27 +01:00
cce4301bcd
Merge pull request #1238 from dmach/buildhist-fix-package-checkout
buildhist: Fix running from a package checkout
2023-02-01 10:59:28 +01:00
76facfa171
Merge pull request #1242 from andreas-schwab/master
Fix regression in osc rebuild
2023-02-01 10:58:38 +01:00
286db02a40 rdiff: Fix traceback when new project is not specified 2023-02-01 10:49:50 +01:00
080ffc1655 connection: Mute the "Converted retries value" debug message 2023-02-01 09:45:12 +01:00
Andreas Schwab
c811db7a3e Fix regression in osc rebuild 2023-01-29 12:46:46 +01:00
428dd23bf4 buildhist: Do not traceback on missing duration 2023-01-26 15:53:20 +01:00
d24e98b212 buildhist: Fix running from a package checkout 2023-01-26 15:49:21 +01:00
dcc913dd5a
Merge pull request #1229 from Vogtinator/fixlist
Support withfullhistory in osc.core.get_request_list again
2023-01-26 14:56:58 +01:00
c6e8fd103e build: Fix reading extra-pkgs from oscrc 2023-01-26 14:11:59 +01:00
53b9cc3a65 copypac: Do not enforce source revision when revision is not specified on the command line 2023-01-26 11:04:16 +01:00
208dbdf6d1 copypac: Fix downgrading a package to an old revision 2023-01-26 10:34:31 +01:00
6bd2c6eaf1 mv: Fix regression
Moved Package.todo handling in one place.
Fixed a situation when path to a file that doesn't exist is passed to Package
2023-01-26 10:11:54 +01:00
Fabian Vogt
3c200caf50 Support withfullhistory in osc.core.get_request_list again 2023-01-25 15:41:00 +01:00
Fabian Vogt
732ff678e7 Fix osc.get_request_list ignoring the req_type parameter 2023-01-25 11:38:08 +01:00
fdd2c3a8f0 Fix creating a Package object by providing multiple files on the command line 2023-01-20 16:52:11 +01:00
d941cc4d57 build: Mute pylint error E1101: Instance of 'Pac' has no '<attr>' member (no-member) 2023-01-20 16:21:32 +01:00
dd64cf1fae build: Fix mytmpdir.__exit__() arguments 2023-01-20 16:16:23 +01:00
2ee52591a5 Fix arguments of PackageInternalError 2023-01-20 16:16:23 +01:00
da029941bc Add oscerr.ProjectError class needed by core.delete_project() 2023-01-20 16:16:23 +01:00
7f885ac6b2 Fix pylint error: Using variable 'fd' before assignment 2023-01-20 16:16:23 +01:00
b1e2a00b82 Fix ValueEror message in _private.common.print_msg 2023-01-20 16:16:23 +01:00
6d01df35e6 Use distro module to detect distro on all python versions
Also, add a related Recommends to to the spec file
2023-01-20 16:16:23 +01:00
987db92f3b Mute pylint false-positive errors related to rpm 2023-01-20 16:16:23 +01:00
64aefffc87 Fix calling _private.get_configuration_value() 2023-01-20 16:13:49 +01:00
7e7e8a0690 Fix typo in _private.api_build 2023-01-20 16:13:49 +01:00
lethliel
18cdec2554 use correct variable prj instead of project 2023-01-20 11:48:52 +01:00
f963ed1a61 release 1.0.0b3 2023-01-17 09:35:55 +01:00
62464025b6
Merge pull request #1213 from dmach/fix-cmdln-hide
cmdln: Fix hide() decorator to take an optional argument with a boolean value
2023-01-16 16:32:41 +01:00
cb52884f86 cmdln: Fix hide() decorator to take an optional argument with a boolean value
To restore compatibility with the install plugin.
2023-01-16 16:06:19 +01:00
Adrian Schröter
f90c8cdcb9 add verbose option for running local services
Showing the call parameters to enable debugging of services
2023-01-12 14:05:20 +01:00
Adrian Schröter
a292e2b6ab fix manual run of source service
A service explicit called via singlerun could get skipped otherwise,
if the service is defined with a different mode.

eg. running

  osc service mr download_files

to update and merge files after a version update, but the project has a
global download_files service configured for validation.
2023-01-12 14:05:20 +01:00
bce0c3ffe4 Fix develproject arg handling 2023-01-12 13:44:32 +01:00
19dcb3dc78 rebuild: Migrate to pop_project_package_repository_arch_from_args() 2023-01-12 11:51:35 +01:00
3ea7d7d908 commandline: Improve argument parsing, add more tests 2023-01-12 11:51:35 +01:00
acbb040137 pull: Remove a workdir check that is covered by Package object already 2023-01-12 10:49:43 +01:00
c77e193bdb rdiff: Improve CLI handling 2023-01-12 10:49:43 +01:00
ba5d1542a6 Replace show_configuration() with get_configuration_option() 2023-01-12 10:49:43 +01:00
747680f5f7 browse: Migrate to pop_project_package_from_args() 2023-01-12 10:49:43 +01:00
a95a86dcf6 unlock: Simplify, improve CLI handling 2023-01-12 10:49:43 +01:00
c639dfd89c lock: Move code to core.py/lock(), improve CLI handling 2023-01-12 10:49:43 +01:00
5d31fc1486 rdelete: Migrate to pop_project_package_from_args() 2023-01-12 10:49:35 +01:00
be2c33d86f undelete: Migrate to pop_project_package_from_args()
INCOMPATIBLE CHANGE:
It is no longer possible to specify multiple packages at once,
because it was inconsistent with the rest of osc.
Call osc in a cycle to undelete multiple packages instead.
2023-01-12 10:47:46 +01:00
55fd77650d copypac: Migrate to pop_project_package_targetproject_targetpackage_from_args() 2023-01-12 10:47:46 +01:00
fd851bbe83 aggregatepac: Migrate to pop_project_package_targetproject_targetpackage_from_args() 2023-01-12 10:47:46 +01:00
d779eb936d detachbranch: Migrate to pop_project_package_from_args() 2023-01-12 10:47:46 +01:00
f7d2d1592a linktobranch: Migrate to pop_project_package_from_args() 2023-01-12 10:47:46 +01:00
1b034921c8 linkpac: Improve command-line handling 2022-12-20 17:15:01 +01:00
ce4cd4e4e9 commandline: Add pop_project_package_targetproject_targetpackage_from_args() function 2022-12-20 16:53:21 +01:00
ba32ff57cb linkpac: Fix linking a locked package by not copying the lock to the target package 2022-12-20 14:42:19 +01:00
0384db5e2e setlinkrev: Write a log message on setting a revision 2022-12-19 14:58:12 +01:00
c1aa427254 _private: Avoid circular import of osc.core, osc.connection and osc.store 2022-12-15 16:51:06 +01:00
6e4ad5db1c buildhistory: Produce proper output using build_table() and a CSV writer 2022-12-15 16:29:58 +01:00
2735d5a0d1 commandline: Add methods for parsing repo, arch from the arguments 2022-12-15 16:25:17 +01:00
af7d3900cf build_table: Convert all items to strings so we can also pass other types 2022-12-15 16:25:17 +01:00
85d86249d4
Merge pull request #1193 from dmach/commandline-project-package
commandline: Migrate project, package argument parsing to pop_project_package_from_args()
2022-12-13 09:02:49 +01:00
3027edc0eb Move 'release' code from commandline to _private 2022-12-13 08:45:33 +01:00
56bb193b4e Add 'repository' and 'dest_repository' args to format_msg_project_package_options() 2022-12-13 08:45:33 +01:00
37a34e58d4 Migrate 'setlinkrev' command to pop_project_package_from_args() 2022-12-13 08:45:33 +01:00
62ba626eb5 Migrate 'log' command to pop_project_package_from_args() 2022-12-13 08:45:33 +01:00
4634690176 Move showlinked code from commandline to _private 2022-12-13 08:45:33 +01:00
2f70408dea Move addcontainers code from commandline to _private 2022-12-13 08:45:33 +01:00
6dcc45f272 Improve argument handling in the 'develproject' command 2022-12-13 08:45:33 +01:00
c6b30e500f Add 'dest_project' and 'dest_package' args to format_msg_project_package_options() 2022-12-13 08:45:33 +01:00
Luca Weiss
ace4612a83 Fix osc add for github /archive/ URLs
"osc add https://github.com/foo/bar/archive/12345.tar.gz" should
treat the URL as archive and not as git source.
2022-12-12 18:15:40 +01:00
59e7013cf2 Move enablechannels code from commandline to _private 2022-12-12 16:48:28 +01:00
ad85ff437f Move addchannels code from commandline to _private 2022-12-12 16:48:28 +01:00
78c3cf1c4c Add functions for printing to stdout or debug outputs 2022-12-12 16:48:28 +01:00
d81c688759 Add _private.api.post() function 2022-12-12 16:48:28 +01:00
76b1821f19 Add commandline.pop_project_package_from_args() 2022-12-12 16:48:28 +01:00
074abb400c
Merge pull request #1200 from SchoolGuy/add-types
mypy: Add types to methods
2022-12-07 16:19:25 +01:00
37bb5e7785 Handle empty EDITOR=/PAGER= env variable properly 2022-12-07 16:04:10 +01:00
Enno Gotthold
7335a84235
mypy: Add types to methods
This is a bulk add of typing that also includes the
formatting with darker.
2022-12-07 13:01:23 +01:00
Enno Gotthold
c1350d2004
Add py.typed marker to osc 2022-12-05 15:28:02 +01:00
Enno Gotthold
3e1d91e4bd
core: Add type annotations 2022-12-05 15:23:54 +01:00
0c2238435f
Merge pull request #1184 from dirkmueller/cleanups
Cleanups
2022-12-05 09:30:48 +01:00
Dirk Müller
adb1a9b4ef mark boolean and integer_opts as private
It is unused elsewhere, and only used for unit-testing
2022-12-01 10:05:32 +01:00
4c5d0cf18a Add branch --disable-build option 2022-11-08 15:34:55 +01:00
2ec573ca79 Add linkpac --disable-build option 2022-11-08 15:01:37 +01:00
dc1470a3d7 store: Remove trailing slash from apiurl 2022-11-07 13:57:24 +01:00
eccbe5c4f1 Replace deprecated ElementTree.Element.getiterator() with iter() 2022-11-07 09:43:41 +01:00
cd257dc15f
Merge pull request #1188 from mig4/fix-delete-pass
Avoid crash when deleting a password
2022-11-04 11:13:26 +01:00
mig4
b4afd1a8ea
Avoid crash when deleting a password
When using keyring, osc would crash when called as
`osc config ENDPOINT --change-password`
and when the password didn't exist in the backend.

This prevents it by first checking if a password exists.
2022-11-01 18:40:39 +00:00
d4e57798d3
Merge pull request #1187 from dirkmueller/pathlib_fixes
Fix path construction involving Path.cwd()
2022-10-31 10:57:29 +01:00
Dirk Müller
1eb5451732
Fix path construction involving Path.cwd()
pathlib uses the '/' operator to combine paths rather than '+'
2022-10-30 19:53:12 +01:00
Dirk Müller
fb44c5720e
avoid bare except 2022-10-27 10:49:52 +02:00
Dirk Müller
29274b5289
avoid importing the config global variable
in build we imported "conf" and "from .conf import config" which let to
two different instances of config: "global config" at import was the
DEFAULTS array, and conf.config the updated config after reading the
user configuration.

Convert everything to use conf.config as everywhere else, which makes
setting of build defaults in the oscrc work again (like build-jobs).
2022-10-27 00:20:47 +02:00
0289865bbf Write scm_url via Store 2022-10-25 13:09:29 +02:00
00842e36fa Deprecate store_write_apiurl() 2022-10-25 13:09:29 +02:00
e7912ceec0 Deprecate store_read_scmurl() 2022-10-25 13:09:29 +02:00
fd52727394 Deprecate store_read_apiurl() 2022-10-25 13:09:29 +02:00
5493d632cc Migrate Package.wc_repair() to Store 2022-10-25 13:09:29 +02:00
74d46bf8da Migrate Project.wc_repair() to Store 2022-10-25 13:09:29 +02:00
ba98834160 Rewrite _private.LocalPackage to use Store class 2022-10-25 13:09:29 +02:00
4e773cec32 Implement Store class that will replace store_{read,write}* functions 2022-10-25 13:09:29 +02:00
db06625197 Add _private.api.write_xml_node_to_file() function 2022-10-25 08:33:59 +02:00
7d64d5d425 Allow comparing File with a string 2022-10-25 08:33:59 +02:00
55503e13ca Implement ordering of File objects 2022-10-25 08:33:59 +02:00
e56773bbaa Add File.to_xml_node() method 2022-10-25 08:33:59 +02:00
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