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
c79a3a57ff
initial support for obsproduct build type
2023-11-16 11:10:27 +01:00
7fff395e7d
Merge pull request #1430 from dmach/virtualenv
...
Support installing osc into virtualenv
2023-11-15 13:02:53 +01:00
69a68b06b3
Fix conf.write_initial_config() to use read_file() instead of deprecated readfp()
2023-11-15 09:18:22 +01:00
d53b2981c8
Support installing osc into virtualenv
2023-11-03 10:21:42 +01:00
3d20497ce9
Disable preinstall images in rootless builds
2023-11-02 16:06:55 +01:00
7781367b1e
release 1.4.4
2023-11-02 15:50:33 +01:00
15db3a092f
Fix crash when there's no [general]/apiurl option in the config file
2023-11-02 13:44:46 +01:00
c790134aa4
Fix apiurl_aliases handling in OscOptions.__getitem__
2023-10-24 00:33:21 +02:00
ea7bebf1f2
release 1.4.3
2023-10-19 15:02:47 +02:00
a2e7383eca
Allow undefined fields in Options and HostOptions
...
Plugins seem to be using oscrc and osc.conf.config to store their config options.
All fields that are not known to osc are now stored in the 'extra_fields' dictionary
and handled in __getitem__() and __setitem__() as they were regular fields.
Such values are not checked for their types and the dictionary simply holds
strings obtained from oscrc or anything the plugins set through the python API.
2023-10-19 14:23:33 +02:00
ee5a1c476c
release 1.4.2
2023-10-16 13:54:06 +02:00
bf0bbf3398
Merge pull request #1432 from dmach/fix-vc_export_env
...
Fix retrieving config values in core.vc_export_env()
2023-10-13 21:56:22 +02:00
dfbf8d8136
Merge pull request #1434 from dmach/restore-passx
...
Restore 'passx' host option that contains an obfuscated password
2023-10-13 21:55:40 +02:00
bacac66fd3
Restore 'passx' host option that contains an obfuscated password
2023-10-13 21:06:25 +02:00
0d239cc265
Change NoPBTextMeter to display no output at all
2023-10-13 20:36:55 +02:00
268424797a
Fix retrieving config values in core.vc_export_env()
2023-10-13 20:34:09 +02:00
9067a803cc
Fix retrieving the configured user in 'user' command
...
Testing if 'user' config value is present is not necessary,
because the 'username' field is mandatory in HostOptions
and there is also a check that prompts user to enter new credentials if
user is not set.
2023-10-13 20:23:26 +02:00
53968bf91c
Fix retrieving a password in case a function returns another callable
2023-10-13 19:14:34 +02:00
225fea0e06
release 1.4.1
2023-10-10 20:06:27 +02:00
d678095d89
Fix core.change_request_state_template() to always return a string
2023-10-10 16:32:50 +02:00
c0e2f8c1a3
Always display apiurl when asking for credentials
2023-10-10 16:32:50 +02:00
61b5f7bebc
Ask for new credentials when user is missing from an apiurl section in the config file
2023-10-10 16:32:50 +02:00
386c4e8b40
Fix testing revision for being empty
...
Revision 0 is a valid value, but conditions evaluate it as False along with None and "".
This change treats 0 as a proper revision.
2023-10-06 08:32:06 +02:00
90b821e777
Change 'rdiff' command to display diff for _project if no package is specified
2023-10-05 10:34:54 +02:00
62e4817ff5
release 1.4.0
2023-10-04 11:49:04 +02:00
a16654663b
Merge pull request #1415 from dmach/rootless-kvm-and-podman
...
Rootless kvm and podman
2023-10-04 09:12:18 +02:00
bd14f7e000
Merge pull request #1416 from adrianschroeter/keep_packages_locked
...
add support for keep_packages_locked on request revoke
2023-10-04 08:49:11 +02:00
ce72ffb225
Fix loading password from keyring
2023-10-03 09:12:28 +02:00
a6946587e1
Fix reading configuration from ENV
2023-09-29 09:54:50 +02:00
a33d4c2d41
Print a hint to clean the build root after a failed build
2023-09-29 09:53:59 +02:00
f6cb228242
Document that 'request revoke' command may need '--keep-packages-locked' option to avoid unlocking source packages
2023-09-29 08:33:55 +02:00
0848aba7b9
add support for keep_packages_locked on request revoke
...
jsc#OBS-134
2023-09-28 14:50:20 +02:00
41ce932673
Fix 'build' command to pass '--vm-type' option to the underlying build tool
2023-09-27 23:24:31 +02:00
47f32e6ef1
Update list of supported vm_type values in conf.Options.vm_type
2023-09-27 23:24:31 +02:00
28efb4396a
Rename conf.Options.build_type to vm_type to be consistent with obs build and osc --vm-type option
2023-09-27 23:24:31 +02:00
88c2bf4fea
Avoid adding a newline to prompt in 'wipe' command
2023-09-27 23:24:31 +02:00
8eb360234e
Add rootless build support to 'build' command for 'kvm' and 'podman' vm types
...
To avoid filesystem permission collisions with the builds using su_wrapper,
use an alternative buildroot path that appends username to '/var/tmp/build-root' for the rootless builds.
2023-09-27 23:24:31 +02:00
2f1cb0edb1
Remove any duplicated code loading configuration from ENV
...
The current conf.get_config() function already handles loading from ENV.
Also, always use osc.build.calculate_build_root() instead of making a custom variable substitution.
2023-09-27 23:24:31 +02:00
ee725ff51b
Fix a crash in 'Fix handling empty vm_type in Store.last_buildroot' when last_buildroot is empty
2023-09-25 14:41:17 +02:00
93cfb76a46
Fix handling empty vm_type in Store.last_buildroot
2023-09-25 10:16:00 +02:00
4b5534b070
Load empty optional configuration values as 'None'
2023-09-25 10:15:52 +02:00
f788db0d97
service: do not reject documented 'r' abbreviation for 'run'
2023-09-19 16:57:36 +02:00
d0c80e71a9
Merge pull request #1409 from dmach/rq-show-supersede
...
Fix 'request show' command to print superseded_by information
2023-09-14 14:59:15 +02:00
9361d78012
Fix 'request show' command to print superseded_by information
2023-09-14 14:40:49 +02:00
1d47dfc89d
Unify how the 'commit' and 'build' commands work with '--noservice' option
...
Both commands now take the following options: '--skip-local-service-run', '--noservice', '--no-service'
Both commands now honor the 'local_service_run' config option if none of the options above is specified
2023-09-14 09:49:19 +02:00
0894724219
Merge pull request #1407 from dmach/wrap-password-into-Password-object
...
Fix validating configuration by wrapping password into Password object
2023-09-14 08:41:38 +02:00
1a42b7a2c9
Fix validating configuration by wrapping password into Password object
2023-09-13 14:25:47 +02:00
2e8fa9ef12
fix crash when settings like realname are not set.
...
Otherwise:
File "/usr/lib/python3.11/site-packages/osc/core.py", line 451, in execute
result = self._execute(dir, old_dir, callmode, singleservice, verbose)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3.11/site-packages/osc/core.py", line 493, in _execute
vc_export_env(self.apiurl)
File "/usr/lib/python3.11/site-packages/osc/core.py", line 8917, in vc_export_env
os.environ[env] = val
~~~~~~~~~~^^^^^
File "<frozen os>", line 684, in __setitem__
File "<frozen os>", line 758, in encode
TypeError: str expected, not NoneType
2023-09-13 08:36:30 +02:00
848f5fe48f
Switch 'osc.conf.config' from dict to Options class with type checking
2023-09-11 21:14:45 +02:00
930b7a8a4e
Add 'osc.util.models' module implementing an alternative pydantic-like data validation
2023-09-11 21:11:05 +02:00
54d1884e1d
Add 'osc.util.xdg' module for handling XDG paths
2023-09-11 21:11:05 +02:00
Tammo Oepkes
b9014ccd56
Fix api_host_options for custom CAs ( #1403 )
2023-09-11 21:06:34 +02:00
b870782a51
Merge pull request #1401 from dmach/build-just-print-buildroot
...
Add '--just-print-buildroot' option to print build root path and exit to 'build' command
2023-09-11 09:19:24 +02:00
e8fc97b231
search: resolve -B . to current project
2023-09-04 12:12:58 +02:00
465edfb098
Add '--just-print-buildroot' option to print build root path and exit to 'build' command
2023-09-04 11:48:11 +02:00
657c45085b
checkconstraints: add -M/--multibuild-package
2023-08-31 14:57:08 +02:00
4a0c9a0f70
Merge pull request #1399 from dmach/checkout-include-files
...
Implement 'exclude_files' and 'include_files' config options that allow skipping files in the 'checkout' command
2023-08-30 11:57:52 +02:00
4255711344
Implement 'exclude_files' and 'include_files' config options that allow skipping files in the 'checkout' command
...
Examples:
osc checkout --setopt='include_files=*.spec *.changes'
osc checkout --setopt='exclude_files=*.tar.* *.obscpio'
2023-08-30 11:28:30 +02:00
daafc1906d
checkconstraints: allow constraints file with remote request
2023-08-28 13:53:37 +02:00
a77f3d43d2
release 1.3.1
2023-08-28 13:33:45 +02:00
ec2c93a4be
Fix string + int concatenation errors in 'build' command by using f-strings instead
2023-08-28 11:30:44 +02:00
baeca0b48b
Fix '--all' option in 'rebuild' command
...
When 'osc rebuild --all' was executed from a package working copy,
the package name was automatically read and used instead
of passing None to the underlying rebuild() function.
2023-08-28 10:29:18 +02:00
5a67bd3376
Fix GitStore to error out properly if there is no 'origin' remote in the git repo
2023-08-28 09:54:38 +02:00
6eb9c4b186
Stop suggesting that the working directory is git/mercurial/svn/cvs
...
We're using Git SCM now and the error message might be confusing in some cases
2023-08-28 09:49:39 +02:00
a0d4889d64
Fix 'build' command when '--alternative-project' option is specified and the git branch cannot be mapped to a project
2023-08-23 12:02:25 +02:00
fa8da38747
Merge pull request #1380 from dirkmueller/helpful_deprecation
...
Be helpful in deprecating commands
2023-08-16 17:00:29 +02:00