SHA256
1
0
forked from pool/osc

10 Commits

Author SHA256 Message Date
992a262abe Accepting request 1323505 from openSUSE:Tools
OBS-URL: https://build.opensuse.org/request/show/1323505
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/osc?expand=0&rev=221
2025-12-18 17:36:04 +00:00
11da2565b4 - 1.23.0
- Command-line:
    - Add '--target-owner' option to 'git-obs pr create' to specify the target owner explicitly
    - Add '--target-branch' option to 'git-obs staging search' command
    - Added 'git-obs staging search' command to find project PRs with referenced package PRs that have all been approved
    - Change 'git-obs pr dump' to produce directories that match the specified pull request IDs
    - Change 'git-obs pr dump' to write STATUS file
    - Properly error out on invalid 'PR:' references in 'git-obs pr dump'
    - Fix 'git-obs pr create' when the source repo is not a fork
    - Fix 'git-obs api' command when server returns 'null'
    - Fix 'osc build --alternative-project=...' when there's no .osc in the current directory
    - Fix argument and store handling in 'osc results' command
  - Library:
    - Add Manifest.get_package_paths() method that lists all paths to existings packages in a project
    - Fix Manifest class to handle loading empty YAML files or strings
    - Fix working with meta during git rebase by determining the current branch from rebase head
    - Fix handling local branch when fetching remote
    - Move get_label_ids() from PullRequest to Repo class
    - Change GitStore not to require apiurl anymore
    - Fix storing last_buildroot for git packages
    - Store the last buildroot only if there's a store detected
    - Fix BuildRoot so it acts as a tuple and the individual values are accessible via indexes
    - Make PullReqest.parse_id() more permissive by accepting trailing whitespaces
    - Fix 'missingok' argument in server_diff()
    - Fix gitea_api.PullRequest ordering methods
    - Add return to gitea_api.Branch.list()

OBS-URL: https://build.opensuse.org/package/show/openSUSE:Tools/osc?expand=0&rev=499
2025-12-18 10:29:42 +00:00
291f6414fe Accepting request 1323001 from openSUSE:Tools
Automatic submission by obs-autosubmit

OBS-URL: https://build.opensuse.org/request/show/1323001
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/osc?expand=0&rev=220
2025-12-16 14:55:56 +00:00
bce468d475 - PKGBUILD changes
* Remove redundant packages from makedepends. If a package depends
    on something, it implicitly makedepends on it as well
  * Add python-ruamel-yaml dependency
  * Build and install man pages
  * Add python-argparse-manpage and python-sphinx to makedepends for
    building man pages
  * Add check() to run the test suite
  * Add checkdepends for test suite dependencies
  * Add optdepends as an equivalent to RPM's Recommends, making it
    easier for users to find packages needed for optional features
  * Use $pkgname variable across the script
  * Install shell completion files
  * Bump pkgrel

OBS-URL: https://build.opensuse.org/package/show/openSUSE:Tools/osc?expand=0&rev=497
2025-12-15 17:56:02 +00:00
8cb3f35199 Accepting request 1316960 from openSUSE:Tools
OBS-URL: https://build.opensuse.org/request/show/1316960
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/osc?expand=0&rev=219
2025-11-10 18:21:51 +00:00
8ecc675a3e Update osc to 1.22.0
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Tools/osc?expand=0&rev=495
2025-11-10 15:58:52 +00:00
2553de452d Accepting request 1310635 from openSUSE:Tools
OBS-URL: https://build.opensuse.org/request/show/1310635
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/osc?expand=0&rev=218
2025-10-11 20:50:16 +00:00
0c0418c6db Update osc to 1.21.0
See changelog for details

