Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package python-platformio for
openSUSE:Factory checked in at 2022-11-10 16:40:35
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-platformio (Old)
and /work/SRC/openSUSE:Factory/.python-platformio.new.1597 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-platformio"
Thu Nov 10 16:40:35 2022 rev:8 rq:1035075 version:6.1.5
Changes:
--------
--- /work/SRC/openSUSE:Factory/python-platformio/python-platformio.changes
2022-10-08 01:25:28.918265019 +0200
+++
/work/SRC/openSUSE:Factory/.python-platformio.new.1597/python-platformio.changes
2022-11-10 16:40:36.367315001 +0100
@@ -1,0 +2,18 @@
+Thu Nov 10 12:07:39 UTC 2022 - Matej Cepl <[email protected]>
+
+- Switch to wheel build/install, move scripts/ directory to the
+ packages's namespace (see
+
https://community.platformio.org/t/installs-scripts-directory-to-the-global-namespace/30396).
+- Add python-platformio.rpmlintrc to avoid false positives.
+
+-------------------------------------------------------------------
+Wed Nov 9 16:27:43 UTC 2022 - Yogalakshmi Arunachalam <[email protected]>
+
+- Update to versino 6.1.5
+ * Added a new enable_proxy_strict_ssl setting to disable the proxy server
certificate verification (issue #4432)
+ * Documented PlatformIO Core Proxy Configuration
+ * Speeded up device port finder by avoiding loading board HWIDs from
development platforms
+ * Improved caching of build metadata in debug mode
+ * Fixed an issue when pio pkg install --storage-dir command requires
PlatformIO project (issue #4410)
+
+-------------------------------------------------------------------
Old:
----
platformio-6.1.4.tar.gz
New:
----
platformio-6.1.5.tar.gz
python-platformio.rpmlintrc
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ python-platformio.spec ++++++
--- /var/tmp/diff_new_pack.vHXi2X/_old 2022-11-10 16:40:36.847317690 +0100
+++ /var/tmp/diff_new_pack.vHXi2X/_new 2022-11-10 16:40:36.851317712 +0100
@@ -16,17 +16,18 @@
#
-%{?!python_module:%define python_module() python-%{**} python3-%{**}}
Name: python-platformio
-Version: 6.1.4
+Version: 6.1.5
Release: 0
Summary: New Generation Ecosystem for Embedded Development
License: Apache-2.0
Group: Development/Languages/Python
-URL: https://platformio.org
-Source:
https://files.pythonhosted.org/packages/source/p/platformio/platformio-%{version}.tar.gz
-BuildRequires: %{python_module devel}
+URL: https://github.com/platformio/platformio-core
+Source0:
https://files.pythonhosted.org/packages/source/p/platformio/platformio-%{version}.tar.gz
+Source99: python-platformio.rpmlintrc
+BuildRequires: %{python_module pip}
BuildRequires: %{python_module setuptools}
+BuildRequires: %{python_module wheel}
BuildRequires: fdupes
BuildRequires: python-rpm-macros
BuildArch: noarch
@@ -61,11 +62,14 @@
%setup -q -n platformio-%{version}
%build
-%python_build
+%pyproject_wheel
%install
-%python_install
-%python_expand %fdupes %{buildroot}%{$python_sitelib}
+%pyproject_install
+# mv because of
https://community.platformio.org/t/installs-scripts-directory-to-the-global-namespace/30396
+%{python_expand mv %{buildroot}%{$python_sitelib}/scripts
%{buildroot}%{$python_sitelib}/platformio
+%fdupes %{buildroot}%{$python_sitelib}
+}
%python_clone -a %{buildroot}%{_bindir}/pio
%python_clone -a %{buildroot}%{_bindir}/piodebuggdb
@@ -81,6 +85,7 @@
%python_alternative %{_bindir}/pio
%python_alternative %{_bindir}/piodebuggdb
%python_alternative %{_bindir}/platformio
-%{python_sitelib}/*
+%{python_sitelib}/platformio
+%{python_sitelib}/platformio-%{version}*-info
%changelog
++++++ platformio-6.1.4.tar.gz -> platformio-6.1.5.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/platformio-6.1.4/PKG-INFO
new/platformio-6.1.5/PKG-INFO
--- old/platformio-6.1.4/PKG-INFO 2022-08-12 16:09:45.920699400 +0200
+++ new/platformio-6.1.5/PKG-INFO 2022-11-01 19:45:41.686341300 +0100
@@ -1,6 +1,6 @@
Metadata-Version: 2.1
Name: platformio
-Version: 6.1.4
+Version: 6.1.5
Summary: A professional collaborative platform for embedded development.
Cross-platform IDE and Unified Debugger. Static Code Analyzer and Remote Unit
Testing. Multi-platform and Multi-architecture Build System. Firmware File
Explorer and Memory Inspection. IoT, Arduino, CMSIS, ESP-IDF, FreeRTOS,
libOpenCM3, mbedOS, Pulp OS, SPL, STM32Cube, Zephyr RTOS, ARM, AVR, Espressif
(ESP8266/ESP32), FPGA, MCS-51 (8051), MSP430, Nordic (nRF51/nRF52), NXP i.MX
RT, PIC32, RISC-V, STMicroelectronics (STM8/STM32), Teensy
Home-page: https://platformio.org
Author: PlatformIO Labs
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/platformio-6.1.4/platformio/__init__.py
new/platformio-6.1.5/platformio/__init__.py
--- old/platformio-6.1.4/platformio/__init__.py 2022-08-12 15:57:27.000000000
+0200
+++ new/platformio-6.1.5/platformio/__init__.py 2022-11-01 19:32:55.000000000
+0100
@@ -14,7 +14,7 @@
import sys
-VERSION = (6, 1, 4)
+VERSION = (6, 1, 5)
__version__ = ".".join([str(s) for s in VERSION])
__title__ = "platformio"
@@ -44,8 +44,6 @@
]
__pioremote_endpoint__ = "ssl:host=remote.platformio.org:port=4413"
-__default_requests_timeout__ = (10, None) # (connect, read)
-
__core_packages__ = {
"contrib-piohome": "~3.4.2",
"contrib-pysite": "~2.%d%d.0" % (sys.version_info.major,
sys.version_info.minor),
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/platformio-6.1.4/platformio/app.py
new/platformio-6.1.5/platformio/app.py
--- old/platformio-6.1.4/platformio/app.py 2022-08-12 15:57:27.000000000
+0200
+++ new/platformio-6.1.5/platformio/app.py 2022-11-01 19:32:55.000000000
+0100
@@ -58,6 +58,10 @@
"value": get_default_projects_dir(),
"validator": projects_dir_validate,
},
+ "enable_proxy_strict_ssl": {
+ "description": "Verify the proxy server certificate against the list
of supplied CAs",
+ "value": True,
+ },
}
SESSION_VARS = {
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/platformio-6.1.4/platformio/builder/tools/piointegration.py
new/platformio-6.1.5/platformio/builder/tools/piointegration.py
--- old/platformio-6.1.4/platformio/builder/tools/piointegration.py
2022-08-12 15:57:27.000000000 +0200
+++ new/platformio-6.1.5/platformio/builder/tools/piointegration.py
2022-11-01 19:32:55.000000000 +0100
@@ -24,7 +24,7 @@
def IsIntegrationDump(_):
- return set(["_idedata", "idedata"]) & set(COMMAND_LINE_TARGETS)
+ return set(["__idedata", "idedata"]) & set(COMMAND_LINE_TARGETS)
def DumpIntegrationIncludes(env):
@@ -147,6 +147,7 @@
def DumpIntegrationData(*args):
projenv, globalenv = args[0:2] # pylint:
disable=unbalanced-tuple-unpacking
data = {
+ "build_type": globalenv.GetBuildType(),
"env_name": globalenv["PIOENV"],
"libsource_dirs": [
globalenv.subst(item) for item in globalenv.GetLibSourceDirs()
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/platformio-6.1.4/platformio/debug/config/base.py
new/platformio-6.1.5/platformio/debug/config/base.py
--- old/platformio-6.1.4/platformio/debug/config/base.py 2022-08-12
15:57:27.000000000 +0200
+++ new/platformio-6.1.5/platformio/debug/config/base.py 2022-11-01
19:32:55.000000000 +0100
@@ -145,7 +145,7 @@
)
def _load_build_data(self):
- data = load_build_metadata(os.getcwd(), self.env_name, cache=True)
+ data = load_build_metadata(os.getcwd(), self.env_name, cache=True,
debug=True)
if data:
return data
raise DebugInvalidOptionsError("Could not load a build configuration")
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/platformio-6.1.4/platformio/device/finder.py
new/platformio-6.1.5/platformio/device/finder.py
--- old/platformio-6.1.4/platformio/device/finder.py 2022-08-12
15:57:27.000000000 +0200
+++ new/platformio-6.1.5/platformio/device/finder.py 2022-11-01
19:32:55.000000000 +0100
@@ -14,6 +14,7 @@
import os
from fnmatch import fnmatch
+from functools import lru_cache
import click
import serial
@@ -119,6 +120,8 @@
@staticmethod
def match_device_hwid(patterns):
+ if not patterns:
+ return None
for item in list_serial_ports(as_objects=True):
if not item.vid or not item.pid:
continue
@@ -143,10 +146,10 @@
if not device:
device = self._find_known_device()
if device:
- port = self._reveal_device_port(device)
+ return self._reveal_device_port(device)
# pick the best PID:VID USB device
- best_port = None
+ port = best_port = None
for item in list_serial_ports():
if self.ensure_ready and not is_serial_port_ready(item["port"]):
continue
@@ -215,20 +218,26 @@
if os.path.isfile(udev_rules_path):
hwids.extend(parse_udev_rules_hwids(udev_rules_path))
- # load from installed dev-platforms
- for platform in PlatformPackageManager().get_installed():
- p = PlatformFactory.new(platform)
- for board_config in p.get_boards().values():
- for board_hwid in board_config.get("build.hwids", []):
- board_hwid = self.normalize_board_hwid(board_hwid)
- if board_hwid not in hwids:
- hwids.append(board_hwid)
+ @lru_cache(maxsize=1)
+ def _fetch_hwids_from_platforms():
+ """load from installed dev-platforms"""
+ result = []
+ for platform in PlatformPackageManager().get_installed():
+ p = PlatformFactory.new(platform)
+ for board_config in p.get_boards().values():
+ for board_hwid in board_config.get("build.hwids", []):
+ board_hwid = self.normalize_board_hwid(board_hwid)
+ if board_hwid not in result:
+ result.append(board_hwid)
+ return result
try:
@retry(timeout=self.timeout)
def wrapper():
device = self.match_device_hwid(hwids)
+ if not device:
+ device =
self.match_device_hwid(_fetch_hwids_from_platforms())
if device:
return device
raise retry.RetryNextException()
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/platformio-6.1.4/platformio/home/helpers.py
new/platformio-6.1.5/platformio/home/helpers.py
--- old/platformio-6.1.4/platformio/home/helpers.py 2022-08-12
15:57:27.000000000 +0200
+++ new/platformio-6.1.5/platformio/home/helpers.py 2022-11-01
19:32:55.000000000 +0100
@@ -14,15 +14,15 @@
import socket
-import requests
from starlette.concurrency import run_in_threadpool
from platformio import util
from platformio.compat import IS_WINDOWS
+from platformio.http import HTTPSession
from platformio.proc import where_is_program
-class AsyncSession(requests.Session):
+class AsyncSession(HTTPSession):
async def request( # pylint:
disable=signature-differs,invalid-overridden-method
self, *args, **kwargs
):
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/platformio-6.1.4/platformio/home/rpc/handlers/os.py
new/platformio-6.1.5/platformio/home/rpc/handlers/os.py
--- old/platformio-6.1.4/platformio/home/rpc/handlers/os.py 2022-08-12
15:57:27.000000000 +0200
+++ new/platformio-6.1.5/platformio/home/rpc/handlers/os.py 2022-11-01
19:32:55.000000000 +0100
@@ -20,7 +20,7 @@
import click
-from platformio import __default_requests_timeout__, fs
+from platformio import fs
from platformio.cache import ContentCache
from platformio.device.list.util import list_logical_devices
from platformio.home import helpers
@@ -50,13 +50,9 @@
session = helpers.requests_session()
if data:
- r = await session.post(
- uri, data=data, headers=headers,
timeout=__default_requests_timeout__
- )
+ r = await session.post(uri, data=data, headers=headers)
else:
- r = await session.get(
- uri, headers=headers, timeout=__default_requests_timeout__
- )
+ r = await session.get(uri, headers=headers)
r.raise_for_status()
result = r.text
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/platformio-6.1.4/platformio/http.py
new/platformio-6.1.5/platformio/http.py
--- old/platformio-6.1.4/platformio/http.py 2022-08-12 15:57:27.000000000
+0200
+++ new/platformio-6.1.5/platformio/http.py 2022-11-01 19:32:55.000000000
+0100
@@ -20,10 +20,12 @@
import requests.adapters
from requests.packages.urllib3.util.retry import Retry #
pylint:disable=import-error
-from platformio import __check_internet_hosts__, __default_requests_timeout__,
app, util
+from platformio import __check_internet_hosts__, app, util
from platformio.cache import ContentCache, cleanup_content_cache
from platformio.exception import PlatformioException, UserSideException
+__default_requests_timeout__ = (10, None) # (connect, read)
+
class HTTPClientError(PlatformioException):
def __init__(self, message, response=None):
@@ -44,19 +46,30 @@
)
-class EndpointSession(requests.Session):
- def __init__(self, base_url, *args, **kwargs):
+class HTTPSession(requests.Session):
+ def __init__(self, *args, **kwargs):
+ self._x_base_url = kwargs.pop("x_base_url") if "x_base_url" in kwargs
else None
super().__init__(*args, **kwargs)
- self.base_url = base_url
+ self.headers.update({"User-Agent": app.get_user_agent()})
+ self.verify = app.get_setting("enable_proxy_strict_ssl")
def request( # pylint: disable=signature-differs,arguments-differ
self, method, url, *args, **kwargs
):
- # print(self.base_url, method, url, args, kwargs)
- return super().request(method, urljoin(self.base_url, url), *args,
**kwargs)
+ # print("HTTPSession::request", self._x_base_url, method, url, args,
kwargs)
+ if "timeout" not in kwargs:
+ kwargs["timeout"] = __default_requests_timeout__
+ return super().request(
+ method,
+ url
+ if url.startswith("http") or not self._x_base_url
+ else urljoin(self._x_base_url, url),
+ *args,
+ **kwargs
+ )
-class EndpointSessionIterator:
+class HTTPSessionIterator:
def __init__(self, endpoints):
if not isinstance(endpoints, list):
endpoints = [endpoints]
@@ -75,8 +88,7 @@
def __next__(self):
base_url = next(self.endpoints_iter)
- session = EndpointSession(base_url)
- session.headers.update({"User-Agent": app.get_user_agent()})
+ session = HTTPSession(x_base_url=base_url)
adapter = requests.adapters.HTTPAdapter(max_retries=self.retry)
session.mount(base_url, adapter)
return session
@@ -84,7 +96,7 @@
class HTTPClient:
def __init__(self, endpoints):
- self._session_iter = EndpointSessionIterator(endpoints)
+ self._session_iter = HTTPSessionIterator(endpoints)
self._session = None
self._next_session()
@@ -122,10 +134,6 @@
)
kwargs["headers"] = headers
- # set default timeout
- if "timeout" not in kwargs:
- kwargs["timeout"] = __default_requests_timeout__
-
while True:
try:
return getattr(self._session, method)(path, **kwargs)
@@ -201,13 +209,8 @@
def fetch_remote_content(*args, **kwargs):
- kwargs["headers"] = kwargs.get("headers", {})
- if "User-Agent" not in kwargs["headers"]:
- kwargs["headers"]["User-Agent"] = app.get_user_agent()
-
- if "timeout" not in kwargs:
- kwargs["timeout"] = __default_requests_timeout__
-
- r = requests.get(*args, **kwargs)
- r.raise_for_status()
- return r.text
+ with HTTPSession() as s:
+ r = s.get(*args, **kwargs)
+ r.raise_for_status()
+ r.close()
+ return r.text
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/platformio-6.1.4/platformio/package/commands/install.py
new/platformio-6.1.5/platformio/package/commands/install.py
--- old/platformio-6.1.4/platformio/package/commands/install.py 2022-08-12
15:57:27.000000000 +0200
+++ new/platformio-6.1.5/platformio/package/commands/install.py 2022-11-01
19:32:55.000000000 +0100
@@ -61,7 +61,7 @@
@click.option("-f", "--force", is_flag=True, help="Reinstall package if it
exists")
@click.option("-s", "--silent", is_flag=True, help="Suppress progress
reporting")
def package_install_cmd(**options):
- if options.get("global"):
+ if options.get("global") or options.get("storage_dir"):
install_global_dependencies(options)
else:
install_project_dependencies(options)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/platformio-6.1.4/platformio/package/download.py
new/platformio-6.1.5/platformio/package/download.py
--- old/platformio-6.1.4/platformio/package/download.py 2022-08-12
15:57:27.000000000 +0200
+++ new/platformio-6.1.5/platformio/package/download.py 2022-11-01
19:32:55.000000000 +0100
@@ -18,31 +18,30 @@
from time import mktime
import click
-import requests
-from platformio import __default_requests_timeout__, app, fs
+from platformio import fs
from platformio.compat import is_terminal
+from platformio.http import HTTPSession
from platformio.package.exception import PackageException
class FileDownloader:
def __init__(self, url, dest_dir=None):
- self._request = None
+ self._http_session = HTTPSession()
+ self._http_response = None
# make connection
- self._request = requests.get(
+ self._http_response = self._http_session.get(
url,
stream=True,
- headers={"User-Agent": app.get_user_agent()},
- timeout=__default_requests_timeout__,
)
- if self._request.status_code != 200:
+ if self._http_response.status_code != 200:
raise PackageException(
"Got the unrecognized status code '{0}' when downloaded
{1}".format(
- self._request.status_code, url
+ self._http_response.status_code, url
)
)
- disposition = self._request.headers.get("content-disposition")
+ disposition = self._http_response.headers.get("content-disposition")
if disposition and "filename=" in disposition:
self._fname = (
disposition[disposition.index("filename=") + 9 :]
@@ -63,17 +62,17 @@
return self._destination
def get_lmtime(self):
- return self._request.headers.get("last-modified")
+ return self._http_response.headers.get("last-modified")
def get_size(self):
- if "content-length" not in self._request.headers:
+ if "content-length" not in self._http_response.headers:
return -1
- return int(self._request.headers["content-length"])
+ return int(self._http_response.headers["content-length"])
def start(self, with_progress=True, silent=False):
label = "Downloading"
file_size = self.get_size()
- itercontent =
self._request.iter_content(chunk_size=io.DEFAULT_BUFFER_SIZE)
+ itercontent =
self._http_response.iter_content(chunk_size=io.DEFAULT_BUFFER_SIZE)
try:
with open(self._destination, "wb") as fp:
if file_size == -1 or not with_progress or silent:
@@ -110,7 +109,8 @@
pb.update(len(chunk))
fp.write(chunk)
finally:
- self._request.close()
+ self._http_response.close()
+ self._http_session.close()
if self.get_lmtime():
self._preserve_filemtime(self.get_lmtime())
@@ -158,5 +158,6 @@
fs.change_filemtime(self._destination, lmtime)
def __del__(self):
- if self._request:
- self._request.close()
+ self._http_session.close()
+ if self._http_response:
+ self._http_response.close()
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/platformio-6.1.4/platformio/project/helpers.py
new/platformio-6.1.5/platformio/project/helpers.py
--- old/platformio-6.1.4/platformio/project/helpers.py 2022-08-12
15:57:27.000000000 +0200
+++ new/platformio-6.1.5/platformio/project/helpers.py 2022-11-01
19:32:55.000000000 +0100
@@ -121,7 +121,7 @@
return checksum.hexdigest()
-def load_build_metadata(project_dir, env_or_envs, cache=False):
+def load_build_metadata(project_dir, env_or_envs, cache=False, debug=False):
assert env_or_envs
env_names = env_or_envs
if not isinstance(env_names, list):
@@ -129,9 +129,19 @@
with fs.cd(project_dir):
result = _get_cached_build_metadata(project_dir, env_names) if cache
else {}
+ # incompatible build-type data
+ for name in list(result.keys()):
+ build_type = result[name].get("build_type", "")
+ outdated_conds = [
+ not build_type,
+ debug and "debug" not in build_type,
+ not debug and "debug" in build_type,
+ ]
+ if any(outdated_conds):
+ del result[name]
missed_env_names = set(env_names) - set(result.keys())
if missed_env_names:
- result.update(_load_build_metadata(project_dir, missed_env_names))
+ result.update(_load_build_metadata(project_dir, missed_env_names,
debug))
if not isinstance(env_or_envs, list) and env_or_envs in result:
return result[env_or_envs]
@@ -142,11 +152,13 @@
load_project_ide_data = load_build_metadata
-def _load_build_metadata(project_dir, env_names):
+def _load_build_metadata(project_dir, env_names, debug=False):
# pylint: disable=import-outside-toplevel
from platformio.run.cli import cli as cmd_run
- args = ["--project-dir", project_dir, "--target", "_idedata"]
+ args = ["--project-dir", project_dir, "--target", "__idedata"]
+ if debug:
+ args.extend(["--target", "__debug"])
for name in env_names:
args.extend(["-e", name])
result = CliRunner().invoke(cmd_run, args)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/platformio-6.1.4/platformio/system/completion.py
new/platformio-6.1.5/platformio/system/completion.py
--- old/platformio-6.1.4/platformio/system/completion.py 2022-08-12
15:57:27.000000000 +0200
+++ new/platformio-6.1.5/platformio/system/completion.py 2022-11-01
19:32:55.000000000 +0100
@@ -30,7 +30,7 @@
def get_bash_version():
result = subprocess.run(["bash", "--version"], capture_output=True,
check=True)
- match = re.search(r"version\s+(\d+)\.(\d+)", result.stdout.decode())
+ match = re.search(r"version\s+(\d+)\.(\d+)", result.stdout.decode(),
re.IGNORECASE)
if match:
return (int(match.group(1)), int(match.group(2)))
return (0, 0)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/platformio-6.1.4/platformio/telemetry.py
new/platformio-6.1.5/platformio/telemetry.py
--- old/platformio-6.1.4/platformio/telemetry.py 2022-08-12
15:57:27.000000000 +0200
+++ new/platformio-6.1.5/platformio/telemetry.py 2022-11-01
19:32:55.000000000 +0100
@@ -30,6 +30,7 @@
from platformio import __version__, app, exception, util
from platformio.cli import PlatformioCLI
from platformio.compat import hashlib_encode_data, string_types
+from platformio.http import HTTPSession
from platformio.proc import is_ci, is_container
from platformio.project.helpers import is_platformio_project
@@ -146,6 +147,7 @@
"device",
"org",
"package",
+ "pkg",
"platform",
"project",
"settings",
@@ -183,7 +185,7 @@
def _ignore_hit(self):
if not app.get_setting("enable_telemetry"):
return True
- if self["ea"] in ("Idedata", "_Idedata"):
+ if self["ea"] in ("Idedata", "__Idedata"):
return True
return False
@@ -205,7 +207,7 @@
def __init__(self):
self._queue = queue.LifoQueue()
self._failedque = deque()
- self._http_session = requests.Session()
+ self._http_session = HTTPSession()
self._http_offline = False
self._workers = []
@@ -269,7 +271,6 @@
r = self._http_session.post(
"https://ssl.google-analytics.com/collect",
data=data,
- headers={"User-Agent": app.get_user_agent()},
timeout=1,
)
r.raise_for_status()
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/platformio-6.1.4/platformio/test/runners/unity.py
new/platformio-6.1.5/platformio/test/runners/unity.py
--- old/platformio-6.1.4/platformio/test/runners/unity.py 2022-08-12
15:57:27.000000000 +0200
+++ new/platformio-6.1.5/platformio/test/runners/unity.py 2022-11-01
19:32:55.000000000 +0100
@@ -19,7 +19,6 @@
import click
-from platformio.package.manager.library import LibraryPackageManager
from platformio.test.exception import UnitTestSuiteError
from platformio.test.result import TestCase, TestCaseSource, TestStatus
from platformio.test.runners.base import TestRunnerBase
@@ -188,20 +187,6 @@
def __init__(self, *args, **kwargs):
"""Delete when Unity > 2.5.2 is released"""
super().__init__(*args, **kwargs)
- self._tmp_pre_upgrade()
-
- def _tmp_pre_upgrade(self):
- """Delete when Unity > 2.5.2 is released"""
- lm = LibraryPackageManager(
- os.path.join(
- self.project_config.get("platformio", "libdeps_dir"),
- self.test_suite.env_name,
- ),
- )
- pkg = lm.get_package(self.EXTRA_LIB_DEPS[0])
- if not pkg or os.path.isfile(os.path.join(pkg.path,
"platformio-build.py")):
- return
- lm.uninstall(pkg)
def get_unity_framework_config(self):
if not self.platform.is_embedded():
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/platformio-6.1.4/platformio.egg-info/PKG-INFO
new/platformio-6.1.5/platformio.egg-info/PKG-INFO
--- old/platformio-6.1.4/platformio.egg-info/PKG-INFO 2022-08-12
16:09:45.000000000 +0200
+++ new/platformio-6.1.5/platformio.egg-info/PKG-INFO 2022-11-01
19:45:41.000000000 +0100
@@ -1,6 +1,6 @@
Metadata-Version: 2.1
Name: platformio
-Version: 6.1.4
+Version: 6.1.5
Summary: A professional collaborative platform for embedded development.
Cross-platform IDE and Unified Debugger. Static Code Analyzer and Remote Unit
Testing. Multi-platform and Multi-architecture Build System. Firmware File
Explorer and Memory Inspection. IoT, Arduino, CMSIS, ESP-IDF, FreeRTOS,
libOpenCM3, mbedOS, Pulp OS, SPL, STM32Cube, Zephyr RTOS, ARM, AVR, Espressif
(ESP8266/ESP32), FPGA, MCS-51 (8051), MSP430, Nordic (nRF51/nRF52), NXP i.MX
RT, PIC32, RISC-V, STMicroelectronics (STM8/STM32), Teensy
Home-page: https://platformio.org
Author: PlatformIO Labs
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/platformio-6.1.4/platformio.egg-info/requires.txt
new/platformio-6.1.5/platformio.egg-info/requires.txt
--- old/platformio-6.1.4/platformio.egg-info/requires.txt 2022-08-12
16:09:45.000000000 +0200
+++ new/platformio-6.1.5/platformio.egg-info/requires.txt 2022-11-01
19:45:41.000000000 +0100
@@ -7,10 +7,10 @@
requests==2.*
requests==2.*
semantic_version==2.10.*
-tabulate==0.8.*
+tabulate==0.9.*
zeroconf<1
-aiofiles==0.8.*
+aiofiles==22.1.*
ajsonrpc==1.*
-starlette==0.20.*
-uvicorn==0.18.*
-wsproto==1.1.*
+starlette==0.21.*
+uvicorn==0.19.*
+wsproto==1.2.*
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/platformio-6.1.4/scripts/99-platformio-udev.rules
new/platformio-6.1.5/scripts/99-platformio-udev.rules
--- old/platformio-6.1.4/scripts/99-platformio-udev.rules 2022-08-12
15:57:27.000000000 +0200
+++ new/platformio-6.1.5/scripts/99-platformio-udev.rules 2022-11-01
19:32:55.000000000 +0100
@@ -76,6 +76,13 @@
# FireBeetle-ESP32
ATTRS{idVendor}=="1a86", ATTRS{idProduct}=="7522", MODE="0666",
ENV{ID_MM_DEVICE_IGNORE}="1", ENV{ID_MM_PORT_IGNORE}="1"
+#Wio Terminal
+ATTRS{idVendor}=="2886", ATTRS{idProduct}=="[08]02d", MODE="0666",
ENV{ID_MM_DEVICE_IGNORE}="1", ENV{ID_MM_PORT_IGNORE}="1"
+
+# Raspberry Pi Pico
+ATTRS{idVendor}=="2e8a", ATTRS{idProduct}=="[01]*", MODE:="0666",
ENV{ID_MM_DEVICE_IGNORE}="1", ENV{ID_MM_PORT_IGNORE}="1"
+
+
#
# Debuggers
#
@@ -87,44 +94,29 @@
# opendous and estick
ATTRS{idVendor}=="03eb", ATTRS{idProduct}=="204f", MODE="0666",
ENV{ID_MM_DEVICE_IGNORE}="1", ENV{ID_MM_PORT_IGNORE}="1"
-# Original FT232/FT245 VID:PID
-ATTRS{idVendor}=="0403", ATTRS{idProduct}=="6001", MODE="0666",
ENV{ID_MM_DEVICE_IGNORE}="1", ENV{ID_MM_PORT_IGNORE}="1"
-
-# Original FT2232 VID:PID
-ATTRS{idVendor}=="0403", ATTRS{idProduct}=="6010", MODE="0666",
ENV{ID_MM_DEVICE_IGNORE}="1", ENV{ID_MM_PORT_IGNORE}="1"
-
-# Original FT4232 VID:PID
-ATTRS{idVendor}=="0403", ATTRS{idProduct}=="6011", MODE="0666",
ENV{ID_MM_DEVICE_IGNORE}="1", ENV{ID_MM_PORT_IGNORE}="1"
-
-# Original FT232H VID:PID
-ATTRS{idVendor}=="0403", ATTRS{idProduct}=="6014", MODE="0666",
ENV{ID_MM_DEVICE_IGNORE}="1", ENV{ID_MM_PORT_IGNORE}="1"
+# Original FT232/FT245/FT2232/FT232H/FT4232
+ATTRS{idVendor}=="0403", ATTRS{idProduct}=="60[01][104]", MODE="0666",
ENV{ID_MM_DEVICE_IGNORE}="1", ENV{ID_MM_PORT_IGNORE}="1"
# DISTORTEC JTAG-lock-pick Tiny 2
ATTRS{idVendor}=="0403", ATTRS{idProduct}=="8220", MODE="0666",
ENV{ID_MM_DEVICE_IGNORE}="1", ENV{ID_MM_PORT_IGNORE}="1"
# TUMPA, TUMPA Lite
-ATTRS{idVendor}=="0403", ATTRS{idProduct}=="8a98", MODE="0666",
ENV{ID_MM_DEVICE_IGNORE}="1", ENV{ID_MM_PORT_IGNORE}="1"
-ATTRS{idVendor}=="0403", ATTRS{idProduct}=="8a99", MODE="0666",
ENV{ID_MM_DEVICE_IGNORE}="1", ENV{ID_MM_PORT_IGNORE}="1"
+ATTRS{idVendor}=="0403", ATTRS{idProduct}=="8a9[89]", MODE="0666",
ENV{ID_MM_DEVICE_IGNORE}="1", ENV{ID_MM_PORT_IGNORE}="1"
# XDS100v2
ATTRS{idVendor}=="0403", ATTRS{idProduct}=="a6d0", MODE="0666",
ENV{ID_MM_DEVICE_IGNORE}="1", ENV{ID_MM_PORT_IGNORE}="1"
# Xverve Signalyzer Tool (DT-USB-ST), Signalyzer LITE (DT-USB-SLITE)
-ATTRS{idVendor}=="0403", ATTRS{idProduct}=="bca0", MODE="0666",
ENV{ID_MM_DEVICE_IGNORE}="1", ENV{ID_MM_PORT_IGNORE}="1"
-ATTRS{idVendor}=="0403", ATTRS{idProduct}=="bca1", MODE="0666",
ENV{ID_MM_DEVICE_IGNORE}="1", ENV{ID_MM_PORT_IGNORE}="1"
+ATTRS{idVendor}=="0403", ATTRS{idProduct}=="bca[01]", MODE="0666",
ENV{ID_MM_DEVICE_IGNORE}="1", ENV{ID_MM_PORT_IGNORE}="1"
# TI/Luminary Stellaris Evaluation Board FTDI (several)
-ATTRS{idVendor}=="0403", ATTRS{idProduct}=="bcd9", MODE="0666",
ENV{ID_MM_DEVICE_IGNORE}="1", ENV{ID_MM_PORT_IGNORE}="1"
-
-# TI/Luminary Stellaris In-Circuit Debug Interface FTDI (ICDI) Board
-ATTRS{idVendor}=="0403", ATTRS{idProduct}=="bcda", MODE="0666",
ENV{ID_MM_DEVICE_IGNORE}="1", ENV{ID_MM_PORT_IGNORE}="1"
+ATTRS{idVendor}=="0403", ATTRS{idProduct}=="bcd[9a]", MODE="0666",
ENV{ID_MM_DEVICE_IGNORE}="1", ENV{ID_MM_PORT_IGNORE}="1"
# egnite Turtelizer 2
ATTRS{idVendor}=="0403", ATTRS{idProduct}=="bdc8", MODE="0666",
ENV{ID_MM_DEVICE_IGNORE}="1", ENV{ID_MM_PORT_IGNORE}="1"
# Section5 ICEbear
-ATTRS{idVendor}=="0403", ATTRS{idProduct}=="c140", MODE="0666",
ENV{ID_MM_DEVICE_IGNORE}="1", ENV{ID_MM_PORT_IGNORE}="1"
-ATTRS{idVendor}=="0403", ATTRS{idProduct}=="c141", MODE="0666",
ENV{ID_MM_DEVICE_IGNORE}="1", ENV{ID_MM_PORT_IGNORE}="1"
+ATTRS{idVendor}=="0403", ATTRS{idProduct}=="c14[01]", MODE="0666",
ENV{ID_MM_DEVICE_IGNORE}="1", ENV{ID_MM_PORT_IGNORE}="1"
# Amontec JTAGkey and JTAGkey-tiny
ATTRS{idVendor}=="0403", ATTRS{idProduct}=="cff8", MODE="0666",
ENV{ID_MM_DEVICE_IGNORE}="1", ENV{ID_MM_PORT_IGNORE}="1"
@@ -176,6 +168,3 @@
# Atmel AVR Dragon
ATTRS{idVendor}=="03eb", ATTRS{idProduct}=="2107", MODE="0666",
ENV{ID_MM_DEVICE_IGNORE}="1", ENV{ID_MM_PORT_IGNORE}="1"
-
-# Raspberry Pi Pico
-SUBSYSTEMS=="usb", ATTRS{idVendor}=="2e8a", ATTRS{idProduct}=="[01]*",
MODE:="0666"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/platformio-6.1.4/setup.py
new/platformio-6.1.5/setup.py
--- old/platformio-6.1.4/setup.py 2022-08-12 15:57:27.000000000 +0200
+++ new/platformio-6.1.5/setup.py 2022-11-01 19:32:55.000000000 +0100
@@ -25,27 +25,29 @@
__version__,
)
+PY36 = sys.version_info < (3, 7)
+
minimal_requirements = [
"bottle==0.12.*",
- "click%s" % (">=8.0.4,<9" if sys.version_info >= (3, 7) else "==8.0.4"),
+ "click%s" % ("==8.0.4" if PY36 else ">=8.0.4,<9"),
"colorama",
- "marshmallow==%s" % ("3.*" if sys.version_info >= (3, 7) else "3.14.1"),
+ "marshmallow==%s" % ("3.14.1" if PY36 else "3.*"),
"pyelftools>=0.27,<1",
"pyserial==3.5.*", # keep in sync "device/monitor/terminal.py"
"requests==2.*",
- "requests==%s" % ("2.*" if sys.version_info >= (3, 7) else "2.27.1"),
+ "requests==%s" % ("2.27.1" if PY36 else "2.*"),
"semantic_version==2.10.*",
- "tabulate==0.8.*",
+ "tabulate==%s" % ("0.8.10" if PY36 else "0.9.*"),
"zeroconf<1",
]
home_requirements = [
- "aiofiles==0.8.*",
+ "aiofiles==%s" % ("0.8.0" if PY36 else "22.1.*"),
"ajsonrpc==1.*",
- "starlette==%s" % ("0.20.*" if sys.version_info >= (3, 7) else "0.19.1"),
- "uvicorn==%s" % ("0.18.*" if sys.version_info >= (3, 7) else "0.16.0"),
- "wsproto==%s" % ("1.1.*" if sys.version_info >= (3, 7) else "1.0.0"),
+ "starlette==%s" % ("0.19.1" if PY36 else "0.21.*"),
+ "uvicorn==%s" % ("0.16.0" if PY36 else "0.19.*"),
+ "wsproto==%s" % ("1.0.0" if PY36 else "1.2.*"),
]
setup(
++++++ python-platformio.rpmlintrc ++++++
# These hidden files are legitimate part of the package
addFilter("hidden-file-or-dir /usr/lib/python.*/.ccls.tpl")
addFilter("hidden-file-or-dir /usr/lib/python.*/.clang_complete.tpl")
addFilter("hidden-file-or-dir /usr/lib/python.*/.cproject.tpl")
addFilter("hidden-file-or-dir /usr/lib/python.*/.gcc-flags.json.tpl")
addFilter("hidden-file-or-dir /usr/lib/python.*/.gitignore.tpl")
addFilter("hidden-file-or-dir /usr/lib/python.*/.project.tpl")
addFilter("hidden-file-or-dir /usr/lib/python.*/.settings")
addFilter("hidden-file-or-dir /usr/lib/python.*/.vscode")
# These two names are links to the same file
addFilter("files-duplicate /usr/bin/platformio-3\.\d+ /usr/bin/pio-3\.\d+")