Commit Graph

138 Commits

Author SHA256 Message Date
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
5c42e4d241 Accepting request 1084128 from home:nickbrown:branches:openSUSE:Tools
Fixed the installation of the completion, which was missing.
Create/Install a manpage.
Fixed a few lintian warnings about the packaging.

Adding this to the openSUSE:Tools prjconf would be useful so that lintian is automatically run on the built packages: https://github.com/openSUSE/obs-build/blob/master/build-recipe-dsc#L184

```
%if 0%{?debian}
support: lintian
%endif
```

OBS-URL: https://build.opensuse.org/request/show/1084128
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Tools/osc?expand=0&rev=394
2023-05-03 08:25:44 +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
Stephan Kulow
daf3b42a43 Accepting request 861420 from home:nickbrown:branches:openSUSE:Tools
Fixes https://github.com/openSUSE/osc/issues/888

Ultimately debtransform needs updated to cope requirements more recent versions of dpkg.
(It's weird that .dsc files is needed as well as debian.control, from which is it's generated. It would be far better if OBS could do it dependencies/build using debian.control and .dsc could be omitted. But that's a separate issue)

OBS-URL: https://build.opensuse.org/request/show/861420
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Tools/osc?expand=0&rev=344
2021-01-20 09:00:34 +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
67d707fb95 Accepting request 771059 from home:nickbrown:osc_debian_files
Updated this Debian package to package osc for python3. This means support for Debian 7 and older, Ubuntu 13.04 and older are dropped, but these are all EOL (Ubuntu 14.04 is the oldest LTS release). But it adds supports for Ubuntu Next and Debian Test which both remove python2 support by default.
This should resolve https://github.com/openSUSE/osc/issues/575

OBS-URL: https://build.opensuse.org/request/show/771059
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Tools/osc?expand=0&rev=318
2020-02-07 12:37:52 +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