OBS-URL: https://build.opensuse.org/package/show/openSUSE:Tools/osc?expand=0&rev=493
2025-10-10 20:31:26 +00:00
15ffb7d16d Accepting request 1305159 from openSUSE:Tools
OBS-URL: https://build.opensuse.org/request/show/1305159
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/osc?expand=0&rev=217
2025-09-16 16:19:35 +00:00
e3f7c5f454 - 1.20.0
- Command-line:
    - Fix 'osc fork' command to use the right tracking branch
    - Fix 'osc blt' command by checking if the working copy is a package
    - Make 'osc buildlog' work outside of osc package directory
    - Add 'git-obs pr close' and 'git-obs pr reopen' commands
    - Add 'close' option to 'git-obs pr review interactive'
    - Change 'git-obs pr review interactive' to work with all archives, not only those in Git LFS
    - Fix checkout of the base branch in 'git-obs pr review interactive' command
  - Library:
    - Support _manifest file in git store
    - Allow pull request IDs in '<owner>/<repo>!<number>' format
    - Properly handle deleted users and teams in the git-obs timeline
    - Handle situations when there's 'None' among timeline entries
    - Skip binary files in gitea_api.PullRequest.get_patch()
    - Change get_user_input(), add support for vertically printed list of answers
  - Spec:
    - Provide git-obs

OBS-URL: https://build.opensuse.org/package/show/openSUSE:Tools/osc?expand=0&rev=491
2025-09-16 12:15:19 +00:00
7 changed files with 254 additions and 13 deletions

View File

@@ -1,23 +1,97 @@
pkgname=osc
pkgver=1.19.1
pkgver=1.23.0
pkgrel=0
pkgdesc="Command-line client for the Open Build Service"
arch=('x86_64')
url="https://www.github.com/openSUSE/osc"
license=('GPL-2.0+' 'GPL-2.0')
groups=('base-devel')
depends=('python-cryptography' 'python-urllib3')
makedepends=('python>=3.6' 'python-cryptography' 'python-setuptools' 'python-urllib3')
source=(osc-${pkgver}.tar.gz)
depends=('python-cryptography' 'python-ruamel-yaml' 'python-urllib3')
makedepends=('python>=3.6' 'python-argparse-manpage' 'python-setuptools' 'python-sphinx')
checkdepends=('diffstat' 'git' 'nano' 'python-yaml' 'vim')
optdepends=('build: osc build support'
'ca-certificates: CA certificates'
'diffstat: diffstat support'
'git: git integration'
'git-lfs: git integration'
'obs-scm-bridge: git integration'
'obs-service-recompress: recompress source files'
'obs-service-download_files: download source files'
'obs-service-format_spec_file: reformat spec files to SUSE standard'
'obs-service-set_version: update version string in RPM spec or Debian changelog'
'obs-service-source_validator: validate package sources'
'obs-service-tar_scm: fetch sources from version control repos'
'openssh: ssh authentication support'
'python-argcomplete: git-obs completions support'
'python-progressbar: download progress bar support'
'python-distro: support for setting the default editor'
'python-keyring: keyring support'
'python-zstandard: support for opening control.tar.zst in debquery'
'xdg-utils: osc browse support')
source=($pkgname-$pkgver.tar.gz)
md5sums=('SKIP')
build() {
cd "${srcdir}"/osc-${pkgver}
cd "$pkgname-$pkgver"
# build docs
PYTHONPATH=. argparse-manpage \
--output=osc.1 \
--format=single-commands-section \
--module=osc.commandline \
--function=argparse_manpage_get_parser \
--project-name=osc \
--prog=osc \
--description="Command-line client for Open Build Service" \
--author="Contributors to the osc project. See the project's GIT history for the complete list." \
--url="https://github.com/openSUSE/osc/"
PYTHONPATH=. argparse-manpage \
--output=git-obs.1 \
--format=single-commands-section \
--module=osc.commandline_git \
--function=argparse_manpage_get_parser \
--project-name=osc \
--prog=git-obs \
--description="Git based command-line client for Open Build Service" \
--author="Contributors to the osc project. See the project's GIT history for the complete list." \
--url="https://github.com/openSUSE/osc/"
sphinx-build -b man doc .
python setup.py build
}
package() {
msg "Installing osc ..."
cd "${srcdir}"/osc-${pkgver}
cd "$pkgname-$pkgver"
python setup.py install --root="${pkgdir}/" --optimize=1 --prefix=/usr
# install completions for osc
install -Dm0755 contrib/osc.complete $pkgdir/usr/share/osc/complete
install -Dm0644 contrib/complete.csh $pkgdir/etc/profile.d/osc.csh
install -Dm0644 contrib/complete.sh $pkgdir/usr/share/bash-completion/completions/osc.bash
install -Dm0644 contrib/osc.fish $pkgdir/usr/share/fish/vendor_completions.d/osc.fish
install -Dm0644 contrib/osc.zsh $pkgdir/usr/share/zsh/site-functions/_osc
# install completions for git-obs
install -Dm0644 contrib/git-obs-complete.bash $pkgdir/usr/share/bash-completion/completions/git-obs.bash
install -Dm0644 contrib/git-obs-complete.fish $pkgdir/usr/share/fish/vendor_completions.d/git-obs.fish
install -Dm0644 contrib/git-obs-complete.zsh $pkgdir/usr/share/zsh/site-functions/_git-obs
# install man page
install -Dm0644 git-obs-metadata.1 $pkgdir/usr/share/man/man1/git-obs-metadata.1
install -Dm0644 git-obs-quickstart.1 $pkgdir/usr/share/man/man1/git-obs-quickstart.1
install -Dm0644 osc.1 $pkgdir/usr/share/man/man1/osc.1
install -Dm0644 git-obs.1 $pkgdir/usr/share/man/man1/git-obs.1
install -Dm0644 oscrc.5 $pkgdir/usr/share/man/man5/oscrc.5
# inject argcomplete marker to the generated git-obs executable
sed -i '3i # PYTHON_ARGCOMPLETE_OK' $pkgdir/usr/bin/git-obs
# inject zsh compdef header so that it gets autoloaded
sed -i '1i #compdef git-obs' $pkgdir/usr/share/zsh/site-functions/_git-obs
}
check() {
cd "$pkgname-$pkgver"
python -m unittest
}

