- Update to 1.1.0
- Command-line:
- New class-based commands
- Sort commands before printing help
- No longer read plugins from /var/lib/osc-plugins
- Configuration:
- Do not error out on setting oscrc permissions if the file is owned by another user
- Library:
- Restore 'include_request_from_project' conf option functionality
- Simplify how babysitter works with options and config
- Prefer f-strings over c-style string expansion
OBS-URL: https://build.opensuse.org/request/show/1076940
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Tools/osc?expand=0&rev=390
- 1.0.0b4
- Fix regressions to osc 0.x:
- mv: Fix traceback due to missing target file name
- rm: Fix creating a Package object by providing multiple files on the command line
- copypac: Fix downgrading a package to an old revision
- buildhist: Fix running from a package checkout
- rebuild: Fix running from a package checkout
- rdiff: Fix traceback when new project is not specified
- rq list: Fix passing values of the --type option
- build: Fix reading extra-pkgs from oscrc
- Support withfullhistory in osc.core.get_request_list again
- Fix osc.get_request_list ignoring the req_type parameter
- Revert "Do not list declined requests by default"
- connection: Mute the "Converted retries value" debug message
- connection: Fix traceback on loading an invalid cookiejar file
- connection: Save cookiejar only when there's a Set-Cookie header in the response
- Add oscerr.ProjectError class needed by core.delete_project()
- Fix all errors reported by pylint
- spec file:
- drop upstreamed patches:
- 1217.patch
- 1228.patch
- Recommend python3-distro - needed for setting the default editor by distro
OBS-URL: https://build.opensuse.org/request/show/1063014
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Tools/osc?expand=0&rev=382
1.0.0b3
- add create-pbuild-config (cpc) command which allows to create a working
config for pbuild tool based on OBS server side data
- branch: Add --disable-build option
- linkpac: Add --disable-build option
- linkpac: Fix linking a locked package by not copying the lock to the target package
- sr: Do not error out on using an alias to apiurl
- rq: Fix the -M/--mine option to show only requests created by the user
- rq list: Avoid conflict between --all and --state options
- rq list: Fix traceback when there's no search criteria
- rq list -i: Enable forwarding requests to the parent projects
- rq show: Improve output
- sr accept: Enable forwarding requests to the parent projects
- setlinkrev: Write a log message on setting a revision
- buildhistory: Produce proper output using build_table() and a CSV writer
- buildinfo: Bring the -d/--debug option back
- build: Bring the --verbose' option back as --verbose-mode=MODE to avoid conflicts with global --verbose
- service: Add verbose option for running local services
- service: Fix manual run of source service
- conf: Avoid crash when deleting a password
- connection: Fix the '9 - review the server certificate' option in cert trust prompt
- Handle uncompressed Debian packages
- Fix osc add for github /archive/ URLs
- Handle empty EDITOR=/PAGER= env variable properly
- Mute ssl/tls deprecation warnings
- Add "--extra-pkgs-from" ("-X") option to osc build.
- Fix a scenario when OBS sends unexpected md5s
- Replace core.findpacs() with Package.from_paths() and Package.from_paths_nofail()
- Always list requests with 'new,review' states by default
- Change get_request_collection() not to list declined requests by default
- Add information about osc vc using the EDITOR envar to the help output
- Improve argument handling in many commands
- Implement Store class handling '.osc' dirs, migrate some code to it
- Code cleanups
- Deprecated:
- core.get_request_list() function
- core.store_write_apiurl() function
- core.store_read_scmurl() function
- core.store_read_apiurl() function
1.0.0b2
- Support ssh-agent forwarding
- ssh auth: Avoid password prompt when using TransientCredentialsManager
- Properly handle missing ssh-keygen and ssh-add
- Add ssh-keygen as a recommends for ssh MFA authentication
- Print user and apiurl when prompting for a password
- Pass apiurl to all auth handlers
- Do not list declined requests by default
- Fix 'osc up' on project level for scm packages
- Lock cookiejar to prevent unnecessary signature auth
- Process input with configurable project separators
- Add project_separator to config file
- Fix race condition in using .old directory in Serviceinfo.execute()
- Send HTTP header Accept: application/xml
- Print URLs and xpaths in debug rather than verbose mode
- Inject no-op print() into http.client when http debugging is off
- Reset "file current position" on errors in HTTP requests
- Create ~/.config/osc/trusted-certs if not exists
- conf: Convert defaults to their expected types
- Document `build` repo selection logic
- Add debug print for REPO (and desc just in case)
- Shortened `build` help and add debug prints
- Replace unmaintained cmdln.py with a custom code
- Allow intermixing positional and optional args
- Add global options to subcommands so they can be specified in any place
- Remove the '-A' option from the 'maintainer' command
- Replace the '-q/--hide-legend' option in 'prjresults' command with global '-q/--quiet' option
- Remove duplicated --debug and --verbose options
- Add version command to print the used version
- Remove deprecated 'plaintext_passwd' config option
- Remove deprecated 'GnomeKeyringCredentialsManager' and related code
- Remove deprecated '--skip-validation' option from the 'commit' command
- Remove deprecated '--oldpkg', '--oldprj' options from the 'rdiff' command
- Remove deprecated subcommands 'create', 'list', 'log', 'show', 'decline', 'accept', 'delete', 'revoke' from the 'submitrequest' command
- Remove deprecated '--seperate-requests' option from the 'submitrequest' command
- Remove deprecated '--raw' option from the 'develproject' command
- Remove deprecated '--maintained' option from the 'search' command
- Remove deprecated 'rlog' command
- Remove deprecated 'rprjresults' command
- Remove deprecated 'rresults' command
- Remove deprecated 'results_meta' command
- Remove deprecated 'deleteprj' command
- Remove deprecated 'deletepac' command
- Remove deprecated 'editmeta' command
- Remove deprecated Request.get_creator()
- Remove PROJ_PACK.txt file, move its content to GitHub issue #1099
- Remove TODO file, move its content to GitHub issue #1098
- Remove fuse support
- Remove unused run_bandit.sh
- Remove obsolete osc_expand_link.pl
- Remove unused icons
- Replace imp with importlib
- Move files from dist/ to contrib/
- Move osc.fish under contrib/
- Move python package metadata from setup.py to setup.cfg
- Move __version__ from osc.core to osc
- Fix resource warnings (unclosed files)
- 1.0.0b1
- drop Python 2 support
- switch http_request() to urllib3 and cryptography (drop M2Crypto dependency)
- warn when using HTTP connection, Make HTTPS the default
- add XDG compatible location for osc plugins
- replace osc-wrapper.py with entry_points.
- core: add functions for glob matching of multibuild flavors
- fix multibuild packages in all osc commands where applicable
- do not ask for login for -h,--help
- move format_table() to util.helper
- code cleanups
OBS-URL: https://build.opensuse.org/request/show/1058838
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Tools/osc?expand=0&rev=376
- 0.181.0
- fix crash when 'pass' is not set in the config file
- add missing attributes to Package when scm_url is set
- fix failure to create config in current dir
- update list of considered file names for ssh key autodetection
- allow users to prefer ssh key over password auth
- ssh: recognize gpg keys (yubikey usage)
- fix operating on _project meta
- revert "interpretation of string literals in messages" that broke unicode handling
- fix product build rpm caching
- enable md5 revisions in osc log
- parseRevisionOption(): raise an exception on invalid revisions
OBS-URL: https://build.opensuse.org/request/show/991346
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Tools/osc?expand=0&rev=366
- 0.178.0
- EXPERIMENTAL: git repository handling
* init command is working inside of a git repository
* downloadassets command fetches references assets from build description
* checkout is cloning from git
- EXPERIMENTAL: signature (ssh key) authetication
* allow to configure 'sshkey' option in the config
* try to guess ssh key from the keys added to ssh-agent
* rename OscHTTPBasicAuthHandler to OscHTTPAuthHandler
* simplify bad auth retry workaround needed for old python versions
- add support for building preinstall images
- add support for building Helm charts
- show the md5s that are failing to validate after fetching a package
- add missing space to copypac completion
- never require login in the help command
- linkdiff: raise an exception when an added file is missing
- run tests via calling 'setup.py test'
- several coding style fixes
- spec file:
- run tests via calling 'setup.py test'
- disabled tests in debian.rules
OBS-URL: https://build.opensuse.org/request/show/979843
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Tools/osc?expand=0&rev=360
- 0.177.0
* switch to python3 in osc-wrapper and make python3 explicit
* allow formatting of the sccache uri
* show repository state and details
* a few minor fixes and improvements in credentials handling
* order credential managers by priority
* kernel keyring is now supported as credential manager
* support regex based name filtering in core.get_prj_results()
* revision parsing parseRevisionOption(): cleanup and make logic consistent
* use sr_ids[0] for superseding (fixes issues with superseding requests
containing many packages
* download logs and metadata in subdirs named by packages when osc getbinaries
is issued on project level or in multibuild case
- spec file:
* recommed python-keyring-keyutils for new kernel keyring backend
OBS-URL: https://build.opensuse.org/request/show/972884
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Tools/osc?expand=0&rev=358
- 0.176.0
* add -F option to osc submitreq
* add --verbose option to build command
* fix getbinaries command to fetch also multibuild packages
* fix getbinaries -M/--multibuild-package option usage
* skip fetching metadata and logs in the getbinaries command
* do not download a bdep with a hdrmd5 from the api by default
* re-download file from API when hdrmd5 doesn't match
* honor --download-api-only option
* remove Windows from the supported operating systems
* fix license in setup.py
* add py3.10 and py3.11 to the classifiers in setup.py
* use the latest version of COPYING file from gnu.org
* fix crash on terminal resize during download
* do not fail with a traceback in case of a config error
* preserve oscrc symlink when writing conf file
* escape % character in binary download URLs
* fix printing paths to built debian packages
OBS-URL: https://build.opensuse.org/request/show/958111
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Tools/osc?expand=0&rev=357
Fedora and EPEL provide osc in their respective repositories. However OSC is built with a custom SPEC file. The goal of these changes is bring the packaging of OSC closer in both build systems.
If these changes are accepted, I plan to also submit the changes to Fedora.
* Modified SPEC file to be more compatible with KOJI and COPR.
** Modified SPEC file to use python3 for CentOS/RHEL 7
** Modified SPEC file use fedora/rhel version macros.
** Changed perl to sed in %install section of SPEC file.
Removes PERL as an unofficial build dependence. EPEL-9 build roots in MOCK may not include PERL
OBS-URL: https://build.opensuse.org/request/show/956576
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Tools/osc?expand=0&rev=356
* do not crash when running "osc search --binary --verbose foo"
* don't run source services when building outside of an OSC package working copy
* fix XDG_CONFIG_HOME
* offer a force ("f") choice in metafile.edit's error handling code path
* fix XPath used in search requests
* add support for creating a workflow token via "osc token"
* handle missing os.sysconf more gracefully
* detachbranch: remove _link when link target got removed
* improve error message in case of an URLError
* fix downloading from mirrors
* avoid sending entire projects on "osc mr"
* fix hdmrd5 check of local cached files
* improve logic for conffile mode handling
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Tools/osc?expand=0&rev=354
* fix password deletion via "osc config -d <apiurl> pass"
* support changing the password store via "osc config <apiurl>
--select-password-store")
* support slash syntax in osc browse ("osc browse prj/pkg" is equivalent to
"osc browse prj pkg")
* fix the commit of a frozen package wc
* fix local product builds using obsrepositories:/ directives
* print a meaningful message when trying to a commit a non-existent package
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Tools/osc?expand=0&rev=353
* add showlinked command to show all references of packages linking to a given one
* add build --shell-after-build flag. It can also be set via .oscrc.
* add build --stage flag. Useful for example for fixing file lists and just
running the install section to see the result of it (use --stage=i=).
Check the help for more details.
* allow to run build script as non-root, by setting su-wrapper empty
=> osc is not guessing anymore if user builds are wanted
* add support for cross arch local build using a sysroot
* support slash notation in "osc creq -a <action type> args"
* add "--force" option to the "osc add" command (can be used to override
the exclude_glob config option)
* support the commit of arbitrary sized files
* add support for sccache
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Tools/osc?expand=0&rev=350
* support --lastsucceeded/--last-succeeded in "osc buildlog", "osc
remotebuildlog" + friends (perform the corresponding operation on
the build log of the last successful build)
* fix pypi deployment via Travis CI
* several fixes in request related code paths (no double html_escape
of a request's description etc.)
* support local builds in a systemd-nspawn container
* fix potential TypeErrors+UnicodeEncodeErrors in the util.cpio and
util.ar modules
* support local flatpak builds (requires a recent build version)
* "osc init <prj>" works for a non-existent (server-side) project <prj>
* .old dir support for source services so that some services have access
to the results of a previous service run
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Tools/osc?expand=0&rev=345
* maintainer search: lookup via package name by default and binary as fallback
* fix crash on console resize when downloading files during build
* add proper repourls to osc reporuls
* new command osc releaserequest: This command is used to transfer sources and
binaries without rebuilding them.
It requires defined release targets set to trigger="manual".
* some improvements on output of help and error messages
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Tools/osc?expand=0&rev=342
* fix code for python3.8 and python3.9
* remove dead code
* fix tests
* don't use chardet to guess encoding. utf-8 or latin-1 is now assumed
This will speed up decoding (bsc#1173926)
* escape sequences are interpreted correctly on -m
osc sr -m "1st line\n2nd line"
results in
1st line
2nd line
* add status filter to osc results
* add --brief to osc prjresults
Gives:
build openSUSE_Leap_15.1 x86_64 succeeded
build openSUSE_Leap_15.0 x86_64 succeeded
build openSUSE_Leap_15.0 armv7l unresolvable
build openSUSE_Factory_ARM armv7l succeeded
build openSUSE_Factory_ARM aarch64 succeeded
* osc prjresults -s <status>: status can now be the long text like "succeeded", "failed"
* improve error message if osc service <servicename> is not run in working directory
* web links are now also printed for osc mr when print_web_links=1 is set
- Spec:
* re-enable test suite
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Tools/osc?expand=0&rev=338
* improve speed and usability of osc bash completion
* switch packagequery.py to return only bytes
* improved some error messages
* osc add: support git@ (private github) or git:// URLs correctly
* split dependson and whatdependson commands
* support for osc build --shell-cmd
* Fix kiwi build with --prefer-pkgs
* add pkg-ccache support for osc build
* fix security issue (bsc#1122675, CVE-2019-3681) do not allow '/' in filename
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Tools/osc?expand=0&rev=335
* MR creation honors orev now (bsc#1160446)
* allow "osc r --vertical" for projects
* several typo fixes
* cleanup old functions and remove python2.6 compat code
* support zstd arch linux files in local build
* fix deleterequest for repositories
* append --norootforbuild as default to build command
* fix decoding in interactive request mode
* use signdummy for product builds
* print release project when creating MR
* improve SSLError message for TLSv1 validation
* osc maintained --version prints the version of each maintained package
* print web url links after creating requests (New general bool option 'print_web_links' must be set in oscrc)
* fix checkout_no_colon on project level
* handle empty release number of rpm packages in build.py
* handle bytes vs. str error when parsing meta
* custom exception if importing m2crypto fails
* fix missing oscerr import in util.helper
* several fixes for keyring handling
* fix arch zst magic in util.packagequery
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Tools/osc?expand=0&rev=324
Instead of storing the debian packaging as a tarball that's hard to version, generate and mange, store them separately. There is no net change, the files re exactly as they appeared in the tarball.
This will make future improvements to the likes of the rules/control files easier, and hopefully kept in sync with the rpm spec. (I hope to move the debian package to python3 at some point).
OBS-URL: https://build.opensuse.org/request/show/752964
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Tools/osc?expand=0&rev=317