Commit Graph

248 Commits

Author SHA256 Message Date
1dd7f77306 Accepting request 1288240 from home:dmach:branches:openSUSE:Tools
- 1.17.0
  - Command-line:
    - Rename 'git-obs pr review' to 'git-obs pr review interactive'
    - Add 'A)approve and schedule for merging' action to 'git obs pr review interactive'
    - Add 'git-obs pr merge' command
    - Add 'git-obs pr review accept' and 'git-obs pr review decline' commands
    - Implement 'git-obs repo list' command
    - Add '--export' option to 'git-obs pr list' and 'git-obs pr search'
    - Fix crash during token validation in 'git-obs login {add,update}' when value is not specified
    - Fix loading shell completions for 'git-obs'
    - Fix 'git-obs api' by preventing of quoting the URL query part
    - Add a possibility to override git-obs login entries from env
    - Validate arguments in 'osc fork' command
    - Revert "Improve 'updatepacmetafromspec' command to expand rpm spec macros by calling rpmspec to query the data"
    - Improve 'updatepacmetafromspec' command to expand rpm spec macros by calling queryrecipe to query the data (bsc#1243722)
  - Connection:
    - Do not use pipe for ssh-keygen input
  - Library:
    - Refactor gitea_api to use objects with properties instead of raw JSON data
    - Add GiteaModel base class and json_dumps() function that can serialize such objects
    - Rename 'anonymous' argument in 'gitea_api.Repo.clone()' to 'use_http'
    - Allow git in git-obs to be switched from SSH to http(s)
    - Move yaml handling code to osc.util.yaml, add fallback to PyYaml
    - Fix how types are compared in OscOptions.set_value_from_string()
    - get_package_results: check for waiting states in all multibuild packages
    - Extend _buildinfo file lookup to the current directory
    - Fix git store when .git is a file with "gitdir: <path>" link
    - Migrate store_* functions to use get_store instead of the original code
  - Spec:
    - Modify spec to use PyYAML on SLE15

OBS-URL: https://build.opensuse.org/request/show/1288240
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Tools/osc?expand=0&rev=482
2025-06-24 12:20:57 +00:00
8f6bca3bfd Accepting request 1278577 from home:dmach:branches:openSUSE:Tools
- 1.16.0
  - Command-line:
    - Add 'osc rmkpac' subcommand
    - Add 'osc service precommit' subcommand, for use with git hook
    - Add '--target-branch' filter option to 'git-obs pr list'
    - Add '--reviewer' and '--review-state' options to 'git-obs pr list'
    - Add '--no-draft' filter option to 'git-obs pr list'
    - Set limit=0 to disable pagination in all relevant git-obs subcommands
    - Improve help of the 'git-obs login' subcommands
    - Update 'git-obs login {add,update}' to check the gitea token format
    - Fix 'osc fork' when <attributes/> in the source project is empty
    - Fix handling env in tests for 'osc vc'
    - Fix how GitStore reads project from the parent directory
    - Fix 'git-obs pr create' with multistring EDITOR
    - Improve handling exceptions in 'git-obs' command
    - Improve message in 301: Moved Permanently error in git-obs
    - Improve git-obs to read credentials from env variables
    - Remove commas from the list of request IDs in the superseding prompt in 'osc sr'
  - Connection:
    - Fix git-obs connection for urllib3 v1 by overriding the default timeout
  - Library:
    - Add troubleshooting info to gitea_api.Login.DoesNotExist message
    - Add 'min_key_length' argument to KeyValueTable to enforce the minimal length of the first column
    - Fix implicit optionals in type hints to make code PEP 484 compliant
    - Don't crash when OBS API returns None as request description
    - Fix TypeError in response_to_exception() in gitea_api

OBS-URL: https://build.opensuse.org/request/show/1278577
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Tools/osc?expand=0&rev=479
2025-05-20 11:12:22 +00:00
ae902aa3c1 Accepting request 1267135 from home:dmach:branches:openSUSE:Tools
- 1.15.1
  - Library:
    - Revert "Run decode_it also in the other case"

OBS-URL: https://build.opensuse.org/request/show/1267135
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Tools/osc?expand=0&rev=477
2025-04-04 12:21:46 +00:00
913ebdf805 Accepting request 1267068 from home:dmach:branches:openSUSE:Tools
- 1.15.0
  - Command-line:
    - Improve 'osc fork' to follow the devel package specified in the 'OBS:RejectBranch' attribute
    - Hotfix 'osc fork' failures of devel project users
    - Change 'osc fork' to print an error rather than raising an exception
    - Fix setting parent remote in 'git-obs repo clone'
    - Extend 'osc build' to read build project from Gitea: <owner>/_ObsPrj, project.build file
    - Fix 'osc build' when working with sources from git, when .osc is not available
    - Fix crash in 'osc build --host'
    - Fix rendering help output by adding the complete docstring of the commands
    - Add commented git status to the 'git-obs pr create' message
    - When doing an mr from a working copy check for unchecked modifications
    - Consolidate working copy modification check dialog into a function
  - Connection:
    - Change a debug message to a warning if ssh-keygen is not available
    - Add explanatory message to ignore the signature auth warning when not using SSH keys for auth
  - Library:
    - Implement handling of updateinfo.xml and _modulemd.yaml files
    - Fix working with _subdirs when detecting packages that are subdirectories in a git project
    - Fix canonname handling when querying a downloaded package
    - Add obs_api.Attributes model
    - Add 'quiet' and 'branch' options to gitea_api.Repo.clone()
    - Fix GitStore by parsing git urls with obs_api.Git.urlparse()
    - Add gitea_api.Git.urlparse() for parsing git urls
    - Change gitea_api.Config.url_to_hostname() to also try matching only a hostname instead of full Gitea URL
    - Rename get_parser() functions to argparse_manpage_get_parser() to clarify their purpose
    - Refactor the validity check of cached binaries
  - Other:
    - Update git-obs-quickstart doc with more detailed info on creating tokens
  - Spec:
    - Recommend obs-scm-bridge
    - Build git-obs man page

OBS-URL: https://build.opensuse.org/request/show/1267068
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Tools/osc?expand=0&rev=476
2025-04-04 08:49:17 +00:00
f974255070 update
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Tools/osc?expand=0&rev=475
2025-03-28 12:43:46 +00:00
b652bfecbd Accepting request 1254826 from home:dmach:branches:openSUSE:Tools
- 1.14.0
  - Command-line:
    - Improve 'osc fork' command to support also forking projects managed in git
    - Extend 'osc fork' command with '--target-project' and '--target-package' options
    - Enable shell completion of various 'git-obs' arguments and options
    - Fix 'git-obs pr create --target-branch'
    - Fix 'osc fork' crash in print_gitea_settings()
    - Use -A/--apiurl specified on the command-line even if running from a checkout
    - Assume openSUSE:Factory if project cannot be determined in 'osc build' command
    - Change 'osc whatdependson' command to take multiple '-M' options incl. wildcards
    - Fix diff highlighting
  - Library:
    - Set pacsuffix='deb' if binarytype=='deb'
    - Add scmsync element to meta template
    - Add missing project_separator substitutions
    - Fix call os.userexpand() on gitea_api.Config() path argument
    - Fix adding arguments to the argument parser so they work with argcomplete
    - Fix MultibuildFlavorResolver to consider an empty flavor during glob match
    - Fix MultibuildFlavorResolver to work with <package> _multibuild elements
    - Remove superfluous setting of apiurl from 'osc fork'
    - Mute mypy errors on field property assignment
    - Add type hint to XmlModel.XML_TAG
    - Support new 'X | None' union syntax in field types
  - Other:
    - Fix 'git-obs login add' command invocation in git-obs-quickstart documentation
  - Spec:
    - Recommends: python3-argcomplete for git-obs

OBS-URL: https://build.opensuse.org/request/show/1254826
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Tools/osc?expand=0&rev=473
2025-03-20 20:15:54 +00:00
d08f893315 - fix the generic provides for %{use_python_pkg}-osc to be
versioned so that one can actually have versioned requires
  against that symbol
- restore python3-osc provides if we are building against the
  primary_python version

OBS-URL: https://build.opensuse.org/package/show/openSUSE:Tools/osc?expand=0&rev=470
2025-03-12 10:54:24 +00:00
5dc03ad54e Accepting request 1251906 from home:darix:playground
- if we have primary_python defined lets use this to get runtime
  requires matching the shebang lines

OBS-URL: https://build.opensuse.org/request/show/1251906
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Tools/osc?expand=0&rev=468
2025-03-11 10:23:41 +00:00
7bd2ce111a Accepting request 1249622 from home:dmach:branches:openSUSE:Tools
- 1.13.0
  - Command-line:
    - Add 'osc fork' command for forking a package with sources managed in Gitea
    - Add 'git-obs pr review' command
    - Allow 'git-obs login' subcommands to prompt for Gitea tokens
    - Fix 'osc checkout' command to support deleted packages incl. revisions
    - Update 'osc rpmlint' command by adding help message for invoking command in PKG dir
    - Add '--multibuild-package' option to 'osc rpmlint' command
  - Library:
    - Change how git projects and packages are detected
    - Change show_project_sourceinfo() to split a huge request into many and join the results to workaround GET limitations
    - Make 'rev' option in ScmsyncObsinfo.from_api() optional
    - Make GitObsCommand.gitea_{conf,login,conf} properties writable
    - Fix local building of deb dockerfile
    - Fix getting scm_url from scmsync_obsinfo that has subdir set
    - Fix or silence pylint errors
    - Support 'enabled' field in tokens
    - Highlight trailing whitespaces in diffs
    - Fix missing spaces in help string
  - Other:
    - Add git-obs Quickstart documentation and man page

OBS-URL: https://build.opensuse.org/request/show/1249622
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Tools/osc?expand=0&rev=466
2025-03-03 08:40:17 +00:00
a375a1fd35 Accepting request 1245662 from home:dmach:branches:openSUSE:Tools
- 1.12.1
  - Command-line:
    - Improve 'maintenancerequest' command to inherit description from superseded request
  - Library:
    - Tell the build script to disable repos/containers handling for normal builds
    - Improve detecting git packages, use .osc metadata from project in parent directory
    - Fix retrieving apiurl from git repositories in get_api_url() in the command-line code
    - Fix typo in core.binary() that caused text files being detected as binary
    - Improve core.binary() by always considering data that contains \0 binary
    - Fix assembling scm_url when scmsync_obsinfo.revision is None

OBS-URL: https://build.opensuse.org/request/show/1245662
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Tools/osc?expand=0&rev=464
2025-02-13 14:35:18 +00:00
470eb859e0 Accepting request 1242880 from home:dmach:branches:openSUSE:Tools
- 1.12.0
  - Command-line:
    - Add 'git-obs pr' command
    - Add 'git-obs api' command for making arbitrary API calls
    - Change 'git-obs' to use owner/repo[#pull] arguments consistently
    - Change 'git-obs repo clone' command to store ssh command in core.sshCommand git config option
    - Fix 'request list --interactive' command that wasn't showing request forward prompt when message was part of the state change
  - Library:
    - Avoid fetching _scmsync.obsinfo when scmsync url contains 'noobsinfo' query parameter
    - Fix ssh key priority in 'git-obs repo clone' command
    - Fix loading config entries with underscores instead of dashes in the keys
    - Fix detecting binary files
    - Fix diff highligting
  - Connection:
    - Implement retries in 'git-obs'

OBS-URL: https://build.opensuse.org/request/show/1242880
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Tools/osc?expand=0&rev=462
2025-02-03 15:50:45 +00:00
e91178e579 Accepting request 1236856 from home:dmach:branches:openSUSE:Tools
- 1.11.1
  - Command-line:
    - Fix 'linkpac' command for projects with a project link
    - Fix 'linkpac' command by always removing <scmsync> element from target meta
    - Fix command descriptions in help by moving the import statements under docstring in the do_*() methods

OBS-URL: https://build.opensuse.org/request/show/1236856
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Tools/osc?expand=0&rev=460
2025-01-10 12:53:07 +00:00
6899ae2e6b Accepting request 1235608 from home:dmach:branches:openSUSE:Tools
- 1.11.0
  - Command-line:
    - Add hint how to deal with scmsync-nobranch scenarios
    - Speed loading commands up
    - Fix 'log' command to work correctly with --meta --patch options
    - Document that 'status' command prints unmodified files in verbose output
    - Hide progressbar.Bar widget after ProgressBar has completed
    - Avoid printing urlquoted file names in 'getbinaries' command
  - Configuration:
    - Mute oscrc permissions warning when there's no password set
  - Connection:
    - Save session cookie even if a request fails
  - Library:
    - Fix local building in git projects
    - Extend xml.etree.ElementTree.ParseError output with a snippet of broken XML
    - Sync ScmsyncObsinfo with obs-scm-bridge
    - Move running obs_scm_bridge into run_obs_scm_bridge() function
    - Convert remaining makeurl() query parameters from deprecated string to dict
    - Add more operators to XPathQuery
    - Make 'title' and 'description' fields optional in the Package model
    - Fix progress bar code to support progressbar2
    - Support LoongArch64 architecture
    - Mute pylint errors in show_package_disabled_repos() that are false-positives
    - Fix another bytes/unicode issues in core.link_pac() by replacing ElementTree code with XML models
    - Fix handling 'lock' field in 'Package' model
    - Fix handling SimpleFlag model
    - Extend RequestActionSource with 'repository' attribute
    - Load most of the modules in commandline.py on-demand
    - Fix traceback in 'linkpac --disable-build'
  - Spec:
    - Add conflict with older versions of obs-service-source_validator to ensure that version compatible with .osc store 2.0 is installed

OBS-URL: https://build.opensuse.org/request/show/1235608
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Tools/osc?expand=0&rev=458
2025-01-07 13:37:43 +00:00
23fc73783b Accepting request 1222744 from home:dmach:branches:openSUSE:Tools
- 1.10.1
  - Command-line:
    - Fix crash in 'build' command due to undefined 'build_root' variable
  - Spec:
    - Add missing python3-ruamel.yaml BuildRequires
    - Fix rpmlint error about creating the /usr/libexec/git/obs symlink

- 1.10.0
  - Command-line:
    - New git-obs executable with several subcommands
    - Support parameters on token triggers
    - Change 'update' command to treat empty '.osc/_in_update/_files' as missing
    - Change 'checkout' command to allow checkout obs imported sources of scmsync sources
    - Change 'creq' command to allow specifying source and target repository
    - Change the help output to determine executable name from the command-line arguments
    - Add '--no-timestamps' parameter to 'build' command
    - Fix 'token' command to avoid crash  when a wipe token exists
    - Fix crash in 'results' command by skipping non-status elements in project results
    - Fix crash in 'build' command when building with --local-package --alternative-project from a locally initialized .osc package
    - Print buildroot directory when build or chroot finishes
  - Library:
    - Add 'gitea_api' module
    - Support the mkosi build type
    - Support copy of scmsync packages
    - Support Dockerfile.* in _multibuild packages
    - Implement obs_api.Status.data property that returns status data as a dictionary
    - Implement obs_api.Package.cmd_fork()
    - Fix meter by setting default of use_pb_fallback to False
    - Fix store migration from 1.0 to 2.0 when there is a 'sources' file that would conflict with 'sources' directory
    - Fix revision'd checkout of scmsync package

OBS-URL: https://build.opensuse.org/request/show/1222744
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Tools/osc?expand=0&rev=456
2024-11-08 13:05:23 +00:00
29297f141e Accepting request 1202739 from home:dmach:branches:openSUSE:Tools
- 1.9.2
  - Command-line:
    - Fix 'resolved' command to skip subdirectories in package checkouts
    - Fix 'comment' command to resolve project name
    - Implement meter.SimpleTextMeter that prints what's being downloaded
  - Connection:
    - Use configured 'http_headers' in HTTP requests
  - Library:
    - Fix storing _buildinfo and _buildconfig files in .osc rather than among the source files
    - Use findtext() instead of find().text
  - Spec:
    - Recommend python3-zstandard to support opening control.tar.zst

OBS-URL: https://build.opensuse.org/request/show/1202739
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Tools/osc?expand=0&rev=454
2024-09-23 19:12:18 +00:00
5b1bd70286 Accepting request 1196283 from home:dmach:branches:openSUSE:Tools
- 1.9.1
  - Command-line:
    - Add 'createrequest release' subcommand
    - Change 'review list' command to omit requests with 'declined' state
    - Fix `osc build --local-package`
    - Fix typos
  - Library:
    - Fix extraction of the 'ar' archives when they don't contain header with long filenames
    - Fix iterating through arch_list in core.get_repos_of_project()
    - Check for None & len() of ET.Element instead of bool() in PackageBase.get_meta_value()
  - Spec:
    - Replace 'setup.py test' that was removed in setuptools 72 with 'python3 -m unittest'

OBS-URL: https://build.opensuse.org/request/show/1196283
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Tools/osc?expand=0&rev=452
2024-08-31 09:17:32 +00:00
2100e39b4b - 1.9.0
- Security:
    - Fix possibility to overwrite special files in .osc (CVE-2024-22034 boo#1225911)
      Source files are now stored in the 'sources' subdirectory which prevents
      name collisons. This requires changing version of '.osc' store to 2.0.
  - Command-line:
    - Introduce build --checks parameter
  - Library:
    - OscConfigParser: Remove automatic __name__ option

OBS-URL: https://build.opensuse.org/package/show/openSUSE:Tools/osc?expand=0&rev=450
2024-08-20 08:08:51 +00:00
c1d07e0bd5 Accepting request 1186091 from home:dmach:branches:openSUSE:Tools
- 1.8.3
  - Command-line:
    - Change 'repairwc' command to always run all repair steps
  - Library:
    - Make most of the fields in KeyinfoPubkey and KeyinfoSslcert models optional
    - Fix colorize() to avoid wrapping empty string into color escape sequences
    - Provide default values for kwargs.get/pop in get_results() function

OBS-URL: https://build.opensuse.org/request/show/1186091
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Tools/osc?expand=0&rev=447
2024-07-08 09:06:58 +00:00
d4061e5035 Accepting request 1184850 from home:dmach:branches:openSUSE:Tools
- 1.8.2
  - Library:
    - Change 'repairwc' command to fix missing .osc/_osclib_version
    - Make error message in check_store_version() more generic to work for both projects and packages
    - Fix check_store_version in project store

OBS-URL: https://build.opensuse.org/request/show/1184850
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Tools/osc?expand=0&rev=445
2024-07-02 12:02:43 +00:00
8886362f13 Accepting request 1184222 from home:dmach:branches:openSUSE:Tools
- 1.8.1
  - Command-line:
    - Fix 'linkpac' command crash when used with '--disable-build' or '--disable-publish' option

OBS-URL: https://build.opensuse.org/request/show/1184222
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Tools/osc?expand=0&rev=443
2024-07-01 08:21:20 +00:00
61fde24ad0 Accepting request 1183845 from home:dmach:branches:openSUSE:Tools
- 1.8.0
  - Command-line:
    - Improve 'submitrequest' command to inherit description from superseded request
    - Fix 'mv' command when renaming a file multiple times
    - Improve 'info' command to support projects
    - Improve 'getbinaries' command by accepting '-M' / '--multibuild-package' option outside checkouts
    - Add architecture filtering to 'release' command
    - Change 'results' command so the normal and multibuild packages have the same output
    - Change 'results' command to use csv writer instead of formatting csv as string
    - Add couple mutually exclusive options errors to 'results' command
    - Set a default value for 'results --format' only for the csv output
    - Add support for 'results --format' for the default text mode
    - Update help text for '--format' option in 'results' command
    - Add 'results --fail-on-error/-F' flag
    - Redirect venv warnings from stderr to debug output
  - Configuration:
    - Fix config parser to throw an exception on duplicate sections or options
    - Modify conf.get_config() to print permissions warning to stderr rather than stdout
  - Library:
    - Run check_store_version() in obs_scm.Store and fix related code in Project and Package
    - Forbid extracting files with absolute path from 'cpio' archives (boo#1122683)
    - Forbid extracting files with absolute path from 'ar' archives (boo#1122683)
    - Remove no longer valid warning from core.unpack_srcrpm()
    - Make obs_api.KeyinfoSslcert keyid and fingerprint fields optional
    - Fix return value in build build.create_build_descr_data()
    - Fix core.get_package_results() to obey 'multibuild_packages' argument
  - Tests:
    - Fix tests so they don't modify fixtures

OBS-URL: https://build.opensuse.org/request/show/1183845
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Tools/osc?expand=0&rev=442
2024-06-29 20:18:51 +00:00
e7edb2e7d6 Accepting request 1175844 from home:dmach:branches:openSUSE:Tools
Update to 1.7.0
See changelog for more details

OBS-URL: https://build.opensuse.org/request/show/1175844
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Tools/osc?expand=0&rev=440
2024-05-22 20:26:09 +00:00
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
8efae8db07 Accepting request 1158006 from home:pgajdos
- remove dependency on /usr/bin/python3 using
  %python3_fix_shebang macro, [bsc#1212476]

OBS-URL: https://build.opensuse.org/request/show/1158006
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Tools/osc?expand=0&rev=436
2024-03-21 13:29:12 +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
3422efe549 Accepting request 1123605 from home:mlewissmith:branches:openSUSE:Tools
- 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/1123605
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Tools/osc?expand=0&rev=426
2023-12-04 12:38:15 +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
7bdeb9bacf Accepting request 1120473 from home:jirislaby:branches:openSUSE:Tools
- fix bash completion suffix (.bash instead of .sh) (bsc#1216531)

OBS-URL: https://build.opensuse.org/request/show/1120473
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Tools/osc?expand=0&rev=420
2023-10-30 11:41:21 +00:00
2ca1233cd0 Accepting request 1119916 from home:jirislaby:branches:openSUSE:Tools
- fix bash completion suffix (.bash instead of .sh)

OBS-URL: https://build.opensuse.org/request/show/1119916
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Tools/osc?expand=0&rev=418
2023-10-26 06:38:07 +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
2822cce090 Accepting request 1060881 from home:dirkmueller:Factory
- add 1217.patch to fix correct variable (prj instead of project)

OBS-URL: https://build.opensuse.org/request/show/1060881
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Tools/osc?expand=0&rev=380
2023-01-25 12:54:03 +00:00
05bc771cef Accepting request 1060873 from home:dirkmueller:Factory
- add 1228.patch to fix regressions in get_request_list

OBS-URL: https://build.opensuse.org/request/show/1060873
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Tools/osc?expand=0&rev=379
2023-01-25 12:28:21 +00:00