View File

@@ -1,4 +1,4 @@
osc (1.19.1-0) unstable; urgency=low
osc (1.23.0-0) unstable; urgency=low
* Placeholder

View File

@@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:548b15d4b04c86f606cf6d7621aedbf120739df845e3bab79502f96d7aa94f82
size 456644

3
osc-1.23.0.tar.gz Normal file
View File

@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:de2b2942cd7cc23bba76b566fbc5ecf3deed1f1a76dc6f3f26748eb1918ce074
size 486809

View File

@@ -1,3 +1,168 @@
-------------------------------------------------------------------
Thu Dec 18 09:32:40 UTC 2025 - Daniel Mach <daniel.mach@suse.com>
- 1.23.0
- Command-line:
- Add '--target-owner' option to 'git-obs pr create' to specify the target owner explicitly
- Add '--target-branch' option to 'git-obs staging search' command
- Added 'git-obs staging search' command to find project PRs with referenced package PRs that have all been approved
- Change 'git-obs pr dump' to produce directories that match the specified pull request IDs
- Change 'git-obs pr dump' to write STATUS file
- Properly error out on invalid 'PR:' references in 'git-obs pr dump'
- Fix 'git-obs pr create' when the source repo is not a fork
- Fix 'git-obs api' command when server returns 'null'
- Fix 'osc build --alternative-project=...' when there's no .osc in the current directory
- Fix argument and store handling in 'osc results' command
- Library:
- Add Manifest.get_package_paths() method that lists all paths to existings packages in a project
- Fix Manifest class to handle loading empty YAML files or strings
- Fix working with meta during git rebase by determining the current branch from rebase head
- Fix handling local branch when fetching remote
- Move get_label_ids() from PullRequest to Repo class
- Change GitStore not to require apiurl anymore
- Fix storing last_buildroot for git packages
- Store the last buildroot only if there's a store detected
- Fix BuildRoot so it acts as a tuple and the individual values are accessible via indexes
- Make PullReqest.parse_id() more permissive by accepting trailing whitespaces
- Fix 'missingok' argument in server_diff()
- Fix gitea_api.PullRequest ordering methods
- Add return to gitea_api.Branch.list()
-------------------------------------------------------------------
Tue Dec 2 19:10:21 UTC 2025 - Antonio Teixeira <antonio.teixeira@suse.com>
- PKGBUILD changes
* Remove redundant packages from makedepends. If a package depends
on something, it implicitly makedepends on it as well
* Add python-ruamel-yaml dependency
* Build and install man pages
* Add python-argparse-manpage and python-sphinx to makedepends for
building man pages
* Add check() to run the test suite
* Add checkdepends for test suite dependencies
* Add optdepends as an equivalent to RPM's Recommends, making it
easier for users to find packages needed for optional features
* Use $pkgname variable across the script
* Install shell completion files
* Bump pkgrel
-------------------------------------------------------------------
Mon Nov 10 15:52:11 UTC 2025 - Daniel Mach <daniel.mach@suse.com>
- 1.22.0
- Command-line:
- Add 'git-obs staging' commands
- Add '--gitea-fork-org' option to 'osc fork' command
- Add '--git-branch' option to 'osc fork' command
- Add 'DELETE' to 'git-obs api' allowed methods
- Add commit messages as commented lines to the template in 'git-obs pr create'
- Add filtering by label to 'git-obs pr list'
- Properly handle fork mismatch in 'osc fork'
- Change 'osc build' to build from any git repo if '--alternative-project' is specified
- Fix 'osc service' for git based packages
- Fix 'git-obs pr dump' to skip the dump if the target has the same updated_at timestamp as the pull request in Gitea
- Fix 'git-obs pr dump' to do case insensitive check on owner and repo
- Fix retrieving 'arch' argument in 'osc buildlog'
- Library:
- Add 'status' to the output of gitea_api.Git.get_submodules()
- Add 'remote' argument to gitea_api.Repo.clone_or_update()
- Add gitea_api.common.TemporaryDirectory class that supports 'delete' argument on python 3.6+
- Add gitea_api.GitDiffGenerator class for creating submodule diffs without a git checkout
- Add 'depth' argument to gitea_api.Repo.clone() and clone_or_update()
- Add gitea_api.StagingPullRequestWrapper class for handling staging
- Add gitea_api.PullRequest.get_host_owner_repo_number() method
- Make GitObsCommand.add_argument_owner_repo() and add_argument_owner_repo_pull() reusable by allowing setting 'dest' argument
- Warn if the git package doesn't have the same branch as the parent project
- Extend gitea_api.PullRequest with methods that work with 'PR:' references
- Support setting labels in gitea_api.PullRequest.create()
- Fix gitea_api to use pagination instead of limit -1 everywhere
- Remove duplicate, unused PullRequestReview class from gitea_api.pr
- Move clone_or_update() from 'git-obs pr dump' command to gitea_api.Repo
- Change gitea_api.Repo.clone_or_update() to take 'ssh_private_key_path' argument
- Improve performance of gitea_api.IssueTimelineEntry by listing and caching requests instead of fetching them one by one
- Make GitObsCommand.add_argument_owner_repo() and add_argument_owner_repo_pull() reusable by allowing setting 'help' argument
- Change gitea_api.Repo.clone() to stop borrowing objects when 'reference' or 'reference_if_able' is used
- Fix the resulting dictionary in gitea_api.PullRequest._get_label_ids()
- Make gitea_api.RepoExists exception more helpful by giving a hint to fork under a different name
- Use server_diff() instead of server_diff_noex() to exit with a non-zero return code
- Return preinstallimage.info and allow podman to use preinstallimage
-------------------------------------------------------------------
Fri Oct 10 13:02:00 UTC 2025 - Daniel Mach <daniel.mach@suse.com>
- 1.21.0
- Command-line:
- Modify osc subcommands to error out if they don't work with git
- Add 'git-obs meta' commands for managing the local metadata
- Add 'git-obs meta info' command for printing resolved metadata about the current checkout
- Add -b/--branch option to 'git-obs repo clone' command
- Add 'git-obs pr dump' command to store pull request information on disk
- Add 'git-obs --quiet' option (that mutes printing gitea settings now)
- Automatially pull meta after 'git-obs repo clone'
- Change 'git-obs pr review interactive' to write 'merge ok' comment instead of scheduling a merge
- Mute stderr when creating a worktree in 'git-obs pr review interactive'
- Change 'git-obs -G' to accept url to select a gitea login entry
- Support substitutions in 'osc build --root'
- Fix crash in 'osc build' when 'build_repositories' in store was None
- Fix filtering by reviewers in 'git-obs pr list'
- Update 'osc rq show' command to include history comments in verbose mode
- Library:
- Refactor GitStore
- Migrate git_scm.Store over to gitea_api.Git
- Store buildinfo and buildconfig files in GitStore's cache instead directly in the repo
- Move code from 'git-obs meta pull' command to GitStore.pull()
- Improve GitStore.pull() to support reading project from project.build
- Rephrase the error message about detached HEAD in GitStore
- Improve GitStore's error messages by adding instructions on how to fix missing metadata
- Be more permissive when loading parent project_store in GitStore
- Fix loading _manifest in a project git
- Fix git store to check if all the required fields are present
- Derive package name from topdir if a package is part of a project checkout
- Change 'git-obs pr review interactive' to run pager process as a context manager
- Change obs_api.TarDiff to spawn a process extracting archives as a context manager
- Change 'commit' argument in gitea_api.Git.reset() to optional
- Add gitea_api.Git.get_owner_repo_from_url() staticmethod
- Add gitea_api.Git.urljoin() static method
- Fix gitea_api.Git.get_branch_head() to raise a proper exception if the HEAD cannot be retrieved
- Fix gitea_api.Git to work with the current remote instead of 'origin'
- Fix get_store() to throw the exception from git store if .osc directory is not present
- Introduce GitObsRuntimeError exception and use it where appropriate
- Fix tardiff by removing directories with shutil.rmtree() and files by os.unlink()
- Add 'quiet' option to gitea_api.Git.switch()
- Mute stderr in git_obs.Git.lfs_cat_file()
- Treat None flavor as "" in multibuild resolve
- Make Token.triggered_at optional as it's not available in the oficially released OBS code
- Add BaseModel.from_string() and BaseModel.to_string() methods
- Add BaseModel.from_file() and BaseModel.to_file() methods
- Fix BaseModel to initialize from a dictionary via __init__ instead of setattr
- Docs:
- Update docs for the new git metadata store
- Update list of recommended gitea permissions in git-obs-quickstart
- Spec:
- Install git-obs-metadata man page
-------------------------------------------------------------------
Tue Sep 16 11:59:09 UTC 2025 - Daniel Mach <daniel.mach@suse.com>
- 1.20.0
- Command-line:
- Fix 'osc fork' command to use the right tracking branch
- Fix 'osc blt' command by checking if the working copy is a package
- Make 'osc buildlog' work outside of osc package directory
- Add 'git-obs pr close' and 'git-obs pr reopen' commands
- Add 'close' option to 'git-obs pr review interactive'
- Change 'git-obs pr review interactive' to work with all archives, not only those in Git LFS
- Fix checkout of the base branch in 'git-obs pr review interactive' command
- Library:
- Support _manifest file in git store
- Allow pull request IDs in '<owner>/<repo>!<number>' format
- Properly handle deleted users and teams in the git-obs timeline
- Handle situations when there's 'None' among timeline entries
- Skip binary files in gitea_api.PullRequest.get_patch()
- Change get_user_input(), add support for vertically printed list of answers
- Spec:
- Provide git-obs
-------------------------------------------------------------------
Wed Aug 6 05:04:19 UTC 2025 - Daniel Mach <daniel.mach@suse.com>

