23fe42be30
Fix handling the default package argument on the command-line
...
If the project was explicitly specified from the command-line,
avoid using the default package because that would be frequently
obtained from the current working copy and that leads to unexpected results.
2024-04-18 10:32:29 +02:00
b226aac330
Fix variable name in f-string in create_build_descr_data()
2024-04-18 10:32:06 +02:00
9aae67615b
Fix a message in create_build_descr_data() by converting to a f-string
2024-04-18 09:13:40 +02:00
8ee02dd098
Improve 'log' command: produce proper CSV and XML outputs, add -p/--patch option for the text output
2024-04-17 10:57:59 +02:00
89f74665d1
Add Package.get_revision_list() for listing commit log
2024-04-17 10:57:59 +02:00
eb2678e0c7
Fix XmlModel to load an empty string in an int field as None
2024-04-17 10:57:59 +02:00
dc7efaa6de
Add output.pipe_to_pager() that pipes lines to a pager without creating an intermediate temporary file
2024-04-17 10:57:59 +02:00
d1111e23a1
Fix output.safe_write() in connection with NamedTemporaryFile
...
Fixes: AttributeError: '_io.BufferedRandom' object has no attribute 'buffer'
2024-04-17 10:57:59 +02:00
d2503fbf49
Modernize output.run_pager()
2024-04-17 10:57:59 +02:00
861a362622
Move run_pager() and get_default_pager() from 'core' to 'output' module
2024-04-17 10:57:59 +02:00
281f59c842
Move core.Package to obs_scm.Package
2024-04-15 16:48:03 +02:00
45ea1b698e
Move core.Project to obs_scm.Project
2024-04-15 16:48:03 +02:00
59f530c793
Move functions manipulating store from core to obs_scm.store
2024-04-15 16:48:03 +02:00
354f4caca6
Move store.Store to obs_scm.Store
2024-04-15 14:37:01 +02:00
c8999c9b33
Move core.Linkinfo to obs_scm.Linkinfo
2024-04-15 14:08:38 +02:00
7d05d74456
Move core.Serviceinfo to obs_scm.Serviceinfo
2024-04-15 14:06:41 +02:00
b5a5143da6
Move core.File to obs_scm.File
2024-04-15 13:56:56 +02:00
abec6e5eb5
Fix 'branch' command to allow using '--new-package' option on packages that do not exist
2024-04-12 16:49:49 +02:00
d42383551c
Merge pull request #1518 from dmach/keyinfo
...
Move from _pubkey to _keyinfo
2024-04-10 16:39:49 +02:00
54ea13493b
Fix do_createrequest() function to return None instead of request id
...
This was a bad API, command handlers should return None or an exit code.
Anything that returns an actual value belongs to the library instead.
2024-04-10 15:04:05 +02:00
6322e2f9aa
Propagate exit code from the run() and do_() commandline methods
2024-04-10 15:04:05 +02:00
dabefbb913
Merge pull request #1531 from dmach/help-no-creds
...
Never ask for credentials when displaying help
2024-04-08 13:40:10 +02:00
9c09f74ddb
Never ask for credentials when displaying help
2024-04-08 11:38:43 +02:00
0e81c79f4d
Give a hint where a scmsync git is hosted
2024-04-08 10:24:06 +02:00
fce5ff277c
Merge pull request #1528 from dmach/cache-password-from-secretservice
...
Cache password from SecretService to avoid spamming user with an accept dialog
2024-04-08 09:53:25 +02:00
948bbc659b
Cache password from SecretService to avoid spamming user with an accept dialog
2024-04-08 09:21:15 +02:00
35f1c91f46
Merge pull request #1520 from dmach/fix-service-remoterun
...
Fix 'service remoterun prj/pac'
2024-03-24 21:53:30 +01:00
ec363bb26c
Merge pull request #1525 from bmwiedemann/vrev
...
Allow setlinkrev to set a specific vrev
2024-03-24 21:52:47 +01:00
Bernhard M. Wiedemann
c8ee1c613b
Readd makeurl debug output
...
was lost in refactoring commit 3f14cef53a
yet it was very useful to discover API queries
2024-03-21 20:00:41 +01:00
ad1117f3a5
Allow setlinkrev to set a specific vrev
...
This helps mitigate OBS-305
and https://github.com/openSUSE/open-build-service/issues/15079
Co-authored-by: Bernhard M. Wiedemann <bwiedemann@suse.de>
2024-03-21 15:36:00 +01:00
f6d7485596
Fix 'service remoterun prj/pac'
2024-03-14 16:16:47 +01:00
7f6c0b3f8a
Migrate Fetcher.run() to obs_api.Keyinfo
2024-03-14 13:48:38 +01:00
b8ab16945e
Migrate 'signkey' command to obs_api.Keyinfo
2024-03-14 13:48:38 +01:00
e170b0d54c
Add Keyinfo.get_{pubkey,sslcert}_deprecated() methods
2024-03-14 13:48:38 +01:00
cf4a0d06a2
Add Keyinfo XML model
2024-03-14 13:48:38 +01:00
1bf2264427
Merge pull request #1515 from dmach/dont-retry-on-400
...
Don't retry on 400
2024-03-13 13:18:30 +01:00
00723a1e74
Merge pull request #1517 from andreas-schwab/master
...
[what]dependson: add --multibuild-package
2024-03-13 13:18:12 +01:00
7b73fde75f
[what]dependson: add --multibuild-package
2024-03-13 12:29:17 +01:00
a07bbe2a93
Don't retry on error 400
2024-03-12 17:34:53 +01:00
3cfeda45ba
Remove now unused 'retry_on_400' http_request() option from XmlModel
2024-03-12 17:33:41 +01:00
d497900ef7
Revert "Don't retry on 400 HTTP status code in core.server_diff()"
...
This reverts commit 80fc2bf7cb
.
2024-03-12 17:31:55 +01:00
85e8a3be1c
Revert "connection: Allow disabling retry on 400 HTTP status code"
...
This reverts commit b0629f6b90
.
2024-03-12 17:31:32 +01:00
Wolfgang Frisch
f2952bb210
Add rootless build support for 'qemu' VM type
...
Fixes https://github.com/openSUSE/osc/issues/1511
2024-03-11 14:27:37 +01:00
aaae06c794
Merge pull request #1510 from dmach/fix-updatepacmetafromspec-incomplete-spec
...
Fix crash in 'updatepacmetafromspec' command when working with an incomplete spec
2024-03-11 09:47:40 +01:00
40807ec1d5
Fix TypeError: SimpleFlag.__init__() got an unexpected keyword argument '_apiurl'
2024-03-11 09:09:29 +01:00
ce1855fbb8
Merge pull request #1508 from dmach/sanitize_text-escape-sequences
...
Sanitize text escape sequences
2024-03-08 08:05:58 +01:00
f7f9506f96
Fix crash in 'updatepacmetafromspec' command when working with an incomplete spec
2024-03-07 17:35:21 +01:00
f9b17347da
Improve sanitize_text() to keep selected CSI escape sequences
2024-03-07 17:30:29 +01:00
4ab81b6d44
Fix crash when no prefered packages are defined
2024-03-07 16:28:00 +01:00
2d5399442d
Fix output.tty.IS_INTERACTIVE when os.isatty() throws OSError
2024-03-07 12:00:03 +01:00
e332099544
Update list of color codes in 'output.tty' module
2024-03-07 12:00:03 +01:00
c0c05319d0
Move removing control characters to output.sanitize_text()
2024-03-07 12:00:03 +01:00
474cbd21ce
Migrate 'whois/user' command to obs_api.Person
2024-03-05 16:45:52 +01:00
88f7dc517b
Extend output.print_msg() to accept 'error' and 'warning' values of 'to_print' argument
2024-03-05 16:45:52 +01:00
866d178345
Move print_msg() to the 'osc.output' module
2024-03-05 16:45:52 +01:00
27bf13a774
Update '-U/--user' option in 'maintainer' command to accept also an email address
2024-03-05 16:45:52 +01:00
9004d5a5ba
Replace invalid 'if' with 'elif' in BaseModel.dict()
2024-03-05 16:45:52 +01:00
149c7f799f
Add obs_api.Person class
2024-03-05 16:45:52 +01:00
36dd0401ee
Remove a debug print
2024-03-05 15:50:44 +01:00
28326a185d
Add XPathQuery class for translating keyword arguments to an xpath query
2024-03-05 10:06:21 +01:00
2129908dd6
Merge pull request #1502 from dmach/xmlmodel-request
...
Add Request and PackageSources XML models
2024-03-04 15:34:58 +01:00
d768eff371
Migrate core.create_submit_request() to obs_api.Request
2024-03-04 15:00:12 +01:00
9078bc257c
Add obs_api.Request class for handling requests
2024-03-04 15:00:12 +01:00
e5370b9c0b
Add obs_api.PackageSources class for handling OBS SCM sources
2024-03-04 15:00:12 +01:00
772509c023
Store apiurl in Project and Package instances
2024-03-04 15:00:12 +01:00
cd95478ac8
Implement total ordering on BaseModel
2024-03-04 15:00:12 +01:00
747eb0ec52
Allow storing apiurl in the XmlModel instances
2024-03-04 14:58:40 +01:00
9cce6dbb8e
Allow retrieving default field value from top-level model
2024-03-04 14:58:40 +01:00
557d6ef868
Merge pull request #1500 from dmach/fix-buildinfo
...
Fix 'buildinfo' command
2024-03-04 09:24:35 +01:00
94d207fc91
Fix 'buildinfo' command to include obs:cli_debug_packages by default
...
Add '--no-debug-packages' option that disables the new behavior.
This makes the command consistent with the 'build' command.
2024-03-04 08:30:17 +01:00
4e928a4505
Fix processed node check in XmlModel
2024-02-29 09:26:28 +01:00
cc9c27f5b5
Clarify that 'rev' argument in Package is metadata revision
2024-02-29 09:22:42 +01:00
8b5bdb2a01
Fix 'buildinfo' command to send complete local build environment as the 'build' command does
2024-02-28 09:31:39 +01:00
88f2faf181
Merge pull request #1495 from dmach/xmlmodel-migrate-from-show_project_meta-show_package_meta
...
Migrate more code from show_project_meta() and show_package_meta() to xml models
2024-02-26 09:39:15 +01:00
f164258fb6
Merge pull request #1494 from adrianschroeter/fix_linkpac_on_scmsync
...
Support package linking of packages from scmsync projects
2024-02-26 09:30:07 +01:00
Atri Bhattacharya
78b07e6e1f
Allow osc rpmlint
to infer prj/pkg from CWD.
...
Makes `osc rpmlint` infer the project and package when working from a
locally checked out package dir, if two or fewer arguments are passed.
All four arguments are still required when called from a location that
is not an osc package working copy.
This makes the behaviour of `osc rpmlint` similar to `osc buildlogtail`.
2024-02-24 01:39:50 +05:30
6d692ac52b
Migrate repo {list,add,remove} commands to obs_api.Project
2024-02-23 13:14:04 +01:00
7768684461
Fix BaseModel to convert dictionaries to objects on retrieving a model list
2024-02-23 13:14:04 +01:00
acc54919fc
Fix BaseModel to always deepcopy mutable defaults on first use
2024-02-23 13:14:04 +01:00
aa6ccac69a
Merge _private.project.ProjectMeta into obs_api.Project
2024-02-23 13:14:04 +01:00
2264eb9ce9
Add obs_api.Project.to_api()
2024-02-23 13:14:04 +01:00
f62b11ea86
Migrate core.show_package_disabled_repos() to obs_api.Package
2024-02-23 13:14:04 +01:00
f5b782edc8
Migrate core.Package.update_package_meta() to obs_api.Package
2024-02-23 10:30:15 +01:00
4a6f069a4c
Remove core.setDevelProject() in favor of core.set_devel_project()
2024-02-23 10:30:15 +01:00
537dca3c7f
Migrate core.get_repos_of_project() to obs_api.Project
2024-02-23 10:30:15 +01:00
0b1f98acb3
Migrate core.get_repositories_of_project() to obs_api.Project
2024-02-23 10:30:15 +01:00
d017a490a0
Migrate core.show_scmsync() to obs_api.{Package,Project}
2024-02-23 10:18:26 +01:00
af24f3c75a
Merge pull request #1349 from dmach/xmlmodel
...
Object wrappers for OBS XML
2024-02-23 10:15:05 +01:00
2616ca454e
release 1.6.1
2024-02-23 09:45:57 +01:00
d4e698f874
Support package linking of packages from scmsync projects
...
It needs to remove the scmsync tag in package meta in that
case (when creating a new package meta based on source).
I didn't that global in replace_pkg_meta() on purpose since
this should be a case by case decision when it makes sense.
We could add this there via an option though.
There is another problem in the api that it delivers
package meta without title/description elements, but
it is not accepting it. This is submitted there
via a seperate pull request.
2024-02-22 17:17:15 +01:00
64760193ca
Merge pull request #1485 from dmach/xdg
...
Honor XDG_CONFIG_HOME and XDG_CACHE_HOME env vars
2024-02-22 11:01:24 +01:00
eab83d3612
Fix resolving config symlink to the actual config file
2024-02-22 10:20:28 +01:00
8fc1ad5220
Warn about ignoring XDG_CONFIG_HOME and ~/.config/osc/oscrc if ~/.oscrc exists
2024-02-22 10:20:28 +01:00
b03f5d3b86
Migrate core.set_devel_project() to obs_api.Package
2024-02-21 09:46:53 +01:00
ab36108871
Implement do_snapshot() and has_changed() methods to determine changes in BaseModel
2024-02-21 09:46:53 +01:00
00d2192bcd
Migrate core.show_devel_project() to obs_api.Package
2024-02-21 09:46:53 +01:00
0dd1f526d8
Add XML models for Project and Package
2024-02-21 09:46:53 +01:00
e5774a5730
Add XmlModel class that encapsulates manipulation with XML
2024-02-21 09:46:53 +01:00
e8c19bd1b3
Merge pull request #1491 from dmach/fix-500-meta-attribute
...
Fix error 500 in running 'meta attribute <prj>'
2024-02-19 20:03:55 +01:00
dcef7fab23
Fix error 500 in running 'meta attribute <prj>'
2024-02-19 16:09:12 +01:00
dec4143e6c
Fix core.slash_split() to strip both leading and trailing slashes
2024-02-14 14:31:39 +01:00
8e7f8fd415
Honor XDG_CONFIG_HOME and XDG_CACHE_HOME env vars
2024-02-14 14:24:04 +01:00
cff6a0ca3a
Remove remaining string queries from makeurl() calls
2024-02-12 14:25:49 +01:00
556c97d7ee
Move xml_indent, xml_quote and xml_unquote to osc.util.xml module
2024-02-12 09:27:30 +01:00
ff31a5cd4b
Merge pull request #1479 from dmach/branch-scmsync
...
Error out when branching a scmsync package
2024-02-09 14:30:31 +01:00
dbecb16404
Merge pull request #1476 from dmach/makeurl
...
Refactor makeurl(), deprecate query taking string or list arguments, drop osc_urlencode()
2024-02-09 14:28:06 +01:00
0f8a8430fc
Remove all path quoting, rely on makeurl()
2024-02-09 13:26:37 +01:00
dcd147f52d
Always use dict query in makeurl()
2024-02-09 13:26:37 +01:00
3f14cef53a
Refactor makeurl(), deprecate query taking string or list arguments, drop osc_urlencode()
2024-02-09 13:26:37 +01:00
6688ffd5d9
Change 'osc wipe' command to use the new get_user_input() function.
...
Example:
>>> Really wipe '/var/tmp/build-root/openSUSE_Tumbleweed-x86_64'? [y/N]:
changed to:
>>> Really wipe '/var/tmp/build-root/openSUSE_Tumbleweed-x86_64'?
>>> y)yes / n)no (default=n):
2024-02-08 14:33:28 +01:00
52d014d24d
New get_user_input() function for consistent handling of user input.
...
The available answers are provided in a dictionary and the prompt is
generated from them.
Also, answers are higlighted if the terminal supports it.
2024-02-08 14:33:28 +01:00
bce5be4661
Error out when branching a scmsync package
2024-02-07 13:52:58 +01:00
5662198d22
1.6.0
2024-01-25 09:49:14 +01:00
76a5432a7d
Don't show meter in terminals that are not interactive
2024-01-24 15:47:37 +01:00
7d6eebeabb
Refactor 'meter' module, use config settings to pick the right class
2024-01-24 15:47:37 +01:00
c7af0e458f
Use Field.get_callback to handle quiet/verbose and http_debug/http_full_debug options
2024-01-24 15:47:37 +01:00
8a38a9da82
Implement get_callback that allows modifying returned value to the Field class
2024-01-24 15:47:37 +01:00
a8c7661627
Implement 'quiet' conf option
2024-01-24 15:47:37 +01:00
01036341d4
Merge pull request #1473 from dmach/nested-models
...
Support nested models + related fixes
2024-01-23 21:09:35 +01:00
0413179709
Fix Password.encode() on python < 3.8
2024-01-23 20:07:13 +01:00
7903ade2b4
Add support for List[BaseModel] type to Field class
2024-01-23 20:05:38 +01:00
ea0bf1bb60
Report class name when reporting an error during instantiating BaseModel object
2024-01-23 20:05:33 +01:00
b4a1b29f57
Fix exporting an empty model field in BaseModel.dict()
2024-01-23 20:05:28 +01:00
3baeb4b64e
Fix initializing a sub-model instance from a dictionary
2024-01-23 20:05:24 +01:00
35433fc341
Implement 'Enum' support in models
2024-01-23 20:05:17 +01:00
86e06a341f
Fix Field.origin_type for Optional types
2024-01-23 20:05:11 +01:00
472a56f3cf
Fix 'linkdiff' command error 400: prj/pac/md5 not in repository
2024-01-16 09:57:37 +01:00
933040425c
The 'token --trigger' command no longer sets '--operation=runservice' by default.
...
The operation is bound to the token on the server.
We no longer have to specify it during trigger.
If we still specify it, the only benefit is double-checking the
operation that is set on the client and verified on the server.
2024-01-15 10:06:43 +01:00
d0d25ff5de
Change 'token --create' command to require '--operation'
2024-01-15 10:06:43 +01:00
ed48b9fca7
Merge pull request #1465 from dmach/boo1218170-git-working-copy
...
Fix traceback when running osc from an arbitrary git repo that fails to map branch to a project (boo#1218170)
2024-01-09 16:04:38 +01:00
116be57b53
Password can be an empty string (commonly used with ssh auth)
2024-01-09 11:11:52 +01:00
3f17dd0dd8
Fix traceback when running osc from an arbitrary git repo that fails to map branch to a project (boo#1218170)
2024-01-09 11:08:28 +01:00
82216c72b4
Implement reading credentials from environmental variables
...
Options for apiurls can be set via OSC_HOST_<ALIAS>_<OPTION>=...
This requires a configured alias in the config file.
Setting the default apiurl via OSC_APIURL=... was working already.
Also OSC_CONFIG= / --config= was already implemented to skip loading configuration entirely.
Options for the default apiurl can be now set via:
OSC_USERNAME=...
OSC_CREDENTIALS_MGR_CLASS=...
OSC_PASSWORD=...
This, for example, makes running osc in containers with
credentials stored in environmental variables possible:
OSC_CONFIG= OSC_APIURL=<url> OSC_USERNAME=<user> OSC_PASSWORD=<password> osc ...
2024-01-08 15:21:45 +01:00
7d27b6d140
Fix credentials managers to consistently return Password
2024-01-08 15:21:45 +01:00
b41afde2c9
Allow starting with an empty config if --configfile is either empty or points to /dev/null
2024-01-08 15:21:45 +01:00
Dirk Müller
a0a7865ca1
Convert to using f-strings
2024-01-06 10:00:38 +01:00
b8d6c949c9
Drop unused 'exclude_unset' argument from BaseModel.dict() method
2024-01-04 10:20:58 +01:00
16cdc067a5
Store cached model defaults in self._defaults, avoid sharing references to mutable defaults
2024-01-03 21:22:30 +01:00
587c094f61
Limit model attributes to predefined fields by forbidding creating new attributes on fly
2024-01-03 21:21:38 +01:00
3c733387af
Store model values in self._values dict instead of private attributes
2024-01-03 21:21:29 +01:00
31059f0f92
Merge pull request #1452 from adrianschroeter/productcompose
...
productcompose: Support building with updateinfo.xml data
2024-01-02 08:05:25 +01:00
c86093bc68
Allow -X HEAD on osc api requests as well
...
In some cases the exit code is all you want
2023-12-07 17:29:17 +01:00
498a392117
release 1.5.1
2023-12-04 15:05:14 +01:00
608fc76cd2
docs: Update models to avoid including lazy defaults in the rendered man pages
...
Lazy defaults may return different results under different circumstances
and we always want man pages rendered consistently.
2023-12-01 16:22:13 +01:00
7434a31a89
productcompose: Support building with updateinfo.xml data
2023-11-24 15:47:12 +01:00
Marco Strigl
138d5303e6
remove public route from osc
2023-11-22 14:33:06 +01:00
c662d70822
release 1.5.0
2023-11-22 08:55:15 +01:00
04f782a694
Merge pull request #1422 from dmach/rdiff-_project
...
Change 'rdiff' command to display diff for _project if no package is specified
2023-11-22 08:41:42 +01:00
c3bcc276a5
obsproduct got renamed to productcompose
2023-11-20 15:45:47 +01:00
a7731e5ec9
fix noinstall filtering of obsproduct builds
2023-11-17 16:59:40 +01:00