Commit Graph

110 Commits

Author SHA256 Message Date
1563351ab9 Accepting request 1167769 from home:dmach:branches:openSUSE:Tools
- 1.6.2
  - Command-line:
    - Fix 'branch' command to allow using '--new-package' option on packages that do not exist
    - Fix 'buildinfo' command to include obs:cli_debug_packages by default
    - Fix 'buildinfo' command to send complete local build environment as the 'build' command does
    - Allow `osc rpmlint` to infer prj/pkg from CWD
    - Propagate exit code from the run() and do_() commandline methods
    - Give a hint where a scmsync git is hosted
    - Fix crash in 'updatepacmetafromspec' command when working with an incomplete spec
  - Authentication:
    - Cache password from SecretService to avoid spamming user with an accept dialog
    - Never ask for credentials when displaying help
  - Library:
    - Support package linking of packages from scmsync projects
    - Fix do_createrequest() function to return None instead of request id
    - Replace invalid 'if' with 'elif' in BaseModel.dict()
    - Fix crash when no prefered packages are defined

OBS-URL: https://build.opensuse.org/request/show/1167769
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Tools/osc?expand=0&rev=438
2024-04-15 09:38:45 +00:00
119c95f150 Accepting request 1149750 from home:dmach:branches:openSUSE:Tools
- 1.6.1
  - Command-line:
    - Use busybox compatible commands for completion
    - Change 'wipe' command to use the new get_user_input() function
    - Fix error 500 in running 'meta attribute <prj>'
  - Configuration:
    - Fix resolving config symlink to the actual config file
    - Honor XDG_CONFIG_HOME and XDG_CACHE_HOME env vars
    - Warn about ignoring XDG_CONFIG_HOME and ~/.config/osc/oscrc if ~/.oscrc exists
  - Library:
    - Error out when branching a scmsync package
    - New get_user_input() function for consistent handling of user input
    - Move xml_indent, xml_quote and xml_unquote to osc.util.xml module
    - Refactor makeurl(), deprecate query taking string or list arguments, drop osc_urlencode()
    - Remove all path quoting, rely on makeurl()
    - Always use dict query in makeurl()
    - Fix core.slash_split() to strip both leading and trailing slashes