View File

@@ -1,6 +1,6 @@
Format: 1.0
Source: osc
Version: 1.19.1-0
Version: 1.23.0-0
Binary: osc
Maintainer: Adrian Schroeter <adrian@suse.de>
Architecture: any

View File

@@ -1,7 +1,7 @@
#
# spec file for package osc
#
# Copyright (c) 2025 SUSE LLC
# Copyright (c) 2025 SUSE LLC and contributors
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@@ -80,7 +80,7 @@
%endif
Name: osc
Version: 1.19.1
Version: 1.23.0
Release: 0
Summary: Command-line client for the Open Build Service
License: GPL-2.0-or-later
@@ -176,6 +176,7 @@ Provides: %{use_python_pkg}-osc = %{version}-%{release}
Provides: python3-osc = %{version}-%{release}
%endif
%endif
Provides: git-obs = %{version}-%{release}
%description
openSUSE Commander is a command-line client for the Open Build Service.
@@ -256,6 +257,7 @@ install -Dm0644 macros.osc %{buildroot}%{_rpmmacrodir}/macros.osc
# install man page
%if %{with man}
install -Dm0644 git-obs-metadata.1 %{buildroot}%{_mandir}/man1/git-obs-metadata.1
install -Dm0644 git-obs-quickstart.1 %{buildroot}%{_mandir}/man1/git-obs-quickstart.1
install -Dm0644 osc.1 %{buildroot}%{_mandir}/man1/osc.1
install -Dm0644 git-obs.1 %{buildroot}%{_mandir}/man1/git-obs.1