openSUSE Commits
Threads by month
- ----- 2024 -----
- November
- October
- September
- August
- July
- June
- May
- 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
October 2024
- 1 participants
- 1410 discussions
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package element-web for openSUSE:Factory checked in at 2024-10-06 17:51:59
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/element-web (Old)
and /work/SRC/openSUSE:Factory/.element-web.new.19354 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "element-web"
Sun Oct 6 17:51:59 2024 rev:64 rq:1205714 version:1.11.79
Changes:
--------
--- /work/SRC/openSUSE:Factory/element-web/element-web.changes 2024-09-12 16:56:18.048712556 +0200
+++ /work/SRC/openSUSE:Factory/.element-web.new.19354/element-web.changes 2024-10-06 17:52:09.809582424 +0200
@@ -1,0 +2,32 @@
+Wed Oct 2 12:43:47 UTC 2024 - Dominik Heidler <dheidler(a)suse.de>
+
+- Version 1.11.79
+ * No changes
+
+ ## ✨ Features
+
+ * https://github.com/element-hq/matrix-react-sdk/pull/106) Contributed by @RiotRobot.
+
+-------------------------------------------------------------------
+Thu Sep 26 12:41:06 UTC 2024 - Dominik Heidler <dheidler(a)suse.de>
+
+- Version 1.11.78
+ ## ✨ Features
+
+ * Add Release announcement for the pinning message list (https://github.com/element-hq/matrix-react-sdk/pull/46) Contributed by @florianduros.
+ * Unlabs feature pinning (https://github.com/element-hq/matrix-react-sdk/pull/22) Contributed by @florianduros.
+ * Add mobile registration (https://github.com/element-hq/matrix-react-sdk/pull/42) Contributed by @langleyd.
+ * Add support for `org.matrix.cross_signing_reset` UIA stage flow (https://github.com/element-hq/matrix-react-sdk/pull/34) Contributed by @t3chguy.
+ * Add timezone to user profile (https://github.com/element-hq/matrix-react-sdk/pull/20) Contributed by @Half-Shot.
+ * Add config option to force verification (https://github.com/element-hq/matrix-react-sdk/pull/29) Contributed by @dbkr.
+ * Reduce pinned message banner size (https://github.com/element-hq/matrix-react-sdk/pull/28) Contributed by @florianduros.
+ * Enable message pinning labs by default (https://github.com/element-hq/matrix-react-sdk/pull/25) Contributed by @florianduros.
+ * Remove release announcement of the new header (https://github.com/element-hq/matrix-react-sdk/pull/23) Contributed by @florianduros.
+
+ ## 🐛 Bug Fixes
+
+ * Fix timeout type (https://github.com/element-hq/matrix-react-sdk/pull/40) Contributed by @dbkr.
+ * Fix huge usage bandwidth and performance issue of pinned message banner. (https://github.com/element-hq/matrix-react-sdk/pull/37) Contributed by @florianduros.
+ * Reverse order of pinned message list (https://github.com/element-hq/matrix-react-sdk/pull/19) Contributed by @florianduros.
+
+-------------------------------------------------------------------
Old:
----
element-web-1.11.77.tar.gz
New:
----
element-web-1.11.79.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ element-web.spec ++++++
--- /var/tmp/diff_new_pack.0ejTG8/_old 2024-10-06 17:52:13.357729872 +0200
+++ /var/tmp/diff_new_pack.0ejTG8/_new 2024-10-06 17:52:13.357729872 +0200
@@ -17,7 +17,7 @@
Name: element-web
-Version: 1.11.77
+Version: 1.11.79
Release: 0
Summary: A glossy Matrix collaboration client - web files
License: Apache-2.0
++++++ element-web-1.11.77.tar.gz -> element-web-1.11.79.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/element-web-1.11.77/CHANGELOG.md new/element-web-1.11.79/CHANGELOG.md
--- old/element-web-1.11.77/CHANGELOG.md 2024-09-10 15:03:38.000000000 +0200
+++ new/element-web-1.11.79/CHANGELOG.md 2024-10-01 14:03:22.000000000 +0200
@@ -1,3 +1,34 @@
+Changes in [1.11.79](https://github.com/element-hq/element-web/releases/tag/v1.11.79) (2024-10-01)
+==================================================================================================
+* No changes
+
+## ✨ Features
+
+* [Backport staging] Allow joining calls and video rooms without enabling the labs flags ([#106](https://github.com/element-hq/matrix-react-sdk/pull/106)). Contributed by @RiotRobot.
+
+
+
+Changes in [1.11.78](https://github.com/element-hq/element-web/releases/tag/v1.11.78) (2024-09-24)
+==================================================================================================
+## ✨ Features
+
+* Add Release announcement for the pinning message list ([#46](https://github.com/element-hq/matrix-react-sdk/pull/46)). Contributed by @florianduros.
+* Unlabs feature pinning ([#22](https://github.com/element-hq/matrix-react-sdk/pull/22)). Contributed by @florianduros.
+* Add mobile registration ([#42](https://github.com/element-hq/matrix-react-sdk/pull/42)). Contributed by @langleyd.
+* Add support for `org.matrix.cross_signing_reset` UIA stage flow ([#34](https://github.com/element-hq/matrix-react-sdk/pull/34)). Contributed by @t3chguy.
+* Add timezone to user profile ([#20](https://github.com/element-hq/matrix-react-sdk/pull/20)). Contributed by @Half-Shot.
+* Add config option to force verification ([#29](https://github.com/element-hq/matrix-react-sdk/pull/29)). Contributed by @dbkr.
+* Reduce pinned message banner size ([#28](https://github.com/element-hq/matrix-react-sdk/pull/28)). Contributed by @florianduros.
+* Enable message pinning labs by default ([#25](https://github.com/element-hq/matrix-react-sdk/pull/25)). Contributed by @florianduros.
+* Remove release announcement of the new header ([#23](https://github.com/element-hq/matrix-react-sdk/pull/23)). Contributed by @florianduros.
+
+## 🐛 Bug Fixes
+
+* Fix timeout type ([#40](https://github.com/element-hq/matrix-react-sdk/pull/40)). Contributed by @dbkr.
+* Fix huge usage bandwidth and performance issue of pinned message banner. ([#37](https://github.com/element-hq/matrix-react-sdk/pull/37)). Contributed by @florianduros.
+* Reverse order of pinned message list ([#19](https://github.com/element-hq/matrix-react-sdk/pull/19)). Contributed by @florianduros.
+
+
Changes in [1.11.77](https://github.com/element-hq/element-web/releases/tag/v1.11.77) (2024-09-10)
==================================================================================================
## ✨ Features
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/element-web-1.11.77/docs/labs.md new/element-web-1.11.79/docs/labs.md
--- old/element-web-1.11.77/docs/labs.md 2024-09-10 15:03:38.000000000 +0200
+++ new/element-web-1.11.79/docs/labs.md 2024-10-01 14:03:22.000000000 +0200
@@ -83,7 +83,7 @@
## Video rooms (`feature_video_rooms`)
-Enables support for creating and joining video rooms, which are persistent video chats that users can jump in and out of.
+Enables support for creating video rooms, which are persistent video chats that users can jump in and out of.
## Element Call video rooms (`feature_element_call_video_rooms`) [In Development]
@@ -93,7 +93,7 @@
## New group call experience (`feature_group_calls`) [In Development]
-This feature allows users to place and join native [MSC3401](https://github.com/matrix-org/matrix-spec-proposals/pull/3401) group calls in compatible rooms, using Element Call.
+This feature allows users to place native [MSC3401](https://github.com/matrix-org/matrix-spec-proposals/pull/3401) group calls in compatible rooms, using Element Call.
If you're enabling this at the deployment level, you may also want to reference the docs for the `element_call` config section.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/element-web-1.11.77/package.json new/element-web-1.11.79/package.json
--- old/element-web-1.11.77/package.json 2024-09-10 15:03:38.000000000 +0200
+++ new/element-web-1.11.79/package.json 2024-10-01 14:03:22.000000000 +0200
@@ -1,6 +1,6 @@
{
"name": "element-web",
- "version": "1.11.77",
+ "version": "1.11.79",
"description": "A feature-rich client for Matrix.org",
"author": "New Vector Ltd.",
"repository": {
@@ -82,8 +82,8 @@
"jsrsasign": "^11.0.0",
"katex": "^0.16.0",
"lodash": "^4.17.21",
- "matrix-js-sdk": "34.5.0",
- "matrix-react-sdk": "3.109.0",
+ "matrix-js-sdk": "34.6.0",
+ "matrix-react-sdk": "3.111.0",
"matrix-widget-api": "^1.8.2",
"react": "17.0.2",
"react-dom": "17.0.2",
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/element-web-1.11.77/yarn.lock new/element-web-1.11.79/yarn.lock
--- old/element-web-1.11.77/yarn.lock 2024-09-10 15:03:38.000000000 +0200
+++ new/element-web-1.11.79/yarn.lock 2024-10-01 14:03:22.000000000 +0200
@@ -2054,10 +2054,10 @@
resolved "https://registry.yarnpkg.com/@mapbox/whoots-js/-/whoots-js-3.1.0.tgz#497c67…"
integrity sha512-Es6WcD0nO5l+2BOQS4uLfNPYQaNDfbot3X1XUoloz+x0mPDS3eeORZJl06HXjwBG1fOGwCRnzK88LMdxKRrd6Q==
-"@matrix-org/analytics-events@^0.24.0":
- version "0.24.0"
- resolved "https://registry.yarnpkg.com/@matrix-org/analytics-events/-/analytics-event…"
- integrity sha512-3FDdtqZ+5cMqVffWjFNOIQ7RDFN6XS11kqdtN2ps8uvq5ce8gT0yXQvK37WeKWKZZ5QAKeoMzGhud+lsVcb1xg==
+"@matrix-org/analytics-events@^0.25.0":
+ version "0.25.0"
+ resolved "https://registry.yarnpkg.com/@matrix-org/analytics-events/-/analytics-event…"
+ integrity sha512-UCTuMjlJGArMqG9qXGfeNz/XtZDFldwuO+dkqP6Wo1nVdWasoWAOlcimDWQ2JnNFCg+UDZU+HLBdS5juTd6xTg==
"@matrix-org/emojibase-bindings@^1.1.2":
version "1.1.3"
@@ -2067,10 +2067,10 @@
emojibase "^15.0.0"
emojibase-data "^15.0.0"
-"@matrix-org/matrix-sdk-crypto-wasm@^7.0.0":
- version "7.0.0"
- resolved "https://registry.yarnpkg.com/@matrix-org/matrix-sdk-crypto-wasm/-/matrix-sd…"
- integrity sha512-MOencXiW/gI5MuTtCNsuojjwT5DXCrjMqv9xOslJC9h2tPdLFFFMGr58dY5Lis4DRd9MRWcgrGowUIHOqieWTA==
+"@matrix-org/matrix-sdk-crypto-wasm@^9.0.0":
+ version "9.0.0"
+ resolved "https://registry.yarnpkg.com/@matrix-org/matrix-sdk-crypto-wasm/-/matrix-sd…"
+ integrity sha512-dz4dkYXj6BeOQuw52XQj8dMuhi85pSFhfFeFlNRAO7JdRPhE9CHBrfK8knkZV5Zux5vvf3Ub4E7myoLeJgZoEw==
"@matrix-org/matrix-wysiwyg@2.37.9":
version "2.37.9"
@@ -8189,13 +8189,13 @@
resolved "https://registry.yarnpkg.com/matrix-events-sdk/-/matrix-events-sdk-0.0.1.tg…"
integrity sha512-1QEOsXO+bhyCroIe2/A5OwaxHvBm7EsSQ46DEDn8RBIfQwN5HWBpFvyWWR4QY0KHPPnnJdI99wgRiAl7Ad5qaA==
-matrix-js-sdk(a)34.5.0:
- version "34.5.0"
- resolved "https://registry.yarnpkg.com/matrix-js-sdk/-/matrix-js-sdk-34.5.0.tgz#078c8…"
- integrity sha512-pbp+IxAkSwGmefrlUGCrtrs3UWyqN2iWh4lKnJW+jFIlsksXq7A8vL4cS1z8LXmpcHQAg3mKNuj8n8uhm51t1A==
+matrix-js-sdk(a)34.6.0:
+ version "34.6.0"
+ resolved "https://registry.yarnpkg.com/matrix-js-sdk/-/matrix-js-sdk-34.6.0.tgz#85678…"
+ integrity sha512-wNpmopLCnNXLpN6Zpdl+6zuWKhJTBUCe+cyoebLWm8IuseWOqBrQrvM4Olmi5C3RCNV2EaR/+XwAO8xjxjAZwg==
dependencies:
"@babel/runtime" "^7.12.5"
- "@matrix-org/matrix-sdk-crypto-wasm" "^7.0.0"
+ "@matrix-org/matrix-sdk-crypto-wasm" "^9.0.0"
"@matrix-org/olm" "3.2.15"
another-json "^0.2.0"
bs58 "^6.0.0"
@@ -8217,13 +8217,13 @@
dependencies:
expect "^28.1.0"
-matrix-react-sdk(a)3.109.0:
- version "3.109.0"
- resolved "https://registry.yarnpkg.com/matrix-react-sdk/-/matrix-react-sdk-3.109.0.tg…"
- integrity sha512-0M+iomIZxhzLp/zUnsd+VbNJYkFQuPGJD5Gi2mjO1N4vGikv2xpIZsPS3VamjUc9NZ6jN29urZo8YX946MmRyA==
+matrix-react-sdk(a)3.111.0:
+ version "3.111.0"
+ resolved "https://registry.yarnpkg.com/matrix-react-sdk/-/matrix-react-sdk-3.111.0.tg…"
+ integrity sha512-RrZYthV2W4nf/0cCRRrulU/kxK6KhERD6HqiWzm3Ilpo9slkeHsRJsjny1AMITMPuxfHm4B0j3Tlg1n8txQgQw==
dependencies:
"@babel/runtime" "^7.12.5"
- "@matrix-org/analytics-events" "^0.24.0"
+ "@matrix-org/analytics-events" "^0.25.0"
"@matrix-org/emojibase-bindings" "^1.1.2"
"@matrix-org/matrix-wysiwyg" "2.37.9"
"@matrix-org/react-sdk-module-api" "^2.4.0"
@@ -8265,7 +8265,7 @@
maplibre-gl "^2.0.0"
matrix-encrypt-attachment "^1.0.3"
matrix-events-sdk "0.0.1"
- matrix-js-sdk "34.5.0"
+ matrix-js-sdk "34.6.0"
matrix-widget-api "^1.9.0"
memoize-one "^6.0.0"
minimist "^1.2.5"
++++++ jitsi_external_api.min.js ++++++
--- /var/tmp/diff_new_pack.0ejTG8/_old 2024-10-06 17:52:13.649742007 +0200
+++ /var/tmp/diff_new_pack.0ejTG8/_new 2024-10-06 17:52:13.653742174 +0200
@@ -1,4 +1,4 @@
-!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define([],t):"object"==typeof exports?exports.JitsiMeetExternalAPI=t():e.JitsiMeetExternalAPI=t()}(self,(()=>(()=>{var e={372:(e,t,n)=>{"use strict";n.d(t,{default:()=>N});var r=n(620),i=n.n(r);class s extends r{constructor(){var e,t,n;super(...arguments),e=this,n={},(t=function(e){var t=function(e,t){if("object"!=typeof e||null===e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var r=n.call(e,t);if("object"!=typeof r)return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e,"string");return"symbol"==typeof t?t:String(t)}(t="_storage"))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n}clear(){this._storage={}}get length(){return Object.keys(this._storage).length}getItem(e){return this._storage[e]}setItem(e,t){this._storage[e]=t}removeItem(e){delete this._storage[e]}key(e){const t
=Object.keys(this._storage);if(!(t.length<=e))return t[e]}serialize(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[];if(0===e.length)return JSON.stringify(this._storage);const t={...this._storage};return e.forEach((e=>{delete t[e]})),JSON.stringify(t)}}const o=new class extends r{constructor(){super();try{this._storage=window.localStorage,this._localStorageDisabled=!1}catch(e){}this._storage||(console.warn("Local storage is disabled."),this._storage=new s,this._localStorageDisabled=!0)}isLocalStorageDisabled(){return this._localStorageDisabled}setLocalStorageDisabled(e){this._localStorageDisabled=e;try{this._storage=e?new s:window.localStorage}catch(e){}this._storage||(this._storage=new s)}clear(){this._storage.clear(),this.emit("changed")}get length(){return this._storage.length}getItem(e){return this._storage.getItem(e)}setItem(e,t){let n=arguments.length>2&&void 0!==arguments[2]&&arguments[2];this._storage.setItem(e,t),n||this.emit("changed")}removeItem(e){this._
storage.removeItem(e),this.emit("changed")}key(e){return this._storage.key(e)}serialize(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[];if(this.isLocalStorageDisabled())return this._storage.serialize(e);const t=this._storage.length,n={};for(let r=0;r<t;r++){const t=this._storage.key(r);e.includes(t)||(n[t]=this._storage.getItem(t))}return JSON.stringify(n)}};var a=n(571);function c(e){return a.parse(e)}const d=["__proto__","constructor","prototype"];var l;!function(e){e[e.PaymentRequired=402]="PaymentRequired"}(l||(l={}));function u(e){const t=new RegExp("^([a-z][a-z0-9\\.\\+-]*:)+","gi"),n=t.exec(e);if(n){let r=n[n.length-1].toLowerCase();"http:"!==r&&"https:"!==r&&(r="https:"),(e=e.substring(t.lastIndex)).startsWith("//")&&(e=r+e)}return e}function p(e={}){const t=[];for(const n in e)try{t.push(`${n}=${encodeURIComponent(JSON.stringify(e[n]))}`)}catch(e){console.warn(`Error encoding ${n}: ${e}`)}return t}function h(e){const t={toString:g};let n,r,i;if(e=e.replace
(/\s/g,""),n=new RegExp("^([a-z][a-z0-9\\.\\+-]*:)","gi"),r=n.exec(e),r&&(t.protocol=r[1].toLowerCase(),e=e.substring(n.lastIndex)),n=new RegExp("^(//[^/?#]+)","gi"),r=n.exec(e),r){let i=r[1].substring(2);e=e.substring(n.lastIndex);const s=i.indexOf("@");-1!==s&&(i=i.substring(s+1)),t.host=i;const o=i.lastIndexOf(":");-1!==o&&(t.port=i.substring(o+1),i=i.substring(0,o)),t.hostname=i}if(n=new RegExp("^([^?#]*)","gi"),r=n.exec(e),r&&(i=r[1],e=e.substring(n.lastIndex)),i?i.startsWith("/")||(i=`/${i}`):i="/",t.pathname=i,e.startsWith("?")){let n=e.indexOf("#",1);-1===n&&(n=e.length),t.search=e.substring(0,n),e=e.substring(n)}else t.search="";return t.hash=e.startsWith("#")?e:"",t}function g(e){const{hash:t,host:n,pathname:r,protocol:i,search:s}=e||this;let o="";return i&&(o+=i),n&&(o+=`//${n}`),o+=r||"/",s&&(o+=s),t&&(o+=t),o}function m(e){let t;t=e.serverURL&&e.room?new URL(e.room,e.serverURL).toString():e.room?e.room:e.url||"";const n=h(u(t));if(!n.protocol){let t=e.protocol||e.scheme
;t&&(t.endsWith(":")||(t+=":"),n.protocol=t)}let{pathname:r}=n;if(!n.host){const t=e.domain||e.host||e.hostname;if(t){const{host:e,hostname:i,pathname:s,port:o}=h(u(`org.jitsi.meet://${t}`));e&&(n.host=e,n.hostname=i,n.port=o),"/"===r&&"/"!==s&&(r=s)}}const i=e.roomName||e.room;!i||!n.pathname.endsWith("/")&&n.pathname.endsWith(`/${i}`)||(r.endsWith("/")||(r+="/"),r+=i),n.pathname=r;const{jwt:s,lang:o,release:a}=e,c=new URLSearchParams(n.search);s&&c.set("jwt",s);const{defaultLanguage:d}=e.configOverwrite||{};(o||d)&&c.set("lang",o||d),a&&c.set("release",a);const l=c.toString();l&&(n.search=`?${l}`);let{hash:g}=n;for(const t of["config","iceServers","interfaceConfig","devices","userInfo","appData"]){const n=p(e[`${t}Overwrite`]||e[t]||e[`${t}Override`]);if(n.length){let e=`${t}.${n.join(`&${t}.`)}`;g.length?e=`&${e}`:g="#",g+=e}}return n.hash=g,n.toString()||void 0}const f={window:window.opener||window.parent},v="message";class y{constructor(){let{postisOptions:e}=arguments.length>0
&&void 0!==arguments[0]?arguments[0]:{};this.postis=function(e){var t,n=e.scope,r=e.window,i=e.windowForEventListening||window,s=e.allowedOrigin,o={},a=[],d={},l=!1,u="__ready__",p=function(e){var t;try{t=c(e.data)}catch(e){return}if((!s||e.origin===s)&&t&&t.postis&&t.scope===n){var r=o[t.method];if(r)for(var i=0;i<r.length;i++)r[i].call(null,t.params);else d[t.method]=d[t.method]||[],d[t.method].push(t.params)}};i.addEventListener("message",p,!1);var h={listen:function(e,t){o[e]=o[e]||[],o[e].push(t);var n=d[e];if(n)for(var r=o[e],i=0;i<r.length;i++)for(var s=0;s<n.length;s++)r[i].call(null,n[s]);delete d[e]},send:function(e){var t=e.method;(l||e.method===u)&&r&&"function"==typeof r.postMessage?r.postMessage(JSON.stringify({postis:!0,scope:n,method:t,params:e.params}),"*"):a.push(e)},ready:function(e){l?e():setTimeout((function(){h.ready(e)}),50)},destroy:function(e){clearInterval(t),l=!1,i&&"function"==typeof i.removeEventListener&&i.removeEventListener("message",p),e&&e()}},g=+ne
w Date+Math.random()+"";return t=setInterval((function(){h.send({method:u,params:g})}),50),h.listen(u,(function(e){if(e===g){clearInterval(t),l=!0;for(var n=0;n<a.length;n++)h.send(a[n]);a=[]}else h.send({method:u,params:e})})),h}({...f,...e}),this._receiveCallback=()=>{},this.postis.listen(v,(e=>this._receiveCallback(e)))}dispose(){this.postis.destroy()}send(e){this.postis.send({method:v,params:e})}setReceiveCallback(e){this._receiveCallback=e}}const _="request",b="response";class w{constructor(){let{backend:e}=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};this._listeners=new Map,this._requestID=0,this._responseHandlers=new Map,this._unprocessedMessages=new Set,this.addListener=this.on,e&&this.setBackend(e)}_disposeBackend(){this._backend&&(this._backend.dispose(),this._backend=null)}_onMessageReceived(e){if(e.type===b){const t=this._responseHandlers.get(e.id);t&&(t(e),this._responseHandlers.delete(e.id))}else e.type===_?this.emit("request",e.data,((t,n)=>{this._backend
.send({type:b,error:n,id:e.id,result:t})})):this.emit("event",e.data)}dispose(){this._responseHandlers.clear(),this._unprocessedMessages.clear(),this.removeAllListeners(),this._disposeBackend()}emit(e){for(var t=arguments.length,n=new Array(t>1?t-1:0),r=1;r<t;r++)n[r-1]=arguments[r];const i=this._listeners.get(e);let s=!1;return i&&i.size&&i.forEach((e=>{s=e(...n)||s})),s||this._unprocessedMessages.add(n),s}on(e,t){let n=this._listeners.get(e);return n||(n=new Set,this._listeners.set(e,n)),n.add(t),this._unprocessedMessages.forEach((e=>{t(...e)&&this._unprocessedMessages.delete(e)})),this}removeAllListeners(e){return e?this._listeners.delete(e):this._listeners.clear(),this}removeListener(e,t){const n=this._listeners.get(e);return n&&n.delete(t),this}sendEvent(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};this._backend&&this._backend.send({type:"event",data:e})}sendRequest(e){if(!this._backend)return Promise.reject(new Error("No transport backend defined!"));this.
_requestID++;const t=this._requestID;return new Promise(((n,r)=>{this._responseHandlers.set(t,(e=>{let{error:t,result:i}=e;void 0!==i?n(i):r(void 0!==t?t:new Error("Unexpected response format!"))}));try{this._backend.send({type:_,data:e,id:t})}catch(e){this._responseHandlers.delete(t),r(e)}}))}setBackend(e){this._disposeBackend(),this._backend=e,this._backend.setReceiveCallback(this._onMessageReceived.bind(this))}}let L;try{L=function(e,t=!1,n="hash"){if(!e)return{};"string"==typeof e&&(e=new URL(e));const r="search"===n?e.search:e.hash,i={},s=r?.substr(1).split("&")||[];if("hash"===n&&1===s.length){const e=s[0];if(e.startsWith("/")&&1===e.split("&").length)return i}return s.forEach((e=>{const n=e.split("="),r=n[0];if(!r||r.split(".").some((e=>d.includes(e))))return;let s;try{if(s=n[1],!t){const e=decodeURIComponent(s).replace(/\\&/,"&");s="undefined"===e?void 0:c(e)}}catch(e){return void function(e,t=""){console.error(t,e),window.onerror?.(t,void 0,void 0,void 0,e)}(e,`Failed to pa
rse URL parameter value: ${String(s)}`)}i[r]=s})),i}(window.location).jitsi_meet_external_api_id}catch(e){}(window.JitsiMeetJS||(window.JitsiMeetJS={}),window.JitsiMeetJS.app||(window.JitsiMeetJS.app={}),window.JitsiMeetJS.app).setExternalTransportBackend=e=>undefined.setBackend(e);var k=n(860);const C=n.n(k)().getLogger("modules/API/external/functions.js");function E(e,t){return e.sendRequest({type:"devices",name:"setDevice",device:t})}const S=["css/all.css","libs/alwaysontop.min.js"],x={addBreakoutRoom:"add-breakout-room",answerKnockingParticipant:"answer-knocking-participant",approveVideo:"approve-video",askToUnmute:"ask-to-unmute",autoAssignToBreakoutRooms:"auto-assign-to-breakout-rooms",avatarUrl:"avatar-url",cancelPrivateChat:"cancel-private-chat",closeBreakoutRoom:"close-breakout-room",displayName:"display-name",endConference:"end-conference",email:"email",grantModerator:"grant-moderator",hangup:"video-hangup",hideNotification:"hide-notification",initiatePrivateChat:"initiate
-private-chat",joinBreakoutRoom:"join-breakout-room",localSubject:"local-subject",kickParticipant:"kick-participant",muteEveryone:"mute-everyone",overwriteConfig:"overwrite-config",overwriteNames:"overwrite-names",password:"password",pinParticipant:"pin-participant",rejectParticipant:"reject-participant",removeBreakoutRoom:"remove-breakout-room",resizeFilmStrip:"resize-film-strip",resizeLargeVideo:"resize-large-video",sendCameraFacingMode:"send-camera-facing-mode-message",sendChatMessage:"send-chat-message",sendEndpointTextMessage:"send-endpoint-text-message",sendParticipantToRoom:"send-participant-to-room",sendTones:"send-tones",setAssumedBandwidthBps:"set-assumed-bandwidth-bps",setFollowMe:"set-follow-me",setLargeVideoParticipant:"set-large-video-participant",setMediaEncryptionKey:"set-media-encryption-key",setNoiseSuppressionEnabled:"set-noise-suppression-enabled",setParticipantVolume:"set-participant-volume",setSubtitles:"set-subtitles",setTileView:"set-tile-view",setVideoQualit
y:"set-video-quality",showNotification:"show-notification",startRecording:"start-recording",startShareVideo:"start-share-video",stopRecording:"stop-recording",stopShareVideo:"stop-share-video",subject:"subject",submitFeedback:"submit-feedback",toggleAudio:"toggle-audio",toggleCamera:"toggle-camera",toggleCameraMirror:"toggle-camera-mirror",toggleChat:"toggle-chat",toggleE2EE:"toggle-e2ee",toggleFilmStrip:"toggle-film-strip",toggleLobby:"toggle-lobby",toggleModeration:"toggle-moderation",toggleNoiseSuppression:"toggle-noise-suppression",toggleParticipantsPane:"toggle-participants-pane",toggleRaiseHand:"toggle-raise-hand",toggleShareScreen:"toggle-share-screen",toggleSubtitles:"toggle-subtitles",toggleTileView:"toggle-tile-view",toggleVirtualBackgroundDialog:"toggle-virtual-background",toggleVideo:"toggle-video",toggleWhiteboard:"toggle-whiteboard"},O={"avatar-changed":"avatarChanged","audio-availability-changed":"audioAvailabilityChanged","audio-mute-status-changed":"audioMuteStatusC
hanged","audio-or-video-sharing-toggled":"audioOrVideoSharingToggled","breakout-rooms-updated":"breakoutRoomsUpdated","browser-support":"browserSupport","camera-error":"cameraError","chat-updated":"chatUpdated","compute-pressure-changed":"computePressureChanged","content-sharing-participants-changed":"contentSharingParticipantsChanged","data-channel-closed":"dataChannelClosed","data-channel-opened":"dataChannelOpened","device-list-changed":"deviceListChanged","display-name-change":"displayNameChange","dominant-speaker-changed":"dominantSpeakerChanged","email-change":"emailChange","error-occurred":"errorOccurred","endpoint-text-message-received":"endpointTextMessageReceived","face-landmark-detected":"faceLandmarkDetected","feedback-submitted":"feedbackSubmitted","feedback-prompt-displayed":"feedbackPromptDisplayed","filmstrip-display-changed":"filmstripDisplayChanged","incoming-message":"incomingMessage","knocking-participant":"knockingParticipant",log:"log","mic-error":"micError","m
oderation-participant-approved":"moderationParticipantApproved","moderation-participant-rejected":"moderationParticipantRejected","moderation-status-changed":"moderationStatusChanged","mouse-enter":"mouseEnter","mouse-leave":"mouseLeave","mouse-move":"mouseMove","non-participant-message-received":"nonParticipantMessageReceived","notification-triggered":"notificationTriggered","outgoing-message":"outgoingMessage","p2p-status-changed":"p2pStatusChanged","participant-joined":"participantJoined","participant-kicked-out":"participantKickedOut","participant-left":"participantLeft","participant-role-changed":"participantRoleChanged","participants-pane-toggled":"participantsPaneToggled","password-required":"passwordRequired","peer-connection-failure":"peerConnectionFailure","prejoin-screen-loaded":"prejoinScreenLoaded","proxy-connection-event":"proxyConnectionEvent","raise-hand-updated":"raiseHandUpdated",ready:"ready","recording-link-available":"recordingLinkAvailable","recording-status-ch
anged":"recordingStatusChanged","participant-menu-button-clicked":"participantMenuButtonClick","video-ready-to-close":"readyToClose","video-conference-joined":"videoConferenceJoined","video-conference-left":"videoConferenceLeft","video-availability-changed":"videoAvailabilityChanged","video-mute-status-changed":"videoMuteStatusChanged","video-quality-changed":"videoQualityChanged","screen-sharing-status-changed":"screenSharingStatusChanged","subject-change":"subjectChange","suspend-detected":"suspendDetected","tile-view-changed":"tileViewChanged","toolbar-button-clicked":"toolbarButtonClicked","transcription-chunk-received":"transcriptionChunkReceived","whiteboard-status-changed":"whiteboardStatusChanged"},R={"_request-desktop-sources":"_requestDesktopSources"};let j=0;function I(e,t){e._numberOfParticipants+=t}function P(e){let t;return"string"==typeof e&&null!==String(e).match(/([0-9]*\.?[0-9]+)(em|pt|px|((d|l|s)?v)(h|w)|%)$/)?t=e:"number"==typeof e&&(t=`${e}px`),t}class N extends
(i()){constructor(e){super();for(var t=arguments.length,n=new Array(t>1?t-1:0),r=1;r<t;r++)n[r-1]=arguments[r];const{roomName:i="",width:s="100%",height:a="100%",parentNode:c=document.body,configOverwrite:d={},interfaceConfigOverwrite:l={},jwt:u,lang:p,onload:h,invitees:g,iceServers:f,devices:v,userInfo:_,e2eeKey:b,release:L,sandbox:k=""}=function(e){if(!e.length)return{};switch(typeof e[0]){case"string":case"undefined":{const[t,n,r,i,s,o,a,c,d]=e;return{roomName:t,width:n,height:r,parentNode:i,configOverwrite:s,interfaceConfigOverwrite:o,jwt:a,onload:c,lang:d}}case"object":return e[0];default:throw new Error("Can't parse the arguments!")}}(n),C=o.getItem("jitsiLocalStorage");this._parentNode=c,this._url=function(e){return m({...arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},url:`https://${e}/#jitsi_meet_external_api_id=${j}`})}(e,{configOverwrite:d,iceServers:f,interfaceConfigOverwrite:l,jwt:u,lang:p,roomName:i,devices:v,userInfo:_,appData:{localStorageContent:C},release
:L}),this._createIFrame(a,s,k),this._transport=new w({backend:new y({postisOptions:{allowedOrigin:new URL(this._url).origin,scope:`jitsi_meet_external_api_${j}`,window:this._frame.contentWindow}})}),Array.isArray(g)&&g.length>0&&this.invite(g),this._onload=h,this._tmpE2EEKey=b,this._isLargeVideoVisible=!1,this._isPrejoinVideoVisible=!1,this._numberOfParticipants=0,this._participants={},this._myUserID=void 0,this._onStageParticipant=void 0,this._setupListeners(),j++}_createIFrame(e,t,n){const r=`jitsiConferenceFrame${j}`;this._frame=document.createElement("iframe"),this._frame.allow=["autoplay","camera","clipboard-write","compute-pressure","display-capture","hid","microphone","screen-wake-lock"].join("; "),this._frame.name=r,this._frame.id=r,this._setSize(e,t),this._frame.setAttribute("allowFullScreen","true"),this._frame.style.border=0,n&&(this._frame.sandbox=n),this._frame.src=this._url,this._frame=this._parentNode.appendChild(this._frame)}_getAlwaysOnTopResources(){const e=this._f
rame.contentWindow,t=e.document;let n="";const r=t.querySelector("base");if(r&&r.href)n=r.href;else{const{protocol:t,host:r}=e.location;n=`${t}//${r}`}return S.map((e=>new URL(e,n).href))}_getFormattedDisplayName(e){const{formattedDisplayName:t}=this._participants[e]||{};return t}_getOnStageParticipant(){return this._onStageParticipant}_getLargeVideo(){const e=this.getIFrame();if(this._isLargeVideoVisible&&e&&e.contentWindow&&e.contentWindow.document)return e.contentWindow.document.getElementById("largeVideo")}_getPrejoinVideo(){const e=this.getIFrame();if(this._isPrejoinVideoVisible&&e&&e.contentWindow&&e.contentWindow.document)return e.contentWindow.document.getElementById("prejoinVideo")}_getParticipantVideo(e){const t=this.getIFrame();if(t&&t.contentWindow&&t.contentWindow.document)return void 0===e||e===this._myUserID?t.contentWindow.document.getElementById("localVideo_container"):t.contentWindow.document.querySelector(`#participant_${e} video`)}_setSize(e,t){const n=P(e),r=P(t
);void 0!==n&&(this._height=e,this._frame.style.height=n),void 0!==r&&(this._width=t,this._frame.style.width=r)}_setupListeners(){this._transport.on("event",(e=>{let{name:t,...n}=e;const r=n.id;switch(t){case"ready":var i;null===(i=this._onload)||void 0===i||i.call(this);break;case"video-conference-joined":if(void 0!==this._tmpE2EEKey){const e=e=>{const t=[];for(let n=0;n<e.length;n+=2)t.push(parseInt(e.substring(n,n+2),16));return t};this.executeCommand("setMediaEncryptionKey",JSON.stringify({exportedKey:e(this._tmpE2EEKey),index:0})),this._tmpE2EEKey=void 0}this._myUserID=r,this._participants[r]={email:n.email,avatarURL:n.avatarURL};case"participant-joined":this._participants[r]=this._participants[r]||{},this._participants[r].displayName=n.displayName,this._participants[r].formattedDisplayName=n.formattedDisplayName,I(this,1);break;case"participant-left":I(this,-1),delete this._participants[r];break;case"display-name-change":{const e=this._participants[r];e&&(e.displayName=n.displ
ayname,e.formattedDisplayName=n.formattedDisplayName);break}case"email-change":{const e=this._participants[r];e&&(e.email=n.email);break}case"avatar-changed":{const e=this._participants[r];e&&(e.avatarURL=n.avatarURL);break}case"on-stage-participant-changed":this._onStageParticipant=r,this.emit("largeVideoChanged");break;case"large-video-visibility-changed":this._isLargeVideoVisible=n.isVisible,this.emit("largeVideoChanged");break;case"prejoin-screen-loaded":this._participants[r]={displayName:n.displayName,formattedDisplayName:n.formattedDisplayName};break;case"on-prejoin-video-changed":this._isPrejoinVideoVisible=n.isVisible,this.emit("prejoinVideoChanged");break;case"video-conference-left":I(this,-1),delete this._participants[this._myUserID];break;case"video-quality-changed":this._videoQuality=n.videoQuality;break;case"breakout-rooms-updated":this.updateNumberOfParticipants(n.rooms);break;case"local-storage-changed":return o.setItem("jitsiLocalStorage",n.localStorageContent),!0}co
nst s=O[t];return!!s&&(this.emit(s,n),!0)})),this._transport.on("request",((e,t)=>{const n=R[e.name],r={...e,name:n};n&&this.emit(n,r,t)}))}updateNumberOfParticipants(e){if(!e||!Object.keys(e).length)return;const t=Object.keys(e).reduce(((t,n)=>{var r;return null!==(r=e[n])&&void 0!==r&&r.participants?Object.keys(e[n].participants).length+t:t}),0);this._numberOfParticipants=t}async getRoomsInfo(){return this._transport.sendRequest({name:"rooms-info"})}isP2pActive(){return this._transport.sendRequest({name:"get-p2p-status"})}addEventListener(e,t){this.on(e,t)}addEventListeners(e){for(const t in e)this.addEventListener(t,e[t])}captureLargeVideoScreenshot(){return this._transport.sendRequest({name:"capture-largevideo-screenshot"})}dispose(){this.emit("_willDispose"),this._transport.dispose(),this.removeAllListeners(),this._frame&&this._frame.parentNode&&this._frame.parentNode.removeChild(this._frame)}executeCommand(e){if(e in x){for(var t=arguments.length,n=new Array(t>1?t-1:0),r=1;r<t
;r++)n[r-1]=arguments[r];this._transport.sendEvent({data:n,name:x[e]})}else console.error("Not supported command name.")}executeCommands(e){for(const t in e)this.executeCommand(t,e[t])}getAvailableDevices(){return function(e){return e.sendRequest({type:"devices",name:"getAvailableDevices"}).catch((e=>(C.error(e),{})))}(this._transport)}getContentSharingParticipants(){return this._transport.sendRequest({name:"get-content-sharing-participants"})}getCurrentDevices(){return function(e){return e.sendRequest({type:"devices",name:"getCurrentDevices"}).catch((e=>(C.error(e),{})))}(this._transport)}getCustomAvatarBackgrounds(){return this._transport.sendRequest({name:"get-custom-avatar-backgrounds"})}getLivestreamUrl(){return this._transport.sendRequest({name:"get-livestream-url"})}getParticipantsInfo(){const e=Object.keys(this._participants),t=Object.values(this._participants);return t.forEach(((t,n)=>{t.participantId=e[n]})),t}getVideoQuality(){return this._videoQuality}isAudioAvailable(){
return this._transport.sendRequest({name:"is-audio-available"})}isDeviceChangeAvailable(e){return function(e,t){return e.sendRequest({deviceType:t,type:"devices",name:"isDeviceChangeAvailable"})}(this._transport,e)}isDeviceListAvailable(){return function(e){return e.sendRequest({type:"devices",name:"isDeviceListAvailable"})}(this._transport)}isMultipleAudioInputSupported(){return function(e){return e.sendRequest({type:"devices",name:"isMultipleAudioInputSupported"})}(this._transport)}invite(e){return Array.isArray(e)&&0!==e.length?this._transport.sendRequest({name:"invite",invitees:e}):Promise.reject(new TypeError("Invalid Argument"))}isAudioMuted(){return this._transport.sendRequest({name:"is-audio-muted"})}isAudioDisabled(){return this._transport.sendRequest({name:"is-audio-disabled"})}isModerationOn(e){return this._transport.sendRequest({name:"is-moderation-on",mediaType:e})}isParticipantForceMuted(e,t){return this._transport.sendRequest({name:"is-participant-force-muted",partici
pantId:e,mediaType:t})}isParticipantsPaneOpen(){return this._transport.sendRequest({name:"is-participants-pane-open"})}isSharingScreen(){return this._transport.sendRequest({name:"is-sharing-screen"})}isStartSilent(){return this._transport.sendRequest({name:"is-start-silent"})}getAvatarURL(e){const{avatarURL:t}=this._participants[e]||{};return t}getDeploymentInfo(){return this._transport.sendRequest({name:"deployment-info"})}getDisplayName(e){const{displayName:t}=this._participants[e]||{};return t}getEmail(e){const{email:t}=this._participants[e]||{};return t}getIFrame(){return this._frame}getNumberOfParticipants(){return this._numberOfParticipants}getSupportedCommands(){return Object.keys(x)}getSupportedEvents(){return Object.values(O)}isVideoAvailable(){return this._transport.sendRequest({name:"is-video-available"})}isVideoMuted(){return this._transport.sendRequest({name:"is-video-muted"})}listBreakoutRooms(){return this._transport.sendRequest({name:"list-breakout-rooms"})}_isNewEle
ctronScreensharingSupported(){return this._transport.sendRequest({name:"_new_electron_screensharing_supported"})}pinParticipant(e,t){this.executeCommand("pinParticipant",e,t)}removeEventListener(e){this.removeAllListeners(e)}removeEventListeners(e){e.forEach((e=>this.removeEventListener(e)))}resizeLargeVideo(e,t){e<=this._width&&t<=this._height&&this.executeCommand("resizeLargeVideo",e,t)}sendProxyConnectionEvent(e){this._transport.sendEvent({data:[e],name:"proxy-connection-event"})}setAudioInputDevice(e,t){return function(e,t,n){return E(e,{id:n,kind:"audioinput",label:t})}(this._transport,e,t)}setAudioOutputDevice(e,t){return function(e,t,n){return E(e,{id:n,kind:"audiooutput",label:t})}(this._transport,e,t)}setLargeVideoParticipant(e,t){this.executeCommand("setLargeVideoParticipant",e,t)}setVideoInputDevice(e,t){return function(e,t,n){return E(e,{id:n,kind:"videoinput",label:t})}(this._transport,e,t)}startRecording(e){this.executeCommand("startRecording",e)}stopRecording(e){this.
executeCommand("stopRecording",e)}toggleE2EE(e){this.executeCommand("toggleE2EE",e)}async setMediaEncryptionKey(e){const{key:t,index:n}=e;if(t){const e=await crypto.subtle.exportKey("raw",t);this.executeCommand("setMediaEncryptionKey",JSON.stringify({exportedKey:Array.from(new Uint8Array(e)),index:n}))}else this.executeCommand("setMediaEncryptionKey",JSON.stringify({exportedKey:!1,index:n}))}}},872:(e,t,n)=>{e.exports=n(372).default},571:(e,t)=>{"use strict";const n=/"(?:_|\\u005[Ff])(?:_|\\u005[Ff])(?:p|\\u0070)(?:r|\\u0072)(?:o|\\u006[Ff])(?:t|\\u0074)(?:o|\\u006[Ff])(?:_|\\u005[Ff])(?:_|\\u005[Ff])"\s*\:/;t.parse=function(e){const r="object"==typeof(arguments.length<=1?void 0:arguments[1])&&(arguments.length<=1?void 0:arguments[1]),i=(arguments.length<=1?0:arguments.length-1)>1||!r?arguments.length<=1?void 0:arguments[1]:void 0,s=(arguments.length<=1?0:arguments.length-1)>1&&(arguments.length<=2?void 0:arguments[2])||r||{},o=JSON.parse(e,i);return"ignore"===s.protoAction?o:o&&"ob
ject"==typeof o&&e.match(n)?(t.scan(o,s),o):o},t.scan=function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=[e];for(;n.length;){const e=n;n=[];for(const r of e){if(Object.prototype.hasOwnProperty.call(r,"__proto__")){if("remove"!==t.protoAction)throw new SyntaxError("Object contains forbidden prototype property");delete r.__proto__}for(const e in r){const t=r[e];t&&"object"==typeof t&&n.push(r[e])}}}},t.safeParse=function(e,n){try{return t.parse(e,n)}catch(e){return null}}},369:(e,t,n)=>{var r=n(7);function i(e,t){this.logStorage=e,this.stringifyObjects=!(!t||!t.stringifyObjects)&&t.stringifyObjects,this.storeInterval=t&&t.storeInterval?t.storeInterval:3e4,this.maxEntryLength=t&&t.maxEntryLength?t.maxEntryLength:1e4,Object.values(r.levels).forEach(function(e){this[e]=function(){this._log.apply(this,arguments)}.bind(this,e)}.bind(this)),this.storeLogsIntervalID=null,this.queue=[],this.totalLen=0,this.outputCache=[]}i.prototype.stringify=function(e){try{return
JSON.stringify(e)}catch(e){return"[object with circular refs?]"}},i.prototype.formatLogMessage=function(e){for(var t="",n=1,r=arguments.length;n<r;n++){var i=arguments[n];i instanceof Error?t+=i.toString()+": "+i.stack:this.stringifyObjects&&"object"==typeof i?t+=this.stringify(i):t+=i,n!==r-1&&(t+=" ")}return t.length?t:null},i.prototype._log=function(){var e=arguments[1],t=this.formatLogMessage.apply(this,arguments);if(t){var n=this.queue[this.queue.length-1],r=n&&n.text;r===t?n.count+=1:(this.queue.push({text:t,timestamp:e,count:1}),this.totalLen+=t.length)}this.totalLen>=this.maxEntryLength&&this._flush(!0,!0)},i.prototype.start=function(){this._reschedulePublishInterval()},i.prototype._reschedulePublishInterval=function(){this.storeLogsIntervalID&&(window.clearTimeout(this.storeLogsIntervalID),this.storeLogsIntervalID=null),this.storeLogsIntervalID=window.setTimeout(this._flush.bind(this,!1,!0),this.storeInterval)},i.prototype.flush=function(){this._flush(!1,!0)},i.prototype._s
toreLogs=function(e){try{this.logStorage.storeLogs(e)}catch(e){console.error("LogCollector error when calling logStorage.storeLogs(): ",e)}},i.prototype._flush=function(e,t){var n=!1;try{n=this.logStorage.isReady()}catch(e){console.error("LogCollector error when calling logStorage.isReady(): ",e)}this.totalLen>0&&(n||e)&&(n?(this.outputCache.length&&(this.outputCache.forEach(function(e){this._storeLogs(e)}.bind(this)),this.outputCache=[]),this._storeLogs(this.queue)):this.outputCache.push(this.queue),this.queue=[],this.totalLen=0),t&&this._reschedulePublishInterval()},i.prototype.stop=function(){this._flush(!1,!1)},e.exports=i},7:e=>{var t={trace:0,debug:1,info:2,log:3,warn:4,error:5};o.consoleTransport=console;var n=[o.consoleTransport];o.addGlobalTransport=function(e){-1===n.indexOf(e)&&n.push(e)},o.removeGlobalTransport=function(e){var t=n.indexOf(e);-1!==t&&n.splice(t,1)};var r={};function i(){var e={methodName:"",fileLocation:"",line:null,column:null},t=new Error,n=t.stack?t.st
ack.split("\n"):[];if(!n||n.length<3)return e;var r=null;return n[3]&&(r=n[3].match(/\s*at\s*(.+?)\s*\((\S*)\s*:(\d*)\s*:(\d*)\)/)),!r||r.length<=4?(0===n[2].indexOf("log@")?e.methodName=n[3].substr(0,n[3].indexOf("@")):e.methodName=n[2].substr(0,n[2].indexOf("@")),e):(e.methodName=r[1],e.fileLocation=r[2],e.line=r[3],e.column=r[4],e)}function s(){var e=arguments[0],s=arguments[1],o=Array.prototype.slice.call(arguments,2);if(!(t[s]<e.level))for(var a=!(e.options.disableCallerInfo||r.disableCallerInfo)&&i(),c=n.concat(e.transports),d=0;d<c.length;d++){var l=c[d],u=l[s];if(u&&"function"==typeof u){var p=[];p.push((new Date).toISOString()),e.id&&p.push("["+e.id+"]"),a&&a.methodName.length>1&&p.push("<"+a.methodName+">: ");var h=p.concat(o);try{u.bind(l).apply(l,h)}catch(e){console.error("An error occured when trying to log with one of the available transports",e)}}}}function o(e,n,r,i){this.id=n,this.options=i||{},this.transports=r,this.transports||(this.transports=[]),this.level=t[e];
for(var o=Object.keys(t),a=0;a<o.length;a++)this[o[a]]=s.bind(null,this,o[a])}o.setGlobalOptions=function(e){r=e||{}},o.prototype.setLevel=function(e){this.level=t[e]},e.exports=o,o.levels={TRACE:"trace",DEBUG:"debug",INFO:"info",LOG:"log",WARN:"warn",ERROR:"error"}},860:(e,t,n)=>{var r=n(7),i=n(369),s={},o=[],a=r.levels.TRACE;e.exports={addGlobalTransport:function(e){r.addGlobalTransport(e)},removeGlobalTransport:function(e){r.removeGlobalTransport(e)},setGlobalOptions:function(e){r.setGlobalOptions(e)},getLogger:function(e,t,n){var i=new r(a,e,t,n);return e?(s[e]=s[e]||[],s[e].push(i)):o.push(i),i},getUntrackedLogger:function(e,t,n){return new r(a,e,t,n)},setLogLevelById:function(e,t){for(var n=t?s[t]||[]:o,r=0;r<n.length;r++)n[r].setLevel(e)},setLogLevel:function(e){a=e;for(var t=0;t<o.length;t++)o[t].setLevel(e);for(var n in s){var r=s[n]||[];for(t=0;t<r.length;t++)r[t].setLevel(e)}},levels:r.levels,LogCollector:i}},620:e=>{"use strict";var t,n="object"==typeof Reflect?Reflect:n
ull,r=n&&"function"==typeof n.apply?n.apply:function(e,t,n){return Function.prototype.apply.call(e,t,n)};t=n&&"function"==typeof n.ownKeys?n.ownKeys:Object.getOwnPropertySymbols?function(e){return Object.getOwnPropertyNames(e).concat(Object.getOwnPropertySymbols(e))}:function(e){return Object.getOwnPropertyNames(e)};var i=Number.isNaN||function(e){return e!=e};function s(){s.init.call(this)}e.exports=s,e.exports.once=function(e,t){return new Promise((function(n,r){function i(n){e.removeListener(t,s),r(n)}function s(){"function"==typeof e.removeListener&&e.removeListener("error",i),n([].slice.call(arguments))}m(e,t,s,{once:!0}),"error"!==t&&function(e,t,n){"function"==typeof e.on&&m(e,"error",t,{once:!0})}(e,i)}))},s.EventEmitter=s,s.prototype._events=void 0,s.prototype._eventsCount=0,s.prototype._maxListeners=void 0;var o=10;function a(e){if("function"!=typeof e)throw new TypeError('The "listener" argument must be of type Function. Received type '+typeof e)}function c(e){return void
0===e._maxListeners?s.defaultMaxListeners:e._maxListeners}function d(e,t,n,r){var i,s,o,d;if(a(n),void 0===(s=e._events)?(s=e._events=Object.create(null),e._eventsCount=0):(void 0!==s.newListener&&(e.emit("newListener",t,n.listener?n.listener:n),s=e._events),o=s[t]),void 0===o)o=s[t]=n,++e._eventsCount;else if("function"==typeof o?o=s[t]=r?[n,o]:[o,n]:r?o.unshift(n):o.push(n),(i=c(e))>0&&o.length>i&&!o.warned){o.warned=!0;var l=new Error("Possible EventEmitter memory leak detected. "+o.length+" "+String(t)+" listeners added. Use emitter.setMaxListeners() to increase limit");l.name="MaxListenersExceededWarning",l.emitter=e,l.type=t,l.count=o.length,d=l,console&&console.warn&&console.warn(d)}return e}function l(){if(!this.fired)return this.target.removeListener(this.type,this.wrapFn),this.fired=!0,0===arguments.length?this.listener.call(this.target):this.listener.apply(this.target,arguments)}function u(e,t,n){var r={fired:!1,wrapFn:void 0,target:e,type:t,listener:n},i=l.bind(r);retur
n i.listener=n,r.wrapFn=i,i}function p(e,t,n){var r=e._events;if(void 0===r)return[];var i=r[t];return void 0===i?[]:"function"==typeof i?n?[i.listener||i]:[i]:n?function(e){for(var t=new Array(e.length),n=0;n<t.length;++n)t[n]=e[n].listener||e[n];return t}(i):g(i,i.length)}function h(e){var t=this._events;if(void 0!==t){var n=t[e];if("function"==typeof n)return 1;if(void 0!==n)return n.length}return 0}function g(e,t){for(var n=new Array(t),r=0;r<t;++r)n[r]=e[r];return n}function m(e,t,n,r){if("function"==typeof e.on)r.once?e.once(t,n):e.on(t,n);else{if("function"!=typeof e.addEventListener)throw new TypeError('The "emitter" argument must be of type EventEmitter. Received type '+typeof e);e.addEventListener(t,(function i(s){r.once&&e.removeEventListener(t,i),n(s)}))}}Object.defineProperty(s,"defaultMaxListeners",{enumerable:!0,get:function(){return o},set:function(e){if("number"!=typeof e||e<0||i(e))throw new RangeError('The value of "defaultMaxListeners" is out of range. It must be
a non-negative number. Received '+e+".");o=e}}),s.init=function(){void 0!==this._events&&this._events!==Object.getPrototypeOf(this)._events||(this._events=Object.create(null),this._eventsCount=0),this._maxListeners=this._maxListeners||void 0},s.prototype.setMaxListeners=function(e){if("number"!=typeof e||e<0||i(e))throw new RangeError('The value of "n" is out of range. It must be a non-negative number. Received '+e+".");return this._maxListeners=e,this},s.prototype.getMaxListeners=function(){return c(this)},s.prototype.emit=function(e){for(var t=[],n=1;n<arguments.length;n++)t.push(arguments[n]);var i="error"===e,s=this._events;if(void 0!==s)i=i&&void 0===s.error;else if(!i)return!1;if(i){var o;if(t.length>0&&(o=t[0]),o instanceof Error)throw o;var a=new Error("Unhandled error."+(o?" ("+o.message+")":""));throw a.context=o,a}var c=s[e];if(void 0===c)return!1;if("function"==typeof c)r(c,this,t);else{var d=c.length,l=g(c,d);for(n=0;n<d;++n)r(l[n],this,t)}return!0},s.prototype.addList
ener=function(e,t){return d(this,e,t,!1)},s.prototype.on=s.prototype.addListener,s.prototype.prependListener=function(e,t){return d(this,e,t,!0)},s.prototype.once=function(e,t){return a(t),this.on(e,u(this,e,t)),this},s.prototype.prependOnceListener=function(e,t){return a(t),this.prependListener(e,u(this,e,t)),this},s.prototype.removeListener=function(e,t){var n,r,i,s,o;if(a(t),void 0===(r=this._events))return this;if(void 0===(n=r[e]))return this;if(n===t||n.listener===t)0==--this._eventsCount?this._events=Object.create(null):(delete r[e],r.removeListener&&this.emit("removeListener",e,n.listener||t));else if("function"!=typeof n){for(i=-1,s=n.length-1;s>=0;s--)if(n[s]===t||n[s].listener===t){o=n[s].listener,i=s;break}if(i<0)return this;0===i?n.shift():function(e,t){for(;t+1<e.length;t++)e[t]=e[t+1];e.pop()}(n,i),1===n.length&&(r[e]=n[0]),void 0!==r.removeListener&&this.emit("removeListener",e,o||t)}return this},s.prototype.off=s.prototype.removeListener,s.prototype.removeAllListene
rs=function(e){var t,n,r;if(void 0===(n=this._events))return this;if(void 0===n.removeListener)return 0===arguments.length?(this._events=Object.create(null),this._eventsCount=0):void 0!==n[e]&&(0==--this._eventsCount?this._events=Object.create(null):delete n[e]),this;if(0===arguments.length){var i,s=Object.keys(n);for(r=0;r<s.length;++r)"removeListener"!==(i=s[r])&&this.removeAllListeners(i);return this.removeAllListeners("removeListener"),this._events=Object.create(null),this._eventsCount=0,this}if("function"==typeof(t=n[e]))this.removeListener(e,t);else if(void 0!==t)for(r=t.length-1;r>=0;r--)this.removeListener(e,t[r]);return this},s.prototype.listeners=function(e){return p(this,e,!0)},s.prototype.rawListeners=function(e){return p(this,e,!1)},s.listenerCount=function(e,t){return"function"==typeof e.listenerCount?e.listenerCount(t):h.call(e,t)},s.prototype.listenerCount=h,s.prototype.eventNames=function(){return this._eventsCount>0?t(this._events):[]}}},t={};function n(r){var i=t[
r];if(void 0!==i)return i.exports;var s=t[r]={exports:{}};return e[r](s,s.exports,n),s.exports}return n.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return n.d(t,{a:t}),t},n.d=(e,t)=>{for(var r in t)n.o(t,r)&&!n.o(e,r)&&Object.defineProperty(e,r,{enumerable:!0,get:t[r]})},n.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),n(872)})()));
+!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define([],t):"object"==typeof exports?exports.JitsiMeetExternalAPI=t():e.JitsiMeetExternalAPI=t()}(self,(()=>(()=>{var e={372:(e,t,n)=>{"use strict";n.d(t,{default:()=>D});var r=n(620),i=n.n(r);class s extends r{constructor(){var e,t,n;super(...arguments),e=this,n={},(t=function(e){var t=function(e,t){if("object"!=typeof e||!e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var r=n.call(e,"string");if("object"!=typeof r)return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==typeof t?t:t+""}(t="_storage"))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n}clear(){this._storage={}}get length(){return Object.keys(this._storage).length}getItem(e){return this._storage[e]}setItem(e,t){this._storage[e]=t}removeItem(e){delete this._storage[e]}key(e){const t=Object.keys(
this._storage);if(!(t.length<=e))return t[e]}serialize(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[];if(0===e.length)return JSON.stringify(this._storage);const t={...this._storage};return e.forEach((e=>{delete t[e]})),JSON.stringify(t)}}const o=new class extends r{constructor(){super();try{this._storage=window.localStorage,this._localStorageDisabled=!1}catch(e){}this._storage||(console.warn("Local storage is disabled."),this._storage=new s,this._localStorageDisabled=!0)}isLocalStorageDisabled(){return this._localStorageDisabled}setLocalStorageDisabled(e){this._localStorageDisabled=e;try{this._storage=e?new s:window.localStorage}catch(e){}this._storage||(this._storage=new s)}clear(){this._storage.clear(),this.emit("changed")}get length(){return this._storage.length}getItem(e){return this._storage.getItem(e)}setItem(e,t){let n=arguments.length>2&&void 0!==arguments[2]&&arguments[2];this._storage.setItem(e,t),n||this.emit("changed")}removeItem(e){this._storage.remov
eItem(e),this.emit("changed")}key(e){return this._storage.key(e)}serialize(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[];if(this.isLocalStorageDisabled())return this._storage.serialize(e);const t=this._storage.length,n={};for(let r=0;r<t;r++){const t=this._storage.key(r);e.includes(t)||(n[t]=this._storage.getItem(t))}return JSON.stringify(n)}};n(449);var a=n(571);function c(e){return a.parse(e)}const l=["__proto__","constructor","prototype"];var d;!function(e){e[e.PaymentRequired=402]="PaymentRequired"}(d||(d={}));const u="(//[^/?#]+)",h="([^?#]*)",p="^([a-z][a-z0-9\\.\\+-]*:)";function g(e){const t=new RegExp(`${p}+`,"gi"),n=t.exec(e);if(n){let r=n[n.length-1].toLowerCase();"http:"!==r&&"https:"!==r&&(r="https:"),(e=e.substring(t.lastIndex)).startsWith("//")&&(e=r+e)}return e}function m(e={}){const t=[];for(const n in e)try{t.push(`${n}=${encodeURIComponent(JSON.stringify(e[n]))}`)}catch(e){console.warn(`Error encoding ${n}: ${e}`)}return t}function f(e){const t
={toString:v};let n,r,i;if(e=e.replace(/\s/g,""),n=new RegExp(p,"gi"),r=n.exec(e),r&&(t.protocol=r[1].toLowerCase(),e=e.substring(n.lastIndex)),n=new RegExp(`^${u}`,"gi"),r=n.exec(e),r){let i=r[1].substring(2);e=e.substring(n.lastIndex);const s=i.indexOf("@");-1!==s&&(i=i.substring(s+1)),t.host=i;const o=i.lastIndexOf(":");-1!==o&&(t.port=i.substring(o+1),i=i.substring(0,o)),t.hostname=i}if(n=new RegExp(`^${h}`,"gi"),r=n.exec(e),r&&(i=r[1],e=e.substring(n.lastIndex)),i?i.startsWith("/")||(i=`/${i}`):i="/",t.pathname=i,e.startsWith("?")){let n=e.indexOf("#",1);-1===n&&(n=e.length),t.search=e.substring(0,n),e=e.substring(n)}else t.search="";return t.hash=e.startsWith("#")?e:"",t}function v(e){const{hash:t,host:n,pathname:r,protocol:i,search:s}=e||this;let o="";return i&&(o+=i),n&&(o+=`//${n}`),o+=r||"/",s&&(o+=s),t&&(o+=t),o}const y={window:window.opener||window.parent},_="message";class b{constructor(){let{postisOptions:e}=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};thi
s.postis=function(e){var t,n=e.scope,r=e.window,i=e.windowForEventListening||window,s=e.allowedOrigin,o={},a=[],l={},d=!1,u="__ready__",h=function(e){var t;try{t=c(e.data)}catch(e){return}if((!s||e.origin===s)&&t&&t.postis&&t.scope===n){var r=o[t.method];if(r)for(var i=0;i<r.length;i++)r[i].call(null,t.params);else l[t.method]=l[t.method]||[],l[t.method].push(t.params)}};i.addEventListener("message",h,!1);var p={listen:function(e,t){o[e]=o[e]||[],o[e].push(t);var n=l[e];if(n)for(var r=o[e],i=0;i<r.length;i++)for(var s=0;s<n.length;s++)r[i].call(null,n[s]);delete l[e]},send:function(e){var t=e.method;(d||e.method===u)&&r&&"function"==typeof r.postMessage?r.postMessage(JSON.stringify({postis:!0,scope:n,method:t,params:e.params}),"*"):a.push(e)},ready:function(e){d?e():setTimeout((function(){p.ready(e)}),50)},destroy:function(e){clearInterval(t),d=!1,i&&"function"==typeof i.removeEventListener&&i.removeEventListener("message",h),e&&e()}},g=+new Date+Math.random()+"";return t=setInterva
l((function(){p.send({method:u,params:g})}),50),p.listen(u,(function(e){if(e===g){clearInterval(t),d=!0;for(var n=0;n<a.length;n++)p.send(a[n]);a=[]}else p.send({method:u,params:e})})),p}({...y,...e}),this._receiveCallback=()=>{},this.postis.listen(_,(e=>this._receiveCallback(e)))}dispose(){this.postis.destroy()}send(e){this.postis.send({method:_,params:e})}setReceiveCallback(e){this._receiveCallback=e}}const w="request",L="response";class k{constructor(){let{backend:e}=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};this._listeners=new Map,this._requestID=0,this._responseHandlers=new Map,this._unprocessedMessages=new Set,this.addListener=this.on,e&&this.setBackend(e)}_disposeBackend(){this._backend&&(this._backend.dispose(),this._backend=null)}_onMessageReceived(e){if(e.type===L){const t=this._responseHandlers.get(e.id);t&&(t(e),this._responseHandlers.delete(e.id))}else e.type===w?this.emit("request",e.data,((t,n)=>{this._backend.send({type:L,error:n,id:e.id,result:t})}))
:this.emit("event",e.data)}dispose(){this._responseHandlers.clear(),this._unprocessedMessages.clear(),this.removeAllListeners(),this._disposeBackend()}emit(e){for(var t=arguments.length,n=new Array(t>1?t-1:0),r=1;r<t;r++)n[r-1]=arguments[r];const i=this._listeners.get(e);let s=!1;return i&&i.size&&i.forEach((e=>{s=e(...n)||s})),s||this._unprocessedMessages.add(n),s}on(e,t){let n=this._listeners.get(e);return n||(n=new Set,this._listeners.set(e,n)),n.add(t),this._unprocessedMessages.forEach((e=>{t(...e)&&this._unprocessedMessages.delete(e)})),this}removeAllListeners(e){return e?this._listeners.delete(e):this._listeners.clear(),this}removeListener(e,t){const n=this._listeners.get(e);return n&&n.delete(t),this}sendEvent(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};this._backend&&this._backend.send({type:"event",data:e})}sendRequest(e){if(!this._backend)return Promise.reject(new Error("No transport backend defined!"));this._requestID++;const t=this._requestID;return
new Promise(((n,r)=>{this._responseHandlers.set(t,(e=>{let{error:t,result:i}=e;void 0!==i?n(i):r(void 0!==t?t:new Error("Unexpected response format!"))}));try{this._backend.send({type:w,data:e,id:t})}catch(e){this._responseHandlers.delete(t),r(e)}}))}setBackend(e){this._disposeBackend(),this._backend=e,this._backend.setReceiveCallback(this._onMessageReceived.bind(this))}}let C;try{C=function(e,t=!1,n="hash"){if(!e)return{};"string"==typeof e&&(e=new URL(e));const r="search"===n?e.search:e.hash,i={},s=r?.substr(1).split("&")||[];if("hash"===n&&1===s.length){const e=s[0];if(e.startsWith("/")&&1===e.split("&").length)return i}return s.forEach((e=>{const n=e.split("="),r=n[0];if(!r||r.split(".").some((e=>l.includes(e))))return;let s;try{if(s=n[1],!t){const e=decodeURIComponent(s).replace(/\\&/,"&").replace(/[\u2018\u2019]/g,"'").replace(/[\u201C\u201D]/g,'"');s="undefined"===e?void 0:c(e)}}catch(e){return void function(e,t=""){console.error(t,e),window.onerror?.(t,void 0,void 0,void 0,
e)}(e,`Failed to parse URL parameter value: ${String(s)}`)}i[r]=s})),i}(window.location).jitsi_meet_external_api_id}catch(e){}(window.JitsiMeetJS||(window.JitsiMeetJS={}),window.JitsiMeetJS.app||(window.JitsiMeetJS.app={}),window.JitsiMeetJS.app).setExternalTransportBackend=e=>undefined.setBackend(e);var x=n(860);const E=n.n(x)().getLogger("modules/API/external/functions.js");function S(e,t){return e.sendRequest({type:"devices",name:"setDevice",device:t})}const R=["css/all.css","libs/alwaysontop.min.js"],O={addBreakoutRoom:"add-breakout-room",answerKnockingParticipant:"answer-knocking-participant",approveVideo:"approve-video",askToUnmute:"ask-to-unmute",autoAssignToBreakoutRooms:"auto-assign-to-breakout-rooms",avatarUrl:"avatar-url",cancelPrivateChat:"cancel-private-chat",closeBreakoutRoom:"close-breakout-room",displayName:"display-name",endConference:"end-conference",email:"email",grantModerator:"grant-moderator",hangup:"video-hangup",hideNotification:"hide-notification",initiatePr
ivateChat:"initiate-private-chat",joinBreakoutRoom:"join-breakout-room",localSubject:"local-subject",kickParticipant:"kick-participant",muteEveryone:"mute-everyone",overwriteConfig:"overwrite-config",overwriteNames:"overwrite-names",password:"password",pinParticipant:"pin-participant",rejectParticipant:"reject-participant",removeBreakoutRoom:"remove-breakout-room",resizeFilmStrip:"resize-film-strip",resizeLargeVideo:"resize-large-video",sendCameraFacingMode:"send-camera-facing-mode-message",sendChatMessage:"send-chat-message",sendEndpointTextMessage:"send-endpoint-text-message",sendParticipantToRoom:"send-participant-to-room",sendTones:"send-tones",setAssumedBandwidthBps:"set-assumed-bandwidth-bps",setFollowMe:"set-follow-me",setLargeVideoParticipant:"set-large-video-participant",setMediaEncryptionKey:"set-media-encryption-key",setNoiseSuppressionEnabled:"set-noise-suppression-enabled",setParticipantVolume:"set-participant-volume",setSubtitles:"set-subtitles",setTileView:"set-tile-v
iew",setVideoQuality:"set-video-quality",showNotification:"show-notification",startRecording:"start-recording",startShareVideo:"start-share-video",stopRecording:"stop-recording",stopShareVideo:"stop-share-video",subject:"subject",submitFeedback:"submit-feedback",toggleAudio:"toggle-audio",toggleCamera:"toggle-camera",toggleCameraMirror:"toggle-camera-mirror",toggleChat:"toggle-chat",toggleE2EE:"toggle-e2ee",toggleFilmStrip:"toggle-film-strip",toggleLobby:"toggle-lobby",toggleModeration:"toggle-moderation",toggleNoiseSuppression:"toggle-noise-suppression",toggleParticipantsPane:"toggle-participants-pane",toggleRaiseHand:"toggle-raise-hand",toggleShareScreen:"toggle-share-screen",toggleSubtitles:"toggle-subtitles",toggleTileView:"toggle-tile-view",toggleVirtualBackgroundDialog:"toggle-virtual-background",toggleVideo:"toggle-video",toggleWhiteboard:"toggle-whiteboard"},j={"avatar-changed":"avatarChanged","audio-availability-changed":"audioAvailabilityChanged","audio-mute-status-changed
":"audioMuteStatusChanged","audio-or-video-sharing-toggled":"audioOrVideoSharingToggled","breakout-rooms-updated":"breakoutRoomsUpdated","browser-support":"browserSupport","camera-error":"cameraError","chat-updated":"chatUpdated","compute-pressure-changed":"computePressureChanged","conference-created-timestamp":"conferenceCreatedTimestamp","content-sharing-participants-changed":"contentSharingParticipantsChanged","data-channel-closed":"dataChannelClosed","data-channel-opened":"dataChannelOpened","device-list-changed":"deviceListChanged","display-name-change":"displayNameChange","dominant-speaker-changed":"dominantSpeakerChanged","email-change":"emailChange","error-occurred":"errorOccurred","endpoint-text-message-received":"endpointTextMessageReceived","face-landmark-detected":"faceLandmarkDetected","feedback-submitted":"feedbackSubmitted","feedback-prompt-displayed":"feedbackPromptDisplayed","filmstrip-display-changed":"filmstripDisplayChanged","incoming-message":"incomingMessage","
knocking-participant":"knockingParticipant",log:"log","mic-error":"micError","moderation-participant-approved":"moderationParticipantApproved","moderation-participant-rejected":"moderationParticipantRejected","moderation-status-changed":"moderationStatusChanged","mouse-enter":"mouseEnter","mouse-leave":"mouseLeave","mouse-move":"mouseMove","non-participant-message-received":"nonParticipantMessageReceived","notification-triggered":"notificationTriggered","outgoing-message":"outgoingMessage","p2p-status-changed":"p2pStatusChanged","participant-joined":"participantJoined","participant-kicked-out":"participantKickedOut","participant-left":"participantLeft","participant-role-changed":"participantRoleChanged","participants-pane-toggled":"participantsPaneToggled","password-required":"passwordRequired","peer-connection-failure":"peerConnectionFailure","prejoin-screen-loaded":"prejoinScreenLoaded","proxy-connection-event":"proxyConnectionEvent","raise-hand-updated":"raiseHandUpdated",ready:"
ready","recording-link-available":"recordingLinkAvailable","recording-status-changed":"recordingStatusChanged","participant-menu-button-clicked":"participantMenuButtonClick","video-ready-to-close":"readyToClose","video-conference-joined":"videoConferenceJoined","video-conference-left":"videoConferenceLeft","video-availability-changed":"videoAvailabilityChanged","video-mute-status-changed":"videoMuteStatusChanged","video-quality-changed":"videoQualityChanged","screen-sharing-status-changed":"screenSharingStatusChanged","subject-change":"subjectChange","suspend-detected":"suspendDetected","tile-view-changed":"tileViewChanged","toolbar-button-clicked":"toolbarButtonClicked","transcribing-status-changed":"transcribingStatusChanged","transcription-chunk-received":"transcriptionChunkReceived","whiteboard-status-changed":"whiteboardStatusChanged"},I={"_request-desktop-sources":"_requestDesktopSources"};let P=0;function N(e,t){e._numberOfParticipants+=t}function A(e){let t;return"string"==t
ypeof e&&null!==String(e).match(/([0-9]*\.?[0-9]+)(em|pt|px|((d|l|s)?v)(h|w)|%)$/)?t=e:"number"==typeof e&&(t=`${e}px`),t}class D extends(i()){constructor(e){super();for(var t=arguments.length,n=new Array(t>1?t-1:0),r=1;r<t;r++)n[r-1]=arguments[r];const{roomName:i="",width:s="100%",height:a="100%",parentNode:c=document.body,configOverwrite:l={},interfaceConfigOverwrite:d={},jwt:u,lang:h,onload:p,invitees:v,iceServers:y,devices:_,userInfo:w,e2eeKey:L,release:C,sandbox:x=""}=function(e){if(!e.length)return{};switch(typeof e[0]){case"string":case"undefined":{const[t,n,r,i,s,o,a,c,l]=e;return{roomName:t,width:n,height:r,parentNode:i,configOverwrite:s,interfaceConfigOverwrite:o,jwt:a,onload:c,lang:l}}case"object":return e[0];default:throw new Error("Can't parse the arguments!")}}(n),E=o.getItem("jitsiLocalStorage");this._parentNode=c,this._url=function(e){return function(e){let t;t=e.serverURL&&e.room?new URL(e.room,e.serverURL).toString():e.room?e.room:e.url||"";const n=f(g(t));if(!n.pr
otocol){let t=e.protocol||e.scheme;t&&(t.endsWith(":")||(t+=":"),n.protocol=t)}let{pathname:r}=n;if(!n.host){const t=e.domain||e.host||e.hostname;if(t){const{host:e,hostname:i,pathname:s,port:o}=f(g(`org.jitsi.meet://${t}`));e&&(n.host=e,n.hostname=i,n.port=o),"/"===r&&"/"!==s&&(r=s)}}const i=e.roomName||e.room;!i||!n.pathname.endsWith("/")&&n.pathname.endsWith(`/${i}`)||(r.endsWith("/")||(r+="/"),r+=i),n.pathname=r;const{jwt:s,lang:o,release:a}=e,c=new URLSearchParams(n.search);s&&c.set("jwt",s);const{defaultLanguage:l}=e.configOverwrite||{};(o||l)&&c.set("lang",o||l),a&&c.set("release",a);const d=c.toString();d&&(n.search=`?${d}`);let{hash:u}=n;s&&(u=u.length?`${u}&jwt=${JSON.stringify(s)}`:`#jwt=${JSON.stringify(s)}`);for(const t of["config","iceServers","interfaceConfig","devices","userInfo","appData"]){const n=m(e[`${t}Overwrite`]||e[t]||e[`${t}Override`]);if(n.length){let e=`${t}.${n.join(`&${t}.`)}`;u.length?e=`&${e}`:u="#",u+=e}}return n.hash=u,n.toString()||void 0}({...argu
ments.length>1&&void 0!==arguments[1]?arguments[1]:{},url:`https://${e}/#jitsi_meet_external_api_id=${P}`})}(e,{configOverwrite:l,iceServers:y,interfaceConfigOverwrite:d,jwt:u,lang:h,roomName:i,devices:_,userInfo:w,appData:{localStorageContent:E},release:C}),this._createIFrame(a,s,x),this._transport=new k({backend:new b({postisOptions:{allowedOrigin:new URL(this._url).origin,scope:`jitsi_meet_external_api_${P}`,window:this._frame.contentWindow}})}),Array.isArray(v)&&v.length>0&&this.invite(v),this._onload=p,this._tmpE2EEKey=L,this._isLargeVideoVisible=!1,this._isPrejoinVideoVisible=!1,this._numberOfParticipants=0,this._participants={},this._myUserID=void 0,this._onStageParticipant=void 0,this._setupListeners(),P++}_createIFrame(e,t,n){const r=`jitsiConferenceFrame${P}`;this._frame=document.createElement("iframe"),this._frame.allow=["autoplay","camera","clipboard-write","compute-pressure","display-capture","hid","microphone","screen-wake-lock","speaker-selection"].join("; "),this._fr
ame.name=r,this._frame.id=r,this._setSize(e,t),this._frame.setAttribute("allowFullScreen","true"),this._frame.style.border=0,n&&(this._frame.sandbox=n),this._frame.src=this._url,this._frame=this._parentNode.appendChild(this._frame)}_getAlwaysOnTopResources(){const e=this._frame.contentWindow,t=e.document;let n="";const r=t.querySelector("base");if(r&&r.href)n=r.href;else{const{protocol:t,host:r}=e.location;n=`${t}//${r}`}return R.map((e=>new URL(e,n).href))}_getFormattedDisplayName(e){const{formattedDisplayName:t}=this._participants[e]||{};return t}_getOnStageParticipant(){return this._onStageParticipant}_getLargeVideo(){const e=this.getIFrame();if(this._isLargeVideoVisible&&e&&e.contentWindow&&e.contentWindow.document)return e.contentWindow.document.getElementById("largeVideo")}_getPrejoinVideo(){const e=this.getIFrame();if(this._isPrejoinVideoVisible&&e&&e.contentWindow&&e.contentWindow.document)return e.contentWindow.document.getElementById("prejoinVideo")}_getParticipantVideo(e)
{const t=this.getIFrame();if(t&&t.contentWindow&&t.contentWindow.document)return void 0===e||e===this._myUserID?t.contentWindow.document.getElementById("localVideo_container"):t.contentWindow.document.querySelector(`#participant_${e} video`)}_setSize(e,t){const n=A(e),r=A(t);void 0!==n&&(this._height=e,this._frame.style.height=n),void 0!==r&&(this._width=t,this._frame.style.width=r)}_setupListeners(){this._transport.on("event",(e=>{let{name:t,...n}=e;const r=n.id;switch(t){case"ready":var i;null===(i=this._onload)||void 0===i||i.call(this);break;case"video-conference-joined":if(void 0!==this._tmpE2EEKey){const e=e=>{const t=[];for(let n=0;n<e.length;n+=2)t.push(parseInt(e.substring(n,n+2),16));return t};this.executeCommand("setMediaEncryptionKey",JSON.stringify({exportedKey:e(this._tmpE2EEKey),index:0})),this._tmpE2EEKey=void 0}this._myUserID=r,this._participants[r]={email:n.email,avatarURL:n.avatarURL};case"participant-joined":this._participants[r]=this._participants[r]||{},this._p
articipants[r].displayName=n.displayName,this._participants[r].formattedDisplayName=n.formattedDisplayName,N(this,1);break;case"participant-left":N(this,-1),delete this._participants[r];break;case"display-name-change":{const e=this._participants[r];e&&(e.displayName=n.displayname,e.formattedDisplayName=n.formattedDisplayName);break}case"email-change":{const e=this._participants[r];e&&(e.email=n.email);break}case"avatar-changed":{const e=this._participants[r];e&&(e.avatarURL=n.avatarURL);break}case"on-stage-participant-changed":this._onStageParticipant=r,this.emit("largeVideoChanged");break;case"large-video-visibility-changed":this._isLargeVideoVisible=n.isVisible,this.emit("largeVideoChanged");break;case"prejoin-screen-loaded":this._participants[r]={displayName:n.displayName,formattedDisplayName:n.formattedDisplayName};break;case"on-prejoin-video-changed":this._isPrejoinVideoVisible=n.isVisible,this.emit("prejoinVideoChanged");break;case"video-conference-left":N(this,-1),delete this
._participants[this._myUserID];break;case"video-quality-changed":this._videoQuality=n.videoQuality;break;case"breakout-rooms-updated":this.updateNumberOfParticipants(n.rooms);break;case"local-storage-changed":return o.setItem("jitsiLocalStorage",n.localStorageContent),!0}const s=j[t];return!!s&&(this.emit(s,n),!0)})),this._transport.on("request",((e,t)=>{const n=I[e.name],r={...e,name:n};n&&this.emit(n,r,t)}))}updateNumberOfParticipants(e){if(!e||!Object.keys(e).length)return;const t=Object.keys(e).reduce(((t,n)=>{var r;return null!==(r=e[n])&&void 0!==r&&r.participants?Object.keys(e[n].participants).length+t:t}),0);this._numberOfParticipants=t}async getRoomsInfo(){return this._transport.sendRequest({name:"rooms-info"})}isP2pActive(){return this._transport.sendRequest({name:"get-p2p-status"})}addEventListener(e,t){this.on(e,t)}addEventListeners(e){for(const t in e)this.addEventListener(t,e[t])}captureLargeVideoScreenshot(){return this._transport.sendRequest({name:"capture-largevideo
-screenshot"})}dispose(){this.emit("_willDispose"),this._transport.dispose(),this.removeAllListeners(),this._frame&&this._frame.parentNode&&this._frame.parentNode.removeChild(this._frame)}executeCommand(e){if(e in O){for(var t=arguments.length,n=new Array(t>1?t-1:0),r=1;r<t;r++)n[r-1]=arguments[r];this._transport.sendEvent({data:n,name:O[e]})}else console.error("Not supported command name.")}executeCommands(e){for(const t in e)this.executeCommand(t,e[t])}getAvailableDevices(){return function(e){return e.sendRequest({type:"devices",name:"getAvailableDevices"}).catch((e=>(E.error(e),{})))}(this._transport)}getContentSharingParticipants(){return this._transport.sendRequest({name:"get-content-sharing-participants"})}getCurrentDevices(){return function(e){return e.sendRequest({type:"devices",name:"getCurrentDevices"}).catch((e=>(E.error(e),{})))}(this._transport)}getCustomAvatarBackgrounds(){return this._transport.sendRequest({name:"get-custom-avatar-backgrounds"})}getLivestreamUrl(){ret
urn this._transport.sendRequest({name:"get-livestream-url"})}getParticipantsInfo(){const e=Object.keys(this._participants),t=Object.values(this._participants);return t.forEach(((t,n)=>{t.participantId=e[n]})),t}getVideoQuality(){return this._videoQuality}isAudioAvailable(){return this._transport.sendRequest({name:"is-audio-available"})}isDeviceChangeAvailable(e){return function(e,t){return e.sendRequest({deviceType:t,type:"devices",name:"isDeviceChangeAvailable"})}(this._transport,e)}isDeviceListAvailable(){return function(e){return e.sendRequest({type:"devices",name:"isDeviceListAvailable"})}(this._transport)}isMultipleAudioInputSupported(){return function(e){return e.sendRequest({type:"devices",name:"isMultipleAudioInputSupported"})}(this._transport)}invite(e){return Array.isArray(e)&&0!==e.length?this._transport.sendRequest({name:"invite",invitees:e}):Promise.reject(new TypeError("Invalid Argument"))}isAudioMuted(){return this._transport.sendRequest({name:"is-audio-muted"})}isAud
ioDisabled(){return this._transport.sendRequest({name:"is-audio-disabled"})}isModerationOn(e){return this._transport.sendRequest({name:"is-moderation-on",mediaType:e})}isParticipantForceMuted(e,t){return this._transport.sendRequest({name:"is-participant-force-muted",participantId:e,mediaType:t})}isParticipantsPaneOpen(){return this._transport.sendRequest({name:"is-participants-pane-open"})}isSharingScreen(){return this._transport.sendRequest({name:"is-sharing-screen"})}isStartSilent(){return this._transport.sendRequest({name:"is-start-silent"})}getAvatarURL(e){const{avatarURL:t}=this._participants[e]||{};return t}getDeploymentInfo(){return this._transport.sendRequest({name:"deployment-info"})}getDisplayName(e){const{displayName:t}=this._participants[e]||{};return t}getEmail(e){const{email:t}=this._participants[e]||{};return t}getIFrame(){return this._frame}getNumberOfParticipants(){return this._numberOfParticipants}getSessionId(){return this._transport.sendRequest({name:"session-id"
})}getSupportedCommands(){return Object.keys(O)}getSupportedEvents(){return Object.values(j)}isVideoAvailable(){return this._transport.sendRequest({name:"is-video-available"})}isVideoMuted(){return this._transport.sendRequest({name:"is-video-muted"})}listBreakoutRooms(){return this._transport.sendRequest({name:"list-breakout-rooms"})}_isNewElectronScreensharingSupported(){return this._transport.sendRequest({name:"_new_electron_screensharing_supported"})}pinParticipant(e,t){this.executeCommand("pinParticipant",e,t)}removeEventListener(e){this.removeAllListeners(e)}removeEventListeners(e){e.forEach((e=>this.removeEventListener(e)))}resizeLargeVideo(e,t){e<=this._width&&t<=this._height&&this.executeCommand("resizeLargeVideo",e,t)}sendProxyConnectionEvent(e){this._transport.sendEvent({data:[e],name:"proxy-connection-event"})}setAudioInputDevice(e,t){return function(e,t,n){return S(e,{id:n,kind:"audioinput",label:t})}(this._transport,e,t)}setAudioOutputDevice(e,t){return function(e,t,n){
return S(e,{id:n,kind:"audiooutput",label:t})}(this._transport,e,t)}setLargeVideoParticipant(e,t){this.executeCommand("setLargeVideoParticipant",e,t)}setVideoInputDevice(e,t){return function(e,t,n){return S(e,{id:n,kind:"videoinput",label:t})}(this._transport,e,t)}startRecording(e){this.executeCommand("startRecording",e)}stopRecording(e,t){this.executeCommand("stopRecording",e,t)}toggleE2EE(e){this.executeCommand("toggleE2EE",e)}async setMediaEncryptionKey(e){const{key:t,index:n}=e;if(t){const e=await crypto.subtle.exportKey("raw",t);this.executeCommand("setMediaEncryptionKey",JSON.stringify({exportedKey:Array.from(new Uint8Array(e)),index:n}))}else this.executeCommand("setMediaEncryptionKey",JSON.stringify({exportedKey:!1,index:n}))}}},872:(e,t,n)=>{e.exports=n(372).default},135:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.BLANK_URL=t.relativeFirstCharacters=t.urlSchemeRegex=t.ctrlCharactersRegex=t.htmlCtrlEntityRegex=t.htmlEntitiesRegex=t.invalidProtocol
Regex=void 0,t.invalidProtocolRegex=/^([^\w]*)(javascript|data|vbscript)/im,t.htmlEntitiesRegex=/&#(\w+)(^\w|;)?/g,t.htmlCtrlEntityRegex=/&(newline|tab);/gi,t.ctrlCharactersRegex=/[\u0000-\u001F\u007F-\u009F\u2000-\u200D\uFEFF]/gim,t.urlSchemeRegex=/^.+(:|:)/gim,t.relativeFirstCharacters=[".","/"],t.BLANK_URL="about:blank"},449:(e,t,n)=>{"use strict";n(135)},571:(e,t)=>{"use strict";const n=/"(?:_|\\u005[Ff])(?:_|\\u005[Ff])(?:p|\\u0070)(?:r|\\u0072)(?:o|\\u006[Ff])(?:t|\\u0074)(?:o|\\u006[Ff])(?:_|\\u005[Ff])(?:_|\\u005[Ff])"\s*\:/;t.parse=function(e){const r="object"==typeof(arguments.length<=1?void 0:arguments[1])&&(arguments.length<=1?void 0:arguments[1]),i=(arguments.length<=1?0:arguments.length-1)>1||!r?arguments.length<=1?void 0:arguments[1]:void 0,s=(arguments.length<=1?0:arguments.length-1)>1&&(arguments.length<=2?void 0:arguments[2])||r||{},o=JSON.parse(e,i);return"ignore"===s.protoAction?o:o&&"object"==typeof o&&e.match(n)?(t.scan(o,s),o):o},t.scan=function(e){let t
=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=[e];for(;n.length;){const e=n;n=[];for(const r of e){if(Object.prototype.hasOwnProperty.call(r,"__proto__")){if("remove"!==t.protoAction)throw new SyntaxError("Object contains forbidden prototype property");delete r.__proto__}for(const e in r){const t=r[e];t&&"object"==typeof t&&n.push(r[e])}}}},t.safeParse=function(e,n){try{return t.parse(e,n)}catch(e){return null}}},369:(e,t,n)=>{var r=n(7);function i(e,t){this.logStorage=e,this.stringifyObjects=!(!t||!t.stringifyObjects)&&t.stringifyObjects,this.storeInterval=t&&t.storeInterval?t.storeInterval:3e4,this.maxEntryLength=t&&t.maxEntryLength?t.maxEntryLength:1e4,Object.values(r.levels).forEach(function(e){this[e]=function(){this._log.apply(this,arguments)}.bind(this,e)}.bind(this)),this.storeLogsIntervalID=null,this.queue=[],this.totalLen=0,this.outputCache=[]}i.prototype.stringify=function(e){try{return JSON.stringify(e)}catch(e){return"[object with circular refs?]"}},i.pro
totype.formatLogMessage=function(e){for(var t="",n=1,r=arguments.length;n<r;n++){var i=arguments[n];i instanceof Error?t+=i.toString()+": "+i.stack:this.stringifyObjects&&"object"==typeof i?t+=this.stringify(i):t+=i,n!==r-1&&(t+=" ")}return t.length?t:null},i.prototype._log=function(){var e=arguments[1],t=this.formatLogMessage.apply(this,arguments);if(t){var n=this.queue[this.queue.length-1];(n&&n.text)===t?n.count+=1:(this.queue.push({text:t,timestamp:e,count:1}),this.totalLen+=t.length)}this.totalLen>=this.maxEntryLength&&this._flush(!0,!0)},i.prototype.start=function(){this._reschedulePublishInterval()},i.prototype._reschedulePublishInterval=function(){this.storeLogsIntervalID&&(window.clearTimeout(this.storeLogsIntervalID),this.storeLogsIntervalID=null),this.storeLogsIntervalID=window.setTimeout(this._flush.bind(this,!1,!0),this.storeInterval)},i.prototype.flush=function(){this._flush(!1,!0)},i.prototype._storeLogs=function(e){try{this.logStorage.storeLogs(e)}catch(e){console.er
ror("LogCollector error when calling logStorage.storeLogs(): ",e)}},i.prototype._flush=function(e,t){var n=!1;try{n=this.logStorage.isReady()}catch(e){console.error("LogCollector error when calling logStorage.isReady(): ",e)}this.totalLen>0&&(n||e)&&(n?(this.outputCache.length&&(this.outputCache.forEach(function(e){this._storeLogs(e)}.bind(this)),this.outputCache=[]),this._storeLogs(this.queue)):this.outputCache.push(this.queue),this.queue=[],this.totalLen=0),t&&this._reschedulePublishInterval()},i.prototype.stop=function(){this._flush(!1,!1)},e.exports=i},7:e=>{var t={trace:0,debug:1,info:2,log:3,warn:4,error:5};s.consoleTransport=console;var n=[s.consoleTransport];s.addGlobalTransport=function(e){-1===n.indexOf(e)&&n.push(e)},s.removeGlobalTransport=function(e){var t=n.indexOf(e);-1!==t&&n.splice(t,1)};var r={};function i(){var e=arguments[0],i=arguments[1],s=Array.prototype.slice.call(arguments,2);if(!(t[i]<e.level))for(var o=!(e.options.disableCallerInfo||r.disableCallerInfo)&&f
unction(){var e={methodName:"",fileLocation:"",line:null,column:null},t=new Error,n=t.stack?t.stack.split("\n"):[];if(!n||n.length<3)return e;var r=null;return n[3]&&(r=n[3].match(/\s*at\s*(.+?)\s*\((\S*)\s*:(\d*)\s*:(\d*)\)/)),!r||r.length<=4?(0===n[2].indexOf("log@")?e.methodName=n[3].substr(0,n[3].indexOf("@")):e.methodName=n[2].substr(0,n[2].indexOf("@")),e):(e.methodName=r[1],e.fileLocation=r[2],e.line=r[3],e.column=r[4],e)}(),a=n.concat(e.transports),c=0;c<a.length;c++){var l=a[c],d=l[i];if(d&&"function"==typeof d){var u=[];u.push((new Date).toISOString()),e.id&&u.push("["+e.id+"]"),o&&o.methodName.length>1&&u.push("<"+o.methodName+">: ");var h=u.concat(s);try{d.bind(l).apply(l,h)}catch(e){console.error("An error occured when trying to log with one of the available transports",e)}}}}function s(e,n,r,s){this.id=n,this.options=s||{},this.transports=r,this.transports||(this.transports=[]),this.level=t[e];for(var o=Object.keys(t),a=0;a<o.length;a++)this[o[a]]=i.bind(null,this,o[a]
)}s.setGlobalOptions=function(e){r=e||{}},s.prototype.setLevel=function(e){this.level=t[e]},e.exports=s,s.levels={TRACE:"trace",DEBUG:"debug",INFO:"info",LOG:"log",WARN:"warn",ERROR:"error"}},860:(e,t,n)=>{var r=n(7),i=n(369),s={},o=[],a=r.levels.TRACE;e.exports={addGlobalTransport:function(e){r.addGlobalTransport(e)},removeGlobalTransport:function(e){r.removeGlobalTransport(e)},setGlobalOptions:function(e){r.setGlobalOptions(e)},getLogger:function(e,t,n){var i=new r(a,e,t,n);return e?(s[e]=s[e]||[],s[e].push(i)):o.push(i),i},getUntrackedLogger:function(e,t,n){return new r(a,e,t,n)},setLogLevelById:function(e,t){for(var n=t?s[t]||[]:o,r=0;r<n.length;r++)n[r].setLevel(e)},setLogLevel:function(e){a=e;for(var t=0;t<o.length;t++)o[t].setLevel(e);for(var n in s){var r=s[n]||[];for(t=0;t<r.length;t++)r[t].setLevel(e)}},levels:r.levels,LogCollector:i}},620:e=>{"use strict";var t,n="object"==typeof Reflect?Reflect:null,r=n&&"function"==typeof n.apply?n.apply:function(e,t,n){return Function.
prototype.apply.call(e,t,n)};t=n&&"function"==typeof n.ownKeys?n.ownKeys:Object.getOwnPropertySymbols?function(e){return Object.getOwnPropertyNames(e).concat(Object.getOwnPropertySymbols(e))}:function(e){return Object.getOwnPropertyNames(e)};var i=Number.isNaN||function(e){return e!=e};function s(){s.init.call(this)}e.exports=s,e.exports.once=function(e,t){return new Promise((function(n,r){function i(n){e.removeListener(t,s),r(n)}function s(){"function"==typeof e.removeListener&&e.removeListener("error",i),n([].slice.call(arguments))}m(e,t,s,{once:!0}),"error"!==t&&function(e,t,n){"function"==typeof e.on&&m(e,"error",t,{once:!0})}(e,i)}))},s.EventEmitter=s,s.prototype._events=void 0,s.prototype._eventsCount=0,s.prototype._maxListeners=void 0;var o=10;function a(e){if("function"!=typeof e)throw new TypeError('The "listener" argument must be of type Function. Received type '+typeof e)}function c(e){return void 0===e._maxListeners?s.defaultMaxListeners:e._maxListeners}function l(e,t,n,
r){var i,s,o,l;if(a(n),void 0===(s=e._events)?(s=e._events=Object.create(null),e._eventsCount=0):(void 0!==s.newListener&&(e.emit("newListener",t,n.listener?n.listener:n),s=e._events),o=s[t]),void 0===o)o=s[t]=n,++e._eventsCount;else if("function"==typeof o?o=s[t]=r?[n,o]:[o,n]:r?o.unshift(n):o.push(n),(i=c(e))>0&&o.length>i&&!o.warned){o.warned=!0;var d=new Error("Possible EventEmitter memory leak detected. "+o.length+" "+String(t)+" listeners added. Use emitter.setMaxListeners() to increase limit");d.name="MaxListenersExceededWarning",d.emitter=e,d.type=t,d.count=o.length,l=d,console&&console.warn&&console.warn(l)}return e}function d(){if(!this.fired)return this.target.removeListener(this.type,this.wrapFn),this.fired=!0,0===arguments.length?this.listener.call(this.target):this.listener.apply(this.target,arguments)}function u(e,t,n){var r={fired:!1,wrapFn:void 0,target:e,type:t,listener:n},i=d.bind(r);return i.listener=n,r.wrapFn=i,i}function h(e,t,n){var r=e._events;if(void 0===r)
return[];var i=r[t];return void 0===i?[]:"function"==typeof i?n?[i.listener||i]:[i]:n?function(e){for(var t=new Array(e.length),n=0;n<t.length;++n)t[n]=e[n].listener||e[n];return t}(i):g(i,i.length)}function p(e){var t=this._events;if(void 0!==t){var n=t[e];if("function"==typeof n)return 1;if(void 0!==n)return n.length}return 0}function g(e,t){for(var n=new Array(t),r=0;r<t;++r)n[r]=e[r];return n}function m(e,t,n,r){if("function"==typeof e.on)r.once?e.once(t,n):e.on(t,n);else{if("function"!=typeof e.addEventListener)throw new TypeError('The "emitter" argument must be of type EventEmitter. Received type '+typeof e);e.addEventListener(t,(function i(s){r.once&&e.removeEventListener(t,i),n(s)}))}}Object.defineProperty(s,"defaultMaxListeners",{enumerable:!0,get:function(){return o},set:function(e){if("number"!=typeof e||e<0||i(e))throw new RangeError('The value of "defaultMaxListeners" is out of range. It must be a non-negative number. Received '+e+".");o=e}}),s.init=function(){void 0!==
this._events&&this._events!==Object.getPrototypeOf(this)._events||(this._events=Object.create(null),this._eventsCount=0),this._maxListeners=this._maxListeners||void 0},s.prototype.setMaxListeners=function(e){if("number"!=typeof e||e<0||i(e))throw new RangeError('The value of "n" is out of range. It must be a non-negative number. Received '+e+".");return this._maxListeners=e,this},s.prototype.getMaxListeners=function(){return c(this)},s.prototype.emit=function(e){for(var t=[],n=1;n<arguments.length;n++)t.push(arguments[n]);var i="error"===e,s=this._events;if(void 0!==s)i=i&&void 0===s.error;else if(!i)return!1;if(i){var o;if(t.length>0&&(o=t[0]),o instanceof Error)throw o;var a=new Error("Unhandled error."+(o?" ("+o.message+")":""));throw a.context=o,a}var c=s[e];if(void 0===c)return!1;if("function"==typeof c)r(c,this,t);else{var l=c.length,d=g(c,l);for(n=0;n<l;++n)r(d[n],this,t)}return!0},s.prototype.addListener=function(e,t){return l(this,e,t,!1)},s.prototype.on=s.prototype.addList
ener,s.prototype.prependListener=function(e,t){return l(this,e,t,!0)},s.prototype.once=function(e,t){return a(t),this.on(e,u(this,e,t)),this},s.prototype.prependOnceListener=function(e,t){return a(t),this.prependListener(e,u(this,e,t)),this},s.prototype.removeListener=function(e,t){var n,r,i,s,o;if(a(t),void 0===(r=this._events))return this;if(void 0===(n=r[e]))return this;if(n===t||n.listener===t)0==--this._eventsCount?this._events=Object.create(null):(delete r[e],r.removeListener&&this.emit("removeListener",e,n.listener||t));else if("function"!=typeof n){for(i=-1,s=n.length-1;s>=0;s--)if(n[s]===t||n[s].listener===t){o=n[s].listener,i=s;break}if(i<0)return this;0===i?n.shift():function(e,t){for(;t+1<e.length;t++)e[t]=e[t+1];e.pop()}(n,i),1===n.length&&(r[e]=n[0]),void 0!==r.removeListener&&this.emit("removeListener",e,o||t)}return this},s.prototype.off=s.prototype.removeListener,s.prototype.removeAllListeners=function(e){var t,n,r;if(void 0===(n=this._events))return this;if(void 0=
==n.removeListener)return 0===arguments.length?(this._events=Object.create(null),this._eventsCount=0):void 0!==n[e]&&(0==--this._eventsCount?this._events=Object.create(null):delete n[e]),this;if(0===arguments.length){var i,s=Object.keys(n);for(r=0;r<s.length;++r)"removeListener"!==(i=s[r])&&this.removeAllListeners(i);return this.removeAllListeners("removeListener"),this._events=Object.create(null),this._eventsCount=0,this}if("function"==typeof(t=n[e]))this.removeListener(e,t);else if(void 0!==t)for(r=t.length-1;r>=0;r--)this.removeListener(e,t[r]);return this},s.prototype.listeners=function(e){return h(this,e,!0)},s.prototype.rawListeners=function(e){return h(this,e,!1)},s.listenerCount=function(e,t){return"function"==typeof e.listenerCount?e.listenerCount(t):p.call(e,t)},s.prototype.listenerCount=p,s.prototype.eventNames=function(){return this._eventsCount>0?t(this._events):[]}}},t={};function n(r){var i=t[r];if(void 0!==i)return i.exports;var s=t[r]={exports:{}};return e[r](s,s.ex
ports,n),s.exports}return n.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return n.d(t,{a:t}),t},n.d=(e,t)=>{for(var r in t)n.o(t,r)&&!n.o(e,r)&&Object.defineProperty(e,r,{enumerable:!0,get:t[r]})},n.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),n(872)})()));
//# sourceMappingURL=external_api.min.js.map
(No newline at EOF)
++++++ npm-packages-offline-cache.tar.gz ++++++
/work/SRC/openSUSE:Factory/element-web/npm-packages-offline-cache.tar.gz /work/SRC/openSUSE:Factory/.element-web.new.19354/npm-packages-offline-cache.tar.gz differ: char 12, line 1
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package rtla for openSUSE:Factory checked in at 2024-10-06 17:51:57
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/rtla (Old)
and /work/SRC/openSUSE:Factory/.rtla.new.19354 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "rtla"
Sun Oct 6 17:51:57 2024 rev:8 rq:1205645 version:MACRO
Changes:
--------
--- /work/SRC/openSUSE:Factory/rtla/rtla.changes 2024-08-16 12:24:05.496133324 +0200
+++ /work/SRC/openSUSE:Factory/.rtla.new.19354/rtla.changes 2024-10-06 17:52:09.009549179 +0200
@@ -1,0 +2,6 @@
+Fri Oct 4 07:09:18 UTC 2024 - Daniel Wagner <daniel.wagner(a)suse.com>
+
+- The kernel ships the necessary build fix, thus
+ remove fix-libtracefs.patch
+
+-------------------------------------------------------------------
Old:
----
fix-libtracefs.patch
BETA DEBUG BEGIN:
Old:- The kernel ships the necessary build fix, thus
remove fix-libtracefs.patch
BETA DEBUG END:
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ rtla.spec ++++++
--- /var/tmp/diff_new_pack.qEDyWO/_old 2024-10-06 17:52:09.533570954 +0200
+++ /var/tmp/diff_new_pack.qEDyWO/_new 2024-10-06 17:52:09.537571121 +0200
@@ -24,7 +24,6 @@
Summary: Real-Time Linux Analysis tools
License: GPL-2.0-only
URL: https://www.kernel.org/
-Patch1: fix-libtracefs.patch
BuildRequires: kernel-source
BuildRequires: libtraceevent-devel
BuildRequires: libtracefs-devel
@@ -52,7 +51,6 @@
(cd %{_prefix}/src/linux ; tar -cf - COPYING CREDITS README tools include scripts Kbuild Makefile arch/*/{include,lib,Makefile} lib Documentation/tools/rtla) | tar -xf -
# Workaround for missing lib dependency
sed -i 's/--libs libtracefs/--libs libtracefs libtraceevent/' tools/tracing/rtla/Makefile
-%patch -P 1 -p1
%build
cd tools/tracing/rtla
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package webcamoid for openSUSE:Factory checked in at 2024-10-06 17:51:54
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/webcamoid (Old)
and /work/SRC/openSUSE:Factory/.webcamoid.new.19354 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "webcamoid"
Sun Oct 6 17:51:54 2024 rev:19 rq:1205638 version:9.2.3
Changes:
--------
--- /work/SRC/openSUSE:Factory/webcamoid/webcamoid.changes 2023-06-16 16:54:40.933648677 +0200
+++ /work/SRC/openSUSE:Factory/.webcamoid.new.19354/webcamoid.changes 2024-10-06 17:52:07.789498478 +0200
@@ -1,0 +2,24 @@
+Thu Oct 3 06:29:46 UTC 2024 - Luigi Baldoni <aloisio(a)gmx.com>
+
+- Update to version 9.2.3
+ * Misc non-linux changes
+ version 9.2.0:
+ * Webcamoid ported to Qt6.
+ * Added PipeWire video capture support.
+ * Added Xlib screen capture plugin.
+ * Added desktop capture using FFmpeg.
+ * Added option to show or hide the mouse cursor on screen
+ capture.
+ * Qt screen capture plugin is now using QScreenCapture.
+ * Added ColorKey plugin.
+ * Added support for extended controls in V4L2.
+ * Attend to screen orientation.
+ * Fixed ARM 64 packages.
+ * Fixed saving the selected camera format.
+ * Added a debug log to the preferences dialog.
+ * Added options for enabling/disabling interprocess
+ optimizations.
+ * Do not show the video outputs if the virtual camera is not
+ supported.
+
+-------------------------------------------------------------------
Old:
----
webcamoid-9.1.1.tar.gz
New:
----
webcamoid-9.2.3.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ webcamoid.spec ++++++
--- /var/tmp/diff_new_pack.UrfjpF/_old 2024-10-06 17:52:08.305519922 +0200
+++ /var/tmp/diff_new_pack.UrfjpF/_new 2024-10-06 17:52:08.305519922 +0200
@@ -1,7 +1,7 @@
#
# spec file for package webcamoid
#
-# Copyright (c) 2023 SUSE LLC
+# Copyright (c) 2024 SUSE LLC
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@@ -17,7 +17,7 @@
Name: webcamoid
-Version: 9.1.1
+Version: 9.2.3
Release: 0
Summary: Webcam applet for Plasma
License: GPL-3.0-or-later
@@ -28,21 +28,28 @@
BuildRequires: desktop-file-utils
BuildRequires: fdupes
BuildRequires: flex
+%if 0%{?suse_version} > 1500
BuildRequires: gcc-c++
+%else
+BuildRequires: gcc13-c++
+%endif
BuildRequires: glibc-devel
BuildRequires: hicolor-icon-theme
-BuildRequires: kf5-filesystem
-BuildRequires: libqt5-linguist
BuildRequires: perl-Text-Markdown
BuildRequires: pkgconfig
-BuildRequires: cmake(Qt5Concurrent) >= 5.15
-BuildRequires: cmake(Qt5Core) >= 5.15
-BuildRequires: cmake(Qt5DBus) >= 5.15
-BuildRequires: cmake(Qt5Multimedia) >= 5.15
-BuildRequires: cmake(Qt5OpenGL) >= 5.15
-BuildRequires: cmake(Qt5QuickControls2) >= 5.15
-BuildRequires: cmake(Qt5Svg) >= 5.15
-BuildRequires: pkgconfig(libavcodec) < 59
+BuildRequires: qt6-tools-linguist
+BuildRequires: cmake(Qt6Concurrent)
+BuildRequires: cmake(Qt6Core)
+BuildRequires: cmake(Qt6Multimedia)
+BuildRequires: cmake(Qt6Quick)
+BuildRequires: cmake(Qt6QuickControls2)
+BuildRequires: cmake(Qt6Svg)
+BuildRequires: cmake(Qt6Widgets)
+BuildRequires: pkgconfig(gstreamer-1.0)
+BuildRequires: pkgconfig(gstreamer-app-1.0)
+BuildRequires: pkgconfig(gstreamer-pbutils-1.0)
+BuildRequires: pkgconfig(gstreamer-video-1.0)
+BuildRequires: pkgconfig(libavcodec)
BuildRequires: pkgconfig(libavdevice)
BuildRequires: pkgconfig(libavformat)
BuildRequires: pkgconfig(libavutil)
@@ -54,8 +61,6 @@
BuildRequires: pkgconfig(libv4l2)
BuildRequires: pkgconfig(libvlc)
BuildRequires: pkgconfig(vlc-plugin)
-Requires: libqt5-qtquickcontrols
-Requires: libqt5-qtquickcontrols2
Provides: plasmoid-webcamoid = %{version}
Obsoletes: plasmoid-webcamoid < %{version}
@@ -82,18 +87,18 @@
%autosetup -p1
%build
-%cmake
-%cmake_build
+export CXX=g++
+test -x "$(type -p g++-13)" && export CXX=g++-13
+%cmake_qt6 \
+ -DPLUGINSDIR=%{_qt6_pluginsdir} \
+ -DOUTPUT_QT_PLUGINS_DIR=%{_qt6_pluginsdir}
+%qt6_build
# generate help file
-Markdown.pl --html4 ../README.md > ../README.html
+Markdown.pl --html4 README.md > README.html
%install
-%cmake_install
-
-%{kf5_post_install}
-
-%fdupes %{buildroot}%{_datadir}
+%qt6_install
rm %{buildroot}%{_libdir}/libavkys.so
@@ -105,11 +110,10 @@
%doc AUTHORS ChangeLog README.html THANKS
%license COPYING
%{_bindir}/%{name}
-%{_kf5_applicationsdir}/%{name}.desktop
-%{_kf5_appstreamdir}/io.github.%{name}.Webcamoid.metainfo.xml
+%{_datadir}/applications/%{name}.desktop
+%{_datadir}/metainfo/io.github.%{name}.Webcamoid.metainfo.xml
+%{_datadir}/icons/hicolor
%{_libdir}/libavkys.so.*
-%dir %{_libdir}/avkys
-%{_libdir}/avkys/*.so
-%{_kf5_mandir}/man1/%{name}.1%{ext_man}
-%{_kf5_iconsdir}/hicolor
+%{_mandir}/man1/%{name}.1%{ext_man}
+%{_qt6_pluginsdir}/avkys
++++++ webcamoid-9.1.1.tar.gz -> webcamoid-9.2.3.tar.gz ++++++
/work/SRC/openSUSE:Factory/webcamoid/webcamoid-9.1.1.tar.gz /work/SRC/openSUSE:Factory/.webcamoid.new.19354/webcamoid-9.2.3.tar.gz differ: char 16, line 1
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package python-traitlets for openSUSE:Factory checked in at 2024-10-06 17:51:49
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-traitlets (Old)
and /work/SRC/openSUSE:Factory/.python-traitlets.new.19354 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-traitlets"
Sun Oct 6 17:51:49 2024 rev:24 rq:1205857 version:5.14.3
Changes:
--------
--- /work/SRC/openSUSE:Factory/python-traitlets/python-traitlets.changes 2024-05-21 18:34:47.990790992 +0200
+++ /work/SRC/openSUSE:Factory/.python-traitlets.new.19354/python-traitlets.changes 2024-10-06 17:52:05.041384277 +0200
@@ -1,0 +2,6 @@
+Sat Oct 5 21:34:51 UTC 2024 - Matej Cepl <mcepl(a)cepl.eu>
+
+- Skip test_complete_custom_completers test because it is failing
+ with 3.12.7 (gh#ipython/traitlets#911).
+
+-------------------------------------------------------------------
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ python-traitlets.spec ++++++
--- /var/tmp/diff_new_pack.HAK7BY/_old 2024-10-06 17:52:06.341438302 +0200
+++ /var/tmp/diff_new_pack.HAK7BY/_new 2024-10-06 17:52:06.345438468 +0200
@@ -52,7 +52,8 @@
%check
# no mypy testing in Ring1
-%pytest --ignore tests/test_typing.py
+# skip test_complete_custom_completers because of gh#ipython/traitlets#911
+%pytest --ignore tests/test_typing.py -k 'not test_complete_custom_completers'
%files %{python_files}
%doc README.md
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package python-argcomplete for openSUSE:Factory checked in at 2024-10-06 17:51:47
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-argcomplete (Old)
and /work/SRC/openSUSE:Factory/.python-argcomplete.new.19354 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-argcomplete"
Sun Oct 6 17:51:47 2024 rev:36 rq:1205831 version:3.4.0
Changes:
--------
--- /work/SRC/openSUSE:Factory/python-argcomplete/python-argcomplete.changes 2024-08-15 09:57:27.388789568 +0200
+++ /work/SRC/openSUSE:Factory/.python-argcomplete.new.19354/python-argcomplete.changes 2024-10-06 17:52:01.757247800 +0200
@@ -1,0 +2,6 @@
+Sat Oct 5 14:53:29 UTC 2024 - Matej Cepl <mcepl(a)cepl.eu>
+
+- Add skip-failing-tests-3_12_7.patch as a temporary workaround,
+ skip failing tests (gh#kislyuk/argcomplete#507).
+
+-------------------------------------------------------------------
New:
----
skip-failing-tests-3_12_7.patch
BETA DEBUG BEGIN:
New:
- Add skip-failing-tests-3_12_7.patch as a temporary workaround,
skip failing tests (gh#kislyuk/argcomplete#507).
BETA DEBUG END:
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ python-argcomplete.spec ++++++
--- /var/tmp/diff_new_pack.I4jMB7/_old 2024-10-06 17:52:03.813333243 +0200
+++ /var/tmp/diff_new_pack.I4jMB7/_new 2024-10-06 17:52:03.813333243 +0200
@@ -26,6 +26,9 @@
Group: Development/Languages/Python
URL: https://github.com/kislyuk/argcomplete
Source: https://files.pythonhosted.org/packages/source/a/argcomplete/argcomplete-%{…
+# PATCH-FIX-OPENSUSE skip-failing-tests-3_12_7.patch gh#kislyuk/argcomplete#507 mcepl(a)suse.com
+# temporary workaround, skip failing tests
+Patch0: skip-failing-tests-3_12_7.patch
BuildRequires: %{python_module base >= 3.8}
BuildRequires: %{python_module pexpect}
BuildRequires: %{python_module pip}
++++++ skip-failing-tests-3_12_7.patch ++++++
---
test/test.py | 15 +++++++++++++++
1 file changed, 15 insertions(+)
--- a/test/test.py
+++ b/test/test.py
@@ -43,6 +43,7 @@ COMP_WORDBREAKS = " \t\n\"'><=;|&(:"
BASH_VERSION = subprocess.check_output(["bash", "-c", "echo $BASH_VERSION"]).decode()
BASH_MAJOR_VERSION = int(BASH_VERSION.split(".")[0])
+is_3_12_7 = sys.version_info[:2] == (3, 12) and sys.version_info[:3] >= (3, 12, 7)
class ArgcompleteREPLWrapper(REPLWrapper):
def run_command(self, command, **kwargs):
@@ -158,6 +159,7 @@ class TestArgcomplete(unittest.TestCase)
completions = self.run_completer(p, "prog -", always_complete_options=False)
self.assertEqual(set(completions), set(["-h", "--help", "--foo", "--bar"]))
+ @unittest.skipIf(is_3_12_7, "Doesn't work with Python 3.12.7")
def test_choices(self):
def make_parser():
parser = ArgumentParser()
@@ -274,6 +276,7 @@ class TestArgcomplete(unittest.TestCase)
for cmd, output in expected_outputs:
self.assertEqual(set(self.run_completer(make_parser(), cmd)), set(output))
+ @unittest.skipIf(is_3_12_7, "Doesn't work with Python 3.12.7")
def test_completers(self):
self.completions = ["http://url1", "http://url2"]
@@ -317,6 +320,7 @@ class TestArgcomplete(unittest.TestCase)
for cmd, output in zsh_expected_outputs:
self.assertEqual(set(self.run_completer(make_parser(), cmd, shell="zsh")), set(output))
+ @unittest.skipIf(is_3_12_7, "Doesn't work with Python 3.12.7")
def test_subparser_completers(self):
def c_depends_on_positional_arg1(prefix, parsed_args, **kwargs):
return [parsed_args.arg1]
@@ -355,6 +359,7 @@ class TestArgcomplete(unittest.TestCase)
fp.write("test")
self.assertEqual(set(fc("a")), set(["abcdefж/", "abcaha/", "abcxyz"]))
+ @unittest.skipIf(is_3_12_7, "Doesn't work with Python 3.12.7")
def test_filescompleter_filetype_integration(self):
def make_parser():
parser = ArgumentParser()
@@ -404,6 +409,7 @@ class TestArgcomplete(unittest.TestCase)
self.assertEqual(c("def/k"), set([]))
return
+ @unittest.skipIf(is_3_12_7, "Doesn't work with Python 3.12.7")
def test_default_completer(self):
def make_parser():
parser = ArgumentParser(add_help=False)
@@ -423,6 +429,7 @@ class TestArgcomplete(unittest.TestCase)
for cmd, output in expected_outputs:
self.assertEqual(set(self.run_completer(make_parser(), cmd)), set(output))
+ @unittest.skipIf(is_3_12_7, "Doesn't work with Python 3.12.7")
def test_subparsers(self):
def make_parser():
parser = ArgumentParser()
@@ -455,6 +462,7 @@ class TestArgcomplete(unittest.TestCase)
set(output) - set(["-h", "--help"]),
)
+ @unittest.skipIf(is_3_12_7, "Doesn't work with Python 3.12.7")
def test_non_ascii(self):
def make_parser():
parser = ArgumentParser()
@@ -664,6 +672,7 @@ class TestArgcomplete(unittest.TestCase)
for cmd, output in expected_outputs:
self.assertEqual(set(self.run_completer(make_parser(), cmd)), set(output))
+ @unittest.skipIf(is_3_12_7, "Doesn't work with Python 3.12.7")
def test_optional_nargs(self):
def make_parser():
parser = ArgumentParser()
@@ -696,6 +705,7 @@ class TestArgcomplete(unittest.TestCase)
for cmd, output in expected_outputs:
self.assertEqual(set(self.run_completer(make_parser(), cmd)), set(output))
+ @unittest.skipIf(is_3_12_7, "Doesn't work with Python 3.12.7")
def test_positional_remainder(self):
def make_parser():
parser = ArgumentParser()
@@ -753,6 +763,7 @@ class TestArgcomplete(unittest.TestCase)
result = self.run_completer(make_parser(), cmd, always_complete_options=always_complete_options)
self.assertEqual(set(result), set(output))
+ @unittest.skipIf(is_3_12_7, "Doesn't work with Python 3.12.7")
def test_exclusive(self):
def make_parser():
parser = ArgumentParser(add_help=False)
@@ -772,6 +783,7 @@ class TestArgcomplete(unittest.TestCase)
for cmd, output in expected_outputs:
self.assertEqual(set(self.run_completer(make_parser(), cmd)), set(output))
+ @unittest.skipIf(is_3_12_7, "Doesn't work with Python 3.12.7")
def test_mixed_optional_positional(self):
def make_parser():
parser = ArgumentParser(add_help=False)
@@ -801,6 +813,7 @@ class TestArgcomplete(unittest.TestCase)
self.assertEqual(self.run_completer(make_parser(), "prog "), ["bar "])
self.assertEqual(self.run_completer(make_parser(), "prog ", append_space=False), ["bar"])
+ @unittest.skipIf(is_3_12_7, "Doesn't work with Python 3.12.7")
def test_exclusive_class(self):
parser = ArgumentParser(add_help=False)
parser.add_argument("--foo", dest="types", action="append_const", const=str)
@@ -821,6 +834,7 @@ class TestArgcomplete(unittest.TestCase)
for cmd, output in expected_outputs:
self.assertEqual(set(self.run_completer(parser, cmd, completer=completer)), set(output))
+ @unittest.skipIf(is_3_12_7, "Doesn't work with Python 3.12.7")
def test_escape_special_chars(self):
def make_parser():
parser = ArgumentParser(add_help=False)
@@ -921,6 +935,7 @@ class TestArgcompleteREPL(unittest.TestC
completions = self.run_completer(p, c, "prog --")
assert set(completions) == set(["--help", "--foo", "--bar"])
+ @unittest.skipIf(is_3_12_7, "Doesn't work with Python 3.12.7")
def test_repl_parse_after_complete(self):
p = ArgumentParser()
p.add_argument("--foo", required=True)
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package python-mypy for openSUSE:Factory checked in at 2024-10-06 17:51:45
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-mypy (Old)
and /work/SRC/openSUSE:Factory/.python-mypy.new.19354 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-mypy"
Sun Oct 6 17:51:45 2024 rev:8 rq:1205767 version:1.11.2
Changes:
--------
--- /work/SRC/openSUSE:Factory/python-mypy/python-mypy.changes 2024-09-12 16:54:01.115015343 +0200
+++ /work/SRC/openSUSE:Factory/.python-mypy.new.19354/python-mypy.changes 2024-10-06 17:51:59.629159365 +0200
@@ -1,0 +2,5 @@
+Fri Oct 4 14:11:11 UTC 2024 - Markéta Machová <mmachova(a)suse.com>
+
+- Add upstream latest-pythons.patch to fix tests on latest Python releases
+
+-------------------------------------------------------------------
New:
----
latest-pythons.patch
BETA DEBUG BEGIN:
New:
- Add upstream latest-pythons.patch to fix tests on latest Python releases
BETA DEBUG END:
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ python-mypy.spec ++++++
--- /var/tmp/diff_new_pack.WZbSwq/_old 2024-10-06 17:52:00.165181640 +0200
+++ /var/tmp/diff_new_pack.WZbSwq/_new 2024-10-06 17:52:00.169181807 +0200
@@ -32,6 +32,8 @@
# License Source2: Apache-2.0. Only for the test suite, not packaged here.
Source2: https://files.pythonhosted.org/packages/source/t/types-setuptools/types-set…
Source99: python-mypy-rpmlintrc
+# PATCH-FIX-UPSTREAM https://github.com/python/mypy/pull/17849 Fix tests on latest Python 3.13 (and 3.12)
+Patch0: latest-pythons.patch
BuildRequires: %{python_module exceptiongroup}
BuildRequires: %{python_module mypy_extensions >= 1.0.0}
BuildRequires: %{python_module pip}
++++++ latest-pythons.patch ++++++
From 1a2c8e2a4df21532e4952191cad74ae50083f4ad Mon Sep 17 00:00:00 2001
From: Shantanu <12621235+hauntsaninja(a)users.noreply.github.com>
Date: Sat, 28 Sep 2024 14:20:45 -0700
Subject: [PATCH] Fix tests on latest Python 3.13 (and 3.12) (#17849)
Related to python/cpython@c6c3d970ba54f4ad4c4151bb262cef96d3299480
(python/cpython#121329), thanks to brianschubert for noticing
---
mypyc/test-data/run-dicts.test | 6 +++++-
1 file changed, 5 insertions(+), 1 deletion(-)
diff --git a/mypyc/test-data/run-dicts.test b/mypyc/test-data/run-dicts.test
index 58b862e3f303..d4f5b945309e 100644
--- a/mypyc/test-data/run-dicts.test
+++ b/mypyc/test-data/run-dicts.test
@@ -157,7 +157,11 @@ else:
try:
clear_during_iter(d)
except RuntimeError as e:
- assert str(e) == "OrderedDict changed size during iteration"
+ assert str(e) in (
+ "OrderedDict changed size during iteration",
+ # Error message changed in Python 3.13 and some 3.12 patch version
+ "OrderedDict mutated during iteration",
+ )
else:
assert False
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package ell for openSUSE:Factory checked in at 2024-10-06 17:51:41
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/ell (Old)
and /work/SRC/openSUSE:Factory/.ell.new.19354 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "ell"
Sun Oct 6 17:51:41 2024 rev:45 rq:1205725 version:0.69
Changes:
--------
--- /work/SRC/openSUSE:Factory/ell/ell.changes 2024-07-10 16:48:03.940423910 +0200
+++ /work/SRC/openSUSE:Factory/.ell.new.19354/ell.changes 2024-10-06 17:51:54.760957061 +0200
@@ -1,0 +2,11 @@
+Tue Oct 1 08:46:15 UTC 2024 - Luigi Baldoni <aloisio(a)gmx.com>
+
+- Update to version 0.69
+ * Add support for getting remaining microseconds left on a
+ timer.
+ * Add support for setting link MTU on a network interface.
+ version 0.68:
+ * Fix issue with string allocation growth strategy.
+ * Add support for netlink helper functions.
+
+-------------------------------------------------------------------
Old:
----
ell-0.67.tar.sign
ell-0.67.tar.xz
New:
----
ell-0.69.tar.sign
ell-0.69.tar.xz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ ell.spec ++++++
--- /var/tmp/diff_new_pack.lcA7Pg/_old 2024-10-06 17:51:55.328980666 +0200
+++ /var/tmp/diff_new_pack.lcA7Pg/_new 2024-10-06 17:51:55.332980833 +0200
@@ -18,7 +18,7 @@
%define lname libell0
Name: ell
-Version: 0.67
+Version: 0.69
Release: 0
Summary: Wireless setup and cryptography library
License: LGPL-2.1-or-later
++++++ _scmsync.obsinfo ++++++
--- /var/tmp/diff_new_pack.lcA7Pg/_old 2024-10-06 17:51:55.360981996 +0200
+++ /var/tmp/diff_new_pack.lcA7Pg/_new 2024-10-06 17:51:55.364982162 +0200
@@ -1,5 +1,5 @@
-mtime: 1720533274
-commit: 3e1218795a855e633fe1e615fa766b17db8618299080479edba6b2b6ec38aa73
+mtime: 1728054431
+commit: e3474dc81e71ab5a5831f984c5a5bb3f93071851044cb6561339bf45c0712180
url: https://src.opensuse.org/jengelh/ell
revision: master
++++++ build.specials.obscpio ++++++
diff: old/*: No such file or directory
diff: new/*: No such file or directory
++++++ ell-0.67.tar.xz -> ell-0.69.tar.xz ++++++
++++ 7475 lines of diff (skipped)
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package update-bootloader for openSUSE:Factory checked in at 2024-10-06 17:51:41
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/update-bootloader (Old)
and /work/SRC/openSUSE:Factory/.update-bootloader.new.19354 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "update-bootloader"
Sun Oct 6 17:51:41 2024 rev:2 rq:1205724 version:1.16
Changes:
--------
--- /work/SRC/openSUSE:Factory/update-bootloader/update-bootloader.changes 2024-09-24 17:31:49.425430860 +0200
+++ /work/SRC/openSUSE:Factory/.update-bootloader.new.19354/update-bootloader.changes 2024-10-06 17:51:50.992800471 +0200
@@ -1,0 +2,19 @@
+Fri Oct 4 14:53:58 UTC 2024 - wfeldt(a)opensuse.org
+
+- merge gh#openSUSE/perl-bootloader#173
+- grub2-bls: adjust config script test
+- grub2-bls: adjust install script test
+- grub2-bls: prefer sdbootutil over bootctl in install script
+- adjust test environment
+- grub2-bls: add default script
+- grub2-bls, systemd-boot: add default script test
+- grub2-bls: use bootctl to get default settings
+- adjust default-settings tests
+- update test result data
+- add emacs config
+- log efi boot manager config after install
+- adjust test data
+- support new grub2-bls package
+- 1.16
+
+--------------------------------------------------------------------
Old:
----
update-bootloader-1.15.tar.xz
New:
----
update-bootloader-1.16.tar.xz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ update-bootloader.spec ++++++
--- /var/tmp/diff_new_pack.KuD1h7/_old 2024-10-06 17:51:51.876837208 +0200
+++ /var/tmp/diff_new_pack.KuD1h7/_new 2024-10-06 17:51:51.880837374 +0200
@@ -25,11 +25,11 @@
%{!?_distconfdir:%global _distconfdir /etc}
Name: update-bootloader
-Version: 1.15
+Version: 1.16
Release: 0
Requires: coreutils
-Obsoletes: perl-Bootloader-YAML < %{version}
Obsoletes: perl-Bootloader < %{version}-%{release}
+Obsoletes: perl-Bootloader-YAML < %{version}
Provides: perl-Bootloader = %{version}-%{release}
Conflicts: kexec-tools < 2.0.26.0
Summary: Tool for boot loader configuration
++++++ update-bootloader-1.15.tar.xz -> update-bootloader-1.16.tar.xz ++++++
++++ 2475 lines of diff (skipped)
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package python-pycurl for openSUSE:Factory checked in at 2024-10-06 17:51:39
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-pycurl (Old)
and /work/SRC/openSUSE:Factory/.python-pycurl.new.19354 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-pycurl"
Sun Oct 6 17:51:39 2024 rev:48 rq:1205723 version:7.45.3
Changes:
--------
--- /work/SRC/openSUSE:Factory/python-pycurl/python-pycurl.changes 2024-09-25 21:52:44.338903486 +0200
+++ /work/SRC/openSUSE:Factory/.python-pycurl.new.19354/python-pycurl.changes 2024-10-06 17:51:48.108680618 +0200
@@ -1,0 +2,7 @@
+Fri Oct 4 14:25:56 UTC 2024 - Matej Cepl <mcepl(a)cepl.eu>
+
+- Switching off test_multi_ tests, they are just too
+ unrealiable. When running the test cycle in cycle I have never
+ managed to make it pass ten times without this change.
+
+-------------------------------------------------------------------
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ python-pycurl.spec ++++++
--- /var/tmp/diff_new_pack.FRMIK2/_old 2024-10-06 17:51:49.936756586 +0200
+++ /var/tmp/diff_new_pack.FRMIK2/_new 2024-10-06 17:51:49.936756586 +0200
@@ -127,6 +127,8 @@
dont_test+="or test_multi_socket_select "
# test_multi_socket_action gh#pycurl/pycurl#729
dont_test+="or test_multi_socket_action "
+# just get rid of all test_multi tests
+dont_test+="or test_multi_ "
# test_request_with_verifypeer for gh#pycurl/pycurl#822
dont_test+="or test_request_with_verifypeer "
%pytest_arch -s -k "not ($test_flags $dont_test)"
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package kiwi-templates-Minimal for openSUSE:Factory checked in at 2024-10-06 17:51:38
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/kiwi-templates-Minimal (Old)
and /work/SRC/openSUSE:Factory/.kiwi-templates-Minimal.new.19354 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "kiwi-templates-Minimal"
Sun Oct 6 17:51:38 2024 rev:22 rq:1205713 version:84.87.1
Changes:
--------
--- /work/SRC/openSUSE:Factory/kiwi-templates-Minimal/kiwi-templates-Minimal.changes 2024-10-02 21:33:26.962543418 +0200
+++ /work/SRC/openSUSE:Factory/.kiwi-templates-Minimal.new.19354/kiwi-templates-Minimal.changes 2024-10-06 17:51:47.148640723 +0200
@@ -1,0 +2,6 @@
+Thu Oct 3 09:42:47 UTC 2024 - Alberto Planas Dominguez <aplanas(a)suse.com>
+
+- Move /etc/sysconfig/bootloader creation to disk.sh, as KIWI can
+ replace the one generated in config.sh (bsc#1231271)
+
+-------------------------------------------------------------------
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
kiwi-templates-Minimal.spec: same change
++++++ config.sh ++++++
--- /var/tmp/diff_new_pack.MQvn6d/_old 2024-10-06 17:51:47.784667154 +0200
+++ /var/tmp/diff_new_pack.MQvn6d/_new 2024-10-06 17:51:47.788667320 +0200
@@ -144,10 +144,6 @@
echo "rw quiet systemd.show_status=1 console=ttyS0,115200 console=tty0" > /etc/kernel/cmdline
- rpm -q systemd-boot && loader_type="systemd-boot"
- rpm -q grub2 && loader_type="grub2-bls"
- echo "LOADER_TYPE=\"${loader_type}\"" >> /etc/sysconfig/bootloader
-
[ -e /var/lib/YaST2/reconfig_system ] && systemctl enable disk-encryption-tool-enroll.service
fi
++++++ disk.sh ++++++
--- /var/tmp/diff_new_pack.MQvn6d/_old 2024-10-06 17:51:47.808668151 +0200
+++ /var/tmp/diff_new_pack.MQvn6d/_new 2024-10-06 17:51:47.812668318 +0200
@@ -14,7 +14,15 @@
esac
echo "install boot loader"
+ loader_type="grub2-bls"
+ rpm -q systemd-boot && loader_type="systemd-boot"
+ if [ -f /etc/sysconfig/bootloader ]; then
+ sed -i "s/^LOADER_TYPE=.*$/LOADER_TYPE=\"$loader_type\"/g" /etc/sysconfig/bootloader
+ else
+ echo "LOADER_TYPE=\"${loader_type}\"" > /etc/sysconfig/bootloader
+ fi
sdbootutil -v --no-random-seed --arch "$arch" --esp-path /boot/efi --entry-token=auto --no-variables install
+
echo "add kernels"
export hostonly_l=no # for dracut
sdbootutil -v --arch "$arch" --esp-path /boot/efi --entry-token=auto add-all-kernels
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package openSUSE-MicroOS for openSUSE:Factory checked in at 2024-10-06 17:51:37
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/openSUSE-MicroOS (Old)
and /work/SRC/openSUSE:Factory/.openSUSE-MicroOS.new.19354 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "openSUSE-MicroOS"
Sun Oct 6 17:51:37 2024 rev:81 rq:1205711 version:16.0.0
Changes:
--------
--- /work/SRC/openSUSE:Factory/openSUSE-MicroOS/openSUSE-MicroOS.changes 2024-10-02 21:33:24.190428172 +0200
+++ /work/SRC/openSUSE:Factory/.openSUSE-MicroOS.new.19354/openSUSE-MicroOS.changes 2024-10-06 17:51:45.784584038 +0200
@@ -1,0 +2,6 @@
+Thu Oct 3 09:42:47 UTC 2024 - Alberto Planas Dominguez <aplanas(a)suse.com>
+
+- Move /etc/sysconfig/bootloader creation to disk.sh, as KIWI can
+ replace the one generated in config.sh (bsc#1231271)
+
+-------------------------------------------------------------------
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ config.sh ++++++
--- /var/tmp/diff_new_pack.UwWv19/_old 2024-10-06 17:51:46.348607476 +0200
+++ /var/tmp/diff_new_pack.UwWv19/_new 2024-10-06 17:51:46.352607643 +0200
@@ -273,10 +273,6 @@
echo "${cmdline[*]}" > /etc/kernel/cmdline
- rpm -q systemd-boot && loader_type="systemd-boot"
- rpm -q grub2 && loader_type="grub2-bls"
- echo "LOADER_TYPE=\"${loader_type}\"" >> /etc/sysconfig/bootloader
-
[ -e /var/lib/YaST2/reconfig_system ] && systemctl enable disk-encryption-tool-enroll.service
fi
++++++ disk.sh ++++++
--- /var/tmp/diff_new_pack.UwWv19/_old 2024-10-06 17:51:46.372608474 +0200
+++ /var/tmp/diff_new_pack.UwWv19/_new 2024-10-06 17:51:46.372608474 +0200
@@ -14,7 +14,15 @@
esac
echo "install boot loader"
+ loader_type="grub2-bls"
+ rpm -q systemd-boot && loader_type="systemd-boot"
+ if [ -f /etc/sysconfig/bootloader ]; then
+ sed -i "s/^LOADER_TYPE=.*$/LOADER_TYPE=\"$loader_type\"/g" /etc/sysconfig/bootloader
+ else
+ echo "LOADER_TYPE=\"${loader_type}\"" > /etc/sysconfig/bootloader
+ fi
sdbootutil -v --no-random-seed --arch "$arch" --esp-path /boot/efi --entry-token=auto --no-variables install
+
echo "add kernels"
export hostonly_l=no # for dracut
sdbootutil -v --arch "$arch" --esp-path /boot/efi --entry-token=auto add-all-kernels
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package MozillaFirefox for openSUSE:Factory checked in at 2024-10-06 17:51:24
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/MozillaFirefox (Old)
and /work/SRC/openSUSE:Factory/.MozillaFirefox.new.19354 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "MozillaFirefox"
Sun Oct 6 17:51:24 2024 rev:438 rq:1205704 version:131.0
Changes:
--------
--- /work/SRC/openSUSE:Factory/MozillaFirefox/MozillaFirefox.changes 2024-09-22 11:05:24.467084579 +0200
+++ /work/SRC/openSUSE:Factory/.MozillaFirefox.new.19354/MozillaFirefox.changes 2024-10-06 17:51:31.603994746 +0200
@@ -0,0 +1,45 @@
+-------------------------------------------------------------------
+Sun Sep 29 10:38:36 UTC 2024 - Wolfgang Rosenauer <wr(a)rosenauer.org>
+
+- Firefox 131.0
+ https://www.mozilla.org/en-US/firefox/131.0/releasenotes/
+ MFSA 2024-46 (bsc#1230979)
+ * CVE-2024-9391 (bmo#1892407)
+ Prevent users from exiting full-screen mode in Firefox Focus
+ for Android
+ * CVE-2024-9392 (bmo#1899154, bmo#1905843)
+ Compromised content process can bypass site isolation
+ * CVE-2024-9393 (bmo#1918301)
+ Cross-origin access to PDF contents through multipart responses
+ * CVE-2024-9394 (bmo#1918874)
+ Cross-origin access to JSON contents through multipart responses
+ * CVE-2024-9395 (bmo#1906024)
+ Specially crafted filename could be used to obscure download type
+ * CVE-2024-9396 (bmo#1912471)
+ Potential memory corruption may occur when cloning certain objects
+ * CVE-2024-9397 (bmo#1916659)
+ Potential directory upload bypass via clickjacking
+ * CVE-2024-9398 (bmo#1881037)
+ External protocol handlers could be enumerated via popups
+ * CVE-2024-9399 (bmo#1907726)
+ Specially crafted WebTransport requests could lead to denial
+ of service
+ * CVE-2024-9400 (bmo#1915249)
+ Potential memory corruption during JIT compilation
+ * CVE-2024-9401 (bmo#1872744, bmo#1897792, bmo#1911317, bmo#1916476)
+ Memory safety bugs fixed in Firefox 131, Firefox ESR 115.16,
+ Firefox ESR 128.3, Thunderbird 131, and Thunderbird 128.3
+ * CVE-2024-9402 (bmo#1872744, bmo#1897792, bmo#1911317, bmo#1913445,
+ bmo#1914106, bmo#1914475, bmo#1914963, bmo#1915008, bmo#1916476)
+ Memory safety bugs fixed in Firefox 131, Firefox ESR 128.3,
+ Thunderbird 131, and Thunderbird 128.3
+ * CVE-2024-9403 (bmo#1917807)
+ Memory safety bugs fixed in Firefox 131 and Thunderbird 131
+- requires NSS 3.104
+- rebased patches
+
+------------------------------------------------------------------
+Sat Sep 21 08:14:29 UTC 2024 - Manfred Hollstein <manfred.h(a)gmx.net>
+
+- Don't use clang18-devel on Leap as they don't have that version.
+
Old:
----
firefox-130.0.1.source.tar.xz
firefox-130.0.1.source.tar.xz.asc
l10n-130.0.1.tar.xz
New:
----
firefox-131.0.source.tar.xz
firefox-131.0.source.tar.xz.asc
l10n-131.0.tar.xz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ MozillaFirefox.spec ++++++
--- /var/tmp/diff_new_pack.FA7Mqg/_old 2024-10-06 17:51:44.520531508 +0200
+++ /var/tmp/diff_new_pack.FA7Mqg/_new 2024-10-06 17:51:44.520531508 +0200
@@ -28,9 +28,9 @@
# orig_suffix b3
# major 69
# mainver %%major.99
-%define major 130
-%define mainver %major.0.1
-%define orig_version 130.0.1
+%define major 131
+%define mainver %major.0
+%define orig_version 131.0
%define orig_suffix %{nil}
%define update_channel release
%define branding 1
@@ -114,7 +114,7 @@
BuildRequires: libproxy-devel
BuildRequires: makeinfo
BuildRequires: mozilla-nspr-devel >= 4.35
-BuildRequires: mozilla-nss-devel >= 3.103
+BuildRequires: mozilla-nss-devel >= 3.104
BuildRequires: nasm >= 2.14
BuildRequires: nodejs >= 12.22.12
%if 0%{?sle_version} >= 120000 && 0%{?sle_version} < 150000
@@ -149,7 +149,11 @@
%if 0%{?suse_version} < 1550
BuildRequires: pkgconfig(gconf-2.0) >= 1.2.1
%endif
+%if 0%{?suse_version} < 1599
+BuildRequires: clang15-devel
+%else
BuildRequires: clang18-devel
+%endif
BuildRequires: pkgconfig(glib-2.0) >= 2.22
BuildRequires: pkgconfig(gobject-2.0)
BuildRequires: pkgconfig(gtk+-3.0) >= 3.14.0
++++++ firefox-130.0.1.source.tar.xz -> firefox-131.0.source.tar.xz ++++++
/work/SRC/openSUSE:Factory/MozillaFirefox/firefox-130.0.1.source.tar.xz /work/SRC/openSUSE:Factory/.MozillaFirefox.new.19354/firefox-131.0.source.tar.xz differ: char 16, line 1
++++++ l10n-130.0.1.tar.xz -> l10n-131.0.tar.xz ++++++
/work/SRC/openSUSE:Factory/MozillaFirefox/l10n-130.0.1.tar.xz /work/SRC/openSUSE:Factory/.MozillaFirefox.new.19354/l10n-131.0.tar.xz differ: char 15, line 1
++++++ mozilla-bmo1504834-part1.patch ++++++
--- /var/tmp/diff_new_pack.FA7Mqg/_old 2024-10-06 17:51:44.800543145 +0200
+++ /var/tmp/diff_new_pack.FA7Mqg/_new 2024-10-06 17:51:44.804543311 +0200
@@ -1,11 +1,11 @@
# HG changeset patch
-# Parent 125a78208d2cef58191a0328ffe894dd14c6b146
+# Parent e31f5228a09ed69d7ac3c84e54f0faa6a5910ae0
Taken from https://bugzilla.mozilla.org/show_bug.cgi?id=1504834
diff --git a/gfx/2d/DrawTargetSkia.cpp b/gfx/2d/DrawTargetSkia.cpp
--- a/gfx/2d/DrawTargetSkia.cpp
+++ b/gfx/2d/DrawTargetSkia.cpp
-@@ -151,17 +151,18 @@ static IntRect CalculateSurfaceBounds(co
+@@ -155,17 +155,18 @@ static IntRect CalculateSurfaceBounds(co
if (!sampledBounds.ToIntRect(&bounds)) {
return surfaceBounds;
}
@@ -28,8 +28,8 @@
diff --git a/gfx/2d/Types.h b/gfx/2d/Types.h
--- a/gfx/2d/Types.h
+++ b/gfx/2d/Types.h
-@@ -84,28 +84,21 @@ enum class SurfaceFormat : int8_t {
- YUV422, // Single plane YUV 4:2:2 interleaved as Y`0 Cb Y`1 Cr.
+@@ -94,28 +94,21 @@ enum class SurfaceFormat : int8_t {
+ // this format.
HSV,
Lab,
Depth,
++++++ mozilla-silence-no-return-type.patch ++++++
--- /var/tmp/diff_new_pack.FA7Mqg/_old 2024-10-06 17:51:44.868545971 +0200
+++ /var/tmp/diff_new_pack.FA7Mqg/_new 2024-10-06 17:51:44.872546137 +0200
@@ -1,5 +1,5 @@
# HG changeset patch
-# Parent 1bc018c4fee525f3a9dfafdb9550e53b6d82fd65
+# Parent 104c34af9ec233f7cd5e8dc955ba7ee763f47a21
diff --git a/gfx/skia/skia/include/codec/SkEncodedOrigin.h b/gfx/skia/skia/include/codec/SkEncodedOrigin.h
--- a/gfx/skia/skia/include/codec/SkEncodedOrigin.h
@@ -363,7 +363,7 @@
diff --git a/js/src/irregexp/imported/regexp-parser.cc b/js/src/irregexp/imported/regexp-parser.cc
--- a/js/src/irregexp/imported/regexp-parser.cc
+++ b/js/src/irregexp/imported/regexp-parser.cc
-@@ -2776,16 +2776,17 @@ bool MayContainStrings(ClassSetOperandTy
+@@ -2780,16 +2780,17 @@ bool MayContainStrings(ClassSetOperandTy
return false;
case ClassSetOperandType::kCharacterClassEscape:
case ClassSetOperandType::kClassStringDisjunction:
@@ -627,7 +627,7 @@
diff --git a/third_party/libwebrtc/media/base/codec.cc b/third_party/libwebrtc/media/base/codec.cc
--- a/third_party/libwebrtc/media/base/codec.cc
+++ b/third_party/libwebrtc/media/base/codec.cc
-@@ -257,16 +257,17 @@ bool Codec::Matches(const Codec& codec)
+@@ -267,16 +267,17 @@ bool Codec::Matches(const Codec& codec)
(codec.bitrate == 0 || bitrate <= 0 ||
bitrate == codec.bitrate) &&
((codec.channels < 2 && channels < 2) ||
@@ -787,7 +787,7 @@
diff --git a/third_party/libwebrtc/modules/congestion_controller/goog_cc/goog_cc_network_control.cc b/third_party/libwebrtc/modules/congestion_controller/goog_cc/goog_cc_network_control.cc
--- a/third_party/libwebrtc/modules/congestion_controller/goog_cc/goog_cc_network_control.cc
+++ b/third_party/libwebrtc/modules/congestion_controller/goog_cc/goog_cc_network_control.cc
-@@ -82,16 +82,18 @@ BandwidthLimitedCause GetBandwidthLimite
+@@ -81,16 +81,18 @@ BandwidthLimitedCause GetBandwidthLimite
// Probes may not be sent in this state.
return BandwidthLimitedCause::kLossLimitedBwe;
case LossBasedState::kIncreasing:
@@ -804,8 +804,8 @@
GoogCcNetworkController::GoogCcNetworkController(NetworkControllerConfig config,
GoogCcConfig goog_cc_config)
- : key_value_config_(config.key_value_config ? config.key_value_config
- : &trial_based_config_),
+ : env_(config.env),
+ packet_feedback_only_(goog_cc_config.feedback_only),
diff --git a/third_party/libwebrtc/modules/desktop_capture/linux/wayland/screencast_portal.cc b/third_party/libwebrtc/modules/desktop_capture/linux/wayland/screencast_portal.cc
--- a/third_party/libwebrtc/modules/desktop_capture/linux/wayland/screencast_portal.cc
+++ b/third_party/libwebrtc/modules/desktop_capture/linux/wayland/screencast_portal.cc
@@ -830,7 +830,7 @@
diff --git a/third_party/libwebrtc/modules/pacing/bitrate_prober.cc b/third_party/libwebrtc/modules/pacing/bitrate_prober.cc
--- a/third_party/libwebrtc/modules/pacing/bitrate_prober.cc
+++ b/third_party/libwebrtc/modules/pacing/bitrate_prober.cc
-@@ -79,16 +79,17 @@ bool BitrateProber::ReadyToSetActiveStat
+@@ -80,16 +80,17 @@ bool BitrateProber::ReadyToSetActiveStat
return true;
}
// If config_.min_packet_size > 0, a "large enough" packet must be
++++++ tar_stamps ++++++
--- /var/tmp/diff_new_pack.FA7Mqg/_old 2024-10-06 17:51:44.940548963 +0200
+++ /var/tmp/diff_new_pack.FA7Mqg/_new 2024-10-06 17:51:44.944549129 +0200
@@ -1,11 +1,11 @@
PRODUCT="firefox"
CHANNEL="release"
-VERSION="130.0.1"
+VERSION="131.0"
VERSION_SUFFIX=""
-PREV_VERSION="130.0"
+PREV_VERSION="130.0.1"
PREV_VERSION_SUFFIX=""
#SKIP_LOCALES="" # Uncomment to skip l10n and compare-locales-generation
RELEASE_REPO="https://hg.mozilla.org/releases/mozilla-release"
-RELEASE_TAG="2f6d80ae5a069caeed2c79987422bfae1d8facc3"
-RELEASE_TIMESTAMP="20240913135723"
+RELEASE_TAG="61268a890b3c86ab4f5cfd7c6e1e3d14cc68f0b6"
+RELEASE_TIMESTAMP="20240923135042"
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package sdbootutil for openSUSE:Factory checked in at 2024-10-06 17:51:23
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/sdbootutil (Old)
and /work/SRC/openSUSE:Factory/.sdbootutil.new.19354 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "sdbootutil"
Sun Oct 6 17:51:23 2024 rev:34 rq:1205688 version:1+git20241004.a1bb60f
Changes:
--------
--- /work/SRC/openSUSE:Factory/sdbootutil/sdbootutil.changes 2024-10-02 21:33:25.074464924 +0200
+++ /work/SRC/openSUSE:Factory/.sdbootutil.new.19354/sdbootutil.changes 2024-10-06 17:51:30.539950529 +0200
@@ -1,0 +2,9 @@
+Fri Oct 04 11:49:32 UTC 2024 - aplanas(a)suse.com
+
+- Update to version 1+git20241004.a1bb60f:
+ * Support bootloader switch
+ * Update order after bootloader install
+ * Use /etc/sysconfig/bootloader to untie detection
+ * Reference to grub2-bls
+
+-------------------------------------------------------------------
Old:
----
sdbootutil-1+git20241002.7da4a47.obscpio
New:
----
sdbootutil-1+git20241004.a1bb60f.obscpio
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ sdbootutil.spec ++++++
--- /var/tmp/diff_new_pack.oul0yD/_old 2024-10-06 17:51:31.151975962 +0200
+++ /var/tmp/diff_new_pack.oul0yD/_new 2024-10-06 17:51:31.155976129 +0200
@@ -27,7 +27,7 @@
%define git_version %{nil}
%endif
Name: sdbootutil
-Version: 1+git20241002.7da4a47%{git_version}
+Version: 1+git20241004.a1bb60f%{git_version}
Release: 0
Summary: script to install shim with sd-boot
License: MIT
++++++ _servicedata ++++++
--- /var/tmp/diff_new_pack.oul0yD/_old 2024-10-06 17:51:31.199977958 +0200
+++ /var/tmp/diff_new_pack.oul0yD/_new 2024-10-06 17:51:31.203978123 +0200
@@ -3,6 +3,6 @@
<param name="url">https://github.com/lnussel/sdbootutil.git</param>
<param name="changesrevision">708592a5033bb41d14e378172466ae9e90dfb3c4</param></service><service name="tar_scm">
<param name="url">https://github.com/openSUSE/sdbootutil.git</param>
- <param name="changesrevision">7da4a479cf89b2d20e9cc81e15ba58cf32294735</param></service></servicedata>
+ <param name="changesrevision">a1bb60fc9a3b846f8abc0795871bd5162f77baa3</param></service></servicedata>
(No newline at EOF)
++++++ sdbootutil-1+git20241002.7da4a47.obscpio -> sdbootutil-1+git20241004.a1bb60f.obscpio ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/sdbootutil-1+git20241002.7da4a47/sdbootutil new/sdbootutil-1+git20241004.a1bb60f/sdbootutil
--- old/sdbootutil-1+git20241002.7da4a47/sdbootutil 2024-10-02 11:14:41.000000000 +0200
+++ new/sdbootutil-1+git20241004.a1bb60f/sdbootutil 2024-10-04 13:48:01.000000000 +0200
@@ -219,21 +219,27 @@
is_sdboot()
{
- # If systemd-boot and grub2 are co-installed, we favor grub2
- # in the detection
- local sdboot grub2
+ # LOADER_TYPE has preference, but is is not present and
+ # systemd-boot and grub2-bls are co-installed, we favor
+ # grub2-bls in the detection
+ [ -z "$LOADER_TYPE" ] || { [ "$LOADER_TYPE" = "systemd-boot" ]; return; }
+
+ local sdboot grub2_bls
sdboot="$(find_sdboot "${1-$root_snapshot}")"
- grub2="$(find_grub2 "${1-$root_snapshot}")"
- [ -e "$sdboot" ] && [ ! -e "$grub2" ]
+ grub2_bls="$(find_grub2_bls "${1-$root_snapshot}")"
+ [ -e "$sdboot" ] && [ ! -e "$grub2_bls" ]
}
-is_grub2()
+is_grub2_bls()
{
- # If systemd-boot and grub2 are co-installed, we favor grub2
- # in the detection
- local grub2
- grub2="$(find_grub2 "${1-$root_snapshot}")"
- [ -e "$grub2" ]
+ # LOADER_TYPE has preference, but is is not present and
+ # systemd-boot and grub2-bls are co-installed, we favor
+ # grub2-bls in the detection
+ [ -z "$LOADER_TYPE" ] || { [ "$LOADER_TYPE" = "grub2-bls" ]; return; }
+
+ local grub2_bls
+ grub2_bls="$(find_grub2_bls "${1-$root_snapshot}")"
+ [ -e "$grub2_bls" ]
}
reset_rollback()
@@ -400,7 +406,7 @@
local prefix=""
local subvol=""
[ -z "$have_snapshots" ] || subvol="${subvol_prefix}/.snapshots/${snapshot}/snapshot"
- if ! is_transactional && is_grub2; then
+ if ! is_transactional && is_grub2_bls; then
if ! subvol_is_ro "$subvol"; then
prefix="system"
else
@@ -1102,7 +1108,8 @@
local id
id="$(entry_conf_file "$kernel_version" "$snapshot")"
- local conf="$(find_conf_file "$kernel_version" "$snapshot")"
+ local conf
+ conf="$(find_conf_file "$kernel_version" "$snapshot")"
[ -f "$conf" ] || return 0
echo "Updating $id"
@@ -1398,22 +1405,22 @@
echo "$sdboot"
}
-find_grub2()
+find_grub2_bls()
{
- local grub2
+ local grub2_bls
# The old grub.efi will contain the BLS patches, but we cannot
# use it because we also dropped the process of creating the
# configuration file and installing bli.mod
- grub2="/usr/share/grub2/$(uname -m)-efi/grubbls.efi"
- echo "$grub2"
+ grub2_bls="/usr/share/grub2/$(uname -m)-efi/grubbls.efi"
+ echo "$grub2_bls"
}
find_bootloader()
{
if is_sdboot "${1-$root_snapshot}"; then
find_sdboot "${1-$root_snapshot}"
- elif is_grub2 "${1-$root_snapshot}"; then
- find_grub2 "${1-$root_snapshot}"
+ elif is_grub2_bls "${1-$root_snapshot}"; then
+ find_grub2_bls "${1-$root_snapshot}"
else
err "Bootloader not detected"
fi
@@ -1499,7 +1506,22 @@
fi
# Create boot menu entry if it does not exist
- [ -n "$arg_no_variables" ] || [ -n "$arg_portable" ] || efibootmgr | grep -q 'Boot.*openSUSE Boot Manager' || efibootmgr -q --create --disk "$drive" --part "$partno" --label "openSUSE Boot Manager" --loader "$entry" || true
+ local escaped_entry="${entry//\//\\\\}"
+ [ -n "$arg_no_variables" ] || [ -n "$arg_portable" ] || efibootmgr | grep -q "Boot.*openSUSE Boot Manager.*${escaped_entry}" || efibootmgr -q --create --disk "$drive" --part "$partno" --label "openSUSE Boot Manager ($bldr_name)" --loader "$entry" || true
+
+ # Make it the first option
+ if [ -z "$arg_no_variables" ] && [ -z "$arg_portable" ]; then
+ local boot_order
+ boot_order="$(efibootmgr | grep BootOrder)"
+ boot_order="${boot_order#BootOrder: }"
+
+ local boot_entry
+ boot_entry="$(efibootmgr | grep "Boot.*openSUSE Boot Manager.*${escaped_entry}")"
+ boot_entry="${boot_entry%\* *}"
+ boot_entry="${boot_entry#Boot}"
+
+ efibootmgr -q -D -o "$boot_entry,$boot_order" || true
+ fi
# This action will require to update the PCR predictions
update_predictions=1
@@ -1716,7 +1738,7 @@
rm "$tmpdir/cmdline.utf16"
}
-pcrlock_grub2_kernel_initrd()
+pcrlock_grub2_bls_kernel_initrd()
{
local linux="$1"
local initrd="$2"
@@ -1736,11 +1758,11 @@
done
jq --slurp '{"records": [.[].records[0]]}' \
"${locks[@]}" \
- > "/var/lib/pcrlock.d/710-grub2-kernel-initrd-entry.pcrlock.d/kernel-initrd-$suffix.pcrlock"
+ > "/var/lib/pcrlock.d/710-grub2-bls-kernel-initrd-entry.pcrlock.d/kernel-initrd-$suffix.pcrlock"
rm "${locks[@]}"
}
-pcrlock_grub2_cmdline()
+pcrlock_grub2_bls_cmdline()
{
local linux="$1"
local cmdline="$2"
@@ -1763,11 +1785,11 @@
done
jq --slurp '{"records": [.[].records[0]]}' \
"${locks[@]}" \
- > "/var/lib/pcrlock.d/650-grub2-entry-cmdline.pcrlock.d/cmdline-$suffix.pcrlock"
+ > "/var/lib/pcrlock.d/650-grub2-bls-entry-cmdline.pcrlock.d/cmdline-$suffix.pcrlock"
rm "${locks[@]}"
}
-pcrlock_grub2_entry_files()
+pcrlock_grub2_bls_entry_files()
{
local entries="${1:-$entryfile}"
local suffix="${2:+-$2}"
@@ -1790,7 +1812,7 @@
jq --slurp '{"records": [.[].records[0]]}' \
"${locks[@]}" \
- > "/var/lib/pcrlock.d/643-grub2-entry-files.pcrlock.d/generated$suffix.pcrlock"
+ > "/var/lib/pcrlock.d/643-grub2-bls-entry-files.pcrlock.d/generated$suffix.pcrlock"
rm "${locks[@]}"
}
@@ -1840,14 +1862,14 @@
fi
}
-pcrlock_grub2()
+pcrlock_grub2_bls()
{
- # 643-grub2-entry-files.pcrlock is not part of the pcrlock
+ # 643-grub2-bls-entry-files.pcrlock is not part of the pcrlock
# standards
- mkdir -p /var/lib/pcrlock.d/643-grub2-entry-files.pcrlock.d
- pcrlock_grub2_entry_files
+ mkdir -p /var/lib/pcrlock.d/643-grub2-bls-entry-files.pcrlock.d
+ pcrlock_grub2_bls_entry_files
if [ "$SDB_ADD_INITIAL_COMPONENT" = "1" ]; then
- pcrlock_grub2_entry_files "$initialentryfile" "0" "$tmpdir"
+ pcrlock_grub2_bls_entry_files "$initialentryfile" "0" "$tmpdir"
fi
blkpart="$(findmnt -nvo SOURCE "$boot_root")"
@@ -1855,21 +1877,21 @@
# Once we are out of the BIOS / EFI, the numeration cannot be
# done without device.map. It is safe to assume that the ESP
# is always the first disk (hd0)
- grub_drive="(hd0,gpt$partno)"
+ grub2_bls_drive="(hd0,gpt$partno)"
# Join linux, initrd and cmdline in a single pcrlock file
- mkdir -p /var/lib/pcrlock.d/650-grub2-entry-cmdline.pcrlock.d
+ mkdir -p /var/lib/pcrlock.d/650-grub2-bls-entry-cmdline.pcrlock.d
n=0
while read -r options; do
read -r kernel
read -r initrd
n=$((n+1))
- pcrlock_grub2_cmdline "linux ${grub_drive}$kernel $options" \
- "${grub_drive}$kernel $options" \
- "initrd ${grub_drive}$initrd" "$n"
+ pcrlock_grub2_bls_cmdline "linux ${grub2_bls_drive}$kernel $options" \
+ "${grub2_bls_drive}$kernel $options" \
+ "initrd ${grub2_bls_drive}$initrd" "$n"
done < <(jq --raw-output '.[] | .options, .linux, .initrd[0]' "$entryfile")
- # Generate variation for 650-grub2-entry-cmdline component
+ # Generate variation for 650-grub2-bls-entry-cmdline component
# that contains the current cmdline and the current initrd,
# even if this will never be used again. This is required
# because disk-encryption-tool generates a new initrd during
@@ -1879,27 +1901,27 @@
while read -r options; do
read -r kernel
read -r initrd
- pcrlock_grub2_cmdline "linux ${grub_drive}$kernel $options" \
- "${grub_drive}$kernel $options" \
- "initrd ${grub_drive}$initrd" "0"
+ pcrlock_grub2_bls_cmdline "linux ${grub2_bls_drive}$kernel $options" \
+ "${grub2_bls_drive}$kernel $options" \
+ "initrd ${grub2_bls_drive}$initrd" "0"
done < <(jq --raw-output '.[] | .options, .linux, .initrd[0]' "$initialentryfile")
fi
# Join the kernel and the initrd in a single component
- mkdir -p /var/lib/pcrlock.d/710-grub2-kernel-initrd-entry.pcrlock.d
+ mkdir -p /var/lib/pcrlock.d/710-grub2-bls-kernel-initrd-entry.pcrlock.d
n=0
while read -r kernel; do
read -r initrd
n=$((n+1))
- pcrlock_grub2_kernel_initrd "$boot_root$kernel" "$boot_root$initrd" "$n"
+ pcrlock_grub2_bls_kernel_initrd "$boot_root$kernel" "$boot_root$initrd" "$n"
done < <(jq --raw-output '.[] | .linux, .initrd[0]' "$entryfile")
- # Generate variation for 710-grub2-kernel-initrd-entry for the
+ # Generate variation for 710-grub2-bls-kernel-initrd-entry for the
# same reason than before.
if [ "$SDB_ADD_INITIAL_COMPONENT" = "1" ]; then
while read -r kernel; do
read -r initrd
- pcrlock_grub2_kernel_initrd "$tmpdir$kernel" "$tmpdir$initrd" "0"
+ pcrlock_grub2_bls_kernel_initrd "$tmpdir$kernel" "$tmpdir$initrd" "0"
done < <(jq --raw-output '.[] | .linux, .initrd[0]' "$initialentryfile")
fi
}
@@ -1952,7 +1974,7 @@
# 640-boot-loader-efi-application is not part of the pcrlock
# standards
- # This is measuing the systemd-boot EFI binary (named grub.efi)
+ # This is measuring the systemd-boot EFI binary (named grub.efi)
# TODO: move to systemd-boot-pcrlock.rpm
pcrlock \
lock-pe \
@@ -1961,8 +1983,8 @@
if is_sdboot; then
pcrlock_sdboot
- elif is_grub2; then
- pcrlock_grub2
+ elif is_grub2_bls; then
+ pcrlock_grub2_bls
fi
# If the prediction fails, the system will ask for a password,
@@ -2356,7 +2378,7 @@
if [ -z "${FDE_SEAL_PCR_LIST}" ]; then
if is_sdboot; then
FDE_SEAL_PCR_LIST="0,2,4,7,9"
- elif is_grub2; then
+ elif is_grub2_bls; then
FDE_SEAL_PCR_LIST="0,2,4,7,8,9"
else
err "Bootloader not detected"
@@ -2502,8 +2524,8 @@
{
if is_sdboot "${1-$root_snapshot}"; then
echo "systemd-boot"
- elif is_grub2 "${1-$root_snapshot}"; then
- echo "grub2"
+ elif is_grub2_bls "${1-$root_snapshot}"; then
+ echo "grub2-bls"
else
err "Bootloader not detected"
fi
@@ -2612,6 +2634,8 @@
*) err "Unsupported architecture $firmware_arch" ;;
esac
+[ -e /etc/sysconfig/bootloader ] && . /etc/sysconfig/bootloader
+
# XXX: Unify both in /EFI/opensuse?
if [ -n "$arg_portable" ]; then
if [ ! -d "$boot_root/EFI/systemd" ] && [ ! -d "$boot_root/EFI/opensuse" ]; then
@@ -2621,7 +2645,7 @@
fi
elif is_sdboot; then
boot_dst="/EFI/systemd"
-elif is_grub2; then
+elif is_grub2_bls; then
boot_dst="/EFI/opensuse"
else
err "Bootloader not detected"
++++++ sdbootutil.obsinfo ++++++
--- /var/tmp/diff_new_pack.oul0yD/_old 2024-10-06 17:51:31.319982944 +0200
+++ /var/tmp/diff_new_pack.oul0yD/_new 2024-10-06 17:51:31.323983111 +0200
@@ -1,5 +1,5 @@
name: sdbootutil
-version: 1+git20241002.7da4a47
-mtime: 1727860481
-commit: 7da4a479cf89b2d20e9cc81e15ba58cf32294735
+version: 1+git20241004.a1bb60f
+mtime: 1728042481
+commit: a1bb60fc9a3b846f8abc0795871bd5162f77baa3
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package python-rfc3987 for openSUSE:Factory checked in at 2024-10-06 17:51:19
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-rfc3987 (Old)
and /work/SRC/openSUSE:Factory/.python-rfc3987.new.19354 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-rfc3987"
Sun Oct 6 17:51:19 2024 rev:6 rq:1205608 version:1.3.8
Changes:
--------
--- /work/SRC/openSUSE:Factory/python-rfc3987/python-rfc3987.changes 2023-04-22 21:59:30.764876496 +0200
+++ /work/SRC/openSUSE:Factory/.python-rfc3987.new.19354/python-rfc3987.changes 2024-10-06 17:51:25.491740745 +0200
@@ -1,0 +2,7 @@
+Fri Oct 4 01:09:15 UTC 2024 - Steve Kowalik <steven.kowalik(a)suse.com>
+
+- Switch to pyproject macros.
+- No more greedy globs in %files.
+- Update URL.
+
+-------------------------------------------------------------------
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ python-rfc3987.spec ++++++
--- /var/tmp/diff_new_pack.pP1UDN/_old 2024-10-06 17:51:26.039763519 +0200
+++ /var/tmp/diff_new_pack.pP1UDN/_new 2024-10-06 17:51:26.039763519 +0200
@@ -1,7 +1,7 @@
#
# spec file for package python-rfc3987
#
-# Copyright (c) 2023 SUSE LLC
+# Copyright (c) 2024 SUSE LLC
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@@ -16,18 +16,18 @@
#
-%{?!python_module:%define python_module() python-%{**} python3-%{**}}
%{?sle15_python_module_pythons}
Name: python-rfc3987
Version: 1.3.8
Release: 0
Summary: Module for parsing and validation of URIs (RFC 3986) and IRIs (RFC 3987)
License: GPL-3.0-or-later
-Group: Development/Languages/Python
-URL: https://github.com/dgerber/rfc3987
+URL: https://codeberg.org/atufi/rfc3987
Source: https://files.pythonhosted.org/packages/source/r/rfc3987/rfc3987-%{version}…
+BuildRequires: %{python_module pip}
BuildRequires: %{python_module pytest}
BuildRequires: %{python_module setuptools}
+BuildRequires: %{python_module wheel}
BuildRequires: fdupes
BuildRequires: python-rpm-macros
BuildArch: noarch
@@ -45,10 +45,10 @@
sed -i '1{/^#!/d}' rfc3987.py
%build
-%python_build
+%pyproject_wheel
%install
-%python_install
+%pyproject_install
%python_expand %fdupes %{buildroot}%{$python_sitelib}
%check
@@ -57,5 +57,7 @@
%files %{python_files}
%license COPYING.txt
%doc README.txt
-%{python_sitelib}/*
+%{python_sitelib}/rfc3987.py
+%pycache_only %{python_sitelib}/__pycache__/rfc3987.*.pyc
+%{python_sitelib}/rfc3987-%{version}.dist-info
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package virtiofsd for openSUSE:Factory checked in at 2024-10-06 17:51:15
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/virtiofsd (Old)
and /work/SRC/openSUSE:Factory/.virtiofsd.new.19354 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "virtiofsd"
Sun Oct 6 17:51:15 2024 rev:9 rq:1205585 version:1.11.1
Changes:
--------
--- /work/SRC/openSUSE:Factory/virtiofsd/virtiofsd.changes 2024-08-10 19:12:33.241626225 +0200
+++ /work/SRC/openSUSE:Factory/.virtiofsd.new.19354/virtiofsd.changes 2024-10-06 17:51:22.519617234 +0200
@@ -1,0 +2,7 @@
+Thu Oct 3 18:55:20 UTC 2024 - Caleb Crane <caleb.crane(a)suse.com>
+
+- Spec: Add direct dependency on cargo in addition to cargo-packaging.
+ This fixes build errors on 15SP7 where the inherited version of Rust
+ is too old
+
+-------------------------------------------------------------------
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ virtiofsd.spec ++++++
--- /var/tmp/diff_new_pack.IvlXvb/_old 2024-10-06 17:51:23.379652974 +0200
+++ /var/tmp/diff_new_pack.IvlXvb/_new 2024-10-06 17:51:23.383653141 +0200
@@ -32,6 +32,7 @@
Source0: %{name}-%{version}.tar.xz
Source1: vendor.tar.xz
Source2: 50-virtiofsd.json
+BuildRequires: cargo
BuildRequires: cargo-packaging
BuildRequires: libcap-ng-devel
BuildRequires: libseccomp-devel
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package kernel-source-longterm for openSUSE:Factory checked in at 2024-10-06 17:51:13
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/kernel-source-longterm (Old)
and /work/SRC/openSUSE:Factory/.kernel-source-longterm.new.19354 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "kernel-source-longterm"
Sun Oct 6 17:51:13 2024 rev:36 rq:1205797 version:6.6.54
Changes:
--------
--- /work/SRC/openSUSE:Factory/kernel-source-longterm/kernel-longterm.changes 2024-10-01 17:12:03.490327863 +0200
+++ /work/SRC/openSUSE:Factory/.kernel-source-longterm.new.19354/kernel-longterm.changes 2024-10-06 17:51:17.571411606 +0200
@@ -1,0 +2,950 @@
+Fri Oct 4 17:30:53 CEST 2024 - rfrohl(a)suse.com
+
+- Linux 6.6.54 (bsc#1218260).
+- Revert: "dm-verity: restart or panic on an I/O error"
+ (bsc#1218260).
+- spi: atmel-quadspi: Fix wrong register value written to MR
+ (bsc#1218260).
+- x86/tdx: Fix "in-kernel MMIO" check (bsc#1218260).
+- thunderbolt: Fix NULL pointer dereference in
+ tb_port_update_credits() (bsc#1218260).
+- thunderbolt: Fix minimum allocated USB 3.x and PCIe bandwidth
+ (bsc#1218260).
+- thunderbolt: Send uevent after asymmetric/symmetric switch
+ (bsc#1218260).
+- wifi: brcmfmac: add linefeed at end of file (bsc#1218260).
+- iio: magnetometer: ak8975: Fix 'Unexpected device' error
+ (bsc#1218260).
+- perf/arm-cmn: Fail DTC counter allocation correctly
+ (bsc#1218260).
+- usb: yurex: Fix inconsistent locking bug in yurex_read()
+ (bsc#1218260).
+- bpf: Fix use-after-free in bpf_uprobe_multi_link_attach()
+ (bsc#1218260).
+- Documentation: KVM: fix warning in "make htmldocs"
+ (bsc#1218260).
+- i2c: isch: Add missed 'else' (bsc#1218260).
+- i2c: aspeed: Update the stop sw state when the bus recovery
+ occurs (bsc#1218260).
+- mm/damon/vaddr: protect vma traversal in
+ __damon_va_thre_regions() with rcu read lock (bsc#1218260).
+- module: Fix KCOV-ignored file name (bsc#1218260).
+- spi: fspi: add support for imx8ulp (bsc#1218260).
+- mm: only enforce minimum stack gap size if it's sensible
+ (bsc#1218260).
+- lockdep: fix deadlock issue between lockdep and rcu
+ (bsc#1218260).
+- dm-verity: restart or panic on an I/O error (bsc#1218260).
+- bpf: lsm: Set bpf_lsm_blob_sizes.lbs_task to 0 (bsc#1218260).
+- mm/filemap: optimize filemap folio adding (bsc#1218260).
+- lib/xarray: introduce a new helper xas_get_order (bsc#1218260).
+- mm/filemap: return early if failed to allocate memory for split
+ (bsc#1218260).
+- thunderbolt: Improve DisplayPort tunnel setup process to be
+ more robust (bsc#1218260).
+- thunderbolt: Configure asymmetric link if needed and bandwidth
+ allows (bsc#1218260).
+- thunderbolt: Add support for asymmetric link (bsc#1218260).
+- thunderbolt: Introduce tb_switch_depth() (bsc#1218260).
+- thunderbolt: Introduce tb_for_each_upstream_port_on_path()
+ (bsc#1218260).
+- thunderbolt: Introduce tb_port_path_direction_downstream()
+ (bsc#1218260).
+- thunderbolt: Change bandwidth reservations to comply USB4 v2
+ (bsc#1218260).
+- thunderbolt: Make is_gen4_link() available to the rest of the
+ driver (bsc#1218260).
+- thunderbolt: Use weight constants in
+ tb_usb3_consumed_bandwidth() (bsc#1218260).
+- thunderbolt: Use constants for path weight and priority
+ (bsc#1218260).
+- thunderbolt: Create multiple DisplayPort tunnels if there are
+ more DP IN/OUT pairs (bsc#1218260).
+- thunderbolt: Expose tb_tunnel_xxx() log macros to the rest of
+ the driver (bsc#1218260).
+- thunderbolt: Use tb_tunnel_dbg() where possible to make logging
+ more consistent (bsc#1218260).
+- thunderbolt: Fix debug log when DisplayPort adapter not
+ available for pairing (bsc#1218260).
+- dt-bindings: spi: nxp-fspi: add imx8ulp support (bsc#1218260).
+- dt-bindings: spi: nxp-fspi: support i.MX93 and i.MX95
+ (bsc#1218260).
+- btrfs: fix race setting file private on concurrent lseek using
+ same fd (bsc#1218260).
+- btrfs: update comment for struct btrfs_inode::lock
+ (bsc#1218260).
+- btrfs: reorder btrfs_inode to fill gaps (bsc#1218260).
+- btrfs: subpage: fix the bitmap dump which can cause bitmap
+ corruption (bsc#1218260).
+- lib/bitmap: add bitmap_{read,write}() (bsc#1218260).
+- x86/entry: Remove unwanted instrumentation in common_interrupt()
+ (bsc#1218260).
+- x86/idtentry: Incorporate definitions/declarations of the FRED
+ entries (bsc#1218260).
+- serial: don't use uninitialized value in uart_poll_init()
+ (bsc#1218260).
+- tty: serial: kgdboc: Fix 8250_* kgdb over serial (bsc#1218260).
+- pps: add an error check in parport_attach (bsc#1218260).
+- pps: remove usage of the deprecated ida_simple_xx() API
+ (bsc#1218260).
+- usb: xhci: fix loss of data on Cadence xHC (bsc#1218260).
+- xhci: Add a quirk for writing ERST in high-low order
+ (bsc#1218260).
+- USB: misc: yurex: fix race between read and write (bsc#1218260).
+- usb: yurex: Replace snprintf() with the safer scnprintf()
+ variant (bsc#1218260).
+- soc: versatile: realview: fix soc_dev leak during device remove
+ (bsc#1218260).
+- soc: versatile: realview: fix memory leak during device remove
+ (bsc#1218260).
+- ARM: dts: imx6ul-geam: fix fsl,pins property in tscgrp pinctrl
+ (bsc#1218260).
+- spi: fspi: involve lut_num for struct nxp_fspi_devtype_data
+ (bsc#1218260).
+- padata: use integer wrap around to prevent deadlock on seq_nr
+ overflow (bsc#1218260).
+- cpuidle: riscv-sbi: Use scoped device node handling to fix
+ missing of_node_put (bsc#1218260).
+- icmp: change the order of rate limits (bsc#1218260).
+- EDAC/igen6: Fix conversion of system address to physical memory
+ address (bsc#1218260).
+- nfs: fix memory leak in error path of nfs4_do_reclaim
+ (bsc#1218260).
+- fs: Fix file_set_fowner LSM hook inconsistencies (bsc#1218260).
+- vfs: fix race between evice_inodes() and find_inode()&iput()
+ (bsc#1218260).
+- arm64: dts: rockchip: Correct the Pinebook Pro battery design
+ capacity (bsc#1218260).
+- arm64: dts: qcom: sa8775p: Mark APPS and PCIe SMMUs as DMA
+ coherent (bsc#1218260).
+- arm64: dts: rockchip: Raise Pinebook Pro's panel backlight
+ PWM frequency (bsc#1218260).
+- arm64: errata: Enable the AC03_CPU_38 workaround for ampere1a
+ (bsc#1218260).
+- arm64: esr: Define ESR_ELx_EC_* constants as UL (bsc#1218260).
+- hwrng: cctrng - Add missing clk_disable_unprepare in
+ cctrng_resume (bsc#1218260).
+- hwrng: bcm2835 - Add missing clk_disable_unprepare in
+ bcm2835_rng_init (bsc#1218260).
+- hwrng: mtk - Use devm_pm_runtime_enable (bsc#1218260).
+- f2fs: fix to check atomic_file in f2fs ioctl interfaces
+ (bsc#1218260).
+- f2fs: Require FMODE_WRITE for atomic write ioctls (bsc#1218260).
+- f2fs: avoid potential int overflow in
+ sanity_check_area_boundary() (bsc#1218260).
+- f2fs: prevent possible int overflow in dir_block_index()
+ (bsc#1218260).
+- f2fs: fix several potential integer overflows in file offsets
+ (bsc#1218260).
+- btrfs: always update fstrim_range on failure in FITRIM ioctl
+ (bsc#1218260).
+- btrfs: tree-checker: fix the wrong output of data backref
+ objectid (bsc#1218260).
+- debugobjects: Fix conditions in fill_pool() (bsc#1218260).
+- wifi: mt76: mt7615: check devm_kasprintf() returned value
+ (bsc#1218260).
+- wifi: rtw88: 8822c: Fix reported RX band width (bsc#1218260).
+- wifi: rtw88: 8821cu: Remove VID/PID 0bda:c82c (bsc#1218260).
+- wifi: mt76: mt7996: fix NULL pointer dereference in
+ mt7996_mcu_sta_bfer_he (bsc#1218260).
+- wifi: mt76: mt7915: check devm_kasprintf() returned value
+ (bsc#1218260).
+- wifi: mt76: mt7921: Check devm_kasprintf() returned value
+ (bsc#1218260).
+- perf/x86/intel/pt: Fix sampling synchronization (bsc#1218260).
+- efistub/tpm: Use ACPI reclaim memory for event log to avoid
+ corruption (bsc#1218260).
+- ACPI: resource: Add another DMI match for the TongFang GMxXGxx
+ (bsc#1218260).
+- ACPI: sysfs: validate return type of _STR method (bsc#1218260).
+- drbd: Add NULL check for net_conf to prevent dereference in
+ state validation (bsc#1218260).
+- drbd: Fix atomicity violation in drbd_uuid_set_bm()
+ (bsc#1218260).
+- crypto: ccp - Properly unregister /dev/sev on sev
+ PLATFORM_STATUS failure (bsc#1218260).
+- serial: qcom-geni: fix fifo polling timeout (bsc#1218260).
+- xhci: Set quirky xHC PCI hosts to D3 _after_ stopping and
+ freeing them (bsc#1218260).
+- tty: rp2: Fix reset with non forgiving PCIe host bridges
+ (bsc#1218260).
+- firmware_loader: Block path traversal (bsc#1218260).
+- bus: mhi: host: pci_generic: Fix the name for the Telit FE990A
+ (bsc#1218260).
+- bus: integrator-lm: fix OF node leak in probe() (bsc#1218260).
+- usb: dwc2: drd: fix clock gating on USB role switch
+ (bsc#1218260).
+- usb: cdnsp: Fix incorrect usb_request status (bsc#1218260).
+- USB: class: CDC-ACM: fix race between get_serial and set_serial
+ (bsc#1218260).
+- USB: misc: cypress_cy7c63: check for short transfer
+ (bsc#1218260).
+- USB: appledisplay: close race between probe and completion
+ handler (bsc#1218260).
+- arm64: dts: mediatek: mt8195-cherry: Mark USB 3.0 on xhci1 as
+ disabled (bsc#1218260).
+- usbnet: fix cyclical race on disconnect with work queue
+ (bsc#1218260).
+- wifi: rtw88: Fix USB/SDIO devices not transmitting beacons
+ (bsc#1218260).
+- can: esd_usb: Remove CAN_CTRLMODE_3_SAMPLES for CAN-USB/3-FD
+ (bsc#1218260).
+- scsi: mac_scsi: Disallow bus errors during PDMA send
+ (bsc#1218260).
+- scsi: mac_scsi: Refactor polling loop (bsc#1218260).
+- scsi: mac_scsi: Revise printk(KERN_DEBUG ...) messages
+ (bsc#1218260).
+- scsi: ufs: qcom: Update MODE_MAX cfg_bw value (bsc#1218260).
+- scsi: sd: Fix off-by-one error in
+ sd_read_block_characteristics() (bsc#1218260).
+- ata: libata-scsi: Fix ata_msense_control() CDL page reporting
+ (bsc#1218260).
+- ksmbd: handle caseless file creation (bsc#1218260).
+- ksmbd: allow write with FILE_APPEND_DATA (bsc#1218260).
+- ksmbd: make __dir_empty() compatible with POSIX (bsc#1218260).
+- fs: Create a generic is_dot_dotdot() utility (bsc#1218260).
+- powerpc/atomic: Use YZ constraints for DS-form instructions
+ (bsc#1218260).
+- KEYS: prevent NULL pointer dereference in find_asymmetric_key()
+ (bsc#1218260).
+- drm/amd/display: Validate backlight caps are sane (bsc#1218260).
+- drm/amd/display: Round calculated vtotal (bsc#1218260).
+- drm/amd/display: Add HDMI DSC native YCbCr422 support
+ (bsc#1218260).
+- drm/amd/display: Skip Recompute DSC Params if no Stream on Link
+ (bsc#1218260).
+- KVM: Use dedicated mutex to protect kvm_usage_count to avoid
+ deadlock (bsc#1218260).
+- KVM: x86: Move x2APIC ICR helper above kvm_apic_write_nodecode()
+ (bsc#1218260).
+- KVM: x86: Enforce x2APIC's must-be-zero reserved ICR bits
+ (bsc#1218260).
+- KVM: arm64: Add memory length checks and remove inline in
+ do_ffa_mem_xfer (bsc#1218260).
+- Input: i8042 - add another board name for TUXEDO Stellaris
+ Gen5 AMD line (bsc#1218260).
+- Input: i8042 - add TUXEDO Stellaris 15 Slim Gen6 AMD to i8042
+ quirk table (bsc#1218260).
+- Input: i8042 - add TUXEDO Stellaris 16 Gen5 AMD to i8042 quirk
+ table (bsc#1218260).
+- Input: adp5588-keys - fix check on return code (bsc#1218260).
+- iommufd: Protect against overflow of ALIGN() during iova
+ allocation (bsc#1218260).
+- Revert "media: tuners: fix error return code of
+ hybrid_tuner_request_state()" (bsc#1218260).
+- soc: versatile: integrator: fix OF node leak in probe() error
+ path (bsc#1218260).
+- soc: fsl: cpm1: tsa: Fix tsa_write8() (bsc#1218260).
+- ASoC: rt5682: Return devm_of_clk_add_hw_provider to transfer
+ the error (bsc#1218260).
+- Revert "soc: qcom: smd-rpm: Match rpmsg channel instead of
+ compatible" (bsc#1218260).
+- PCI: xilinx-nwl: Fix off-by-one in INTx IRQ handler
+ (bsc#1218260).
+- PCI: Use an error code with PCIe failed link retraining
+ (bsc#1218260).
+- PCI: Correct error reporting with PCIe failed link retraining
+ (bsc#1218260).
+- PCI: imx6: Fix missing call to phy_power_off() in error handling
+ (bsc#1218260).
+- PCI: dra7xx: Fix threaded IRQ request for "dra7xx-pcie-main"
+ IRQ (bsc#1218260).
+- PCI: Clear the LBMS bit after a link retrain (bsc#1218260).
+- PCI: Revert to the original speed after PCIe failed link
+ retraining (bsc#1218260).
+- Remove *.orig pattern from .gitignore (bsc#1218260).
+- io_uring/sqpoll: do not put cpumask on stack (bsc#1218260).
+- io_uring/sqpoll: retain test for whether the CPU is valid
+ (bsc#1218260).
+- xen: allow mapping ACPI data using a different physical address
+ (bsc#1218260).
+- xen: move checks for e820 conflicts further up (bsc#1218260).
+- Revert "net: libwx: fix alloc msix vectors failed"
+ (bsc#1218260).
+- drm/vmwgfx: Prevent unmapping active read buffers (bsc#1218260).
+- drm/amd/display: Fix Synaptics Cascaded Panamera DSC
+ Determination (bsc#1218260).
+- mm: call the security_mmap_file() LSM hook in remap_file_pages()
+ (bsc#1218260).
+- io_uring: check for presence of task_work rather than
+ TIF_NOTIFY_SIGNAL (bsc#1218260).
+- io_uring/sqpoll: do not allow pinning outside of cpuset
+ (bsc#1218260).
+- netfilter: nf_tables: use rcu chain hook list iterator from
+ netlink dump path (bsc#1218260).
+- netfilter: ctnetlink: compile ctnetlink_label_size with
+ CONFIG_NF_CONNTRACK_EVENTS (bsc#1218260).
+- netfilter: nf_tables: Keep deleted flowtable hooks until after
+ RCU (bsc#1218260).
+- net: stmmac: set PP_FLAG_DMA_SYNC_DEV only if XDP is enabled
+ (bsc#1218260).
+- virtio_net: Fix mismatched buf address when unmapping for
+ small packets (bsc#1218260).
+- bonding: Fix unnecessary warnings and logs from
+ bond_xdp_get_xmit_slave() (bsc#1218260).
+- net: qrtr: Update packets cloning when broadcasting
+ (bsc#1218260).
+- tcp: check skb is non-NULL in tcp_rto_delta_us() (bsc#1218260).
+- net: ipv6: select DST_CACHE from IPV6_RPL_LWTUNNEL
+ (bsc#1218260).
+- net: seeq: Fix use after free vulnerability in ether3 Driver
+ Due to Race Condition (bsc#1218260).
+- netfilter: nf_reject_ipv6: fix nf_reject_ip6_tcphdr_put()
+ (bsc#1218260).
+- net: xilinx: axienet: Fix packet counting (bsc#1218260).
+- net: xilinx: axienet: Schedule NAPI in two steps (bsc#1218260).
+- Revert "dm: requeue IO if mapping table not yet available"
+ (bsc#1218260).
++++ 653 more lines (skipped)
++++ between /work/SRC/openSUSE:Factory/kernel-source-longterm/kernel-longterm.changes
++++ and /work/SRC/openSUSE:Factory/.kernel-source-longterm.new.19354/kernel-longterm.changes
kernel-source-longterm.changes: same change
kernel-syms-longterm.changes: same change
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ kernel-longterm.spec ++++++
--- /var/tmp/diff_new_pack.Ieymcq/_old 2024-10-06 17:51:20.975553069 +0200
+++ /var/tmp/diff_new_pack.Ieymcq/_new 2024-10-06 17:51:20.975553069 +0200
@@ -18,8 +18,8 @@
%define srcversion 6.6
-%define patchversion 6.6.53
-%define git_commit 21a8a9d50975fbe6ed756b3fae81091d2929b612
+%define patchversion 6.6.54
+%define git_commit 6c9503d53a3257a53612122346ba499257e0d932
%define variant -longterm%{nil}
%define compress_modules zstd
%define compress_vmlinux xz
@@ -113,9 +113,9 @@
Summary: The Linux Kernel
License: GPL-2.0-only
Group: System/Kernel
-Version: 6.6.53
+Version: 6.6.54
%if 0%{?is_kotd}
-Release: <RELEASE>.g21a8a9d
+Release: <RELEASE>.g6c9503d
%else
Release: 0
%endif
++++++ kernel-source-longterm.spec ++++++
--- /var/tmp/diff_new_pack.Ieymcq/_old 2024-10-06 17:51:21.015554732 +0200
+++ /var/tmp/diff_new_pack.Ieymcq/_new 2024-10-06 17:51:21.015554732 +0200
@@ -17,8 +17,8 @@
%define srcversion 6.6
-%define patchversion 6.6.53
-%define git_commit 21a8a9d50975fbe6ed756b3fae81091d2929b612
+%define patchversion 6.6.54
+%define git_commit 6c9503d53a3257a53612122346ba499257e0d932
%define variant -longterm%{nil}
%include %_sourcedir/kernel-spec-macros
@@ -31,9 +31,9 @@
%endif
Name: kernel-source-longterm
-Version: 6.6.53
+Version: 6.6.54
%if 0%{?is_kotd}
-Release: <RELEASE>.g21a8a9d
+Release: <RELEASE>.g6c9503d
%else
Release: 0
%endif
++++++ kernel-syms-longterm.spec ++++++
--- /var/tmp/diff_new_pack.Ieymcq/_old 2024-10-06 17:51:21.051556228 +0200
+++ /var/tmp/diff_new_pack.Ieymcq/_new 2024-10-06 17:51:21.051556228 +0200
@@ -16,7 +16,7 @@
#
-%define git_commit 21a8a9d50975fbe6ed756b3fae81091d2929b612
+%define git_commit 6c9503d53a3257a53612122346ba499257e0d932
%define variant -longterm%{nil}
%include %_sourcedir/kernel-spec-macros
@@ -25,10 +25,10 @@
Summary: Kernel Symbol Versions (modversions)
License: GPL-2.0-only
Group: Development/Sources
-Version: 6.6.53
+Version: 6.6.54
%if %using_buildservice
%if 0%{?is_kotd}
-Release: <RELEASE>.g21a8a9d
+Release: <RELEASE>.g6c9503d
%else
Release: 0
%endif
++++++ patches.kernel.org.tar.bz2 ++++++
/work/SRC/openSUSE:Factory/kernel-source-longterm/patches.kernel.org.tar.bz2 /work/SRC/openSUSE:Factory/.kernel-source-longterm.new.19354/patches.kernel.org.tar.bz2 differ: char 11, line 1
++++++ series.conf ++++++
--- /var/tmp/diff_new_pack.Ieymcq/_old 2024-10-06 17:51:21.863589973 +0200
+++ /var/tmp/diff_new_pack.Ieymcq/_new 2024-10-06 17:51:21.871590306 +0200
@@ -10680,6 +10680,540 @@
patches.kernel.org/6.6.53-053-USB-serial-pl2303-add-device-id-for-Macrosili…
patches.kernel.org/6.6.53-054-USB-usbtmc-prevent-kernel-usb-infoleak.patch
patches.kernel.org/6.6.53-055-Linux-6.6.53.patch
+ patches.kernel.org/6.6.54-001-EDAC-synopsys-Fix-ECC-status-and-IRQ-control-…
+ patches.kernel.org/6.6.54-002-EDAC-synopsys-Fix-error-injection-on-Zynq-Ult…
+ patches.kernel.org/6.6.54-003-wifi-rtw88-always-wait-for-both-firmware-load…
+ patches.kernel.org/6.6.54-004-crypto-xor-fix-template-benchmarking.patch
+ patches.kernel.org/6.6.54-005-ACPI-PMIC-Remove-unneeded-check-in-tps68470_p…
+ patches.kernel.org/6.6.54-006-wifi-brcmfmac-export-firmware-interface-funct…
+ patches.kernel.org/6.6.54-007-wifi-brcmfmac-introducing-fwil-query-function…
+ patches.kernel.org/6.6.54-008-wifi-ath9k-Remove-error-checks-when-creating-…
+ patches.kernel.org/6.6.54-009-wifi-ath12k-fix-BSS-chan-info-request-WMI-com…
+ patches.kernel.org/6.6.54-010-wifi-ath12k-match-WMI-BSS-chan-info-structure…
+ patches.kernel.org/6.6.54-011-wifi-ath12k-fix-invalid-AMPDU-factor-calculat…
+ patches.kernel.org/6.6.54-012-net-stmmac-dwmac-loongson-Init-ref-and-PTP-cl…
+ patches.kernel.org/6.6.54-013-arm64-signal-Fix-some-under-bracketed-UAPI-ma…
+ patches.kernel.org/6.6.54-014-wifi-rtw88-remove-CPT-execution-branch-never-…
+ patches.kernel.org/6.6.54-015-RISC-V-KVM-Fix-sbiret-init-before-forwarding-…
+ patches.kernel.org/6.6.54-016-RISC-V-KVM-Allow-legacy-PMU-access-from-guest…
+ patches.kernel.org/6.6.54-017-RISC-V-KVM-Fix-to-allow-hpmcounter31-from-the…
+ patches.kernel.org/6.6.54-018-mount-handle-OOM-on-mnt_warn_timestamp_expiry…
+ patches.kernel.org/6.6.54-019-ARM-9410-1-vfp-Use-asm-volatile-in-fmrx-fmxr-…
+ patches.kernel.org/6.6.54-020-powercap-intel_rapl-Fix-off-by-one-in-get_rpi…
+ patches.kernel.org/6.6.54-021-kselftest-arm64-signal-fix-refactor-SVE-vecto…
+ patches.kernel.org/6.6.54-022-drivers-perf-Fix-ali_drw_pmu-driver-interrupt…
+ patches.kernel.org/6.6.54-023-wifi-mac80211-don-t-use-rate-mask-for-offchan…
+ patches.kernel.org/6.6.54-024-wifi-iwlwifi-remove-AX101-AX201-and-AX203-sup…
+ patches.kernel.org/6.6.54-025-wifi-iwlwifi-config-label-gl-devices-as-discr…
+ patches.kernel.org/6.6.54-026-wifi-iwlwifi-mvm-increase-the-time-between-ra…
+ patches.kernel.org/6.6.54-027-padata-Honor-the-caller-s-alignment-in-case-o…
+ patches.kernel.org/6.6.54-028-drivers-perf-hisi_pcie-Record-hardware-counts…
+ patches.kernel.org/6.6.54-029-drivers-perf-hisi_pcie-Fix-TLP-headers-bandwi…
+ patches.kernel.org/6.6.54-030-kselftest-arm64-Actually-test-SME-vector-leng…
+ patches.kernel.org/6.6.54-031-can-j1939-use-correct-function-name-in-commen…
+ patches.kernel.org/6.6.54-032-ACPI-CPPC-Fix-MASK_VAL-usage.patch
+ patches.kernel.org/6.6.54-033-netfilter-nf_tables-elements-with-timeout-bel…
+ patches.kernel.org/6.6.54-034-netfilter-nf_tables-reject-element-expiration…
+ patches.kernel.org/6.6.54-035-netfilter-nf_tables-reject-expiration-higher-…
+ patches.kernel.org/6.6.54-036-netfilter-nf_tables-remove-annotation-to-acce…
+ patches.kernel.org/6.6.54-037-perf-arm-cmn-Rework-DTC-counters-again.patch
+ patches.kernel.org/6.6.54-038-perf-arm-cmn-Improve-debugfs-pretty-printing-…
+ patches.kernel.org/6.6.54-039-perf-arm-cmn-Refactor-node-ID-handling.-Again…
+ patches.kernel.org/6.6.54-040-perf-arm-cmn-Fix-CCLA-register-offset.patch
+ patches.kernel.org/6.6.54-041-perf-arm-cmn-Ensure-dtm_idx-is-big-enough.pat…
+ patches.kernel.org/6.6.54-042-cpufreq-ti-cpufreq-Introduce-quirks-to-handle…
+ patches.kernel.org/6.6.54-043-wifi-mt76-mt7915-fix-oops-on-non-dbdc-mt7986.…
+ patches.kernel.org/6.6.54-044-wifi-mt76-mt7996-use-hweight16-to-get-correct…
+ patches.kernel.org/6.6.54-045-wifi-mt76-mt7996-fix-traffic-delay-when-switc…
+ patches.kernel.org/6.6.54-046-wifi-mt76-mt7996-fix-wmm-set-of-station-inter…
+ patches.kernel.org/6.6.54-047-wifi-mt76-mt7996-fix-HE-and-EHT-beamforming-c…
+ patches.kernel.org/6.6.54-048-wifi-mt76-mt7996-fix-EHT-beamforming-capabili…
+ patches.kernel.org/6.6.54-049-x86-sgx-Fix-deadlock-in-SGX-NUMA-node-search.…
+ patches.kernel.org/6.6.54-050-pm-cpupower-Add-missing-powercap_set_enabled-…
+ patches.kernel.org/6.6.54-051-crypto-hisilicon-hpre-mask-cluster-timeout-er…
+ patches.kernel.org/6.6.54-052-crypto-hisilicon-qm-reset-device-before-enabl…
+ patches.kernel.org/6.6.54-053-crypto-hisilicon-qm-inject-error-before-stopp…
+ patches.kernel.org/6.6.54-054-wifi-mt76-mt7603-fix-mixed-declarations-and-c…
+ patches.kernel.org/6.6.54-055-wifi-cfg80211-fix-UBSAN-noise-in-cfg80211_wex…
+ patches.kernel.org/6.6.54-056-wifi-mt76-mt7915-fix-rx-filter-setting-for-bf…
+ patches.kernel.org/6.6.54-057-wifi-mt76-mt7996-ensure-4-byte-alignment-for-…
+ patches.kernel.org/6.6.54-058-wifi-mt76-mt7996-fix-uninitialized-TLV-data.p…
+ patches.kernel.org/6.6.54-059-wifi-cfg80211-fix-two-more-possible-UBSAN-det…
+ patches.kernel.org/6.6.54-060-wifi-mac80211-use-two-phase-skb-reclamation-i…
+ patches.kernel.org/6.6.54-061-wifi-wilc1000-fix-potential-RCU-dereference-i…
+ patches.kernel.org/6.6.54-062-Bluetooth-hci_core-Fix-sending-MGMT_EV_CONNEC…
+ patches.kernel.org/6.6.54-063-Bluetooth-hci_sync-Ignore-errors-from-HCI_OP_…
+ patches.kernel.org/6.6.54-064-sock_map-Add-a-cond_resched-in-sock_hash_free…
+ patches.kernel.org/6.6.54-065-can-bcm-Clear-bo-bcm_proc_read-after-remove_p…
+ patches.kernel.org/6.6.54-066-can-m_can-enable-NAPI-before-enabling-interru…
+ patches.kernel.org/6.6.54-067-can-m_can-m_can_close-stop-clocks-after-devic…
+ patches.kernel.org/6.6.54-068-Bluetooth-btusb-Fix-not-handling-ZPL-short-tr…
+ patches.kernel.org/6.6.54-069-bareudp-Pull-inner-IP-header-in-bareudp_udp_e…
+ patches.kernel.org/6.6.54-070-bareudp-Pull-inner-IP-header-on-xmit.patch
+ patches.kernel.org/6.6.54-071-net-enetc-Use-IRQF_NO_AUTOEN-flag-in-request_…
+ patches.kernel.org/6.6.54-072-r8169-disable-ALDPS-per-default-for-RTL8125.p…
+ patches.kernel.org/6.6.54-073-net-ipv6-rpl_iptunnel-Fix-memory-leak-in-rpl_…
+ patches.kernel.org/6.6.54-074-net-tipc-avoid-possible-garbage-value.patch
+ patches.kernel.org/6.6.54-075-ipv6-avoid-possible-NULL-deref-in-rt6_uncache…
+ patches.kernel.org/6.6.54-076-ublk-move-zone-report-data-out-of-request-pdu…
+ patches.kernel.org/6.6.54-077-nbd-fix-race-between-timeout-and-normal-compl…
+ patches.kernel.org/6.6.54-078-block-bfq-fix-possible-UAF-for-bfqq-bic-with-…
+ patches.kernel.org/6.6.54-079-block-bfq-choose-the-last-bfqq-from-merge-cha…
+ patches.kernel.org/6.6.54-080-block-bfq-don-t-break-merge-chain-in-bfq_spli…
+ patches.kernel.org/6.6.54-081-cachefiles-Fix-non-taking-of-sb_writers-aroun…
+ patches.kernel.org/6.6.54-082-erofs-fix-incorrect-symlink-detection-in-fast…
+ patches.kernel.org/6.6.54-083-block-bfq-fix-uaf-for-accessing-waker_bfqq-af…
+ patches.kernel.org/6.6.54-084-block-bfq-fix-procress-reference-leakage-for-…
+ patches.kernel.org/6.6.54-085-io_uring-io-wq-do-not-allow-pinning-outside-o…
+ patches.kernel.org/6.6.54-086-io_uring-io-wq-inherit-cpuset-of-cgroup-in-io…
+ patches.kernel.org/6.6.54-087-block-print-symbolic-error-name-instead-of-er…
+ patches.kernel.org/6.6.54-088-block-fix-potential-invalid-pointer-dereferen…
+ patches.kernel.org/6.6.54-089-spi-ppc4xx-handle-irq_of_parse_and_map-errors…
+ patches.kernel.org/6.6.54-090-arm64-dts-exynos-exynos7885-jackpotlte-Correc…
+ patches.kernel.org/6.6.54-091-arm64-dts-mediatek-mt8186-Fix-supported-hw-ma…
+ patches.kernel.org/6.6.54-092-firmware-arm_scmi-Fix-double-free-in-OPTEE-tr…
+ patches.kernel.org/6.6.54-093-spi-ppc4xx-Avoid-returning-0-when-failed-to-p…
+ patches.kernel.org/6.6.54-094-regulator-Return-actual-error-in-of_regulator…
+ patches.kernel.org/6.6.54-095-arm64-dts-renesas-r9a07g043u-Correct-GICD-and…
+ patches.kernel.org/6.6.54-096-arm64-dts-renesas-r9a07g054-Correct-GICD-and-…
+ patches.kernel.org/6.6.54-097-arm64-dts-renesas-r9a07g044-Correct-GICD-and-…
+ patches.kernel.org/6.6.54-098-ARM-dts-microchip-sam9x60-Fix-rtc-rtt-clocks.…
+ patches.kernel.org/6.6.54-099-arm64-dts-rockchip-Correct-vendor-prefix-for-…
+ patches.kernel.org/6.6.54-100-arm64-dts-ti-k3-j721e-sk-Fix-reversed-C6x-car…
+ patches.kernel.org/6.6.54-101-arm64-dts-ti-k3-j721e-beagleboneai64-Fix-reve…
+ patches.kernel.org/6.6.54-102-spi-bcmbca-hsspi-Fix-missing-pm_runtime_disab…
+ patches.kernel.org/6.6.54-103-ARM-dts-microchip-sama7g5-Fix-RTT-clock.patch
+ patches.kernel.org/6.6.54-104-ARM-dts-imx7d-zii-rmu2-fix-Ethernet-PHY-pinct…
+ patches.kernel.org/6.6.54-105-ARM-versatile-fix-OF-node-leak-in-CPUs-prepar…
+ patches.kernel.org/6.6.54-106-reset-berlin-fix-OF-node-leak-in-probe-error-…
+ patches.kernel.org/6.6.54-107-reset-k210-fix-OF-node-leak-in-probe-error-pa…
+ patches.kernel.org/6.6.54-108-clocksource-drivers-qcom-Add-missing-iounmap-…
+ patches.kernel.org/6.6.54-109-arm64-dts-mediatek-mt8195-Correct-clock-order…
+ patches.kernel.org/6.6.54-110-x86-mm-Use-IPIs-to-synchronize-LAM-enablement…
+ patches.kernel.org/6.6.54-111-ASoC-rt5682s-Return-devm_of_clk_add_hw_provid…
+ patches.kernel.org/6.6.54-112-ASoC-tas2781-remove-unused-acpi_subysystem_id…
+ patches.kernel.org/6.6.54-113-ASoC-tas2781-Use-of_property_read_reg.patch
+ patches.kernel.org/6.6.54-114-ASoC-tas2781-i2c-Drop-weird-GPIO-code.patch
+ patches.kernel.org/6.6.54-115-ASoC-tas2781-i2c-Get-the-right-GPIO-line.patch
+ patches.kernel.org/6.6.54-116-selftests-ftrace-Add-required-dependency-for-…
+ patches.kernel.org/6.6.54-117-ALSA-hda-cs35l41-fix-module-autoloading.patch
+ patches.kernel.org/6.6.54-118-m68k-Fix-kernel_clone_args.flags-in-m68k_clon…
+ patches.kernel.org/6.6.54-119-ASoC-loongson-fix-error-release.patch
+ patches.kernel.org/6.6.54-120-hwmon-max16065-Fix-overflows-seen-when-writin…
+ patches.kernel.org/6.6.54-121-hwmon-max16065-Remove-use-of-i2c_match_id.pat…
+ patches.kernel.org/6.6.54-122-hwmon-max16065-Fix-alarm-attributes.patch
+ patches.kernel.org/6.6.54-123-mtd-slram-insert-break-after-errors-in-parsin…
+ patches.kernel.org/6.6.54-124-hwmon-ntc_thermistor-fix-module-autoloading.p…
+ patches.kernel.org/6.6.54-125-power-supply-axp20x_battery-Remove-design-fro…
+ patches.kernel.org/6.6.54-126-power-supply-max17042_battery-Fix-SOC-thresho…
+ patches.kernel.org/6.6.54-127-fbdev-hpfb-Fix-an-error-handling-path-in-hpfb…
+ patches.kernel.org/6.6.54-128-iommu-amd-Do-not-set-the-D-bit-on-AMD-v2-tabl…
+ patches.kernel.org/6.6.54-129-mtd-powernv-Add-check-devm_kasprintf-returned…
+ patches.kernel.org/6.6.54-130-rcu-nocb-Fix-RT-throttling-hrtimer-armed-from…
+ patches.kernel.org/6.6.54-131-mtd-rawnand-mtk-Use-for_each_child_of_node_sc…
+ patches.kernel.org/6.6.54-132-mtd-rawnand-mtk-Factorize-out-the-logic-clean…
+ patches.kernel.org/6.6.54-133-mtd-rawnand-mtk-Fix-init-error-path.patch
+ patches.kernel.org/6.6.54-134-iommu-arm-smmu-qcom-hide-last-LPASS-SMMU-cont…
+ patches.kernel.org/6.6.54-135-iommu-arm-smmu-qcom-Work-around-SDM845-Adreno…
+ patches.kernel.org/6.6.54-136-iommu-arm-smmu-qcom-apply-num_context_bank-fi…
+ patches.kernel.org/6.6.54-137-pmdomain-core-Harden-inter-column-space-in-de…
+ patches.kernel.org/6.6.54-138-drm-stm-Fix-an-error-handling-path-in-stm_drm…
+ patches.kernel.org/6.6.54-139-drm-stm-ltdc-check-memory-returned-by-devm_kz…
+ patches.kernel.org/6.6.54-140-drm-amd-display-Add-null-check-for-set_output…
+ patches.kernel.org/6.6.54-141-drm-amdgpu-properly-handle-vbios-fake-edid-si…
+ patches.kernel.org/6.6.54-142-drm-radeon-properly-handle-vbios-fake-edid-si…
+ patches.kernel.org/6.6.54-143-scsi-smartpqi-revert-propagate-the-multipath-…
+ patches.kernel.org/6.6.54-144-scsi-NCR5380-Check-for-phase-match-during-PDM…
+ patches.kernel.org/6.6.54-145-drm-amd-amdgpu-Properly-tune-the-size-of-stru…
+ patches.kernel.org/6.6.54-146-drm-rockchip-vop-Allow-4096px-width-scaling.p…
+ patches.kernel.org/6.6.54-147-drm-rockchip-dw_hdmi-Fix-reading-EDID-when-us…
+ patches.kernel.org/6.6.54-148-drm-radeon-evergreen_cs-fix-int-overflow-erro…
+ patches.kernel.org/6.6.54-149-drm-bridge-lontium-lt8912b-Validate-mode-in-d…
+ patches.kernel.org/6.6.54-150-drm-vc4-hdmi-Handle-error-case-of-pm_runtime_…
+ patches.kernel.org/6.6.54-151-scsi-elx-libefc-Fix-potential-use-after-free-…
+ patches.kernel.org/6.6.54-152-jfs-fix-out-of-bounds-in-dbNextAG-and-diAlloc…
+ patches.kernel.org/6.6.54-153-drm-mediatek-Fix-missing-configuration-flags-…
+ patches.kernel.org/6.6.54-154-drm-mediatek-Use-spin_lock_irqsave-for-CRTC-e…
+ patches.kernel.org/6.6.54-155-powerpc-8xx-Fix-initial-memory-mapping.patch
+ patches.kernel.org/6.6.54-156-powerpc-8xx-Fix-kernel-vs-user-address-compar…
+ patches.kernel.org/6.6.54-157-powerpc-vdso-Inconditionally-use-CFUNC-macro.…
+ patches.kernel.org/6.6.54-158-drm-msm-Fix-incorrect-file-name-output-in-adr…
+ patches.kernel.org/6.6.54-159-drm-msm-a5xx-disable-preemption-in-submits-by…
+ patches.kernel.org/6.6.54-160-drm-msm-a5xx-properly-clear-preemption-record…
+ patches.kernel.org/6.6.54-161-drm-msm-a5xx-fix-races-in-preemption-evaluati…
+ patches.kernel.org/6.6.54-162-drm-msm-a5xx-workaround-early-ring-buffer-emp…
+ patches.kernel.org/6.6.54-163-ipmi-docs-don-t-advertise-deprecated-sysfs-en…
+ patches.kernel.org/6.6.54-164-drm-msm-dsi-correct-programming-sequence-for-…
+ patches.kernel.org/6.6.54-165-drm-msm-fix-s-null-argument-error.patch
+ patches.kernel.org/6.6.54-166-drivers-drm-exynos_drm_gsc-Fix-wrong-assignme…
+ patches.kernel.org/6.6.54-167-xen-use-correct-end-address-of-kernel-for-con…
+ patches.kernel.org/6.6.54-168-HID-wacom-Support-sequence-numbers-smaller-th…
+ patches.kernel.org/6.6.54-169-HID-wacom-Do-not-warn-about-dropped-packets-f…
+ patches.kernel.org/6.6.54-170-ata-libata-Clear-DID_TIME_OUT-for-ATA-PT-comm…
+ patches.kernel.org/6.6.54-171-minmax-avoid-overly-complex-min-max-macro-arg…
+ patches.kernel.org/6.6.54-172-xen-introduce-generic-helper-checking-for-mem…
+ patches.kernel.org/6.6.54-173-xen-move-max_pfn-in-xen_memory_setup-out-of-f…
+ patches.kernel.org/6.6.54-174-xen-add-capability-to-remap-non-RAM-pages-to-…
+ patches.kernel.org/6.6.54-175-xen-tolerate-ACPI-NVS-memory-overlapping-with…
+ patches.kernel.org/6.6.54-176-xen-swiotlb-add-alignment-check-for-dma-buffe…
+ patches.kernel.org/6.6.54-177-xen-swiotlb-fix-allocated-size.patch
+ patches.kernel.org/6.6.54-178-tpm-Clean-up-TPM-space-after-command-failure.…
+ patches.kernel.org/6.6.54-179-sched-fair-Make-SCHED_IDLE-entity-be-preempte…
+ patches.kernel.org/6.6.54-180-selftests-bpf-Workaround-strict-bpf_lsm-retur…
+ patches.kernel.org/6.6.54-181-selftests-bpf-Fix-error-linking-uprobe_multi-…
+ patches.kernel.org/6.6.54-182-bpf-Use-Wno-error-in-certain-tests-when-build…
+ patches.kernel.org/6.6.54-183-bpf-Disable-some-attribute-ignored-warnings-i…
+ patches.kernel.org/6.6.54-184-bpf-Temporarily-define-BPF_NO_PRESEVE_ACCESS_…
+ patches.kernel.org/6.6.54-185-selftests-bpf-Add-CFLAGS-per-source-file-and-…
+ patches.kernel.org/6.6.54-186-selftests-bpf-Fix-wrong-binary-in-Makefile-lo…
+ patches.kernel.org/6.6.54-187-tools-runqslower-Fix-LDFLAGS-and-add-LDLIBS-s…
+ patches.kernel.org/6.6.54-188-selftests-bpf-Use-pid_t-consistently-in-test_…
+ patches.kernel.org/6.6.54-189-selftests-bpf-Fix-compile-error-from-rlim_t-i…
+ patches.kernel.org/6.6.54-190-selftests-bpf-Fix-error-compiling-bpf_iter_se…
+ patches.kernel.org/6.6.54-191-selftests-bpf-Implement-get_hw_ring_size-func…
+ patches.kernel.org/6.6.54-192-selftests-bpf-Drop-unneeded-error.h-includes.…
+ patches.kernel.org/6.6.54-193-selftests-bpf-Fix-missing-ARRAY_SIZE-definiti…
+ patches.kernel.org/6.6.54-194-selftests-bpf-Fix-missing-UINT_MAX-definition…
+ patches.kernel.org/6.6.54-195-selftests-bpf-Fix-missing-BUILD_BUG_ON-declar…
+ patches.kernel.org/6.6.54-196-selftests-bpf-Replace-CHECK-with-ASSERT_-in-n…
+ patches.kernel.org/6.6.54-197-selftests-bpf-Refactor-out-some-functions-in-…
+ patches.kernel.org/6.6.54-198-selftests-bpf-Add-a-cgroup-prog-bpf_get_ns_cu…
+ patches.kernel.org/6.6.54-199-selftests-bpf-Fix-include-of-sys-fcntl.h.patch
+ patches.kernel.org/6.6.54-200-selftests-bpf-Fix-compiling-parse_tcp_hdr_opt…
+ patches.kernel.org/6.6.54-201-selftests-bpf-Fix-compiling-kfree_skb.c-with-…
+ patches.kernel.org/6.6.54-202-selftests-bpf-Fix-compiling-flow_dissector.c-…
+ patches.kernel.org/6.6.54-203-selftests-bpf-Fix-compiling-tcp_rtt.c-with-mu…
+ patches.kernel.org/6.6.54-204-selftests-bpf-Fix-compiling-core_reloc.c-with…
+ patches.kernel.org/6.6.54-205-selftests-bpf-Fix-errors-compiling-lwt_redire…
+ patches.kernel.org/6.6.54-206-selftests-bpf-Fix-errors-compiling-decap_sani…
+ patches.kernel.org/6.6.54-207-selftests-bpf-Fix-errors-compiling-cg_storage…
+ patches.kernel.org/6.6.54-208-selftests-bpf-Fix-arg-parsing-in-veristat-tes…
+ patches.kernel.org/6.6.54-209-selftests-bpf-Fix-error-compiling-test_lru_ma…
+ patches.kernel.org/6.6.54-210-selftests-bpf-Fix-C-compile-error-from-missin…
+ patches.kernel.org/6.6.54-211-selftests-bpf-Fix-flaky-selftest-lwt_redirect…
+ patches.kernel.org/6.6.54-212-selftests-bpf-Fix-redefinition-errors-compili…
+ patches.kernel.org/6.6.54-213-selftests-bpf-Fix-compile-if-backtrace-suppor…
+ patches.kernel.org/6.6.54-214-selftests-bpf-Fix-error-compiling-tc_redirect…
+ patches.kernel.org/6.6.54-215-samples-bpf-Fix-compilation-errors-with-cf-pr…
+ patches.kernel.org/6.6.54-216-bpf-correctly-handle-malformed-BPF_CORE_TYPE_…
+ patches.kernel.org/6.6.54-217-xz-cleanup-CRC32-edits-from-2018.patch
+ patches.kernel.org/6.6.54-218-kthread-fix-task-state-in-kthread-worker-if-b…
+ patches.kernel.org/6.6.54-219-ext4-clear-EXT4_GROUP_INFO_WAS_TRIMMED_BIT-ev…
+ patches.kernel.org/6.6.54-220-smackfs-Use-rcu_assign_pointer-to-ensure-safe…
+ patches.kernel.org/6.6.54-221-ext4-avoid-buffer_head-leak-in-ext4_mark_inod…
+ patches.kernel.org/6.6.54-222-ext4-avoid-potential-buffer_head-leak-in-__ex…
+ patches.kernel.org/6.6.54-223-ext4-avoid-negative-min_clusters-in-find_grou…
+ patches.kernel.org/6.6.54-224-ext4-return-error-on-ext4_find_inline_entry.p…
+ patches.kernel.org/6.6.54-225-ext4-avoid-OOB-when-system.data-xattr-changes…
+ patches.kernel.org/6.6.54-226-ext4-check-stripe-size-compatibility-on-remou…
+ patches.kernel.org/6.6.54-227-sched-numa-Document-vma_numab_state-fields.pa…
+ patches.kernel.org/6.6.54-228-sched-numa-Rename-vma_numab_state-access_pids…
+ patches.kernel.org/6.6.54-229-sched-numa-Trace-decisions-related-to-skippin…
+ patches.kernel.org/6.6.54-230-sched-numa-Move-up-the-access-pid-reset-logic…
+ patches.kernel.org/6.6.54-231-sched-numa-Complete-scanning-of-partial-VMAs-…
+ patches.kernel.org/6.6.54-232-sched-numa-Complete-scanning-of-inactive-VMAs…
+ patches.kernel.org/6.6.54-233-sched-numa-Fix-the-vma-scan-starving-issue.pa…
+ patches.kernel.org/6.6.54-234-nilfs2-fix-potential-null-ptr-deref-in-nilfs_…
+ patches.kernel.org/6.6.54-235-nilfs2-determine-empty-node-blocks-as-corrupt…
+ patches.kernel.org/6.6.54-236-nilfs2-fix-potential-oob-read-in-nilfs_btree_…
+ patches.kernel.org/6.6.54-237-bpf-Fix-bpf_strtol-and-bpf_strtoul-helpers-fo…
+ patches.kernel.org/6.6.54-238-bpf-Fix-helper-writes-to-read-only-maps.patch
+ patches.kernel.org/6.6.54-239-bpf-Improve-check_raw_mode_ok-test-for-MEM_UN…
+ patches.kernel.org/6.6.54-240-bpf-Zero-former-ARG_PTR_TO_-LONG-INT-args-in-…
+ patches.kernel.org/6.6.54-241-perf-mem-Free-the-allocated-sort-string-fixin…
+ patches.kernel.org/6.6.54-242-perf-inject-Fix-leader-sampling-inserting-add…
+ patches.kernel.org/6.6.54-243-perf-annotate-Split-branch-stack-cycles-info-…
+ patches.kernel.org/6.6.54-244-perf-annotate-Move-some-source-code-related-f…
+ patches.kernel.org/6.6.54-245-perf-ui-browser-annotate-Use-global-annotatio…
+ patches.kernel.org/6.6.54-246-perf-report-Fix-total-cycles-stdio-output-err…
+ patches.kernel.org/6.6.54-247-perf-sched-timehist-Fix-missing-free-of-sessi…
+ patches.kernel.org/6.6.54-248-perf-stat-Display-iostat-headers-correctly.pa…
+ patches.kernel.org/6.6.54-249-perf-sched-timehist-Fixed-timestamp-error-whe…
+ patches.kernel.org/6.6.54-250-perf-time-utils-Fix-32-bit-nsec-parsing.patch
+ patches.kernel.org/6.6.54-251-clk-imx-clk-audiomix-Correct-parent-clock-for…
+ patches.kernel.org/6.6.54-252-clk-imx-imx6ul-fix-default-parent-for-enet-_r…
+ patches.kernel.org/6.6.54-253-clk-imx-composite-8m-Less-function-calls-in-_…
+ patches.kernel.org/6.6.54-254-clk-imx-composite-8m-Enable-gate-clk-with-mco…
+ patches.kernel.org/6.6.54-255-clk-imx-composite-93-keep-root-clock-on-when-…
+ patches.kernel.org/6.6.54-256-clk-imx-composite-7ulp-Check-the-PCC-present-…
+ patches.kernel.org/6.6.54-257-clk-imx-fracn-gppll-fix-fractional-part-of-PL…
+ patches.kernel.org/6.6.54-258-clk-imx-imx8mp-fix-clock-tree-update-of-TF-A-…
+ patches.kernel.org/6.6.54-259-clk-imx-imx8qxp-Register-dc0_bypass0_clk-befo…
+ patches.kernel.org/6.6.54-260-clk-imx-imx8qxp-Parent-should-be-initialized-…
+ patches.kernel.org/6.6.54-261-remoteproc-imx_rproc-Correct-ddr-alias-for-i.…
+ patches.kernel.org/6.6.54-262-remoteproc-imx_rproc-Initialize-workqueue-ear…
+ patches.kernel.org/6.6.54-263-clk-rockchip-Set-parent-rate-for-DCLK_VOP-clo…
+ patches.kernel.org/6.6.54-264-clk-qcom-dispcc-sm8550-fix-several-supposed-t…
+ patches.kernel.org/6.6.54-265-clk-qcom-dispcc-sm8550-use-rcg2_ops-for-mdss_…
+ patches.kernel.org/6.6.54-266-clk-qcom-dispcc-sm8650-Update-the-GDSC-flags.…
+ patches.kernel.org/6.6.54-267-clk-qcom-dispcc-sm8550-use-rcg2_shared_ops-fo…
+ patches.kernel.org/6.6.54-268-leds-bd2606mvv-Fix-device-child-node-usage-in…
+ patches.kernel.org/6.6.54-269-pinctrl-ti-ti-iodelay-Convert-to-platform-rem…
+ patches.kernel.org/6.6.54-270-pinctrl-Use-device_get_match_data.patch
+ patches.kernel.org/6.6.54-271-pinctrl-ti-iodelay-Use-scope-based-of_node_pu…
+ patches.kernel.org/6.6.54-272-pinctrl-ti-ti-iodelay-Fix-some-error-handling…
+ patches.kernel.org/6.6.54-273-Input-ilitek_ts_i2c-avoid-wrong-input-subsyst…
+ patches.kernel.org/6.6.54-274-Input-ilitek_ts_i2c-add-report-id-message-val…
+ patches.kernel.org/6.6.54-275-drivers-media-dvb-frontends-rtl2832-fix-an-ou…
+ patches.kernel.org/6.6.54-276-drivers-media-dvb-frontends-rtl2830-fix-an-ou…
+ patches.kernel.org/6.6.54-277-PCI-Wait-for-Link-before-restoring-Downstream…
+ patches.kernel.org/6.6.54-278-firewire-core-correct-range-of-block-for-case…
+ patches.kernel.org/6.6.54-279-PCI-keystone-Fix-if-statement-expression-in-k…
+ patches.kernel.org/6.6.54-280-clk-qcom-ipq5332-Register-gcc_qdss_tsctr_clk_…
+ patches.kernel.org/6.6.54-281-clk-qcom-dispcc-sm8250-use-special-function-f…
+ patches.kernel.org/6.6.54-282-leds-leds-pca995x-Add-support-for-NXP-PCA9956…
+ patches.kernel.org/6.6.54-283-leds-pca995x-Use-device_for_each_child_node-t…
+ patches.kernel.org/6.6.54-284-leds-pca995x-Fix-device-child-node-usage-in-p…
+ patches.kernel.org/6.6.54-285-x86-PCI-Check-pcie_find_root_port-return-for-…
+ patches.kernel.org/6.6.54-286-nvdimm-Fix-devs-leaks-in-scan_labels.patch
+ patches.kernel.org/6.6.54-287-PCI-xilinx-nwl-Fix-register-misspelling.patch
+ patches.kernel.org/6.6.54-288-PCI-xilinx-nwl-Clean-up-clock-on-probe-failur…
+ patches.kernel.org/6.6.54-289-media-platform-rzg2l-cru-rzg2l-csi2-Add-missi…
+ patches.kernel.org/6.6.54-290-RDMA-iwcm-Fix-WARNING-at_kernel-workqueue.c-c…
+ patches.kernel.org/6.6.54-291-pinctrl-single-fix-missing-error-code-in-pcs_…
+ patches.kernel.org/6.6.54-292-clk-at91-sama7g5-Allocate-only-the-needed-amo…
+ patches.kernel.org/6.6.54-293-media-mediatek-vcodec-Fix-H264-multi-stateles…
+ patches.kernel.org/6.6.54-294-media-mediatek-vcodec-Fix-VP8-stateless-decod…
+ patches.kernel.org/6.6.54-295-media-mediatek-vcodec-Fix-H264-stateless-deco…
+ patches.kernel.org/6.6.54-296-RDMA-rtrs-Reset-hb_missed_cnt-after-receiving…
+ patches.kernel.org/6.6.54-297-RDMA-rtrs-clt-Reset-cid-to-con_num-1-to-stay-…
+ patches.kernel.org/6.6.54-298-clk-ti-dra7-atl-Fix-leak-of-of_nodes.patch
+ patches.kernel.org/6.6.54-299-clk-starfive-Use-pm_runtime_resume_and_get-to…
+ patches.kernel.org/6.6.54-300-clk-rockchip-rk3588-Fix-32k-clock-name-for-pm…
+ patches.kernel.org/6.6.54-301-nfsd-remove-unneeded-EEXIST-error-check-in-nf…
+ patches.kernel.org/6.6.54-302-nfsd-fix-refcount-leak-when-file-is-unhashed-…
+ patches.kernel.org/6.6.54-303-pinctrl-mvebu-Fix-devinit_dove_pinctrl_probe-…
+ patches.kernel.org/6.6.54-304-IB-core-Fix-ib_cache_setup_one-error-flow-cle…
+ patches.kernel.org/6.6.54-305-PCI-kirin-Fix-buffer-overflow-in-kirin_pcie_p…
+ patches.kernel.org/6.6.54-306-RDMA-erdma-Return-QP-state-in-erdma_query_qp.…
+ patches.kernel.org/6.6.54-307-RDMA-mlx5-Limit-usage-of-over-sized-mkeys-fro…
+ patches.kernel.org/6.6.54-308-watchdog-imx_sc_wdt-Don-t-disable-WDT-in-susp…
+ patches.kernel.org/6.6.54-309-RDMA-hns-Don-t-modify-rq-next-block-addr-in-H…
+ patches.kernel.org/6.6.54-310-RDMA-hns-Fix-Use-After-Free-of-rsv_qp-on-HIP0…
+ patches.kernel.org/6.6.54-311-RDMA-hns-Fix-the-overflow-risk-of-hem_list_ca…
+ patches.kernel.org/6.6.54-312-RDMA-hns-Fix-spin_unlock_irqrestore-called-wi…
+ patches.kernel.org/6.6.54-313-RDMA-hns-Fix-VF-triggering-PF-reset-in-abnorm…
+ patches.kernel.org/6.6.54-314-RDMA-hns-Fix-1bit-ECC-recovery-address-in-non…
+ patches.kernel.org/6.6.54-315-RDMA-hns-Optimize-hem-allocation-performance.…
+ patches.kernel.org/6.6.54-316-RDMA-hns-Fix-restricted-__le16-degrades-to-in…
+ patches.kernel.org/6.6.54-317-RDMA-mlx5-Obtain-upper-net-device-only-when-n…
+ patches.kernel.org/6.6.54-318-riscv-Fix-fp-alignment-bug-in-perf_callchain_…
+ patches.kernel.org/6.6.54-319-RDMA-cxgb4-Added-NULL-check-for-lookup_atid.p…
+ patches.kernel.org/6.6.54-320-RDMA-irdma-fix-error-message-in-irdma_modify_…
+ patches.kernel.org/6.6.54-321-ntb-intel-Fix-the-NULL-vs-IS_ERR-bug-for-debu…
+ patches.kernel.org/6.6.54-322-ntb_perf-Fix-printk-format.patch
+ patches.kernel.org/6.6.54-323-ntb-Force-physically-contiguous-allocation-of…
+ patches.kernel.org/6.6.54-324-nfsd-call-cache_put-if-xdr_reserve_space-retu…
+ patches.kernel.org/6.6.54-325-nfsd-return-EINVAL-when-namelen-is-0.patch
+ patches.kernel.org/6.6.54-326-crypto-caam-Pad-SG-length-when-allocating-has…
+ patches.kernel.org/6.6.54-327-crypto-powerpc-p10-aes-gcm-Disable-CRYPTO_AES…
+ patches.kernel.org/6.6.54-328-f2fs-atomic-fix-to-avoid-racing-w-GC.patch
+ patches.kernel.org/6.6.54-329-f2fs-reduce-expensive-checkpoint-trigger-freq…
+ patches.kernel.org/6.6.54-330-f2fs-fix-to-avoid-racing-in-between-read-and-…
+ patches.kernel.org/6.6.54-331-f2fs-Create-COW-inode-from-parent-dentry-for-…
+ patches.kernel.org/6.6.54-332-f2fs-fix-to-wait-page-writeback-before-settin…
+ patches.kernel.org/6.6.54-333-f2fs-atomic-fix-to-truncate-pagecache-before-…
+ patches.kernel.org/6.6.54-334-f2fs-support-.shutdown-in-f2fs_sops.patch
+ patches.kernel.org/6.6.54-335-f2fs-fix-to-avoid-use-after-free-in-f2fs_stop…
+ patches.kernel.org/6.6.54-336-f2fs-compress-do-sanity-check-on-cluster-when…
+ patches.kernel.org/6.6.54-337-f2fs-compress-don-t-redirty-sparse-cluster-du…
+ patches.kernel.org/6.6.54-338-f2fs-prevent-atomic-file-from-being-dirtied-b…
+ patches.kernel.org/6.6.54-339-f2fs-clean-up-w-dotdot_name.patch
+ patches.kernel.org/6.6.54-340-f2fs-get-rid-of-online-repaire-on-corrupted-d…
+ patches.kernel.org/6.6.54-341-f2fs-fix-to-don-t-set-SB_RDONLY-in-f2fs_handl…
+ patches.kernel.org/6.6.54-342-spi-atmel-quadspi-Undo-runtime-PM-changes-at-…
+ patches.kernel.org/6.6.54-343-spi-spi-fsl-lpspi-Undo-runtime-PM-changes-at-…
+ patches.kernel.org/6.6.54-344-lib-sbitmap-define-swap_lock-as-raw_spinlock_…
+ patches.kernel.org/6.6.54-345-spi-atmel-quadspi-Avoid-overwriting-delay-reg…
+ patches.kernel.org/6.6.54-346-nvme-multipath-system-fails-to-create-generic…
+ patches.kernel.org/6.6.54-347-iio-adc-ad7606-fix-oversampling-gpio-array.pa…
+ patches.kernel.org/6.6.54-348-iio-adc-ad7606-fix-standby-gpio-state-to-matc…
+ patches.kernel.org/6.6.54-349-driver-core-Fix-error-handling-in-driver-API-…
+ patches.kernel.org/6.6.54-350-ABI-testing-fix-admv8818-attr-description.pat…
+ patches.kernel.org/6.6.54-351-iio-chemical-bme680-Fix-read-write-ops-to-dev…
+ patches.kernel.org/6.6.54-352-iio-magnetometer-ak8975-Convert-enum-pointer-…
+ patches.kernel.org/6.6.54-353-iio-magnetometer-ak8975-drop-incorrect-AK0911…
+ patches.kernel.org/6.6.54-354-dt-bindings-iio-asahi-kasei-ak8975-drop-incor…
+ patches.kernel.org/6.6.54-355-driver-core-Fix-a-potential-null-ptr-deref-in…
+ patches.kernel.org/6.6.54-356-serial-8250-omap-Cleanup-on-error-in-request_…
+ patches.kernel.org/6.6.54-357-coresight-tmc-sg-Do-not-leak-sg_table.patch
+ patches.kernel.org/6.6.54-358-interconnect-icc-clk-Add-missed-num_nodes-ini…
+ patches.kernel.org/6.6.54-359-cxl-pci-Fix-to-record-only-non-zero-ranges.pa…
+ patches.kernel.org/6.6.54-360-vhost_vdpa-assign-irq-bypass-producer-token-c…
+ patches.kernel.org/6.6.54-361-ep93xx-clock-Fix-off-by-one-in-ep93xx_div_rec…
+ patches.kernel.org/6.6.54-362-Revert-dm-requeue-IO-if-mapping-table-not-yet…
+ patches.kernel.org/6.6.54-363-net-xilinx-axienet-Schedule-NAPI-in-two-steps…
+ patches.kernel.org/6.6.54-364-net-xilinx-axienet-Fix-packet-counting.patch
+ patches.kernel.org/6.6.54-365-netfilter-nf_reject_ipv6-fix-nf_reject_ip6_tc…
+ patches.kernel.org/6.6.54-366-net-seeq-Fix-use-after-free-vulnerability-in-…
+ patches.kernel.org/6.6.54-367-net-ipv6-select-DST_CACHE-from-IPV6_RPL_LWTUN…
+ patches.kernel.org/6.6.54-368-tcp-check-skb-is-non-NULL-in-tcp_rto_delta_us…
+ patches.kernel.org/6.6.54-369-net-qrtr-Update-packets-cloning-when-broadcas…
+ patches.kernel.org/6.6.54-370-bonding-Fix-unnecessary-warnings-and-logs-fro…
+ patches.kernel.org/6.6.54-371-virtio_net-Fix-mismatched-buf-address-when-un…
+ patches.kernel.org/6.6.54-372-net-stmmac-set-PP_FLAG_DMA_SYNC_DEV-only-if-X…
+ patches.kernel.org/6.6.54-373-netfilter-nf_tables-Keep-deleted-flowtable-ho…
+ patches.kernel.org/6.6.54-374-netfilter-ctnetlink-compile-ctnetlink_label_s…
+ patches.kernel.org/6.6.54-375-netfilter-nf_tables-use-rcu-chain-hook-list-i…
+ patches.kernel.org/6.6.54-376-io_uring-sqpoll-do-not-allow-pinning-outside-…
+ patches.kernel.org/6.6.54-377-io_uring-check-for-presence-of-task_work-rath…
+ patches.kernel.org/6.6.54-378-mm-call-the-security_mmap_file-LSM-hook-in-re…
+ patches.kernel.org/6.6.54-379-drm-amd-display-Fix-Synaptics-Cascaded-Paname…
+ patches.kernel.org/6.6.54-380-drm-vmwgfx-Prevent-unmapping-active-read-buff…
+ patches.kernel.org/6.6.54-381-Revert-net-libwx-fix-alloc-msix-vectors-faile…
+ patches.kernel.org/6.6.54-382-xen-move-checks-for-e820-conflicts-further-up…
+ patches.kernel.org/6.6.54-383-xen-allow-mapping-ACPI-data-using-a-different…
+ patches.kernel.org/6.6.54-384-io_uring-sqpoll-retain-test-for-whether-the-C…
+ patches.kernel.org/6.6.54-385-io_uring-sqpoll-do-not-put-cpumask-on-stack.p…
+ patches.kernel.org/6.6.54-386-Remove-.orig-pattern-from-.gitignore.patch
+ patches.kernel.org/6.6.54-387-PCI-Revert-to-the-original-speed-after-PCIe-f…
+ patches.kernel.org/6.6.54-388-PCI-Clear-the-LBMS-bit-after-a-link-retrain.p…
+ patches.kernel.org/6.6.54-389-PCI-dra7xx-Fix-threaded-IRQ-request-for-dra7x…
+ patches.kernel.org/6.6.54-390-PCI-imx6-Fix-missing-call-to-phy_power_off-in…
+ patches.kernel.org/6.6.54-391-PCI-Correct-error-reporting-with-PCIe-failed-…
+ patches.kernel.org/6.6.54-392-PCI-Use-an-error-code-with-PCIe-failed-link-r…
+ patches.kernel.org/6.6.54-393-PCI-xilinx-nwl-Fix-off-by-one-in-INTx-IRQ-han…
+ patches.kernel.org/6.6.54-394-Revert-soc-qcom-smd-rpm-Match-rpmsg-channel-i…
+ patches.kernel.org/6.6.54-395-ASoC-rt5682-Return-devm_of_clk_add_hw_provide…
+ patches.kernel.org/6.6.54-396-soc-fsl-cpm1-tsa-Fix-tsa_write8.patch
+ patches.kernel.org/6.6.54-397-soc-versatile-integrator-fix-OF-node-leak-in-…
+ patches.kernel.org/6.6.54-398-Revert-media-tuners-fix-error-return-code-of-…
+ patches.kernel.org/6.6.54-399-iommufd-Protect-against-overflow-of-ALIGN-dur…
+ patches.kernel.org/6.6.54-400-Input-adp5588-keys-fix-check-on-return-code.p…
+ patches.kernel.org/6.6.54-401-Input-i8042-add-TUXEDO-Stellaris-16-Gen5-AMD-…
+ patches.kernel.org/6.6.54-402-Input-i8042-add-TUXEDO-Stellaris-15-Slim-Gen6…
+ patches.kernel.org/6.6.54-403-Input-i8042-add-another-board-name-for-TUXEDO…
+ patches.kernel.org/6.6.54-404-KVM-arm64-Add-memory-length-checks-and-remove…
+ patches.kernel.org/6.6.54-405-KVM-x86-Enforce-x2APIC-s-must-be-zero-reserve…
+ patches.kernel.org/6.6.54-406-KVM-x86-Move-x2APIC-ICR-helper-above-kvm_apic…
+ patches.kernel.org/6.6.54-407-KVM-Use-dedicated-mutex-to-protect-kvm_usage_…
+ patches.kernel.org/6.6.54-408-drm-amd-display-Skip-Recompute-DSC-Params-if-…
+ patches.kernel.org/6.6.54-409-drm-amd-display-Add-HDMI-DSC-native-YCbCr422-…
+ patches.kernel.org/6.6.54-410-drm-amd-display-Round-calculated-vtotal.patch
+ patches.kernel.org/6.6.54-411-drm-amd-display-Validate-backlight-caps-are-s…
+ patches.kernel.org/6.6.54-412-KEYS-prevent-NULL-pointer-dereference-in-find…
+ patches.kernel.org/6.6.54-413-powerpc-atomic-Use-YZ-constraints-for-DS-form…
+ patches.kernel.org/6.6.54-414-fs-Create-a-generic-is_dot_dotdot-utility.pat…
+ patches.kernel.org/6.6.54-415-ksmbd-make-__dir_empty-compatible-with-POSIX.…
+ patches.kernel.org/6.6.54-416-ksmbd-allow-write-with-FILE_APPEND_DATA.patch
+ patches.kernel.org/6.6.54-417-ksmbd-handle-caseless-file-creation.patch
+ patches.kernel.org/6.6.54-418-ata-libata-scsi-Fix-ata_msense_control-CDL-pa…
+ patches.kernel.org/6.6.54-419-scsi-sd-Fix-off-by-one-error-in-sd_read_block…
+ patches.kernel.org/6.6.54-420-scsi-ufs-qcom-Update-MODE_MAX-cfg_bw-value.pa…
+ patches.kernel.org/6.6.54-421-scsi-mac_scsi-Revise-printk-KERN_DEBUG-.-mess…
+ patches.kernel.org/6.6.54-422-scsi-mac_scsi-Refactor-polling-loop.patch
+ patches.kernel.org/6.6.54-423-scsi-mac_scsi-Disallow-bus-errors-during-PDMA…
+ patches.kernel.org/6.6.54-424-can-esd_usb-Remove-CAN_CTRLMODE_3_SAMPLES-for…
+ patches.kernel.org/6.6.54-425-wifi-rtw88-Fix-USB-SDIO-devices-not-transmitt…
+ patches.kernel.org/6.6.54-426-usbnet-fix-cyclical-race-on-disconnect-with-w…
+ patches.kernel.org/6.6.54-427-arm64-dts-mediatek-mt8195-cherry-Mark-USB-3.0…
+ patches.kernel.org/6.6.54-428-USB-appledisplay-close-race-between-probe-and…
+ patches.kernel.org/6.6.54-429-USB-misc-cypress_cy7c63-check-for-short-trans…
+ patches.kernel.org/6.6.54-430-USB-class-CDC-ACM-fix-race-between-get_serial…
+ patches.kernel.org/6.6.54-431-usb-cdnsp-Fix-incorrect-usb_request-status.pa…
+ patches.kernel.org/6.6.54-432-usb-dwc2-drd-fix-clock-gating-on-USB-role-swi…
+ patches.kernel.org/6.6.54-433-bus-integrator-lm-fix-OF-node-leak-in-probe.p…
+ patches.kernel.org/6.6.54-434-bus-mhi-host-pci_generic-Fix-the-name-for-the…
+ patches.kernel.org/6.6.54-435-firmware_loader-Block-path-traversal.patch
+ patches.kernel.org/6.6.54-436-tty-rp2-Fix-reset-with-non-forgiving-PCIe-hos…
+ patches.kernel.org/6.6.54-437-xhci-Set-quirky-xHC-PCI-hosts-to-D3-_after_-s…
+ patches.kernel.org/6.6.54-438-serial-qcom-geni-fix-fifo-polling-timeout.pat…
+ patches.kernel.org/6.6.54-439-crypto-ccp-Properly-unregister-dev-sev-on-sev…
+ patches.kernel.org/6.6.54-440-drbd-Fix-atomicity-violation-in-drbd_uuid_set…
+ patches.kernel.org/6.6.54-441-drbd-Add-NULL-check-for-net_conf-to-prevent-d…
+ patches.kernel.org/6.6.54-442-ACPI-sysfs-validate-return-type-of-_STR-metho…
+ patches.kernel.org/6.6.54-443-ACPI-resource-Add-another-DMI-match-for-the-T…
+ patches.kernel.org/6.6.54-444-efistub-tpm-Use-ACPI-reclaim-memory-for-event…
+ patches.kernel.org/6.6.54-445-perf-x86-intel-pt-Fix-sampling-synchronizatio…
+ patches.kernel.org/6.6.54-446-wifi-mt76-mt7921-Check-devm_kasprintf-returne…
+ patches.kernel.org/6.6.54-447-wifi-mt76-mt7915-check-devm_kasprintf-returne…
+ patches.kernel.org/6.6.54-448-wifi-mt76-mt7996-fix-NULL-pointer-dereference…
+ patches.kernel.org/6.6.54-449-wifi-rtw88-8821cu-Remove-VID-PID-0bda-c82c.pa…
+ patches.kernel.org/6.6.54-450-wifi-rtw88-8822c-Fix-reported-RX-band-width.p…
+ patches.kernel.org/6.6.54-451-wifi-mt76-mt7615-check-devm_kasprintf-returne…
+ patches.kernel.org/6.6.54-452-debugobjects-Fix-conditions-in-fill_pool.patch
+ patches.kernel.org/6.6.54-453-btrfs-tree-checker-fix-the-wrong-output-of-da…
+ patches.kernel.org/6.6.54-454-btrfs-always-update-fstrim_range-on-failure-i…
+ patches.kernel.org/6.6.54-455-f2fs-fix-several-potential-integer-overflows-…
+ patches.kernel.org/6.6.54-456-f2fs-prevent-possible-int-overflow-in-dir_blo…
+ patches.kernel.org/6.6.54-457-f2fs-avoid-potential-int-overflow-in-sanity_c…
+ patches.kernel.org/6.6.54-458-f2fs-Require-FMODE_WRITE-for-atomic-write-ioc…
+ patches.kernel.org/6.6.54-459-f2fs-fix-to-check-atomic_file-in-f2fs-ioctl-i…
+ patches.kernel.org/6.6.54-460-hwrng-mtk-Use-devm_pm_runtime_enable.patch
+ patches.kernel.org/6.6.54-461-hwrng-bcm2835-Add-missing-clk_disable_unprepa…
+ patches.kernel.org/6.6.54-462-hwrng-cctrng-Add-missing-clk_disable_unprepar…
+ patches.kernel.org/6.6.54-463-arm64-esr-Define-ESR_ELx_EC_-constants-as-UL.…
+ patches.kernel.org/6.6.54-464-arm64-errata-Enable-the-AC03_CPU_38-workaroun…
+ patches.kernel.org/6.6.54-465-arm64-dts-rockchip-Raise-Pinebook-Pro-s-panel…
+ patches.kernel.org/6.6.54-466-arm64-dts-qcom-sa8775p-Mark-APPS-and-PCIe-SMM…
+ patches.kernel.org/6.6.54-467-arm64-dts-rockchip-Correct-the-Pinebook-Pro-b…
+ patches.kernel.org/6.6.54-468-vfs-fix-race-between-evice_inodes-and-find_in…
+ patches.kernel.org/6.6.54-469-fs-Fix-file_set_fowner-LSM-hook-inconsistenci…
+ patches.kernel.org/6.6.54-470-nfs-fix-memory-leak-in-error-path-of-nfs4_do_…
+ patches.kernel.org/6.6.54-471-EDAC-igen6-Fix-conversion-of-system-address-t…
+ patches.kernel.org/6.6.54-472-icmp-change-the-order-of-rate-limits.patch
+ patches.kernel.org/6.6.54-473-cpuidle-riscv-sbi-Use-scoped-device-node-hand…
+ patches.kernel.org/6.6.54-474-padata-use-integer-wrap-around-to-prevent-dea…
+ patches.kernel.org/6.6.54-475-spi-fspi-involve-lut_num-for-struct-nxp_fspi_…
+ patches.kernel.org/6.6.54-476-ARM-dts-imx6ul-geam-fix-fsl-pins-property-in-…
+ patches.kernel.org/6.6.54-477-soc-versatile-realview-fix-memory-leak-during…
+ patches.kernel.org/6.6.54-478-soc-versatile-realview-fix-soc_dev-leak-durin…
+ patches.kernel.org/6.6.54-479-usb-yurex-Replace-snprintf-with-the-safer-scn…
+ patches.kernel.org/6.6.54-480-USB-misc-yurex-fix-race-between-read-and-writ…
+ patches.kernel.org/6.6.54-481-xhci-Add-a-quirk-for-writing-ERST-in-high-low…
+ patches.kernel.org/6.6.54-482-usb-xhci-fix-loss-of-data-on-Cadence-xHC.patch
+ patches.kernel.org/6.6.54-483-pps-remove-usage-of-the-deprecated-ida_simple…
+ patches.kernel.org/6.6.54-484-pps-add-an-error-check-in-parport_attach.patch
+ patches.kernel.org/6.6.54-485-tty-serial-kgdboc-Fix-8250_-kgdb-over-serial.…
+ patches.kernel.org/6.6.54-486-serial-don-t-use-uninitialized-value-in-uart_…
+ patches.kernel.org/6.6.54-487-x86-idtentry-Incorporate-definitions-declarat…
+ patches.kernel.org/6.6.54-488-x86-entry-Remove-unwanted-instrumentation-in-…
+ patches.kernel.org/6.6.54-489-lib-bitmap-add-bitmap_-read-write.patch
+ patches.kernel.org/6.6.54-490-btrfs-subpage-fix-the-bitmap-dump-which-can-c…
+ patches.kernel.org/6.6.54-491-btrfs-reorder-btrfs_inode-to-fill-gaps.patch
+ patches.kernel.org/6.6.54-492-btrfs-update-comment-for-struct-btrfs_inode-l…
+ patches.kernel.org/6.6.54-493-btrfs-fix-race-setting-file-private-on-concur…
+ patches.kernel.org/6.6.54-494-dt-bindings-spi-nxp-fspi-support-i.MX93-and-i…
+ patches.kernel.org/6.6.54-495-dt-bindings-spi-nxp-fspi-add-imx8ulp-support.…
+ patches.kernel.org/6.6.54-496-thunderbolt-Fix-debug-log-when-DisplayPort-ad…
+ patches.kernel.org/6.6.54-497-thunderbolt-Use-tb_tunnel_dbg-where-possible-…
+ patches.kernel.org/6.6.54-498-thunderbolt-Expose-tb_tunnel_xxx-log-macros-t…
+ patches.kernel.org/6.6.54-499-thunderbolt-Create-multiple-DisplayPort-tunne…
+ patches.kernel.org/6.6.54-500-thunderbolt-Use-constants-for-path-weight-and…
+ patches.kernel.org/6.6.54-501-thunderbolt-Use-weight-constants-in-tb_usb3_c…
+ patches.kernel.org/6.6.54-502-thunderbolt-Make-is_gen4_link-available-to-th…
+ patches.kernel.org/6.6.54-503-thunderbolt-Change-bandwidth-reservations-to-…
+ patches.kernel.org/6.6.54-504-thunderbolt-Introduce-tb_port_path_direction_…
+ patches.kernel.org/6.6.54-505-thunderbolt-Introduce-tb_for_each_upstream_po…
+ patches.kernel.org/6.6.54-506-thunderbolt-Introduce-tb_switch_depth.patch
+ patches.kernel.org/6.6.54-507-thunderbolt-Add-support-for-asymmetric-link.p…
+ patches.kernel.org/6.6.54-508-thunderbolt-Configure-asymmetric-link-if-need…
+ patches.kernel.org/6.6.54-509-thunderbolt-Improve-DisplayPort-tunnel-setup-…
+ patches.kernel.org/6.6.54-510-mm-filemap-return-early-if-failed-to-allocate…
+ patches.kernel.org/6.6.54-511-lib-xarray-introduce-a-new-helper-xas_get_ord…
+ patches.kernel.org/6.6.54-512-mm-filemap-optimize-filemap-folio-adding.patch
+ patches.kernel.org/6.6.54-513-bpf-lsm-Set-bpf_lsm_blob_sizes.lbs_task-to-0.…
+ patches.kernel.org/6.6.54-514-dm-verity-restart-or-panic-on-an-I-O-error.pa…
+ patches.kernel.org/6.6.54-515-lockdep-fix-deadlock-issue-between-lockdep-an…
+ patches.kernel.org/6.6.54-516-mm-only-enforce-minimum-stack-gap-size-if-it-…
+ patches.kernel.org/6.6.54-517-spi-fspi-add-support-for-imx8ulp.patch
+ patches.kernel.org/6.6.54-518-module-Fix-KCOV-ignored-file-name.patch
+ patches.kernel.org/6.6.54-519-mm-damon-vaddr-protect-vma-traversal-in-__dam…
+ patches.kernel.org/6.6.54-520-i2c-aspeed-Update-the-stop-sw-state-when-the-…
+ patches.kernel.org/6.6.54-521-i2c-isch-Add-missed-else.patch
+ patches.kernel.org/6.6.54-522-Documentation-KVM-fix-warning-in-make-htmldoc…
+ patches.kernel.org/6.6.54-523-bpf-Fix-use-after-free-in-bpf_uprobe_multi_li…
+ patches.kernel.org/6.6.54-524-usb-yurex-Fix-inconsistent-locking-bug-in-yur…
+ patches.kernel.org/6.6.54-525-perf-arm-cmn-Fail-DTC-counter-allocation-corr…
+ patches.kernel.org/6.6.54-526-iio-magnetometer-ak8975-Fix-Unexpected-device…
+ patches.kernel.org/6.6.54-527-wifi-brcmfmac-add-linefeed-at-end-of-file.pat…
+ patches.kernel.org/6.6.54-528-thunderbolt-Send-uevent-after-asymmetric-symm…
+ patches.kernel.org/6.6.54-529-thunderbolt-Fix-minimum-allocated-USB-3.x-and…
+ patches.kernel.org/6.6.54-530-thunderbolt-Fix-NULL-pointer-dereference-in-t…
+ patches.kernel.org/6.6.54-531-x86-tdx-Fix-in-kernel-MMIO-check.patch
+ patches.kernel.org/6.6.54-532-spi-atmel-quadspi-Fix-wrong-register-value-wr…
+ patches.kernel.org/6.6.54-533-Revert-dm-verity-restart-or-panic-on-an-I-O-e…
+ patches.kernel.org/6.6.54-534-Linux-6.6.54.patch
########################################################
# Build fixes that apply to the vanilla kernel too.
++++++ source-timestamp ++++++
--- /var/tmp/diff_new_pack.Ieymcq/_old 2024-10-06 17:51:21.903591635 +0200
+++ /var/tmp/diff_new_pack.Ieymcq/_new 2024-10-06 17:51:21.907591801 +0200
@@ -1,4 +1,4 @@
-2024-09-30 15:05:12 +0000
-GIT Revision: 21a8a9d50975fbe6ed756b3fae81091d2929b612
+2024-10-04 15:40:21 +0000
+GIT Revision: 6c9503d53a3257a53612122346ba499257e0d932
GIT Branch: slowroll
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package qcoro for openSUSE:Factory checked in at 2024-10-06 17:51:12
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/qcoro (Old)
and /work/SRC/openSUSE:Factory/.qcoro.new.19354 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "qcoro"
Sun Oct 6 17:51:12 2024 rev:11 rq:1205765 version:0.11.0
Changes:
--------
--- /work/SRC/openSUSE:Factory/qcoro/qcoro.changes 2024-02-01 18:03:56.431993840 +0100
+++ /work/SRC/openSUSE:Factory/.qcoro.new.19354/qcoro.changes 2024-10-06 17:51:15.955344449 +0200
@@ -1,0 +2,21 @@
+Fri Oct 4 21:37:21 UTC 2024 - Christophe Marin <christophe(a)krop.fr>
+
+- Update to 0.11.0
+ * Suppress Clang error when building against Android NDK <= 25
+ * Add QtGui dependency if QCORO_WITH_QTQUICK=ON
+ * Fix wrong result of QCoroIODevice::write()
+ * Add override to fix build failure due to -Werror -Wsuggest-override
+ * Fix coroutine being resumed on a wrong thread after timeout
+ * Implement QCoroFuture::takeResult
+ * #include , needed by std::exception_ptr
+ * waitFor(QCoro::Task): Do not require T to be default
+ constructible
+ * Add QCORO_BUILD_TESTING to allow overriding BUILD_TESTING
+ * Use refcount to track when to destroy coroutine
+ * Drop support for older compilers
+ * Implement LazyTask
+ * Use QueuedConnection for signals in QCoroNetworkReply
+ * Awaiting a default-constructed or moved-from Task will hang
+ * Add a backround task example
+
+-------------------------------------------------------------------
Old:
----
qcoro-0.10.0.tar.gz
New:
----
qcoro-0.11.0.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ qcoro.spec ++++++
--- /var/tmp/diff_new_pack.fTNzLx/_old 2024-10-06 17:51:16.475366059 +0200
+++ /var/tmp/diff_new_pack.fTNzLx/_new 2024-10-06 17:51:16.479366225 +0200
@@ -1,7 +1,7 @@
#
# spec file for package qcoro
#
-# Copyright (c) 2022 SUSE LLC
+# Copyright (c) 2024 SUSE LLC
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@@ -36,7 +36,7 @@
%endif
#
Name: qcoro%{?_pkg_name_suffix}
-Version: 0.10.0
+Version: 0.11.0
Release: 0
Summary: Coroutines for Qt
License: MIT
@@ -55,15 +55,15 @@
BuildRequires: cmake(Qt%{_qt_suffix}Core) >= %{qt_min_version}
BuildRequires: cmake(Qt%{_qt_suffix}DBus) >= %{qt_min_version}
BuildRequires: cmake(Qt%{_qt_suffix}Network) >= %{qt_min_version}
-BuildRequires: cmake(Qt%{_qt_suffix}Quick) >= %{qt_min_version}
BuildRequires: cmake(Qt%{_qt_suffix}Qml) >= %{qt_min_version}
+BuildRequires: cmake(Qt%{_qt_suffix}Quick) >= %{qt_min_version}
BuildRequires: cmake(Qt%{_qt_suffix}Test) >= %{qt_min_version}
BuildRequires: cmake(Qt%{_qt_suffix}WebSockets) >= %{qt_min_version}
BuildRequires: cmake(Qt%{_qt_suffix}Widgets) >= %{qt_min_version}
# C++-20 support is required
%if 0%{?qt5} && 0%{?suse_version} < 1550
-BuildRequires: gcc13-c++
BuildRequires: gcc13-PIE
+BuildRequires: gcc13-c++
%endif
%description
++++++ qcoro-0.10.0.tar.gz -> qcoro-0.11.0.tar.gz ++++++
++++ 2824 lines of diff (skipped)
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package apache-commons-io for openSUSE:Factory checked in at 2024-10-06 17:51:10
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/apache-commons-io (Old)
and /work/SRC/openSUSE:Factory/.apache-commons-io.new.19354 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "apache-commons-io"
Sun Oct 6 17:51:10 2024 rev:23 rq:1205749 version:2.17.0
Changes:
--------
--- /work/SRC/openSUSE:Factory/apache-commons-io/apache-commons-io.changes 2024-05-03 19:43:23.430322664 +0200
+++ /work/SRC/openSUSE:Factory/.apache-commons-io.new.19354/apache-commons-io.changes 2024-10-06 17:51:13.399238227 +0200
@@ -1,0 +2,87 @@
+Fri Oct 4 19:23:58 UTC 2024 - Fridrich Strba <fstrba(a)suse.com>
+
+- Upgrade to 2.17.0
+ * New features:
+ + Add IOIterator.adapt(Iterable)
+ + Add getInputStream() for 'https' and 'http' in URIOrigin
+ #630. Fixes IO-831
+ + Add IOSupplier.getUnchecked()
+ + Add CloseShieldInputStream.systemIn(InputStream)
+ + Add NullInputStream.init()
+ + Add AbstractInputStream and refactor duplicate code
+ + Add UnsynchronizedReader
+ + Add UnsynchronizedBufferedReader
+ * Fixes:
+ + FileUtilsWaitForTest does not test anything useful.
+ Fixes IO-858.
+ + Add missing unit tests
+ + FileUtils.lastModifiedFileTime(File) calls
+ Objects.requireNonNull() on the wrong object
+ + PathUtils.deleteOnExit(Path) calls Objects.requireNonNull()
+ on the wrong object
+ + Deprecate LineIterator.nextLine() in favor of next()
+ + Fix PMD UnnecessaryFullyQualifiedName
+ + Add test for CircularByteBuffer clear() #620
+ + PathUtils.isPosix(Path, LinkOption...) should return false on
+ null input
+ + AutoCloseInputStream(InputStream) uses
+ ClosedInputStream.INSTANCE when its input is null
+ + Avoid NullPointerException in ProxyInputStream.available()
+ when the underlying input stream is null
+ + Avoid NullPointerException in ProxyInputStream.markSupported()
+ when the underlying input stream is null
+ + Avoid NullPointerException in ProxyInputStream.mark(int) when
+ the underlying input stream is null
+ + BufferedFileChannelInputStream.available() returns 0 before
+ any reads
+ + BufferedFileChannelInputStream.available() should return 0
+ instead of -1 at the end of the stream
+ + BufferedFileChannelInputStream.available() should return 0
+ when the stream is closed instead of throwing an exception
+ + CharSequenceInputStream.available() should return 0 after the
+ stream is closed
+ + BoundedInputStream.available() should return 0 when the
+ stream is closed
+ + CircularInputStream.available() should return 0 when the
+ stream is closed
+ + InfiniteCircularInputStream.available() should return 0 when
+ the stream is closed
+ + ChecksumInputStream(InputStream, Checksum, long, long) should
+ fail-fast on null Checksum input
+ + Deprecate NullInputStream.INSTANCE in favor of constructors
+ + NullInputStream.available() should return 0 after the stream
+ is closed
+ + MemoryMappedFileInputStream.available() should return 0 after
+ the stream is closed
+ + RandomAccessFileInputStream.available() should return 0 after
+ the stream is closed
+ + ReaderInputStream.available() should return 0 after the
+ stream is closed
+ + AutoCloseInputStream does not call handleIOException() on
+ close() when the proxied stream throws an IOException
+ + BoundedInputStream does not call handleIOException() on
+ close() when the proxied stream throws an IOException
+ + NullInputStream.read(*) should throw IOException when it is
+ closed
+ + NullInputStream.read(byte[]) should return 0 when the input
+ byte array in length 0
+ + NullInputStream.read(byte[], int, int) should return 0 when
+ the input byte array in length 0 or requested length is 0
+ + MarkShieldInputStream.read(*) should throw IOException when
+ it is closed
+ + Replace deprecated constant FileFileFilter.FILE in Javadoc
+ #657
+ + Pick up exec-maven-plugin version from parent POM
+ * Updates:
+ + Bump tests commons.bytebuddy.version from 1.14.13 to 1.15.1
+ #615, #621, #631, #635, #642, #658, #663, #665
+ + Bump tests commons-codec:commons-codec from 1.16.1 to 1.17.1
+ #644
+ + Bump org.codehaus.mojo:exec-maven-plugin from 3.2.0 to 3.4.1
+ #632, #652, #659
+ + Bump org.apache.commons:commons-parent from 69 to 74 #628,
+ #637, #649, #661, #664
+ + Bump org.apache.commons:commons-lang3 from 3.14.0 to 3.17.0
+ #645, #653, #666
+
+-------------------------------------------------------------------
Old:
----
commons-io-2.16.1-src.tar.gz
commons-io-2.16.1-src.tar.gz.asc
New:
----
apache-commons-io.keyring
commons-io-2.17.0-src.tar.gz
commons-io-2.17.0-src.tar.gz.asc
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ apache-commons-io.spec ++++++
--- /var/tmp/diff_new_pack.8rpCO3/_old 2024-10-06 17:51:15.479324668 +0200
+++ /var/tmp/diff_new_pack.8rpCO3/_new 2024-10-06 17:51:15.483324834 +0200
@@ -19,7 +19,7 @@
%define base_name io
%define short_name commons-%{base_name}
Name: apache-%{short_name}
-Version: 2.16.1
+Version: 2.17.0
Release: 0
Summary: Utilities to assist with developing IO functionality
License: Apache-2.0
@@ -28,6 +28,7 @@
Source0: https://archive.apache.org/dist/commons/%{base_name}/source/%{short_name}-%…
Source1: https://archive.apache.org/dist/commons/%{base_name}/source/%{short_name}-%…
Source2: %{name}-build.xml
+Source100: https://downloads.apache.org/commons/KEYS#/%{name}.keyring
BuildRequires: ant >= 1.6
BuildRequires: fdupes
BuildRequires: java-devel >= 1.8
++++++ apache-commons-io-build.xml ++++++
--- /var/tmp/diff_new_pack.8rpCO3/_old 2024-10-06 17:51:15.515326164 +0200
+++ /var/tmp/diff_new_pack.8rpCO3/_new 2024-10-06 17:51:15.519326330 +0200
@@ -10,7 +10,7 @@
<property name="project.groupId" value="commons-io"/>
<property name="project.artifactId" value="commons-io"/>
- <property name="project.version" value="2.16.1"/>
+ <property name="project.version" value="2.17.0"/>
<property name="project.name" value="Apache Commons IO"/>
<property name="project.description" value="The Apache Commons IO library
contains utility classes, stream implementations, file filters,
++++++ apache-commons-io.keyring ++++++
++++ 10346 lines (skipped)
++++++ commons-io-2.16.1-src.tar.gz -> commons-io-2.17.0-src.tar.gz ++++++
++++ 10499 lines of diff (skipped)
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package javapackages-tools for openSUSE:Factory checked in at 2024-10-06 17:51:08
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/javapackages-tools (Old)
and /work/SRC/openSUSE:Factory/.javapackages-tools.new.19354 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "javapackages-tools"
Sun Oct 6 17:51:08 2024 rev:43 rq:1205748 version:6.3.2
Changes:
--------
--- /work/SRC/openSUSE:Factory/javapackages-tools/javapackages-tools.changes 2024-10-04 17:08:35.431940221 +0200
+++ /work/SRC/openSUSE:Factory/.javapackages-tools.new.19354/javapackages-tools.changes 2024-10-06 17:51:10.491117377 +0200
@@ -1,0 +2,21 @@
+Fri Oct 4 17:08:37 UTC 2024 - Fridrich Strba <fstrba(a)suse.com>
+
+- Upgrade to upstream version 6.3.2
+ * Changes
+ + spec: Update Obsoletes versions
+ + Search for JAVACMD under JAVA_HOME only if it's set
+ + Obsolete set_jvm and set_jvm_dirs functions
+ + Drop unneeded _set_java_home function
+ + Remove JAVA_HOME check from check_java_env function
+ + Bump codecov/codecov-action from 2.0.2 to 4.6.0
+ + Bump actions/setup-python from 4 to 5
+ + Bump actions/checkout from 2 to 4
+ + Add custom dependabot config
+ + Remove the test for JAVA_HOME and error if it is not set
+ + java-functions: Remove unneeded local variables
+ + Fix build status shield
+- Removed patch:
+ * 0001-Double-quote-to-avoid-substitution-during-build.patch
+ + Fixed differently in this version
+
+-------------------------------------------------------------------
Old:
----
0001-Double-quote-to-avoid-substitution-during-build.patch
6.3.1.tar.gz
New:
----
6.3.2.tar.gz
BETA DEBUG BEGIN:
Old:- Removed patch:
* 0001-Double-quote-to-avoid-substitution-during-build.patch
+ Fixed differently in this version
BETA DEBUG END:
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ javapackages-tools.spec ++++++
--- /var/tmp/diff_new_pack.g4jCgk/_old 2024-10-06 17:51:12.491200493 +0200
+++ /var/tmp/diff_new_pack.g4jCgk/_new 2024-10-06 17:51:12.495200659 +0200
@@ -30,7 +30,7 @@
%else
Name: javapackages-tools
%endif
-Version: 6.3.1
+Version: 6.3.2
Release: 0
Summary: Macros and scripts for Java packaging support
License: BSD-3-Clause
@@ -45,7 +45,6 @@
#PATCH-FIX-SUSE: SUSE did not bump epoch of openjdk packages, whereas Fedora did
# Avoid generating unresolvable requires
Patch2: suse-no-epoch.patch
-Patch3: 0001-Double-quote-to-avoid-substitution-during-build.patch
BuildRequires: fdupes
BuildRequires: perl
++++++ 6.3.1.tar.gz -> 6.3.2.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/javapackages-6.3.1/.github/dependabot.yml new/javapackages-6.3.2/.github/dependabot.yml
--- old/javapackages-6.3.1/.github/dependabot.yml 1970-01-01 01:00:00.000000000 +0100
+++ new/javapackages-6.3.2/.github/dependabot.yml 2024-10-04 12:02:35.000000000 +0200
@@ -0,0 +1,6 @@
+version: 2
+updates:
+ - package-ecosystem: "github-actions"
+ directory: "/"
+ schedule:
+ interval: "daily"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/javapackages-6.3.1/.github/workflows/ci.yml new/javapackages-6.3.2/.github/workflows/ci.yml
--- old/javapackages-6.3.1/.github/workflows/ci.yml 2024-09-29 20:41:29.000000000 +0200
+++ new/javapackages-6.3.2/.github/workflows/ci.yml 2024-10-04 12:02:35.000000000 +0200
@@ -26,9 +26,9 @@
runs-on: ubuntu-24.04
steps:
- name: Checkout git repository
- uses: actions/checkout@v2
+ uses: actions/checkout@v4
- name: Setup Python
- uses: actions/setup-python@v4
+ uses: actions/setup-python@v5
with:
python-version: '3.10'
- name: Install required Python packages
@@ -38,4 +38,4 @@
- name: Run check script
run: ./check
- name: Upload coverage report to Codecov
- uses: codecov/codecov-action(a)v2.0.2
+ uses: codecov/codecov-action(a)v4.6.0
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/javapackages-6.3.1/README.md new/javapackages-6.3.2/README.md
--- old/javapackages-6.3.1/README.md 2024-09-29 20:41:29.000000000 +0200
+++ new/javapackages-6.3.2/README.md 2024-10-04 12:02:35.000000000 +0200
@@ -1,4 +1,4 @@
-[![build status](https://img.shields.io/github/workflow/status/fedora-java/javapacka… [![test coverage](https://img.shields.io/codecov/c/github/fedora-java/javapackages/master.svg)](https://codecov.io/gh/fedora-java/javapackages)
+[![build status](https://img.shields.io/github/actions/workflow/status/fedora-java/j… [![test coverage](https://img.shields.io/codecov/c/github/fedora-java/javapackages/master.svg)](https://codecov.io/gh/fedora-java/javapackages)
Java Packages Tools is a collection of tools that make it easier to
build RPM packages containing software running on the Java platform.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/javapackages-6.3.1/java-utils/java-functions new/javapackages-6.3.2/java-utils/java-functions
--- old/javapackages-6.3.1/java-utils/java-functions 2024-09-29 20:41:29.000000000 +0200
+++ new/javapackages-6.3.2/java-utils/java-functions 2024-10-04 12:02:35.000000000 +0200
@@ -124,33 +124,9 @@
}
-# Test default JRE/JVM roots if nothing is defined yet
-_set_java_home()
-{
- local IFS=:
- local jvmdir
-
- if [ -n "${JAVA_HOME}" ]; then
- return
- fi
-
- unset JAVA_HOME
-}
-
-# Set the java virtual machine
+# Obsolete, does nothing
set_jvm()
{
- local IFS=:
- local javaconfdirs
-
- _set_java_home
-
- if [ -z "${JAVA_HOME}" ]; then
- javaconfdirs="${JAVACONFDIRS:-@{javaconfdir}}"
- _err "JAVA_HOME is not set and default java installation was not found. JAVA_HOME for system applications can be set in java.conf in ${javaconfdirs}"
- exit 1
- fi
-
return 0
}
@@ -159,8 +135,6 @@
{
local IFS
- _set_java_home
-
# get local classpath first
set -- "${@}" ${ADDITIONAL_JARS}
LOCAL_CLASSPATH=$("@{bindir}/build-classpath" "${@}")
@@ -178,22 +152,22 @@
return
fi
- set_jvm
-
# Add all sorts of jvm layouts here
- for cmd in jre/sh/java jre/bin/java bin/java; do
- JAVACMD="${JAVA_HOME}/${cmd}"
- if [ -x "${JAVACMD}" ]; then
- _log "Using configured JAVACMD: $JAVACMD"
- if [ -n "${JAVACMD_OPTS}" ]; then
- _log "Using java-wrapper with extra options: ${JAVACMD_OPTS}"
- export _JP_JAVACMD="${JAVACMD}"
- export _JP_JAVACMD_OPTS="${JAVACMD_OPTS}"
- JAVACMD="@{javadir}-utils/java-wrapper"
- fi
- return 0
- fi
- done
+ if [ -n "${JAVA_HOME}" ]; then
+ for cmd in jre/sh/java jre/bin/java bin/java; do
+ JAVACMD="${JAVA_HOME}/${cmd}"
+ if [ -x "${JAVACMD}" ]; then
+ _log "Using configured JAVACMD: $JAVACMD"
+ if [ -n "${JAVACMD_OPTS}" ]; then
+ _log "Using java-wrapper with extra options: ${JAVACMD_OPTS}"
+ export _JP_JAVACMD="${JAVACMD}"
+ export _JP_JAVACMD_OPTS="${JAVACMD_OPTS}"
+ JAVACMD="@{javadir}-utils/java-wrapper"
+ fi
+ return 0
+ fi
+ done
+ fi
JAVACMD=$(which java 2>/dev/null || :)
if [ -x "${JAVACMD}" ]; then
@@ -251,11 +225,9 @@
eval "exec \"\${JAVACMD}\" ${FLAGS} -classpath \"\${CLASSPATH}\" ${OPTIONS} \"\${MAIN_CLASS}\" \"\${@}\""
}
-# Set JVM-related directories
+# Obsolete, does nothing
set_jvm_dirs()
{
- _set_java_home
-
return 0
}
@@ -390,12 +362,6 @@
## Checks java environment
check_java_env()
{
- # This is usually set by set_jvm
- if [ -z "${JAVA_HOME}" ]; then
- _err "JAVA_HOME must be set"
- return 1
- fi
-
if [ -z "${JAVACMD}" ]; then
_err "JAVACMD must be set"
return 2
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/javapackages-6.3.1/javapackages-tools.spec new/javapackages-6.3.2/javapackages-tools.spec
--- old/javapackages-6.3.1/javapackages-tools.spec 2024-09-29 20:41:29.000000000 +0200
+++ new/javapackages-6.3.2/javapackages-tools.spec 2024-10-04 12:02:35.000000000 +0200
@@ -64,7 +64,7 @@
Requires: mvn(org.apache.maven.plugins:maven-resources-plugin)
Requires: mvn(org.apache.maven.plugins:maven-surefire-plugin)
# Remove in Fedora 45
-Obsoletes: maven-local < 7
+Obsoletes: maven-local < 6.3.0
Obsoletes: maven-local-openjdk8 < 6.2.0-29
Obsoletes: maven-local-openjdk11 < 6.2.0-29
Obsoletes: maven-local-openjdk17 < 6.2.0-29
@@ -95,14 +95,14 @@
%package -n javapackages-local-openjdk21
Summary: Non-essential macros and scripts for Java packaging support
-Obsoletes: javapackages-local < 7
+Obsoletes: javapackages-local < 6.3.0
Provides: javapackages-local = %{version}-%{release}
Requires: javapackages-common = %{version}-%{release}
Requires: xmvn-tools
# Java build systems don't have hard requirement on java-devel, so it should be there
Requires: java-21-openjdk-devel
Requires: xmvn-generator
-Obsoletes: javapackages-generators < 7
+Obsoletes: javapackages-generators < 6.3.0
%description -n javapackages-local-openjdk21
This package provides non-essential macros and scripts to support Java packaging.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/javapackages-6.3.1/macros.d/macros.jpackage new/javapackages-6.3.2/macros.d/macros.jpackage
--- old/javapackages-6.3.1/macros.d/macros.jpackage 2024-09-29 20:41:29.000000000 +0200
+++ new/javapackages-6.3.2/macros.d/macros.jpackage 2024-10-04 12:02:35.000000000 +0200
@@ -59,7 +59,6 @@
BASE_JARS="%(echo %4 | sed -e 's,:, ,g')"\
\
# Set parameters\
-set_jvm\
set_classpath \\$BASE_JARS\
set_flags \\$BASE_FLAGS\
set_options \\$BASE_OPTIONS\
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package 000update-repos for openSUSE:Factory checked in at 2024-10-05 21:04:17
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/000update-repos (Old)
and /work/SRC/openSUSE:Factory/.000update-repos.new.19354 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "000update-repos"
Sat Oct 5 21:04:17 2024 rev:2601 rq: version:unknown
Changes:
--------
New Changes file:
NO CHANGES FILE!!!
New:
----
factory:non-oss_4160.2.packages.zst
factory_20241003.packages.zst
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package 000product for openSUSE:Factory checked in at 2024-10-05 01:16:26
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/000product (Old)
and /work/SRC/openSUSE:Factory/.000product.new.19354 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "000product"
Sat Oct 5 01:16:26 2024 rev:4161 rq: version:unknown
Changes:
--------
New Changes file:
NO CHANGES FILE!!!
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ MicroOS-dvd5-dvd-x86_64.kiwi ++++++
--- /var/tmp/diff_new_pack.EARMH7/_old 2024-10-05 01:16:33.476422632 +0200
+++ /var/tmp/diff_new_pack.EARMH7/_new 2024-10-05 01:16:33.480422800 +0200
@@ -1,4 +1,4 @@
-<image name="OBS__MicroOS___20241003" schemaversion="4.1">
+<image name="OBS__MicroOS___20241004" schemaversion="4.1">
<description type="system">
<author>The SUSE Team</author>
<contact>build(a)opensuse.org</contact>
@@ -35,11 +35,11 @@
<productvar name="SEPARATE_MEDIA">true</productvar>
<productvar name="SHA1OPT">-x -2</productvar>
<productvar name="VENDOR">openSUSE</productvar>
- <productvar name="VERSION">20241003</productvar>
+ <productvar name="VERSION">20241004</productvar>
<productinfo name="CONTENTSTYLE">11</productinfo>
- <productinfo name="DISTRO">cpe:/o:opensuse:microos:20241003,openSUSE MicroOS</productinfo>
+ <productinfo name="DISTRO">cpe:/o:opensuse:microos:20241004,openSUSE MicroOS</productinfo>
<productinfo name="LINGUAS">en_US </productinfo>
- <productinfo name="REPOID">obsproduct://build.opensuse.org/openSUSE:Factory/MicroOS/20241003/x86_64</productinfo>
+ <productinfo name="REPOID">obsproduct://build.opensuse.org/openSUSE:Factory/MicroOS/20241004/x86_64</productinfo>
<productinfo name="VENDOR">openSUSE</productinfo>
<productoption name="INI_DIR">/usr/share/kiwi/modules/plugins/tumbleweed</productoption>
<productoption name="PLUGIN_DIR">/usr/share/kiwi/modules/plugins/tumbleweed</productoption>
++++++ openSUSE-Addon-NonOss-ftp-ftp-x86_64.kiwi ++++++
--- /var/tmp/diff_new_pack.EARMH7/_old 2024-10-05 01:16:33.516424299 +0200
+++ /var/tmp/diff_new_pack.EARMH7/_new 2024-10-05 01:16:33.524424633 +0200
@@ -1,4 +1,4 @@
-<image name="OBS__openSUSE-Addon-NonOss___20241003" schemaversion="4.1">
+<image name="OBS__openSUSE-Addon-NonOss___20241004" schemaversion="4.1">
<description type="system">
<author>The SUSE Team</author>
<contact>build(a)opensuse.org</contact>
@@ -35,11 +35,11 @@
<productvar name="SEPARATE_MEDIA">true</productvar>
<productvar name="SHA1OPT">-x -2</productvar>
<productvar name="VENDOR">openSUSE</productvar>
- <productvar name="VERSION">20241003</productvar>
+ <productvar name="VERSION">20241004</productvar>
<productinfo name="CONTENTSTYLE">11</productinfo>
- <productinfo name="DISTRO">cpe:/o:opensuse:opensuse-addon-nonoss:20241003,openSUSE NonOSS Addon</productinfo>
+ <productinfo name="DISTRO">cpe:/o:opensuse:opensuse-addon-nonoss:20241004,openSUSE NonOSS Addon</productinfo>
<productinfo name="LINGUAS">af ar be_BY bg br ca cy el et ga gl gu_IN he hi_IN hr ka km ko lt mk nn pa_IN rw sk sl sr_CS ss st tg th tr uk ve vi xh zu </productinfo>
- <productinfo name="REPOID">obsproduct://build.opensuse.org/openSUSE:Factory/openSUSE-Addon-NonOss/2024…</productinfo>
+ <productinfo name="REPOID">obsproduct://build.opensuse.org/openSUSE:Factory/openSUSE-Addon-NonOss/2024…</productinfo>
<productinfo name="VENDOR">openSUSE</productinfo>
<productoption name="INI_DIR">/usr/share/kiwi/modules/plugins/tumbleweed</productoption>
<productoption name="PLUGIN_DIR">/usr/share/kiwi/modules/plugins/tumbleweed</productoption>
++++++ openSUSE-cd-mini-x86_64.kiwi ++++++
--- /var/tmp/diff_new_pack.EARMH7/_old 2024-10-05 01:16:33.552425800 +0200
+++ /var/tmp/diff_new_pack.EARMH7/_new 2024-10-05 01:16:33.556425966 +0200
@@ -1,4 +1,4 @@
-<image name="OBS__openSUSE___20241003" schemaversion="4.1">
+<image name="OBS__openSUSE___20241004" schemaversion="4.1">
<description type="system">
<author>The SUSE Team</author>
<contact>build(a)opensuse.org</contact>
@@ -35,11 +35,11 @@
<productvar name="SEPARATE_MEDIA">true</productvar>
<productvar name="SHA1OPT">-x -2</productvar>
<productvar name="VENDOR">openSUSE</productvar>
- <productvar name="VERSION">20241003</productvar>
+ <productvar name="VERSION">20241004</productvar>
<productinfo name="CONTENTSTYLE">11</productinfo>
- <productinfo name="DISTRO">cpe:/o:opensuse:opensuse:20241003,openSUSE Tumbleweed</productinfo>
+ <productinfo name="DISTRO">cpe:/o:opensuse:opensuse:20241004,openSUSE Tumbleweed</productinfo>
<productinfo name="LINGUAS">cs da de el en en_GB en_US es fr hu it ja pl pt pt_BR ru zh zh_CN zh_TW </productinfo>
- <productinfo name="REPOID">obsproduct://build.opensuse.org/openSUSE:Factory/openSUSE/20241003/x86_64</productinfo>
+ <productinfo name="REPOID">obsproduct://build.opensuse.org/openSUSE:Factory/openSUSE/20241004/x86_64</productinfo>
<productinfo name="VENDOR">openSUSE</productinfo>
<productoption name="INI_DIR">/usr/share/kiwi/modules/plugins/tumbleweed</productoption>
<productoption name="PLUGIN_DIR">/usr/share/kiwi/modules/plugins/tumbleweed</productoption>
openSUSE-dvd5-dvd-x86_64.kiwi: same change
++++++ openSUSE-ftp-ftp-x86_64.kiwi ++++++
--- /var/tmp/diff_new_pack.EARMH7/_old 2024-10-05 01:16:33.620428634 +0200
+++ /var/tmp/diff_new_pack.EARMH7/_new 2024-10-05 01:16:33.624428801 +0200
@@ -1,4 +1,4 @@
-<image name="OBS__openSUSE___20241003" schemaversion="4.1">
+<image name="OBS__openSUSE___20241004" schemaversion="4.1">
<description type="system">
<author>The SUSE Team</author>
<contact>build(a)opensuse.org</contact>
@@ -23,7 +23,7 @@
<productvar name="DISTNAME">openSUSE</productvar>
<productvar name="FLAVOR">ftp</productvar>
<productvar name="MAKE_LISTINGS">true</productvar>
- <productvar name="MEDIUM_NAME">openSUSE-20241003-x86_64</productvar>
+ <productvar name="MEDIUM_NAME">openSUSE-20241004-x86_64</productvar>
<productvar name="MULTIPLE_MEDIA">true</productvar>
<productvar name="PRODUCT_DIR">/</productvar>
<productvar name="PRODUCT_NAME">$DISTNAME-$FLAVOR</productvar>
@@ -35,11 +35,11 @@
<productvar name="SEPARATE_MEDIA">true</productvar>
<productvar name="SHA1OPT">-x -2</productvar>
<productvar name="VENDOR">openSUSE</productvar>
- <productvar name="VERSION">20241003</productvar>
+ <productvar name="VERSION">20241004</productvar>
<productinfo name="CONTENTSTYLE">11</productinfo>
- <productinfo name="DISTRO">cpe:/o:opensuse:opensuse:20241003,openSUSE Tumbleweed</productinfo>
+ <productinfo name="DISTRO">cpe:/o:opensuse:opensuse:20241004,openSUSE Tumbleweed</productinfo>
<productinfo name="LINGUAS">cs da de el en en_GB en_US es fr hu it ja pl pt pt_BR ru zh zh_CN zh_TW </productinfo>
- <productinfo name="REPOID">obsproduct://build.opensuse.org/openSUSE:Factory/openSUSE/20241003/x86_64</productinfo>
+ <productinfo name="REPOID">obsproduct://build.opensuse.org/openSUSE:Factory/openSUSE/20241004/x86_64</productinfo>
<productinfo name="VENDOR">openSUSE</productinfo>
<productoption name="DEBUGMEDIUM">2</productoption>
<productoption name="INI_DIR">/usr/share/kiwi/modules/plugins/tumbleweed</productoption>
++++++ Aeon.product ++++++
--- /var/tmp/diff_new_pack.EARMH7/_old 2024-10-05 01:16:33.680431135 +0200
+++ /var/tmp/diff_new_pack.EARMH7/_new 2024-10-05 01:16:33.684431301 +0200
@@ -6,7 +6,7 @@
<name>Aeon</name>
<releasepkgname>Aeon-release</releasepkgname>
<endoflife/>
- <version>20241003</version>
+ <version>20241004</version>
<!-- release is no longer optional -->
<release>0</release>
<productline>Aeon</productline>
++++++ Kalpa.product ++++++
--- /var/tmp/diff_new_pack.EARMH7/_old 2024-10-05 01:16:33.704432135 +0200
+++ /var/tmp/diff_new_pack.EARMH7/_new 2024-10-05 01:16:33.708432302 +0200
@@ -6,7 +6,7 @@
<name>Kalpa</name>
<releasepkgname>Kalpa-release</releasepkgname>
<endoflife/>
- <version>20241003</version>
+ <version>20241004</version>
<!-- release is no longer optional -->
<release>0</release>
<productline>Kalpa</productline>
++++++ MicroOS.product ++++++
--- /var/tmp/diff_new_pack.EARMH7/_old 2024-10-05 01:16:33.732433302 +0200
+++ /var/tmp/diff_new_pack.EARMH7/_new 2024-10-05 01:16:33.736433468 +0200
@@ -6,7 +6,7 @@
<name>MicroOS</name>
<releasepkgname>MicroOS-release</releasepkgname>
<endoflife/>
- <version>20241003</version>
+ <version>20241004</version>
<!-- release is no longer optional -->
<release>0</release>
<productline>MicroOS</productline>
++++++ openSUSE-Addon-NonOss.product ++++++
--- /var/tmp/diff_new_pack.EARMH7/_old 2024-10-05 01:16:33.868438971 +0200
+++ /var/tmp/diff_new_pack.EARMH7/_new 2024-10-05 01:16:33.872439137 +0200
@@ -4,7 +4,7 @@
<product>
<vendor>openSUSE</vendor>
<name>openSUSE-Addon-NonOss</name>
- <version>20241003</version>
+ <version>20241004</version>
<release>0</release>
<summary>openSUSE NonOSS Addon</summary>
<shortsummary>non oss addon</shortsummary>
++++++ openSUSE.product ++++++
--- /var/tmp/diff_new_pack.EARMH7/_old 2024-10-05 01:16:33.896440137 +0200
+++ /var/tmp/diff_new_pack.EARMH7/_new 2024-10-05 01:16:33.900440303 +0200
@@ -4,7 +4,7 @@
<product>
<vendor>openSUSE</vendor>
<name>openSUSE</name>
- <version>20241003</version>
+ <version>20241004</version>
<release>0</release>
<productline>openSUSE</productline>
++++++ unsorted.yml ++++++
--- /var/tmp/diff_new_pack.EARMH7/_old 2024-10-05 01:16:34.020445305 +0200
+++ /var/tmp/diff_new_pack.EARMH7/_new 2024-10-05 01:16:34.028445638 +0200
@@ -11628,6 +11628,7 @@
- libWN3
- libWPEBackend-fdo-1_0-1
- libWPEBackend-fdo-1_0-1-32bit
+ - libWPEPlatform-2_0-0
- libWPEWebInspectorResources
- libWPEWebKit-2_0-1
- libWildMidi2
@@ -25407,6 +25408,7 @@
- python310-environ-config
- python310-environmental-override
- python310-envisage
+ - python310-envs
- python310-enzyme
- python310-ephem
- python310-ephemeral-port-reserve
@@ -27018,7 +27020,6 @@
- python310-pyviz-comms
- python310-pyvmomi
- python310-pyvo
- - python310-pywal
- python310-pywayland
- python310-pywbem
- python310-pywbemtools
@@ -29057,6 +29058,7 @@
- python311-environ-config
- python311-environmental-override
- python311-envisage
+ - python311-envs
- python311-enzyme
- python311-ephem
- python311-ephemeral-port-reserve
@@ -30603,7 +30605,6 @@
- python311-pyviz-comms
- python311-pyvmomi
- python311-pyvo
- - python311-pywal
- python311-pywayland
- python311-pywbem
- python311-pywbemtools
@@ -32661,6 +32662,7 @@
- python312-environ-config
- python312-environmental-override
- python312-envisage
+ - python312-envs
- python312-enzyme
- python312-ephem
- python312-ephemeral-port-reserve
@@ -34270,7 +34272,6 @@
- python312-pyviz-comms
- python312-pyvmomi
- python312-pyvo
- - python312-pywal
- python312-pywayland
- python312-pywbem
- python312-pywbemtools
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package 000release-packages for openSUSE:Factory checked in at 2024-10-04 17:41:32
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/000release-packages (Old)
and /work/SRC/openSUSE:Factory/.000release-packages.new.19354 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "000release-packages"
Fri Oct 4 17:41:32 2024 rev:3137 rq: version:unknown
Changes:
--------
--- /work/SRC/openSUSE:Factory/000release-packages/Aeon-release.changes 2024-10-04 08:17:21.533383938 +0200
+++ /work/SRC/openSUSE:Factory/.000release-packages.new.19354/Aeon-release.changes 2024-10-04 17:41:34.830623460 +0200
@@ -2 +2 @@
-Fri Oct 04 06:17:18 UTC 2024 - openSUSE <packaging(a)lists.opensuse.org>
+Fri Oct 04 15:41:30 UTC 2024 - openSUSE <packaging(a)lists.opensuse.org>
Kalpa-release.changes: same change
MicroOS-release.changes: same change
openSUSE-Addon-NonOss-release.changes: same change
openSUSE-release.changes: same change
stub.changes: same change
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ Aeon-release.spec ++++++
--- /var/tmp/diff_new_pack.KVBSgz/_old 2024-10-04 17:41:36.998714036 +0200
+++ /var/tmp/diff_new_pack.KVBSgz/_new 2024-10-04 17:41:36.998714036 +0200
@@ -17,7 +17,7 @@
Name: Aeon-release
-Version: 20241003
+Version: 20241004
Release: 0
Summary: Aeon
License: GPL-2.0-or-later
@@ -174,9 +174,9 @@
%include %{SOURCE100}
Provides: %name-%version
Provides: product() = Aeon
-Provides: product(Aeon) = 20241003-0
+Provides: product(Aeon) = 20241004-0
Provides: product-label() = Aeon
-Provides: product-cpeid() = cpe%3A%2Fo%3Aopensuse%3Aaeon%3A20241003
+Provides: product-cpeid() = cpe%3A%2Fo%3Aopensuse%3Aaeon%3A20241004
Provides: product-url(releasenotes) = http%3A%2F%2Fdoc.opensuse.org%2Frelease%2Dnotes%2Fx86_64%2FopenSUSE%2FTumbleweed%2Frelease%2Dnotes%2DopenSUSE.rpm
Provides: product-endoflife()
Requires: product_flavor(Aeon)
@@ -192,7 +192,7 @@
Group: System/Fhs
Provides: product_flavor()
Provides: flavor(appliance)
-Provides: product_flavor(Aeon) = 20241003-0
+Provides: product_flavor(Aeon) = 20241004-0
Summary: Aeon%{?betaversion: %{betaversion}}
%description appliance
@@ -257,11 +257,11 @@
<product schemeversion="0">
<vendor>openSUSE</vendor>
<name>Aeon</name>
- <version>20241003</version>
+ <version>20241004</version>
<release>0</release>
<endoflife></endoflife>
<arch>%{_target_cpu}</arch>
- <cpeid>cpe:/o:opensuse:aeon:20241003</cpeid>
+ <cpeid>cpe:/o:opensuse:aeon:20241004</cpeid>
<productline>Aeon</productline>
<register>
<pool>
++++++ Kalpa-release.spec ++++++
--- /var/tmp/diff_new_pack.KVBSgz/_old 2024-10-04 17:41:37.030715373 +0200
+++ /var/tmp/diff_new_pack.KVBSgz/_new 2024-10-04 17:41:37.030715373 +0200
@@ -17,7 +17,7 @@
Name: Kalpa-release
-Version: 20241003
+Version: 20241004
Release: 0
Summary: openSUSE Kalpa
License: GPL-2.0-or-later
@@ -174,9 +174,9 @@
%include %{SOURCE100}
Provides: %name-%version
Provides: product() = Kalpa
-Provides: product(Kalpa) = 20241003-0
+Provides: product(Kalpa) = 20241004-0
Provides: product-label() = openSUSE%20Kalpa
-Provides: product-cpeid() = cpe%3A%2Fo%3Aopensuse%3Akalpa%3A20241003
+Provides: product-cpeid() = cpe%3A%2Fo%3Aopensuse%3Akalpa%3A20241004
Provides: product-url(releasenotes) = http%3A%2F%2Fdoc.opensuse.org%2Frelease%2Dnotes%2Fx86_64%2FopenSUSE%2FTumbleweed%2Frelease%2Dnotes%2DopenSUSE.rpm
Provides: product-endoflife()
Requires: product_flavor(Kalpa)
@@ -192,7 +192,7 @@
Group: System/Fhs
Provides: product_flavor()
Provides: flavor(appliance)
-Provides: product_flavor(Kalpa) = 20241003-0
+Provides: product_flavor(Kalpa) = 20241004-0
Summary: openSUSE Kalpa%{?betaversion: %{betaversion}}
%description appliance
@@ -257,11 +257,11 @@
<product schemeversion="0">
<vendor>openSUSE</vendor>
<name>Kalpa</name>
- <version>20241003</version>
+ <version>20241004</version>
<release>0</release>
<endoflife></endoflife>
<arch>%{_target_cpu}</arch>
- <cpeid>cpe:/o:opensuse:kalpa:20241003</cpeid>
+ <cpeid>cpe:/o:opensuse:kalpa:20241004</cpeid>
<productline>Kalpa</productline>
<register>
<pool>
++++++ MicroOS-release.spec ++++++
--- /var/tmp/diff_new_pack.KVBSgz/_old 2024-10-04 17:41:37.070717044 +0200
+++ /var/tmp/diff_new_pack.KVBSgz/_new 2024-10-04 17:41:37.070717044 +0200
@@ -17,7 +17,7 @@
Name: MicroOS-release
-Version: 20241003
+Version: 20241004
Release: 0
Summary: openSUSE MicroOS
License: GPL-2.0-or-later
@@ -179,9 +179,9 @@
%include %{SOURCE100}
Provides: %name-%version
Provides: product() = MicroOS
-Provides: product(MicroOS) = 20241003-0
+Provides: product(MicroOS) = 20241004-0
Provides: product-label() = openSUSE%20MicroOS
-Provides: product-cpeid() = cpe%3A%2Fo%3Aopensuse%3Amicroos%3A20241003
+Provides: product-cpeid() = cpe%3A%2Fo%3Aopensuse%3Amicroos%3A20241004
Provides: product-url(releasenotes) = http%3A%2F%2Fdoc.opensuse.org%2Frelease%2Dnotes%2Fx86_64%2FopenSUSE%2FTumbleweed%2Frelease%2Dnotes%2DopenSUSE.rpm
Provides: product-endoflife()
Requires: product_flavor(MicroOS)
@@ -197,7 +197,7 @@
Group: System/Fhs
Provides: product_flavor()
Provides: flavor(dvd)
-Provides: product_flavor(MicroOS) = 20241003-0
+Provides: product_flavor(MicroOS) = 20241004-0
Summary: openSUSE MicroOS%{?betaversion: %{betaversion}}
%description dvd
@@ -213,7 +213,7 @@
Group: System/Fhs
Provides: product_flavor()
Provides: flavor(appliance)
-Provides: product_flavor(MicroOS) = 20241003-0
+Provides: product_flavor(MicroOS) = 20241004-0
Summary: openSUSE MicroOS%{?betaversion: %{betaversion}}
%description appliance
@@ -278,11 +278,11 @@
<product schemeversion="0">
<vendor>openSUSE</vendor>
<name>MicroOS</name>
- <version>20241003</version>
+ <version>20241004</version>
<release>0</release>
<endoflife></endoflife>
<arch>%{_target_cpu}</arch>
- <cpeid>cpe:/o:opensuse:microos:20241003</cpeid>
+ <cpeid>cpe:/o:opensuse:microos:20241004</cpeid>
<productline>MicroOS</productline>
<register>
<pool>
++++++ openSUSE-Addon-NonOss-release.spec ++++++
--- /var/tmp/diff_new_pack.KVBSgz/_old 2024-10-04 17:41:37.106718548 +0200
+++ /var/tmp/diff_new_pack.KVBSgz/_new 2024-10-04 17:41:37.106718548 +0200
@@ -18,7 +18,7 @@
Name: openSUSE-Addon-NonOss-release
%define product openSUSE-Addon-NonOss
-Version: 20241003
+Version: 20241004
#!BcntSyncTag: openSUSE-Addon-NonOss
Release: 0
Summary: openSUSE NonOSS Addon
@@ -26,9 +26,9 @@
Group: System/Fhs
Provides: %name-%version
Provides: product() = openSUSE%2DAddon%2DNonOss
-Provides: product(openSUSE-Addon-NonOss) = 20241003-0
+Provides: product(openSUSE-Addon-NonOss) = 20241004-0
Provides: product-label() = non%20oss%20addon
-Provides: product-cpeid() = cpe%3A%2Fo%3Aopensuse%3Aopensuse%2Daddon%2Dnonoss%3A20241003
+Provides: product-cpeid() = cpe%3A%2Fo%3Aopensuse%3Aopensuse%2Daddon%2Dnonoss%3A20241004
@@ -48,10 +48,10 @@
<product schemeversion="0">
<vendor>openSUSE</vendor>
<name>openSUSE-Addon-NonOss</name>
- <version>20241003</version>
+ <version>20241004</version>
<release>0</release>
<arch>%{_target_cpu}</arch>
- <cpeid>cpe:/o:opensuse:opensuse-addon-nonoss:20241003</cpeid>
+ <cpeid>cpe:/o:opensuse:opensuse-addon-nonoss:20241004</cpeid>
<register>
<pool>
</pool>
++++++ openSUSE-release.spec ++++++
--- /var/tmp/diff_new_pack.KVBSgz/_old 2024-10-04 17:41:37.134719718 +0200
+++ /var/tmp/diff_new_pack.KVBSgz/_new 2024-10-04 17:41:37.134719718 +0200
@@ -20,7 +20,7 @@
#define betaversion %{nil}
%define codename Tumbleweed
Name: openSUSE-release
-Version: 20241003
+Version: 20241004
Release: 0
# 0 is the product release, not the build release of this package
Summary: openSUSE Tumbleweed
@@ -185,7 +185,7 @@
%include %{SOURCE100}
Provides: %name-%version
Provides: product() = openSUSE
-Provides: product(openSUSE) = 20241003-0
+Provides: product(openSUSE) = 20241004-0
%ifarch x86_64
Provides: product-register-target() = openSUSE%2DTumbleweed%2Dx86_64
%endif
@@ -199,7 +199,7 @@
Provides: product-register-target() = openSUSE%2DTumbleweed%2Daarch64
%endif
Provides: product-label() = openSUSE
-Provides: product-cpeid() = cpe%3A%2Fo%3Aopensuse%3Aopensuse%3A20241003
+Provides: product-cpeid() = cpe%3A%2Fo%3Aopensuse%3Aopensuse%3A20241004
Provides: product-url(releasenotes) = http%3A%2F%2Fdoc.opensuse.org%2Frelease%2Dnotes%2Fx86_64%2FopenSUSE%2FTumbleweed%2Frelease%2Dnotes%2DopenSUSE.rpm
Provides: product-url(repository) = http%3A%2F%2Fdownload.opensuse.org%2Ftumbleweed%2Frepo%2Foss%2F
Requires: product_flavor(openSUSE)
@@ -213,7 +213,7 @@
Group: System/Fhs
Provides: product_flavor()
Provides: flavor(ftp)
-Provides: product_flavor(openSUSE) = 20241003-0
+Provides: product_flavor(openSUSE) = 20241004-0
Summary: openSUSE Tumbleweed%{?betaversion: %{betaversion}}
%description ftp
@@ -228,7 +228,7 @@
Group: System/Fhs
Provides: product_flavor()
Provides: flavor(mini)
-Provides: product_flavor(openSUSE) = 20241003-0
+Provides: product_flavor(openSUSE) = 20241004-0
Summary: openSUSE Tumbleweed%{?betaversion: %{betaversion}}
%description mini
@@ -243,7 +243,7 @@
Group: System/Fhs
Provides: product_flavor()
Provides: flavor(dvd)
-Provides: product_flavor(openSUSE) = 20241003-0
+Provides: product_flavor(openSUSE) = 20241004-0
Summary: openSUSE Tumbleweed%{?betaversion: %{betaversion}}
%description dvd
@@ -258,7 +258,7 @@
Group: System/Fhs
Provides: product_flavor()
Provides: flavor(livecd-kde)
-Provides: product_flavor(openSUSE) = 20241003-0
+Provides: product_flavor(openSUSE) = 20241004-0
Summary: openSUSE Tumbleweed%{?betaversion: %{betaversion}}
%description livecd-kde
@@ -273,7 +273,7 @@
Group: System/Fhs
Provides: product_flavor()
Provides: flavor(livecd-x11)
-Provides: product_flavor(openSUSE) = 20241003-0
+Provides: product_flavor(openSUSE) = 20241004-0
Summary: openSUSE Tumbleweed%{?betaversion: %{betaversion}}
%description livecd-x11
@@ -288,7 +288,7 @@
Group: System/Fhs
Provides: product_flavor()
Provides: flavor(livecd-gnome)
-Provides: product_flavor(openSUSE) = 20241003-0
+Provides: product_flavor(openSUSE) = 20241004-0
Summary: openSUSE Tumbleweed%{?betaversion: %{betaversion}}
%description livecd-gnome
@@ -303,7 +303,7 @@
Group: System/Fhs
Provides: product_flavor()
Provides: flavor(livecd-xfce)
-Provides: product_flavor(openSUSE) = 20241003-0
+Provides: product_flavor(openSUSE) = 20241004-0
Summary: openSUSE Tumbleweed%{?betaversion: %{betaversion}}
%description livecd-xfce
@@ -318,7 +318,7 @@
Group: System/Fhs
Provides: product_flavor()
Provides: flavor(usb-kde)
-Provides: product_flavor(openSUSE) = 20241003-0
+Provides: product_flavor(openSUSE) = 20241004-0
Summary: openSUSE Tumbleweed%{?betaversion: %{betaversion}}
%description usb-kde
@@ -333,7 +333,7 @@
Group: System/Fhs
Provides: product_flavor()
Provides: flavor(usb-gnome)
-Provides: product_flavor(openSUSE) = 20241003-0
+Provides: product_flavor(openSUSE) = 20241004-0
Summary: openSUSE Tumbleweed%{?betaversion: %{betaversion}}
%description usb-gnome
@@ -348,7 +348,7 @@
Group: System/Fhs
Provides: product_flavor()
Provides: flavor(usb-x11)
-Provides: product_flavor(openSUSE) = 20241003-0
+Provides: product_flavor(openSUSE) = 20241004-0
Summary: openSUSE Tumbleweed%{?betaversion: %{betaversion}}
%description usb-x11
@@ -363,7 +363,7 @@
Group: System/Fhs
Provides: product_flavor()
Provides: flavor(appliance)
-Provides: product_flavor(openSUSE) = 20241003-0
+Provides: product_flavor(openSUSE) = 20241004-0
Summary: openSUSE Tumbleweed%{?betaversion: %{betaversion}}
%description appliance
@@ -378,7 +378,7 @@
Group: System/Fhs
Provides: product_flavor()
Provides: flavor(appliance-docker)
-Provides: product_flavor(openSUSE) = 20241003-0
+Provides: product_flavor(openSUSE) = 20241004-0
Summary: openSUSE Tumbleweed%{?betaversion: %{betaversion}}
%description appliance-docker
@@ -393,7 +393,7 @@
Group: System/Fhs
Provides: product_flavor()
Provides: flavor(appliance-kvm)
-Provides: product_flavor(openSUSE) = 20241003-0
+Provides: product_flavor(openSUSE) = 20241004-0
Summary: openSUSE Tumbleweed%{?betaversion: %{betaversion}}
%description appliance-kvm
@@ -408,7 +408,7 @@
Group: System/Fhs
Provides: product_flavor()
Provides: flavor(appliance-vmware)
-Provides: product_flavor(openSUSE) = 20241003-0
+Provides: product_flavor(openSUSE) = 20241004-0
Summary: openSUSE Tumbleweed%{?betaversion: %{betaversion}}
%description appliance-vmware
@@ -423,7 +423,7 @@
Group: System/Fhs
Provides: product_flavor()
Provides: flavor(appliance-openstack)
-Provides: product_flavor(openSUSE) = 20241003-0
+Provides: product_flavor(openSUSE) = 20241004-0
Summary: openSUSE Tumbleweed%{?betaversion: %{betaversion}}
%description appliance-openstack
@@ -438,7 +438,7 @@
Group: System/Fhs
Provides: product_flavor()
Provides: flavor(appliance-hyperv)
-Provides: product_flavor(openSUSE) = 20241003-0
+Provides: product_flavor(openSUSE) = 20241004-0
Summary: openSUSE Tumbleweed%{?betaversion: %{betaversion}}
%description appliance-hyperv
@@ -453,7 +453,7 @@
Group: System/Fhs
Provides: product_flavor()
Provides: flavor(appliance-vagrant)
-Provides: product_flavor(openSUSE) = 20241003-0
+Provides: product_flavor(openSUSE) = 20241004-0
Summary: openSUSE Tumbleweed%{?betaversion: %{betaversion}}
%description appliance-vagrant
@@ -468,7 +468,7 @@
Group: System/Fhs
Provides: product_flavor()
Provides: flavor(appliance-wsl)
-Provides: product_flavor(openSUSE) = 20241003-0
+Provides: product_flavor(openSUSE) = 20241004-0
Summary: openSUSE Tumbleweed%{?betaversion: %{betaversion}}
%description appliance-wsl
@@ -483,7 +483,7 @@
Group: System/Fhs
Provides: product_flavor()
Provides: flavor(appliance-custom)
-Provides: product_flavor(openSUSE) = 20241003-0
+Provides: product_flavor(openSUSE) = 20241004-0
Summary: openSUSE Tumbleweed%{?betaversion: %{betaversion}}
%description appliance-custom
@@ -566,10 +566,10 @@
<product schemeversion="0">
<vendor>openSUSE</vendor>
<name>openSUSE</name>
- <version>20241003</version>
+ <version>20241004</version>
<release>0</release>
<arch>%{_target_cpu}</arch>
- <cpeid>cpe:/o:opensuse:opensuse:20241003</cpeid>
+ <cpeid>cpe:/o:opensuse:opensuse:20241004</cpeid>
<productline>openSUSE</productline>
<register>
<target>openSUSE-Tumbleweed-x86_64</target>
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package python-terminaltables for openSUSE:Factory checked in at 2024-10-04 17:13:30
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-terminaltables (Old)
and /work/SRC/openSUSE:Factory/.python-terminaltables.new.19354 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-terminaltables"
Fri Oct 4 17:13:30 2024 rev:4 rq:1205696 version:3.1.10
Changes:
--------
--- /work/SRC/openSUSE:Factory/python-terminaltables/python-terminaltables.changes 2024-02-08 19:05:32.094442181 +0100
+++ /work/SRC/openSUSE:Factory/.python-terminaltables.new.19354/python-terminaltables.changes 2024-10-04 17:13:31.656314641 +0200
@@ -1,0 +2,5 @@
+Fri Oct 4 07:52:27 UTC 2024 - ecsos <ecsos(a)opensuse.org>
+
+- Add %{?sle15_python_module_pythons}
+
+-------------------------------------------------------------------
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ python-terminaltables.spec ++++++
--- /var/tmp/diff_new_pack.CJBisx/_old 2024-10-04 17:13:32.960369103 +0200
+++ /var/tmp/diff_new_pack.CJBisx/_new 2024-10-04 17:13:32.964369271 +0200
@@ -17,6 +17,7 @@
%{?!python_module:%define python_module() python-%{**} python3-%{**}}
+%{?sle15_python_module_pythons}
Name: python-terminaltables
Version: 3.1.10
Release: 0
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package glab for openSUSE:Factory checked in at 2024-10-04 17:11:22
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/glab (Old)
and /work/SRC/openSUSE:Factory/.glab.new.19354 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "glab"
Fri Oct 4 17:11:22 2024 rev:34 rq:1205722 version:1.47.0
Changes:
--------
--- /work/SRC/openSUSE:Factory/glab/glab.changes 2024-09-11 16:57:29.319284125 +0200
+++ /work/SRC/openSUSE:Factory/.glab.new.19354/glab.changes 2024-10-04 17:11:41.707721868 +0200
@@ -1,0 +2,28 @@
+Thu Oct 03 10:04:45 UTC 2024 - opensuse_buildservice(a)ojkastl.de
+
+- Update to version 1.47.0:
+ * feat(stacked-diffs): Add origin fetch so sync will fully
+ pull+push
+ * docs: revise token-create page lightly
+ * feat(stack): introduce stack list command
+ * fix: use conventional linux package and archive file names
+ * chore(ci): run build_windows asap
+ * fix(stacked-diffs): fix MR creation for forks
+ * feat: cluster agent bootstrap command
+ * fix: glab mr view prompt disabled if NO_PROMPT is set with
+ multiple mr
+ * chore: insert commit subject + body to MR template descriptions
+ * chore: increase size of CI runners
+ * chore: optimize pipeline runtime
+ * feat: create personal, project or group tokens
+ * chore(deps): update @commitlint/config-conventional to ^19.5.0
+ * fix(repo clone): fix --with-shared behaviour
+ * chore: bump code intel component to v0.0.3
+ * chore(deps): update module k8s.io/client-go to v0.31.1
+ * chore(deps): update dependency @commitlint/lint to ^19.5.0
+ * fix: revise docker image dependencies
+ * chore(deps): update dependency @commitlint/format to ^19.5.0
+ * chore(deps): update golang to v1.23.1
+ * chore(deps): update module golang.org/x/oauth2 to v0.23.0
+
+-------------------------------------------------------------------
Old:
----
glab-1.46.1.obscpio
New:
----
glab-1.47.0.obscpio
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ glab.spec ++++++
--- /var/tmp/diff_new_pack.ET6NiZ/_old 2024-10-04 17:11:42.391750444 +0200
+++ /var/tmp/diff_new_pack.ET6NiZ/_new 2024-10-04 17:11:42.395750611 +0200
@@ -20,7 +20,7 @@
%define __arch_install_post export NO_BRP_STRIP_DEBUG=true
Name: glab
-Version: 1.46.1
+Version: 1.47.0
Release: 0
Summary: A GitLab command line tool
License: MIT
++++++ _service ++++++
--- /var/tmp/diff_new_pack.ET6NiZ/_old 2024-10-04 17:11:42.427751948 +0200
+++ /var/tmp/diff_new_pack.ET6NiZ/_new 2024-10-04 17:11:42.431752115 +0200
@@ -2,7 +2,7 @@
<service name="obs_scm" mode="manual">
<param name="url">https://gitlab.com/gitlab-org/cli.git</param>
<param name="scm">git</param>
- <param name="revision">v1.46.1</param>
+ <param name="revision">v1.47.0</param>
<param name="versionformat">@PARENT_TAG@</param>
<param name="versionrewrite-pattern">v(.*)</param>
<param name="filename">glab</param>
++++++ _servicedata ++++++
--- /var/tmp/diff_new_pack.ET6NiZ/_old 2024-10-04 17:11:42.455753117 +0200
+++ /var/tmp/diff_new_pack.ET6NiZ/_new 2024-10-04 17:11:42.459753284 +0200
@@ -1,6 +1,6 @@
<servicedata>
<service name="tar_scm">
<param name="url">https://gitlab.com/gitlab-org/cli.git</param>
- <param name="changesrevision">3280dd8c135061e5e496e9ff168394fcad033ae7</param></service></servicedata>
+ <param name="changesrevision">d98a9c0ff48eaaf7621cf7426dd4ac387f5bf7ff</param></service></servicedata>
(No newline at EOF)
++++++ glab-1.46.1.obscpio -> glab-1.47.0.obscpio ++++++
/work/SRC/openSUSE:Factory/glab/glab-1.46.1.obscpio /work/SRC/openSUSE:Factory/.glab.new.19354/glab-1.47.0.obscpio differ: char 49, line 1
++++++ glab.obsinfo ++++++
--- /var/tmp/diff_new_pack.ET6NiZ/_old 2024-10-04 17:11:42.515755623 +0200
+++ /var/tmp/diff_new_pack.ET6NiZ/_new 2024-10-04 17:11:42.515755623 +0200
@@ -1,5 +1,5 @@
name: glab
-version: 1.46.1
-mtime: 1725998266
-commit: 3280dd8c135061e5e496e9ff168394fcad033ae7
+version: 1.47.0
+mtime: 1727871778
+commit: d98a9c0ff48eaaf7621cf7426dd4ac387f5bf7ff
++++++ vendor.tar.gz ++++++
/work/SRC/openSUSE:Factory/glab/vendor.tar.gz /work/SRC/openSUSE:Factory/.glab.new.19354/vendor.tar.gz differ: char 5, line 1
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package evdi for openSUSE:Factory checked in at 2024-10-04 17:11:15
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/evdi (Old)
and /work/SRC/openSUSE:Factory/.evdi.new.19354 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "evdi"
Fri Oct 4 17:11:15 2024 rev:8 rq:1205677 version:1.14.7
Changes:
--------
--- /work/SRC/openSUSE:Factory/evdi/evdi.changes 2024-08-02 17:28:07.819266686 +0200
+++ /work/SRC/openSUSE:Factory/.evdi.new.19354/evdi.changes 2024-10-04 17:11:38.471586679 +0200
@@ -1,0 +2,16 @@
+Fri Oct 04 11:15:59 UTC 2024 - joan.torres(a)suse.com
+
+- Update to version 1.14.7:
+ * Set version to 1.14.7
+ * Fix venv for pytest.run.sh
+ * Test that card opening does not take too long
+ * Do not wait for master on wayland session
+ * Test that monitor power off event is sent on vt terminal swithc when user is connected
+ * Test that no monitor power off events are sent when user driver is not connected
+ * Test that evdi_painter listens to VT notifications
+ * Blank evdi display on switch to tty console. Fixes GH-474.
+ * Add evdi_test_data base test context stucture and drm_device removal hook
+ * Make evdi_painter_dpms_notify to take evdi_painter as argument instead of evdi_device
+- With this update fix-v1.14.5-build.patch is not needed anymore.
+
+-------------------------------------------------------------------
Old:
----
evdi-1.14.5.obscpio
fix-v1.14.5-build.patch
New:
----
evdi-1.14.7.obscpio
BETA DEBUG BEGIN:
Old: * Make evdi_painter_dpms_notify to take evdi_painter as argument instead of evdi_device
- With this update fix-v1.14.5-build.patch is not needed anymore.
BETA DEBUG END:
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ evdi.spec ++++++
--- /var/tmp/diff_new_pack.3UjMHO/_old 2024-10-04 17:11:39.367624112 +0200
+++ /var/tmp/diff_new_pack.3UjMHO/_new 2024-10-04 17:11:39.371624278 +0200
@@ -21,7 +21,7 @@
Name: evdi
Release: 0
-Version: 1.14.5
+Version: 1.14.7
Summary: Extensible Virtual Display Interface (EVDI) is a Linux Kernel Module
License: GPL-2.0-only AND LGPL-2.1-only
Group: System/Kernel
@@ -30,7 +30,6 @@
Source1: evdi-kmp-preamble
Source2: evdi-rpmlintrc
Patch0: evdi-Enable-compilation-against-15.5.patch
-Patch1: fix-v1.14.5-build.patch
BuildRequires: %{kernel_module_package_buildreqs}
BuildRequires: pkgconfig
BuildRequires: pkgconfig(libdrm)
@@ -74,7 +73,6 @@
%if 0%{?sle_version} == 150500
%patch -P 0 -p1
%endif
-%patch -P 1 -p1
%build
pushd library
++++++ _service ++++++
--- /var/tmp/diff_new_pack.3UjMHO/_old 2024-10-04 17:11:39.399625448 +0200
+++ /var/tmp/diff_new_pack.3UjMHO/_new 2024-10-04 17:11:39.403625616 +0200
@@ -3,7 +3,7 @@
<service name="obs_scm" mode="manual">
<param name="scm">git</param>
<param name="url">https://github.com/DisplayLink/evdi.git</param>
- <param name="revision">v1.14.5</param>
+ <param name="revision">v1.14.7</param>
<param name="versionformat">@PARENT_TAG@</param>
<param name="versionrewrite-pattern">v(.*)</param>
<param name="versionrewrite-replacement">\1</param>
++++++ evdi-1.14.5.obscpio -> evdi-1.14.7.obscpio ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/evdi-1.14.5/.gitlab/CODEOWNERS new/evdi-1.14.7/.gitlab/CODEOWNERS
--- old/evdi-1.14.5/.gitlab/CODEOWNERS 1970-01-01 01:00:00.000000000 +0100
+++ new/evdi-1.14.7/.gitlab/CODEOWNERS 2024-09-20 11:14:26.000000000 +0200
@@ -0,0 +1,2 @@
+[MAINTAINER]
+* @lspintzyk @jprussak @emajewska @mlukaszek @akaleta
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/evdi-1.14.5/README.md new/evdi-1.14.7/README.md
--- old/evdi-1.14.5/README.md 2024-06-26 10:30:41.000000000 +0200
+++ new/evdi-1.14.7/README.md 2024-09-20 11:14:26.000000000 +0200
@@ -24,6 +24,10 @@
- The communication between the EVDI kernel module and the wrapper libevdi library is not access-controlled or authenticated. This could be improved in future releases, making it harder to compromise the data EVDI is sending and receiving.
- EVDI kernel module driver is currently a platform_driver, for multiple reasons; most importantly because virtual displays are not discoverable, i.e. cannot be enumerated at the hardware level. EVDI is also a generic device, not tied to any particular kind of device, transport layer or a bus.
+## Packages for other distributions
+
+There is an unoffical github project at [DisplayLink RPM](https://github.com/displaylink-rpm/displaylink-rpm) which is generating RPM package for Fedora, CentOS Stream, Rocky Linux and AlmaLinux OS. It is not in our control but it uses our code as the basis to create the RPM packages.
+
## Licensing
Elements of this project are licensed under various licenses. In particular, the `module` and `library` are licensed
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/evdi-1.14.5/ci/deb_config new/evdi-1.14.7/ci/deb_config
--- old/evdi-1.14.5/ci/deb_config 2024-06-26 10:30:41.000000000 +0200
+++ new/evdi-1.14.7/ci/deb_config 2024-09-20 11:14:26.000000000 +0200
@@ -8,7 +8,7 @@
evdi_maintainer='Synaptics Technical Support <technical-enquiries(a)synaptics.com>'
# shellcheck disable=SC2034
-evdi_version='1.14.5'
+evdi_version='1.14.7'
# shellcheck disable=SC2034
evdi_description="Extensible Virtual Display Interface (EVDI) is a Linux® kernel module that enables management of multiple screens.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/evdi-1.14.5/ci/run_style_check new/evdi-1.14.7/ci/run_style_check
--- old/evdi-1.14.5/ci/run_style_check 2024-06-26 10:30:41.000000000 +0200
+++ new/evdi-1.14.7/ci/run_style_check 2024-09-20 11:14:26.000000000 +0200
@@ -24,7 +24,7 @@
./checkpatch.pl --terse --no-tree --ignore NEW_TYPEDEFS -f ./library/*
result=$((result || $?))
-find ./module -type f -exec ./checkpatch.pl --terse --no-tree --ignore LINUX_VERSION_CODE,PREFER_PR_LEVEL -f {} +
+find ./module -type f -exec ./checkpatch.pl --terse --no-tree --ignore LINUX_VERSION_CODE,PREFER_PR_LEVEL -f {} \;
result=$((result || $?))
rm "${files[@]}"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/evdi-1.14.5/library/Makefile new/evdi-1.14.7/library/Makefile
--- old/evdi-1.14.5/library/Makefile 2024-06-26 10:30:41.000000000 +0200
+++ new/evdi-1.14.7/library/Makefile 2024-09-20 11:14:26.000000000 +0200
@@ -1,5 +1,5 @@
#
-# Copyright (c) 2015 - 2020 DisplayLink (UK) Ltd.
+# Copyright (c) 2015 - 2024 DisplayLink (UK) Ltd.
#
INSTALL ?= install
@@ -11,7 +11,7 @@
DEPS = evdi_ioctl.h
CFLAGS := -I../module -std=gnu99 -fPIC -D_FILE_OFFSET_BITS=64 $(CFLAGS) $$($(PKG_CONFIG) --cflags-only-I libdrm)
-LIBVER := 1.14.5
+LIBVER := 1.14.7
LIBABI := 1
PREFIX ?= /usr/local
@@ -25,7 +25,7 @@
%.o: %.c $(DEPS)
$(CC) $(CFLAGS) -o $@ -c $<
-libevdi.so.$(LIBVER): evdi_lib.o
+libevdi.so.$(LIBVER): evdi_lib.o evdi_procfs.o
$(CC) $^ -shared -Wl,-soname,libevdi.so.$(LIBABI) -o $@ -lc -lgcc $(LDFLAGS)
$(CP) libevdi.so.$(LIBVER) libevdi.so
$(LN) -sf libevdi.so.$(LIBVER) libevdi.so.$(LIBABI)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/evdi-1.14.5/library/evdi_lib.c new/evdi-1.14.7/library/evdi_lib.c
--- old/evdi-1.14.5/library/evdi_lib.c 2024-06-26 10:30:41.000000000 +0200
+++ new/evdi-1.14.7/library/evdi_lib.c 2024-09-20 11:14:26.000000000 +0200
@@ -1,5 +1,5 @@
// SPDX-License-Identifier: LGPL-2.1-only
-// Copyright (c) 2015 - 2020 DisplayLink (UK) Ltd.
+// Copyright (c) 2015 - 2024 DisplayLink (UK) Ltd.
#include <stddef.h>
#include <stdint.h>
@@ -131,11 +131,9 @@
static void addFrameBuffer(evdi_handle context,
struct evdi_buffer const *frame_buffer)
{
- struct evdi_frame_buffer_node **node = NULL;
-
- for (node = &context->frameBuffersListHead;
+ for (struct evdi_frame_buffer_node **node = &context->frameBuffersListHead;
;
- node = (struct evdi_frame_buffer_node **)&(*node)->next) {
+ node = &(*node)->next) {
if (*node)
continue;
@@ -150,15 +148,12 @@
* @brief Removes all frame buffers matching the given id
* @param id of frame buffer to remove, NULL matches every buffer, thus all
* will be removed
- * @return number of buffers removed
- * @todo Return value doesn't seem to be used anywhere
*/
-static int removeFrameBuffer(evdi_handle context, int const *id)
+static void removeFrameBuffer(evdi_handle context, int const *id)
{
struct evdi_frame_buffer_node *current = NULL;
struct evdi_frame_buffer_node *next = NULL;
struct evdi_frame_buffer_node **prev = NULL;
- int removedCount = 0;
current = context->frameBuffersListHead;
prev = &context->frameBuffersListHead;
@@ -167,7 +162,6 @@
if (!id || current->frame_buffer.id == *id) {
free(current);
- ++removedCount;
*prev = next;
} else {
prev = ¤t->next;
@@ -175,8 +169,6 @@
current = next;
}
-
- return removedCount;
}
static int is_evdi_compatible(int fd)
@@ -210,7 +202,9 @@
static int is_evdi(int fd)
{
- char name[64] = { 0 }, date[64] = { 0 }, desc[64] = { 0 };
+ char name[64] = { 0 };
+ char date[64] = { 0 };
+ char desc[64] = { 0 };
struct drm_version ver = {
.name_len = sizeof(name),
.name = name,
@@ -311,7 +305,7 @@
{
pid_t myself = getpid();
DIR *proc_dir;
- struct dirent *proc_entry;
+ const struct dirent *proc_entry;
int result = 0;
proc_dir = opendir("/proc");
@@ -319,7 +313,7 @@
return 0;
while ((proc_entry = readdir(proc_dir)) != NULL) {
- char *d_name = proc_entry->d_name;
+ const char *d_name = proc_entry->d_name;
if (d_name[0] < '0'
|| d_name[0] > '9'
@@ -415,9 +409,8 @@
snprintf(dev, PATH_MAX, "/dev/dri/card%d", device);
-#ifndef CHROMEOS
- wait_for_master(dev);
-#endif
+ if (Xorg_running())
+ wait_for_master(dev);
fd = wait_for_device(dev);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/evdi-1.14.5/library/evdi_lib.h new/evdi-1.14.7/library/evdi_lib.h
--- old/evdi-1.14.5/library/evdi_lib.h 2024-06-26 10:30:41.000000000 +0200
+++ new/evdi-1.14.7/library/evdi_lib.h 2024-09-20 11:14:26.000000000 +0200
@@ -1,5 +1,5 @@
/* SPDX-License-Identifier: LGPL-2.1-only
- * Copyright (c) 2015 - 2020 DisplayLink (UK) Ltd.
+ * Copyright (c) 2015 - 2024 DisplayLink (UK) Ltd.
*/
#ifndef EVDI_LIB_H
@@ -15,7 +15,7 @@
#define LIBEVDI_VERSION_MAJOR 1
#define LIBEVDI_VERSION_MINOR 14
-#define LIBEVDI_VERSION_PATCH 5
+#define LIBEVDI_VERSION_PATCH 7
struct evdi_lib_version {
int version_major;
@@ -134,6 +134,8 @@
void evdi_get_lib_version(struct evdi_lib_version *version);
void evdi_set_logging(struct evdi_logging evdi_logging);
+bool Xorg_running(void);
+
#ifdef __cplusplus
}
#endif
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/evdi-1.14.5/library/evdi_procfs.c new/evdi-1.14.7/library/evdi_procfs.c
--- old/evdi-1.14.5/library/evdi_procfs.c 1970-01-01 01:00:00.000000000 +0100
+++ new/evdi-1.14.7/library/evdi_procfs.c 2024-09-20 11:14:26.000000000 +0200
@@ -0,0 +1,113 @@
+// SPDX-License-Identifier: LGPL-2.1-only
+// Copyright (c) 2015 - 2024 DisplayLink (UK) Ltd.
+
+#include "evdi_lib.h"
+#include <assert.h>
+#include <dirent.h>
+#include <errno.h>
+#include <fcntl.h>
+#include <poll.h>
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+#include <sys/ioctl.h>
+#include <sys/mman.h>
+#include <sys/stat.h>
+#include <sys/types.h>
+#include <unistd.h>
+
+const int command_length = 50;
+const int name_length = 30;
+
+static FILE *open_process_folder(const char *pid)
+{
+ FILE *pf;
+ char command[command_length];
+
+ snprintf(command, command_length, "/proc/%s/stat", pid);
+ pf = fopen(command, "r");
+
+ return pf;
+}
+
+static void close_folder(FILE *pf)
+{
+ if (fclose(pf) != 0)
+ exit(EXIT_FAILURE);
+}
+
+static char *process_name(FILE *pf)
+{
+ int Xorg_name_len = 6;
+ char *name = (char *)malloc(Xorg_name_len * sizeof(char));
+
+ fscanf(pf, "%*s");
+ fscanf(pf, "%6s", name); // Xorg process had name (Xorg)
+
+ return name;
+}
+
+static bool is_name_Xorg(const char *name)
+{
+ return strstr(name, "Xorg") != NULL;
+}
+
+static bool is_Xorg(const char *pid)
+{
+ FILE *pf;
+ bool result;
+ char *name;
+
+ pf = open_process_folder(pid);
+ if (pf == NULL)
+ return false;
+ name = process_name(pf);
+ result = is_name_Xorg(name);
+
+ close_folder(pf);
+ free(name);
+
+ return result;
+}
+
+static bool is_numeric(const char *str)
+{
+ return str[0] >= '0' && str[0] <= '9';
+}
+
+static bool is_Xorg_process_folder(const struct dirent *proc_entry)
+{
+ const char *folder_name = proc_entry->d_name;
+
+ if (is_numeric(folder_name) && is_Xorg(folder_name))
+ return true;
+
+ return false;
+}
+
+static bool iterate_through_all_process_folders_and_find_Xorg(void)
+{
+ DIR *proc_dir;
+ const struct dirent *proc_entry;
+ bool result = false;
+
+ proc_dir = opendir("/proc");
+ if (proc_dir == NULL)
+ return false;
+
+
+ while ((proc_entry = readdir(proc_dir)) != NULL) {
+ if (is_Xorg_process_folder(proc_entry)) {
+ result = true;
+ break;
+ }
+ }
+
+ closedir(proc_dir);
+ return result;
+}
+
+bool Xorg_running(void)
+{
+ return iterate_through_all_process_folders_and_find_Xorg();
+}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/evdi-1.14.5/module/Makefile new/evdi-1.14.7/module/Makefile
--- old/evdi-1.14.5/module/Makefile 2024-06-26 10:30:41.000000000 +0200
+++ new/evdi-1.14.7/module/Makefile 2024-09-20 11:14:26.000000000 +0200
@@ -52,6 +52,7 @@
ccflags-y := -isystem include/uapi/drm $(CFLAGS) $(EL8FLAG) $(EL9FLAG) $(RPIFLAG)
evdi-y := evdi_platform_drv.o evdi_platform_dev.o evdi_sysfs.o evdi_modeset.o evdi_connector.o evdi_encoder.o evdi_drm_drv.o evdi_fb.o evdi_gem.o evdi_painter.o evdi_params.o evdi_cursor.o evdi_debug.o evdi_i2c.o
evdi-$(CONFIG_COMPAT) += evdi_ioc32.o
+CONFIG_DRM_EVDI ?= m
obj-$(CONFIG_DRM_EVDI) := evdi.o
obj-y += tests/
@@ -62,7 +63,7 @@
DKMS ?= dkms
RM ?= rm
-MODVER=1.14.5
+MODVER=1.14.7
ifeq ($(KVER),)
KVER := $(shell uname -r)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/evdi-1.14.5/module/dkms.conf new/evdi-1.14.7/module/dkms.conf
--- old/evdi-1.14.5/module/dkms.conf 2024-06-26 10:30:41.000000000 +0200
+++ new/evdi-1.14.7/module/dkms.conf 2024-09-20 11:14:26.000000000 +0200
@@ -7,7 +7,7 @@
#
PACKAGE_NAME="evdi"
-PACKAGE_VERSION=1.14.5
+PACKAGE_VERSION=1.14.7
AUTOINSTALL=yes
MAKE[0]="make all INCLUDEDIR=/lib/modules/$kernelver/build/include KVERSION=$kernelver DKMS_BUILD=1"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/evdi-1.14.5/module/dkms_install.sh new/evdi-1.14.7/module/dkms_install.sh
--- old/evdi-1.14.5/module/dkms_install.sh 2024-06-26 10:30:41.000000000 +0200
+++ new/evdi-1.14.7/module/dkms_install.sh 2024-09-20 11:14:26.000000000 +0200
@@ -2,7 +2,7 @@
# SPDX-License-Identifier: GPL-2.0-only
# Copyright (c) 2023 DisplayLink (UK) Ltd.
-evdi_version='1.14.5'
+evdi_version='1.14.7'
EVDI_DIR=$(dirname "${BASH_SOURCE[0]}")
EVDI_REBOOT_RATIONALE=
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/evdi-1.14.5/module/evdi_drm_drv.c new/evdi-1.14.7/module/evdi_drm_drv.c
--- old/evdi-1.14.5/module/evdi_drm_drv.c 2024-06-26 10:30:41.000000000 +0200
+++ new/evdi-1.14.7/module/evdi_drm_drv.c 2024-09-20 11:14:26.000000000 +0200
@@ -159,6 +159,8 @@
kfree(evdi);
dev->dev_private = NULL;
EVDI_INFO("Evdi drm_device removed.\n");
+
+ EVDI_TEST_HOOK(evdi_testhook_drm_device_destroyed());
}
static int evdi_drm_device_init(struct drm_device *dev)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/evdi-1.14.5/module/evdi_drm_drv.h new/evdi-1.14.7/module/evdi_drm_drv.h
--- old/evdi-1.14.5/module/evdi_drm_drv.h 2024-06-26 10:30:41.000000000 +0200
+++ new/evdi-1.14.7/module/evdi_drm_drv.h 2024-09-20 11:14:26.000000000 +0200
@@ -38,7 +38,7 @@
#include <drm/drm_framebuffer.h>
#include "evdi_debug.h"
-
+#include "tests/evdi_test.h"
struct evdi_fbdev;
struct evdi_painter;
@@ -145,7 +145,7 @@
struct drm_crtc *crtc,
struct drm_pending_vblank_event *vblank);
void evdi_painter_send_update_ready_if_needed(struct evdi_painter *painter);
-void evdi_painter_dpms_notify(struct evdi_device *evdi, int mode);
+void evdi_painter_dpms_notify(struct evdi_painter *painter, int mode);
void evdi_painter_mode_changed_notify(struct evdi_device *evdi,
struct drm_display_mode *mode);
unsigned int evdi_painter_poll(struct file *filp,
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/evdi-1.14.5/module/evdi_fb.c new/evdi-1.14.7/module/evdi_fb.c
--- old/evdi-1.14.5/module/evdi_fb.c 2024-06-26 10:30:41.000000000 +0200
+++ new/evdi-1.14.7/module/evdi_fb.c 2024-09-20 11:14:26.000000000 +0200
@@ -404,7 +404,7 @@
fb = &efbdev->efb.base;
efbdev->helper.fb = fb;
-#if KERNEL_VERSION(6, 2, 0) <= LINUX_VERSION_CODE || defined(EL8) || defined(EL9)
+#if KERNEL_VERSION(6, 1, 51) <= LINUX_VERSION_CODE || defined(EL8) || defined(EL9)
efbdev->helper.info = info;
#else
efbdev->helper.fbdev = info;
@@ -464,7 +464,7 @@
{
struct fb_info *info;
-#if KERNEL_VERSION(6, 2, 0) <= LINUX_VERSION_CODE || defined(EL8) || defined(EL9)
+#if KERNEL_VERSION(6, 1, 51) <= LINUX_VERSION_CODE || defined(EL8) || defined(EL9)
if (efbdev->helper.info) {
info = efbdev->helper.info;
#else
@@ -556,7 +556,7 @@
return;
efbdev = evdi->fbdev;
-#if KERNEL_VERSION(6, 2, 0) <= LINUX_VERSION_CODE || defined(EL8) || defined(EL9)
+#if KERNEL_VERSION(6, 1, 51) <= LINUX_VERSION_CODE || defined(EL8) || defined(EL9)
if (efbdev->helper.info) {
struct fb_info *info;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/evdi-1.14.5/module/evdi_modeset.c new/evdi-1.14.7/module/evdi_modeset.c
--- old/evdi-1.14.5/module/evdi_modeset.c 2024-06-26 10:30:41.000000000 +0200
+++ new/evdi-1.14.7/module/evdi_modeset.c 2024-09-20 11:14:26.000000000 +0200
@@ -86,7 +86,7 @@
evdi_painter_mode_changed_notify(evdi, &crtc_state->adjusted_mode);
if (notify_dpms)
- evdi_painter_dpms_notify(evdi,
+ evdi_painter_dpms_notify(evdi->painter,
crtc_state->active ? DRM_MODE_DPMS_ON : DRM_MODE_DPMS_OFF);
evdi_painter_set_vblank(evdi->painter, crtc, crtc_state->event);
@@ -258,9 +258,9 @@
crtc = state->crtc;
if (!old_state->crtc && state->crtc)
- evdi_painter_dpms_notify(evdi, DRM_MODE_DPMS_ON);
+ evdi_painter_dpms_notify(evdi->painter, DRM_MODE_DPMS_ON);
else if (old_state->crtc && !state->crtc)
- evdi_painter_dpms_notify(evdi, DRM_MODE_DPMS_OFF);
+ evdi_painter_dpms_notify(evdi->painter, DRM_MODE_DPMS_OFF);
if (state->fb) {
struct drm_framebuffer *fb = state->fb;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/evdi-1.14.5/module/evdi_painter.c new/evdi-1.14.7/module/evdi_painter.c
--- old/evdi-1.14.5/module/evdi_painter.c 2024-06-26 10:30:41.000000000 +0200
+++ new/evdi-1.14.7/module/evdi_painter.c 2024-09-20 11:14:26.000000000 +0200
@@ -30,6 +30,10 @@
#include <linux/completion.h>
#include <linux/dma-buf.h>
+#include <linux/vt_kern.h>
+#if KERNEL_VERSION(5, 4, 0) <= LINUX_VERSION_CODE
+#include <linux/compiler_attributes.h>
+#endif
#if KERNEL_VERSION(5, 16, 0) <= LINUX_VERSION_CODE || defined(EL9)
MODULE_IMPORT_NS(DMA_BUF);
@@ -104,6 +108,8 @@
struct completion ddcci_response_received;
char *ddcci_buffer;
unsigned int ddcci_buffer_length;
+ struct notifier_block vt_notifier;
+ int fg_console;
};
static void expand_rect(struct drm_clip_rect *a, const struct drm_clip_rect *b)
@@ -500,6 +506,7 @@
{
struct drm_pending_event *event = create_dpms_event(mode);
+ EVDI_TEST_HOOK(evdi_testhook_painter_send_dpms(mode));
evdi_painter_send_event(painter, event);
}
@@ -696,13 +703,12 @@
static const char * const dpms_str[] = { "on", "standby", "suspend", "off" };
-void evdi_painter_dpms_notify(struct evdi_device *evdi, int mode)
+void evdi_painter_dpms_notify(struct evdi_painter *painter, int mode)
{
- struct evdi_painter *painter = evdi->painter;
const char *mode_str;
if (!painter) {
- EVDI_WARN("(card%d) Painter does not exist!", evdi->dev_index);
+ EVDI_WARN("Painter does not exist!");
return;
}
@@ -711,6 +717,11 @@
switch (mode) {
case DRM_MODE_DPMS_ON:
+ painter->fg_console = fg_console;
+#if KERNEL_VERSION(5, 4, 0) <= LINUX_VERSION_CODE
+ fallthrough;
+#else
+#endif
case DRM_MODE_DPMS_STANDBY:
case DRM_MODE_DPMS_SUSPEND:
case DRM_MODE_DPMS_OFF:
@@ -719,8 +730,8 @@
default:
mode_str = "unknown";
};
- EVDI_INFO("(card%d) Notifying display power state: %s",
- evdi->dev_index, mode_str);
+ EVDI_INFO("(card%d) Notifying display power state: %s\n",
+ painter->drm_device->primary->index, mode_str);
evdi_painter_send_dpms(painter, mode);
}
@@ -1177,6 +1188,38 @@
schedule_delayed_work(&painter->send_events_work, msecs_to_jiffies(5));
}
+#define vt_notifier_block_to_evdi_painter(x) container_of(x, struct evdi_painter, vt_notifier)
+static int evdi_painter_vt_notifier_call(struct notifier_block *blk,
+ __always_unused unsigned long code, __always_unused void *_param)
+{
+ struct evdi_painter *painter = vt_notifier_block_to_evdi_painter(blk);
+
+ if (painter->is_connected && fg_console != painter->fg_console && !painter->needs_full_modeset) {
+ EVDI_INFO("(card%d) VT switch detected\n", painter->drm_device->primary->index);
+ evdi_painter_dpms_notify(painter, DRM_MODE_DPMS_OFF);
+ evdi_painter_force_full_modeset(painter);
+ }
+
+ return NOTIFY_OK;
+}
+
+
+static void evdi_painter_register_to_vt(struct evdi_painter *painter)
+{
+ painter->vt_notifier.notifier_call = evdi_painter_vt_notifier_call;
+ register_vt_notifier(&painter->vt_notifier);
+
+ EVDI_TEST_HOOK(evdi_testhook_painter_vt_register(&painter->vt_notifier));
+}
+
+static void evdi_painter_unregister_from_vt(struct evdi_painter *painter)
+{
+ unregister_vt_notifier(&painter->vt_notifier);
+ painter->vt_notifier.notifier_call = NULL;
+
+ EVDI_TEST_HOOK(evdi_testhook_painter_vt_register(&painter->vt_notifier));
+}
+
int evdi_painter_init(struct evdi_device *dev)
{
EVDI_CHECKPT();
@@ -1189,6 +1232,8 @@
dev->painter->crtc = NULL;
dev->painter->vblank = NULL;
dev->painter->drm_device = dev->ddev;
+ evdi_painter_register_to_vt(dev->painter);
+
INIT_LIST_HEAD(&dev->painter->pending_events);
INIT_DELAYED_WORK(&dev->painter->send_events_work,
evdi_send_events_work);
@@ -1207,6 +1252,7 @@
}
painter_lock(painter);
+ evdi_painter_unregister_from_vt(painter);
kfree(painter->edid);
painter->edid_length = 0;
painter->edid = NULL;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/evdi-1.14.5/module/evdi_platform_dev.c new/evdi-1.14.7/module/evdi_platform_dev.c
--- old/evdi-1.14.5/module/evdi_platform_dev.c 2024-06-26 10:30:41.000000000 +0200
+++ new/evdi-1.14.7/module/evdi_platform_dev.c 2024-09-20 11:14:26.000000000 +0200
@@ -85,7 +85,11 @@
return PTR_ERR_OR_ZERO(dev);
}
+#if KERNEL_VERSION(6, 11, 0) <= LINUX_VERSION_CODE
+void evdi_platform_device_remove(struct platform_device *pdev)
+#else
int evdi_platform_device_remove(struct platform_device *pdev)
+#endif
{
struct evdi_platform_device_data *data = platform_get_drvdata(pdev);
@@ -93,7 +97,10 @@
evdi_drm_device_remove(data->drm_dev);
kfree(data);
+#if KERNEL_VERSION(6, 11, 0) <= LINUX_VERSION_CODE
+#else
return 0;
+#endif
}
bool evdi_platform_device_is_free(struct platform_device *pdev)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/evdi-1.14.5/module/evdi_platform_dev.h new/evdi-1.14.7/module/evdi_platform_dev.h
--- old/evdi-1.14.5/module/evdi_platform_dev.h 2024-06-26 10:30:41.000000000 +0200
+++ new/evdi-1.14.7/module/evdi_platform_dev.h 2024-09-20 11:14:26.000000000 +0200
@@ -21,6 +21,7 @@
#define _EVDI_PLATFORM_DEV_H_
#include <linux/types.h>
+#include <linux/version.h>
struct platform_device_info;
struct platform_device;
@@ -31,7 +32,11 @@
void evdi_platform_dev_destroy(struct platform_device *dev);
int evdi_platform_device_probe(struct platform_device *pdev);
+#if KERNEL_VERSION(6, 11, 0) <= LINUX_VERSION_CODE
+void evdi_platform_device_remove(struct platform_device *pdev);
+#else
int evdi_platform_device_remove(struct platform_device *pdev);
+#endif
bool evdi_platform_device_is_free(struct platform_device *pdev);
void evdi_platform_device_link(struct platform_device *pdev,
struct device *parent);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/evdi-1.14.5/module/evdi_platform_drv.h new/evdi-1.14.7/module/evdi_platform_drv.h
--- old/evdi-1.14.5/module/evdi_platform_drv.h 2024-06-26 10:30:41.000000000 +0200
+++ new/evdi-1.14.7/module/evdi_platform_drv.h 2024-09-20 11:14:26.000000000 +0200
@@ -25,11 +25,11 @@
#define DRIVER_NAME "evdi"
#define DRIVER_DESC "Extensible Virtual Display Interface"
-#define DRIVER_DATE "20240626"
+#define DRIVER_DATE "20240920"
#define DRIVER_MAJOR 1
#define DRIVER_MINOR 14
-#define DRIVER_PATCH 5
+#define DRIVER_PATCH 7
void evdi_platform_remove_all_devices(struct device *device);
unsigned int evdi_platform_device_count(struct device *device);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/evdi-1.14.5/module/tests/Makefile new/evdi-1.14.7/module/tests/Makefile
--- old/evdi-1.14.5/module/tests/Makefile 2024-06-26 10:30:41.000000000 +0200
+++ new/evdi-1.14.7/module/tests/Makefile 2024-09-20 11:14:26.000000000 +0200
@@ -1,4 +1,5 @@
ccflags-$(CONFIG_DRM_EVDI_KUNIT_TEST) += -I$(srctree)/drivers/gpu/drm/evdi
-obj-$(CONFIG_DRM_EVDI_KUNIT_TEST) += evdi_test.o
+
+obj-$(CONFIG_DRM_EVDI_KUNIT_TEST) += evdi_test.o test_evdi_vt_switch.o evdi_fake_user_client.o evdi_fake_compositor.o
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/evdi-1.14.5/module/tests/evdi_fake_compositor.c new/evdi-1.14.7/module/tests/evdi_fake_compositor.c
--- old/evdi-1.14.5/module/tests/evdi_fake_compositor.c 1970-01-01 01:00:00.000000000 +0100
+++ new/evdi-1.14.7/module/tests/evdi_fake_compositor.c 2024-09-20 11:14:26.000000000 +0200
@@ -0,0 +1,72 @@
+// SPDX-License-Identifier: GPL-2.0-only
+/*
+ * Copyright (c) 2024 DisplayLink (UK) Ltd.
+ *
+ * This file is subject to the terms and conditions of the GNU General Public
+ * License v2. See the file COPYING in the main directory of this archive for
+ * more details.
+ */
+
+
+#include <kunit/test.h>
+#include <kunit/test-bug.h>
+#include <kunit/device.h>
+
+#include <linux/file.h>
+#include <linux/vt_kern.h>
+
+#include <drm/drm_fourcc.h>
+
+#include "evdi_drm_drv.h"
+#include "evdi_drm.h"
+#include "tests/evdi_test.h"
+#include "tests/evdi_fake_compositor.h"
+
+
+void evdi_fake_compositor_create(struct kunit *test)
+{
+ struct kunit_resource *resource;
+ struct evdi_fake_compositor_data *compositor_data;
+
+ resource = kunit_find_named_resource(test, "fake_wayland");
+ if (resource) {
+ KUNIT_FAIL(test, "fake_wayland data already exists");
+ return;
+ }
+
+ resource = kunit_kzalloc(test, sizeof(struct kunit_resource), GFP_KERNEL);
+ compositor_data = kunit_kzalloc(test, sizeof(struct evdi_fake_compositor_data), GFP_KERNEL);
+ kunit_add_named_resource(test, NULL, NULL, resource, "fake_wayland", compositor_data);
+
+ static const struct drm_display_mode default_mode = {
+ DRM_SIMPLE_MODE(640, 480, 64, 48)
+ };
+ struct evdi_framebuffer efb = {
+ .base = {
+ .format = drm_format_info(DRM_FORMAT_XRGB8888),
+ .pitches = { 4*640, 0, 0 },
+ },
+ .obj = NULL,
+ .active = true
+ };
+
+ compositor_data->efb = kunit_kzalloc(test, sizeof(struct evdi_framebuffer), GFP_KERNEL);
+ memcpy(compositor_data->efb, &efb, sizeof(struct evdi_framebuffer));
+ memcpy(&compositor_data->mode, &default_mode, sizeof(default_mode));
+}
+
+void evdi_fake_compositor_connect(struct kunit *test, struct drm_device *device)
+{
+ struct kunit_resource *resource = kunit_find_named_resource(test, "fake_wayland");
+ struct evdi_fake_compositor_data *compositor_data = resource->data;
+ struct evdi_device *evdi = (struct evdi_device *)device->dev_private;
+
+ evdi_painter_set_scanout_buffer(evdi->painter, compositor_data->efb);
+ evdi_painter_mode_changed_notify(evdi, &compositor_data->mode);
+ evdi_painter_dpms_notify(evdi->painter, DRM_MODE_DPMS_ON);
+}
+
+void evdi_fake_compositor_disconnect(__maybe_unused struct kunit *test, __maybe_unused struct drm_device *device)
+{
+}
+
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/evdi-1.14.5/module/tests/evdi_fake_compositor.h new/evdi-1.14.7/module/tests/evdi_fake_compositor.h
--- old/evdi-1.14.5/module/tests/evdi_fake_compositor.h 1970-01-01 01:00:00.000000000 +0100
+++ new/evdi-1.14.7/module/tests/evdi_fake_compositor.h 2024-09-20 11:14:26.000000000 +0200
@@ -0,0 +1,37 @@
+/* SPDX-License-Identifier: GPL-2.0-only
+ *
+ * Copyright (c) 2024 DisplayLink (UK) Ltd.
+ *
+ * This file is subject to the terms and conditions of the GNU General Public
+ * License v2. See the file COPYING in the main directory of this archive for
+ * more details.
+ */
+
+#ifndef EVDI_FAKE_COMPOSITOR_H
+#define EVDI_FAKE_COMPOSITOR_H
+
+#ifdef CONFIG_DRM_EVDI_KUNIT_TEST
+
+
+#include <kunit/test.h>
+#include <kunit/test-bug.h>
+#include <kunit/device.h>
+
+
+
+/* kunit tests helpers faking userspace compositor leveraging evdi to add virtual display.
+ * e.g. Xorg, gnome-wayland, kwin
+ */
+struct evdi_fake_compositor_data {
+ struct evdi_framebuffer *efb;
+ struct drm_display_mode mode;
+};
+
+void evdi_fake_compositor_create(struct kunit *test);
+void evdi_fake_compositor_connect(struct kunit *test, struct drm_device *device);
+void evdi_fake_compositor_disconnect(struct kunit *test, struct drm_device *device);
+
+
+#endif // CONFIG_DRM_EVDI_KUNIT_TEST
+#endif // EVDI_FAKE_COMPOSITOR_H
+
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/evdi-1.14.5/module/tests/evdi_fake_user_client.c new/evdi-1.14.7/module/tests/evdi_fake_user_client.c
--- old/evdi-1.14.5/module/tests/evdi_fake_user_client.c 1970-01-01 01:00:00.000000000 +0100
+++ new/evdi-1.14.7/module/tests/evdi_fake_user_client.c 2024-09-20 11:14:26.000000000 +0200
@@ -0,0 +1,89 @@
+// SPDX-License-Identifier: GPL-2.0-only
+/*
+ * Copyright (c) 2024 DisplayLink (UK) Ltd.
+ *
+ * This file is subject to the terms and conditions of the GNU General Public
+ * License v2. See the file COPYING in the main directory of this archive for
+ * more details.
+ */
+
+
+#include <kunit/test.h>
+#include <kunit/test-bug.h>
+#include <kunit/device.h>
+
+#include <linux/file.h>
+#include <linux/vt_kern.h>
+
+#include <drm/drm_file.h>
+
+#include "evdi_drm_drv.h"
+#include "evdi_drm.h"
+#include "tests/evdi_test.h"
+#include "tests/evdi_fake_user_client.h"
+
+/* copied from drm/tests/drm_kunit_edid.h */
+static const unsigned char test_edid_dvi_1080p[] = {
+ 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x31, 0xd8, 0x2a, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x21, 0x01, 0x03, 0x81, 0xa0, 0x5a, 0x78,
+ 0x0a, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01,
+ 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x02, 0x3a, 0x80, 0x18, 0x71, 0x38,
+ 0x2d, 0x40, 0x58, 0x2c, 0x45, 0x00, 0x40, 0x84, 0x63, 0x00, 0x00, 0x1e,
+ 0x00, 0x00, 0x00, 0xfc, 0x00, 0x54, 0x65, 0x73, 0x74, 0x20, 0x45, 0x44,
+ 0x49, 0x44, 0x0a, 0x20, 0x20, 0x20, 0x00, 0x00, 0x00, 0xfd, 0x00, 0x32,
+ 0x46, 0x1e, 0x46, 0x0f, 0x00, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
+ 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xab
+};
+
+void evdi_fake_user_client_create(struct kunit *test)
+{
+ struct kunit_resource *resource;
+ struct evdi_fake_user_data *user_data;
+
+ resource = kunit_find_named_resource(test, "fake_evdi_user");
+ if (resource) {
+ KUNIT_FAIL(test, "fake_evdi_user data already exists");
+ return;
+ }
+
+ resource = kunit_kzalloc(test, sizeof(struct kunit_resource), GFP_KERNEL);
+ user_data = kunit_kzalloc(test, sizeof(struct evdi_fake_user_data), GFP_KERNEL);
+ kunit_add_named_resource(test, NULL, NULL, resource, "fake_evdi_user", user_data);
+}
+
+void evdi_fake_user_client_connect(struct kunit *test, struct drm_device *device)
+{
+ struct kunit_resource *resource = kunit_find_named_resource(test, "fake_evdi_user");
+ struct evdi_fake_user_data *user_data = resource->data;
+
+ void __user *user_edid = evdi_kunit_alloc_usermem(test, sizeof(test_edid_dvi_1080p));
+ struct drm_evdi_connect connect_data = {
+ .connected = true,
+ .dev_index = device->primary->index,
+ .edid = user_edid,
+ .edid_length = sizeof(test_edid_dvi_1080p),
+ .pixel_area_limit = 1920 * 1080,
+ .pixel_per_second_limit = 1920 * 1080 * 60,
+ };
+
+ if (copy_to_user((unsigned char * __user)connect_data.edid, test_edid_dvi_1080p, sizeof(test_edid_dvi_1080p)))
+ KUNIT_FAIL(test, "Failed to copy edid to userspace memory");
+ user_data->file = mock_drm_getfile(device->primary, O_RDWR);
+
+ evdi_painter_connect_ioctl(device, &connect_data, user_data->file->private_data);
+}
+
+void evdi_fake_user_client_disconnect(struct kunit *test, struct drm_device *device)
+{
+ struct kunit_resource *resource = kunit_find_named_resource(test, "fake_evdi_user");
+ struct evdi_fake_user_data *user_data = resource->data;
+
+ if (user_data->file) {
+ fput(user_data->file);
+ user_data->file = NULL;
+ flush_delayed_fput();
+ }
+}
+
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/evdi-1.14.5/module/tests/evdi_fake_user_client.h new/evdi-1.14.7/module/tests/evdi_fake_user_client.h
--- old/evdi-1.14.5/module/tests/evdi_fake_user_client.h 1970-01-01 01:00:00.000000000 +0100
+++ new/evdi-1.14.7/module/tests/evdi_fake_user_client.h 2024-09-20 11:14:26.000000000 +0200
@@ -0,0 +1,37 @@
+/* SPDX-License-Identifier: GPL-2.0-only
+ *
+ * Copyright (c) 2024 DisplayLink (UK) Ltd.
+ *
+ * This file is subject to the terms and conditions of the GNU General Public
+ * License v2. See the file COPYING in the main directory of this archive for
+ * more details.
+ */
+
+#ifndef EVDI_FAKE_USER_CLIENT_H
+#define EVDI_FAKE_USER_CLIENT_H
+
+#ifdef CONFIG_DRM_EVDI_KUNIT_TEST
+
+
+#include <kunit/test.h>
+#include <kunit/test-bug.h>
+#include <kunit/device.h>
+
+#include <linux/file.h>
+#include <linux/compiler_types.h>
+#include <drm/drm_device.h>
+
+/* kunit tests helpers faking evdi userspace client, usually displaylink-driver daemon. */
+
+struct evdi_fake_user_data {
+ struct file *file;
+};
+void __user *evdi_kunit_alloc_usermem(struct kunit *test, unsigned int size);
+
+void evdi_fake_user_client_create(struct kunit *test);
+void evdi_fake_user_client_connect(struct kunit *test, struct drm_device *device);
+void evdi_fake_user_client_disconnect(struct kunit *test, struct drm_device *device);
+
+#endif // CONFIG_DRM_EVDI_KUNIT_TEST
+#endif // EVDI_FAKE_USER_CLIENT_H
+
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/evdi-1.14.5/module/tests/evdi_test.c new/evdi-1.14.7/module/tests/evdi_test.c
--- old/evdi-1.14.5/module/tests/evdi_test.c 2024-06-26 10:30:41.000000000 +0200
+++ new/evdi-1.14.7/module/tests/evdi_test.c 2024-09-20 11:14:26.000000000 +0200
@@ -7,21 +7,103 @@
* more details.
*/
-
+#include <linux/jiffies.h>
#include <kunit/test.h>
+#include <kunit/test-bug.h>
#include <kunit/device.h>
+#include <linux/mman.h>
+#include <linux/module.h>
+#include <linux/sched.h>
+#include <linux/slab.h>
+#include <linux/uaccess.h>
+#include <linux/jiffies.h>
#include "evdi_drm_drv.h"
+void __user *evdi_kunit_alloc_usermem(struct kunit *test, unsigned int size)
+{
+ void *kmem = kunit_kzalloc(test, size, GFP_KERNEL);
+ unsigned long user_addr;
+
+ KUNIT_ASSERT_NOT_ERR_OR_NULL(test, kmem);
+
+ user_addr = kunit_vm_mmap(test, NULL, 0, size,
+ PROT_READ | PROT_WRITE | PROT_EXEC,
+ MAP_ANONYMOUS | MAP_PRIVATE, 0);
+ KUNIT_ASSERT_NE_MSG(test, user_addr, 0,
+ "Could not create userspace mm");
+ KUNIT_ASSERT_LT_MSG(test, user_addr, (unsigned long)TASK_SIZE,
+ "Failed to allocate user memory");
+
+ return (void __user *)user_addr;
+}
+
+void evdi_testhook_painter_vt_register(struct notifier_block *vt_notifier)
+{
+ struct kunit *test = kunit_get_current_test();
+ struct evdi_test_data *base = (struct evdi_test_data *)test->priv;
+
+ if (base && base->hooks.painter_vt_register)
+ base->hooks.painter_vt_register(vt_notifier);
+}
+
+void evdi_testhook_painter_send_dpms(int mode)
+{
+ struct kunit *test = kunit_get_current_test();
+ struct evdi_test_data *base = (struct evdi_test_data *)test->priv;
+
+ if (base && base->hooks.painter_send_dpms)
+ base->hooks.painter_send_dpms(mode);
+}
+
+void evdi_testhook_drm_device_destroyed(void)
+{
+ struct kunit *test = kunit_get_current_test();
+ struct evdi_test_data *base = (struct evdi_test_data *)test->priv;
+
+ if (base && base->hooks.drm_device_destroyed)
+ base->hooks.drm_device_destroyed();
+}
+
+static void testhook_drm_device_destroyed(void)
+{
+ struct kunit *test = kunit_get_current_test();
+ struct evdi_test_data *base = (struct evdi_test_data *)test->priv;
+
+ complete(base->dev_destroyed);
+}
+
+void evdi_test_data_init(struct kunit *test, struct evdi_test_data *data)
+{
+ data->parent = kunit_device_register(test, "/dev/card1");
+ data->dev_destroyed = kunit_kzalloc(test, sizeof(struct completion), GFP_KERNEL);
+ init_completion(data->dev_destroyed);
+
+ data->hooks.drm_device_destroyed = testhook_drm_device_destroyed;
+ test->priv = (void *)data;
+}
+
+void evdi_test_data_exit(struct kunit *test, struct evdi_test_data *data)
+{
+ if (!wait_for_completion_timeout(data->dev_destroyed, msecs_to_jiffies(1000)))
+ KUNIT_FAIL(test, "Failed to wait for drm_device removal\n");
+
+ kunit_device_unregister(test, data->parent);
+}
+
static void test_evdi_create_drm_device(struct kunit *test)
{
- struct device *parent = kunit_device_register(test, "/dev/card1");
- struct drm_device *dev = evdi_drm_device_create(parent);
+ struct evdi_test_data *data = kunit_kzalloc(test, sizeof(struct evdi_test_data), GFP_KERNEL);
+ struct drm_device *dev;
+
+ evdi_test_data_init(test, data);
+
+ dev = evdi_drm_device_create(data->parent);
KUNIT_EXPECT_NOT_NULL(test, dev);
evdi_drm_device_remove(dev);
-
- kunit_device_unregister(test, parent);
+ evdi_test_data_exit(test, data);
+ kunit_kfree(test, test->priv);
}
static struct kunit_case evdi_test_cases[] = {
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/evdi-1.14.5/module/tests/evdi_test.h new/evdi-1.14.7/module/tests/evdi_test.h
--- old/evdi-1.14.5/module/tests/evdi_test.h 1970-01-01 01:00:00.000000000 +0100
+++ new/evdi-1.14.7/module/tests/evdi_test.h 2024-09-20 11:14:26.000000000 +0200
@@ -0,0 +1,52 @@
+/* SPDX-License-Identifier: GPL-2.0-only
+ *
+ * Copyright (c) 2024 DisplayLink (UK) Ltd.
+ *
+ * This file is subject to the terms and conditions of the GNU General Public
+ * License v2. See the file COPYING in the main directory of this archive for
+ * more details.
+ */
+
+
+#ifndef EVDI_TEST_H
+#define EVDI_TEST_H
+
+#ifdef CONFIG_DRM_EVDI_KUNIT_TEST
+#define EVDI_TEST_HOOK(foo) foo
+#else
+#include <linux/printk.h>
+#define EVDI_TEST_HOOK(foo) no_printk(__stringify(foo))
+#endif
+
+#ifdef CONFIG_DRM_EVDI_KUNIT_TEST
+
+#include <linux/completion.h>
+
+/* evdi hooks for kunit tests */
+void evdi_testhook_painter_vt_register(struct notifier_block *vt_notifier);
+void evdi_testhook_painter_send_dpms(int mode);
+void evdi_testhook_drm_device_destroyed(void);
+
+struct evdi_test_hooks {
+ void (*painter_vt_register)(struct notifier_block *vt_notifier);
+ void (*painter_send_dpms)(int mode);
+ void (*drm_device_destroyed)(void);
+};
+
+/* evdi kunit base type for test private data */
+struct evdi_test_data {
+ struct device *parent;
+ struct drm_device *dev;
+ struct completion *dev_destroyed;
+ struct evdi_test_hooks hooks;
+};
+
+void evdi_test_data_init(struct kunit *test, struct evdi_test_data *data);
+void evdi_test_data_exit(struct kunit *test, struct evdi_test_data *data);
+
+/* evdi test utils */
+void __user *evdi_kunit_alloc_usermem(struct kunit *test, unsigned int size);
+
+#endif // CONFIG_DRM_EVDI_KUNIT_TEST
+#endif // EVDI_TEST_H
+
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/evdi-1.14.5/module/tests/test_evdi_vt_switch.c new/evdi-1.14.7/module/tests/test_evdi_vt_switch.c
--- old/evdi-1.14.5/module/tests/test_evdi_vt_switch.c 1970-01-01 01:00:00.000000000 +0100
+++ new/evdi-1.14.7/module/tests/test_evdi_vt_switch.c 2024-09-20 11:14:26.000000000 +0200
@@ -0,0 +1,176 @@
+// SPDX-License-Identifier: GPL-2.0-only
+/*
+ * Copyright (c) 2024 DisplayLink (UK) Ltd.
+ *
+ * This file is subject to the terms and conditions of the GNU General Public
+ * License v2. See the file COPYING in the main directory of this archive for
+ * more details.
+ */
+
+
+#include <kunit/test.h>
+#include <kunit/test-bug.h>
+#include <kunit/device.h>
+#include <linux/vt_kern.h>
+#include "evdi_drm_drv.h"
+#include "tests/evdi_test.h"
+#include "tests/evdi_fake_user_client.h"
+#include "tests/evdi_fake_compositor.h"
+
+
+struct evdi_vt_test {
+ struct evdi_test_data base;
+ struct notifier_block *vt_notifier;
+ int dpms_mode;
+};
+#define to_evdi_vt_test(x) container_of(x, struct evdi_vt_test, base)
+
+static void testhook_painter_vt_register(struct notifier_block *vt_notifier)
+{
+ struct kunit *test = kunit_get_current_test();
+ struct evdi_vt_test *data = to_evdi_vt_test(test->priv);
+
+ data->vt_notifier = vt_notifier;
+}
+
+static void testhook_painter_send_dpms(int mode)
+{
+ struct kunit *test = kunit_get_current_test();
+ struct evdi_test_data *base = (struct evdi_test_data *)test->priv;
+ struct evdi_vt_test *data = to_evdi_vt_test(base);
+
+ data->dpms_mode = mode;
+}
+
+static int suite_test_vt_init(struct kunit *test)
+{
+ struct evdi_vt_test *data = kunit_kzalloc(test, sizeof(struct evdi_vt_test), GFP_KERNEL);
+
+ evdi_test_data_init(test, &data->base);
+ data->base.hooks.painter_vt_register = testhook_painter_vt_register;
+ data->base.hooks.painter_send_dpms = testhook_painter_send_dpms;
+ data->base.dev = evdi_drm_device_create(data->base.parent);
+
+ return 0;
+}
+
+static void suite_test_vt_exit(struct kunit *test)
+{
+ struct evdi_vt_test *data = to_evdi_vt_test(test->priv);
+
+ if (data->base.dev) {
+ evdi_drm_device_remove(data->base.dev);
+ data->base.dev = NULL;
+ }
+
+ evdi_test_data_exit(test, &data->base);
+ kunit_kfree(test, test->priv);
+}
+
+static int suite_test_vt_and_user_connected_init(struct kunit *test)
+{
+ int result = suite_test_vt_init(test);
+ struct evdi_vt_test *data = (struct evdi_vt_test *)test->priv;
+
+ KUNIT_EXPECT_EQ(test, result, 0);
+ evdi_fake_compositor_create(test);
+ evdi_fake_user_client_create(test);
+
+ KUNIT_EXPECT_NE(test, data->dpms_mode, DRM_MODE_DPMS_OFF);
+ evdi_fake_user_client_connect(test, data->base.dev);
+ evdi_fake_compositor_connect(test, data->base.dev);
+
+ return result;
+}
+
+static void suite_test_vt_and_user_connected_exit(struct kunit *test)
+{
+ struct evdi_vt_test *data = to_evdi_vt_test(test->priv);
+
+ evdi_fake_compositor_disconnect(test, data->base.dev);
+ evdi_fake_user_client_disconnect(test, data->base.dev);
+
+ return suite_test_vt_exit(test);
+}
+
+static void test_evdi_painter_registers_for_vt(struct kunit *test)
+{
+ struct evdi_vt_test *data = to_evdi_vt_test(test->priv);
+
+ KUNIT_EXPECT_NOT_NULL(test, data->vt_notifier->notifier_call);
+}
+
+static void test_evdi_painter_unregisters_for_vt_on_removal(struct kunit *test)
+{
+ struct evdi_vt_test *data = to_evdi_vt_test(test->priv);
+
+ evdi_drm_device_remove(data->base.dev);
+ data->base.dev = NULL;
+
+ KUNIT_EXPECT_NULL(test, data->vt_notifier->notifier_call);
+}
+
+static void test_evdi_painter_when_not_connected_does_not_send_dpms_off_event_on_fg_console_change(struct kunit *test)
+{
+ struct evdi_vt_test *data = to_evdi_vt_test(test->priv);
+
+ KUNIT_EXPECT_NE(test, data->dpms_mode, DRM_MODE_DPMS_OFF);
+
+ data->vt_notifier->notifier_call(data->vt_notifier, 0, NULL);
+
+ KUNIT_EXPECT_NE(test, data->dpms_mode, DRM_MODE_DPMS_OFF);
+}
+
+static void test_evdi_painter_when_connected_does_not_send_dpms_off_event_when_fg_console_has_not_changed(struct kunit *test)
+{
+ struct evdi_vt_test *data = to_evdi_vt_test(test->priv);
+ struct evdi_device *evdi = (struct evdi_device *)data->base.dev->dev_private;
+
+ data->vt_notifier->notifier_call(data->vt_notifier, 0, NULL);
+
+ KUNIT_EXPECT_EQ(test, data->dpms_mode, DRM_MODE_DPMS_ON);
+ KUNIT_EXPECT_FALSE(test, evdi_painter_needs_full_modeset(evdi->painter));
+}
+
+static void test_evdi_painter_when_connected_sends_dpms_off_event_on_fg_console_change(struct kunit *test)
+{
+ struct evdi_vt_test *data = to_evdi_vt_test(test->priv);
+ struct evdi_device *evdi = (struct evdi_device *)data->base.dev->dev_private;
+
+ fg_console = fg_console + 1;
+
+ data->vt_notifier->notifier_call(data->vt_notifier, 0, NULL);
+
+ KUNIT_EXPECT_EQ(test, data->dpms_mode, DRM_MODE_DPMS_OFF);
+ KUNIT_EXPECT_TRUE(test, evdi_painter_needs_full_modeset(evdi->painter));
+}
+
+static struct kunit_case evdi_test_cases[] = {
+ KUNIT_CASE(test_evdi_painter_registers_for_vt),
+ KUNIT_CASE(test_evdi_painter_unregisters_for_vt_on_removal),
+ KUNIT_CASE(test_evdi_painter_when_not_connected_does_not_send_dpms_off_event_on_fg_console_change),
+ {}
+};
+
+static struct kunit_case evdi_test_cases_with_user_connected[] = {
+ KUNIT_CASE(test_evdi_painter_when_connected_does_not_send_dpms_off_event_when_fg_console_has_not_changed),
+ KUNIT_CASE(test_evdi_painter_when_connected_sends_dpms_off_event_on_fg_console_change),
+ {}
+};
+
+static struct kunit_suite evdi_test_suite = {
+ .name = "drm_evdi_vt_tests",
+ .test_cases = evdi_test_cases,
+ .init = suite_test_vt_init,
+ .exit = suite_test_vt_exit,
+};
+
+static struct kunit_suite evdi_test_suite_with_connected_user = {
+ .name = "drm_evdi_vt_tests_with_connected_user",
+ .test_cases = evdi_test_cases_with_user_connected,
+ .init = suite_test_vt_and_user_connected_init,
+ .exit = suite_test_vt_and_user_connected_exit,
+};
+
+kunit_test_suite(evdi_test_suite_with_connected_user);
+kunit_test_suite(evdi_test_suite);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/evdi-1.14.5/pyevdi/PyEvdi.cpp new/evdi-1.14.7/pyevdi/PyEvdi.cpp
--- old/evdi-1.14.5/pyevdi/PyEvdi.cpp 2024-06-26 10:30:41.000000000 +0200
+++ new/evdi-1.14.7/pyevdi/PyEvdi.cpp 2024-09-20 11:14:26.000000000 +0200
@@ -40,7 +40,7 @@
{
m.doc() = "Python bindings for evdi library";
- evdi_logging el;
+ evdi_logging el = { .function = &log_function, .user_data = nullptr};
el.function = &log_function;
evdi_set_logging(el);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/evdi-1.14.5/pyevdi/Stats.h new/evdi-1.14.7/pyevdi/Stats.h
--- old/evdi-1.14.5/pyevdi/Stats.h 2024-06-26 10:30:41.000000000 +0200
+++ new/evdi-1.14.7/pyevdi/Stats.h 2024-09-20 11:14:26.000000000 +0200
@@ -3,6 +3,7 @@
#define STATS_H
#include <functional>
+#include <chrono>
#include "Buffer.h"
#include "../library/evdi_lib.h"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/evdi-1.14.5/pyevdi/pytest.run.sh new/evdi-1.14.7/pyevdi/pytest.run.sh
--- old/evdi-1.14.5/pyevdi/pytest.run.sh 2024-06-26 10:30:41.000000000 +0200
+++ new/evdi-1.14.7/pyevdi/pytest.run.sh 2024-09-20 11:14:26.000000000 +0200
@@ -1,32 +1,36 @@
#!/bin/bash
set -eou pipefail
-if [ ! -d .venv_evdi ]; then
- # prepare python virtualenv for tests
- python3 -m virtualenv .venv_evdi
- source .venv_evdi/bin/activate
+evdi_dir=$(cd "$(dirname "${BASH_SOURCE[0]}")/.." && pwd)
+
+if [ ! -v VIRTUAL_ENV ]; then
+ if [ ! -d "${evdi_dir}"/.venv_evdi ]; then
+ # prepare python virtualenv for tests
+ python3 -m virtualenv "${evdi_dir}"/.venv_evdi
+ fi
+ # shellcheck disable=SC1091
+ source "${evdi_dir}"/.venv_evdi/bin/activate
pip3 install pytest
pip3 install pytest-mock
pip3 install pybind11
-
- # build module, library, pybindings
- cd ../library
- make
- cd ../module
- lsmod | grep evdi > /dev/null || sudo make install_dkms
-
- cd ../pyevdi
- make
-
- cp ../library/libevdi.so* .venv_evdi/lib/
- cp PyEvdi*.so* $(pybind11-config --pkgconfigdir)/../../../
- deactivate
-
- # add evdi device
- lsmod | grep evdi > /dev/null || sudo modprobe evdi
- [ $(cat /sys/devices/evdi/count) == "0" ] && echo 1 | sudo tee -a /sys/devices/evdi/add && sleep 1
fi
-source .venv_evdi/bin/activate
-LD_LIBRARY_PATH=$VIRTUAL_ENV/lib pytest $@
+
+# build module, library, pybindings
+cd "${evdi_dir}"/library
+make
+cd "${evdi_dir}"/module
+lsmod | grep evdi > /dev/null || sudo make install_dkms
+
+cd "${evdi_dir}"/pyevdi
+make
+
+cp "${evdi_dir}"/library/libevdi.so* "${VIRTUAL_ENV}"/lib/
+cp PyEvdi*.so* "$(pybind11-config --pkgconfigdir)"/../../../
+
+# add evdi device
+lsmod | grep evdi > /dev/null || sudo modprobe evdi
+[ "$(cat /sys/devices/evdi/count)" == "0" ] && echo 1 | sudo tee -a /sys/devices/evdi/add && sleep 1
+
+LD_LIBRARY_PATH=$VIRTUAL_ENV/lib pytest "$@"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/evdi-1.14.5/pyevdi/test/test_connect.py new/evdi-1.14.7/pyevdi/test/test_connect.py
--- old/evdi-1.14.5/pyevdi/test/test_connect.py 2024-06-26 10:30:41.000000000 +0200
+++ new/evdi-1.14.7/pyevdi/test/test_connect.py 2024-09-20 11:14:26.000000000 +0200
@@ -5,6 +5,18 @@
import time
import logging
+(a)pytest.fixture
+def pyevdi_card():
+ card = PyEvdi.Card(utilities.get_available_evdi_card())
+ yield card
+ card.close()
+
+(a)pytest.fixture
+def pyevdi_connect(pyevdi_card):
+ edid = utilities.get_edid()
+ pyevdi_card.connect(edid, len(edid), utilities._FullHDAreaLimit, utilities._FullHDAreaLimit * utilities._60Hz)
+ yield
+ pyevdi_card.disconnect()
logging.getLogger().setLevel(20);
@@ -13,43 +25,27 @@
@pytest.mark.skipif(utilities.get_available_evdi_card() == -1, reason = 'No available device.')
@pytest.mark.skipif(utilities.get_available_evdi_card() == -1 and utilities.is_not_running_as_root(), reason = 'Please run test as root.')
-def testModeChangedHandlerCalledAfterConnect(mocker):
+def test_mode_changed_handler_called_after_connect(mocker, pyevdi_card, pyevdi_connect):
mock_requests = mocker.patch("test_connect.my_mode_changed_handler", return_value = None)
-
- card = PyEvdi.Card(utilities.get_available_evdi_card())
- edid = utilities.get_edid()
- card.connect(edid, len(edid), utilities._FullHDAreaLimit, utilities._FullHDAreaLimit * utilities._60Hz)
-
+ card = pyevdi_card
card.mode_changed_handler = my_mode_changed_handler
-
timoutms=100
-
start_time = time.time()
while time.time() < start_time + 60 and not mock_requests.called:
card.handle_events(timoutms)
- card.disconnect()
- card.close()
-
mock_requests.assert_called()
@pytest.mark.skipif(utilities.get_available_evdi_card() == -1, reason = 'No available device.')
@pytest.mark.skipif(utilities.get_available_evdi_card() == -1 and utilities.is_not_running_as_root(), reason = 'Please run test as root.')
-def testHandlingEventsTenTimesWithDefaultHandlers():
- card = PyEvdi.Card(utilities.get_available_evdi_card())
-
- edid = utilities.get_edid()
- card.connect(edid, len(edid), utilities._FullHDAreaLimit, utilities._FullHDAreaLimit * utilities._60Hz)
-
-
+def test_handling_events_ten_times_with_default_handlers(pyevdi_card, pyevdi_connect):
+ card = pyevdi_card
timoutms=1000
+
for i in range(10):
card.handle_events(timoutms)
- card.disconnect()
- card.close()
-
def my_acquire_framebuffer_handler(buffer) -> None:
print("received buffer", buffer.id)
print("rect_count:", buffer.rect_count, "\nrects:")
@@ -59,34 +55,39 @@
@pytest.mark.skipif(utilities.get_available_evdi_card() == -1, reason = 'No available device.')
@pytest.mark.skipif(utilities.get_available_evdi_card() == -1 and utilities.is_not_running_as_root(), reason = 'Please run test as root.')
-def testHandlingEventsTenTimesWithAquireFramebufferSet():
- card = PyEvdi.Card(utilities.get_available_evdi_card())
-
+def test_handling_events_ten_times_with_aquire_framebuffer_set(pyevdi_card, pyevdi_connect):
+ card = pyevdi_card
card.acquire_framebuffer_handler = my_acquire_framebuffer_handler
-
- edid = utilities.get_edid()
- card.connect(edid, len(edid), utilities._FullHDAreaLimit, utilities._FullHDAreaLimit * utilities._60Hz)
-
timoutms=1000
+
for i in range(10):
card.handle_events(timoutms)
- card.disconnect()
- card.close()
-
@pytest.mark.skipif(utilities.get_available_evdi_card() == -1 and utilities.is_not_running_as_root(), reason = 'Please run test as root.')
-def testReadingBuffer():
+def test_reading_buffer():
stats = PyEvdi.MemoryAccessStats()
card = PyEvdi.Card(utilities.get_available_evdi_card(), stats)
-
card.acquire_framebuffer_handler = stats
-
edid = utilities.get_edid()
- card.connect(edid, len(edid), utilities._FullHDAreaLimit, utilities._FullHDAreaLimit * utilities._60Hz)
+ card.connect(edid, len(edid), utilities._FullHDAreaLimit, utilities._FullHDAreaLimit * utilities._60Hz)
card.handle_events(1000)
assert stats.totalGrabPixelsTime() > 0
card.disconnect()
card.close()
+(a)pytest.mark.skipif(utilities.get_available_evdi_card() == -1, reason = 'No available device.')
+(a)pytest.mark.skipif(utilities.get_available_evdi_card() == -1 and utilities.is_not_running_as_root(), reason = 'Please run test as root.')
+def test_time_of_first_frame(pyevdi_card, pyevdi_connect):
+ # never fails, because wait_for_master
+ # does not timeout when the card is opened
+ start = time.time()
+ card = pyevdi_card
+ timeout_in_seconds_to_recieve_frame = 2
+ ms_in_s = 1000
+
+ card.handle_events(timeout_in_seconds_to_recieve_frame * ms_in_s)
+ end = time.time()
+
+ assert end - start < timeout_in_seconds_to_recieve_frame, 'Turning on is too long'
++++++ evdi.obsinfo ++++++
--- /var/tmp/diff_new_pack.3UjMHO/_old 2024-10-04 17:11:39.575632801 +0200
+++ /var/tmp/diff_new_pack.3UjMHO/_new 2024-10-04 17:11:39.579632967 +0200
@@ -1,5 +1,5 @@
name: evdi
-version: 1.14.5
-mtime: 1719390641
-commit: cbc3c4f42cd33e31d453ff79c2b945ea6e3d32f3
+version: 1.14.7
+mtime: 1726823666
+commit: 14286c973dba40199c977ade9d6dca8a19f93e61
1
0