OBS-URL: https://build.opensuse.org/request/show/1149750
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Tools/osc?expand=0&rev=434
2024-02-27 08:30:17 +00:00
09ab4b21c3 Accepting request 1141459 from home:dmach:branches:openSUSE:Tools
- 1.6.0
  - Command-line:
    - The 'token --trigger' command no longer sets '--operation=runservice' by default.
    - Change 'token --create' command to require '--operation'
    - Fix 'linkdiff' command error 400: prj/pac/md5 not in repository
    - Update 'build' command to support building 'productcompose' build type with updateinfo.xml data
    - Don't show meter in terminals that are not interactive
    - Fix traceback when running osc from an arbitrary git repo that fails to map branch to a project (boo#1218170)
  - Configuration:
    - Implement reading credentials from environmental variables
    - Allow starting with an empty config if --configfile is either empty or points to /dev/null
    - Implement 'quiet' conf option
    - Password can be an empty string (commonly used with ssh auth)
  - Connection:
    - Allow -X HEAD on osc api requests as well
  - Library:
    - Fix credentials managers to consistently return Password
    - Fix Password.encode() on python < 3.8
    - Refactor 'meter' module, use config settings to pick the right class
    - Convert to using f-strings
    - Use Field.get_callback to handle quiet/verbose and http_debug/http_full_debug options
    - Implement get_callback that allows modifying returned value to the Field class
    - Add support for List[BaseModel] type to Field class
    - Report class name when reporting an error during instantiating BaseModel object
    - Fix exporting an empty model field in  BaseModel.dict()
    - Fix initializing a sub-model instance from a dictionary
    - Implement 'Enum' support in models
    - Fix Field.origin_type for Optional types
    - Drop unused 'exclude_unset' argument from BaseModel.dict() method
    - Store cached model defaults in self._defaults, avoid sharing references to mutable defaults

OBS-URL: https://build.opensuse.org/request/show/1141459
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Tools/osc?expand=0&rev=432
2024-01-25 09:45:02 +00:00
627f3e1f6f Accepting request 1130789 from home:dmach:branches:openSUSE:Tools
- 1.5.1
  - Library:
    - Avoid using '/public/' API routes
    - Update 'osc.util.models' to avoid including lazy defaults in the rendered man pages
  - Spec:
    - Simplify distro-specific macros
    - Use %{?rhel} macros 

- specfile change : use rhel version macros wherever 'fedora' macro is also used
  + Build manpages on RHEL distros where argparse-manpage is available
    and where python3-sphinx is available and cleanly installable without 
    requiring environment(modules) from EPEL
  + use fdupes to deduplicate python bytecode on RHEL distros which support it

OBS-URL: https://build.opensuse.org/request/show/1130789
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Tools/osc?expand=0&rev=428
2023-12-05 09:43:46 +00:00
6c341c910b Accepting request 1128028 from home:dmach:branches:openSUSE:Tools
- 1.5.0
  - Command-line:
    - Change 'rdiff' command to display diff for _project if no package is specified
    - Update 'build' command with initial support for 'productcompose' build type
    - Change 'build' command to disable preinstall images in rootless builds
  - Configuration:
    - Fix conf.write_initial_config() to use read_file() instead of deprecated readfp()
  - Other:
    - Support installing osc into virtualenv
  - Spec:
    - Recommend 'build' on openSUSE/SLE and 'obs-build' on all other distros

OBS-URL: https://build.opensuse.org/request/show/1128028
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Tools/osc?expand=0&rev=424
2023-11-23 09:28:12 +00:00
1aa43d4859 Accepting request 1122816 from home:dmach:branches:openSUSE:Tools
- 1.4.4
  - Command-line:
    - Fix autocompletion for new locations
  - Configuration:
    - Fix apiurl_aliases handling in OscOptions.__getitem__
    - Fix crash when there's no [general]/apiurl option in the config file

OBS-URL: https://build.opensuse.org/request/show/1122816
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Tools/osc?expand=0&rev=422
2023-11-07 10:32:53 +00:00
7a497addae Accepting request 1118947 from home:dmach:branches:openSUSE:Tools
- 1.4.3
  - Configuration:
    - Allow undefined fields in Options and HostOptions

OBS-URL: https://build.opensuse.org/request/show/1118947
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Tools/osc?expand=0&rev=416
2023-10-19 13:29:41 +00:00
9168991d8e Accepting request 1118006 from home:dmach:branches:openSUSE:Tools
- 1.4.2
  - Command-line:
    - Change NoPBTextMeter to display no output at all
    - Fix retrieving the configured user in 'user' command
  - Configuration:
    - Restore 'passx' host option that contains an obfuscated password
    - Fix retrieving a password in case a function returns another callable
    - Fix retrieving config values in core.vc_export_env()

OBS-URL: https://build.opensuse.org/request/show/1118006
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Tools/osc?expand=0&rev=414
2023-10-16 13:24:59 +00:00
269c01d26d Accepting request 1116734 from home:dmach:branches:openSUSE:Tools
- 1.4.1
  - Configuration:
    - Always display apiurl when asking for credentials
    - Ask for new credentials when user is missing from an apiurl section in the config file
  - Library:
    - Fix testing revision for being empty
    - Fix core.change_request_state_template() to always return a string
  - Tests:
    - Replace 'git init -b' with 'git init' and 'git checkout -b'
  - Spec:
    - Run fdupes after install
    - List the python sitelib paths explicitly
    - Mark csh completion files as configs
    - Own zsh completion dirs to mute rpmlint errors
    - Move bash completion from /etc to /usr/share
    - Fix whitespaces in the changes file

OBS-URL: https://build.opensuse.org/request/show/1116734
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Tools/osc?expand=0&rev=412
2023-10-10 18:22:58 +00:00
419e78e94a Accepting request 1115564 from home:dmach:branches:openSUSE:Tools
- 1.4.0
  - Command-line:
    - Add rootless build support to 'build' command for 'kvm' and 'podman' vm types
    - Print a hint to clean the build root after a failed build
    - Avoid adding a newline to prompt in 'wipe' command
    - Fix 'build' command to pass '--vm-type' option to the underlying build tool
    - Add '--just-print-buildroot' option to print build root path and exit to 'build' command
    - Add support for keep_packages_locked on request revoke
    - Import zsh completition made by Holger Macht and improve it
    - Use XDG locations in completion
    - Fix 'search' command to resolve '-B .' to the current project
    - Add '-M/--multibuild-package' option to 'checkconstraints' command
    - Allow constraints file with remote request in 'checkconstraints' command
    - Unify how the 'commit' and 'build' commands work with '--noservice' option
    - Fix 'request show' command to print superseded_by information
    - Fix 'service' command to support already documented 'r' abbreviation for 'run'
  - Configuration:
    - Implement 'exclude_files' and 'include_files' config options that allow skipping files in the 'checkout' command
    - Fix api_host_options for custom CAs (cafile and capath options work again)
    - Switch 'osc.conf.config' from dict to Options class with type checking
    - Rename conf.Options.build_type to vm_type to be consistent with obs build and osc --vm-type option
    - Update list of supported vm_type values in conf.Options.vm_type
    - Remove any duplicated code loading configuration from ENV
  - Library:
    - Add 'osc.util.models' module implementing an alternative pydantic-like data validation
    - Add 'osc.util.xdg' module for handling XDG paths
    - Fix handling empty vm_type in Store.last_buildroot
  - Spec:
    - Install zsh completion
    - Build and install oscrc man page

OBS-URL: https://build.opensuse.org/request/show/1115564
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Tools/osc?expand=0&rev=410
2023-10-09 11:08:20 +00:00
d096c8b1f4 Accepting request 1106804 from home:dmach:branches:openSUSE:Tools
- 1.3.1
  - Command-line:
    - Fix string + int concatenation errors in 'build' command by using f-strings instead
    - Fix '--all' option in 'rebuild' command
    - Fix 'build' command when '--alternative-project' option is specified and the git branch cannot be mapped to a project
    - Stop suggesting that the working directory is git/mercurial/svn/cvs
    - Be helpful in deprecating commands
  - Configuration:
    - Add more config options among integer options
  - Library:
    - Fix GitStore to error out properly if there is no 'origin' remote in the git repo
    - print_buildlog: Remove control characters from build log before printing (CVE-2012-1095)

OBS-URL: https://build.opensuse.org/request/show/1106804
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Tools/osc?expand=0&rev=408
2023-08-28 11:53:26 +00:00
adb5825e8d Accepting request 1103139 from home:dmach:branches:openSUSE:Tools
- 1.3.0
  - Command-line:
    - Add experimental support of Git SCM to the 'build' command
    - Add experimental support of Git SCM to the 'service' command
    - Make 'meta' command capable of editing attributes
    - Change '--add' option in 'meta attribute' command to skip duplicate values
    - Add an interactive option to display build log in 'request list -i' command
    - Add '--setopt' option for setting config options from the command-line
    - Fix '--prefer-pkgs' option for noinstall="1" packages in kiwi builds
    - Change 'checkout' command to print open requests only when running in an interactive terminal
    - Enhance '--force' option description in the 'request' command
  - Connection:
    - Fix crash when HTTP_PROXY env contains no auth
  - Library:
    - Add 'git_scm' module for handling packages that live in git scm rather than usual obs scm
    - Change pop_project_package_from_args() to use get_store() to support Git SCM
    - Change osc.build module to use 'store' object instead of calling core.store_*() functions
    - Use alternative project if specified in parse_repoarchdescr()
    - Fix xml indent() on Python 3.6
    - Fix less pager by adding '-R' to LESS env
    - Improve print_msg() and migrate some arbitrary prints to it

OBS-URL: https://build.opensuse.org/request/show/1103139
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Tools/osc?expand=0&rev=406
2023-08-09 19:17:06 +00:00
a7c877fb51 Accepting request 1098639 from home:dmach:branches:openSUSE:Tools
- 1.2.0
  - Command-line:
    - Add 'repo' command and subcommands for managing repositories in project meta
    - Extend 'browse' command to open requests in a web browser
    - Add highlighting for 'osc diff' and similar commands
    - Fix 'api' command to stream output to avoid running out of memory
    - Fix printing utf-8 characters to stdout
  - Connection:
    - Fix ValueError: Cannot set verify_mode to CERT_NONE when check_hostname is enabled
  - Authentication:
    - Correctly handle passwords with utf-8 characters
  - Library:
    - Fix crash when submiting a SCM package which has no _link
    - Fix local service execution of scmsync packages
    - Detect target package by its full name, instead of assuming its origin is identical to the source package type
  - Other:
    - Spell openSUSE correctly

OBS-URL: https://build.opensuse.org/request/show/1098639
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Tools/osc?expand=0&rev=404
2023-07-15 15:24:45 +00:00
41733874df Accepting request 1088780 from home:dmach:branches:openSUSE:Tools
- 1.1.4
  - Command-line:
    - Change 'review list' command to display open requests (state: new, review, declined)
    - Fix running osc in an AppImage by switching to the correct working directory
    - Handle ProtocolError exception
  - Library:
    - Add 'req_states' parameter to osc.core.get_review_list()
  - Connection:
    - Fix grabber to work with old urllib3 versions that do not contain URLSchemeUnknown exception

OBS-URL: https://build.opensuse.org/request/show/1088780
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Tools/osc?expand=0&rev=402
2023-05-25 11:13:22 +00:00
74761bc601 Accepting request 1085990 from home:dmach:branches:openSUSE:Tools
- 1.1.3
  - Command-line:
    - Backup edited messages and notify user about them when osc errors out
    - Consider only open requests when listing requests with a given review state
    - Fix 'diff' command when no files are specified
  - Configuration:
    - Add glob support to the 'trusted_prj' config option
  - Library:
    - Fix core.xmlindent() to work with ElementTree objects

OBS-URL: https://build.opensuse.org/request/show/1085990
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Tools/osc?expand=0&rev=399
2023-05-10 15:03:48 +00:00
611ca01e9d Accepting request 1084218 from home:dmach:branches:openSUSE:Tools
- 1.1.2
  - Command-line:
    - Add '--buildtool-opt' option passing options to underlying rpmbuild to the 'build' command
    - Fix 'diff' command to support diffing selected files only
    - Identify inherited packages in the 'dependson' command output
    - Bring the '--debug' option back to the 'buildinfo' command
    - Fix 'buildhistory' command by setting the type of the '--limit' option to int
  - Library:
    - Fix a traceback when failed to unlock a keyring
    - Don't retry on 400 HTTP status code in core.server_diff()
    - Clean-up the '.old' folder if an exception happens
    - Document 'popt' attribute in the _link template
    - Fix build.get_repo() to return only directory that contains 'repodata/repomd.xml'
  - Connection:
    - Retry on receiving the following HTTP status codes: 400, 500, 502, 503, 504
    - Allow disabling retry on 400 HTTP status code
    - Fix urlgrab to skip mirrors with invalid scheme

OBS-URL: https://build.opensuse.org/request/show/1084218
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Tools/osc?expand=0&rev=395
2023-05-03 13:13:22 +00:00
97c7608393 Accepting request 1078421 from home:dmach:branches:openSUSE:Tools
- 1.1.1
  - Command-line:
    - Fix 'creq' command that wasn't working at all
    - Fix 'ls' command when listing all projects by setting project argument to '/'
    - Fix regression: Run interactive config setup on missing config or credentials
    - Append plugin dirs to sys.path to allow loading modules installed next to the plugins
    - Do not recurse into subdirs when loading plugins
  - Configuration:
    - Display apiurl when asking for a username or a password
    - If apiurl is not set in interactive_config_setup(), use apiurl from DEFAULTS
  - Library:
    - Decode entities in HTTPError message body

OBS-URL: https://build.opensuse.org/request/show/1078421
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Tools/osc?expand=0&rev=392
2023-04-11 12:11:12 +00:00
90cd1dd25c Accepting request 1076940 from home:dmach:branches:openSUSE:Tools
- 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
2023-04-03 17:47:53 +00:00
c925468393 Accepting request 1072665 from home:dmach:branches:openSUSE:Tools
- Update to 1.0.1
  - Configuration:
    - Fix a cut&paste error in setting 'disable_hdrmd5_check' config option
  - Connection:
    - Set Content-Type of POST requests without data to 'application/x-www-form-urlencoded'

OBS-URL: https://build.opensuse.org/request/show/1072665
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Tools/osc?expand=0&rev=388
2023-03-17 15:31:52 +00:00
3c4c771ba7 Accepting request 1072314 from home:dmach:branches:openSUSE:Tools
- Update to 1.0.0
- Drop debian changelog entries because they weren't updated for a long time without anybody noticing
- Simplify _service

OBS-URL: https://build.opensuse.org/request/show/1072314
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Tools/osc?expand=0&rev=386
2023-03-16 10:15:19 +00:00
9c3a1880a3 Accepting request 1064021 from home:dmach:branches:openSUSE:Tools
- 1.0.0b5
  - rq list: Fix a traceback when --type is not specified
  - core.checkout_package(): Use pathlib.Path
  - connection: Retry all, not just default allowed methods
  - connection: Wait between retries

OBS-URL: https://build.opensuse.org/request/show/1064021
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Tools/osc?expand=0&rev=384
2023-02-09 14:42:15 +00:00
c732089724 Accepting request 1063014 from home:dmach:branches:openSUSE:Tools
- 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
2023-02-03 10:53:55 +00:00
837721237b Accepting request 1058838 from home:dmach:branches:openSUSE:Tools
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
2023-01-18 11:09:07 +00:00
fb37ef4c51 Accepting request 1001908 from home:dmach:branches:openSUSE:Tools
- 0.182.0
  - fix build on SLE12 / python 2.7
  - SSH auth: Fix getallmatchingheaders() output to correspond with headers.get_all()
  - send HTTP header Accept: application/xml
  - git_version: return version from the source code if there's no matching tag
- spec file:
  - Revert to python2 on SLE12
  - Recommend openssh for ssh key auth

OBS-URL: https://build.opensuse.org/request/show/1001908
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Tools/osc?expand=0&rev=371
2022-09-09 06:54:28 +00:00
89a3ac3203 Accepting request 991346 from home:dmach:branches:openSUSE:Tools
- 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
2022-07-29 08:12:44 +00:00
71243cb9f2 Accepting request 984911 from home:dmach:branches:openSUSE:Tools
- 0.180.0
  - warn when trying to commit a prj/pac managed in scm
  - fix crash on "osc up" for git based package/projects
  - don't traceback on invalid credentials manager
  - improve README, rename it to README.md
  - declare OscHTTPSignatureAuthHandler as a new-style class
  - remove illegal character in comment

OBS-URL: https://build.opensuse.org/request/show/984911
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Tools/osc?expand=0&rev=364
2022-06-24 14:36:44 +00:00
d815eb4aaf Accepting request 980526 from home:dmach:branches:openSUSE:Tools
- 0.179.0
  - signature (ssh key) authetication fixes (RSA key support, skip binary files)
  - commandline: handle calls without arguments gracefully
  - use percent-quoted url for download url generation
  - osc co/up: highlight pending requests' header
  - get_results(): fix check for empty details
  - another exception for github URLs for "osc add"
  - update Sphinx configuration, documentation fixes
  - make Sphinx optional in setup.py not to break package builds
  - support flavors in aggregatepac
  - check if repos provided to aggregatepac command exist
  - several coding style fixes

OBS-URL: https://build.opensuse.org/request/show/980526
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Tools/osc?expand=0&rev=362
2022-06-03 06:13:42 +00:00
27f0f35d98 Accepting request 979843 from home:dmach:branches:openSUSE:Tools
- 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
2022-05-31 07:07:16 +00:00
d3738ee0d3 Accepting request 972884 from home:mstrigl
- 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
2022-04-27 09:16:21 +00:00
0b863708ee Accepting request 958111 from home:dmach:branches:openSUSE:Tools
- 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
2022-03-02 10:07:36 +00:00
aa1a6b35a9 - 0.175.0:
* 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
2021-12-02 08:21:59 +00:00
Marcus Hüwe
24d7ff64ce - 0.174.0:
* 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
2021-07-21 08:59:16 +00:00
Marcus Hüwe
096a787c63 - 0.173.0:
* 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
2021-05-18 20:59:43 +00:00
Marcus Hüwe
4071d731bc - 0.172.0:
* 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
2021-01-27 13:36:56 +00:00
e01d73b22d - 0.171.1
* 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
2020-11-10 16:29:23 +00:00
08794c5ca8 - 0.170.0
* 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
2020-07-09 09:11:52 +00:00
f9f3cf0eb4 - 0.169.1
* add --ccache option to osc getbinaries

OBS-URL: https://build.opensuse.org/package/show/openSUSE:Tools/osc?expand=0&rev=336
2020-05-29 18:43:21 +00:00
db844b2871 - 0.169.0
* 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
2020-05-28 06:36:08 +00:00
a3913b00be - 0.168.2
*  use helper method _html_escape to enable python3.8 and python2.*
     compatibility (boo#1166537)

OBS-URL: https://build.opensuse.org/package/show/openSUSE:Tools/osc?expand=0&rev=333
2020-03-13 06:57:13 +00:00
b214f02125 update
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Tools/osc?expand=0&rev=330
2020-03-11 16:14:36 +00:00
096bc404d6 - 0.168.0
* 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
2020-03-04 15:03:14 +00:00
d60baba78b Accepting request 763989 from home:metakcahura:branches:openSUSE:Tools
Update arch PKGBUILD file for python-3.8.

OBS-URL: https://build.opensuse.org/request/show/763989
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Tools/osc?expand=0&rev=322
2020-02-18 08:49:23 +00:00
5ce647bc60 - 0.167.2
* fix regression in osc chroot
  * fix broken importsrcpkg

OBS-URL: https://build.opensuse.org/package/show/openSUSE:Tools/osc?expand=0&rev=315
2020-01-07 13:06:27 +00:00
26e962feaa - 0.167.1
- fix cpio fetch error handling
  - support local build using RedHat rpm-md modules
  - fix local build outside of the working copy of a package.
    (fixes boo#1136584)
  - Use the distro module for linux platform detection for
    python3.8 compatibility

OBS-URL: https://build.opensuse.org/package/show/openSUSE:Tools/osc?expand=0&rev=313
2019-12-10 12:47:02 +00:00
973203db39 osc copypac from project:openSUSE:Tools package:osc revision:1584a277087669bc8dbb23dc1c3de68f, using keep-link
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Tools/osc?expand=0&rev=312
2019-12-06 13:17:37 +00:00
OBS User buildservice-autocommit
188b099619 Updating link to change in openSUSE:Factory/osc revision 142.0
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Tools/osc?expand=0&rev=b7e63ffe05508856fb63d605ea560f66
2019-12-06 09:13:17 +00:00
af1f593ead - 0.167.0
* Added --lastsucceeded option for logfile display (requires OBS 2.11)
  * osc shell/chroot/wipe is now handled via build script (working for chroot and KVM only atm)
  * osc build/shell features:
    - --vm-type=qemu support for cross architecture builds
    - additional debug packages are read from build config now
      (extra-pkgs definition is therefore by default empty now)
    - --vm-disk-size=  switch supported (has only an effect on clean builds)
    - repository, architecture and vm_type from last build is automatically
      reused if not specified otherwise.
    - support building for kiwi products using obsrepositories:/
  * fix decoding for osc aggregatepac
- added Conflicts: build < 20191205. The new osc shell/chroot features might
  not work with older build scripts
- removed version dpendency for Recommends: build. Does not work anyway.

OBS-URL: https://build.opensuse.org/package/show/openSUSE:Tools/osc?expand=0&rev=307
2019-12-05 10:00:34 +00:00
d452b96b2a - 0.166.2
* Don't enforce password reuse (boo#1156501)
  * Config option check_for_requests_on_action is now
    activated by default.
    Use check_for_request_on_action = 0 in oscrc to
    disable it
  * osc vc --file=foo bar.changes now writes the content
    from foo into bar.changes instead of creating a new file
    (boo#1155953)
  * fix output for missing pubkey when using http_debug=1 on
    osc build
  * fix crash of osc linkpac when there is already a _link

OBS-URL: https://build.opensuse.org/package/show/openSUSE:Tools/osc?expand=0&rev=305
2019-11-13 12:10:04 +00:00
e0ae99e21b - 0.166.1
* emergency fix for credentials handling:
      - in case of an old passx entry in oscrc
        osc did not work at all. Now we check in
        the compat code if we have an passx entry.

OBS-URL: https://build.opensuse.org/package/show/openSUSE:Tools/osc?expand=0&rev=303
2019-10-29 10:24:27 +00:00
955c50b282 Accepting request 743489 from home:mstrigl:branches:openSUSE:Tools
- 0.166.0 (boo#1154972)
  * New password handling backend. Supported password stores:
      - Plaintext password
      - Obfuscated password
      - python-keyring (kwallet, secret store)
      - gnome-keyring
      - no store at all (ask for the password every time
  * Refactor initial setup of osc (to select password store)
  * fix decoding on osc lbl (boo#1137477)
  * fix breakage of submitting complete branches back as an
    submit request that contain packages without a change.
  * fix error with plugins and osc -h
  * various decoding improvements
  * Transfer the name of the input file to vc instead of the content
    (obs-build/vc will do the rest and open the file).
  * support appimage builds
  * new command browse. (opens a browser opening the project or package)
  * new option --incoming for osc rq and osc review to only show only
    incoming reqeusts for a project.
- new Recommends for xdg-utils. osc-browse uses xdg-open to open
  the url to the project/package in an internet browser

OBS-URL: https://build.opensuse.org/request/show/743489
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Tools/osc?expand=0&rev=301
2019-10-28 12:57:07 +00:00