openSUSE Commits
Threads by month
- ----- 2024 -----
- April
- March
- February
- January
- ----- 2023 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2022 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2021 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2020 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2019 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2018 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2017 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2016 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2015 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2014 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2013 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2012 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2011 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2010 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2009 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2008 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2007 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2006 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
August 2021
- 1 participants
- 1985 discussions
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package python-oci-sdk for openSUSE:Factory checked in at 2021-08-30 13:55:22
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-oci-sdk (Old)
and /work/SRC/openSUSE:Factory/.python-oci-sdk.new.1899 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-oci-sdk"
Mon Aug 30 13:55:22 2021 rev:18 rq:914959 version:2.44.1
Changes:
--------
--- /work/SRC/openSUSE:Factory/python-oci-sdk/python-oci-sdk.changes 2021-08-04 22:29:26.817760847 +0200
+++ /work/SRC/openSUSE:Factory/.python-oci-sdk.new.1899/python-oci-sdk.changes 2021-08-30 13:55:42.061860349 +0200
@@ -1,0 +2,33 @@
+Wed Aug 25 11:42:49 UTC 2021 - John Paul Adrian Glaubitz <adrian.glaubitz(a)suse.com>
+
+- Update to version 2.44.1
+ * Support for generating recommended VM cluster networks in the Database service
+ * Support for creating VM cluster networks with a specified
+ listener port in the Database service
+- from version 2.44.0
+ * Support for getting management agent hosts which are eligible to create Operations
+ Insights host resources on, in the Operations Insights service
+ * Support for getting summarized agent counts and summarized plugin counts in the
+ Management Agent Cloud service
+ * Model `WorkSubmissionKey` was removed from Management Agent Cloud service
+ * Type for parameter `plugin_name` changed to `list[str]` from `str` in operation
+ `list_management_agent_plugins` in the Management Agent Cloud Service
+ * Type for parameter `version` changed to `list[str]` from `str` in operation
+ `list_management_agent_plugins` in the Management Agent Cloud Service
+ * Type for parameter `platform_type` changed to `list[str]` from `str` in operation
+ `list_management_agent_plugins` in the Management Agent Cloud Service
+- from version 2.43.2
+ * Support for manually copying volume group backups across regions
+ in the Block Volume service
+ * Support for work requests for the copy volume backup and copy boot volume
+ backup operations in the Block Volume service
+ * Support for specifying external Hive metastores during application
+ creation in the Data Flow service
+ * Support for changing the compartment of a backup in the MySQL Database service
+ * Support for model catalog features including provenance, metadata, schemas,
+ and artifact introspection in the Data Science service
+ * Support for Exadata system network bonding in the Database service
+ * Support for creating autonomous databases with early patching
+ enabled in the Database service
+
+-------------------------------------------------------------------
Old:
----
oci-python-sdk-2.43.1.tar.gz
New:
----
oci-python-sdk-2.44.1.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ python-oci-sdk.spec ++++++
--- /var/tmp/diff_new_pack.SogykV/_old 2021-08-30 13:55:42.825861330 +0200
+++ /var/tmp/diff_new_pack.SogykV/_new 2021-08-30 13:55:42.833861340 +0200
@@ -19,7 +19,7 @@
%{?!python_module:%define python_module() python-%{**} python3-%{**}}
%bcond_without python2
Name: python-oci-sdk
-Version: 2.43.1
+Version: 2.44.1
Release: 0
Summary: Oracle Cloud Infrastructure Python SDK
License: Apache-2.0 OR UPL-1.0
++++++ oci-python-sdk-2.43.1.tar.gz -> oci-python-sdk-2.44.1.tar.gz ++++++
/work/SRC/openSUSE:Factory/python-oci-sdk/oci-python-sdk-2.43.1.tar.gz /work/SRC/openSUSE:Factory/.python-oci-sdk.new.1899/oci-python-sdk-2.44.1.tar.gz differ: char 13, line 1
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package hugin for openSUSE:Factory checked in at 2021-08-30 13:55:21
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/hugin (Old)
and /work/SRC/openSUSE:Factory/.hugin.new.1899 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "hugin"
Mon Aug 30 13:55:21 2021 rev:69 rq:914957 version:2020.0.0
Changes:
--------
--- /work/SRC/openSUSE:Factory/hugin/hugin.changes 2021-08-16 10:17:30.170665076 +0200
+++ /work/SRC/openSUSE:Factory/.hugin.new.1899/hugin.changes 2021-08-30 13:55:41.069859076 +0200
@@ -1,0 +2,12 @@
+Thu Aug 12 01:47:14 UTC 2021 - Atri Bhattacharya <badshah400(a)gmail.com>
+
+- Add hugin-EGL-link-against-X11.patch: Link against X11 even when
+ building with EGL support
+ (https://bugs.launchpad.net/hugin/+bug/1938453).
+- Set up conditionals for building with EGL, but disable EGL
+ support until glew bug is fixed (gh#nigels-com/glew#315).
+- Switch bcond_with to build with system flann: library is now
+ available on all supported openSUSE versions.
+- Minor cleanup with spec-cleaner.
+
+-------------------------------------------------------------------
New:
----
hugin-EGL-link-against-X11.patch
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ hugin.spec ++++++
--- /var/tmp/diff_new_pack.z8wmqq/_old 2021-08-30 13:55:41.721859913 +0200
+++ /var/tmp/diff_new_pack.z8wmqq/_new 2021-08-30 13:55:41.729859923 +0200
@@ -16,11 +16,25 @@
#
+%define mversion 2020.0
%bcond_with hsi
-%bcond_with system_flann
+%bcond_without system_flann
%bcond_without lapack
-
+# Cannot use EGL unless glew bug https://github.com/nigels-com/glew/issues/315 is fixed
+%bcond_with egl
Name: hugin
+Version: 2020.0.0
+Release: 0
+Summary: Toolchain for Stitching of Images and Creating Panoramas
+License: GPL-2.0-or-later
+Group: Productivity/Graphics/Other
+URL: http://hugin.sourceforge.net/
+Source: http://downloads.sourceforge.net/project/%{name}/%{name}/%{name}-%{mversion…
+Patch0: hugin.appdata.patch
+# https://src.fedoraproject.org/rpms/hugin/blob/rawhide/f/hugin-openexr3.patch
+Patch1: hugin-openexr3.patch
+# PATCH-FIX-UPSTREAM hugin-EGL-link-against-X11.patch badshah400(a)gmail.com -- Link against X11 even when building with EGL support
+Patch2: hugin-EGL-link-against-X11.patch
BuildRequires: Mesa-devel
BuildRequires: OpenEXR-devel
BuildRequires: cmake >= 3.1.0
@@ -28,47 +42,39 @@
BuildRequires: exiftool
BuildRequires: fdupes
BuildRequires: fftw3-devel
-BuildRequires: libboost_filesystem-devel
-BuildRequires: libboost_system-devel
-%if %{with system_flann}
-BuildRequires: flann-devel
-%endif
BuildRequires: gcc-c++
BuildRequires: glew-devel
-%if %{with lapack}
-BuildRequires: lapack-devel
-%endif
+BuildRequires: libboost_filesystem-devel
+BuildRequires: libboost_system-devel
BuildRequires: libexiv2-devel
BuildRequires: libjpeg-devel
BuildRequires: liblcms2-devel
BuildRequires: libpano-devel >= 2.9.19
BuildRequires: libpng-devel
BuildRequires: libtiff-devel
-%if %{with hsi}
-BuildRequires: python-wxWidgets >= 3
-BuildRequires: swig
-%endif
-BuildRequires: pkg-config
+BuildRequires: pkgconfig
BuildRequires: sqlite3-devel
BuildRequires: update-desktop-files
BuildRequires: vigra-devel
-BuildRequires: wxGTK3-devel >= 3
-%define mversion 2020.0
-Version: 2020.0.0
-Release: 0
-Summary: Toolchain for Stitching of Images and Creating Panoramas
-License: GPL-2.0-or-later
-Group: Productivity/Graphics/Other
-URL: http://hugin.sourceforge.net/
-Source: http://downloads.sourceforge.net/project/%{name}/%{name}/%{name}-%{mversion…
-Patch0: hugin.appdata.patch
-# https://src.fedoraproject.org/rpms/hugin/blob/rawhide/f/hugin-openexr3.patch
-Patch1: hugin-openexr3.patch
+BuildRequires: wxGTK3-devel >= 3.1.5
Requires: enblend-enfuse >= 3.2
# needed for photo stiching (bnc#822775)
Requires: make
Recommends: autopano-sift-C
Recommends: exiftool
+%if %{with system_flann}
+BuildRequires: flann-devel
+%endif
+%if %{with lapack}
+BuildRequires: lapack-devel
+%endif
+%if %{with hsi}
+BuildRequires: python-wxWidgets >= 3
+BuildRequires: swig
+%endif
+%if %{with egl}
+BuildRequires: pkgconfig(egl)
+%endif
%description
Hugin can be used to stitch multiple images together. The resulting
@@ -83,6 +89,7 @@
%setup -q
%patch0
%patch1 -p1
+%patch2 -p1
chmod -x AUTHORS authors.txt Changes.txt README COPYING.txt
@@ -99,7 +106,8 @@
-DENABLE_LAPACK=%{?with_lapack:ON}%{!?with_lapack:OFF} \
-DBUILD_HSI=%{?with_hsi:ON}%{!?with_hsi:OFF} \
-DCMAKE_SKIP_RPATH:BOOL=OFF \
- -DUSE_GDKBACKEND_X11:BOOL=ON
+ -DBUILD_WITH_EGL:BOOL=%{?with_egl:ON}%{!?with_egl:OFF} \
+ -DUSE_GDKBACKEND_X11:BOOL=%{?with_egl:OFF}%{!?with_egl:ON}
%cmake_build
@@ -110,7 +118,7 @@
%suse_update_desktop_file PTBatcherGUI 2DGraphics
%suse_update_desktop_file calibrate_lens_gui 2DGraphics
# locales
-%{find_lang} %{name}
+%find_lang %{name}
# Use better place for MIME icon.
mkdir -p %{buildroot}%{_datadir}/icons/hicolor/48x48/mimetypes
@@ -135,6 +143,6 @@
%{_datadir}/metainfo/*xml
%dir %{_libdir}/hugin
%{_libdir}/hugin/*.so.*
-%doc %{_mandir}/man?/*.*
+%{_mandir}/man?/*.*
%changelog
++++++ hugin-EGL-link-against-X11.patch ++++++
Index: hugin-2020.0.0/CMakeLists.txt
===================================================================
--- hugin-2020.0.0.orig/CMakeLists.txt
+++ hugin-2020.0.0/CMakeLists.txt
@@ -256,7 +256,7 @@ IF(NOT HUGIN_SHARED OR NOT WIN32)
ADD_DEFINITIONS(-DGLEW_STATIC)
ENDIF()
-IF(NOT APPLE AND NOT WIN32 AND NOT HAVE_EGL)
+IF(NOT APPLE AND NOT WIN32)
MESSAGE(STATUS "Searching X11 header")
FIND_PACKAGE(X11 REQUIRED)
ENDIF()
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package opengreedy for openSUSE:Factory checked in at 2021-08-30 13:55:19
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/opengreedy (Old)
and /work/SRC/openSUSE:Factory/.opengreedy.new.1899 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "opengreedy"
Mon Aug 30 13:55:19 2021 rev:2 rq:914951 version:0.6
Changes:
--------
--- /work/SRC/openSUSE:Factory/opengreedy/opengreedy.changes 2021-08-26 23:16:26.904191790 +0200
+++ /work/SRC/openSUSE:Factory/.opengreedy.new.1899/opengreedy.changes 2021-08-30 13:55:40.145857890 +0200
@@ -1,0 +2,5 @@
+Mon Aug 30 07:06:51 UTC 2021 - Guillaume GARDET <guillaume.gardet(a)opensuse.org>
+
+- Drop SSE specific flags on non x86
+
+-------------------------------------------------------------------
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ opengreedy.spec ++++++
--- /var/tmp/diff_new_pack.0VHQd9/_old 2021-08-30 13:55:40.729858639 +0200
+++ /var/tmp/diff_new_pack.0VHQd9/_new 2021-08-30 13:55:40.733858645 +0200
@@ -47,6 +47,10 @@
%setup -q
%patch0 -p1
unzip %{SOURCE1} && mv basics-master ../basics
+%ifnarch %ix86 x86_64
+# Drop SSE specific flags
+sed -i 's/-msse -mfpmath=sse//' Build.mk
+%endif
%build
%make_build -C ../basics static
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package apache2-mod_auth_openidc for openSUSE:Factory checked in at 2021-08-30 13:55:18
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/apache2-mod_auth_openidc (Old)
and /work/SRC/openSUSE:Factory/.apache2-mod_auth_openidc.new.1899 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "apache2-mod_auth_openidc"
Mon Aug 30 13:55:18 2021 rev:22 rq:914953 version:2.4.9.3
Changes:
--------
--- /work/SRC/openSUSE:Factory/apache2-mod_auth_openidc/apache2-mod_auth_openidc.changes 2021-08-24 10:55:51.144243104 +0200
+++ /work/SRC/openSUSE:Factory/.apache2-mod_auth_openidc.new.1899/apache2-mod_auth_openidc.changes 2021-08-30 13:55:39.101856550 +0200
@@ -1,0 +2,7 @@
+Fri Aug 27 09:50:50 UTC 2021 - Michael Str��der <michael(a)stroeder.com>
+
+- update to 2.4.9.3
+ * Bugfixes
+ - don't apply authz to the redirect URI; fixes ac56864
+
+-------------------------------------------------------------------
Old:
----
mod_auth_openidc-2.4.9.2.tar.gz
New:
----
mod_auth_openidc-2.4.9.3.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ apache2-mod_auth_openidc.spec ++++++
--- /var/tmp/diff_new_pack.LbIGuk/_old 2021-08-30 13:55:39.729857356 +0200
+++ /var/tmp/diff_new_pack.LbIGuk/_new 2021-08-30 13:55:39.733857361 +0200
@@ -17,7 +17,7 @@
Name: apache2-mod_auth_openidc
-Version: 2.4.9.2
+Version: 2.4.9.3
Release: 0
Summary: Apache2.x module for an OpenID Connect enabled Identity Provider
License: Apache-2.0
++++++ mod_auth_openidc-2.4.9.2.tar.gz -> mod_auth_openidc-2.4.9.3.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/mod_auth_openidc-2.4.9.2/ChangeLog new/mod_auth_openidc-2.4.9.3/ChangeLog
--- old/mod_auth_openidc-2.4.9.2/ChangeLog 2021-08-20 19:25:39.000000000 +0200
+++ new/mod_auth_openidc-2.4.9.3/ChangeLog 2021-08-26 18:44:21.000000000 +0200
@@ -1,3 +1,6 @@
+08/26/2021
+- don't apply authz to the redirect URI; fixes ac5686495a51bc93e257e42bfdc9c9c46252feb1
+
08/20/2021
- fix graceful restart (regression); see #458; thanks @Foxite
- bump to 2.4.9.2
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/mod_auth_openidc-2.4.9.2/configure new/mod_auth_openidc-2.4.9.3/configure
--- old/mod_auth_openidc-2.4.9.2/configure 2021-08-23 15:33:22.000000000 +0200
+++ new/mod_auth_openidc-2.4.9.3/configure 2021-08-26 18:48:28.000000000 +0200
@@ -1,6 +1,6 @@
#! /bin/sh
# Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.71 for mod_auth_openidc 2.4.9.2.
+# Generated by GNU Autoconf 2.71 for mod_auth_openidc 2.4.9.3.
#
# Report bugs to <hans.zandbelt(a)zmartzone.eu>.
#
@@ -610,8 +610,8 @@
# Identity of this package.
PACKAGE_NAME='mod_auth_openidc'
PACKAGE_TARNAME='mod_auth_openidc'
-PACKAGE_VERSION='2.4.9.2'
-PACKAGE_STRING='mod_auth_openidc 2.4.9.2'
+PACKAGE_VERSION='2.4.9.3'
+PACKAGE_STRING='mod_auth_openidc 2.4.9.3'
PACKAGE_BUGREPORT='hans.zandbelt(a)zmartzone.eu'
PACKAGE_URL=''
@@ -1301,7 +1301,7 @@
# Omit some internal or obsolete options to make the list less imposing.
# This message is too long to be a string in the A/UX 3.1 sh.
cat <<_ACEOF
-\`configure' configures mod_auth_openidc 2.4.9.2 to adapt to many kinds of systems.
+\`configure' configures mod_auth_openidc 2.4.9.3 to adapt to many kinds of systems.
Usage: $0 [OPTION]... [VAR=VALUE]...
@@ -1364,7 +1364,7 @@
if test -n "$ac_init_help"; then
case $ac_init_help in
- short | recursive ) echo "Configuration of mod_auth_openidc 2.4.9.2:";;
+ short | recursive ) echo "Configuration of mod_auth_openidc 2.4.9.3:";;
esac
cat <<\_ACEOF
@@ -1478,7 +1478,7 @@
test -n "$ac_init_help" && exit $ac_status
if $ac_init_version; then
cat <<\_ACEOF
-mod_auth_openidc configure 2.4.9.2
+mod_auth_openidc configure 2.4.9.3
generated by GNU Autoconf 2.71
Copyright (C) 2021 Free Software Foundation, Inc.
@@ -1634,7 +1634,7 @@
This file contains any messages produced by compilers while
running configure, to aid debugging if configure makes a mistake.
-It was created by mod_auth_openidc $as_me 2.4.9.2, which was
+It was created by mod_auth_openidc $as_me 2.4.9.3, which was
generated by GNU Autoconf 2.71. Invocation command line was
$ $0$ac_configure_args_raw
@@ -2292,7 +2292,7 @@
-NAMEVER=mod_auth_openidc-2.4.9.2
+NAMEVER=mod_auth_openidc-2.4.9.3
# This section defines the --with-apxs2 option.
@@ -4952,7 +4952,7 @@
# report actual input values of CONFIG_FILES etc. instead of their
# values after options handling.
ac_log="
-This file was extended by mod_auth_openidc $as_me 2.4.9.2, which was
+This file was extended by mod_auth_openidc $as_me 2.4.9.3, which was
generated by GNU Autoconf 2.71. Invocation command line was
CONFIG_FILES = $CONFIG_FILES
@@ -5007,7 +5007,7 @@
cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
ac_cs_config='$ac_cs_config_escaped'
ac_cs_version="\\
-mod_auth_openidc config.status 2.4.9.2
+mod_auth_openidc config.status 2.4.9.3
configured by $0, generated by GNU Autoconf 2.71,
with options \\"\$ac_cs_config\\"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/mod_auth_openidc-2.4.9.2/configure.ac new/mod_auth_openidc-2.4.9.3/configure.ac
--- old/mod_auth_openidc-2.4.9.2/configure.ac 2021-08-20 19:25:46.000000000 +0200
+++ new/mod_auth_openidc-2.4.9.3/configure.ac 2021-08-26 18:46:49.000000000 +0200
@@ -1,4 +1,4 @@
-AC_INIT([mod_auth_openidc],[2.4.9.2],[hans.zandbelt(a)zmartzone.eu])
+AC_INIT([mod_auth_openidc],[2.4.9.3],[hans.zandbelt(a)zmartzone.eu])
AC_SUBST(NAMEVER, AC_PACKAGE_TARNAME()-AC_PACKAGE_VERSION())
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/mod_auth_openidc-2.4.9.2/src/mod_auth_openidc.c new/mod_auth_openidc-2.4.9.3/src/mod_auth_openidc.c
--- old/mod_auth_openidc-2.4.9.2/src/mod_auth_openidc.c 2021-08-19 19:58:34.000000000 +0200
+++ new/mod_auth_openidc-2.4.9.3/src/mod_auth_openidc.c 2021-08-26 18:39:11.000000000 +0200
@@ -4030,11 +4030,16 @@
oidc_debug(r, "enter: require_args=\"%s\"", require_args);
+ oidc_cfg *c = ap_get_module_config(r->server->module_config,
+ &auth_openidc_module);
+
/* check for anonymous access and PASS mode */
if (r->user != NULL && strlen(r->user) == 0) {
r->user = NULL;
if (oidc_dir_cfg_unauth_action(r) == OIDC_UNAUTH_PASS)
return AUTHZ_GRANTED;
+ if (oidc_util_request_matches_url(r, oidc_get_redirect_uri(r, c)) == TRUE)
+ return AUTHZ_GRANTED;
}
/* get the set of claims from the request state (they've been set in the authentication part earlier */
@@ -4114,11 +4119,16 @@
*/
int oidc_auth_checker(request_rec *r) {
+ oidc_cfg *c = ap_get_module_config(r->server->module_config,
+ &auth_openidc_module);
+
/* check for anonymous access and PASS mode */
if (r->user != NULL && strlen(r->user) == 0) {
r->user = NULL;
if (oidc_dir_cfg_unauth_action(r) == OIDC_UNAUTH_PASS)
return OK;
+ if (oidc_util_request_matches_url(r, oidc_get_redirect_uri(r, c)) == TRUE)
+ return OK;
}
/* get the set of claims from the request state (they've been set in the authentication part earlier */
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package arm-trusted-firmware for openSUSE:Factory checked in at 2021-08-30 13:55:17
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/arm-trusted-firmware (Old)
and /work/SRC/openSUSE:Factory/.arm-trusted-firmware.new.1899 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "arm-trusted-firmware"
Mon Aug 30 13:55:17 2021 rev:4 rq:914945 version:2.5
Changes:
--------
--- /work/SRC/openSUSE:Factory/arm-trusted-firmware/arm-trusted-firmware.changes 2021-06-18 10:14:11.502026400 +0200
+++ /work/SRC/openSUSE:Factory/.arm-trusted-firmware.new.1899/arm-trusted-firmware.changes 2021-08-30 13:55:37.453854435 +0200
@@ -1,0 +2,11 @@
+Tue Jul 6 12:16:36 UTC 2021 - Guillaume GARDET <guillaume.gardet(a)opensuse.org>
+
+- Update mv-ddr-marvell to use master branch as upstream recommends
+ This fixes build of a80x0_mcbin
+- Update A3700-utils-marvell to use master branch as upstream recommends
+- Re-enable A3700 tools with patch:
+ * fix-A3700-gcc11.patch
+- And refresh patch:
+ * A3700_utils-drop-git.patch
+
+-------------------------------------------------------------------
Old:
----
A3700-utils-marvell-18.12.tar.gz
mv-ddr-marvell-mv-ddr-devel.tar.gz
New:
----
A3700-utils-marvell-master.tar.gz
fix-A3700-gcc11.patch
mv-ddr-marvell-armada-atf-master.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ arm-trusted-firmware.spec ++++++
--- /var/tmp/diff_new_pack.2FABQZ/_old 2021-08-30 13:55:38.709856047 +0200
+++ /var/tmp/diff_new_pack.2FABQZ/_new 2021-08-30 13:55:38.713856052 +0200
@@ -26,8 +26,8 @@
%global debug_build 1
%endif
-# Disable A3700 tools until upstream fixed it - https://github.com/MarvellEmbeddedProcessors/A3700-utils-marvell/issues/22
-%bcond_with A3700_tools
+# Patch151 fixes the build with GCC11 - https://github.com/MarvellEmbeddedProcessors/A3700-utils-marvell/issues/22
+%bcond_without A3700_tools
%bcond_with atf_optee
@@ -53,9 +53,9 @@
Version: 2.5
Release: 0
%define srcversion 2.5
-%define mv_ddr_ver mv-ddr-devel
+%define mv_ddr_ver armada-atf-master
%define mv_bin_ver 10.0.1.0
-%define a3700_utils_ver 18.12
+%define a3700_utils_ver master
Summary: Arm Trusted Firmware-A
License: BSD-3-Clause
Group: System/Boot
@@ -67,18 +67,19 @@
# PATCH-FIX-UPSTREAM - https://review.trustedfirmware.org/c/TF-A/trusted-firmware-a/+/9990
Patch1: atf-2411053.diff
Patch150: A3700_utils-drop-git.patch
+Patch151: fix-A3700-gcc11.patch
%if "%{platform}" != ""
#!BuildIgnore: gcc-PIE
%endif
%if "%{platform}" == "a3700"
BuildRequires: arm-trusted-firmware-tools
+BuildRequires: cross-arm-none-newlib-devel
+BuildRequires: gcc-c++
+BuildRequires: libcryptopp-devel
%endif
%if "%{platform}" == "a3700" || "%{platform}" == "rk3399"
BuildRequires: cross-arm-none-gcc%{gcc_version}
%endif
-%if "%{platform}" == "a3700"
-BuildRequires: cross-arm-none-newlib-devel
-%endif
%if "%{platform}" == "a80x0_mcbin" && 0
BuildRequires: edk2-Armada80x0McBin
%endif
@@ -187,6 +188,8 @@
%else
%setup -q -n trusted-firmware-a-%{srcversion} -a 1 -a 3
%endif
+# git repo or branch.txt file are expected
+echo "%{mv_ddr_ver}" > mv-ddr-marvell-%{mv_ddr_ver}/branch.txt
%else
%if "%{platform}" == ""
%setup -q -n trusted-firmware-a-%{srcversion} -a 2
@@ -196,18 +199,25 @@
%endif
%if "%{platform}" == "" || "%{platform}" == "a3700"
pushd A3700-utils-marvell-%{a3700_utils_ver}
+# git repo or branch.txt file are expected
+echo "%{a3700_utils_ver}" > branch.txt
# Remove any pre-built x86 Linux binaries
rm -f wtptp/linux/*
%if "%{platform}" != ""
install -m 0755 %{_bindir}/TBB wtptp/linux/tbb_linux
%endif
%patch150 -p1
+%patch151 -p1
popd
%endif
%patch1 -p1
%build
export BUILD_MESSAGE_TIMESTAMP="\"$(date -d "$(head -n 2 %{_sourcedir}/arm-trusted-firmware.changes | tail -n 1 | cut -d- -f1 )" -u "+%%H:%%M:%%S, %%b %%e %%Y")\""
+%if "%{platform}" == "a3700"
+export CRYPTOPP_LIBDIR=%{_libdir}
+export CRYPTOPP_INCDIR=%{_includedir}/cryptopp
+%endif
%if "%{platform}" == ""
@@ -304,6 +314,9 @@
%endif
%if "%{platform}" == "a3700" || "%{platform}" == "a80x0_mcbin"
mrvl_flash \
+%if "%{platform}" == "a3700"
+ mrvl_uart \
+%endif
%endif
all fip
%if "%{platform}" == "a3700"
++++++ A3700_utils-drop-git.patch ++++++
--- /var/tmp/diff_new_pack.2FABQZ/_old 2021-08-30 13:55:38.741856088 +0200
+++ /var/tmp/diff_new_pack.2FABQZ/_new 2021-08-30 13:55:38.741856088 +0200
@@ -1,12 +1,10 @@
-diff --git a/wtmi/sys_init/Makefile b/wtmi/sys_init/Makefile
-index 3037e7c..9237eb4 100644
---- a/wtmi/sys_init/Makefile
-+++ b/wtmi/sys_init/Makefile
+--- A3700-utils-marvell-master/wtmi/sys_init/Makefile.orig 2021-07-06 14:15:03.579538716 +0200
++++ A3700-utils-marvell-master/wtmi/sys_init/Makefile 2021-07-06 14:15:14.771664652 +0200
@@ -51,8 +51,7 @@ ECHO = @echo
SED = @sed
LOCAL_VERSION_STRING ?= -armada
--BUILD_STRING := $(shell git log -n 1 --pretty=format:"%h")
+-BUILD_STRING := $(shell git log -n 1 --pretty=format:"%h" && (git diff-index --quiet HEAD || echo -dirty))
-VERSION_STRING := $(LOCAL_VERSION_STRING)-$(BUILD_STRING)
+VERSION_STRING := $(LOCAL_VERSION_STRING)
++++++ _service ++++++
--- /var/tmp/diff_new_pack.2FABQZ/_old 2021-08-30 13:55:38.777856134 +0200
+++ /var/tmp/diff_new_pack.2FABQZ/_new 2021-08-30 13:55:38.781856139 +0200
@@ -3,8 +3,8 @@
<param name="url">https://github.com/MarvellEmbeddedProcessors/mv-ddr-marvell.git</param>
<param name="scm">git</param>
<param name="filename">mv-ddr-marvell-armada-atf</param>
- <param name="versionformat">mainline</param>
- <param name="revision">refs/heads/mv_ddr-armada-atf-mainline</param>
+ <param name="versionformat">master</param>
+ <param name="revision">55139f6e5893201c908f9d9c91bc76858def83a6</param>
</service>
<service name="recompress" mode="disabled">
<param name="file">*mv-ddr-marvell*.tar</param>
@@ -27,8 +27,8 @@
<param name="url">https://github.com/MarvellEmbeddedProcessors/A3700-utils-marvell.git</param>
<param name="scm">git</param>
<param name="filename">A3700-utils-marvell</param>
- <param name="versionformat">18.12</param>
- <param name="revision">refs/heads/A3700_utils-armada-18.12-fixed</param>
+ <param name="versionformat">master</param>
+ <param name="revision">2efdb10f3524c534d276002adf81fec06e0f1cf2</param>
</service>
<service name="recompress" mode="disabled">
<param name="file">*A3700-utils-marvell*.tar</param>
++++++ fix-A3700-gcc11.patch ++++++
diff --git a/wtptp/src/TBB_Linux/src/TimDescriptorParser.cpp b/wtptp/src/TBB_Linux/src/TimDescriptorParser.cpp
index 294c17b4e4fb..cba1362ad89e 100644
--- a/wtptp/src/TBB_Linux/src/TimDescriptorParser.cpp
+++ b/wtptp/src/TBB_Linux/src/TimDescriptorParser.cpp
@@ -2682,7 +2682,7 @@ bool CTimDescriptorParser::ParseExtendedReservedData(
}
if (m_TimDescriptor.ImagesList().size() > 0) {
CImageDescription* pImage = (*(m_TimDescriptor.ImagesList().begin()));
- if (pImage > 0
+ if (pImage != 0
&& ((Translate(pImage->ImageIdTag()) & TYPEMASK)
== (TIMIDENTIFIER & TYPEMASK))) {
if (pImage->ImageSizeToHash() == pImage->ImageSize())
diff --git a/wtptp/src/Wtpdownloader_Linux/makefile.mk b/wtptp/src/Wtpdownloader_Linux/makefile.mk
index 4597b79202be..6c39406b57f3 100644
--- a/wtptp/src/Wtpdownloader_Linux/makefile.mk
+++ b/wtptp/src/Wtpdownloader_Linux/makefile.mk
@@ -11,7 +11,7 @@ IPP_STATIC_LIB_DIR = $(IPP_PATH)/lib
OBJECTS = WtpStatus.o WtpCommand.o Misc.o WtpException.o WtpImage.o Port.o ProtocolManager.o USBPortLinux.o UARTPortLinux.o TimParser.o CommandlineParser.o TimLib.o WtpDownloadApp.o \
-CXXFLAGS = -Wno-deprecated -D LINUX=1 -D TOOLS_GUI=0 -D IPPV6=1 -D TRUSTED=1 -D DEV_DEBUG=0 -I $(COMMON_SRC)
+CXXFLAGS = -std=c++11 -Wno-deprecated -D LINUX=1 -D TOOLS_GUI=0 -D IPPV6=1 -D TRUSTED=1 -D DEV_DEBUG=0 -I $(COMMON_SRC)
WTP_CXXFLAGS = $(CXXFLAGS) -I $(WTP_INCLUDE)
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package python-flex for openSUSE:Factory checked in at 2021-08-30 13:55:15
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-flex (Old)
and /work/SRC/openSUSE:Factory/.python-flex.new.1899 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-flex"
Mon Aug 30 13:55:15 2021 rev:5 rq:914915 version:6.14.1
Changes:
--------
--- /work/SRC/openSUSE:Factory/python-flex/python-flex.changes 2021-05-16 23:44:19.145091758 +0200
+++ /work/SRC/openSUSE:Factory/.python-flex.new.1899/python-flex.changes 2021-08-30 13:55:34.921851185 +0200
@@ -1,0 +2,6 @@
+Sun Aug 29 22:33:20 UTC 2021 - Matej Cepl <mcepl(a)suse.com>
+
+- Problems with gh#pipermerriam/flex#234 are not isolated just to
+ Python 3.9.
+
+-------------------------------------------------------------------
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ python-flex.spec ++++++
--- /var/tmp/diff_new_pack.ST2BHd/_old 2021-08-30 13:55:36.265852910 +0200
+++ /var/tmp/diff_new_pack.ST2BHd/_new 2021-08-30 13:55:36.269852916 +0200
@@ -71,9 +71,8 @@
%python_expand %fdupes %{buildroot}%{$python_sitelib}
%check
-# https://github.com/pipermerriam/flex/issues/234
-python39_donttest=" or (test_request_parameter_array_extraction and tsv)"
-%pytest -k "not (donttestdummyprefix ${$python_donttest})"
+# gh#pipermerriam/flex#234
+%pytest -k "not (donttestdummyprefix or (test_request_parameter_array_extraction and tsv))"
%post
%python_install_alternative swagger-flex
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package live-net-installer for openSUSE:Factory checked in at 2021-08-30 13:55:15
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/live-net-installer (Old)
and /work/SRC/openSUSE:Factory/.live-net-installer.new.1899 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "live-net-installer"
Mon Aug 30 13:55:15 2021 rev:19 rq:914908 version:1.0
Changes:
--------
--- /work/SRC/openSUSE:Factory/live-net-installer/live-net-installer.changes 2021-07-07 18:32:00.502271193 +0200
+++ /work/SRC/openSUSE:Factory/.live-net-installer.new.1899/live-net-installer.changes 2021-08-30 13:55:33.361849183 +0200
@@ -1,0 +2,6 @@
+Sun Aug 29 20:46:48 UTC 2021 - Fabian Vogt <fabian(a)ritter-vogt.de>
+
+- Mount a tmpfs on repos.d to avoid influence on the running system
+ and duplicate repos in the target
+
+-------------------------------------------------------------------
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ start-install.sh ++++++
--- /var/tmp/diff_new_pack.pGDtxB/_old 2021-08-30 13:55:34.169850220 +0200
+++ /var/tmp/diff_new_pack.pGDtxB/_new 2021-08-30 13:55:34.169850220 +0200
@@ -54,7 +54,10 @@
# Run YaST in a separate mount namespace to avoid that it messes with the
# running system.
-unshare -m /usr/lib/YaST2/startup/YaST2.call installation initial
+# Mount an empty tmpfs on top of repos.d inside. This avoids that YaST modifies
+# the running system's configuration, and also avoids that preexisting repos are
+# copied into the target system, causing duplicates.
+unshare -m sh -c 'mount -t tmpfs tmpfs /etc/zypp/repos.d && /usr/lib/YaST2/startup/YaST2.call installation initial'
# YaST replaces this with a symlink into the destination, fix it up manually
if [ -L /var/cache/zypp ]; then
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package python-msk for openSUSE:Factory checked in at 2021-08-30 13:55:13
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-msk (Old)
and /work/SRC/openSUSE:Factory/.python-msk.new.1899 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-msk"
Mon Aug 30 13:55:13 2021 rev:7 rq:914946 version:0.3.16
Changes:
--------
--- /work/SRC/openSUSE:Factory/python-msk/python-msk.changes 2020-05-26 17:23:08.744468244 +0200
+++ /work/SRC/openSUSE:Factory/.python-msk.new.1899/python-msk.changes 2021-08-30 13:55:31.817847201 +0200
@@ -1,0 +2,22 @@
+Mon Aug 30 06:51:52 UTC 2021 - Steve Kowalik <steven.kowalik(a)suse.com>
+
+- Correct Require for python-GitPython and python-PyGithub.
+
+-------------------------------------------------------------------
+Wed Aug 25 10:24:48 UTC 2021 - John Paul Adrian Glaubitz <adrian.glaubitz(a)suse.com>
+
+- Update to version 0.3.16
+ * Ensure local HEAD matches remote during upgrade (#36)
+ * Remove typing dependency - only required for Python <= 3.4 (#45)
+ * Include license file in sdist package (#47)
+ * Add default icon and color during Skill creation (#52)
+ * Improved category selection and display (#53)
+ * Improve PyPI listing info (#51)
+- from version 0.3.15
+ * Switch Github authentication to utilize Personal Access Tokens as the
+ existing username and password method is being deprecated.
+ * Fix handling of --repo-cache argument.
+ * Query for name and e-mail if missing.
+- Update Requires in setup.py
+
+-------------------------------------------------------------------
Old:
----
msk-0.3.14.tar.gz
New:
----
msk-0.3.16.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ python-msk.spec ++++++
--- /var/tmp/diff_new_pack.n3P03e/_old 2021-08-30 13:55:32.465848033 +0200
+++ /var/tmp/diff_new_pack.n3P03e/_new 2021-08-30 13:55:32.469848038 +0200
@@ -1,7 +1,7 @@
#
# spec file for package python-msk
#
-# Copyright (c) 2020 SUSE LLC
+# Copyright (c) 2021 SUSE LLC
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@@ -19,7 +19,7 @@
%define skip_python2 1
%{?!python_module:%define python_module() python-%{**} python3-%{**}}
Name: python-msk
-Version: 0.3.14
+Version: 0.3.16
Release: 0
Summary: Mycroft Skills Kit
License: Apache-2.0
@@ -30,11 +30,11 @@
BuildRequires: %{python_module setuptools}
BuildRequires: fdupes
BuildRequires: python-rpm-macros
-Requires: python-GitPython
+Requires: python-GitPython >= 3.0.5
Requires: python-PyGithub
Requires: python-msm >= 0.5.13
Requires(post): update-alternatives
-Requires(postun): update-alternatives
+Requires(postun):update-alternatives
BuildArch: noarch
%ifpython2
Requires: python-typing
++++++ msk-0.3.14.tar.gz -> msk-0.3.16.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/msk-0.3.14/LICENSE new/msk-0.3.16/LICENSE
--- old/msk-0.3.14/LICENSE 1970-01-01 01:00:00.000000000 +0100
+++ new/msk-0.3.16/LICENSE 2020-06-03 13:01:17.000000000 +0200
@@ -0,0 +1,176 @@
+ Apache License
+ Version 2.0, January 2004
+ http://www.apache.org/licenses/
+
+ TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
+
+ 1. Definitions.
+
+ "License" shall mean the terms and conditions for use, reproduction,
+ and distribution as defined by Sections 1 through 9 of this document.
+
+ "Licensor" shall mean the copyright owner or entity authorized by
+ the copyright owner that is granting the License.
+
+ "Legal Entity" shall mean the union of the acting entity and all
+ other entities that control, are controlled by, or are under common
+ control with that entity. For the purposes of this definition,
+ "control" means (i) the power, direct or indirect, to cause the
+ direction or management of such entity, whether by contract or
+ otherwise, or (ii) ownership of fifty percent (50%) or more of the
+ outstanding shares, or (iii) beneficial ownership of such entity.
+
+ "You" (or "Your") shall mean an individual or Legal Entity
+ exercising permissions granted by this License.
+
+ "Source" form shall mean the preferred form for making modifications,
+ including but not limited to software source code, documentation
+ source, and configuration files.
+
+ "Object" form shall mean any form resulting from mechanical
+ transformation or translation of a Source form, including but
+ not limited to compiled object code, generated documentation,
+ and conversions to other media types.
+
+ "Work" shall mean the work of authorship, whether in Source or
+ Object form, made available under the License, as indicated by a
+ copyright notice that is included in or attached to the work
+ (an example is provided in the Appendix below).
+
+ "Derivative Works" shall mean any work, whether in Source or Object
+ form, that is based on (or derived from) the Work and for which the
+ editorial revisions, annotations, elaborations, or other modifications
+ represent, as a whole, an original work of authorship. For the purposes
+ of this License, Derivative Works shall not include works that remain
+ separable from, or merely link (or bind by name) to the interfaces of,
+ the Work and Derivative Works thereof.
+
+ "Contribution" shall mean any work of authorship, including
+ the original version of the Work and any modifications or additions
+ to that Work or Derivative Works thereof, that is intentionally
+ submitted to Licensor for inclusion in the Work by the copyright owner
+ or by an individual or Legal Entity authorized to submit on behalf of
+ the copyright owner. For the purposes of this definition, "submitted"
+ means any form of electronic, verbal, or written communication sent
+ to the Licensor or its representatives, including but not limited to
+ communication on electronic mailing lists, source code control systems,
+ and issue tracking systems that are managed by, or on behalf of, the
+ Licensor for the purpose of discussing and improving the Work, but
+ excluding communication that is conspicuously marked or otherwise
+ designated in writing by the copyright owner as "Not a Contribution."
+
+ "Contributor" shall mean Licensor and any individual or Legal Entity
+ on behalf of whom a Contribution has been received by Licensor and
+ subsequently incorporated within the Work.
+
+ 2. Grant of Copyright License. Subject to the terms and conditions of
+ this License, each Contributor hereby grants to You a perpetual,
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+ copyright license to reproduce, prepare Derivative Works of,
+ publicly display, publicly perform, sublicense, and distribute the
+ Work and such Derivative Works in Source or Object form.
+
+ 3. Grant of Patent License. Subject to the terms and conditions of
+ this License, each Contributor hereby grants to You a perpetual,
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+ (except as stated in this section) patent license to make, have made,
+ use, offer to sell, sell, import, and otherwise transfer the Work,
+ where such license applies only to those patent claims licensable
+ by such Contributor that are necessarily infringed by their
+ Contribution(s) alone or by combination of their Contribution(s)
+ with the Work to which such Contribution(s) was submitted. If You
+ institute patent litigation against any entity (including a
+ cross-claim or counterclaim in a lawsuit) alleging that the Work
+ or a Contribution incorporated within the Work constitutes direct
+ or contributory patent infringement, then any patent licenses
+ granted to You under this License for that Work shall terminate
+ as of the date such litigation is filed.
+
+ 4. Redistribution. You may reproduce and distribute copies of the
+ Work or Derivative Works thereof in any medium, with or without
+ modifications, and in Source or Object form, provided that You
+ meet the following conditions:
+
+ (a) You must give any other recipients of the Work or
+ Derivative Works a copy of this License; and
+
+ (b) You must cause any modified files to carry prominent notices
+ stating that You changed the files; and
+
+ (c) You must retain, in the Source form of any Derivative Works
+ that You distribute, all copyright, patent, trademark, and
+ attribution notices from the Source form of the Work,
+ excluding those notices that do not pertain to any part of
+ the Derivative Works; and
+
+ (d) If the Work includes a "NOTICE" text file as part of its
+ distribution, then any Derivative Works that You distribute must
+ include a readable copy of the attribution notices contained
+ within such NOTICE file, excluding those notices that do not
+ pertain to any part of the Derivative Works, in at least one
+ of the following places: within a NOTICE text file distributed
+ as part of the Derivative Works; within the Source form or
+ documentation, if provided along with the Derivative Works; or,
+ within a display generated by the Derivative Works, if and
+ wherever such third-party notices normally appear. The contents
+ of the NOTICE file are for informational purposes only and
+ do not modify the License. You may add Your own attribution
+ notices within Derivative Works that You distribute, alongside
+ or as an addendum to the NOTICE text from the Work, provided
+ that such additional attribution notices cannot be construed
+ as modifying the License.
+
+ You may add Your own copyright statement to Your modifications and
+ may provide additional or different license terms and conditions
+ for use, reproduction, or distribution of Your modifications, or
+ for any such Derivative Works as a whole, provided Your use,
+ reproduction, and distribution of the Work otherwise complies with
+ the conditions stated in this License.
+
+ 5. Submission of Contributions. Unless You explicitly state otherwise,
+ any Contribution intentionally submitted for inclusion in the Work
+ by You to the Licensor shall be under the terms and conditions of
+ this License, without any additional terms or conditions.
+ Notwithstanding the above, nothing herein shall supersede or modify
+ the terms of any separate license agreement you may have executed
+ with Licensor regarding such Contributions.
+
+ 6. Trademarks. This License does not grant permission to use the trade
+ names, trademarks, service marks, or product names of the Licensor,
+ except as required for reasonable and customary use in describing the
+ origin of the Work and reproducing the content of the NOTICE file.
+
+ 7. Disclaimer of Warranty. Unless required by applicable law or
+ agreed to in writing, Licensor provides the Work (and each
+ Contributor provides its Contributions) on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+ implied, including, without limitation, any warranties or conditions
+ of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
+ PARTICULAR PURPOSE. You are solely responsible for determining the
+ appropriateness of using or redistributing the Work and assume any
+ risks associated with Your exercise of permissions under this License.
+
+ 8. Limitation of Liability. In no event and under no legal theory,
+ whether in tort (including negligence), contract, or otherwise,
+ unless required by applicable law (such as deliberate and grossly
+ negligent acts) or agreed to in writing, shall any Contributor be
+ liable to You for damages, including any direct, indirect, special,
+ incidental, or consequential damages of any character arising as a
+ result of this License or out of the use or inability to use the
+ Work (including but not limited to damages for loss of goodwill,
+ work stoppage, computer failure or malfunction, or any and all
+ other commercial damages or losses), even if such Contributor
+ has been advised of the possibility of such damages.
+
+ 9. Accepting Warranty or Additional Liability. While redistributing
+ the Work or Derivative Works thereof, You may choose to offer,
+ and charge a fee for, acceptance of support, warranty, indemnity,
+ or other liability obligations and/or rights consistent with this
+ License. However, in accepting such obligations, You may act only
+ on Your own behalf and on Your sole responsibility, not on behalf
+ of any other Contributor, and only if You agree to indemnify,
+ defend, and hold each Contributor harmless for any liability
+ incurred by, or claims asserted against, such Contributor by reason
+ of your accepting any such warranty or additional liability.
+
+ END OF TERMS AND CONDITIONS
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/msk-0.3.14/MANIFEST.in new/msk-0.3.16/MANIFEST.in
--- old/msk-0.3.14/MANIFEST.in 1970-01-01 01:00:00.000000000 +0100
+++ new/msk-0.3.16/MANIFEST.in 2020-09-09 08:33:05.000000000 +0200
@@ -0,0 +1 @@
+include LICENSE
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/msk-0.3.14/PKG-INFO new/msk-0.3.16/PKG-INFO
--- old/msk-0.3.14/PKG-INFO 2019-12-03 09:27:23.000000000 +0100
+++ new/msk-0.3.16/PKG-INFO 2020-09-09 08:37:06.000000000 +0200
@@ -1,6 +1,6 @@
-Metadata-Version: 1.2
+Metadata-Version: 2.1
Name: msk
-Version: 0.3.14
+Version: 0.3.16
Summary: Mycroft Skills Kit
Home-page: https://github.com/MycroftAI/mycroft-skills-kit
Author: Mycroft AI
@@ -8,5 +8,68 @@
Maintainer: Matthew Scholefield
Maintainer-email: matthew331199(a)gmail.com
License: Apache-2.0
-Description: UNKNOWN
+Description: # Mycroft Skills Kit
+
+ *Mycroft Skills Kit*
+
+ [![msk-create](https://images2.imgbox.com/ab/25/6kbqKbXh_o.gif)](https://asciinema.org/a/X5pWLPOpsMLUPYp5kgswNm5Zu?speed=1.5)
+
+ A tool to help with creating, uploading, and upgrading Mycroft skills on the
+ [skills repo](https://github.com/mycroftai/mycroft-skills).
+
+ ## Features
+
+ - Create a new skill
+ - Create an intent test for a skill
+ - Upload a skill
+ - Upgrade an existing skill
+
+ ## Install
+
+ *Note: Only Linux has been tested*
+
+ ```bash
+ pip3 install msk
+ ```
+
+ ## Usage
+
+ ```bash
+ msk create
+ msk create-test /opt/mycroft/skills/myskill
+ msk submit /opt/mycroft/skills/myskill
+ ```
+ ### Creating a New Skill
+
+ `msk create`:
+
+ [![msk-create](https://images2.imgbox.com/ab/25/6kbqKbXh_o.gif)](https://asciinema.org/a/X5pWLPOpsMLUPYp5kgswNm5Zu?speed=1.5)
+
+ ### Creating Tests
+
+ `msk create-test /opt/mycroft/skills/myskill`:
+
+ [![msk-create-test](https://images2.imgbox.com/9c/c8/gLRS7xuL_o.gif)](https://asciinema.org/a/Ayzaj6QJbKGBfs2eIQWr11idH?speed=1.5)
+
+ ## Submitting a new skill / Updating existing skill
+
+ `msk submit /opt/mycroft/skills/myskill`:
+
+ [![msk-submit](https://images2.imgbox.com/7a/5f/RcBxgLXc_o.gif)](https://asciinema.org/a/242108)
+
+ --or--
+
+ ```bash
+ cd /opt/mycroft/skills/myskill
+ msk submit .
+ ```
+
Platform: UNKNOWN
+Classifier: Development Status :: 4 - Beta
+Classifier: Intended Audience :: Developers
+Classifier: License :: OSI Approved :: Apache Software License
+Classifier: Programming Language :: Python :: 3.5
+Classifier: Programming Language :: Python :: 3.6
+Classifier: Programming Language :: Python :: 3.7
+Classifier: Programming Language :: Python :: 3.8
+Description-Content-Type: text/markdown
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/msk-0.3.14/msk/__init__.py new/msk-0.3.16/msk/__init__.py
--- old/msk-0.3.14/msk/__init__.py 2019-12-03 09:25:02.000000000 +0100
+++ new/msk-0.3.16/msk/__init__.py 2020-09-09 07:35:31.000000000 +0200
@@ -1,22 +1,18 @@
# Copyright (c) 2018 Mycroft AI, Inc.
#
-# This file is part of Mycroft Light
-# (see https://github.com/MatthewScholefield/mycroft-light).
+# This file is part of Mycroft Skills Kit
+# (see https://github.com/MycroftAI/mycroft-skills-kit).
#
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements. See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership. The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License. You may obtain a copy of the License at
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
#
-# http://www.apache.org/licenses/LICENSE-2.0
+# http://www.apache.org/licenses/LICENSE-2.0
#
-# Unless required by applicable law or agreed to in writing,
-# software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-# KIND, either express or implied. See the License for the
-# specific language governing permissions and limitations
-# under the License.
-__version__ = '0.3.14' # Also update in setup.py
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+__version__ = '0.3.16' # Also update in setup.py
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/msk-0.3.14/msk/__main__.py new/msk-0.3.16/msk/__main__.py
--- old/msk-0.3.14/msk/__main__.py 2018-11-21 12:10:51.000000000 +0100
+++ new/msk-0.3.16/msk/__main__.py 2020-09-09 07:19:29.000000000 +0200
@@ -1,24 +1,20 @@
# Copyright (c) 2018 Mycroft AI, Inc.
#
-# This file is part of Mycroft Light
-# (see https://github.com/MatthewScholefield/mycroft-light).
+# This file is part of Mycroft Skills Kit
+# (see https://github.com/MycroftAI/mycroft-skills-kit).
#
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements. See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership. The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License. You may obtain a copy of the License at
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
#
-# http://www.apache.org/licenses/LICENSE-2.0
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
#
-# Unless required by applicable law or agreed to in writing,
-# software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-# KIND, either express or implied. See the License for the
-# specific language governing permissions and limitations
-# under the License.
import sys
from argparse import ArgumentParser
@@ -29,7 +25,7 @@
from msk.actions.submit import SubmitAction
from msk.exceptions import MskException
from msk.global_context import GlobalContext
-
+from msk.util import ensure_git_user
action_names = {
SubmitAction: ['submit', 'update', 'upgrade', 'upload'],
CreateAction: ['create'],
@@ -44,7 +40,6 @@
parser.add_argument('-b', '--repo-branch', help='Branch of skills repo to upload to')
parser.add_argument('-s', '--skills-dir', help='Directory to look for skills in')
parser.add_argument('-c', '--repo-cache', help='Location to store local skills repo clone')
- parser.add_argument('-t', '--use-token', action='store_true')
subparsers = parser.add_subparsers(dest='action')
subparsers.required = True
@@ -55,12 +50,14 @@
args = parser.parse_args(sys.argv[1:])
+ ensure_git_user()
context = GlobalContext()
context.lang = args.lang
context.msm = MycroftSkillsManager(
- skills_dir=args.skills_dir, repo=SkillRepo(url=args.repo_url, branch=args.repo_branch)
+ skills_dir=args.skills_dir, repo=SkillRepo(url=args.repo_url,
+ branch=args.repo_branch,
+ path=args.repo_cache)
)
- context.use_token = args.use_token
context.branch = context.msm.repo.branch
try:
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/msk-0.3.14/msk/actions/create.py new/msk-0.3.16/msk/actions/create.py
--- old/msk-0.3.14/msk/actions/create.py 2019-11-23 15:53:27.000000000 +0100
+++ new/msk-0.3.16/msk/actions/create.py 2020-09-09 08:33:05.000000000 +0200
@@ -1,24 +1,20 @@
# Copyright (c) 2018 Mycroft AI, Inc.
#
-# This file is part of Mycroft Light
-# (see https://github.com/MatthewScholefield/mycroft-light).
+# This file is part of Mycroft Skills Kit
+# (see https://github.com/MycroftAI/mycroft-skills-kit).
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
#
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements. See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership. The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License. You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing,
-# software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-# KIND, either express or implied. See the License for the
-# specific language governing permissions and limitations
-# under the License.
import atexit
import re
@@ -39,7 +35,7 @@
from msk.exceptions import GithubRepoExists, UnrelatedGithubHistory
from msk.lazy import Lazy
from msk.util import ask_input, to_camel, ask_yes_no, ask_input_lines, \
- print_error, get_licenses
+ print_error, get_licenses, ask_choice
readme_template = '''# <img src="https://raw.githack.com/FortAwesome/Font-Awesome/master/svgs/solid/{icon}.s…" card_color="{color}" width="50" height="50" style="vertical-align:bottom"/> \
{title_name}
@@ -212,34 +208,28 @@
).strip().capitalize())
icon = Lazy(lambda s: ask_input(
'Go to Font Awesome ({blue}fontawesome.com/cheatsheet{reset}) and choose an icon.'
- '\nEnter the name of the icon:'.format(blue=Fore.BLUE + Style.BRIGHT, reset=Style.RESET_ALL),
+ '\nEnter the name of the icon (default: robot):'.format(blue=Fore.BLUE + Style.BRIGHT, reset=Style.RESET_ALL),
validator=lambda x:
- requests.get("https://raw.githack.com/FortAwesome/Font-Awesome/"
- "master/svgs/solid/{x}.svg".format(x=x)).ok,
+ x == '' or requests.get("https://raw.githack.com/FortAwesome/Font-Awesome/"
+ "master/svgs/solid/{x}.svg".format(x=x)).ok,
on_fail="\n\n{red}Error: The name was not found. Make sure you spelled the icon name right,"
" and try again.{reset}\n".format(red=Fore.RED + Style.BRIGHT, reset=Style.RESET_ALL)))
color = Lazy(lambda s: ask_input(
"Pick a {yellow}color{reset} for your icon. Find a color that matches the color scheme at"
" {blue}mycroft.ai/colors{reset}, or pick a color at: {blue}color-hex.com.{reset}"
- "\nEnter the color hex code (including the #):".format(blue=Fore.BLUE + Style.BRIGHT, yellow=Fore.YELLOW, reset=Style.RESET_ALL),
- validator=lambda hex_code: hex_code[0] == "#" and len(hex_code) in [4, 7],
+ "\nEnter the color hex code including the # (default: #22A7F0):".format(blue=Fore.BLUE + Style.BRIGHT, yellow=Fore.YELLOW, reset=Style.RESET_ALL),
+ validator=lambda hex_code:
+ hex_code == '' or hex_code[0] == "#" and len(hex_code) in [4, 7],
on_fail="\n{red}Check that you entered a correct hex code, and try again.{reset}\n".format(
red=Fore.RED + Style.BRIGHT,
reset=Style.RESET_ALL)
))
- category_options = [
- 'Daily', 'Configuration', 'Entertainment', 'Information', 'IoT',
- 'Music & Audio', 'Media', 'Productivity', 'Transport']
- category_primary = Lazy(lambda s: ask_input(
- '\nCategories define where the skill will display in the Marketplace. It must be one of the following: \n{}. \nEnter the primary category for your skill: \n-'.format(
- ', '.join(s.category_options)),
- lambda x: x in s.category_options
- ))
- categories_other = Lazy(lambda s: [
- i.capitalize() for i in ask_input_lines(
- 'Enter additional categories (optional):', '-'
- )
- ])
+
+ category_options = ['Daily', 'Configuration', 'Entertainment', 'Information', 'IoT',
+ 'Music & Audio', 'Media', 'Productivity', 'Transport']
+ category_primary = Lazy(lambda s: s.ask_category_primary())
+ categories_other= Lazy(lambda s: s.ask_categories_other(s.category_primary))
+
tags = Lazy(lambda s: [
i.capitalize() for i in ask_input_lines(
'Enter tags to make it easier to search for your skill (optional):',
@@ -257,8 +247,8 @@
long_description=s.long_description,
examples=''.join('* "{}"\n'.format(i) for i in s.intent_lines),
credits=credits_template.format(author=s.author),
- icon=s.icon,
- color=s.color.upper(),
+ icon=s.icon or 'robot',
+ color=s.color.upper() or '#22A7F0',
category_primary=s.category_primary,
categories_other=''.join('{}\n'.format(i) for i in s.categories_other),
tags=''.join('#{}\n'.format(i) for i in s.tags),
@@ -295,6 +285,30 @@
with open(join(self.path, 'locale', self.lang, self.intent_name + '.dialog'), 'w') as f:
f.write('\n'.join(self.dialog_lines + ['']))
+ def ask_category_primary(self):
+ """Ask user to select primary category."""
+ category = ask_choice('\nCategories define where the skill will display in the Marketplace. \nEnter the primary category for your skill: ',
+ self.category_options, allow_empty=False)
+ return category
+
+ def ask_categories_other(self, category_primary):
+ """Ask user to select aditional categories."""
+ categories_other = []
+ while True:
+ category_options_formatted = []
+ for category in self.category_options:
+ if (category == category_primary) or (category in categories_other):
+ category = '*' + category + '*'
+ category_options_formatted.append(category)
+ category = ask_choice('Enter additional categories (optional):',
+ category_options_formatted, allow_empty=True,
+ on_empty=None)
+ if (category != None) and (category[0] != '*'):
+ categories_other.append(category)
+ if category == None:
+ break
+ return categories_other
+
def license(self):
"""Ask user to select a license for the repo."""
license_files = get_licenses()
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/msk-0.3.14/msk/actions/create_test.py new/msk-0.3.16/msk/actions/create_test.py
--- old/msk-0.3.14/msk/actions/create_test.py 2019-05-23 10:13:56.000000000 +0200
+++ new/msk-0.3.16/msk/actions/create_test.py 2020-06-03 13:01:17.000000000 +0200
@@ -1,24 +1,20 @@
# Copyright (c) 2018 Mycroft AI, Inc.
#
-# This file is part of Mycroft Light
-# (see https://github.com/MatthewScholefield/mycroft-light).
+# This file is part of Mycroft Skills Kit
+# (see https://github.com/MycroftAI/mycroft-skills-kit).
#
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements. See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership. The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License. You may obtain a copy of the License at
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
#
-# http://www.apache.org/licenses/LICENSE-2.0
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
#
-# Unless required by applicable law or agreed to in writing,
-# software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-# KIND, either express or implied. See the License for the
-# specific language governing permissions and limitations
-# under the License.
from itertools import chain, count
import json
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/msk-0.3.14/msk/actions/submit.py new/msk-0.3.16/msk/actions/submit.py
--- old/msk-0.3.14/msk/actions/submit.py 2018-11-21 12:10:51.000000000 +0100
+++ new/msk-0.3.16/msk/actions/submit.py 2020-06-03 13:01:17.000000000 +0200
@@ -1,3 +1,20 @@
+# Copyright (c) 2018 Mycroft AI, Inc.
+#
+# This file is part of Mycroft Skills Kit
+# (see https://github.com/MycroftAI/mycroft-skills-kit).
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
from argparse import ArgumentParser
from msk.actions.upgrade import UpgradeAction
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/msk-0.3.14/msk/actions/upgrade.py new/msk-0.3.16/msk/actions/upgrade.py
--- old/msk-0.3.14/msk/actions/upgrade.py 2019-05-23 10:13:56.000000000 +0200
+++ new/msk-0.3.16/msk/actions/upgrade.py 2020-09-09 08:33:05.000000000 +0200
@@ -1,24 +1,20 @@
# Copyright (c) 2018 Mycroft AI, Inc.
#
-# This file is part of Mycroft Light
-# (see https://github.com/MatthewScholefield/mycroft-light).
+# This file is part of Mycroft Skills Kit
+# (see https://github.com/MycroftAI/mycroft-skills-kit).
#
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements. See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership. The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License. You may obtain a copy of the License at
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
#
-# http://www.apache.org/licenses/LICENSE-2.0
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
#
-# Unless required by applicable law or agreed to in writing,
-# software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-# KIND, either express or implied. See the License for the
-# specific language governing permissions and limitations
-# under the License.
from argparse import ArgumentParser
from genericpath import samefile
from git import Git
@@ -77,7 +73,6 @@
print('Upgrading an existing skill in the skill repo...')
upgrade_branch = self.skill.upgrade()
self.repo.push_to_fork(upgrade_branch)
-
title, body = self.create_pr_message(self.skill.git, self.skill.hub)
print()
print('===', title, '===')
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/msk-0.3.14/msk/actions/upload.py new/msk-0.3.16/msk/actions/upload.py
--- old/msk-0.3.14/msk/actions/upload.py 2019-11-23 15:53:27.000000000 +0100
+++ new/msk-0.3.16/msk/actions/upload.py 2020-06-03 13:01:17.000000000 +0200
@@ -1,24 +1,20 @@
# Copyright (c) 2018 Mycroft AI, Inc.
#
-# This file is part of Mycroft Light
-# (see https://github.com/MatthewScholefield/mycroft-light).
+# This file is part of Mycroft Skills Kit
+# (see https://github.com/MycroftAI/mycroft-skills-kit).
#
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements. See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership. The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License. You may obtain a copy of the License at
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
#
-# http://www.apache.org/licenses/LICENSE-2.0
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
#
-# Unless required by applicable law or agreed to in writing,
-# software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-# KIND, either express or implied. See the License for the
-# specific language governing permissions and limitations
-# under the License.
import os
import shutil
from argparse import ArgumentParser
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/msk-0.3.14/msk/console_action.py new/msk-0.3.16/msk/console_action.py
--- old/msk-0.3.14/msk/console_action.py 2018-08-27 08:43:07.000000000 +0200
+++ new/msk-0.3.16/msk/console_action.py 2020-06-03 13:01:17.000000000 +0200
@@ -1,24 +1,20 @@
# Copyright (c) 2018 Mycroft AI, Inc.
#
-# This file is part of Mycroft Light
-# (see https://github.com/MatthewScholefield/mycroft-light).
+# This file is part of Mycroft Skills Kit
+# (see https://github.com/MycroftAI/mycroft-skills-kit).
#
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements. See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership. The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License. You may obtain a copy of the License at
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
#
-# http://www.apache.org/licenses/LICENSE-2.0
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
#
-# Unless required by applicable law or agreed to in writing,
-# software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-# KIND, either express or implied. See the License for the
-# specific language governing permissions and limitations
-# under the License.
from abc import ABCMeta, abstractmethod
from argparse import ArgumentParser
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/msk-0.3.14/msk/exceptions.py new/msk-0.3.16/msk/exceptions.py
--- old/msk-0.3.14/msk/exceptions.py 2019-05-23 10:13:56.000000000 +0200
+++ new/msk-0.3.16/msk/exceptions.py 2020-06-03 13:01:17.000000000 +0200
@@ -1,24 +1,20 @@
# Copyright (c) 2018 Mycroft AI, Inc.
#
-# This file is part of Mycroft Light
-# (see https://github.com/MatthewScholefield/mycroft-light).
+# This file is part of Mycroft Skills Kit
+# (see https://github.com/MycroftAI/mycroft-skills-kit).
#
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements. See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership. The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License. You may obtain a copy of the License at
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
#
-# http://www.apache.org/licenses/LICENSE-2.0
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
#
-# Unless required by applicable law or agreed to in writing,
-# software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-# KIND, either express or implied. See the License for the
-# specific language governing permissions and limitations
-# under the License.
from msm import MsmException
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/msk-0.3.14/msk/global_context.py new/msk-0.3.16/msk/global_context.py
--- old/msk-0.3.14/msk/global_context.py 2018-08-28 15:43:42.000000000 +0200
+++ new/msk-0.3.16/msk/global_context.py 2020-06-03 13:01:17.000000000 +0200
@@ -1,30 +1,26 @@
# Copyright (c) 2018 Mycroft AI, Inc.
#
-# This file is part of Mycroft Light
-# (see https://github.com/MatthewScholefield/mycroft-light).
+# This file is part of Mycroft Skills Kit
+# (see https://github.com/MycroftAI/mycroft-skills-kit).
#
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements. See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership. The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License. You may obtain a copy of the License at
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
#
-# http://www.apache.org/licenses/LICENSE-2.0
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
#
-# Unless required by applicable law or agreed to in writing,
-# software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-# KIND, either express or implied. See the License for the
-# specific language governing permissions and limitations
-# under the License.
from github import Github
from github.AuthenticatedUser import AuthenticatedUser
from msm import MycroftSkillsManager
from msk.lazy import Lazy, unset
-from msk.util import ask_for_github_credentials
+from msk.util import ask_for_github_token
class GlobalContext:
@@ -32,5 +28,6 @@
msm = Lazy(unset) # type: MycroftSkillsManager
use_token = Lazy(unset) # type: bool
branch = Lazy(unset) # type: str
- github = Lazy(lambda s: ask_for_github_credentials(s.use_token)) # type: Github
- user = Lazy(lambda s: s.github.get_user()) # type: AuthenticatedUser
+ github = Lazy(lambda s: ask_for_github_token()) # type: Github
+ user = Lazy(lambda s: s.github.get_user()) # type: AuthenticatedUser
+
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/msk-0.3.14/msk/lazy.py new/msk-0.3.16/msk/lazy.py
--- old/msk-0.3.14/msk/lazy.py 2018-08-27 08:43:07.000000000 +0200
+++ new/msk-0.3.16/msk/lazy.py 2020-06-03 13:01:17.000000000 +0200
@@ -1,24 +1,20 @@
# Copyright (c) 2018 Mycroft AI, Inc.
#
-# This file is part of Mycroft Light
-# (see https://github.com/MatthewScholefield/mycroft-light).
+# This file is part of Mycroft Skills Kit
+# (see https://github.com/MycroftAI/mycroft-skills-kit).
#
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements. See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership. The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License. You may obtain a copy of the License at
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
#
-# http://www.apache.org/licenses/LICENSE-2.0
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
#
-# Unless required by applicable law or agreed to in writing,
-# software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-# KIND, either express or implied. See the License for the
-# specific language governing permissions and limitations
-# under the License.
from functools import wraps
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/msk-0.3.14/msk/repo_action.py new/msk-0.3.16/msk/repo_action.py
--- old/msk-0.3.14/msk/repo_action.py 2018-11-21 12:10:51.000000000 +0100
+++ new/msk-0.3.16/msk/repo_action.py 2020-09-09 08:33:05.000000000 +0200
@@ -1,24 +1,20 @@
# Copyright (c) 2018 Mycroft AI, Inc.
#
-# This file is part of Mycroft Light
-# (see https://github.com/MatthewScholefield/mycroft-light).
+# This file is part of Mycroft Skills Kit
+# (see https://github.com/MycroftAI/mycroft-skills-kit).
#
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements. See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership. The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License. You may obtain a copy of the License at
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
#
-# http://www.apache.org/licenses/LICENSE-2.0
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
#
-# Unless required by applicable law or agreed to in writing,
-# software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-# KIND, either express or implied. See the License for the
-# specific language governing permissions and limitations
-# under the License.
from contextlib import suppress
from git import Git, GitCommandError
from github.Repository import Repository
@@ -77,6 +73,8 @@
def upgrade(self) -> str:
skill_module = self.submodule_name
+ submod = Git(join(self.repo.msminfo.path, skill_module))
+ submod.remote('set-head', 'origin', '-a')
self.repo.msminfo.update()
self.repo_git.fetch()
self.repo_git.reset(self.repo_branch, hard=True)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/msk-0.3.14/msk/util.py new/msk-0.3.16/msk/util.py
--- old/msk-0.3.14/msk/util.py 2019-12-03 09:21:48.000000000 +0100
+++ new/msk-0.3.16/msk/util.py 2020-06-03 13:01:17.000000000 +0200
@@ -1,31 +1,28 @@
# Copyright (c) 2018 Mycroft AI, Inc.
#
-# This file is part of Mycroft Light
-# (see https://github.com/MatthewScholefield/mycroft-light).
+# This file is part of Mycroft Skills Kit
+# (see https://github.com/MycroftAI/mycroft-skills-kit).
#
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements. See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership. The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License. You may obtain a copy of the License at
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
#
-# http://www.apache.org/licenses/LICENSE-2.0
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
#
-# Unless required by applicable law or agreed to in writing,
-# software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-# KIND, either express or implied. See the License for the
-# specific language governing permissions and limitations
-# under the License.
import atexit
import os
+from configparser import NoOptionError
from contextlib import contextmanager
from difflib import SequenceMatcher
from functools import wraps
-from getpass import getpass
+from git.config import GitConfigParser, get_config_path
from github import Github, GithubException
from github.Repository import Repository
from msm import SkillEntry
@@ -34,58 +31,123 @@
from tempfile import mkstemp
from typing import Optional
from glob import glob
+from pathlib import Path
from msk import __version__
from msk.exceptions import PRModified, MskException, SkillNameTaken
ASKPASS = '''#!/usr/bin/env python3
import sys
-print(
- r"""{password}"""
- if sys.argv[1] == "Password for 'https://{username}@github.com': " else
- r"""{username}"""
+print(r"""{token}"""
)'''
-skills_kit_footer = '<sub>Created with [mycroft-skills-kit]({}) v{}</sub>'.format(
- 'https://github.com/mycroftai/mycroft-skills-kit', __version__
-)
+skills_kit_footer = '<sub>Created with [mycroft-skills-kit]({}) v{}</sub>' \
+ .format('https://github.com/mycroftai/mycroft-skills-kit',
+ __version__)
+
+tokendir = str(Path.home()) + '/.mycroft/msk/'
+tokenfile = tokendir + 'GITHUB_TOKEN'
-def register_git_injector(username, password):
- """Generate a script that writes the password to the git command line tool"""
+def register_git_injector(token):
+ """Generate a script that writes the token to the git command line tool"""
fd, tmp_path = mkstemp()
atexit.register(lambda: os.remove(tmp_path))
with os.fdopen(fd, 'w') as f:
f.write(ASKPASS.format(
- username=username.replace('"""', r'\"\"\"'),
- password=password.replace('"""', r'\"\"\"') or ''
+ token=token.replace('"""', r'\"\"\"')
))
chmod(tmp_path, 0o700)
os.environ['GIT_ASKPASS'] = tmp_path
-def ask_for_github_credentials(use_token=False) -> Github:
- print('=== GitHub Credentials ===')
- while True:
- if use_token:
- username = getpass('Token: ')
- password = None
+def ask_for_github_token() -> Github:
+ """Ask for GitHub Token if there isnt stored token
+ or stored token is invalid"""
+ print('')
+ token = get_stored_github_token()
+ if token and check_token(token):
+ github = Github(token)
+ register_git_injector(token)
+ return github
+ else:
+ retry = False
+ while True:
+ if not retry:
+ print('To authenticate with GitHub a Personal Access Token is needed.')
+ print(' 1. Go to https://github.com/settings/tokens/new create one')
+ print(' 2. Give the token a name like mycroft-msk')
+ print(' 3. Select the scopes')
+ print(' [X] repo')
+ print(' 4. Click Generate Token (at bottom of page)')
+ print(' 5. Copy the generated token')
+ print(' 6. Paste it in below')
+ print('')
+ retry = True
+ token = input('Personal Access Token: ')
+ if check_token(token):
+ github = Github(token)
+ store_github_token(token)
+ register_git_injector(token)
+ return github
+ else:
+ print('')
+ print('Token is incorrect.')
+ print('The reason for this can be that token is missing repo scope')
+ print('or the token is invalid.')
+ print('Please retry.')
+ print('')
+
+
+def check_token(token):
+ """Check if at GitHub Token has 'repo' in the scope"""
+ github = Github(token)
+ try:
+ _ = github.get_user().login
+ _ = github.oauth_scopes
+ if 'repo' in github.oauth_scopes:
+ return True
else:
- username = input('Username: ')
- password = getpass('Password: ')
- github = Github(username, password)
- try:
- _ = github.get_user().login
- register_git_injector(username, password)
- return github
- except GithubException:
- print('Login incorrect. Retry:')
+ return False
+ except Exception:
+ return False
+
+
+def get_stored_github_token():
+ """Returns stored GitHub token or false if there isnt
+ one or the token is invalid"""
+ if os.path.isfile(tokenfile):
+ with open(tokenfile, 'r') as f:
+ token = f.readline()
+ if not check_token(token):
+ os.remove(tokenfile)
+ else:
+ return(token)
+ else:
+ return False
+
+
+def store_github_token(token):
+ """Ask if user will store GitHUb token and if yes store"""
+ print('')
+ if ask_yes_no('Do you want msk to store the GitHub Personal Access Token? (Y/n)', True):
+ if not os.path.exists(tokendir):
+ os.makedirs(tokendir)
+ with open(tokenfile, 'w') as f:
+ f.write(token)
+ os.chmod(tokenfile, 0o600)
+ print('Your GitHub Personal Access Token is stored in ' + tokenfile)
+ print('')
+ else:
+ print('Remember to store your token in a safe place.')
+ print('')
def skill_repo_name(url: str):
- return '{}/{}'.format(SkillEntry.extract_author(url), SkillEntry.extract_repo_name(url))
+ return '{}/{}'.format(SkillEntry.extract_author(url),
+ SkillEntry.extract_repo_name(url))
def ask_input(message: str, validator=lambda x: True, on_fail='Invalid entry'):
@@ -101,7 +163,8 @@
print(o)
-def ask_choice(message: str, choices: list, allow_empty=False, on_empty=None) -> Optional[str]:
+def ask_choice(message: str, choices: list,
+ allow_empty=False, on_empty=None) -> Optional[str]:
if not choices:
if allow_empty:
print(on_empty)
@@ -148,7 +211,8 @@
def ask_yes_no(message: str, default: Optional[bool]) -> bool:
- resp = ask_input(message, lambda x: (not x and default is not None) or x in 'yYnN')
+ resp = ask_input(message,
+ lambda x: (not x and default is not None) or x in 'yYnN')
return {'n': False, 'y': True, '': default}[resp.lower()]
@@ -182,7 +246,8 @@
"""TimeSkill -> time_skill"""
if not camel:
return camel
- return ''.join('_' + x if 'A' <= x <= 'Z' else x for x in camel).lower()[camel[0].isupper():]
+ return ''.join('_' + x if 'A' <= x <= 'Z' else x for x in camel) \
+ .lower()[camel[0].isupper():]
@contextmanager
@@ -215,7 +280,64 @@
return wrapper
+
def get_licenses():
licenses = glob(join(dirname(__file__), 'licenses', '*.txt'))
licenses.sort()
return licenses
+
+
+GIT_IDENTITY_INFO = '''=== Git Identity ===
+msk uses Git to save skills to Github and when submitting a skill to the
+Mycroft Marketplace. To use Git, Git needs to know your Name and
+E-mail address. This is important because every Git commit uses the
+information to show the responsible party for the submission.
+'''
+
+
+GIT_MANUAL_CHANGE_INFO = '''
+Thank you. :)
+
+If you need to change this in the future use
+
+ git --config user.name "My Name"
+
+and
+
+ git --config user.email "me(a)myhost.com"
+
+'''
+
+
+def ensure_git_user():
+ """Prompt for fullname and email if git config is missing it."""
+ conf_path = get_config_path('global')
+ with GitConfigParser(conf_path, read_only=False) as conf_parser:
+
+ # Make sure a user section exists
+ if 'user' not in conf_parser.sections():
+ conf_parser.add_section('user')
+
+ # Check for missing options using the ConfigParser and insert them
+ # if they're missing.
+ name, email = (None, None)
+ try:
+ name = conf_parser.get(section='user', option='name')
+ except NoOptionError:
+ pass # Name doesn't exist deal with it later
+ try:
+ email = conf_parser.get(section='user', option='email')
+ except NoOptionError:
+ pass # E-mail doesn't exist, deal with it later
+
+ if not all((name, email)):
+ # Some of the needed config is missing
+ print(GIT_IDENTITY_INFO)
+ if not name:
+ name = input('Please enter Full name: ')
+ conf_parser.set('user', 'name', name)
+ if not email:
+ email = input('Please enter e-mail address: ')
+ conf_parser.set('user', 'email', email)
+
+ print(GIT_MANUAL_CHANGE_INFO)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/msk-0.3.14/msk.egg-info/PKG-INFO new/msk-0.3.16/msk.egg-info/PKG-INFO
--- old/msk-0.3.14/msk.egg-info/PKG-INFO 2019-12-03 09:27:22.000000000 +0100
+++ new/msk-0.3.16/msk.egg-info/PKG-INFO 2020-09-09 08:37:06.000000000 +0200
@@ -1,6 +1,6 @@
-Metadata-Version: 1.2
+Metadata-Version: 2.1
Name: msk
-Version: 0.3.14
+Version: 0.3.16
Summary: Mycroft Skills Kit
Home-page: https://github.com/MycroftAI/mycroft-skills-kit
Author: Mycroft AI
@@ -8,5 +8,68 @@
Maintainer: Matthew Scholefield
Maintainer-email: matthew331199(a)gmail.com
License: Apache-2.0
-Description: UNKNOWN
+Description: # Mycroft Skills Kit
+
+ *Mycroft Skills Kit*
+
+ [![msk-create](https://images2.imgbox.com/ab/25/6kbqKbXh_o.gif)](https://asciinema.org/a/X5pWLPOpsMLUPYp5kgswNm5Zu?speed=1.5)
+
+ A tool to help with creating, uploading, and upgrading Mycroft skills on the
+ [skills repo](https://github.com/mycroftai/mycroft-skills).
+
+ ## Features
+
+ - Create a new skill
+ - Create an intent test for a skill
+ - Upload a skill
+ - Upgrade an existing skill
+
+ ## Install
+
+ *Note: Only Linux has been tested*
+
+ ```bash
+ pip3 install msk
+ ```
+
+ ## Usage
+
+ ```bash
+ msk create
+ msk create-test /opt/mycroft/skills/myskill
+ msk submit /opt/mycroft/skills/myskill
+ ```
+ ### Creating a New Skill
+
+ `msk create`:
+
+ [![msk-create](https://images2.imgbox.com/ab/25/6kbqKbXh_o.gif)](https://asciinema.org/a/X5pWLPOpsMLUPYp5kgswNm5Zu?speed=1.5)
+
+ ### Creating Tests
+
+ `msk create-test /opt/mycroft/skills/myskill`:
+
+ [![msk-create-test](https://images2.imgbox.com/9c/c8/gLRS7xuL_o.gif)](https://asciinema.org/a/Ayzaj6QJbKGBfs2eIQWr11idH?speed=1.5)
+
+ ## Submitting a new skill / Updating existing skill
+
+ `msk submit /opt/mycroft/skills/myskill`:
+
+ [![msk-submit](https://images2.imgbox.com/7a/5f/RcBxgLXc_o.gif)](https://asciinema.org/a/242108)
+
+ --or--
+
+ ```bash
+ cd /opt/mycroft/skills/myskill
+ msk submit .
+ ```
+
Platform: UNKNOWN
+Classifier: Development Status :: 4 - Beta
+Classifier: Intended Audience :: Developers
+Classifier: License :: OSI Approved :: Apache Software License
+Classifier: Programming Language :: Python :: 3.5
+Classifier: Programming Language :: Python :: 3.6
+Classifier: Programming Language :: Python :: 3.7
+Classifier: Programming Language :: Python :: 3.8
+Description-Content-Type: text/markdown
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/msk-0.3.14/msk.egg-info/SOURCES.txt new/msk-0.3.16/msk.egg-info/SOURCES.txt
--- old/msk-0.3.14/msk.egg-info/SOURCES.txt 2019-12-03 09:27:22.000000000 +0100
+++ new/msk-0.3.16/msk.egg-info/SOURCES.txt 2020-09-09 08:37:06.000000000 +0200
@@ -1,3 +1,5 @@
+LICENSE
+MANIFEST.in
README.md
setup.py
msk/__init__.py
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/msk-0.3.14/msk.egg-info/requires.txt new/msk-0.3.16/msk.egg-info/requires.txt
--- old/msk-0.3.14/msk.egg-info/requires.txt 2019-12-03 09:27:22.000000000 +0100
+++ new/msk-0.3.16/msk.egg-info/requires.txt 2020-09-09 08:37:06.000000000 +0200
@@ -1,6 +1,5 @@
-GitPython
-typing
+GitPython>=3.0.5
+colorama
msm>=0.5.13
pygithub
requests
-colorama
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/msk-0.3.14/setup.py new/msk-0.3.16/setup.py
--- old/msk-0.3.14/setup.py 2019-12-03 09:25:02.000000000 +0100
+++ new/msk-0.3.16/setup.py 2020-09-09 07:35:31.000000000 +0200
@@ -21,12 +21,16 @@
# under the License.
from setuptools import setup
+with open("README.md", "r") as fh:
+ long_description = fh.read()
+
setup(
name='msk',
- version='0.3.14', # Also update in msk/__init__.py
+ version='0.3.16', # Also update in msk/__init__.py
packages=['msk', 'msk.actions'],
package_data={'msk': ['licenses/*']},
- install_requires=['GitPython', 'typing', 'msm>=0.5.13', 'pygithub', 'requests', 'colorama'],
+ install_requires=['GitPython>=3.0.5', 'msm>=0.5.13', 'pygithub',
+ 'requests', 'colorama'],
url='https://github.com/MycroftAI/mycroft-skills-kit',
license='Apache-2.0',
author='Mycroft AI',
@@ -34,9 +38,21 @@
maintainer='Matthew Scholefield',
maintainer_email='matthew331199(a)gmail.com',
description='Mycroft Skills Kit',
+ long_description=long_description,
+ long_description_content_type="text/markdown",
entry_points={
'console_scripts': {
'msk=msk.__main__:main'
}
- }
+ },
+ classifiers=[
+ 'Development Status :: 4 - Beta',
+ 'Intended Audience :: Developers',
+ 'License :: OSI Approved :: Apache Software License',
+
+ 'Programming Language :: Python :: 3.5',
+ 'Programming Language :: Python :: 3.6',
+ 'Programming Language :: Python :: 3.7',
+ 'Programming Language :: Python :: 3.8',
+ ]
)
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package python-PySDL2 for openSUSE:Factory checked in at 2021-08-30 13:55:12
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-PySDL2 (Old)
and /work/SRC/openSUSE:Factory/.python-PySDL2.new.1899 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-PySDL2"
Mon Aug 30 13:55:12 2021 rev:6 rq:914904 version:0.9.8
Changes:
--------
--- /work/SRC/openSUSE:Factory/python-PySDL2/python-PySDL2.changes 2021-02-09 21:17:19.370846292 +0100
+++ /work/SRC/openSUSE:Factory/.python-PySDL2.new.1899/python-PySDL2.changes 2021-08-30 13:55:30.085844979 +0200
@@ -1,0 +2,19 @@
+Sun Aug 29 10:31:04 UTC 2021 - Ben Greiner <code(a)bnavigator.de>
+
+- Update to version 0.9.8
+ * This release fixes a number of bugs, updates the bindings to
+ support new functions in SDL2 2.0.14, adds a wrapper for the
+ SDL2 MessageBox API, and more.
+ * Added bindings for new functions and constants introduced in
+ SDL2 2.0.12 and 2.0.14
+ * Added full support for SDL2 binaries in non-system locations
+ (e.g., with pysdl2-dll) when using PySDL2 with Python installed
+ from the Microsoft Store on Windows.
+ * Improved handling of SDL2 binaries that are too old to be used
+ with PySDL2.
+ * Added a new sdl2.ext API for displaying SDL2 MessageBox alerts
+ and dialog boxes.
+- Add PySDL2-pr193-skipnumpy.patch (gh#marcusva/py-sdl2#193) for
+ missing NumPy in python36
+
+-------------------------------------------------------------------
Old:
----
PySDL2-0.9.7.tar.gz
New:
----
PySDL2-0.9.8.tar.gz
PySDL2-pr193-skipnumpy.patch
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ python-PySDL2.spec ++++++
--- /var/tmp/diff_new_pack.zuldOC/_old 2021-08-30 13:55:30.777845867 +0200
+++ /var/tmp/diff_new_pack.zuldOC/_new 2021-08-30 13:55:30.785845877 +0200
@@ -19,12 +19,14 @@
%{?!python_module:%define python_module() python-%{**} python3-%{**}}
%define X_display ":98"
Name: python-PySDL2
-Version: 0.9.7
+Version: 0.9.8
Release: 0
Summary: Python SDL2 bindings
License: SUSE-Public-Domain
URL: https://github.com/marcusva/py-sdl2
Source: https://files.pythonhosted.org/packages/source/P/PySDL2/PySDL2-%{version}.t…
+# PATCH-FIX-UPSTREAM PySDL2-pr193-skipnumpy.patch -- gh#marcusva/py-sdl2#193
+Patch0: https://github.com/marcusva/py-sdl2/pull/193.patch#/PySDL2-pr193-skipnumpy.…
BuildRequires: %{python_module setuptools}
BuildRequires: SDL2 >= 2.0.5
BuildRequires: SDL2_gfx >= 1.0.3
@@ -37,6 +39,7 @@
BuildRequires: %{python_module opengl}
BuildRequires: %{python_module pytest}
BuildRequires: xorg-x11-server
+BuildRequires: %{python_module numpy if (%python-base without python36-base)}
# /SECTION
Requires: SDL2 >= 2.0.5
Requires: SDL2_gfx >= 1.0.3
@@ -52,7 +55,7 @@
restrictions, nor does it rely on C code, but uses ctypes instead.
%prep
-%setup -q -n PySDL2-%{version}
+%autosetup -p1 -n PySDL2-%{version}
sed -i 's/\r$//' AUTHORS.txt COPYING.txt README.md
%build
@@ -73,13 +76,20 @@
sleep 10
pushd sdl2/test
+# these segfault when not tested separately
+testextra="SpriteFactory or SDL2EXTSprite or test_SDL_GL"
# we do not have audio devices in build environment
donttest+=" or test_Mix_OpenAudio or test_SDL_GetNumAudioDevices or TestSDLMixer"
# we get border size 0 in build "desktop" environment
donttest+=" or test_SDL_GetWindowsBordersSize"
# flaky segfaults
donttest+=" or (TestSDL2ExtWindow and (test_Window_position or test_Window_size))"
-%pytest -k "not (${donttest:4})"
+# test suite assumes SDL devel version from mercurial (hg) checkout
+donttest+=" or test_SDL_GetRevision"
+# python2 env on Leap different, pytest arg missing
+python2_donttest="or test_SDL_GetBasePath or test_BitmapFont_render_on"
+%pytest -rfEs -k "not (${testextra} ${donttest} ${$python_donttest})"
+%pytest -rfEs -k "${testextra}"
popd
%files %{python_files}
++++++ PySDL2-0.9.7.tar.gz -> PySDL2-0.9.8.tar.gz ++++++
++++ 92188 lines of diff (skipped)
++++++ PySDL2-pr193-skipnumpy.patch ++++++
From ebe6ca1b97a080c229ee80cfdd82d35663851f27 Mon Sep 17 00:00:00 2001
From: Ben Greiner <code(a)bnavigator.de>
Date: Sun, 29 Aug 2021 13:17:22 +0200
Subject: [PATCH] Skip tests when numpy is not available
---
sdl2/test/sdl2ext_draw_test.py | 7 +++++++
sdl2/test/sdl2ext_font_test.py | 4 ++--
2 files changed, 9 insertions(+), 2 deletions(-)
diff --git a/sdl2/test/sdl2ext_draw_test.py b/sdl2/test/sdl2ext_draw_test.py
index 63ff360..ac11bc8 100644
--- a/sdl2/test/sdl2ext_draw_test.py
+++ b/sdl2/test/sdl2ext_draw_test.py
@@ -6,6 +6,11 @@
from sdl2.ext.compat import ExperimentalWarning
from sdl2 import ext as sdl2ext
+try:
+ import numpy
+ _HASNUMPY = True
+except:
+ _HASNUMPY = False
class TestSDL2ExtDraw(object):
__tags__ = ["sdl", "sdl2ext"]
@@ -21,6 +26,7 @@ def setup_class(cls):
def teardown_class(cls):
sdl2ext.quit()
+ @pytest.mark.skipif(not _HASNUMPY, reason="pixels3d requires numpy module")
def test_fill(self):
# Initialize colour and surface/view
WHITE = (255, 255, 255)
@@ -63,6 +69,7 @@ def test_fill(self):
with pytest.raises(ValueError):
sdl2ext.fill(sf.contents, WHITE, (1, 2, 3))
+ @pytest.mark.skipif(not _HASNUMPY, reason="pixels3d requires numpy module")
def test_line(self):
# Initialize colour and surface/view
WHITE = (255, 255, 255)
diff --git a/sdl2/test/sdl2ext_font_test.py b/sdl2/test/sdl2ext_font_test.py
index 8ad8000..a9acde5 100644
--- a/sdl2/test/sdl2ext_font_test.py
+++ b/sdl2/test/sdl2ext_font_test.py
@@ -1,6 +1,5 @@
# -*- coding: utf-8 -*-
import pytest
-import numpy as np
from sdl2 import ext as sdl2ext
from sdl2.ext.compat import byteify, ExperimentalWarning
from sdl2.ext.pixelaccess import pixels2d
@@ -46,7 +45,7 @@ def test_BitmapFont(self):
# Try SDL_Surface surface
font = sdl2ext.BitmapFont(sf.contents, (32, 32), FONTMAP)
assert font.size == (32, 32)
-
+
# Try SDL_Surface pointer surface
font = sdl2ext.BitmapFont(sf, (32, 32), FONTMAP)
assert font.size == (32, 32)
@@ -72,6 +71,7 @@ def test_BitmapFont_render(self):
font.render("this_should_fail")
def test_BitmapFont_render_on(self):
+ np = pytest.importorskip("numpy", reason="numpy module is not available")
# Initialize font, surface, and BitmapFont for tests
fontpath = byteify(RESOURCES.get_path("font.bmp"), "utf-8")
sf = surface.SDL_LoadBMP(fontpath)
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package python-apiron for openSUSE:Factory checked in at 2021-08-30 13:55:10
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-apiron (Old)
and /work/SRC/openSUSE:Factory/.python-apiron.new.1899 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-apiron"
Mon Aug 30 13:55:10 2021 rev:3 rq:914903 version:6.0.0.post1
Changes:
--------
--- /work/SRC/openSUSE:Factory/python-apiron/python-apiron.changes 2020-08-31 16:51:08.632380417 +0200
+++ /work/SRC/openSUSE:Factory/.python-apiron.new.1899/python-apiron.changes 2021-08-30 13:55:28.221842586 +0200
@@ -1,0 +2,14 @@
+Sun Aug 29 08:36:10 UTC 2021 - Axel Braun <axel.braun(a)gmx.de>
+
+- version 6.0.0.post1
+ * Move from Travis CI to GitHub Actions for testing and publishing
+ Use PEP 517 builds
+ * Testing matrix and trove classifiers for Python 3.9
+ Type hints for all classes, methods, and functions
+ * Support for Python 3.6 has been removed due to its impending end of life and
+ the desire to leverage features from 3.7
+ * Remove Python 3.10 testing and support for now, as Travis CI only has
+ Python 3.10.0a5 which isn't compatible with recent pytest-randomly releases
+ * Indicate (by renaming) that all functions in the client module are private, except for call
+
+-------------------------------------------------------------------
Old:
----
apiron-5.1.0.tar.gz
New:
----
apiron-6.0.0.post1.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ python-apiron.spec ++++++
--- /var/tmp/diff_new_pack.SSA3G3/_old 2021-08-30 13:55:29.057843659 +0200
+++ /var/tmp/diff_new_pack.SSA3G3/_new 2021-08-30 13:55:29.061843664 +0200
@@ -1,7 +1,7 @@
#
-# spec file for package python-apiron
+# spec file
#
-# Copyright (c) 2020 SUSE LLC
+# Copyright (c) 2021 SUSE LLC
# Copyright (c) 2019 Dr. Axel Braun <DocB(a)opensuse.org>
#
# All modifications and additions to the file contributed by third parties
@@ -19,9 +19,10 @@
%{?!python_module:%define python_module() python-%{**} python3-%{**}}
%define skip_python2 1
+%define skip_python36 1
%define modname apiron
Name: python-%{modname}
-Version: 5.1.0
+Version: 6.0.0.post1
Release: 0
Summary: Apiron helps you cook a tasty client for RESTful APIs
License: MIT
1
0