Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package opi for openSUSE:Factory checked in at 2022-08-10 17:14:12 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/opi (Old) and /work/SRC/openSUSE:Factory/.opi.new.1521 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "opi" Wed Aug 10 17:14:12 2022 rev:35 rq:994150 version:2.8.0 Changes: -------- --- /work/SRC/openSUSE:Factory/opi/opi.changes 2022-06-13 13:03:35.309204359 +0200 +++ /work/SRC/openSUSE:Factory/.opi.new.1521/opi.changes 2022-08-10 17:15:33.022060417 +0200 @@ -1,0 +2,9 @@ +Tue Aug 9 13:59:29 UTC 2022 - Dominik Heidler <[email protected]> + +- Version 2.8.0 +- add anydesk +- add yandex browser +- Use list for plugin queries and check for conflicts +- Don't show projects with non-matching repo + +------------------------------------------------------------------- Old: ---- opi-2.7.0.tar.gz New: ---- opi-2.8.0.tar.gz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ opi.spec ++++++ --- /var/tmp/diff_new_pack.t5gecN/_old 2022-08-10 17:15:33.634062015 +0200 +++ /var/tmp/diff_new_pack.t5gecN/_new 2022-08-10 17:15:33.638062025 +0200 @@ -17,7 +17,7 @@ Name: opi -Version: 2.7.0 +Version: 2.8.0 Release: 0 Summary: OBS Package Installer (CLI) License: GPL-3.0-only ++++++ opi-2.7.0.tar.gz -> opi-2.8.0.tar.gz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/opi-2.7.0/.gitignore new/opi-2.8.0/.gitignore --- old/opi-2.7.0/.gitignore 2022-06-13 11:08:18.000000000 +0200 +++ new/opi-2.8.0/.gitignore 2022-08-09 15:59:20.000000000 +0200 @@ -58,3 +58,4 @@ *.egg config.json +.idea diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/opi-2.7.0/README.md new/opi-2.8.0/README.md --- old/opi-2.7.0/README.md 2022-06-13 11:08:18.000000000 +0200 +++ new/opi-2.8.0/README.md 2022-08-09 15:59:20.000000000 +0200 @@ -102,6 +102,7 @@ print the search results in reverse Also these queries can be used to install packages from various other vendors: + anydesk AnyDesk remote access atom Atom Text Editor brave Brave web browser chrome Google Chrome web browser @@ -120,5 +121,6 @@ vscode Microsoft Visual Studio Code vscodium Visual Studio Codium yandex-disk Yandex.Disk cloud storage client + yandex-browser Yandex web browser zoom Zoom Video Conference ``` diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/opi-2.7.0/bin/opi new/opi-2.8.0/bin/opi --- old/opi-2.7.0/bin/opi 2022-06-13 11:08:18.000000000 +0200 +++ new/opi-2.8.0/bin/opi 2022-08-09 15:59:20.000000000 +0200 @@ -71,9 +71,9 @@ if len(binaries) == 0: print("No package found.") sys.exit() - binary_names = opi.get_binary_names(binaries) # Print and select a package name option + binary_names = opi.get_binary_names(binaries) selected_name = opi.ask_for_option(binary_names) print("You have selected package name: %s" % selected_name) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/opi-2.7.0/opi/__init__.py new/opi-2.8.0/opi/__init__.py --- old/opi-2.7.0/opi/__init__.py 2022-06-13 11:08:18.000000000 +0200 +++ new/opi-2.8.0/opi/__init__.py 2022-08-09 15:59:20.000000000 +0200 @@ -241,6 +241,18 @@ if binary_data['arch'] not in (get_cpu_arch(), 'noarch'): continue + # Filter repo architecture + if binary_data['repository'] == 'openSUSE_Factory' and (get_cpu_arch() not in ('x86_64' 'i586')): + continue + elif binary_data['repository'] == 'openSUSE_Factory_ARM' and not get_cpu_arch().startswith('arm') and not get_cpu_arch() == 'aarch64': + continue + elif binary_data['repository'] == 'openSUSE_Factory_PowerPC' and not get_cpu_arch().startswith('ppc'): + continue + elif binary_data['repository'] == 'openSUSE_Factory_zSystems' and not get_cpu_arch().startswith('s390'): + continue + elif binary_data['repository'] == 'openSUSE_Factory_RISCV' and not get_cpu_arch().startswith('risc'): + continue + binaries.append(binary_data) return binaries diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/opi-2.7.0/opi/plugins/__init__.py new/opi-2.8.0/opi/plugins/__init__.py --- old/opi-2.7.0/opi/plugins/__init__.py 2022-06-13 11:08:18.000000000 +0200 +++ new/opi-2.8.0/opi/plugins/__init__.py 2022-08-09 15:59:20.000000000 +0200 @@ -6,7 +6,7 @@ class BasePlugin(object): main_query = '' description = '' - queries = () + queries = [] @classmethod def matches(cls, query): diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/opi-2.7.0/opi/plugins/anydesk.py new/opi-2.8.0/opi/plugins/anydesk.py --- old/opi-2.7.0/opi/plugins/anydesk.py 1970-01-01 01:00:00.000000000 +0100 +++ new/opi-2.8.0/opi/plugins/anydesk.py 2022-08-09 15:59:20.000000000 +0200 @@ -0,0 +1,23 @@ +import opi +from opi.plugins import BasePlugin +import subprocess + +class AnyDesk(BasePlugin): + main_query = "anydesk" + description = "AnyDesk remote access" + queries = ['anydesk'] + + @classmethod + def run(cls, query): + if not opi.ask_yes_or_no("Do you want to install AnyDesk from AnyDesk repository?", 'y'): + return + + opi.add_repo( + filename = 'anydesk', + name = 'anydesk', + url = 'http://rpm.anydesk.com/opensuse/$basearch/', + gpgkey = 'https://keys.anydesk.com/repos/RPM-GPG-KEY' + ) + + opi.install_packages(['anydesk']) + opi.ask_keep_repo('anydesk') diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/opi-2.7.0/opi/plugins/atom.py new/opi-2.8.0/opi/plugins/atom.py --- old/opi-2.7.0/opi/plugins/atom.py 2022-06-13 11:08:18.000000000 +0200 +++ new/opi-2.8.0/opi/plugins/atom.py 2022-08-09 15:59:20.000000000 +0200 @@ -5,7 +5,7 @@ class Atom(BasePlugin): main_query = "atom" description = "Atom Text Editor" - queries = ('atom', 'atom-editor') + queries = ['atom', 'atom-editor'] @classmethod def run(cls, query): diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/opi-2.7.0/opi/plugins/brave.py new/opi-2.8.0/opi/plugins/brave.py --- old/opi-2.7.0/opi/plugins/brave.py 2022-06-13 11:08:18.000000000 +0200 +++ new/opi-2.8.0/opi/plugins/brave.py 2022-08-09 15:59:20.000000000 +0200 @@ -5,7 +5,7 @@ class BraveBrowser(BasePlugin): main_query = "brave" description = "Brave web browser" - queries = ('brave', 'brave-browser') + queries = ['brave', 'brave-browser'] @classmethod def run(cls, query): diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/opi-2.7.0/opi/plugins/chrome.py new/opi-2.8.0/opi/plugins/chrome.py --- old/opi-2.7.0/opi/plugins/chrome.py 2022-06-13 11:08:18.000000000 +0200 +++ new/opi-2.8.0/opi/plugins/chrome.py 2022-08-09 15:59:20.000000000 +0200 @@ -5,7 +5,7 @@ class GoogleChrome(BasePlugin): main_query = "chrome" description = "Google Chrome web browser" - queries = ('chrome', 'google-chrome') + queries = ['chrome', 'google-chrome'] @classmethod def run(cls, query): diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/opi-2.7.0/opi/plugins/dotnet.py new/opi-2.8.0/opi/plugins/dotnet.py --- old/opi-2.7.0/opi/plugins/dotnet.py 2022-06-13 11:08:18.000000000 +0200 +++ new/opi-2.8.0/opi/plugins/dotnet.py 2022-08-09 15:59:20.000000000 +0200 @@ -5,7 +5,7 @@ class MSDotnet(BasePlugin): main_query = "dotnet" description = "Microsoft .NET" - queries = ('dotnet-sdk', 'dotnet') + queries = ['dotnet-sdk', 'dotnet'] @classmethod def run(cls, query): diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/opi-2.7.0/opi/plugins/megasync.py new/opi-2.8.0/opi/plugins/megasync.py --- old/opi-2.7.0/opi/plugins/megasync.py 2022-06-13 11:08:18.000000000 +0200 +++ new/opi-2.8.0/opi/plugins/megasync.py 2022-08-09 15:59:20.000000000 +0200 @@ -6,7 +6,7 @@ class MEGAsync(BasePlugin): main_query = "megasync" description = "Mega Desktop App" - queries = ('megasync', 'megasyncapp') + queries = ['megasync', 'megasyncapp'] @classmethod def run(cls, query): @@ -36,4 +36,4 @@ opi.install_packages(packages) - opi.ask_keep_repo('megasync') \ No newline at end of file + opi.ask_keep_repo('megasync') diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/opi-2.7.0/opi/plugins/ms_edge.py new/opi-2.8.0/opi/plugins/ms_edge.py --- old/opi-2.7.0/opi/plugins/ms_edge.py 2022-06-13 11:08:18.000000000 +0200 +++ new/opi-2.8.0/opi/plugins/ms_edge.py 2022-08-09 15:59:20.000000000 +0200 @@ -7,7 +7,7 @@ class MSEdge(BasePlugin): main_query = "msedge" description = "Microsoft Edge" - queries = ('microsoft-edge', 'msedge', 'edge') + queries = ['microsoft-edge', 'msedge', 'edge'] @classmethod def run(cls, query): diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/opi-2.7.0/opi/plugins/ms_teams.py new/opi-2.8.0/opi/plugins/ms_teams.py --- old/opi-2.7.0/opi/plugins/ms_teams.py 2022-06-13 11:08:18.000000000 +0200 +++ new/opi-2.8.0/opi/plugins/ms_teams.py 2022-08-09 15:59:20.000000000 +0200 @@ -5,7 +5,7 @@ class MSTeams(BasePlugin): main_query = "msteams" description = "Microsoft Teams" - queries = ('microsoftteams', 'msteams', 'teams') + queries = ['microsoftteams', 'msteams', 'teams'] @classmethod def run(cls, query): diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/opi-2.7.0/opi/plugins/packman.py new/opi-2.8.0/opi/plugins/packman.py --- old/opi-2.7.0/opi/plugins/packman.py 2022-06-13 11:08:18.000000000 +0200 +++ new/opi-2.8.0/opi/plugins/packman.py 2022-08-09 15:59:20.000000000 +0200 @@ -4,7 +4,7 @@ class PackmanCodecsPlugin(BasePlugin): main_query = "codecs" description = "Media Codecs from Packman and official repo" - queries = ('packman', 'codecs') + queries = ['packman', 'codecs'] @classmethod def run(cls, query): diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/opi-2.7.0/opi/plugins/plex.py new/opi-2.8.0/opi/plugins/plex.py --- old/opi-2.7.0/opi/plugins/plex.py 2022-06-13 11:08:18.000000000 +0200 +++ new/opi-2.8.0/opi/plugins/plex.py 2022-08-09 15:59:20.000000000 +0200 @@ -5,7 +5,7 @@ class PlexMediaServer(BasePlugin): main_query = "plex" description = "Plex Media Server" - queries = ('plex', 'plexmediaserver') + queries = ['plex', 'plexmediaserver'] @classmethod def run(cls, query): diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/opi-2.7.0/opi/plugins/skype.py new/opi-2.8.0/opi/plugins/skype.py --- old/opi-2.7.0/opi/plugins/skype.py 2022-06-13 11:08:18.000000000 +0200 +++ new/opi-2.8.0/opi/plugins/skype.py 2022-08-09 15:59:20.000000000 +0200 @@ -2,10 +2,10 @@ from opi.plugins import BasePlugin import subprocess -class VSCode(BasePlugin): +class Skype(BasePlugin): main_query = "skype" description = "Microsoft Skype" - queries = ('skype') + queries = ['skype'] @classmethod def run(cls, query): diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/opi-2.7.0/opi/plugins/slack.py new/opi-2.8.0/opi/plugins/slack.py --- old/opi-2.7.0/opi/plugins/slack.py 2022-06-13 11:08:18.000000000 +0200 +++ new/opi-2.8.0/opi/plugins/slack.py 2022-08-09 15:59:20.000000000 +0200 @@ -5,7 +5,7 @@ class Slack(BasePlugin): main_query = "slack" description = "Slack messenger" - queries = ('slack') + queries = ['slack'] @classmethod def run(cls, query): diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/opi-2.7.0/opi/plugins/sublime.py new/opi-2.8.0/opi/plugins/sublime.py --- old/opi-2.7.0/opi/plugins/sublime.py 2022-06-13 11:08:18.000000000 +0200 +++ new/opi-2.8.0/opi/plugins/sublime.py 2022-08-09 15:59:20.000000000 +0200 @@ -5,7 +5,7 @@ class SublimeText(BasePlugin): main_query = "sublime" description = "Editor for code, markup and prose" - queries = ('sublime', 'sublime-text', 'sublimetext') + queries = ['sublime', 'sublime-text', 'sublimetext'] @classmethod def run(cls, query): diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/opi-2.7.0/opi/plugins/teamviewer.py new/opi-2.8.0/opi/plugins/teamviewer.py --- old/opi-2.7.0/opi/plugins/teamviewer.py 2022-06-13 11:08:18.000000000 +0200 +++ new/opi-2.8.0/opi/plugins/teamviewer.py 2022-08-09 15:59:20.000000000 +0200 @@ -6,7 +6,7 @@ class Teamviewer(BasePlugin): main_query = "teamviewer" description = "TeamViewer remote access" - queries = ('teamviewer') + queries = ['teamviewer'] @classmethod def run(cls, query): diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/opi-2.7.0/opi/plugins/vivaldi.py new/opi-2.8.0/opi/plugins/vivaldi.py --- old/opi-2.7.0/opi/plugins/vivaldi.py 2022-06-13 11:08:18.000000000 +0200 +++ new/opi-2.8.0/opi/plugins/vivaldi.py 2022-08-09 15:59:20.000000000 +0200 @@ -5,7 +5,7 @@ class Vivaldi(BasePlugin): main_query = "vivaldi" description = "Vivaldi web browser" - queries = ('vivaldi') + queries = ['vivaldi'] @classmethod def run(cls, query): diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/opi-2.7.0/opi/plugins/vs_code.py new/opi-2.8.0/opi/plugins/vs_code.py --- old/opi-2.7.0/opi/plugins/vs_code.py 2022-06-13 11:08:18.000000000 +0200 +++ new/opi-2.8.0/opi/plugins/vs_code.py 2022-08-09 15:59:20.000000000 +0200 @@ -5,7 +5,7 @@ class VSCode(BasePlugin): main_query = "vscode" description = "Microsoft Visual Studio Code" - queries = ('visualstudiocode', 'vscode', 'vsc') + queries = ['visualstudiocode', 'vscode', 'vsc'] @classmethod def run(cls, query): diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/opi-2.7.0/opi/plugins/vs_codium.py new/opi-2.8.0/opi/plugins/vs_codium.py --- old/opi-2.7.0/opi/plugins/vs_codium.py 2022-06-13 11:08:18.000000000 +0200 +++ new/opi-2.8.0/opi/plugins/vs_codium.py 2022-08-09 15:59:20.000000000 +0200 @@ -5,7 +5,7 @@ class VSCodium(BasePlugin): main_query = "vscodium" description = "Visual Studio Codium" - queries = ('visualstudiocodium', 'vscodium', 'codium') + queries = ['visualstudiocodium', 'vscodium', 'codium'] @classmethod def run(cls, query): diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/opi-2.7.0/opi/plugins/yandex-browser.py new/opi-2.8.0/opi/plugins/yandex-browser.py --- old/opi-2.7.0/opi/plugins/yandex-browser.py 1970-01-01 01:00:00.000000000 +0100 +++ new/opi-2.8.0/opi/plugins/yandex-browser.py 2022-08-09 15:59:20.000000000 +0200 @@ -0,0 +1,32 @@ +import opi +from opi.plugins import BasePlugin + +class YandexBrowser(BasePlugin): + main_query = "yandex-browser" + description = "Yandex web browser" + queries = ['yandex-browser-stable', 'yandex-browser-beta', 'yandex-browser'] + + @classmethod + def run(cls, query): + if not opi.ask_yes_or_no("Do you want to install yandex-browser from yandex-browser repository?", 'y'): + return + + print("Which version do you want to install?") + option = opi.ask_for_option(options=[ + 'yandex-browser-stable', + 'yandex-browser-beta', + ]) + + release = option.split('-')[2] + print("You have chosen %s", release) + + opi.add_repo( + filename = option, + name = option, + url = f'https://repo.yandex.ru/yandex-browser/rpm/{release}/$basearch/', + gpgkey = 'https://repo.yandex.ru/yandex-browser/YANDEX-BROWSER-KEY.GPG', + gpgcheck = False + ) + + opi.install_packages([option]) + opi.ask_keep_repo(option) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/opi-2.7.0/opi/plugins/yandex-disk.py new/opi-2.8.0/opi/plugins/yandex-disk.py --- old/opi-2.7.0/opi/plugins/yandex-disk.py 2022-06-13 11:08:18.000000000 +0200 +++ new/opi-2.8.0/opi/plugins/yandex-disk.py 2022-08-09 15:59:20.000000000 +0200 @@ -5,7 +5,7 @@ class YandexDisk(BasePlugin): main_query = "yandex-disk" description = "Yandex.Disk cloud storage client" - queries = ('yandex-disk') + queries = ['yandex-disk'] @classmethod def run(cls, query): diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/opi-2.7.0/opi/plugins/zoom.py new/opi-2.8.0/opi/plugins/zoom.py --- old/opi-2.7.0/opi/plugins/zoom.py 2022-06-13 11:08:18.000000000 +0200 +++ new/opi-2.8.0/opi/plugins/zoom.py 2022-08-09 15:59:20.000000000 +0200 @@ -5,7 +5,7 @@ class Zoom(BasePlugin): main_query = "zoom" description = "Zoom Video Conference" - queries = ('zoom') + queries = ['zoom'] @classmethod def run(cls, query): diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/opi-2.7.0/opi/version.py new/opi-2.8.0/opi/version.py --- old/opi-2.7.0/opi/version.py 2022-06-13 11:08:18.000000000 +0200 +++ new/opi-2.8.0/opi/version.py 2022-08-09 15:59:20.000000000 +0200 @@ -1 +1 @@ -__version__ = '2.7.0' +__version__ = '2.8.0' diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/opi-2.7.0/opi.changes new/opi-2.8.0/opi.changes --- old/opi-2.7.0/opi.changes 2022-06-13 11:08:18.000000000 +0200 +++ new/opi-2.8.0/opi.changes 2022-08-09 15:59:20.000000000 +0200 @@ -1,4 +1,13 @@ ------------------------------------------------------------------- +Tue Aug 9 13:58:57 UTC 2022 - Dominik Heidler <[email protected]> + +- Version 2.8.0 +- add anydesk +- add yandex browser +- Use list for plugin queries and check for conflicts +- Don't show projects with non-matching repo + +------------------------------------------------------------------- Mon Jun 13 09:08:05 UTC 2022 - Dominik Heidler <[email protected]> - Version 2.7.0 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/opi-2.7.0/test/04_check_plugins.py new/opi-2.8.0/test/04_check_plugins.py --- old/opi-2.7.0/test/04_check_plugins.py 2022-06-13 11:08:18.000000000 +0200 +++ new/opi-2.8.0/test/04_check_plugins.py 2022-08-09 15:59:20.000000000 +0200 @@ -12,4 +12,10 @@ print('Checking plugin: %s' % plugin) assert plugin.main_query != "" assert plugin.description != "" + assert isinstance(plugin.queries, list) assert plugin.main_query in plugin.queries, "Plugin main query must be in queries list" + for other_plugin in pm.plugins: + if plugin == other_plugin: + continue + common_queries = set(plugin.queries) & set(other_plugin.queries) + assert not common_queries, f"Conflict in queries between {plugin} and {other_plugin}: Both have {common_queries}"
