openSUSE Commits
Threads by month
- ----- 2024 -----
- December
- 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
May 2019
- 1 participants
- 2232 discussions
Hello community,
here is the log from the commit of package python-requests for openSUSE:Factory checked in at 2019-05-27 08:37:17
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-requests (Old)
and /work/SRC/openSUSE:Factory/.python-requests.new.5148 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-requests"
Mon May 27 08:37:17 2019 rev:59 rq:705386 version:2.22.0
Changes:
--------
--- /work/SRC/openSUSE:Factory/python-requests/python-requests.changes 2019-04-26 22:41:58.553719347 +0200
+++ /work/SRC/openSUSE:Factory/.python-requests.new.5148/python-requests.changes 2019-05-27 08:37:18.691096092 +0200
@@ -1,0 +2,7 @@
+Sat May 25 08:41:20 UTC 2019 - Tomáš Chvátal <tchvatal(a)suse.com>
+
+- Update to 2.22.0:
+ * Requests now supports urllib3 v1.25.2. (note: 1.25.0 and 1.25.1 are incompatible)
+- Rebase requests-no-hardcoded-version.patch
+
+-------------------------------------------------------------------
Old:
----
requests-2.21.0.tar.gz
New:
----
requests-2.22.0.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ python-requests.spec ++++++
--- /var/tmp/diff_new_pack.eyg5q7/_old 2019-05-27 08:37:20.103095541 +0200
+++ /var/tmp/diff_new_pack.eyg5q7/_new 2019-05-27 08:37:20.103095541 +0200
@@ -26,7 +26,7 @@
%endif
%{?!python_module:%define python_module() python-%{**} python3-%{**}}
Name: python-requests%{psuffix}
-Version: 2.21.0
+Version: 2.22.0
Release: 0
Summary: Python HTTP Library
License: Apache-2.0
++++++ requests-2.21.0.tar.gz -> requests-2.22.0.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/requests-2.21.0/HISTORY.md new/requests-2.22.0/HISTORY.md
--- old/requests-2.21.0/HISTORY.md 2018-12-10 07:07:09.000000000 +0100
+++ new/requests-2.22.0/HISTORY.md 2019-05-16 16:22:45.000000000 +0200
@@ -8,6 +8,18 @@
- \[Short description of non-trivial change.\]
+2.22.0 (2019-05-15)
+-------------------
+
+**Dependencies**
+
+- Requests now supports urllib3 v1.25.2.
+ (note: 1.25.0 and 1.25.1 are incompatible)
+
+**Deprecations**
+
+- Requests has officially stopped support for Python 3.4.
+
2.21.0 (2018-12-10)
-------------------
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/requests-2.21.0/PKG-INFO new/requests-2.22.0/PKG-INFO
--- old/requests-2.21.0/PKG-INFO 2018-12-10 16:39:30.000000000 +0100
+++ new/requests-2.22.0/PKG-INFO 2019-05-16 16:36:36.000000000 +0200
@@ -1,6 +1,6 @@
Metadata-Version: 2.1
Name: requests
-Version: 2.21.0
+Version: 2.22.0
Summary: Python HTTP for Humans.
Home-page: http://python-requests.org
Author: Kenneth Reitz
@@ -16,8 +16,6 @@
[![image](https://img.shields.io/github/contributors/requests/requests.svg)](https://github.com/requests/requests/graphs/contributors)
[![image](https://img.shields.io/badge/Say%20Thanks-!-1EAEDB.svg)](https://saythanks.io/to/kennethreitz)
- **If you're interested in financially supporting Kenneth Reitz open source, consider [visiting this link](https://cash.me/$KennethReitz). Your support helps tremendously with sustainability of motivation, as Open Source is no longer part of my day job.**
-
Requests is the only *Non-GMO* HTTP library for Python, safe for human
consumption.
@@ -26,6 +24,7 @@
Behold, the power of Requests:
``` {.sourceCode .python}
+ >>> import requests
>>> r = requests.get('https://api.github.com/user', auth=('user', 'pass'))
>>> r.status_code
200
@@ -99,17 +98,18 @@
How to Contribute
-----------------
- 1. Check for open issues or open a fresh issue to start a discussion
+ 1. Become more familiar with the project by reading our [Contributor's Guide](http://docs.python-requests.org/en/latest/dev/contributing/) and our [development philosophy](http://docs.python-requests.org/en/latest/dev/philosophy/).
+ 2. Check for open issues or open a fresh issue to start a discussion
around a feature idea or a bug. There is a [Contributor
Friendly](https://github.com/requests/requests/issues?direction=desc&labels…
tag for issues that should be ideal for people who are not very
familiar with the codebase yet.
- 2. Fork [the repository](https://github.com/requests/requests) on
+ 3. Fork [the repository](https://github.com/requests/requests) on
GitHub to start making your changes to the **master** branch (or
branch off of it).
- 3. Write a test which shows that the bug was fixed or that the feature
+ 4. Write a test which shows that the bug was fixed or that the feature
works as expected.
- 4. Send a pull request and bug the maintainer until it gets merged and
+ 5. Send a pull request and bug the maintainer until it gets merged and
published. :) Make sure to add yourself to
[AUTHORS](https://github.com/requests/requests/blob/master/AUTHORS.rst).
@@ -123,13 +123,12 @@
Classifier: Programming Language :: Python :: 2
Classifier: Programming Language :: Python :: 2.7
Classifier: Programming Language :: Python :: 3
-Classifier: Programming Language :: Python :: 3.4
Classifier: Programming Language :: Python :: 3.5
Classifier: Programming Language :: Python :: 3.6
Classifier: Programming Language :: Python :: 3.7
Classifier: Programming Language :: Python :: Implementation :: CPython
Classifier: Programming Language :: Python :: Implementation :: PyPy
-Requires-Python: >=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*
+Requires-Python: >=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*
Description-Content-Type: text/markdown
Provides-Extra: security
Provides-Extra: socks
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/requests-2.21.0/Pipfile new/requests-2.22.0/Pipfile
--- old/requests-2.21.0/Pipfile 2018-10-17 06:33:51.000000000 +0200
+++ new/requests-2.22.0/Pipfile 2019-05-16 16:22:45.000000000 +0200
@@ -4,12 +4,12 @@
name = "pypi"
[dev-packages]
-pytest = ">=2.8.0"
+pytest = ">=2.8.0,<=3.10.1"
codecov = "*"
-pytest-httpbin = ">=0.0.7"
+pytest-httpbin = ">=0.0.7,<1.0"
pytest-mock = "*"
pytest-cov = "*"
-pytest-xdist = "*"
+pytest-xdist = "<=1.25"
alabaster = "*"
readme-renderer = "*"
sphinx = "<=1.5.5"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/requests-2.21.0/Pipfile.lock new/requests-2.22.0/Pipfile.lock
--- old/requests-2.21.0/Pipfile.lock 2018-10-17 02:57:13.000000000 +0200
+++ new/requests-2.22.0/Pipfile.lock 2019-05-16 16:22:45.000000000 +0200
@@ -1,7 +1,7 @@
{
"_meta": {
"hash": {
- "sha256": "0735b243455d8e924fbd05188ed435bfd3917f4acdade9b9e8f14741f3fc47e9"
+ "sha256": "33206a3ef69c36187f33224ccf8e694a323ff4f7b2cc92c35fe8e71898b525a0"
},
"pipfile-spec": 6,
"requires": {},
@@ -16,10 +16,10 @@
"default": {
"certifi": {
"hashes": [
- "sha256:13e698f54293db9f89122b0581843a782ad0934a4fe0172d2a980ba77fc61bb7",
- "sha256:9fa520c1bacfb634fa7af20a76bcbd3d5fb390481724c597da32c719a7dca4b0"
+ "sha256:59b7658e26ca9c7339e00f8f4636cdfe59d34fa37b9b04f6f9e9926b3cece1a5",
+ "sha256:b26104d6835d1f5e49452a26eb2ff87fe7090b89dfcaee5ea2212697e1e1d7ae"
],
- "version": "==2018.4.16"
+ "version": "==2019.3.9"
},
"chardet": {
"hashes": [
@@ -37,61 +37,86 @@
},
"idna": {
"hashes": [
- "sha256:2c6a5de3089009e3da7c5dde64a141dbc8551d5b7f6cf4ed7c2568d0cc520a8f",
- "sha256:8c7309c718f94b3a625cb648ace320157ad16ff131ae0af362c9f21b80ef6ec4"
+ "sha256:c357b3f628cf53ae2c4c05627ecc484553142ca23264e593d327bcde5e9c3407",
+ "sha256:ea8b7f6188e6fa117537c3df7da9fc686d485087abf6ac197f9c46432f7e4a3c"
],
- "version": "==2.6"
+ "version": "==2.8"
},
"pysocks": {
"hashes": [
- "sha256:3fe52c55890a248676fd69dc9e3c4e811718b777834bcaab7a8125cf9deac672"
+ "sha256:15d38914b60dbcb231d276f64882a20435c049450160e953ca7d313d1405f16f",
+ "sha256:32238918ac0f19e9fd870a8692ac9bd14f5e8752b3c62624cda5851424642210",
+ "sha256:d9031ea45fdfacbe59a99273e9f0448ddb33c1580fe3831c1b09557c5718977c"
],
- "version": "==1.6.8"
+ "version": "==1.7.0"
+ },
+ "requests": {
+ "editable": true,
+ "extras": [
+ "socks"
+ ],
+ "path": ".",
+ "version": "==2.22.0"
},
"urllib3": {
"hashes": [
- "sha256:06330f386d6e4b195fbfc736b297f58c5a892e4440e54d294d7004e3a9bbea1b",
- "sha256:cc44da8e1145637334317feebd728bd869a35285b93cbb4cca2577da7e62db4f"
+ "sha256:a53063d8b9210a7bdec15e7b272776b9d42b2fd6816401a0d43006ad2f9902db",
+ "sha256:d363e3607d8de0c220d31950a8f38b18d5ba7c0830facd71a1c6b1036b7ce06c"
],
- "version": "==1.22"
+ "version": "==1.25.2"
+ },
+ "win-inet-pton": {
+ "hashes": [
+ "sha256:dd03d942c0d3e2b1cf8bab511844546dfa5f74cb61b241699fa379ad707dea4f",
+ "sha256:eaf0193cbe7152ac313598a0da7313fb479f769343c0c16c5308f64887dc885b"
+ ],
+ "markers": "sys_platform == 'win32' and python_version == '2.7'",
+ "version": "==1.1.0"
}
},
"develop": {
"alabaster": {
"hashes": [
- "sha256:2eef172f44e8d301d25aff8068fddd65f767a3f04b5f15b0f4922f113aa1c732",
- "sha256:37cdcb9e9954ed60912ebc1ca12a9d12178c26637abdf124e3cde2341c257fe0"
+ "sha256:446438bdcca0e05bd45ea2de1668c1d9b032e1a9154c2c259092d77031ddd359",
+ "sha256:a661d72d58e6ea8a57f7a86e37d86716863ee5e92788398526d58b26a4e4dc02"
],
"index": "pypi",
- "version": "==0.7.10"
+ "version": "==0.7.12"
},
"apipkg": {
"hashes": [
- "sha256:2e38399dbe842891fe85392601aab8f40a8f4cc5a9053c326de35a1cc0297ac6",
- "sha256:65d2aa68b28e7d31233bb2ba8eb31cda40e4671f8ac2d6b241e358c9652a74b9"
+ "sha256:37228cda29411948b422fae072f57e31d3396d2ee1c9783775980ee9c9990af6",
+ "sha256:58587dd4dc3daefad0487f6d9ae32b4542b185e1c36db6993290e7c41ca2b47c"
],
- "version": "==1.4"
+ "version": "==1.5"
+ },
+ "atomicwrites": {
+ "hashes": [
+ "sha256:03472c30eb2c5d1ba9227e4c2ca66ab8287fbfbbda3888aa93dc2e28fc6811b4",
+ "sha256:75a9445bac02d8d058d5e1fe689654ba5a6556a1dfd8ce6ec55a0ed79866cfa6"
+ ],
+ "version": "==1.3.0"
},
"attrs": {
"hashes": [
- "sha256:4b90b09eeeb9b88c35bc642cbac057e45a5fd85367b985bd2809c62b7b939265",
- "sha256:e0d0eb91441a3b53dab4d9b743eafc1ac44476296a2053b6ca3af0b139faf87b"
+ "sha256:69c0dbf2ed392de1cb5ec704444b08a5ef81680a61cb899dc08127123af36a79",
+ "sha256:f0b870f674851ecbfbbbd364d6b5cbdff9dcedbc7f3f5e18a6891057f21fe399"
],
- "version": "==18.1.0"
+ "version": "==19.1.0"
},
"babel": {
"hashes": [
- "sha256:8ce4cb6fdd4393edd323227cba3a077bceb2a6ce5201c902c65e730046f41f14",
- "sha256:ad209a68d7162c4cff4b29cdebe3dec4cef75492df501b0049a9433c96ce6f80"
+ "sha256:6778d85147d5d85345c14a26aada5e478ab04e39b078b0745ee6870c2b5cf669",
+ "sha256:8cba50f48c529ca3fa18cf81fa9403be176d374ac4d60738b839122dfaaa3d23"
],
- "version": "==2.5.3"
+ "version": "==2.6.0"
},
"bleach": {
"hashes": [
- "sha256:b8fa79e91f96c2c2cd9fd1f9eda906efb1b88b483048978ba62fef680e962b34",
- "sha256:eb7386f632349d10d9ce9d4a838b134d4731571851149f9cc2c05a9a837a9a44"
+ "sha256:213336e49e102af26d9cde77dd2d0397afabc5a6bf2fed985dc35b5d1e285a16",
+ "sha256:3fdf7f77adcf649c9911387df51254b813185e32b2c6619f690b593a617e19fa"
],
- "version": "==2.1.3"
+ "version": "==3.1.0"
},
"blinker": {
"hashes": [
@@ -135,42 +160,43 @@
},
"certifi": {
"hashes": [
- "sha256:13e698f54293db9f89122b0581843a782ad0934a4fe0172d2a980ba77fc61bb7",
- "sha256:9fa520c1bacfb634fa7af20a76bcbd3d5fb390481724c597da32c719a7dca4b0"
+ "sha256:59b7658e26ca9c7339e00f8f4636cdfe59d34fa37b9b04f6f9e9926b3cece1a5",
+ "sha256:b26104d6835d1f5e49452a26eb2ff87fe7090b89dfcaee5ea2212697e1e1d7ae"
],
- "version": "==2018.4.16"
+ "version": "==2019.3.9"
},
"cffi": {
"hashes": [
- "sha256:151b7eefd035c56b2b2e1eb9963c90c6302dc15fbd8c1c0a83a163ff2c7d7743",
- "sha256:1553d1e99f035ace1c0544050622b7bc963374a00c467edafac50ad7bd276aef",
- "sha256:1b0493c091a1898f1136e3f4f991a784437fac3673780ff9de3bcf46c80b6b50",
- "sha256:2ba8a45822b7aee805ab49abfe7eec16b90587f7f26df20c71dd89e45a97076f",
- "sha256:3c85641778460581c42924384f5e68076d724ceac0f267d66c757f7535069c93",
- "sha256:3eb6434197633b7748cea30bf0ba9f66727cdce45117a712b29a443943733257",
- "sha256:4c91af6e967c2015729d3e69c2e51d92f9898c330d6a851bf8f121236f3defd3",
- "sha256:770f3782b31f50b68627e22f91cb182c48c47c02eb405fd689472aa7b7aa16dc",
- "sha256:79f9b6f7c46ae1f8ded75f68cf8ad50e5729ed4d590c74840471fc2823457d04",
- "sha256:7a33145e04d44ce95bcd71e522b478d282ad0eafaf34fe1ec5bbd73e662f22b6",
- "sha256:857959354ae3a6fa3da6651b966d13b0a8bed6bbc87a0de7b38a549db1d2a359",
- "sha256:87f37fe5130574ff76c17cab61e7d2538a16f843bb7bca8ebbc4b12de3078596",
- "sha256:95d5251e4b5ca00061f9d9f3d6fe537247e145a8524ae9fd30a2f8fbce993b5b",
- "sha256:9d1d3e63a4afdc29bd76ce6aa9d58c771cd1599fbba8cf5057e7860b203710dd",
- "sha256:a36c5c154f9d42ec176e6e620cb0dd275744aa1d804786a71ac37dc3661a5e95",
- "sha256:ae5e35a2c189d397b91034642cb0eab0e346f776ec2eb44a49a459e6615d6e2e",
- "sha256:b0f7d4a3df8f06cf49f9f121bead236e328074de6449866515cea4907bbc63d6",
- "sha256:b75110fb114fa366b29a027d0c9be3709579602ae111ff61674d28c93606acca",
- "sha256:ba5e697569f84b13640c9e193170e89c13c6244c24400fc57e88724ef610cd31",
- "sha256:be2a9b390f77fd7676d80bc3cdc4f8edb940d8c198ed2d8c0be1319018c778e1",
- "sha256:d5d8555d9bfc3f02385c1c37e9f998e2011f0db4f90e250e5bc0c0a85a813085",
- "sha256:e55e22ac0a30023426564b1059b035973ec82186ddddbac867078435801c7801",
- "sha256:e90f17980e6ab0f3c2f3730e56d1fe9bcba1891eeea58966e89d352492cc74f4",
- "sha256:ecbb7b01409e9b782df5ded849c178a0aa7c906cf8c5a67368047daab282b184",
- "sha256:ed01918d545a38998bfa5902c7c00e0fee90e957ce036a4000a88e3fe2264917",
- "sha256:edabd457cd23a02965166026fd9bfd196f4324fe6032e866d0f3bd0301cd486f",
- "sha256:fdf1c1dc5bafc32bc5d08b054f94d659422b05aba244d6be4ddc1c72d9aa70fb"
+ "sha256:041c81822e9f84b1d9c401182e174996f0bae9991f33725d059b771744290774",
+ "sha256:046ef9a22f5d3eed06334d01b1e836977eeef500d9b78e9ef693f9380ad0b83d",
+ "sha256:066bc4c7895c91812eff46f4b1c285220947d4aa46fa0a2651ff85f2afae9c90",
+ "sha256:066c7ff148ae33040c01058662d6752fd73fbc8e64787229ea8498c7d7f4041b",
+ "sha256:2444d0c61f03dcd26dbf7600cf64354376ee579acad77aef459e34efcb438c63",
+ "sha256:300832850b8f7967e278870c5d51e3819b9aad8f0a2c8dbe39ab11f119237f45",
+ "sha256:34c77afe85b6b9e967bd8154e3855e847b70ca42043db6ad17f26899a3df1b25",
+ "sha256:46de5fa00f7ac09f020729148ff632819649b3e05a007d286242c4882f7b1dc3",
+ "sha256:4aa8ee7ba27c472d429b980c51e714a24f47ca296d53f4d7868075b175866f4b",
+ "sha256:4d0004eb4351e35ed950c14c11e734182591465a33e960a4ab5e8d4f04d72647",
+ "sha256:4e3d3f31a1e202b0f5a35ba3bc4eb41e2fc2b11c1eff38b362de710bcffb5016",
+ "sha256:50bec6d35e6b1aaeb17f7c4e2b9374ebf95a8975d57863546fa83e8d31bdb8c4",
+ "sha256:55cad9a6df1e2a1d62063f79d0881a414a906a6962bc160ac968cc03ed3efcfb",
+ "sha256:5662ad4e4e84f1eaa8efce5da695c5d2e229c563f9d5ce5b0113f71321bcf753",
+ "sha256:59b4dc008f98fc6ee2bb4fd7fc786a8d70000d058c2bbe2698275bc53a8d3fa7",
+ "sha256:73e1ffefe05e4ccd7bcea61af76f36077b914f92b76f95ccf00b0c1b9186f3f9",
+ "sha256:a1f0fd46eba2d71ce1589f7e50a9e2ffaeb739fb2c11e8192aa2b45d5f6cc41f",
+ "sha256:a2e85dc204556657661051ff4bab75a84e968669765c8a2cd425918699c3d0e8",
+ "sha256:a5457d47dfff24882a21492e5815f891c0ca35fefae8aa742c6c263dac16ef1f",
+ "sha256:a8dccd61d52a8dae4a825cdbb7735da530179fea472903eb871a5513b5abbfdc",
+ "sha256:ae61af521ed676cf16ae94f30fe202781a38d7178b6b4ab622e4eec8cefaff42",
+ "sha256:b012a5edb48288f77a63dba0840c92d0504aa215612da4541b7b42d849bc83a3",
+ "sha256:d2c5cfa536227f57f97c92ac30c8109688ace8fa4ac086d19d0af47d134e2909",
+ "sha256:d42b5796e20aacc9d15e66befb7a345454eef794fdb0737d1af593447c6c8f45",
+ "sha256:dee54f5d30d775f525894d67b1495625dd9322945e7fee00731952e0368ff42d",
+ "sha256:e070535507bd6aa07124258171be2ee8dfc19119c28ca94c9dfb7efd23564512",
+ "sha256:e1ff2748c84d97b065cc95429814cdba39bcbd77c9c85c89344b317dc0d9cbff",
+ "sha256:ed851c75d1e0e043cbf5ca9a8e1b13c4c90f3fbd863dacb01c0808e2b5204201"
],
- "version": "==1.11.5"
+ "version": "==1.12.3"
},
"chardet": {
"hashes": [
@@ -181,38 +207,10 @@
},
"click": {
"hashes": [
- "sha256:29f99fc6125fbc931b758dc053b3114e55c77a6e4c6c3a2674a2dc986016381d",
- "sha256:f15516df478d5a56180fbf80e68f206010e6d160fc39fa508b65e035fd75130b"
+ "sha256:2335065e6395b9e67ca716de5f7526736bfa6ceead690adf616d925bdc622b13",
+ "sha256:5b94b49521f6456670fdb30cd82a4eca9412788a93fa6dd6df72c94d5a8ff2d7"
],
- "version": "==6.7"
- },
- "cmarkgfm": {
- "hashes": [
- "sha256:0186dccca79483e3405217993b83b914ba4559fe9a8396efc4eea56561b74061",
- "sha256:1a625afc6f62da428df96ec325dc30866cc5781520cbd904ff4ec44cf018171c",
- "sha256:275905bb371a99285c74931700db3f0c078e7603bed383e8cf1a09f3ee05a3de",
- "sha256:50098f1c4950722521f0671e54139e0edc1837d63c990cf0f3d2c49607bb51a2",
- "sha256:50ed116d0b60a07df0dc7b180c28569064b9d37d1578d4c9021cff04d725cb63",
- "sha256:61a72def110eed903cd1848245897bcb80d295cd9d13944d4f9f30cba5b76655",
- "sha256:64186fb75d973a06df0e6ea12879533b71f6e7ba1ab01ffee7fc3e7534758889",
- "sha256:665303d34d7f14f10d7b0651082f25ebf7107f29ef3d699490cac16cdc0fc8ce",
- "sha256:70b18f843aec58e4e64aadce48a897fe7c50426718b7753aaee399e72df64190",
- "sha256:761ee7b04d1caee2931344ac6bfebf37102ffb203b136b676b0a71a3f0ea3c87",
- "sha256:811527e9b7280b136734ed6cb6845e5fbccaeaa132ddf45f0246cbe544016957",
- "sha256:987b0e157f70c72a84f3c2f9ef2d7ab0f26c08f2bf326c12c087ff9eebcb3ff5",
- "sha256:9fc6a2183d0a9b0974ec7cdcdad42bd78a3be674cc3e65f87dd694419b3b0ab7",
- "sha256:c573ea89dd95d41b6d8cf36799c34b6d5b1eac4aed0212dee0f0a11fb7b01e8f",
- "sha256:c5f1b9e8592d2c448c44e6bc0d91224b16ea5f8293908b1561de1f6d2d0658b1",
- "sha256:cbe581456357d8f0674d6a590b1aaf46c11d01dd0a23af147a51a798c3818034",
- "sha256:cf219bec69e601fe27e3974b7307d2f06082ab385d42752738ad2eb630a47d65",
- "sha256:d08bad67fa18f7e8ff738c090628ee0cbf0505d74a991c848d6d04abfe67b697",
- "sha256:d6f716d7b1182bf35862b5065112f933f43dd1aa4f8097c9bcfb246f71528a34",
- "sha256:e08e479102627641c7cb4ece421c6ed4124820b1758765db32201136762282d9",
- "sha256:e20ac21418af0298437d29599f7851915497ce9f2866bc8e86b084d8911ee061",
- "sha256:e25f53c37e319241b9a412382140dffac98ca756ba8f360ac7ab5e30cad9670a",
- "sha256:f20900f16377f2109783ae9348d34bc80530808439591c3d3df73d5c7ef1a00c"
- ],
- "version": "==0.4.2"
+ "version": "==7.0"
},
"codecov": {
"hashes": [
@@ -224,10 +222,11 @@
},
"configparser": {
"hashes": [
- "sha256:5308b47021bc2340965c371f0f058cc6971a04502638d4244225c49d80db273a"
+ "sha256:8be81d89d6e7b4c0d4e44bcc525845f6da25821de80cb5e06e7e0238a2899e32",
+ "sha256:da60d0014fd8c55eb48c1c5354352e363e2d30bbf7057e5e171a468390184c75"
],
"markers": "python_version < '3.2'",
- "version": "==3.5.0"
+ "version": "==3.7.4"
},
"contextlib2": {
"hashes": [
@@ -239,59 +238,71 @@
},
"coverage": {
"hashes": [
- "sha256:03481e81d558d30d230bc12999e3edffe392d244349a90f4ef9b88425fac74ba",
- "sha256:0b136648de27201056c1869a6c0d4e23f464750fd9a9ba9750b8336a244429ed",
- "sha256:104ab3934abaf5be871a583541e8829d6c19ce7bde2923b2751e0d3ca44db60a",
- "sha256:15b111b6a0f46ee1a485414a52a7ad1d703bdf984e9ed3c288a4414d3871dcbd",
- "sha256:198626739a79b09fa0a2f06e083ffd12eb55449b5f8bfdbeed1df4910b2ca640",
- "sha256:1c383d2ef13ade2acc636556fd544dba6e14fa30755f26812f54300e401f98f2",
- "sha256:28b2191e7283f4f3568962e373b47ef7f0392993bb6660d079c62bd50fe9d162",
- "sha256:2eb564bbf7816a9d68dd3369a510be3327f1c618d2357fa6b1216994c2e3d508",
- "sha256:337ded681dd2ef9ca04ef5d93cfc87e52e09db2594c296b4a0a3662cb1b41249",
- "sha256:3a2184c6d797a125dca8367878d3b9a178b6fdd05fdc2d35d758c3006a1cd694",
- "sha256:3c79a6f7b95751cdebcd9037e4d06f8d5a9b60e4ed0cd231342aa8ad7124882a",
- "sha256:3d72c20bd105022d29b14a7d628462ebdc61de2f303322c0212a054352f3b287",
- "sha256:3eb42bf89a6be7deb64116dd1cc4b08171734d721e7a7e57ad64cc4ef29ed2f1",
- "sha256:4635a184d0bbe537aa185a34193898eee409332a8ccb27eea36f262566585000",
- "sha256:56e448f051a201c5ebbaa86a5efd0ca90d327204d8b059ab25ad0f35fbfd79f1",
- "sha256:5a13ea7911ff5e1796b6d5e4fbbf6952381a611209b736d48e675c2756f3f74e",
- "sha256:69bf008a06b76619d3c3f3b1983f5145c75a305a0fea513aca094cae5c40a8f5",
- "sha256:6bc583dc18d5979dc0f6cec26a8603129de0304d5ae1f17e57a12834e7235062",
- "sha256:701cd6093d63e6b8ad7009d8a92425428bc4d6e7ab8d75efbb665c806c1d79ba",
- "sha256:7608a3dd5d73cb06c531b8925e0ef8d3de31fed2544a7de6c63960a1e73ea4bc",
- "sha256:76ecd006d1d8f739430ec50cc872889af1f9c1b6b8f48e29941814b09b0fd3cc",
- "sha256:7aa36d2b844a3e4a4b356708d79fd2c260281a7390d678a10b91ca595ddc9e99",
- "sha256:7d3f553904b0c5c016d1dad058a7554c7ac4c91a789fca496e7d8347ad040653",
- "sha256:7e1fe19bd6dce69d9fd159d8e4a80a8f52101380d5d3a4d374b6d3eae0e5de9c",
- "sha256:8c3cb8c35ec4d9506979b4cf90ee9918bc2e49f84189d9bf5c36c0c1119c6558",
- "sha256:9d6dd10d49e01571bf6e147d3b505141ffc093a06756c60b053a859cb2128b1f",
- "sha256:9e112fcbe0148a6fa4f0a02e8d58e94470fc6cb82a5481618fea901699bf34c4",
- "sha256:ac4fef68da01116a5c117eba4dd46f2e06847a497de5ed1d64bb99a5fda1ef91",
- "sha256:b8815995e050764c8610dbc82641807d196927c3dbed207f0a079833ffcf588d",
- "sha256:be6cfcd8053d13f5f5eeb284aa8a814220c3da1b0078fa859011c7fffd86dab9",
- "sha256:c1bb572fab8208c400adaf06a8133ac0712179a334c09224fb11393e920abcdd",
- "sha256:de4418dadaa1c01d497e539210cb6baa015965526ff5afc078c57ca69160108d",
- "sha256:e05cb4d9aad6233d67e0541caa7e511fa4047ed7750ec2510d466e806e0255d6",
- "sha256:e4d96c07229f58cb686120f168276e434660e4358cc9cf3b0464210b04913e77",
- "sha256:f3f501f345f24383c0000395b26b726e46758b71393267aeae0bd36f8b3ade80",
- "sha256:f8a923a85cb099422ad5a2e345fe877bbc89a8a8b23235824a93488150e45f6e"
+ "sha256:0c5fe441b9cfdab64719f24e9684502a59432df7570521563d7b1aff27ac755f",
+ "sha256:2b412abc4c7d6e019ce7c27cbc229783035eef6d5401695dccba80f481be4eb3",
+ "sha256:3684fabf6b87a369017756b551cef29e505cb155ddb892a7a29277b978da88b9",
+ "sha256:39e088da9b284f1bd17c750ac672103779f7954ce6125fd4382134ac8d152d74",
+ "sha256:3c205bc11cc4fcc57b761c2da73b9b72a59f8d5ca89979afb0c1c6f9e53c7390",
+ "sha256:42692db854d13c6c5e9541b6ffe0fe921fe16c9c446358d642ccae1462582d3b",
+ "sha256:465ce53a8c0f3a7950dfb836438442f833cf6663d407f37d8c52fe7b6e56d7e8",
+ "sha256:48020e343fc40f72a442c8a1334284620f81295256a6b6ca6d8aa1350c763bbe",
+ "sha256:4ec30ade438d1711562f3786bea33a9da6107414aed60a5daa974d50a8c2c351",
+ "sha256:5296fc86ab612ec12394565c500b412a43b328b3907c0d14358950d06fd83baf",
+ "sha256:5f61bed2f7d9b6a9ab935150a6b23d7f84b8055524e7be7715b6513f3328138e",
+ "sha256:6899797ac384b239ce1926f3cb86ffc19996f6fa3a1efbb23cb49e0c12d8c18c",
+ "sha256:68a43a9f9f83693ce0414d17e019daee7ab3f7113a70c79a3dd4c2f704e4d741",
+ "sha256:6b8033d47fe22506856fe450470ccb1d8ba1ffb8463494a15cfc96392a288c09",
+ "sha256:7ad7536066b28863e5835e8cfeaa794b7fe352d99a8cded9f43d1161be8e9fbd",
+ "sha256:7bacb89ccf4bedb30b277e96e4cc68cd1369ca6841bde7b005191b54d3dd1034",
+ "sha256:839dc7c36501254e14331bcb98b27002aa415e4af7ea039d9009409b9d2d5420",
+ "sha256:8e679d1bde5e2de4a909efb071f14b472a678b788904440779d2c449c0355b27",
+ "sha256:8f9a95b66969cdea53ec992ecea5406c5bd99c9221f539bca1e8406b200ae98c",
+ "sha256:932c03d2d565f75961ba1d3cec41ddde00e162c5b46d03f7423edcb807734eab",
+ "sha256:93f965415cc51604f571e491f280cff0f5be35895b4eb5e55b47ae90c02a497b",
+ "sha256:988529edadc49039d205e0aa6ce049c5ccda4acb2d6c3c5c550c17e8c02c05ba",
+ "sha256:998d7e73548fe395eeb294495a04d38942edb66d1fa61eb70418871bc621227e",
+ "sha256:9de60893fb447d1e797f6bf08fdf0dbcda0c1e34c1b06c92bd3a363c0ea8c609",
+ "sha256:9e80d45d0c7fcee54e22771db7f1b0b126fb4a6c0a2e5afa72f66827207ff2f2",
+ "sha256:a545a3dfe5082dc8e8c3eb7f8a2cf4f2870902ff1860bd99b6198cfd1f9d1f49",
+ "sha256:a5d8f29e5ec661143621a8f4de51adfb300d7a476224156a39a392254f70687b",
+ "sha256:a9abc8c480e103dc05d9b332c6cc9fb1586330356fc14f1aa9c0ca5745097d19",
+ "sha256:aca06bfba4759bbdb09bf52ebb15ae20268ee1f6747417837926fae990ebc41d",
+ "sha256:bb23b7a6fd666e551a3094ab896a57809e010059540ad20acbeec03a154224ce",
+ "sha256:bfd1d0ae7e292105f29d7deaa9d8f2916ed8553ab9d5f39ec65bcf5deadff3f9",
+ "sha256:c22ab9f96cbaff05c6a84e20ec856383d27eae09e511d3e6ac4479489195861d",
+ "sha256:c62ca0a38958f541a73cf86acdab020c2091631c137bd359c4f5bddde7b75fd4",
+ "sha256:c709d8bda72cf4cd348ccec2a4881f2c5848fd72903c185f363d361b2737f773",
+ "sha256:c968a6aa7e0b56ecbd28531ddf439c2ec103610d3e2bf3b75b813304f8cb7723",
+ "sha256:ca58eba39c68010d7e87a823f22a081b5290e3e3c64714aac3c91481d8b34d22",
+ "sha256:df785d8cb80539d0b55fd47183264b7002077859028dfe3070cf6359bf8b2d9c",
+ "sha256:f406628ca51e0ae90ae76ea8398677a921b36f0bd71aab2099dfed08abd0322f",
+ "sha256:f46087bbd95ebae244a0eda01a618aff11ec7a069b15a3ef8f6b520db523dcf1",
+ "sha256:f8019c5279eb32360ca03e9fac40a12667715546eed5c5eb59eb381f2f501260",
+ "sha256:fc5f4d209733750afd2714e9109816a29500718b32dd9a5db01c0cb3a019b96a"
],
- "version": "==4.5.1"
+ "version": "==4.5.3"
},
"decorator": {
"hashes": [
- "sha256:2c51dff8ef3c447388fe5e4453d24a2bf128d3a4c32af3fabef1f01c6851ab82",
- "sha256:c39efa13fbdeb4506c476c9b3babf6a718da943dab7811c206005a4a956c080c"
+ "sha256:86156361c50488b84a3f148056ea716ca587df2f0de1d34750d35c21312725de",
+ "sha256:f069f3a01830ca754ba5258fde2278454a0b5b79e0d7f5c13b3b97e57d4acff6"
],
- "version": "==4.3.0"
+ "version": "==4.4.0"
},
"detox": {
"hashes": [
- "sha256:cb24895a0e4f95c0bcb1087a201c453600e075568af00848e91518fb2b984568",
- "sha256:f3119bca4444f1e8a1d7189b064c52cfdd9a89ad3a1c921d78b49bf7f5dc5b1b"
+ "sha256:e650f95f0c7f5858578014b3b193e5dac76c89285c1bbe4bae598fd641bf9cd3",
+ "sha256:fcad009e2d20ce61176dc826a2c1562bd712fe53953ca603b455171cf819080f"
],
"index": "pypi",
- "version": "==0.12"
+ "version": "==0.19"
+ },
+ "dnspython": {
+ "hashes": [
+ "sha256:36c5e8e38d4369a08b6780b7f27d790a292b2b08eea01607865bf0936c558e01",
+ "sha256:f69c21288a962f4da86e56c4905b49d11aba7938d3d740e80d9e366ee4f1632d"
+ ],
+ "version": "==1.16.0"
},
"docutils": {
"hashes": [
@@ -302,6 +313,13 @@
"index": "pypi",
"version": "==0.14"
},
+ "entrypoints": {
+ "hashes": [
+ "sha256:589f874b313739ad35be6e0cd7efde2a4e9b6fea91edcc34e58ecbb8dbe56d19",
+ "sha256:c70dd71abe5a8c85e55e12c19bd91ccfeec11a6e99044204511f9ed547d48451"
+ ],
+ "version": "==0.3"
+ },
"enum34": {
"hashes": [
"sha256:2d81cbbe0e73112bdfe6ef8576f2238f2ba27dd0d55752a776c41d38b7da2850",
@@ -314,25 +332,32 @@
},
"eventlet": {
"hashes": [
- "sha256:06cffa55b335cc4fc32d0079242a81e8a9cddf2581d64d5f0543e2d412b26ca8",
- "sha256:554a50dad7abee0a9775b0780ce9d9c0bd9123dda4743c46d4314170267c6c47"
+ "sha256:c584163e006e613707e224552fafc63e4e0aa31d7de0ab18b481ac0b385254c8",
+ "sha256:d9d31a3c8dbcedbcce5859a919956d934685b17323fc80e1077cb344a2ffa68d"
],
- "version": "==0.23.0"
+ "version": "==0.24.1"
},
"execnet": {
"hashes": [
- "sha256:a7a84d5fa07a089186a329528f127c9d73b9de57f1a1131b82bb5320ee651f6a",
- "sha256:fc155a6b553c66c838d1a22dba1dc9f5f505c43285a878c6f74a79c024750b83"
+ "sha256:027ee5d961afa01e97b90d6ccc34b4ed976702bc58e7f092b3c513ea288cb6d2",
+ "sha256:752a3786f17416d491f833a29217dda3ea4a471fc5269c492eebcee8cc4772d3"
+ ],
+ "version": "==1.6.0"
+ },
+ "filelock": {
+ "hashes": [
+ "sha256:b8d5ca5ca1c815e1574aee746650ea7301de63d87935b3463d26368b76e31633",
+ "sha256:d610c1bb404daf85976d7a82eb2ada120f04671007266b708606565dd03b5be6"
],
- "version": "==1.5.0"
+ "version": "==3.0.10"
},
"flake8": {
"hashes": [
- "sha256:7253265f7abd8b313e3892944044a365e3f4ac3fcdcfb4298f55ee9ddf188ba0",
- "sha256:c7841163e2b576d435799169b78703ad6ac1bbb0f199994fc05f700b2a90ea37"
+ "sha256:859996073f341f2670741b51ec1e67a01da142831aa1fdc6242dbf88dffbe661",
+ "sha256:a796a115208f5c03b18f332f7c11729812c8c3ded6c46319c59b53efd3819da8"
],
"index": "pypi",
- "version": "==3.5.0"
+ "version": "==3.7.7"
},
"flask": {
"hashes": [
@@ -346,43 +371,40 @@
"sha256:330cc27ccbf7f1e992e69fef78261dc7c6569012cf397db8d3de0234e6c937ca",
"sha256:a7bb0f2cf3a3fd1ab2732cb49eba4252c2af4240442415b4abce3b87022a8f50"
],
- "markers": "python_version < '3.3'",
+ "markers": "python_version < '3.0'",
"version": "==1.0.2"
},
- "future": {
+ "functools32": {
"hashes": [
- "sha256:e39ced1ab767b5936646cedba8bcce582398233d6a627067d4c6a454c90cfedb"
+ "sha256:89d824aa6c358c421a234d7f9ee0bd75933a67c29588ce50aaa3acdf4d403fa0",
+ "sha256:f6253dfbe0538ad2e387bd8fdfd9293c925d63553f5813c4e587745416501e6d"
],
- "version": "==0.16.0"
+ "markers": "python_version < '3.2'",
+ "version": "==3.2.3.post2"
},
"greenlet": {
"hashes": [
- "sha256:09ef2636ea35782364c830f07127d6c7a70542b178268714a9a9ba16318e7e8b",
- "sha256:0fef83d43bf87a5196c91e73cb9772f945a4caaff91242766c5916d1dd1381e4",
- "sha256:1b7df09c6598f5cfb40f843ade14ed1eb40596e75cd79b6fa2efc750ba01bb01",
- "sha256:1fff21a2da5f9e03ddc5bd99131a6b8edf3d7f9d6bc29ba21784323d17806ed7",
- "sha256:42118bf608e0288e35304b449a2d87e2ba77d1e373e8aa221ccdea073de026fa",
- "sha256:50643fd6d54fd919f9a0a577c5f7b71f5d21f0959ab48767bd4bb73ae0839500",
- "sha256:58798b5d30054bb4f6cf0f712f08e6092df23a718b69000786634a265e8911a9",
- "sha256:5b49b3049697aeae17ef7bf21267e69972d9e04917658b4e788986ea5cc518e8",
- "sha256:75c413551a436b462d5929255b6dc9c0c3c2b25cbeaee5271a56c7fda8ca49c0",
- "sha256:769b740aeebd584cd59232be84fdcaf6270b8adc356596cdea5b2152c82caaac",
- "sha256:ad2383d39f13534f3ca5c48fe1fc0975676846dc39c2cece78c0f1f9891418e0",
- "sha256:b417bb7ff680d43e7bd7a13e2e08956fa6acb11fd432f74c97b7664f8bdb6ec1",
- "sha256:b6ef0cabaf5a6ecb5ac122e689d25ba12433a90c7b067b12e5f28bdb7fb78254",
- "sha256:c2de19c88bdb0366c976cc125dca1002ec1b346989d59524178adfd395e62421",
- "sha256:c7b04a6dc74087b1598de8d713198de4718fa30ec6cbb84959b26426c198e041",
- "sha256:f8f2a0ae8de0b49c7b5b2daca4f150fdd9c1173e854df2cce3b04123244f9f45",
- "sha256:fcfadaf4bf68a27e5dc2f42cbb2f4b4ceea9f05d1d0b8f7787e640bed2801634"
+ "sha256:000546ad01e6389e98626c1367be58efa613fa82a1be98b0c6fc24b563acc6d0",
+ "sha256:0d48200bc50cbf498716712129eef819b1729339e34c3ae71656964dac907c28",
+ "sha256:23d12eacffa9d0f290c0fe0c4e81ba6d5f3a5b7ac3c30a5eaf0126bf4deda5c8",
+ "sha256:37c9ba82bd82eb6a23c2e5acc03055c0e45697253b2393c9a50cef76a3985304",
+ "sha256:51503524dd6f152ab4ad1fbd168fc6c30b5795e8c70be4410a64940b3abb55c0",
+ "sha256:8041e2de00e745c0e05a502d6e6db310db7faa7c979b3a5877123548a4c0b214",
+ "sha256:81fcd96a275209ef117e9ec91f75c731fa18dcfd9ffaa1c0adbdaa3616a86043",
+ "sha256:853da4f9563d982e4121fed8c92eea1a4594a2299037b3034c3c898cb8e933d6",
+ "sha256:8b4572c334593d449113f9dc8d19b93b7b271bdbe90ba7509eb178923327b625",
+ "sha256:9416443e219356e3c31f1f918a91badf2e37acf297e2fa13d24d1cc2380f8fbc",
+ "sha256:9854f612e1b59ec66804931df5add3b2d5ef0067748ea29dc60f0efdcda9a638",
+ "sha256:99a26afdb82ea83a265137a398f570402aa1f2b5dfb4ac3300c026931817b163",
+ "sha256:a19bf883b3384957e4a4a13e6bd1ae3d85ae87f4beb5957e35b0be287f12f4e4",
+ "sha256:a9f145660588187ff835c55a7d2ddf6abfc570c2651c276d3d4be8a2766db490",
+ "sha256:ac57fcdcfb0b73bb3203b58a14501abb7e5ff9ea5e2edfa06bb03035f0cff248",
+ "sha256:bcb530089ff24f6458a81ac3fa699e8c00194208a724b644ecc68422e1111939",
+ "sha256:beeabe25c3b704f7d56b573f7d2ff88fc99f0138e43480cecdfcaa3b87fe4f87",
+ "sha256:d634a7ea1fc3380ff96f9e44d8d22f38418c1c381d5fac680b272d7d90883720",
+ "sha256:d97b0661e1aead761f0ded3b769044bb00ed5d33e1ec865e891a8b128bf7c656"
],
- "version": "==0.4.13"
- },
- "html5lib": {
- "hashes": [
- "sha256:20b159aa3badc9d5ee8f5c647e5efd02ed2a66ab8d354930bd9ff139fc1dc0a3",
- "sha256:66cb0dcfdbbc4f9c3ba1a63fdb511ffdbd4f513b2b6d81b80cd26ce6b3fb3736"
- ],
- "version": "==1.0.1"
+ "version": "==0.4.15"
},
"httpbin": {
"hashes": [
@@ -394,36 +416,64 @@
},
"idna": {
"hashes": [
- "sha256:2c6a5de3089009e3da7c5dde64a141dbc8551d5b7f6cf4ed7c2568d0cc520a8f",
- "sha256:8c7309c718f94b3a625cb648ace320157ad16ff131ae0af362c9f21b80ef6ec4"
+ "sha256:c357b3f628cf53ae2c4c05627ecc484553142ca23264e593d327bcde5e9c3407",
+ "sha256:ea8b7f6188e6fa117537c3df7da9fc686d485087abf6ac197f9c46432f7e4a3c"
],
- "version": "==2.6"
+ "version": "==2.8"
},
"imagesize": {
"hashes": [
- "sha256:3620cc0cadba3f7475f9940d22431fc4d407269f1be59ec9b8edcca26440cf18",
- "sha256:5b326e4678b6925158ccc66a9fa3122b6106d7c876ee32d7de6ce59385b96315"
+ "sha256:3f349de3eb99145973fefb7dbe38554414e5c30abd0c8e4b970a7c9d09f3a1d8",
+ "sha256:f3832918bc3c66617f92e35f5d70729187676313caa60c187eb0f28b8fe5e3b5"
],
- "version": "==1.0.0"
+ "version": "==1.1.0"
},
"itsdangerous": {
"hashes": [
- "sha256:cbb3fcf8d3e33df861709ecaf89d9e6629cff0a217bc2848f1b41cd30d360519"
+ "sha256:321b033d07f2a4136d3ec762eac9f16a10ccd60f53c0c91af90217ace7ba1f19",
+ "sha256:b12271b2047cb23eeb98c8b5622e2e5c5e9abd9784a153e9d8ef9cb4dd09d749"
],
- "version": "==0.24"
+ "version": "==1.1.0"
},
"jinja2": {
"hashes": [
- "sha256:74c935a1b8bb9a3947c50a54766a969d4846290e1e788ea44c1392163723c3bd",
- "sha256:f84be1bb0040caca4cea721fcbbbbd61f9be9464ca236387158b0feea01914a4"
+ "sha256:065c4f02ebe7f7cf559e49ee5a95fb800a9e4528727aec6f24402a5374c65013",
+ "sha256:14dd6caf1527abb21f08f86c784eac40853ba93edb79552aa1e4b8aef1b61c7b"
],
- "version": "==2.10"
+ "version": "==2.10.1"
},
"markupsafe": {
"hashes": [
- "sha256:a6be69091dac236ea9c6bc7d012beab42010fa914c459791d627dad4910eb665"
+ "sha256:00bc623926325b26bb9605ae9eae8a215691f33cae5df11ca5424f06f2d1f473",
+ "sha256:09027a7803a62ca78792ad89403b1b7a73a01c8cb65909cd876f7fcebd79b161",
+ "sha256:09c4b7f37d6c648cb13f9230d847adf22f8171b1ccc4d5682398e77f40309235",
+ "sha256:1027c282dad077d0bae18be6794e6b6b8c91d58ed8a8d89a89d59693b9131db5",
+ "sha256:24982cc2533820871eba85ba648cd53d8623687ff11cbb805be4ff7b4c971aff",
+ "sha256:29872e92839765e546828bb7754a68c418d927cd064fd4708fab9fe9c8bb116b",
+ "sha256:43a55c2930bbc139570ac2452adf3d70cdbb3cfe5912c71cdce1c2c6bbd9c5d1",
+ "sha256:46c99d2de99945ec5cb54f23c8cd5689f6d7177305ebff350a58ce5f8de1669e",
+ "sha256:500d4957e52ddc3351cabf489e79c91c17f6e0899158447047588650b5e69183",
+ "sha256:535f6fc4d397c1563d08b88e485c3496cf5784e927af890fb3c3aac7f933ec66",
+ "sha256:62fe6c95e3ec8a7fad637b7f3d372c15ec1caa01ab47926cfdf7a75b40e0eac1",
+ "sha256:6dd73240d2af64df90aa7c4e7481e23825ea70af4b4922f8ede5b9e35f78a3b1",
+ "sha256:717ba8fe3ae9cc0006d7c451f0bb265ee07739daf76355d06366154ee68d221e",
+ "sha256:79855e1c5b8da654cf486b830bd42c06e8780cea587384cf6545b7d9ac013a0b",
+ "sha256:7c1699dfe0cf8ff607dbdcc1e9b9af1755371f92a68f706051cc8c37d447c905",
+ "sha256:88e5fcfb52ee7b911e8bb6d6aa2fd21fbecc674eadd44118a9cc3863f938e735",
+ "sha256:8defac2f2ccd6805ebf65f5eeb132adcf2ab57aa11fdf4c0dd5169a004710e7d",
+ "sha256:98c7086708b163d425c67c7a91bad6e466bb99d797aa64f965e9d25c12111a5e",
+ "sha256:9add70b36c5666a2ed02b43b335fe19002ee5235efd4b8a89bfcf9005bebac0d",
+ "sha256:9bf40443012702a1d2070043cb6291650a0841ece432556f784f004937f0f32c",
+ "sha256:ade5e387d2ad0d7ebf59146cc00c8044acbd863725f887353a10df825fc8ae21",
+ "sha256:b00c1de48212e4cc9603895652c5c410df699856a2853135b3967591e4beebc2",
+ "sha256:b1282f8c00509d99fef04d8ba936b156d419be841854fe901d8ae224c59f0be5",
+ "sha256:b2051432115498d3562c084a49bba65d97cf251f5a331c64a12ee7e04dacc51b",
+ "sha256:ba59edeaa2fc6114428f1637ffff42da1e311e29382d81b339c1817d37ec93c6",
+ "sha256:c8716a48d94b06bb3b2524c2b77e055fb313aeb4ea620c8dd03a105574ba704f",
+ "sha256:cd5df75523866410809ca100dc9681e301e3c27567cf498077e8551b6d20e42f",
+ "sha256:e249096428b3ae81b08327a63a485ad0878de3fb939049038579ac0ef61e17e7"
],
- "version": "==1.0"
+ "version": "==1.1.1"
},
"mccabe": {
"hashes": [
@@ -434,97 +484,106 @@
},
"mock": {
"hashes": [
- "sha256:5ce3c71c5545b472da17b72268978914d0252980348636840bd34a00b5cc96c1",
- "sha256:b158b6df76edd239b8208d481dc46b6afd45a846b7812ff0ce58971cf5bc8bba"
+ "sha256:83657d894c90d5681d62155c82bda9c1187827525880eda8ff5df4ec813437c3",
+ "sha256:d157e52d4e5b938c550f39eb2fd15610db062441a9c2747d3dbfa9298211d0f8"
],
"markers": "python_version < '3.0'",
- "version": "==2.0.0"
+ "version": "==3.0.5"
+ },
+ "monotonic": {
+ "hashes": [
+ "sha256:23953d55076df038541e648a53676fb24980f7a1be290cdda21300b3bc21dfb0",
+ "sha256:552a91f381532e33cbd07c6a2655a21908088962bb8fa7239ecbcc6ad1140cc7"
+ ],
+ "version": "==1.5"
},
"more-itertools": {
"hashes": [
- "sha256:0dd8f72eeab0d2c3bd489025bb2f6a1b8342f9b198f6fc37b52d15cfa4531fea",
- "sha256:11a625025954c20145b37ff6309cd54e39ca94f72f6bb9576d1195db6fa2442e",
- "sha256:c9ce7eccdcb901a2c75d326ea134e0886abfbea5f93e91cc95de9507c0816c44"
+ "sha256:38a936c0a6d98a38bcc2d03fdaaedaba9f412879461dd2ceff8d37564d6522e4",
+ "sha256:c0a5785b1109a6bd7fac76d6837fd1feca158e54e521ccd2ae8bfe393cc9d4fc",
+ "sha256:fe7a7cae1ccb57d33952113ff4fa1bc5f879963600ed74918f1236e212ee50b9"
],
- "version": "==4.1.0"
+ "version": "==5.0.0"
},
- "pbr": {
+ "pathlib2": {
"hashes": [
- "sha256:680bf5ba9b28dd56e08eb7c267991a37c7a5f90a92c2e07108829931a50ff80a",
- "sha256:6874feb22334a1e9a515193cba797664e940b763440c88115009ec323a7f2df5"
+ "sha256:25199318e8cc3c25dcb45cbe084cc061051336d5a9ea2a12448d3d8cb748f742",
+ "sha256:5887121d7f7df3603bca2f710e7219f3eca0eb69e0b7cc6e0a022e155ac931a7"
],
- "version": "==4.0.3"
+ "markers": "python_version < '3.6'",
+ "version": "==2.3.3"
},
"pluggy": {
"hashes": [
- "sha256:7f8ae7f5bdf75671a718d2daf0a64b7885f74510bcd98b1a0bb420eb9a9d0cff",
- "sha256:d345c8fe681115900d6da8d048ba67c25df42973bda370783cd58826442dcd7c",
- "sha256:e160a7fcf25762bb60efc7e171d4497ff1d8d2d75a3d0df7a21b76821ecbf5c5"
+ "sha256:25a1bc1d148c9a640211872b4ff859878d422bccb59c9965e04eed468a0aa180",
+ "sha256:964cedd2b27c492fbf0b7f58b3284a09cf7f99b0f715941fb24a439b3af1bd1a"
],
- "version": "==0.6.0"
+ "version": "==0.11.0"
},
"py": {
"hashes": [
- "sha256:29c9fab495d7528e80ba1e343b958684f4ace687327e6f789a94bf3d1915f881",
- "sha256:983f77f3331356039fdd792e9220b7b8ee1aa6bd2b25f567a963ff1de5a64f6a"
+ "sha256:64f65755aee5b381cea27766a3a147c3f15b9b6b9ac88676de66ba2ae36793fa",
+ "sha256:dc639b046a6e2cff5bbe40194ad65936d6ba360b52b3c3fe1d08a82dd50b5e53"
],
- "version": "==1.5.3"
+ "version": "==1.8.0"
},
"pycodestyle": {
"hashes": [
- "sha256:682256a5b318149ca0d2a9185d365d8864a768a28db66a84a2ea946bcc426766",
- "sha256:6c4245ade1edfad79c3446fadfc96b0de2759662dc29d07d80a6f27ad1ca6ba9"
+ "sha256:95a2219d12372f05704562a14ec30bc76b05a5b297b21a5dfe3f6fac3491ae56",
+ "sha256:e40a936c9a450ad81df37f549d676d127b1b66000a6c500caa2b085bc0ca976c"
],
- "version": "==2.3.1"
+ "version": "==2.5.0"
},
"pycparser": {
"hashes": [
- "sha256:99a8ca03e29851d96616ad0404b4aad7d9ee16f25c9f9708a11faf2810f7b226"
+ "sha256:a988718abfad80b6b157acce7bf130a30876d27603738ac39f140993246b25b3"
],
- "version": "==2.18"
+ "version": "==2.19"
},
"pyflakes": {
"hashes": [
- "sha256:08bd6a50edf8cffa9fa09a463063c425ecaaf10d1eb0335a7e8b1401aef89e6f",
- "sha256:8d616a382f243dbf19b54743f280b80198be0bca3a5396f1d2e1fca6223e8805"
+ "sha256:17dbeb2e3f4d772725c777fabc446d5634d1038f234e77343108ce445ea69ce0",
+ "sha256:d976835886f8c5b31d47970ed689944a0262b5f3afa00a5a7b4dc81e5449f8a2"
],
- "version": "==1.6.0"
+ "version": "==2.1.1"
},
"pygments": {
"hashes": [
- "sha256:78f3f434bcc5d6ee09020f92ba487f95ba50f1e3ef83ae96b9d5ffa1bab25c5d",
- "sha256:dbae1046def0efb574852fab9e90209b23f556367b5a320c0bcb871c77c3e8cc"
+ "sha256:31cba6ffb739f099a85e243eff8cb717089fdd3c7300767d9fc34cb8e1b065f5",
+ "sha256:5ad302949b3c98dd73f8d9fcdc7e9cb592f120e32a18e23efd7f3dc51194472b"
],
- "version": "==2.2.0"
+ "version": "==2.4.0"
},
"pysocks": {
"hashes": [
- "sha256:3fe52c55890a248676fd69dc9e3c4e811718b777834bcaab7a8125cf9deac672"
+ "sha256:15d38914b60dbcb231d276f64882a20435c049450160e953ca7d313d1405f16f",
+ "sha256:32238918ac0f19e9fd870a8692ac9bd14f5e8752b3c62624cda5851424642210",
+ "sha256:d9031ea45fdfacbe59a99273e9f0448ddb33c1580fe3831c1b09557c5718977c"
],
- "version": "==1.6.8"
+ "version": "==1.7.0"
},
"pytest": {
"hashes": [
- "sha256:54713b26c97538db6ff0703a12b19aeaeb60b5e599de542e7fca0ec83b9038e8",
- "sha256:829230122facf05a5f81a6d4dfe6454a04978ea3746853b2b84567ecf8e5c526"
+ "sha256:3f193df1cfe1d1609d4c583838bea3d532b18d6160fd3f55c9447fdca30848ec",
+ "sha256:e246cf173c01169b9617fc07264b7b1316e78d7a650055235d6d897bc80d9660"
],
"index": "pypi",
- "version": "==3.5.1"
+ "version": "==3.10.1"
},
"pytest-cov": {
"hashes": [
- "sha256:03aa752cf11db41d281ea1d807d954c4eda35cfa1b21d6971966cc041bbf6e2d",
- "sha256:890fe5565400902b0c78b5357004aab1c814115894f4f21370e2433256a3eeec"
+ "sha256:2b097cde81a302e1047331b48cadacf23577e431b61e9c6f49a1170bbe3d3da6",
+ "sha256:e00ea4fdde970725482f1f35630d12f074e121a23801aabf2ae154ec6bdd343a"
],
"index": "pypi",
- "version": "==2.5.1"
+ "version": "==2.7.1"
},
"pytest-forked": {
"hashes": [
- "sha256:e4500cd0509ec4a26535f7d4112a8cc0f17d3a41c29ffd4eab479d2a55b30805",
- "sha256:f275cb48a73fc61a6710726348e1da6d68a978f0ec0c54ece5a5fae5977e5a08"
+ "sha256:5fe33fbd07d7b1302c95310803a5e5726a4ff7f19d5a542b7ce57c76fed8135f",
+ "sha256:d352aaced2ebd54d42a65825722cb433004b4446ab5d2044851d9cc7a00c9e38"
],
- "version": "==0.2"
+ "version": "==1.0.2"
},
"pytest-httpbin": {
"hashes": [
@@ -536,55 +595,76 @@
},
"pytest-mock": {
"hashes": [
- "sha256:53801e621223d34724926a5c98bd90e8e417ce35264365d39d6c896388dcc928",
- "sha256:d89a8209d722b8307b5e351496830d5cc5e192336003a485443ae9adeb7dd4c0"
+ "sha256:43ce4e9dd5074993e7c021bb1c22cbb5363e612a2b5a76bc6d956775b10758b7",
+ "sha256:5bf5771b1db93beac965a7347dc81c675ec4090cb841e49d9d34637a25c30568"
],
"index": "pypi",
- "version": "==1.10.0"
+ "version": "==1.10.4"
},
"pytest-xdist": {
"hashes": [
- "sha256:be2662264b035920ba740ed6efb1c816a83c8a22253df7766d129f6a7bfdbd35",
- "sha256:e8f5744acc270b3e7d915bdb4d5f471670f049b6fbd163d4cbd52203b075d30f"
+ "sha256:96f893094c89fddeaff3f4783f4807f7aeb138be1a0d87a8805057b6af1201b5",
+ "sha256:aab1402f2b063df48bf044b042707610f8fcc4c49d0eb9c10e79e30b3f26074f"
],
"index": "pypi",
- "version": "==1.22.2"
+ "version": "==1.25.0"
},
"pytz": {
"hashes": [
- "sha256:65ae0c8101309c45772196b21b74c46b2e5d11b6275c45d251b150d5da334555",
- "sha256:c06425302f2cf668f1bba7a0a03f3c1d34d4ebeef2c72003da308b3947c7f749"
+ "sha256:303879e36b721603cc54604edcac9d20401bdbe31e1e4fdee5b9f98d5d31dfda",
+ "sha256:d747dd3d23d77ef44c6a3526e274af6efeb0a6f1afd5a69ba4d5be4098c8e141"
],
- "version": "==2018.4"
+ "version": "==2019.1"
},
"raven": {
+ "extras": [
+ "flask"
+ ],
"hashes": [
- "sha256:1c641e5ebc2d4185560608e253970ca0d4b98475f4edf67735015a415f9e1d48",
- "sha256:95aecf76c414facaddbb056f3e98c7936318123e467728f2e50b3a66b65a6ef7"
+ "sha256:3fa6de6efa2493a7c827472e984ce9b020797d0da16f1db67197bcc23c8fae54",
+ "sha256:44a13f87670836e153951af9a3c80405d36b43097db869a36e92809673692ce4"
],
- "version": "==6.8.0"
+ "version": "==6.10.0"
},
"readme-renderer": {
"hashes": [
- "sha256:bde909eaa84d65b7942f7e6998c8b427b90b568b2630ff0306f4ca75f6d2a909",
- "sha256:e7e43a7ba49f08c3cb660d0f2e25b561f6b10b36c63f029060230aab2dc2875e"
+ "sha256:bb16f55b259f27f75f640acf5e00cf897845a8b3e4731b5c1a436e4b8529202f",
+ "sha256:c8532b79afc0375a85f10433eca157d6b50f7d6990f337fa498c96cd4bfc203d"
],
"index": "pypi",
- "version": "==20.0"
+ "version": "==24.0"
},
"requests": {
+ "editable": true,
+ "extras": [
+ "socks"
+ ],
+ "path": ".",
+ "version": "==2.22.0"
+ },
+ "scandir": {
"hashes": [
- "sha256:6a1b267aa90cac58ac3a765d067950e7dbbf75b1da07e895d1f594193a40a38b",
- "sha256:9c443e7324ba5b85070c4a818ade28bfabedf16ea10206da1132edaa6dda237e"
+ "sha256:2586c94e907d99617887daed6c1d102b5ca28f1085f90446554abf1faf73123e",
+ "sha256:2ae41f43797ca0c11591c0c35f2f5875fa99f8797cb1a1fd440497ec0ae4b022",
+ "sha256:2b8e3888b11abb2217a32af0766bc06b65cc4a928d8727828ee68af5a967fa6f",
+ "sha256:2c712840c2e2ee8dfaf36034080108d30060d759c7b73a01a52251cc8989f11f",
+ "sha256:4d4631f6062e658e9007ab3149a9b914f3548cb38bfb021c64f39a025ce578ae",
+ "sha256:67f15b6f83e6507fdc6fca22fedf6ef8b334b399ca27c6b568cbfaa82a364173",
+ "sha256:7d2d7a06a252764061a020407b997dd036f7bd6a175a5ba2b345f0a357f0b3f4",
+ "sha256:8c5922863e44ffc00c5c693190648daa6d15e7c1207ed02d6f46a8dcc2869d32",
+ "sha256:92c85ac42f41ffdc35b6da57ed991575bdbe69db895507af88b9f499b701c188",
+ "sha256:b24086f2375c4a094a6b51e78b4cf7ca16c721dcee2eddd7aa6494b42d6d519d",
+ "sha256:cb925555f43060a1745d0a321cca94bcea927c50114b623d73179189a4e100ac"
],
- "version": "==2.18.4"
+ "markers": "python_version < '3.5'",
+ "version": "==1.10.0"
},
"six": {
"hashes": [
- "sha256:70e8a77beed4562e7f14fe23a786b54f6296e34344c23bc42f07b15018ff98e9",
- "sha256:832dc0e10feb1aa2c68dcc57dbb658f1c7e65b9b61af69048abc87a2db00a0eb"
+ "sha256:3350809f0555b11f552448330d0b52d5f24c91a322ea4a15ef22629740f3761c",
+ "sha256:d16a0141ec1a18405cd4ce8b4613101da75da0e9a7aec5bdd4fa804d0e0eba73"
],
- "version": "==1.11.0"
+ "version": "==1.12.0"
},
"snowballstemmer": {
"hashes": [
@@ -601,27 +681,44 @@
"index": "pypi",
"version": "==1.5.5"
},
+ "toml": {
+ "hashes": [
+ "sha256:229f81c57791a41d65e399fc06bf0848bab550a9dfd5ed66df18ce5f05e73d5c",
+ "sha256:235682dd292d5899d361a811df37e04a8828a5b1da3115886b73cf81ebc9100e",
+ "sha256:f1db651f9657708513243e61e6cc67d101a39bad662eaa9b5546f789338e07a3"
+ ],
+ "version": "==0.10.0"
+ },
"tox": {
"hashes": [
- "sha256:96efa09710a3daeeb845561ebbe1497641d9cef2ee0aea30db6969058b2bda2f",
- "sha256:9ee7de958a43806402a38c0d2aa07fa8553f4d2c20a15b140e9f771c2afeade0"
+ "sha256:2a8d8a63660563e41e64e3b5b677e81ce1ffa5e2a93c2c565d3768c287445800",
+ "sha256:edfca7809925f49bdc110d0a2d9966bbf35a0c25637216d9586e7a5c5de17bfb"
],
"index": "pypi",
- "version": "==3.0.0"
+ "version": "==3.6.1"
+ },
+ "typing": {
+ "hashes": [
+ "sha256:4027c5f6127a6267a435201981ba156de91ad0d1d98e9ddc2aa173453453492d",
+ "sha256:57dcf675a99b74d64dacf6fba08fb17cf7e3d5fdff53d4a30ea2a5e7e52543d4",
+ "sha256:a4c8473ce11a65999c8f59cb093e70686b6c84c98df58c1dae9b3b196089858a"
+ ],
+ "markers": "python_version < '3.5'",
+ "version": "==3.6.6"
},
"urllib3": {
"hashes": [
- "sha256:06330f386d6e4b195fbfc736b297f58c5a892e4440e54d294d7004e3a9bbea1b",
- "sha256:cc44da8e1145637334317feebd728bd869a35285b93cbb4cca2577da7e62db4f"
+ "sha256:a53063d8b9210a7bdec15e7b272776b9d42b2fd6816401a0d43006ad2f9902db",
+ "sha256:d363e3607d8de0c220d31950a8f38b18d5ba7c0830facd71a1c6b1036b7ce06c"
],
- "version": "==1.22"
+ "version": "==1.25.2"
},
"virtualenv": {
"hashes": [
- "sha256:1d7e241b431e7afce47e77f8843a276f652699d1fa4f93b9d8ce0076fd7b0b54",
- "sha256:e8e05d4714a1c51a2f5921e62f547fcb0f713ebbe959e0a7f585cc8bef71d11f"
+ "sha256:99acaf1e35c7ccf9763db9ba2accbca2f4254d61d1912c5ee364f9cc4a8942a0",
+ "sha256:fe51cdbf04e5d8152af06c075404745a7419de27495a83f0d72518ad50be3ce8"
],
- "version": "==15.2.0"
+ "version": "==16.6.0"
},
"webencodings": {
"hashes": [
@@ -632,10 +729,10 @@
},
"werkzeug": {
"hashes": [
- "sha256:c3fd7a7d41976d9f44db327260e263132466836cef6f91512889ed60ad26557c",
- "sha256:d5da73735293558eb1651ee2fddc4d0dedcfa06538b8813a2e20011583c9e49b"
+ "sha256:865856ebb55c4dcd0630cdd8f3331a1847a819dda7e8c750d3db6f2aa6c0209c",
+ "sha256:a0b915f0815982fb2a09161cb8f31708052d0951c3ba433ccc5e1aa276507ca6"
],
- "version": "==0.14.1"
+ "version": "==0.15.4"
}
}
}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/requests-2.21.0/README.md new/requests-2.22.0/README.md
--- old/requests-2.21.0/README.md 2018-12-10 05:44:59.000000000 +0100
+++ new/requests-2.22.0/README.md 2019-05-16 16:23:42.000000000 +0200
@@ -8,8 +8,6 @@
[![image](https://img.shields.io/github/contributors/requests/requests.svg)](https://github.com/requests/requests/graphs/contributors)
[![image](https://img.shields.io/badge/Say%20Thanks-!-1EAEDB.svg)](https://saythanks.io/to/kennethreitz)
-**If you're interested in financially supporting Kenneth Reitz open source, consider [visiting this link](https://cash.me/$KennethReitz). Your support helps tremendously with sustainability of motivation, as Open Source is no longer part of my day job.**
-
Requests is the only *Non-GMO* HTTP library for Python, safe for human
consumption.
@@ -18,6 +16,7 @@
Behold, the power of Requests:
``` {.sourceCode .python}
+>>> import requests
>>> r = requests.get('https://api.github.com/user', auth=('user', 'pass'))
>>> r.status_code
200
@@ -91,17 +90,18 @@
How to Contribute
-----------------
-1. Check for open issues or open a fresh issue to start a discussion
+1. Become more familiar with the project by reading our [Contributor's Guide](http://docs.python-requests.org/en/latest/dev/contributing/) and our [development philosophy](http://docs.python-requests.org/en/latest/dev/philosophy/).
+2. Check for open issues or open a fresh issue to start a discussion
around a feature idea or a bug. There is a [Contributor
Friendly](https://github.com/requests/requests/issues?direction=desc&labels…
tag for issues that should be ideal for people who are not very
familiar with the codebase yet.
-2. Fork [the repository](https://github.com/requests/requests) on
+3. Fork [the repository](https://github.com/requests/requests) on
GitHub to start making your changes to the **master** branch (or
branch off of it).
-3. Write a test which shows that the bug was fixed or that the feature
+4. Write a test which shows that the bug was fixed or that the feature
works as expected.
-4. Send a pull request and bug the maintainer until it gets merged and
+5. Send a pull request and bug the maintainer until it gets merged and
published. :) Make sure to add yourself to
[AUTHORS](https://github.com/requests/requests/blob/master/AUTHORS.rst).
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/requests-2.21.0/requests/__init__.py new/requests-2.22.0/requests/__init__.py
--- old/requests-2.21.0/requests/__init__.py 2018-10-18 17:46:52.000000000 +0200
+++ new/requests-2.22.0/requests/__init__.py 2019-05-16 16:22:45.000000000 +0200
@@ -57,10 +57,10 @@
# Check urllib3 for compatibility.
major, minor, patch = urllib3_version # noqa: F811
major, minor, patch = int(major), int(minor), int(patch)
- # urllib3 >= 1.21.1, <= 1.24
+ # urllib3 >= 1.21.1, <= 1.25
assert major == 1
assert minor >= 21
- assert minor <= 24
+ assert minor <= 25
# Check chardet for compatibility.
major, minor, patch = chardet_version.split('.')[:3]
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/requests-2.21.0/requests/__version__.py new/requests-2.22.0/requests/__version__.py
--- old/requests-2.21.0/requests/__version__.py 2018-12-10 07:00:19.000000000 +0100
+++ new/requests-2.22.0/requests/__version__.py 2019-05-16 16:22:45.000000000 +0200
@@ -5,10 +5,10 @@
__title__ = 'requests'
__description__ = 'Python HTTP for Humans.'
__url__ = 'http://python-requests.org'
-__version__ = '2.21.0'
-__build__ = 0x022100
+__version__ = '2.22.0'
+__build__ = 0x022200
__author__ = 'Kenneth Reitz'
__author_email__ = 'me(a)kennethreitz.org'
__license__ = 'Apache 2.0'
-__copyright__ = 'Copyright 2018 Kenneth Reitz'
+__copyright__ = 'Copyright 2019 Kenneth Reitz'
__cake__ = u'\u2728 \U0001f370 \u2728'
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/requests-2.21.0/requests/api.py new/requests-2.22.0/requests/api.py
--- old/requests-2.21.0/requests/api.py 2018-10-17 02:57:37.000000000 +0200
+++ new/requests-2.22.0/requests/api.py 2019-05-16 16:18:16.000000000 +0200
@@ -19,7 +19,7 @@
:param method: method for the new :class:`Request` object.
:param url: URL for the new :class:`Request` object.
:param params: (optional) Dictionary, list of tuples or bytes to send
- in the body of the :class:`Request`.
+ in the query string for the :class:`Request`.
:param data: (optional) Dictionary, list of tuples, bytes, or file-like
object to send in the body of the :class:`Request`.
:param json: (optional) A JSON serializable Python object to send in the body of the :class:`Request`.
@@ -65,7 +65,7 @@
:param url: URL for the new :class:`Request` object.
:param params: (optional) Dictionary, list of tuples or bytes to send
- in the body of the :class:`Request`.
+ in the query string for the :class:`Request`.
:param \*\*kwargs: Optional arguments that ``request`` takes.
:return: :class:`Response <Response>` object
:rtype: requests.Response
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/requests-2.21.0/requests.egg-info/PKG-INFO new/requests-2.22.0/requests.egg-info/PKG-INFO
--- old/requests-2.21.0/requests.egg-info/PKG-INFO 2018-12-10 16:39:29.000000000 +0100
+++ new/requests-2.22.0/requests.egg-info/PKG-INFO 2019-05-16 16:36:35.000000000 +0200
@@ -1,6 +1,6 @@
Metadata-Version: 2.1
Name: requests
-Version: 2.21.0
+Version: 2.22.0
Summary: Python HTTP for Humans.
Home-page: http://python-requests.org
Author: Kenneth Reitz
@@ -16,8 +16,6 @@
[![image](https://img.shields.io/github/contributors/requests/requests.svg)](https://github.com/requests/requests/graphs/contributors)
[![image](https://img.shields.io/badge/Say%20Thanks-!-1EAEDB.svg)](https://saythanks.io/to/kennethreitz)
- **If you're interested in financially supporting Kenneth Reitz open source, consider [visiting this link](https://cash.me/$KennethReitz). Your support helps tremendously with sustainability of motivation, as Open Source is no longer part of my day job.**
-
Requests is the only *Non-GMO* HTTP library for Python, safe for human
consumption.
@@ -26,6 +24,7 @@
Behold, the power of Requests:
``` {.sourceCode .python}
+ >>> import requests
>>> r = requests.get('https://api.github.com/user', auth=('user', 'pass'))
>>> r.status_code
200
@@ -99,17 +98,18 @@
How to Contribute
-----------------
- 1. Check for open issues or open a fresh issue to start a discussion
+ 1. Become more familiar with the project by reading our [Contributor's Guide](http://docs.python-requests.org/en/latest/dev/contributing/) and our [development philosophy](http://docs.python-requests.org/en/latest/dev/philosophy/).
+ 2. Check for open issues or open a fresh issue to start a discussion
around a feature idea or a bug. There is a [Contributor
Friendly](https://github.com/requests/requests/issues?direction=desc&labels…
tag for issues that should be ideal for people who are not very
familiar with the codebase yet.
- 2. Fork [the repository](https://github.com/requests/requests) on
+ 3. Fork [the repository](https://github.com/requests/requests) on
GitHub to start making your changes to the **master** branch (or
branch off of it).
- 3. Write a test which shows that the bug was fixed or that the feature
+ 4. Write a test which shows that the bug was fixed or that the feature
works as expected.
- 4. Send a pull request and bug the maintainer until it gets merged and
+ 5. Send a pull request and bug the maintainer until it gets merged and
published. :) Make sure to add yourself to
[AUTHORS](https://github.com/requests/requests/blob/master/AUTHORS.rst).
@@ -123,13 +123,12 @@
Classifier: Programming Language :: Python :: 2
Classifier: Programming Language :: Python :: 2.7
Classifier: Programming Language :: Python :: 3
-Classifier: Programming Language :: Python :: 3.4
Classifier: Programming Language :: Python :: 3.5
Classifier: Programming Language :: Python :: 3.6
Classifier: Programming Language :: Python :: 3.7
Classifier: Programming Language :: Python :: Implementation :: CPython
Classifier: Programming Language :: Python :: Implementation :: PyPy
-Requires-Python: >=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*
+Requires-Python: >=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*
Description-Content-Type: text/markdown
Provides-Extra: security
Provides-Extra: socks
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/requests-2.21.0/requests.egg-info/requires.txt new/requests-2.22.0/requests.egg-info/requires.txt
--- old/requests-2.21.0/requests.egg-info/requires.txt 2018-12-10 16:39:29.000000000 +0100
+++ new/requests-2.22.0/requests.egg-info/requires.txt 2019-05-16 16:36:35.000000000 +0200
@@ -1,6 +1,6 @@
chardet<3.1.0,>=3.0.2
idna<2.9,>=2.5
-urllib3<1.25,>=1.21.1
+urllib3!=1.25.0,!=1.25.1,<1.26,>=1.21.1
certifi>=2017.4.17
[security]
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/requests-2.21.0/setup.py new/requests-2.22.0/setup.py
--- old/requests-2.21.0/setup.py 2018-12-10 06:59:26.000000000 +0100
+++ new/requests-2.22.0/setup.py 2019-05-16 16:22:45.000000000 +0200
@@ -44,7 +44,7 @@
requires = [
'chardet>=3.0.2,<3.1.0',
'idna>=2.5,<2.9',
- 'urllib3>=1.21.1,<1.25',
+ 'urllib3>=1.21.1,<1.26,!=1.25.0,!=1.25.1',
'certifi>=2017.4.17'
]
@@ -79,7 +79,7 @@
package_data={'': ['LICENSE', 'NOTICE'], 'requests': ['*.pem']},
package_dir={'requests': 'requests'},
include_package_data=True,
- python_requires=">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*",
+ python_requires=">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*",
install_requires=requires,
license=about['__license__'],
zip_safe=False,
@@ -92,7 +92,6 @@
'Programming Language :: Python :: 2',
'Programming Language :: Python :: 2.7',
'Programming Language :: Python :: 3',
- 'Programming Language :: Python :: 3.4',
'Programming Language :: Python :: 3.5',
'Programming Language :: Python :: 3.6',
'Programming Language :: Python :: 3.7',
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/requests-2.21.0/tests/test_requests.py new/requests-2.22.0/tests/test_requests.py
--- old/requests-2.21.0/tests/test_requests.py 2018-11-08 18:09:42.000000000 +0100
+++ new/requests-2.22.0/tests/test_requests.py 2019-05-16 16:18:16.000000000 +0200
@@ -9,6 +9,7 @@
import collections
import contextlib
import warnings
+import re
import io
import requests
@@ -2418,9 +2419,17 @@
)
)
def test_preparing_url(self, url, expected):
+
+ def normalize_percent_encode(x):
+ # Helper function that normalizes equivalent
+ # percent-encoded bytes before comparisons
+ for c in re.findall(r'%[a-fA-F0-9]{2}', x):
+ x = x.replace(c, c.upper())
+ return x
+
r = requests.Request('GET', url=url)
p = r.prepare()
- assert p.url == expected
+ assert normalize_percent_encode(p.url) == expected
@pytest.mark.parametrize(
'url',
++++++ requests-no-hardcoded-version.patch ++++++
--- /var/tmp/diff_new_pack.eyg5q7/_old 2019-05-27 08:37:20.231095492 +0200
+++ /var/tmp/diff_new_pack.eyg5q7/_new 2019-05-27 08:37:20.231095492 +0200
@@ -1,14 +1,14 @@
-Index: requests-2.21.0/setup.py
+Index: requests-2.22.0/setup.py
===================================================================
---- requests-2.21.0.orig/setup.py
-+++ requests-2.21.0/setup.py
+--- requests-2.22.0.orig/setup.py
++++ requests-2.22.0/setup.py
@@ -42,14 +42,14 @@ if sys.argv[-1] == 'publish':
packages = ['requests']
requires = [
- 'chardet>=3.0.2,<3.1.0',
- 'idna>=2.5,<2.9',
-- 'urllib3>=1.21.1,<1.25',
+- 'urllib3>=1.21.1,<1.26,!=1.25.0,!=1.25.1',
+ 'chardet>=3.0.2',
+ 'idna>=2.5',
+ 'urllib3>=1.21.1',
1
0
Hello community,
here is the log from the commit of package wireshark for openSUSE:Factory checked in at 2019-05-27 08:36:54
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/wireshark (Old)
and /work/SRC/openSUSE:Factory/.wireshark.new.5148 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "wireshark"
Mon May 27 08:36:54 2019 rev:145 rq:705008 version:3.0.2
Changes:
--------
--- /work/SRC/openSUSE:Factory/wireshark/wireshark.changes 2019-05-10 09:09:16.038944058 +0200
+++ /work/SRC/openSUSE:Factory/.wireshark.new.5148/wireshark.changes 2019-05-27 08:36:59.459103589 +0200
@@ -1,0 +2,8 @@
+Thu May 23 07:34:38 UTC 2019 - Robert Frohl <rfrohl(a)suse.com>
+
+- Wireshark 3.0.2 (bsc#1136021)
+ * Wireshark dissection engine crash.
+- Further features, bug fixes and updated protocol support as listed in:
+ https://www.wireshark.org/docs/relnotes/wireshark-3.0.2.html
+
+-------------------------------------------------------------------
Old:
----
SIGNATURES-3.0.1.txt
wireshark-3.0.1.tar.xz
New:
----
SIGNATURES-3.0.2.txt
wireshark-3.0.2.tar.xz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ wireshark.spec ++++++
--- /var/tmp/diff_new_pack.JsaWhA/_old 2019-05-27 08:37:00.591103148 +0200
+++ /var/tmp/diff_new_pack.JsaWhA/_new 2019-05-27 08:37:00.595103146 +0200
@@ -27,7 +27,7 @@
%bcond_with lz4
%endif
Name: wireshark
-Version: 3.0.1
+Version: 3.0.2
Release: 0
Summary: A Network Traffic Analyser
License: GPL-2.0-or-later AND GPL-3.0-or-later
++++++ SIGNATURES-3.0.1.txt -> SIGNATURES-3.0.2.txt ++++++
--- /work/SRC/openSUSE:Factory/wireshark/SIGNATURES-3.0.1.txt 2019-05-10 09:09:13.166935859 +0200
+++ /work/SRC/openSUSE:Factory/.wireshark.new.5148/SIGNATURES-3.0.2.txt 2019-05-27 08:36:57.771104247 +0200
@@ -1,40 +1,40 @@
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA512
-wireshark-3.0.1.tar.xz: 30903792 bytes
-SHA256(wireshark-3.0.1.tar.xz)=86864c3d0f6c2311992a98d8ea7dfd429097fe62dae2e5516e1a2f6bef2ac08c
-RIPEMD160(wireshark-3.0.1.tar.xz)=27ed3498a1e9a89706c1461736219c4ae4b08085
-SHA1(wireshark-3.0.1.tar.xz)=33b880fb76b356dce4713a207c0bb9624f9b2c43
-
-Wireshark-win32-3.0.1.exe: 54260984 bytes
-SHA256(Wireshark-win32-3.0.1.exe)=c2c4cb14b96d66342f84fdf9da17344db6d5051952b37c1045f104733ee662c4
-RIPEMD160(Wireshark-win32-3.0.1.exe)=5c607d548bc6a8af6925c91cb5a4a259fb9d7044
-SHA1(Wireshark-win32-3.0.1.exe)=50f1c2392f788e6ec75cef13522336270d20264c
-
-Wireshark-win64-3.0.1.exe: 59530896 bytes
-SHA256(Wireshark-win64-3.0.1.exe)=80e9bdfcb3bfb3800c202efcdfbb286a2b89d0bf2b8d94f2727d117b0013c821
-RIPEMD160(Wireshark-win64-3.0.1.exe)=9c499f0cbfccb00556aaeb63aae50ec27ee405b8
-SHA1(Wireshark-win64-3.0.1.exe)=2e51ae89f86d8b3dedde94564a2f0fcdc4298789
-
-Wireshark-win64-3.0.1.msi: 47337472 bytes
-SHA256(Wireshark-win64-3.0.1.msi)=9733d9cff33fa29c663b6c132fb77ca141704ddffecd14c206abd22e0d30821b
-RIPEMD160(Wireshark-win64-3.0.1.msi)=af58ad94e9c692984a38452d96a2950d32c12a73
-SHA1(Wireshark-win64-3.0.1.msi)=b3f889d9dcc9abb8fe5e0513c35189c819252d94
-
-Wireshark-win32-3.0.1.msi: 42135552 bytes
-SHA256(Wireshark-win32-3.0.1.msi)=1f9c2dbcd7f17b31ee042c9f5e7265560e3bb7d7efd1140cc5e6c021655fcde4
-RIPEMD160(Wireshark-win32-3.0.1.msi)=cc82b3e7ee3fb177d1ee52349522c5f7adb7d93d
-SHA1(Wireshark-win32-3.0.1.msi)=fee5b350e18721c8585448c95eaec2ca6005247b
-
-WiresharkPortable_3.0.1.paf.exe: 35936656 bytes
-SHA256(WiresharkPortable_3.0.1.paf.exe)=91cd54e86e29833a682cb6dff750018386c977c07cf75ee11a19cb679286f540
-RIPEMD160(WiresharkPortable_3.0.1.paf.exe)=1e0ce137bf0914699496d9ccf4582810586825c7
-SHA1(WiresharkPortable_3.0.1.paf.exe)=28bef2a547775fd5a3555caf2b015b2aedea0e9d
-
-Wireshark 3.0.1 Intel 64.dmg: 86792136 bytes
-SHA256(Wireshark 3.0.1 Intel 64.dmg)=78bd0568251d95f42f3ea60cfc4d2e8e14bb76745c10cafec418f5fa0943cf64
-RIPEMD160(Wireshark 3.0.1 Intel 64.dmg)=a78269012eb092ebbcda3e98582196db568d6c99
-SHA1(Wireshark 3.0.1 Intel 64.dmg)=3e16218a2fba4579f2d6c3e34f5ec003b39958f8
+wireshark-3.0.2.tar.xz: 30910100 bytes
+SHA256(wireshark-3.0.2.tar.xz)=7e1ec5664a0dba4493d8729f9922378bdd05040fb159c2b03b42111efda2e53b
+RIPEMD160(wireshark-3.0.2.tar.xz)=52c36f04fe8858a2aa7e6b9a682f658b392d432d
+SHA1(wireshark-3.0.2.tar.xz)=64d18b3c6faa1cb2052562657f610946334ac643
+
+Wireshark-win64-3.0.2.exe: 59287984 bytes
+SHA256(Wireshark-win64-3.0.2.exe)=27d15f43091e002d454fb63f8c438fe4b32a86b57c02c6cb83ef36bdbfaefe09
+RIPEMD160(Wireshark-win64-3.0.2.exe)=c1eb04a4c0a7c9d7674580e51d531c240fad7aea
+SHA1(Wireshark-win64-3.0.2.exe)=9a9cc106eac23276af5290673a8af12e1d58a0de
+
+Wireshark-win32-3.0.2.exe: 54112336 bytes
+SHA256(Wireshark-win32-3.0.2.exe)=ea4f9a4b55bed282408d595bf2e86951014e108144662f8add51cb0a7ad034ed
+RIPEMD160(Wireshark-win32-3.0.2.exe)=11ad7ad243ae63cb1dbe1f92be20fc0b707c34f2
+SHA1(Wireshark-win32-3.0.2.exe)=f1941f085a1db8635327701c0ab4ce925ffd3f8c
+
+Wireshark-win32-3.0.2.msi: 42033152 bytes
+SHA256(Wireshark-win32-3.0.2.msi)=a2d8c37ead1824f1bc19bff2e37fdde777e0619396eace07b36a071b5ecfa5ee
+RIPEMD160(Wireshark-win32-3.0.2.msi)=902e5f87d0208c188fc1e4758ae4ec0da8df0852
+SHA1(Wireshark-win32-3.0.2.msi)=e070636edb40cd30f182b4459a23e85eff143b7f
+
+Wireshark-win64-3.0.2.msi: 47210496 bytes
+SHA256(Wireshark-win64-3.0.2.msi)=6e3e21c399ce84793616982f42c3277061d7593c4fc4a6899ea2f31381537ddd
+RIPEMD160(Wireshark-win64-3.0.2.msi)=b9d9f144eeaadbd15468bdaeadcf6661c2a0e350
+SHA1(Wireshark-win64-3.0.2.msi)=73452542d33a17f30f604ef99aafc298ba834041
+
+WiresharkPortable_3.0.2.paf.exe: 35804560 bytes
+SHA256(WiresharkPortable_3.0.2.paf.exe)=eb43c5f9dcd852e39b91837ccf26b940b89549e210f9d78df15e6ebbdcbc0d9d
+RIPEMD160(WiresharkPortable_3.0.2.paf.exe)=08a409043a0c1fcc50396cf73047c9f2033a234c
+SHA1(WiresharkPortable_3.0.2.paf.exe)=99eb79a9b3ed9eae1a50f384870901d77ca10848
+
+Wireshark 3.0.2 Intel 64.dmg: 87206906 bytes
+SHA256(Wireshark 3.0.2 Intel 64.dmg)=2e32ed900bc0bb85430ebe45eef39c5097423eb8cb3a7bd4b08e704f599ab430
+RIPEMD160(Wireshark 3.0.2 Intel 64.dmg)=e3c82a44cc3d8200654affd4404970183733c912
+SHA1(Wireshark 3.0.2 Intel 64.dmg)=fc5b93bcf481ddef2015677e4094ef10fc3198a8
You can validate these hashes using the following commands (among others):
@@ -44,17 +44,17 @@
Other: openssl sha256 wireshark-x.y.z.tar.xz
-----BEGIN PGP SIGNATURE-----
-iQIzBAEBCgAdFiEEWlrbp9vqbD+HIk8ZgiRKeOb+ruoFAlyrn8gACgkQgiRKeOb+
-rurqfg//fvEPyKDprl8vg8+5zdyIAMuYGw6ixu4+5aNjNabnhM983i5mqXLKSU28
-DuKUMw3i5JOSN8auVAnq06keFmQzSnrWJe22jzPlOGyhXAK9KzM6bpdHoqCHn/Gq
-sBWrKELMJIKTIsIEZYYzEHSEBi2bbBCviZHEMzj3GU0aQD33oktQ8ER/Eu3+M8td
-wDTu+KKt+SMgbtgc0grG/MhZBFb31kLPQgQz1oVAjkuFeEcqmXU9+5pMvW3aAGk8
-8RLxS+adjjZns7+dM/6JaCjgI3fVlUXqFvz7XMskbZbHeqBsdiWR9w2YLLUBJ3ai
-QGiJZRIfrfyQBosaaYb5vbUYaZZbCFRCLhKOr8BG1PTSc/2Y/bImdQlxd8XDi/dM
-2B15lYE0b9hYilc1TPgd1V8y/vQ94SxFAentqf4QV9tLUTHZCeH3zmSvpD826FCw
-WNUy6H+cJvl4sbytNHJzK+MIBJAiqFD4zM1zrYw0kXlj5eGbCWGKafC/+cKyOHHl
-GtwWdOlarIa5C9FYl4VVPEetFk08gvW5BiKxalug5Y0Q9MsAw9brpBZhZfapXy3q
-sXr/aFfHVXx1RrYUFabl3KztEnBHJEM0QTvOnLVkCL3wlfpFni2NHhr11/17Cf5+
-5QIuqM+yuXhxPmWPMFGPwM0PBRA0NpR/fELAgvWRv9rbOH/aEqg=
-=aM0I
+iQIzBAEBCgAdFiEEWlrbp9vqbD+HIk8ZgiRKeOb+ruoFAlzlqQkACgkQgiRKeOb+
+ruoJvRAA3IVXT9pyH0Gwkq2WgmZPZ+t82pNDqV3x0Yi17RcfiD2m5MAPhyZlizGa
+cHf/RM+urq4yKDABnVcGwo16dmpejbMAXmCtvt46bQM4C532nJU4pfM7AhJdByhV
+492ug93DIYQYIK8odrUoPiwfme1BjHcplWeEJBOpvtPV4ByoZJpqoDO+EVeOpfAo
+6aBhuM7s8vs3satLW27F9MJKO00XIJ12vLPlWc3yMQWNWKwovdvVOuP3z6n/dglH
+26fZrZSlDo4AD3vfVE51BD4pAsjcfZ5A4qPd83cqxiZA2xIhdBkSNkfFaCOZrLr4
+WeUV6760oOyEh+vE4Pd2PvCMh/LNrP71Qw9NICTNKIrYW88cD9A3wV00qorR40+P
+EIODDvv2csOMZ5dNVRoFuxOzIdYpEf1dOMUZqZJm1G5QK1LefiPRTFWq90kHkCno
+pOa4zzJANM0rIuC57iAqTZSD6Bqk7f+3Xv4TKKOOM5piDS6gwTy1pT4XSEyB9e/a
+vw1ZYymGhPnEGh2YsHACOC9oThF+qPM6u0CknRSsKxw2ocW7ZbmWddzPYysIniPR
+nndBG00kYkZ84ZksVHFZNKZG2+8khN26Vp2OM+fhlM8twPgAvksSbqGFCAytZJGJ
+VClcuwI7KwLXekrWswIfsIQ00zPs5P/zJIG18fSv9v/mlL6+bJg=
+=vK9g
-----END PGP SIGNATURE-----
++++++ wireshark-3.0.1.tar.xz -> wireshark-3.0.2.tar.xz ++++++
/work/SRC/openSUSE:Factory/wireshark/wireshark-3.0.1.tar.xz /work/SRC/openSUSE:Factory/.wireshark.new.5148/wireshark-3.0.2.tar.xz differ: char 15, line 1
1
0
Hello community,
here is the log from the commit of package ruby2.6 for openSUSE:Factory checked in at 2019-05-27 08:36:40
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/ruby2.6 (Old)
and /work/SRC/openSUSE:Factory/.ruby2.6.new.5148 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "ruby2.6"
Mon May 27 08:36:40 2019 rev:6 rq:704999 version:2.6.3
Changes:
--------
--- /work/SRC/openSUSE:Factory/ruby2.6/ruby2.6.changes 2019-04-21 09:03:22.746551062 +0200
+++ /work/SRC/openSUSE:Factory/.ruby2.6.new.5148/ruby2.6.changes 2019-05-27 08:36:44.419109452 +0200
@@ -1,0 +2,5 @@
+Fri May 10 09:35:54 UTC 2019 - Dominique Leuenberger <dimstar(a)opensuse.org>
+
+- Move RPM macros to %_rpmmacrodir.
+
+-------------------------------------------------------------------
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ ruby2.6.spec ++++++
--- /var/tmp/diff_new_pack.eKliVm/_old 2019-05-27 08:36:45.407109067 +0200
+++ /var/tmp/diff_new_pack.eKliVm/_new 2019-05-27 08:36:45.407109067 +0200
@@ -346,10 +346,10 @@
%define rb_binary %{buildroot}/usr/bin/ruby -I %{buildroot}%{rb_libdir} -I %{buildroot}%{rb_archdir}
export LD_LIBRARY_PATH=%{buildroot}%{_libdir}
-install -D -m 0644 %{S:3} %{buildroot}/etc/rpm/macros.suse-ruby2.6
+install -D -m 0644 %{S:3} %{buildroot}%{_rpmmacrodir}/macros.suse-ruby2.6
mkdir -p %{buildroot}%{_sysconfdir}/alternatives
%if 0%{?is_default_ruby}
- install -D -m 0644 %{S:4} %{buildroot}/etc/rpm/macros.suse-ruby2.6-default
+ install -D -m 0644 %{S:4} %{buildroot}%{_rpmmacrodir}/macros.suse-ruby2.6-default
for bin in %{buildroot}%{_bindir}/{erb,gem,irb,ruby}%{rb_binary_suffix} ; do
# yes really hard links
ln $bin ${bin%%%{rb_binary_suffix}}
@@ -435,7 +435,7 @@
%{_mandir}/man1/ruby*.1*
%{_mandir}/man5/gemfile*.5*
%doc ChangeLog COPYING COPYING.ja GPL KNOWNBUGS.rb LEGAL NEWS README*
-%config /etc/rpm/macros.suse-ruby2.6*
+%{_rpmmacrodir}/macros.suse-ruby2.6*
%if %{with separate_stdlib}
%files stdlib
1
0
Hello community,
here is the log from the commit of package spandsp for openSUSE:Factory checked in at 2019-05-27 08:36:32
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/spandsp (Old)
and /work/SRC/openSUSE:Factory/.spandsp.new.5148 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "spandsp"
Mon May 27 08:36:32 2019 rev:8 rq:704992 version:0.0.6
Changes:
--------
--- /work/SRC/openSUSE:Factory/spandsp/spandsp.changes 2015-03-29 20:15:42.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.spandsp.new.5148/spandsp.changes 2019-05-27 08:36:33.831113580 +0200
@@ -1,0 +2,5 @@
+Thu May 23 11:06:20 UTC 2019 - Martin Liška <mliska(a)suse.cz>
+
+- Disable LTO (boo#1136056).
+
+-------------------------------------------------------------------
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ spandsp.spec ++++++
--- /var/tmp/diff_new_pack.j6x84S/_old 2019-05-27 08:36:34.459113335 +0200
+++ /var/tmp/diff_new_pack.j6x84S/_new 2019-05-27 08:36:34.459113335 +0200
@@ -1,7 +1,7 @@
#
# spec file for package spandsp
#
-# Copyright (c) 2015 SUSE LINUX GmbH, Nuernberg, Germany.
+# Copyright (c) 2019 SUSE LINUX GmbH, Nuernberg, Germany.
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@@ -12,14 +12,14 @@
# license that conforms to the Open Source Definition (Version 1.9)
# published by the Open Source Initiative.
-# Please submit bugfixes or comments via http://bugs.opensuse.org/
+# Please submit bugfixes or comments via https://bugs.opensuse.org/
#
Name: spandsp
%define lname libspandsp2
Summary: A DSP library for Telephony and SoftFAX
-License: LGPL-2.1 and GPL-2.0
+License: LGPL-2.1-only AND GPL-2.0-only
Group: Development/Libraries/C and C++
Version: 0.0.6
Release: 0
@@ -56,7 +56,7 @@
%package devel
Summary: Development files for the SpanDSP library
-License: LGPL-2.1
+License: LGPL-2.1-only
Group: Development/Libraries/C and C++
Requires: %lname = %{version}
Requires: glibc-devel
@@ -68,7 +68,7 @@
%package -n %lname
Summary: A DSP library for Telephony and SoftFAX
-License: LGPL-2.1
+License: LGPL-2.1-only
Group: System/Libraries
%description -n %lname
@@ -80,7 +80,7 @@
%package doc
Summary: Documentation for the libspandsp API
-License: LGPL-2.1 and GPL-2.0
+License: LGPL-2.1-only AND GPL-2.0-only
Group: Documentation/HTML
%if 0%{?suse_version} >= 1130
BuildArch: noarch
@@ -94,6 +94,7 @@
%patch1 -p1
%build
+%define _lto_cflags %{nil}
autoreconf -fiv
# Enabling MMX could be safe.. I see cpuid calls in the source
%configure \
1
0
Hello community,
here is the log from the commit of package nvme-cli for openSUSE:Factory checked in at 2019-05-27 08:36:24
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/nvme-cli (Old)
and /work/SRC/openSUSE:Factory/.nvme-cli.new.5148 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "nvme-cli"
Mon May 27 08:36:24 2019 rev:34 rq:704985 version:1.8.1+git64.b969cf0
Changes:
--------
--- /work/SRC/openSUSE:Factory/nvme-cli/nvme-cli.changes 2019-05-15 12:24:44.398055377 +0200
+++ /work/SRC/openSUSE:Factory/.nvme-cli.new.5148/nvme-cli.changes 2019-05-27 08:36:26.999116243 +0200
@@ -1,0 +2,19 @@
+Thu May 23 06:55:34 UTC 2019 - Simon Schricker <sschricker(a)suse.com>
+
+- Add new subpackage containing the nvme-cli regress script
+- Add script to determine host NQN based on the system UUID
+ + 0008-nvme-cli-Add-script-to-determine-host-NQN.patch
+- Add new udev rule for NetApp E-Series and adjust udev rule naming
+ scheme accordingly. (bsc#1124564)
+ + 0006-nvme-cli-add-default-IO-policy-rule-for-NetApp-E-Ser.patch
+ + 0007-nvme-cli-Rename-udev-rule-for-ONTAP-controller.patch
+- Update to version 1.8.1+git64.b969cf0:
+ * fix json print for list-subsys command
+ * Add Virtium plugin extension document
+ * Add Virtium plugin extension
+ * nvme.h: Fix typos in status code values
+ * nvme-cli: remove unused NVME_AER_NOTICE_
+ * list-ctrl, create-ns, format: Do not return directly without
+ freeing fd
+
+-------------------------------------------------------------------
Old:
----
nvme-cli-1.8.1+git41.2c43c51.tar.xz
New:
----
0006-nvme-cli-add-default-IO-policy-rule-for-NetApp-E-Ser.patch
0007-nvme-cli-Rename-udev-rule-for-ONTAP-controller.patch
0008-nvme-cli-Add-script-to-determine-host-NQN.patch
nvme-cli-1.8.1+git64.b969cf0.tar.xz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ nvme-cli.spec ++++++
--- /var/tmp/diff_new_pack.OLceRy/_old 2019-05-27 08:36:27.635115995 +0200
+++ /var/tmp/diff_new_pack.OLceRy/_new 2019-05-27 08:36:27.639115993 +0200
@@ -17,7 +17,7 @@
Name: nvme-cli
-Version: 1.8.1+git41.2c43c51
+Version: 1.8.1+git64.b969cf0
Release: 0
Summary: NVM Express user space tools
License: GPL-2.0-only
@@ -31,17 +31,32 @@
Patch3: 0003-Add-nvmefc-connect.target.patch
Patch4: 0004-Change-service-to-type-simple.patch
Patch5: 0005-nvme-cli-Check-for-sysfs-interface-before-NVMe-disco.patch
+Patch6: 0006-nvme-cli-add-default-IO-policy-rule-for-NetApp-E-Ser.patch
+Patch7: 0007-nvme-cli-Rename-udev-rule-for-ONTAP-controller.patch
+Patch8: 0008-nvme-cli-Add-script-to-determine-host-NQN.patch
BuildRequires: libuuid-devel
BuildRequires: pkgconfig
BuildRequires: xmlto
BuildRequires: pkgconfig(libudev)
BuildRequires: rubygem(asciidoctor)
+%ifarch x86_64 aarch64 i586
+Requires(post): dmidecode
+%endif
%description
NVM Express (NVMe) is a direct attached storage interface. The
nvme-cli package contains core management tools with minimal
dependencies.
+%package -n nvme-cli-regress-script
+Summary: A small script to test the nvme binary for regressions
+Group: Hardware/Other
+Requires: nvme-cli
+
+%description -n nvme-cli-regress-script
+A small shell script to test the nvme binary for regressions. It requires an
+NVMe device for testing purposes. Do NOT use in a production environment.
+
%prep
%setup -q
%patch1 -p1
@@ -49,10 +64,14 @@
%patch3 -p1
%patch4 -p1
%patch5 -p1
+%patch6 -p1
+%patch7 -p1
+%patch8 -p1
%build
echo %{version} > version
make CFLAGS="%{optflags} -I." PREFIX=%{_prefix} USE_ASCIIDOCTOR=YesPlease %{?_smp_mflags} all
+sed -i '/make.*/d' regress
%install
make PREFIX=%{_prefix} DESTDIR=%{buildroot} install-bin install-man %{?_smp_mflags}
@@ -62,7 +81,13 @@
install -m 644 -D nvme-fc-autoconnect/nvmefc-boot-connections.service %{buildroot}%{_unitdir}/nvmefc-boot-connections.service
install -m 644 -D nvme-fc-autoconnect/nvmefc-connect@.service %{buildroot}%{_unitdir}/nvmefc-connect@.service
install -m 644 -D nvme-fc-autoconnect/nvmefc-connect.target %{buildroot}%{_unitdir}/nvmefc-connect.target
-install -m 644 -D scripts/71-nvme-iopolicy-netapp.rules %{buildroot}%{_udevrulesdir}/71-nvme-iopolicy-netapp.rules
+install -m 644 -D scripts/71-nvme-iopolicy-netapp-ONTAP.rules %{buildroot}%{_udevrulesdir}/71-nvme-iopolicy-netapp-ONTAP.rules
+install -m 644 -D scripts/71-nvme-iopolicy-netapp-E-Series.rules %{buildroot}%{_udevrulesdir}/71-nvme-iopolicy-netapp-E-Series.rules
+%ifarch x86_64 aarch64 i586
+install -m 744 -D scripts/det-hostnqn.sh %{buildroot}%{_sbindir}/nvme-det-hostnqn
+%endif
+# for subpackage nvme-cli-regress-script:
+install -m 744 -D regress %{buildroot}%{_sbindir}/nvme-regress
%define services nvmefc-boot-connections.service nvmefc-connect.target
@@ -70,10 +95,16 @@
%service_add_pre %services nvmefc-connect@.service
%post
-if [ ! -e %{_sysconfdir}/nvme/hostnqn ]; then
+%ifarch x86_64 aarch64 i586
+if [ ! -s %{_sysconfdir}/nvme/hostnqn ]; then
+ %{_sbindir}/nvme-det-hostnqn > %{_sysconfdir}/nvme/hostnqn
+fi
+%endif
+if [ ! -s %{_sysconfdir}/nvme/hostnqn ]; then
+ %{_bindir}/echo "Generating random host NQN."
%{_sbindir}/nvme gen-hostnqn > %{_sysconfdir}/nvme/hostnqn
fi
-if [ ! -e %{_sysconfdir}/nvme/hostid ]; then
+if [ ! -s %{_sysconfdir}/nvme/hostid ]; then
%{_bindir}/uuidgen > %{_sysconfdir}/nvme/hostid
fi
%service_add_post %services nvmefc-connect@.service
@@ -93,12 +124,16 @@
%license LICENSE
%doc README.md
%{_sbindir}/nvme
+%ifarch x86_64 aarch64 i586
+%{_sbindir}/nvme-det-hostnqn
+%endif
%{_mandir}/man1/nvme*.1*%{?ext_man}
%dir %{_datadir}/bash_completion
%dir %{_datadir}/bash_completion/completions/
%{_datadir}/bash_completion/completions/nvme
%{_udevrulesdir}/70-nvmefc-autoconnect.rules
-%{_udevrulesdir}/71-nvme-iopolicy-netapp.rules
+%{_udevrulesdir}/71-nvme-iopolicy-netapp-ONTAP.rules
+%{_udevrulesdir}/71-nvme-iopolicy-netapp-E-Series.rules
%{_unitdir}/nvmefc-boot-connections.service
%{_unitdir}/nvmefc-connect@.service
%{_unitdir}/nvmefc-connect.target
@@ -106,4 +141,7 @@
%ghost %{_sysconfdir}/nvme/hostnqn
%ghost %{_sysconfdir}/nvme/hostid
+%files -n nvme-cli-regress-script
+%{_sbindir}/nvme-regress
+
%changelog
++++++ 0006-nvme-cli-add-default-IO-policy-rule-for-NetApp-E-Ser.patch ++++++
>From bfbcc6d02f0621bb9ff5afc39862aac55ff305bf Mon Sep 17 00:00:00 2001
From: Simon Schricker <sschricker(a)suse.de>
Date: Wed, 15 May 2019 13:36:41 +0200
Subject: [PATCH] nvme-cli: add default IO-policy rule for NetApp E-Series
NetApp E-Series controller provide several paths to the same subsystem,
so we should be switching to 'round-robin' iopolicy to provide the best
performance.
---
scripts/71-nvme-iopolicy-netapp-E-Series.rules | 2 ++
1 file changed, 2 insertions(+)
create mode 100644 scripts/71-nvme-iopolicy-netapp-E-Series.rules
diff --git a/scripts/71-nvme-iopolicy-netapp-E-Series.rules b/scripts/71-nvme-iopolicy-netapp-E-Series.rules
new file mode 100644
index 0000000..902c083
--- /dev/null
+++ b/scripts/71-nvme-iopolicy-netapp-E-Series.rules
@@ -0,0 +1,2 @@
+# Enable round-robin for NetApp E-Series
+ACTION=="add", SUBSYSTEM=="nvme-subsystem", ATTR{model}=="NetApp E-Series", ATTR{iopolicy}="round-robin"
--
2.16.4
++++++ 0007-nvme-cli-Rename-udev-rule-for-ONTAP-controller.patch ++++++
>From eae06c9af819f7d1782833783661ad3bf376fae4 Mon Sep 17 00:00:00 2001
From: Simon Schricker <sschricker(a)suse.de>
Date: Thu, 16 May 2019 16:42:49 +0200
Subject: [PATCH] nvme-cli: Rename udev rule for ONTAP controller
To have a consistent naming scheme with the E-Series udev rule.
---
...{71-nvme-iopolicy-netapp.rules => 71-nvme-iopolicy-netapp-ONTAP.rules} | 0
1 file changed, 0 insertions(+), 0 deletions(-)
rename scripts/{71-nvme-iopolicy-netapp.rules => 71-nvme-iopolicy-netapp-ONTAP.rules} (100%)
diff --git a/scripts/71-nvme-iopolicy-netapp.rules b/scripts/71-nvme-iopolicy-netapp-ONTAP.rules
similarity index 100%
rename from scripts/71-nvme-iopolicy-netapp.rules
rename to scripts/71-nvme-iopolicy-netapp-ONTAP.rules
--
2.16.4
++++++ 0008-nvme-cli-Add-script-to-determine-host-NQN.patch ++++++
>From b38de666b0ae385bb35c00280c48a20f4d4d6aae Mon Sep 17 00:00:00 2001
From: Simon Schricker <sschricker(a)suse.de>
Date: Fri, 17 May 2019 15:36:37 +0200
Subject: [PATCH] nvme-cli: Add script to determine host NQN
* Based on the system-UUID, via dmidecode
* verifies UUID format
* tries to catch fake/lazy UUIDs
---
scripts/det-hostnqn.sh | 42 ++++++++++++++++++++++++++++++++++++++++++
1 file changed, 42 insertions(+)
create mode 100644 scripts/det-hostnqn.sh
diff --git a/scripts/det-hostnqn.sh b/scripts/det-hostnqn.sh
new file mode 100644
index 0000000..d8783cf
--- /dev/null
+++ b/scripts/det-hostnqn.sh
@@ -0,0 +1,42 @@
+#!/bin/bash
+
+LC_ALL=C
+
+UUID=$(dmidecode -s system-uuid | tr -d '[:space:]')
+
+if [ -z "$UUID" ] ; then
+ >&2 echo "No UUID found, can't determine hostnqn."
+ exit 1
+fi
+
+# convert UUID to lower-case only:
+UUID=$(echo $UUID | tr '[:upper:]' '[:lower:]')
+
+# check UUID format, e.g.: 4c4c4544-0156-4a10-8134-b7d04f383232, so: 8-4-4-4-12
+if ! [[ $UUID =~ ^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$ ]] ; then
+ >&2 echo "UUID has invalid format."
+ >&2 echo "Invalid UUID: ${UUID}"
+ exit 2
+fi
+
+# HEURISTIC:
+# (1) if any one given character occurs more than 50% of the time, it is likely
+# that the UUID is fake.
+# (2) if the first or the last group consists of mostly the same character, it
+# is likely that the UUID is fake.
+FIRST_GROUP="$(echo $UUID | cut -d'-' -f1)"
+LAST_GROUP="$(echo $UUID | cut -d'-' -f5)"
+for i in {{0..9},{a..f}} ; do
+ COUNT_TOTAL="${UUID//[^$i]}"
+ COUNT_FIRST="${FIRST_GROUP//[^$i]}"
+ COUNT_LAST="${LAST_GROUP//[^$i]}"
+ if [ ${#COUNT_TOTAL} -ge 16 ] || [ ${#COUNT_FIRST} -ge 7 ] || [ ${#COUNT_LAST} -ge 11 ] ; then
+ >&2 echo "UUID is too repetitive. This may be a false alert."
+ >&2 echo "Repetitive UUID: ${UUID}"
+ exit 3
+ fi
+done
+
+HOSTNQN="nqn.2014-08.org.nvmexpress:uuid:${UUID}"
+
+echo $HOSTNQN
--
2.16.4
++++++ _servicedata ++++++
--- /var/tmp/diff_new_pack.OLceRy/_old 2019-05-27 08:36:27.715115964 +0200
+++ /var/tmp/diff_new_pack.OLceRy/_new 2019-05-27 08:36:27.719115963 +0200
@@ -1,4 +1,10 @@
<servicedata>
<service name="obs_scm">
<param name="url">https://github.com/linux-nvme/nvme-cli.git</param>
- <param name="changesrevision">75800fff4a17f6d97ef884772b88a2dfbd84251a</param></service></servicedata>
+ <param name="changesrevision">75800fff4a17f6d97ef884772b88a2dfbd84251a</param>
+</service>
+<service name="tar_scm">
+ <param name="url">https://github.com/linux-nvme/nvme-cli.git</param>
+ <param name="changesrevision">b969cf0b67995035a17ed89812d695b7f954f39c</param>
+</service>
+</servicedata>
++++++ nvme-cli-1.8.1+git41.2c43c51.tar.xz -> nvme-cli-1.8.1+git64.b969cf0.tar.xz ++++++
++++ 3423 lines of diff (skipped)
1
0
Hello community,
here is the log from the commit of package jeos-firstboot for openSUSE:Factory checked in at 2019-05-27 08:36:15
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/jeos-firstboot (Old)
and /work/SRC/openSUSE:Factory/.jeos-firstboot.new.5148 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "jeos-firstboot"
Mon May 27 08:36:15 2019 rev:25 rq:704970 version:0.0+git20190523.f1f2bfa
Changes:
--------
--- /work/SRC/openSUSE:Factory/jeos-firstboot/jeos-firstboot.changes 2019-04-18 09:56:02.625326916 +0200
+++ /work/SRC/openSUSE:Factory/.jeos-firstboot.new.5148/jeos-firstboot.changes 2019-05-27 08:36:18.127119701 +0200
@@ -1,0 +2,28 @@
+Thu May 23 09:33:40 UTC 2019 - jeos-internal(a)suse.de
+
+- Update to version 0.0+git20190523.f1f2bfa:
+ * Fix broken function call in raspberrywifi, simplify
+ * Don't overwrite WiFi interface config
+ * Don't overwrite the cleanup trap
+ * Fix whitespace
+ * Don't use "if d", it never returns false
+ * Skip WiFi interface selection if there's only one
+ * Ignore setterm -msg failure
+ * Don't read stderr from dialog, use --output-fd instead
+ * Clean and fix raspberrywifi
+ * Fix module hook execution
+ * Fix warning on startup
+ * Fix typos/clarify comments in jeos-firstboot.conf
+ * Remove shebang and empty line in raspberrywifi
+
+-------------------------------------------------------------------
+Tue May 21 12:06:23 UTC 2019 - jeos-internal(a)suse.de
+
+- Update to version 0.0+git20190521.23bc1d3:
+ * is_raspberry: do not show grep errors in non-rpi
+ * Configure all interfaces that resolves
+ * Allow to skip certain steps by setting values in a configuration file
+ * Execute external script(s) on firstboot
+- Split module for WiFi configuration into subpackage
+
+-------------------------------------------------------------------
Old:
----
jeos-firstboot-0.0+git20190417.7ba1ac9.tar.xz
New:
----
jeos-firstboot-0.0+git20190523.f1f2bfa.tar.xz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ jeos-firstboot.spec ++++++
--- /var/tmp/diff_new_pack.I3BmqG/_old 2019-05-27 08:36:18.547119538 +0200
+++ /var/tmp/diff_new_pack.I3BmqG/_new 2019-05-27 08:36:18.551119536 +0200
@@ -12,12 +12,12 @@
# license that conforms to the Open Source Definition (Version 1.9)
# published by the Open Source Initiative.
-# Please submit bugfixes or comments via https://bugs.opensuse.org/
+# Please submit bugfixes or comments via http://bugs.opensuse.org/
#
Name: jeos-firstboot
-Version: 0.0+git20190417.7ba1ac9
+Version: 0.0+git20190523.f1f2bfa
Release: 0
Summary: Simple text based JeOS first boot wizard
License: MIT
@@ -34,6 +34,18 @@
Simple text based JeOS first boot wizard that can be used instead
of the line based one that is built into systemd.
+%package rpiwifi
+Summary: jeos-firstboot module for WiFi configuration for RaspberryPi systems
+Group: Productivity/Networking/Other
+Requires: %{name} = %{version}
+Requires: wicked
+Requires: wireless-tools
+Requires: wpa_supplicant
+
+%description rpiwifi
+This module hooks into jeos-firstboot and allows the user to enter data to connect
+his RaspberryPi system to a wireless network.
+
%prep
%setup -q
@@ -58,7 +70,13 @@
%doc README examples/ifcfg-eth0
%license LICENSE
%{_unitdir}/jeos-firstboot.service
+%dir %{_datadir}/defaults/
+%{_datadir}/defaults/jeos-firstboot.conf
+%dir %{_datadir}/jeos-firstboot
%{_libexecdir}/jeos-firstboot
%{_libexecdir}/jeos-firstboot-functions
+%files rpiwifi
+%{_datadir}/jeos-firstboot/raspberrywifi
+
%changelog
++++++ _servicedata ++++++
--- /var/tmp/diff_new_pack.I3BmqG/_old 2019-05-27 08:36:18.599119518 +0200
+++ /var/tmp/diff_new_pack.I3BmqG/_new 2019-05-27 08:36:18.603119516 +0200
@@ -1,4 +1,4 @@
<servicedata>
<service name="tar_scm">
<param name="url">git://github.com/openSUSE/jeos-firstboot.git</param>
- <param name="changesrevision">d96e7ed67002c8221948ec661a9b1e6011e1c264</param></service></servicedata>
\ No newline at end of file
+ <param name="changesrevision">49ee57a359cd177e3dd1fe4d5739d2f87bdbb40a</param></service></servicedata>
\ No newline at end of file
++++++ jeos-firstboot-0.0+git20190417.7ba1ac9.tar.xz -> jeos-firstboot-0.0+git20190523.f1f2bfa.tar.xz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/jeos-firstboot-0.0+git20190417.7ba1ac9/files/usr/lib/jeos-firstboot new/jeos-firstboot-0.0+git20190523.f1f2bfa/files/usr/lib/jeos-firstboot
--- old/jeos-firstboot-0.0+git20190417.7ba1ac9/files/usr/lib/jeos-firstboot 2019-04-17 11:20:39.000000000 +0200
+++ new/jeos-firstboot-0.0+git20190523.f1f2bfa/files/usr/lib/jeos-firstboot 2019-05-23 11:33:19.000000000 +0200
@@ -26,50 +26,79 @@
. /etc/os-release
. "$0-functions"
+# Read the optional configuration file
+[ -f /usr/share/defaults/jeos-firstboot.conf ] && . /usr/share/defaults/jeos-firstboot.conf
+[ -f /etc/jeos-firstboot.conf ] && . /etc/jeos-firstboot.conf
+
stty_size() {
- set -- `stty size`; LINES=$1; COLUMNS=$2
- # stty size can return zero when not ready or
- # its a serial console
- if [ "$COLUMNS" = "0" -o "$LINES" = "0" ]; then
- LINES=24
- COLUMNS=80
- fi
-}; stty_size
+ set -- `stty size`; LINES=$1; COLUMNS=$2
+ # stty size can return zero when not ready or
+ # its a serial console
+ if [ "$COLUMNS" = "0" -o "$LINES" = "0" ]; then
+ LINES=24
+ COLUMNS=80
+ fi
+}
+stty_size
# for testing we may run as non root
if [ -w /run ]; then
- export TMPDIR=/run
- # debugging
- if [ -n "$FIRSTBOOT_DEBUG" ]; then
- set -x
- exec 2>/var/log/firstboot-debug
- fi
+ export TMPDIR=/run
+ # debugging
+ if [ -n "$FIRSTBOOT_DEBUG" ]; then
+ set -x
+ exec 2>/var/log/firstboot-debug
+ fi
else
- dry=1
+ dry=1
fi
if [ -n "$dry" ]; then
- run() {
- echo "$@"
- }
+ run() {
+ echo "$@"
+ }
else
- run() {
- "$@"
- }
+ run() {
+ "$@"
+ }
+fi
+
+modules=()
+
+call_module_hook() {
+ local hook="$1"
+ for module in "${modules[@]}"; do
+ hook_function="${module}_${hook}"
+ [ "$(type -t "${hook_function}")" = "function" ] || continue
+ "${hook_function}" && true # To not trigger errexit
+ ret=$?
+ [ $ret -eq 0 ] || return $ret
+ done
+ return 0
+}
+
+if pushd "/usr/share/jeos-firstboot" &>/dev/null; then
+ for module in *; do
+ if [ -f "${module}" ] && source "${module}"; then
+ modules+=("${module}")
+ fi
+ done
+ popd &>/dev/null
fi
dialog_out=`mktemp -qt 'firstboot-XXXXXX'`
cleanup() {
+ call_module_hook cleanup
echo .oOo.oOo.oOo. > $dialog_out
rm -f "$dialog_out"
# reenable systemd and kernel logs
run kill -s SIGRTMAX-10 1
- run setterm -msg on
+ run setterm -msg on 2>/dev/null || true
}
trap cleanup EXIT
# avoid kernel messages spamming our console
-run setterm -msg off
+run setterm -msg off 2>/dev/null || true
# Avoid systemd messages spamming our console
run kill -s SIGRTMAX-9 1
# sleep to avoid systemd bug, bsc#1119382
@@ -77,162 +106,156 @@
systemd_firstboot_args=('--setup-machine-id')
+# If the configuration is not loaded and we are in the first terminal
+# instance, make sure that the variables are declared.
+JEOS_LOCALE=${JEOS_LOCALE-}
+JEOS_KEYTABLE=${JEOS_KEYTABLE-}
+
result=
list=
-keytable=''
-locale=''
password=''
let dh_menu=LINES-15
let dh_text=LINES-5
d(){
- retval=
- while true
- do
- dialog --backtitle "$PRETTY_NAME" "$@" 2>"$dialog_out"
- retval=$?
- case $retval in
- 0)
- # need || true as dialog doesn't write newlines
- read result < $dialog_out || true
- return 0
- ;;
- 1)
- dialog --yesno $"Do you really want to quit?" 0 0 && exit 1
- continue
- ;;
- 255)
- # xargs to remove whitespaces
- result_error="$(xargs -a "$dialog_out")"
- if [ -z "$result_error" ]; then
- dialog --yesno $"Do you really want to quit?" 0 0 && exit 1
- continue
- fi
- logger -p err -t jeos-firstboot "$result_error"
- dialog --msgbox $"Exiting due to error, please check the system log" 0 0
- exit 2
- ;;
- esac
- done
+ retval=
+ while true
+ do
+ dialog --backtitle "$PRETTY_NAME" --output-fd 3 "$@" 3>"${dialog_out}"
+ retval=$?
+ case $retval in
+ 0)
+ # need || true as dialog doesn't write newlines
+ read result < $dialog_out || true
+ return 0
+ ;;
+ 1)
+ dialog --yesno $"Do you really want to quit?" 0 0 && exit 1
+ continue
+ ;;
+ 255)
+ # xargs to remove whitespaces
+ result_error="$(xargs -a "$dialog_out")"
+ if [ -z "$result_error" ]; then
+ dialog --yesno $"Do you really want to quit?" 0 0 && exit 1
+ continue
+ fi
+ logger -p err -t jeos-firstboot "$result_error"
+ dialog --msgbox $"Exiting due to error, please check the system log" 0 0
+ exit 2
+ ;;
+ esac
+ done
}
warn(){
- d --title $"Warning" --msgbox "$1" 6 40
+ d --title $"Warning" --msgbox "$1" 6 40
}
menulist()
{
- list=()
- local line
- while read line; do
- list+=("$line" '')
- done < <("$@"||true)
- [ -n "$list" ]
+ list=()
+ local line
+ while read line; do
+ list+=("$line" '')
+ done < <("$@"||true)
+ [ -n "$list" ]
}
# for some reason localectl doesn't work here
#menulist localectl --no-pager list-keymaps
findkeymaps()
{
- list=()
- local line
- while read line; do
- list+=("${line%.map.gz}" '')
- done < <(find /usr/share/kbd/keymaps -name '*.map.gz' -printf "%f\n" | sort -u)
- [ -n "$list" ]
+ list=()
+ local line
+ while read line; do
+ list+=("${line%.map.gz}" '')
+ done < <(find /usr/share/kbd/keymaps -name '*.map.gz' -printf "%f\n" | sort -u)
+ [ -n "$list" ]
}
findlocales()
{
- list=()
- local l locale
- # List only locales which are both in live-langset-data and glibc-locale(-base)
- for l in /usr/share/langset/*; do
- locale="${l#/usr/share/langset/}"
- [ -d "/usr/lib/locale/${locale}.utf8" ] || continue
- list+=("${locale}" '')
- done
- [ -n "$list" ]
+ list=()
+ local l locale
+ # List only locales which are both in live-langset-data and glibc-locale(-base)
+ for l in /usr/share/langset/*; do
+ locale="${l#/usr/share/langset/}"
+ [ -d "/usr/lib/locale/${locale}.utf8" ] || continue
+ list+=("${locale}" '')
+ done
+ [ -n "$list" ]
}
-if [ -z "$LOCALE_PRESET" ]; then
- default="en_US"
- [ -f /etc/locale.conf ] && locale_lang="$(awk -F= '$1 == "LANG" { split($2,fs,"."); print fs[1]; exit }' /etc/locale.conf)"
- [ -n "$locale_lang" ] && default="$locale_lang"
-
- list=() # Set by findlocales
- newlocale="$default"
- if ! findlocales; then
- d --msgbox $"No locales found" 0 0
- elif [ "${#list[@]}" -eq 2 ]; then
- newlocale="${list[0]}"
- d --msgbox $"Locale set to $newlocale.\nTo change to a different one, install glibc-locale and use\n'localectl set-locale LANG=ex_AMPLE.UTF-8'." 8 50
- else
- d --default-item "$default" --menu $"Select System Locale" 0 0 $dh_menu "${list[@]}"
- newlocale="${result}"
- fi
-
- if [ -n "$newlocale" ]; then
- locale="${newlocale}.UTF-8"
- systemd_firstboot_args+=("--locale=$locale")
-
- # Run langset to get consolefont and keymap set up
- run langset.sh $locale || warn $"Setting the locale failed"
- fi
-else
- locale="$LOCALE_PRESET"
- systemd_firstboot_args+=("--locale=$locale")
+if [ -z "$JEOS_LOCALE" ]; then
+ default="en_US"
+ [ -f /etc/locale.conf ] && locale_lang="$(awk -F= '$1 == "LANG" { split($2,fs,"."); print fs[1]; exit }' /etc/locale.conf)"
+ [ -n "$locale_lang" ] && default="$locale_lang"
+
+ list=() # Set by findlocales
+ newlocale="$default"
+ if ! findlocales; then
+ d --msgbox $"No locales found" 0 0
+ elif [ "${#list[@]}" -eq 2 ]; then
+ newlocale="${list[0]}"
+ d --msgbox $"Locale set to $newlocale.\nTo change to a different one, install glibc-locale and use\n'localectl set-locale LANG=ex_AMPLE.UTF-8'." 8 50
+ else
+ d --default-item "$default" --menu $"Select System Locale" 0 0 $dh_menu "${list[@]}"
+ newlocale="${result}"
+ fi
+
+ JEOS_LOCALE="${newlocale}.UTF-8"
fi
-if [ -z "$KEYTABLE_PRESET" ]; then
- default="us"
- [ -f /etc/vconsole.conf ] && vconsole_keymap="$(awk -F= '$1 == "KEYMAP" { split($2,fs,"."); print fs[1]; exit }' /etc/vconsole.conf)"
- [ -n "$vconsole_keymap" ] && default="$vconsole_keymap"
-
- if findkeymaps \
- && d --default-item "$default" --menu $"Select Keyboard Layout" 0 0 $dh_menu "${list[@]}"; then
- if [ -n "$result" ]; then
- keytable="$result"
-
- # Activate the selected keyboard layout
- run langset.sh "$locale" "$keytable" || warn $"Setting the keyboard layout failed"
- fi
- else
- d --msgbox $"Error setting keyboard" 0 0
- fi
-else
- keytable="$result"
+run langset.sh $JEOS_LOCALE || warn $"Setting the locale failed"
+systemd_firstboot_args+=("--locale=$JEOS_LOCALE")
+
+if [ -z "$JEOS_KEYTABLE" ]; then
+ default="us"
+ [ -f /etc/vconsole.conf ] && vconsole_keymap="$(awk -F= '$1 == "KEYMAP" { split($2,fs,"."); print fs[1]; exit }' /etc/vconsole.conf)"
+ [ -n "$vconsole_keymap" ] && default="$vconsole_keymap"
+
+ if findkeymaps \
+ && d --default-item "$default" --menu $"Select Keyboard Layout" 0 0 $dh_menu "${list[@]}"; then
+ if [ -n "$result" ]; then
+ JEOS_KEYTABLE="$result"
+ fi
+ else
+ d --msgbox $"Error setting keyboard" 0 0
+ fi
+fi
+
+if [ ! -z "$JEOS_LOCALE" -a ! -z "$JEOS_KEYTABLE" ]; then
+ # Activate the selected keyboard layout
+ run langset.sh "$JEOS_LOCALE" "$JEOS_KEYTABLE" || warn $"Setting the keyboard layout failed"
fi
-[ -n "${locale}" ] && language="${locale%%_*}" || language="en"
+[ -n "$JEOS_LOCALE" ] && language="${JEOS_LOCALE%%_*}" || language="en"
force_english_license=0
-export LANG="$locale"
+export LANG="$JEOS_LOCALE"
if [[ "$(ps h -o tty -p $$)" = tty[0-9]* ]]; then
- # Those languages can't be displayed in the console
- declare -A start_kmscon
- start_kmscon["cs"]=1
- start_kmscon["ja"]=1
- start_kmscon["zh"]=1
- start_kmscon["ko"]=1
-
- if [ -n "$locale" -a -n "${start_kmscon[${language}]+_}" ]; then
- export LOCALE_PRESET="$locale"
- export KEYTABLE_PRESET="$keytable"
-
- if kmscon_available; then
- ret_file="$(mktemp)"
- kmscon --silent --font-size 10 --palette vga --no-reset-env -l -- /bin/sh -c "$0; echo \$? > $ret_file; kill \$PPID"
- exit $(cat "$ret_file"; rm -f "$ret_file")
- elif fbiterm_available; then
- exec fbiterm -- "$0"
- else
- # No kmscon or fbiterm, fall back to english
- export LANG="en_US.UTF-8"
- force_english_license=1
- fi
- fi
+ # Those languages can't be displayed in the console
+ declare -A start_kmscon
+ start_kmscon["cs"]=1
+ start_kmscon["ja"]=1
+ start_kmscon["zh"]=1
+ start_kmscon["ko"]=1
+
+ if [ -n "$JEOS_LOCALE" -a -n "${start_kmscon[${language}]+_}" ]; then
+ if kmscon_available; then
+ ret_file="$(mktemp)"
+ kmscon --silent --font-size 10 --palette vga --no-reset-env -l -- /bin/sh -c "$0; echo \$? > $ret_file; kill \$PPID"
+ exit $(cat "$ret_file"; rm -f "$ret_file")
+ elif fbiterm_available; then
+ exec fbiterm -- "$0"
+ else
+ # No kmscon or fbiterm, fall back to english
+ export LANG="en_US.UTF-8"
+ force_english_license=1
+ fi
+ fi
fi
# Find the location of the EULA
@@ -247,67 +270,68 @@
fi
if [ -e "$EULA_FILE" -a ! -e "${EULA_FILE%/*}/no-acceptance-needed" ]; then
- if [ "$force_english_license" = "0" ]; then
- for i in "${EULA_FILE%.txt}.$locale.txt" \
- "${EULA_FILE%.txt}.${locale%%.UTF-8}.txt" \
- "${EULA_FILE%.txt}.${language}.txt"; do
- if [ -e "$i" ]; then
- EULA_FILE="$i"
- break
- fi
- done
- fi
-
- while ! dialog --backtitle "$PRETTY_NAME" --textbox "$EULA_FILE" $dh_text 85 --and-widget --yesno $"Do you agree with the terms of the license?" 0 0; do
- d --msgbox $"Well, we cannot continue then ..." 6 40
- done
+ if [ "$force_english_license" = "0" ]; then
+ for i in "${EULA_FILE%.txt}.${JEOS_LOCALE}.txt" \
+ "${EULA_FILE%.txt}.${JEOS_LOCALE%%.UTF-8}.txt" \
+ "${EULA_FILE%.txt}.${language}.txt"; do
+ if [ -e "$i" ]; then
+ EULA_FILE="$i"
+ break
+ fi
+ done
+ fi
+
+ while ! dialog --backtitle "$PRETTY_NAME" --textbox "$EULA_FILE" $dh_text 85 --and-widget --yesno $"Do you agree with the terms of the license?" 0 0; do
+ d --msgbox $"Well, we cannot continue then ..." 6 40
+ done
fi
default="$(readlink -f /etc/localtime)"
default="${default##/usr/share/zoneinfo/}"
-# timedatectl doesn't work as dbus is not up yet
-# menulist timedatectl --no-pager list-timezones
-if menulist awk \
- 'BEGIN{print "UTC"; sort="sort"}/^#/{next;}{print $3|sort}END{close(sort)}' \
- /usr/share/zoneinfo/zone.tab \
- && d --default-item "$default" --menu $"Select Time Zone" 0 0 $dh_menu "${list[@]}"; then
+if [ -z "$JEOS_TIMEZONE" ]; then
+ # timedatectl doesn't work as dbus is not up yet
+ # menulist timedatectl --no-pager list-timezones
+ if menulist awk \
+ 'BEGIN{print "UTC"; sort="sort"}/^#/{next;}{print $3|sort}END{close(sort)}' \
+ /usr/share/zoneinfo/zone.tab \
+ && d --default-item "$default" --menu $"Select Time Zone" 0 0 $dh_menu "${list[@]}"; then
if [ -n "$result" ]; then
- systemd_firstboot_args+=("--timezone=$result")
+ JEOS_TIMEZONE="$result"
+ fi
+ else
+ d --msgbox $"error setting timezone" 0 0
fi
-else
- d --msgbox $"error setting timezone" 0 0
fi
+systemd_firstboot_args+=("--timezone=$JEOS_TIMEZONE")
# systemd-firstboot does not set the timezone if it exists, langset.sh created it
run rm -f /etc/localtime
run systemd-firstboot "${systemd_firstboot_args[@]}"
-# NOTE: must be last as dialog file is used to set the password
-while true; do
- password=
- if d --insecure --passwordbox $"Enter root Password" 0 0; then
- password="$result"
- if d --insecure --passwordbox $"Confirm root Password" 0 0; then
- if [ "$password" != "$result" ]; then
- d --msgbox $"Entered passwords don't match" 5 40 || true
- continue
- fi
- # don't use that one as we need to switch locale
- #systemd_firstboot_args+=("--root-password-file=$dialog_out")
- fi
- fi
- if [ -z "$password" ]; then
- warn $"Warning: No root password set.
+if [ -z "$JEOS_PASSWORD_ALREADY_SET" ]; then
+ while true; do
+ d --insecure --passwordbox $"Enter root Password" 0 0
+ password="$result"
+ d --insecure --passwordbox $"Confirm root Password" 0 0
+ if [ "$password" != "$result" ]; then
+ d --msgbox $"Entered passwords don't match" 5 40
+ continue
+ fi
+ # don't use that one as we need to switch locale
+ #systemd_firstboot_args+=("--root-password-file=$dialog_out")
+ if [ -z "$password" ]; then
+ warn $"Warning: No root password set.
You cannot log in that way. A debug shell will be started on tty9 just this time. Use it to e.g. import your ssh key." 0 0 || true
- run systemctl start debug-shell.service
- fi
- break
-done
+ run systemctl start debug-shell.service
+ fi
+ break
+ done
+fi
if [ -x /usr/bin/SUSEConnect ]; then
- d --msgbox $"Please register this image using your existing SUSE entitlement.
+ d --msgbox $"Please register this image using your existing SUSE entitlement.
As \"root\" use the following command:
@@ -324,165 +348,57 @@
#
shopt -s nullglob
-candidates=()
for p in /sys/class/net/* ; do
- test -f "$p" && continue # skip bonding_masters file
-
- # only devices having ID_NET_NAME.* attrs
- udevadm info -q all -p "$p" | grep -qs ID_NET_NAME || continue
- d=${p##*/}
-
- unset IPADDR GATEWAYS
- eval `wicked test dhcp4 "$d" 2>/dev/null | grep -E "^IPADDR=|^GATEWAYS="`
- ip link set down "$d" # set link down after probe once done
-
- test -n "$IPADDR" && candidates+=("$d") || continue # ok, track it
- test -n "$GATEWAYS" && candidates=("$d") || continue # just use it
- break
-done
+ test -f "$p" && continue # skip bonding_masters file
-for d in ${candidates[@]} ; do
- rm -f "/etc/sysconfig/network/ifcfg-$d" || exit 1
- printf "STARTMODE=auto\nBOOTPROTO=dhcp\n" \
- > "/etc/sysconfig/network/ifcfg-$d"
- break # one is enough
+ # only devices having ID_NET_NAME.* attrs
+ udevadm info -q property -p "$p" | grep -qs ID_NET_NAME || continue
+ # But don't touch WLAN interfaces
+ udevadm info -q property -p "$p" | grep -qs "DEVTYPE=wlan" && continue
+
+ d=${p##*/}
+
+ unset IPADDR
+ eval `wicked test dhcp4 "$d" 2>/dev/null | grep -E "^IPADDR="`
+ ip link set down "$d" # set link down after probe once done
+
+ # Create a configuration file for each interface that provides
+ # an IPADDR
+ if [ -n "$IPADDR" ]; then
+ rm -f "/etc/sysconfig/network/ifcfg-$d" || exit 1
+ printf "STARTMODE=auto\nBOOTPROTO=dhcp\n" \
+ > "/etc/sysconfig/network/ifcfg-$d"
+ fi
done
-config_wireless=false
-if is_raspberry && ls -d /sys/class/net/*/wireless &>/dev/null; then
- if dialog --yesno $"Configure wireless network?" 0 0; then
- config_wireless=true
- fi
-fi
-if [ "$config_wireless" = "true" ]; then
- # Wi-fi
- #
- get_wlan_devices()
- {
- list=()
- local line
- while read line; do
- list+=("${line}" '')
- done < <(ls -d /sys/class/net/*/wireless | awk -F'/' '{ print $5 }')
- [ -n "$list" ]
- }
-
- get_wlan_networks()
- {
- list=()
- local line
- while read line; do
- list+=("${line}" '')
- done < <(ip link set $wlan_device up && iwlist $wlan_device scan|grep ESSID|cut -d':' -f2|cut -d'"' -f2|sort -u)
- [ -n "${list[*]}" ]
- }
-
- wlan_error(){
- d --title $"Error" --msgbox "$1" 0 0
- dialog --yesno $"Do you want to retry?" 0 0
- }
- while true
- do
- if get_wlan_devices && d --menu $"Select Wireless card to configure" 0 0 $dh_menu "${list[@]}"; then
- wlan_device="$result"
- else
- if wlan_error $"Error listing wlan devices"; then
- continue
- else
- break
- fi
- fi
-
- if get_wlan_networks && d --menu $"Select Wireless network to connect" 0 0 $dh_menu "${list[@]}"; then
- wlan_network="$result"
- else
- if wlan_error $"Error listing wireless networks"; then
- continue
- else
- break
- fi
- fi
-
- if d --menu $"Select authentication mode" 0 0 $dh_menu $"WPA-PSK" '' $"WPA-EAP" '' $"Open" ''; then
- wlan_auth_mode="$result"
- fi
- wlan_auth_mode_conf=
- if [ "$wlan_auth_mode" = "WPA-EAP" ]; then
- wlan_auth_mode_conf=eap
- if d --inputbox $"Username" 0 0; then
- wlan_username="$result"
- fi
- fi
- if [ "$wlan_auth_mode" = "WPA-PSK" ]; then
- wlan_auth_mode_conf=psk
- fi
- if [ "$wlan_auth_mode" = "Open" ]; then
- wlan_auth_mode_conf=open
- fi
- if [ "$wlan_auth_mode" != "Open" ]; then
- wlan_password=
- if d --insecure --passwordbox $"Password" 0 0; then
- wlan_password="$result"
- fi
- fi
- break
- done
-
- config_file=`mktemp -qt 'firstboot-XXXXXX'`
-
- cat << EOF > $config_file
-BOOTPROTO='dhcp'
-STARTMODE='auto'
-WIRELESS_AP_SCANMODE='1'
-WIRELESS_AUTH_MODE='$wlan_auth_mode_conf'
-WIRELESS_ESSID='$wlan_network'
-WIRELESS_MODE='Managed'
-EOF
-
- if [ $wlan_auth_mode = "WPA-PSK" ]; then
- echo "WIRELESS_WPA_PSK='$wlan_password'" >> $config_file
- fi
-
- if [ $wlan_auth_mode = "WPA-EAP" ]; then
- echo "WIRELESS_WPA_IDENTITY='$wlan_username'" >> $config_file
- echo "WIRELESS_WPA_PASSWORD='$wlan_password'" >> $config_file
- echo "WIRELESS_EAP_AUTH='mschapv2'" >> $config_file
- fi
-
- run mv -f $config_file /etc/sysconfig/network/ifcfg-$wlan_device
-
-fi
+call_module_hook systemd_firstboot
d --infobox $"Applying firstboot settings ..." 3 40 || true
# FIXME: systemd-firstboot doesn't set password if shadow present
if [ -n "$password" ]; then
- run echo "root:$password" | run /usr/sbin/chpasswd
+ run echo "root:$password" | run /usr/sbin/chpasswd
fi
EFI_SYSTAB="/sys/firmware/efi/systab"
# Look for EFI dir to see if the machine is booted in UEFI mode
run modprobe efivars
if ! [ -f "$EFI_SYSTAB" ]; then
- run sed -i -e "s/LOADER_TYPE=.*/LOADER_TYPE=grub2/g" /etc/sysconfig/bootloader
+ run sed -i -e "s/LOADER_TYPE=.*/LOADER_TYPE=grub2/g" /etc/sysconfig/bootloader
fi
# Test if snapper is available
-if [ -x /usr/bin/snapper ]; then
- if ! btrfs qgroup show / &>/dev/null; then
- # Run snapper to setup quota for btrfs
- run /usr/bin/snapper --no-dbus setup-quota || warn $"Could not setup quota for btrfs"
- fi
-
- if [ ! -e /.snapshots/2 ]; then
- run create_snapshot 2 "Initial Status" "yes" || true
- fi
- if [ -x /usr/lib/snapper/plugins/grub ]; then
- run /usr/lib/snapper/plugins/grub --refresh
- fi
-fi
-
-if [ "$config_wireless" = "true" ]; then
- run ifdown $wlan_device 2>/dev/null || true
- run ifup $wlan_device || true
+if [ -x /usr/bin/snapper -a "$(stat --format=%T -f /)" = "btrfs" ]; then
+ if ! btrfs qgroup show / &>/dev/null; then
+ # Run snapper to setup quota for btrfs
+ run /usr/bin/snapper --no-dbus setup-quota || warn $"Could not setup quota for btrfs"
+ fi
+
+ if [ ! -e /.snapshots/2 ]; then
+ run create_snapshot 2 "Initial Status" "yes" || true
+ fi
+ if [ -x /usr/lib/snapper/plugins/grub ]; then
+ run /usr/lib/snapper/plugins/grub --refresh
+ fi
fi
-# vim: sw=4
+
+call_module_hook post
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/jeos-firstboot-0.0+git20190417.7ba1ac9/files/usr/lib/jeos-firstboot-functions new/jeos-firstboot-0.0+git20190523.f1f2bfa/files/usr/lib/jeos-firstboot-functions
--- old/jeos-firstboot-0.0+git20190417.7ba1ac9/files/usr/lib/jeos-firstboot-functions 2019-04-17 11:20:39.000000000 +0200
+++ new/jeos-firstboot-0.0+git20190523.f1f2bfa/files/usr/lib/jeos-firstboot-functions 2019-05-23 11:33:19.000000000 +0200
@@ -44,24 +44,20 @@
}
kmscon_available() {
- # kmscon itself is installed
- kmscon --help >/dev/null 2>&1 || return 1
- # At least one monospace font is available
- [ -n "$(fc-match "monospace" 2>/dev/null)" ] || return 1
+ # kmscon itself is installed
+ kmscon --help >/dev/null 2>&1 || return 1
+ # At least one monospace font is available
+ [ -n "$(fc-match "monospace" 2>/dev/null)" ] || return 1
- return 0
+ return 0
}
fbiterm_available() {
- # fbiterm itself is installed
- fbiterm --help >/dev/null 2>&1 || return 1
- # fbiterm comes with its own fallback font
+ # fbiterm itself is installed
+ fbiterm --help >/dev/null 2>&1 || return 1
+ # fbiterm comes with its own fallback font
- return 0
-}
-
-is_raspberry() {
- grep -q Raspberry /proc/device-tree/model
+ return 0
}
# vim: syntax=sh
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/jeos-firstboot-0.0+git20190417.7ba1ac9/files/usr/share/defaults/jeos-firstboot.conf new/jeos-firstboot-0.0+git20190523.f1f2bfa/files/usr/share/defaults/jeos-firstboot.conf
--- old/jeos-firstboot-0.0+git20190417.7ba1ac9/files/usr/share/defaults/jeos-firstboot.conf 1970-01-01 01:00:00.000000000 +0100
+++ new/jeos-firstboot-0.0+git20190523.f1f2bfa/files/usr/share/defaults/jeos-firstboot.conf 2019-05-23 11:33:19.000000000 +0200
@@ -0,0 +1,18 @@
+# Example configuration file for jeos-firstboot
+
+# Valid system locale that will be used in JeOS. If empty/unset, a
+# dialog box will ask for the system locale.
+# JEOS_LOCALE='en_US'
+
+# Keyboard layout used in the system and during jeos-firstboot.
+# If empty/unset, a dialog box will ask for the keyboard layout.
+# JEOS_KEYTABLE='en'
+
+# Local timezone of the system.
+# If empty/unset, a dialog box will ask for the local timezone.
+# JEOS_TIMEZONE='UTC'
+
+# If set to a nonempty value, the dialog box for setting the
+# initial password for the root user will be skipped. In this case is
+# expected that the root password was set by other means.
+# JEOS_PASSWORD_ALREADY_SET='yes'
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/jeos-firstboot-0.0+git20190417.7ba1ac9/files/usr/share/jeos-firstboot/raspberrywifi new/jeos-firstboot-0.0+git20190523.f1f2bfa/files/usr/share/jeos-firstboot/raspberrywifi
--- old/jeos-firstboot-0.0+git20190417.7ba1ac9/files/usr/share/jeos-firstboot/raspberrywifi 1970-01-01 01:00:00.000000000 +0100
+++ new/jeos-firstboot-0.0+git20190523.f1f2bfa/files/usr/share/jeos-firstboot/raspberrywifi 2019-05-23 11:33:19.000000000 +0200
@@ -0,0 +1,144 @@
+# Copyright (c) 2019 SUSE LLC
+#
+# Permission is hereby granted, free of charge, to any person obtaining a copy
+# of this software and associated documentation files (the "Software"), to deal
+# in the Software without restriction, including without limitation the rights
+# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+# copies of the Software, and to permit persons to whom the Software is
+# furnished to do so, subject to the following conditions:
+#
+# The above copyright notice and this permission notice shall be included in
+# all copies or substantial portions of the Software.
+#
+# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+# SOFTWARE.
+
+config_wireless=false
+
+# Raspberry pi Wi-fi functions
+raspberrywifi_get_wlan_devices()
+{
+ list=()
+ local line
+ while read line; do
+ list+=("${line}" '')
+ done < <(ls -d /sys/class/net/*/wireless | awk -F'/' '{ print $5 }')
+ [ -n "$list" ]
+}
+
+raspberrywifi_get_wlan_networks()
+{
+ list=()
+ local line
+ while read line; do
+ list+=("${line}" '')
+ done < <(ip link set $wlan_device up && iwlist $wlan_device scan|grep ESSID|cut -d':' -f2|cut -d'"' -f2|sort -u)
+ [ -n "${list[*]}" ]
+}
+
+raspberrywifi_wlan_error()
+{
+ d --title $"Error" --msgbox "$1" 0 0
+ dialog --yesno $"Do you want to retry?" 0 0
+}
+
+is_raspberry()
+{
+ grep -q Raspberry /proc/device-tree/model 2> /dev/null
+}
+
+# This is called by jeos-firstboot for user
+# interaction and access to the global systemd_firstboot_args array
+raspberrywifi_systemd_firstboot()
+{
+ if is_raspberry && ls -d /sys/class/net/*/wireless &>/dev/null; then
+ if dialog --yesno $"Configure wireless network?" 0 0; then
+ config_wireless=true
+ fi
+ fi
+ [ "$config_wireless" = "true" ] || return 0
+
+ while true
+ do
+ if ! raspberrywifi_get_wlan_devices; then
+ if raspberrywifi_wlan_error $"Error listing wlan devices"; then
+ continue
+ fi
+ break
+ fi
+
+ if [ "${#list[@]}" -eq "2" ]; then
+ wlan_device="${list[0]}"
+ else
+ d --menu $"Select Wireless card to configure" 0 0 $dh_menu "${list[@]}"
+ wlan_device="${result}"
+ fi
+
+ if raspberrywifi_get_wlan_networks && d --menu $"Select Wireless network to connect" 0 0 $dh_menu "${list[@]}"; then
+ wlan_network="$result"
+ else
+ if raspberrywifi_wlan_error $"Error listing wireless networks"; then
+ continue
+ fi
+ break
+ fi
+
+ d --menu $"Select authentication mode" 0 0 $dh_menu $"WPA-PSK" '' $"WPA-EAP" '' $"Open" ''
+ wlan_auth_mode="$result"
+
+ wlan_auth_mode_conf=
+ if [ "$wlan_auth_mode" = "WPA-EAP" ]; then
+ wlan_auth_mode_conf=eap
+ d --inputbox $"Username" 0 0
+ wlan_username="$result"
+ fi
+ if [ "$wlan_auth_mode" = "WPA-PSK" ]; then
+ wlan_auth_mode_conf=psk
+ fi
+ if [ "$wlan_auth_mode" = "Open" ]; then
+ wlan_auth_mode_conf=open
+ fi
+ if [ "$wlan_auth_mode" != "Open" ]; then
+ wlan_password=
+ d --insecure --passwordbox $"Password" 0 0
+ wlan_password="$result"
+ fi
+ break
+ done
+
+ config_file=`mktemp -qt 'firstboot-XXXXXX'`
+
+ cat << EOF > $config_file
+BOOTPROTO='dhcp'
+STARTMODE='auto'
+WIRELESS_AP_SCANMODE='1'
+WIRELESS_AUTH_MODE='$wlan_auth_mode_conf'
+WIRELESS_ESSID='$wlan_network'
+WIRELESS_MODE='Managed'
+EOF
+
+ if [ $wlan_auth_mode = "WPA-PSK" ]; then
+ echo "WIRELESS_WPA_PSK='$wlan_password'" >> $config_file
+ fi
+
+ if [ $wlan_auth_mode = "WPA-EAP" ]; then
+ echo "WIRELESS_WPA_IDENTITY='$wlan_username'" >> $config_file
+ echo "WIRELESS_WPA_PASSWORD='$wlan_password'" >> $config_file
+ echo "WIRELESS_EAP_AUTH='mschapv2'" >> $config_file
+ fi
+
+ run mv -f $config_file /etc/sysconfig/network/ifcfg-$wlan_device
+}
+
+# This is called after the configuration steps finished successfully
+raspberrywifi_post()
+{
+ [ "$config_wireless" = "true" ] || return 0
+ run ifdown $wlan_device 2>/dev/null || true
+ run ifup $wlan_device || true
+}
1
0
Hello community,
here is the log from the commit of package python-py-cpuinfo for openSUSE:Factory checked in at 2019-05-27 08:36:07
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-py-cpuinfo (Old)
and /work/SRC/openSUSE:Factory/.python-py-cpuinfo.new.5148 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-py-cpuinfo"
Mon May 27 08:36:07 2019 rev:5 rq:704967 version:5.0.0
Changes:
--------
--- /work/SRC/openSUSE:Factory/python-py-cpuinfo/python-py-cpuinfo.changes 2019-02-08 13:47:43.858791793 +0100
+++ /work/SRC/openSUSE:Factory/.python-py-cpuinfo.new.5148/python-py-cpuinfo.changes 2019-05-27 08:36:09.107123218 +0200
@@ -1,0 +2,23 @@
+Wed May 22 13:40:11 UTC 2019 - Marketa Calabkova <mcalabkova(a)suse.com>
+
+- update to version 5.0.0
+ * Fixed Bug #117: Remove PyInstaller hacks
+ * Fixed Bug #108: Client script runs multiple times without __main__
+ * Fixed Bug #113: Add option to return results in json
+ * Fixed Bug #110: Always tries to run wmic in get_system_info.py
+ v4.0.0
+ * Fixed Bug #80: Broken when using Pyinstaller
+ * Fixed Bug #77: Get L1, L2, and L3 cache info from lscpu
+ * Fixed Bug #79: Byte formats are inconsistent
+ * Fixed Bug #81: Byte formatter breaks on non strings
+ * Fixed Bug #95: Include if Python is 32 or 64 bit in get_system_info
+ * Fixed Bug #87: lscpu gets brand field twice
+ * Fixed Bug #96: Include Python version in output
+ * Fixed Bug #85: CPUID HZ measurement is scaled wrong
+ * Fixed Bug #100: Officially drop support for Python 2.6
+ * Fixed Bug #101: Made it only check the dmesg boot log on Linux
+ v3.3.0
+ * Fixed Bug #72: Fails to parse invalid CPUID result.
+- removed remove-arch-check.patch -- testsuite runs
+
+-------------------------------------------------------------------
Old:
----
py-cpuinfo-3.1.0.tar.gz
remove-arch-check.patch
New:
----
py-cpuinfo-5.0.0.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ python-py-cpuinfo.spec ++++++
--- /var/tmp/diff_new_pack.5J4S1N/_old 2019-05-27 08:36:09.815122942 +0200
+++ /var/tmp/diff_new_pack.5J4S1N/_new 2019-05-27 08:36:09.819122941 +0200
@@ -19,14 +19,13 @@
%{?!python_module:%define python_module() python-%{**} python3-%{**}}
%bcond_without tests
Name: python-py-cpuinfo
-Version: 3.1.0
+Version: 5.0.0
Release: 0
Summary: Python library and tool to get CPU info
License: MIT
Group: Development/Languages/Python
URL: https://github.com/workhorsy/py-cpuinfo
Source: https://files.pythonhosted.org/packages/source/p/py-cpuinfo/py-cpuinfo-%{ve…
-Patch: remove-arch-check.patch
BuildRequires: %{python_module setuptools}
BuildRequires: fdupes
BuildRequires: python-rpm-macros
@@ -54,7 +53,6 @@
%prep
%setup -q -n py-cpuinfo-%{version}
-%patch -p1
%build
%python_build
++++++ py-cpuinfo-3.1.0.tar.gz -> py-cpuinfo-5.0.0.tar.gz ++++++
++++ 3361 lines of diff (skipped)
1
0
Hello community,
here is the log from the commit of package python-Faker for openSUSE:Factory checked in at 2019-05-27 08:35:57
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-Faker (Old)
and /work/SRC/openSUSE:Factory/.python-Faker.new.5148 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-Faker"
Mon May 27 08:35:57 2019 rev:11 rq:704961 version:1.0.7
Changes:
--------
--- /work/SRC/openSUSE:Factory/python-Faker/python-Faker.changes 2019-05-03 22:35:14.609082251 +0200
+++ /work/SRC/openSUSE:Factory/.python-Faker.new.5148/python-Faker.changes 2019-05-27 08:36:01.619126137 +0200
@@ -1,0 +2,14 @@
+Thu May 23 08:28:50 UTC 2019 - pgajdos(a)suse.com
+
+- version update to 1.0.7
+ * Remove dead url from ``image_placeholder_services``. Thanks @Monstrofil.
+ * Fix missing ``first_names`` in Romanian person provider. Thanks @xlotlu.
+ * Add Catalan, adds doi/nie/nif/cif to Spain ssn. Thanks @kingbuzzman.
+ * Add ``texts`` to generate list of texts. Thanks @pishchalnikov.
+ * Add provider for ``pl_PL`` automotive and Polish pesel number. Thanks @adwojak.
+ * Corrected behavior for ``pyfloat``. Thanks @ariksu.
+ * Add missing commas to company/nl_NL provider. Thanks @francoisfreitag.
+ * Add bounds to ``pyint``. Thanks @francoisfreitag.
+ * Accept step argument in ``random_int()``. Thanks @francoisfreitag.
+
+-------------------------------------------------------------------
Old:
----
Faker-1.0.5.tar.gz
New:
----
Faker-1.0.7.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ python-Faker.spec ++++++
--- /var/tmp/diff_new_pack.r300SD/_old 2019-05-27 08:36:02.443125816 +0200
+++ /var/tmp/diff_new_pack.r300SD/_new 2019-05-27 08:36:02.443125816 +0200
@@ -19,7 +19,7 @@
%{?!python_module:%define python_module() python-%{**} python3-%{**}}
%define oldpython python
Name: python-Faker
-Version: 1.0.5
+Version: 1.0.7
Release: 0
Summary: Python package that generates fake data
License: MIT
++++++ Faker-1.0.5.tar.gz -> Faker-1.0.7.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Faker-1.0.5/CHANGELOG.rst new/Faker-1.0.7/CHANGELOG.rst
--- old/Faker-1.0.5/CHANGELOG.rst 2019-04-12 17:10:07.000000000 +0200
+++ new/Faker-1.0.7/CHANGELOG.rst 2019-05-14 17:55:14.000000000 +0200
@@ -1,6 +1,23 @@
Changelog
=========
+`1.0.7 - 14-May-2019 <https://github.com/joke2k/faker/compare/v1.0.6...v1.0.7>`__
+---------------------------------------------------------------------------------
+
+* Remove dead url from ``image_placeholder_services``. Thanks @Monstrofil.
+* Fix missing ``first_names`` in Romanian person provider. Thanks @xlotlu.
+* Add Catalan, adds doi/nie/nif/cif to Spain ssn. Thanks @kingbuzzman.
+* Add ``texts`` to generate list of texts. Thanks @pishchalnikov.
+* Add provider for ``pl_PL`` automotive and Polish pesel number. Thanks @adwojak.
+* Corrected behavior for ``pyfloat``. Thanks @ariksu.
+
+`1.0.6 - 26-April-2019 <https://github.com/joke2k/faker/compare/v1.0.5...v1.0.6>`__
+-----------------------------------------------------------------------------------
+
+* Add missing commas to company/nl_NL provider. Thanks @francoisfreitag.
+* Add bounds to ``pyint``. Thanks @francoisfreitag.
+* Accept step argument in ``random_int()``. Thanks @francoisfreitag.
+
`1.0.5 - 12-April-2019 <https://github.com/joke2k/faker/compare/v1.0.4...v1.0.5>`__
-----------------------------------------------------------------------------------
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Faker-1.0.5/Faker.egg-info/PKG-INFO new/Faker-1.0.7/Faker.egg-info/PKG-INFO
--- old/Faker-1.0.5/Faker.egg-info/PKG-INFO 2019-04-12 17:10:32.000000000 +0200
+++ new/Faker-1.0.7/Faker.egg-info/PKG-INFO 2019-05-14 18:11:36.000000000 +0200
@@ -1,6 +1,6 @@
Metadata-Version: 1.2
Name: Faker
-Version: 1.0.5
+Version: 1.0.7
Summary: Faker is a Python package that generates fake data for you.
Home-page: https://github.com/joke2k/faker
Author: joke2k
@@ -98,12 +98,12 @@
from faker import Faker
from faker.providers import internet
-
+
fake = Faker()
fake.add_provider(internet)
-
+
print(fake.ipv4_private())
-
+
Check the `extended docs`_ for a list of `bundled providers`_ and a list of
`community providers`_.
@@ -364,23 +364,11 @@
Tests
-----
- Installing dependencies:
-
- .. code:: bash
-
- $ pip install -e .
-
Run tests:
.. code:: bash
- $ python setup.py test
-
- or
-
- .. code:: bash
-
- $ python -m unittest -v tests
+ $ tox
Write documentation for providers:
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Faker-1.0.5/Faker.egg-info/SOURCES.txt new/Faker-1.0.7/Faker.egg-info/SOURCES.txt
--- old/Faker-1.0.5/Faker.egg-info/SOURCES.txt 2019-04-12 17:10:32.000000000 +0200
+++ new/Faker-1.0.7/Faker.egg-info/SOURCES.txt 2019-05-14 18:11:36.000000000 +0200
@@ -77,6 +77,7 @@
faker/providers/automotive/en_US/__init__.py
faker/providers/automotive/hu_HU/__init__.py
faker/providers/automotive/id_ID/__init__.py
+faker/providers/automotive/pl_PL/__init__.py
faker/providers/automotive/pt_BR/__init__.py
faker/providers/automotive/ru_RU/__init__.py
faker/providers/automotive/sv_SE/__init__.py
@@ -238,6 +239,7 @@
faker/providers/person/en_NZ/__init__.py
faker/providers/person/en_TH/__init__.py
faker/providers/person/en_US/__init__.py
+faker/providers/person/es_CA/__init__.py
faker/providers/person/es_ES/__init__.py
faker/providers/person/es_MX/__init__.py
faker/providers/person/et_EE/__init__.py
@@ -338,6 +340,7 @@
faker/providers/ssn/en_GB/__init__.py
faker/providers/ssn/en_IE/__init__.py
faker/providers/ssn/en_US/__init__.py
+faker/providers/ssn/es_CA/__init__.py
faker/providers/ssn/es_ES/__init__.py
faker/providers/ssn/et_EE/__init__.py
faker/providers/ssn/fi_FI/__init__.py
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Faker-1.0.5/MANIFEST.in new/Faker-1.0.7/MANIFEST.in
--- old/Faker-1.0.5/MANIFEST.in 2019-03-11 20:05:44.000000000 +0100
+++ new/Faker-1.0.7/MANIFEST.in 2019-04-15 17:09:53.000000000 +0200
@@ -13,4 +13,3 @@
exclude build32bit.sh
prune docs
prune .circleci
-
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Faker-1.0.5/PKG-INFO new/Faker-1.0.7/PKG-INFO
--- old/Faker-1.0.5/PKG-INFO 2019-04-12 17:10:32.000000000 +0200
+++ new/Faker-1.0.7/PKG-INFO 2019-05-14 18:11:37.000000000 +0200
@@ -1,6 +1,6 @@
Metadata-Version: 1.2
Name: Faker
-Version: 1.0.5
+Version: 1.0.7
Summary: Faker is a Python package that generates fake data for you.
Home-page: https://github.com/joke2k/faker
Author: joke2k
@@ -98,12 +98,12 @@
from faker import Faker
from faker.providers import internet
-
+
fake = Faker()
fake.add_provider(internet)
-
+
print(fake.ipv4_private())
-
+
Check the `extended docs`_ for a list of `bundled providers`_ and a list of
`community providers`_.
@@ -364,23 +364,11 @@
Tests
-----
- Installing dependencies:
-
- .. code:: bash
-
- $ pip install -e .
-
Run tests:
.. code:: bash
- $ python setup.py test
-
- or
-
- .. code:: bash
-
- $ python -m unittest -v tests
+ $ tox
Write documentation for providers:
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Faker-1.0.5/README.rst new/Faker-1.0.7/README.rst
--- old/Faker-1.0.5/README.rst 2019-04-12 17:10:07.000000000 +0200
+++ new/Faker-1.0.7/README.rst 2019-04-15 17:09:53.000000000 +0200
@@ -90,12 +90,12 @@
from faker import Faker
from faker.providers import internet
-
+
fake = Faker()
fake.add_provider(internet)
-
+
print(fake.ipv4_private())
-
+
Check the `extended docs`_ for a list of `bundled providers`_ and a list of
`community providers`_.
@@ -356,23 +356,11 @@
Tests
-----
-Installing dependencies:
-
-.. code:: bash
-
- $ pip install -e .
-
Run tests:
.. code:: bash
- $ python setup.py test
-
-or
-
-.. code:: bash
-
- $ python -m unittest -v tests
+ $ tox
Write documentation for providers:
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Faker-1.0.5/VERSION new/Faker-1.0.7/VERSION
--- old/Faker-1.0.5/VERSION 2019-04-12 17:10:21.000000000 +0200
+++ new/Faker-1.0.7/VERSION 2019-05-14 18:10:06.000000000 +0200
@@ -1 +1 @@
-1.0.5
+1.0.7
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Faker-1.0.5/faker/__init__.py new/Faker-1.0.7/faker/__init__.py
--- old/Faker-1.0.5/faker/__init__.py 2019-04-12 17:10:21.000000000 +0200
+++ new/Faker-1.0.7/faker/__init__.py 2019-05-14 18:10:06.000000000 +0200
@@ -1,6 +1,6 @@
from faker.generator import Generator # noqa F401
from faker.factory import Factory # noqa F401
-VERSION = '1.0.5'
+VERSION = '1.0.7'
Faker = Factory.create
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Faker-1.0.5/faker/providers/__init__.py new/Faker-1.0.7/faker/providers/__init__.py
--- old/Faker-1.0.5/faker/providers/__init__.py 2019-03-05 18:07:52.000000000 +0100
+++ new/Faker-1.0.7/faker/providers/__init__.py 2019-04-15 17:09:53.000000000 +0200
@@ -93,15 +93,16 @@
def language_code(self):
return self.random_element(BaseProvider.language_locale_codes.keys())
- def random_int(self, min=0, max=9999):
+ def random_int(self, min=0, max=9999, step=1):
"""
Returns a random integer between two values.
:param min: lower bound value (inclusive; default=0)
:param max: upper bound value (inclusive; default=9999)
+ :param step: range step (default=1)
:returns: random integer between min and max
"""
- return self.generator.random.randint(min, max)
+ return self.generator.random.randrange(min, max + 1, step)
def random_digit(self):
"""
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Faker-1.0.5/faker/providers/automotive/pl_PL/__init__.py new/Faker-1.0.7/faker/providers/automotive/pl_PL/__init__.py
--- old/Faker-1.0.5/faker/providers/automotive/pl_PL/__init__.py 1970-01-01 01:00:00.000000000 +0100
+++ new/Faker-1.0.7/faker/providers/automotive/pl_PL/__init__.py 2019-05-14 17:28:28.000000000 +0200
@@ -0,0 +1,28 @@
+# coding=utf-8
+
+from __future__ import unicode_literals
+from .. import Provider as AutomotiveProvider
+
+
+class Provider(AutomotiveProvider):
+ # from
+ # https://en.wikipedia.org/wiki/Vehicle_registration_plates_of_Poland
+ license_formats = (
+ '?? #####',
+ '?? ####?',
+ '?? ###??',
+ '?? #?###',
+ '?? #??##',
+ '??? ?###',
+ '??? ##??',
+ '??? #?##',
+ '??? ##?#',
+ '??? #??#',
+ '??? ??##',
+ '??? #####',
+ '??? ####?',
+ '??? ###??',
+ )
+
+ def license_plate_regex_formats(self):
+ return [plate.replace('?', '[A-Z]').replace('#', '[0-9]') for plate in self.license_formats]
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Faker-1.0.5/faker/providers/company/nl_NL/__init__.py new/Faker-1.0.7/faker/providers/company/nl_NL/__init__.py
--- old/Faker-1.0.5/faker/providers/company/nl_NL/__init__.py 2019-04-12 17:10:07.000000000 +0200
+++ new/Faker-1.0.7/faker/providers/company/nl_NL/__init__.py 2019-04-15 17:09:53.000000000 +0200
@@ -1,109 +1,109 @@
-# coding=utf-8
-
-from __future__ import unicode_literals
-from .. import Provider as CompanyProvider
-
-
-class Provider(CompanyProvider):
-
- formats = (
- '{{last_name}} {{company_suffix}}',
- '{{last_name}} & {{last_name}}',
- '{{company_prefix}} {{last_name}}',
- '{{large_company}}',
- )
-
- company_prefixes = (
- 'Stichting', 'Koninklijke', 'Royal',
- )
-
- company_suffixes = (
- 'BV', 'NV', 'Groep',
- )
-
- # Source: https://www.mt.nl/management/reputatie/mt-500-2018-de-lijst/559930
- large_companies = (
- 'Shell', 'Coolblue', 'ASML', 'Ahold', 'Tata Steel', 'KLM', 'Bol.com', 'BP Nederland', 'De Efteling', 'Eneco',
- 'De Persgroep', 'ING', 'Royal HaskoningDHV', 'Randstad', 'Google', 'Ikea', 'Rockwool', 'BAM', 'Achmea',
- 'Damen Shipyard', 'ABN Amro', 'Remeha Group', 'TenneT', 'Coca-Cola', 'Van Leeuwen Buizen', 'Wavin', 'Rabobank',
- 'AkzoNobel', 'Arcadis', 'AFAS', 'Cisco', 'DAF Trucks', 'DHL', 'Hanos', 'Boon Edam', 'BMW Nederland',
- 'The Greenery', 'Dutch Flower Group', 'Koninklijke Mosa', 'Yacht', 'Rituals', 'Microsoft', 'Esso',
- '3W Vastgoed', 'Deloitte', 'Corio', 'Voortman Steel Group', 'Agrifirm', 'Makro Nederland',
- 'Nederlandse Publieke Omroep', 'De Alliantie', 'Heijmans', 'McDonalds', 'ANWB', 'Mediamarkt', 'Kruidvat'
- 'Van Merksteijn Steel', 'Dura Vermeer', 'Alliander', 'Unilever', 'Enexis', 'Berenschot', 'Jumbo',
- 'Technische Unie', 'Havenbedrijf Rotterdam', 'Ballast Nedam', 'RTL Nederland', 'Talpa Media',
- 'Blauwhoed Vastgoed', 'DSM', 'Ymere', 'Witteveen+Bos', 'NS', 'Action', 'FloraHolland', 'Heineken', 'Nuon', 'EY',
- 'Dow Benelux', 'Bavaria', 'Schiphol', 'Holland Casino', 'Binck bank', 'BDO', 'HEMA', 'Alphabet Nederland',
- 'Croon Elektrotechniek', 'ASR Vastgoed ontwikkeling', 'PwC', 'Mammoet', 'KEMA', 'IBM', 'A.S. Watson',
- 'KPMG', 'VodafoneZiggo', 'YoungCapital', 'Triodos Bank', 'Aviko', 'AgruniekRijnvallei', 'Heerema', 'Accenture',
- 'Aegon', 'NXP', 'Breman Installatiegroep', 'Movares Groep', 'Q-Park', 'FleuraMetz', 'Sanoma',
- 'Bakker Logistiek', 'VDL Group', 'Bayer', 'Boskalis', 'Nutreco', 'Dell', 'Brunel', 'Exact', 'Manpower',
- 'Essent', 'Canon', 'ONVZ Zorgverzekeraar', 'Telegraaf Media Group', 'Nationale Nederlanden', 'Andus Group',
- 'Den Braven Group', 'ADP', 'ASR', 'ArboNed', 'Plieger', 'De Heus Diervoeders', 'USG People', 'Bidvest Deli XL',
- 'Apollo Vredestein', 'Tempo-Team', 'Trespa', 'Janssen Biologics', 'Starbucks', 'PostNL', 'Vanderlande',
- 'FrieslandCampina', 'Constellium', 'Huisman', 'Abbott', 'Koninklijke Boom Uitgevers', 'Bosch Rexroth', 'BASF',
- 'Audax', 'VolkerWessels', 'Hunkemöller', 'Athlon Car Lease', 'DSW Zorgverzekeraar', 'Mars',
- 'De Brauw Blackstone Westbroek', 'NDC Mediagroep', 'Bluewater', 'Stedin', 'Feenstra',
- 'Wuppermann Staal Nederland', 'Kramp', 'SABIC', 'Iv-Groep', 'Bejo Zaden', 'Wolters Kluwer', 'Nyrstar holding',
- 'Adecco', 'Tauw', 'Robeco', 'Eriks', 'Allianz Nederland Groep', 'Driessen', 'Burger King', 'Lekkerland',
- 'Van Lanschot', 'Brocacef', 'Bureau Veritas', 'Relx', 'Pathé Bioscopen', 'Bosal',
- 'Ardagh Group', 'Maandag', 'Inalfa', 'Atradius', 'Capgemini', 'Greenchoice', 'Q8 (Kuwait Petroleum Europe)',
- 'ASM International', 'Van der Valk', 'Delta Lloyd', 'GlaxoSmithKline', 'ABB',
- 'Fabory, a Grainger company', 'Veen Bosch & Keuning Uitgeversgroep', 'CZ', 'Plus', 'RET Rotterdam',
- 'Loyens & Loeff', 'Holland Trading', 'Archer Daniels Midland Nederland', 'Ten Brinke', 'NAM', 'DAS',
- 'Samsung Electronics Benelux', 'Koopman International', 'TUI', 'Lannoo Meulenhoff', 'AC Restaurants',
- 'Stage Entertainment', 'Acer', 'HDI Global SE', 'Detailresult', 'Nestle', 'GVB Amsterdam', 'Dekamarkt', 'Dirk',
- 'MSD', 'Arriva', 'Baker Tilly Berk', 'SBM Offshore', 'TomTom', 'Fujifilm', 'B&S', 'BCC', 'Gasunie',
- 'Oracle Nederland', 'Astellas Pharma', 'SKF', 'Woningstichting Eigen Haard', 'Rijk Zwaan', 'Chubb', 'Fugro',
- 'Total', 'Rochdale', 'ASVB', 'Atos', 'Acomo', 'KPN', 'Van Drie Group', 'Olympia uitzendbureau',
- 'Bacardi Nederland', 'JMW Horeca Uitzendbureau', 'Warner Bros/Eyeworks', 'Aalberts Industries', 'SNS Bank',
- 'Amtrada Holding', 'VGZ', 'Grolsch', 'Office Depot', 'De Rijke Group', 'Bovemij Verzekeringsgroep',
- 'Coop Nederland', 'Eaton Industries', 'ASN', 'Yara Sluiskil', 'HSF Logistics', 'Fokker', 'Deutsche Bank',
- 'Sweco', 'Univé Groep', 'Koninklijke Wagenborg', 'Strukton', 'Conclusion', 'Philips', 'In Person',
- 'Fluor', 'Vroegop-Windig', 'ArboUnie', 'Centraal Boekhuis', 'Siemens', 'Connexxion', 'Fujitsu', 'Consolid',
- 'AVR Afvalverwerking', 'Brabant Alucast', 'Centric', 'Havensteder', 'Novartis', 'Booking.com', 'Menzis',
- 'Frankort & Koning Groep', 'Jan de Rijk', 'Brand Loyalty Group', 'Ohra Verzekeringen', 'Terberg Group',
- 'Cloetta', 'Holland & Barrett', 'Enza Zaden', 'VION', 'Woonzorg Nederland',
- 'T-Mobile', 'Crucell', 'NautaDutilh', 'BNP Paribas', 'NIBC Bank', 'VastNed', 'CCV Holland',
- 'IHC Merwede', 'Neways', 'NSI N.V.', 'Deen', 'Accor', 'HTM', 'ITM Group', 'Ordina', 'Dümmen Orange', 'Optiver',
- 'Zara', 'L\'Oreal Nederland B.V.', 'Vinci Energies', 'Suit Supply Topco', 'Sita', 'Vos Logistics',
- 'Altran', 'St. Clair', 'BESI', 'Fiat Chrysler Automobiles', 'UPS', 'Jacobs', 'Emté', 'TBI', 'De Bijenkorf',
- 'Aldi Nederland', 'Van Wijnen', 'Vitens', 'De Goudse Verzekeringen', 'SBS Broadcasting',
- 'Sandd', 'Omron', 'Sogeti', 'Alfa Accountants & Adviseurs', 'Harvey Nash', 'Stork', 'Glencore Grain',
- 'Meijburg & Co', 'Honeywell', 'Meyn', 'Ericsson Telecommunicatie', 'Hurks', 'Mitsubishi', 'GGN',
- 'CGI Nederland', 'Staples Nederland', 'Denkavit International', 'Ecorys', 'Rexel Nederland',
- 'A. Hakpark', 'DuPont Nederland', 'CBRE Group', 'Bolsius', 'Marel', 'Metro',
- 'Flynth Adviseurs en Accountants', 'Kropman Installatietechniek', 'Kuijpers', 'Medtronic', 'Cefetra',
- 'Simon Loos', 'Citadel Enterprises', 'Intergamma', 'Ceva Logistics', 'Beter Bed', 'Subway', 'Gamma', 'Karwei'
- 'Varo Energy', 'APM Terminals', 'Center Parcs', 'Brenntag Nederland', 'NFI', 'Hoogvliet',
- 'Van Gansewinkel', 'Nedap', 'Blokker', 'Perfetti Van Melle', 'Vestia', 'Kuehne + Nagel Logistics',
- 'Rensa Group', 'NTS Group', 'Joh. Mourik & Co. Holding', 'Mercedes-Benz', 'DIT Personeel', 'Verkade',
- 'Hametha', 'Vopak', 'IFF', 'Pearle', 'Mainfreight', 'De Jong & Laan', 'DSV', 'P4People', 'Mazars', 'Cargill',
- 'Ten Brinke Groep', 'Alewijnse', 'Agio Cigars', 'Peter Appel Transport', 'Syngenta', 'Avery Dennison',
- 'Accon AVM', 'Vitol', 'Vermaat Groep', 'BMC', 'Alcatel-Lucent', 'Maxeda DIY', 'Equens',
- 'Van Gelder Groep', 'Emerson Electric Nederland', 'Bakkersland', 'Specsavers', 'E.On', 'Landal Greenparks',
- 'IMC Trading', 'Barentz Group', 'Epson', 'Raet', 'Van Oord', 'Thomas Cook Nederland', 'SDU uitgevers',
- 'Nedschroef', 'Linde Gas', 'Ewals Cargo Care', 'Theodoor Gilissen', 'TMF Group', 'Cornelis Vrolijk',
- 'Jan Linders Supermarkten', 'SIF group', 'BT Nederland', 'Kinepolis', 'Pink Elephant',
- 'General Motors Nederland', 'Carlson Wagonlit', 'Bruna', 'Docdata', 'Schenk Tanktransport', 'WPG', 'Peak-IT',
- 'Martinair', 'Reesink', 'Elopak Nederland', 'Fagron N.V.', 'OVG Groep', 'Ford Nederland', 'Multi Corporation',
- 'Simac', 'Primark', 'Tech Data Nederland', 'Vleesgroothandel Zandbergen', 'Raben Group', 'Farm Frites',
- 'Libéma', 'Caldic', 'Portaal', 'Syntus', 'Jacobs DE', 'Stena Line', 'The Phone House', 'Interfood Group',
- 'Thales', 'Teva Pharmaceuticals', 'RFS Holland', 'Aebi Schmidt Nederland',
- 'Rockwell Automation Nederland', 'Engie Services', 'Hendrix Genetics', 'Qbuzz', 'Unica',
- '2SistersFoodGroup', 'Ziut', 'Munckhof Groep', 'Spar Holding', 'Samskip', 'Continental Bakeries', 'Sligro',
- 'Merck', 'Foot Locker Europe', 'Unit4', 'PepsiCo', 'Sulzer', 'Tebodin', 'Value8', 'Boels',
- 'DKG Groep', 'Bruynzeel Keukens', 'Janssen de Jong Groep', 'ProRail', 'Solid Professionals', 'Hermes Partners',
- )
-
- def large_company(self):
- """
- :example: 'Bol.com'
- """
- return self.random_element(self.large_companies)
-
- def company_prefix(self):
- """
- :example 'Stichting'
- """
- return self.random_element(self.company_prefixes)
+# coding=utf-8
+
+from __future__ import unicode_literals
+from .. import Provider as CompanyProvider
+
+
+class Provider(CompanyProvider):
+
+ formats = (
+ '{{last_name}} {{company_suffix}}',
+ '{{last_name}} & {{last_name}}',
+ '{{company_prefix}} {{last_name}}',
+ '{{large_company}}',
+ )
+
+ company_prefixes = (
+ 'Stichting', 'Koninklijke', 'Royal',
+ )
+
+ company_suffixes = (
+ 'BV', 'NV', 'Groep',
+ )
+
+ # Source: https://www.mt.nl/management/reputatie/mt-500-2018-de-lijst/559930
+ large_companies = (
+ 'Shell', 'Coolblue', 'ASML', 'Ahold', 'Tata Steel', 'KLM', 'Bol.com', 'BP Nederland', 'De Efteling', 'Eneco',
+ 'De Persgroep', 'ING', 'Royal HaskoningDHV', 'Randstad', 'Google', 'Ikea', 'Rockwool', 'BAM', 'Achmea',
+ 'Damen Shipyard', 'ABN Amro', 'Remeha Group', 'TenneT', 'Coca-Cola', 'Van Leeuwen Buizen', 'Wavin', 'Rabobank',
+ 'AkzoNobel', 'Arcadis', 'AFAS', 'Cisco', 'DAF Trucks', 'DHL', 'Hanos', 'Boon Edam', 'BMW Nederland',
+ 'The Greenery', 'Dutch Flower Group', 'Koninklijke Mosa', 'Yacht', 'Rituals', 'Microsoft', 'Esso',
+ '3W Vastgoed', 'Deloitte', 'Corio', 'Voortman Steel Group', 'Agrifirm', 'Makro Nederland',
+ 'Nederlandse Publieke Omroep', 'De Alliantie', 'Heijmans', 'McDonalds', 'ANWB', 'Mediamarkt', 'Kruidvat'
+ 'Van Merksteijn Steel', 'Dura Vermeer', 'Alliander', 'Unilever', 'Enexis', 'Berenschot', 'Jumbo',
+ 'Technische Unie', 'Havenbedrijf Rotterdam', 'Ballast Nedam', 'RTL Nederland', 'Talpa Media',
+ 'Blauwhoed Vastgoed', 'DSM', 'Ymere', 'Witteveen+Bos', 'NS', 'Action', 'FloraHolland', 'Heineken', 'Nuon', 'EY',
+ 'Dow Benelux', 'Bavaria', 'Schiphol', 'Holland Casino', 'Binck bank', 'BDO', 'HEMA', 'Alphabet Nederland',
+ 'Croon Elektrotechniek', 'ASR Vastgoed ontwikkeling', 'PwC', 'Mammoet', 'KEMA', 'IBM', 'A.S. Watson',
+ 'KPMG', 'VodafoneZiggo', 'YoungCapital', 'Triodos Bank', 'Aviko', 'AgruniekRijnvallei', 'Heerema', 'Accenture',
+ 'Aegon', 'NXP', 'Breman Installatiegroep', 'Movares Groep', 'Q-Park', 'FleuraMetz', 'Sanoma',
+ 'Bakker Logistiek', 'VDL Group', 'Bayer', 'Boskalis', 'Nutreco', 'Dell', 'Brunel', 'Exact', 'Manpower',
+ 'Essent', 'Canon', 'ONVZ Zorgverzekeraar', 'Telegraaf Media Group', 'Nationale Nederlanden', 'Andus Group',
+ 'Den Braven Group', 'ADP', 'ASR', 'ArboNed', 'Plieger', 'De Heus Diervoeders', 'USG People', 'Bidvest Deli XL',
+ 'Apollo Vredestein', 'Tempo-Team', 'Trespa', 'Janssen Biologics', 'Starbucks', 'PostNL', 'Vanderlande',
+ 'FrieslandCampina', 'Constellium', 'Huisman', 'Abbott', 'Koninklijke Boom Uitgevers', 'Bosch Rexroth', 'BASF',
+ 'Audax', 'VolkerWessels', 'Hunkemöller', 'Athlon Car Lease', 'DSW Zorgverzekeraar', 'Mars',
+ 'De Brauw Blackstone Westbroek', 'NDC Mediagroep', 'Bluewater', 'Stedin', 'Feenstra',
+ 'Wuppermann Staal Nederland', 'Kramp', 'SABIC', 'Iv-Groep', 'Bejo Zaden', 'Wolters Kluwer', 'Nyrstar holding',
+ 'Adecco', 'Tauw', 'Robeco', 'Eriks', 'Allianz Nederland Groep', 'Driessen', 'Burger King', 'Lekkerland',
+ 'Van Lanschot', 'Brocacef', 'Bureau Veritas', 'Relx', 'Pathé Bioscopen', 'Bosal',
+ 'Ardagh Group', 'Maandag', 'Inalfa', 'Atradius', 'Capgemini', 'Greenchoice', 'Q8 (Kuwait Petroleum Europe)',
+ 'ASM International', 'Van der Valk', 'Delta Lloyd', 'GlaxoSmithKline', 'ABB',
+ 'Fabory, a Grainger company', 'Veen Bosch & Keuning Uitgeversgroep', 'CZ', 'Plus', 'RET Rotterdam',
+ 'Loyens & Loeff', 'Holland Trading', 'Archer Daniels Midland Nederland', 'Ten Brinke', 'NAM', 'DAS',
+ 'Samsung Electronics Benelux', 'Koopman International', 'TUI', 'Lannoo Meulenhoff', 'AC Restaurants',
+ 'Stage Entertainment', 'Acer', 'HDI Global SE', 'Detailresult', 'Nestle', 'GVB Amsterdam', 'Dekamarkt', 'Dirk',
+ 'MSD', 'Arriva', 'Baker Tilly Berk', 'SBM Offshore', 'TomTom', 'Fujifilm', 'B&S', 'BCC', 'Gasunie',
+ 'Oracle Nederland', 'Astellas Pharma', 'SKF', 'Woningstichting Eigen Haard', 'Rijk Zwaan', 'Chubb', 'Fugro',
+ 'Total', 'Rochdale', 'ASVB', 'Atos', 'Acomo', 'KPN', 'Van Drie Group', 'Olympia uitzendbureau',
+ 'Bacardi Nederland', 'JMW Horeca Uitzendbureau', 'Warner Bros/Eyeworks', 'Aalberts Industries', 'SNS Bank',
+ 'Amtrada Holding', 'VGZ', 'Grolsch', 'Office Depot', 'De Rijke Group', 'Bovemij Verzekeringsgroep',
+ 'Coop Nederland', 'Eaton Industries', 'ASN', 'Yara Sluiskil', 'HSF Logistics', 'Fokker', 'Deutsche Bank',
+ 'Sweco', 'Univé Groep', 'Koninklijke Wagenborg', 'Strukton', 'Conclusion', 'Philips', 'In Person',
+ 'Fluor', 'Vroegop-Windig', 'ArboUnie', 'Centraal Boekhuis', 'Siemens', 'Connexxion', 'Fujitsu', 'Consolid',
+ 'AVR Afvalverwerking', 'Brabant Alucast', 'Centric', 'Havensteder', 'Novartis', 'Booking.com', 'Menzis',
+ 'Frankort & Koning Groep', 'Jan de Rijk', 'Brand Loyalty Group', 'Ohra Verzekeringen', 'Terberg Group',
+ 'Cloetta', 'Holland & Barrett', 'Enza Zaden', 'VION', 'Woonzorg Nederland',
+ 'T-Mobile', 'Crucell', 'NautaDutilh', 'BNP Paribas', 'NIBC Bank', 'VastNed', 'CCV Holland',
+ 'IHC Merwede', 'Neways', 'NSI N.V.', 'Deen', 'Accor', 'HTM', 'ITM Group', 'Ordina', 'Dümmen Orange', 'Optiver',
+ 'Zara', 'L\'Oreal Nederland B.V.', 'Vinci Energies', 'Suit Supply Topco', 'Sita', 'Vos Logistics',
+ 'Altran', 'St. Clair', 'BESI', 'Fiat Chrysler Automobiles', 'UPS', 'Jacobs', 'Emté', 'TBI', 'De Bijenkorf',
+ 'Aldi Nederland', 'Van Wijnen', 'Vitens', 'De Goudse Verzekeringen', 'SBS Broadcasting',
+ 'Sandd', 'Omron', 'Sogeti', 'Alfa Accountants & Adviseurs', 'Harvey Nash', 'Stork', 'Glencore Grain',
+ 'Meijburg & Co', 'Honeywell', 'Meyn', 'Ericsson Telecommunicatie', 'Hurks', 'Mitsubishi', 'GGN',
+ 'CGI Nederland', 'Staples Nederland', 'Denkavit International', 'Ecorys', 'Rexel Nederland',
+ 'A. Hakpark', 'DuPont Nederland', 'CBRE Group', 'Bolsius', 'Marel', 'Metro',
+ 'Flynth Adviseurs en Accountants', 'Kropman Installatietechniek', 'Kuijpers', 'Medtronic', 'Cefetra',
+ 'Simon Loos', 'Citadel Enterprises', 'Intergamma', 'Ceva Logistics', 'Beter Bed', 'Subway', 'Gamma', 'Karwei'
+ 'Varo Energy', 'APM Terminals', 'Center Parcs', 'Brenntag Nederland', 'NFI', 'Hoogvliet',
+ 'Van Gansewinkel', 'Nedap', 'Blokker', 'Perfetti Van Melle', 'Vestia', 'Kuehne + Nagel Logistics',
+ 'Rensa Group', 'NTS Group', 'Joh. Mourik & Co. Holding', 'Mercedes-Benz', 'DIT Personeel', 'Verkade',
+ 'Hametha', 'Vopak', 'IFF', 'Pearle', 'Mainfreight', 'De Jong & Laan', 'DSV', 'P4People', 'Mazars', 'Cargill',
+ 'Ten Brinke Groep', 'Alewijnse', 'Agio Cigars', 'Peter Appel Transport', 'Syngenta', 'Avery Dennison',
+ 'Accon AVM', 'Vitol', 'Vermaat Groep', 'BMC', 'Alcatel-Lucent', 'Maxeda DIY', 'Equens',
+ 'Van Gelder Groep', 'Emerson Electric Nederland', 'Bakkersland', 'Specsavers', 'E.On', 'Landal Greenparks',
+ 'IMC Trading', 'Barentz Group', 'Epson', 'Raet', 'Van Oord', 'Thomas Cook Nederland', 'SDU uitgevers',
+ 'Nedschroef', 'Linde Gas', 'Ewals Cargo Care', 'Theodoor Gilissen', 'TMF Group', 'Cornelis Vrolijk',
+ 'Jan Linders Supermarkten', 'SIF group', 'BT Nederland', 'Kinepolis', 'Pink Elephant',
+ 'General Motors Nederland', 'Carlson Wagonlit', 'Bruna', 'Docdata', 'Schenk Tanktransport', 'WPG', 'Peak-IT',
+ 'Martinair', 'Reesink', 'Elopak Nederland', 'Fagron N.V.', 'OVG Groep', 'Ford Nederland', 'Multi Corporation',
+ 'Simac', 'Primark', 'Tech Data Nederland', 'Vleesgroothandel Zandbergen', 'Raben Group', 'Farm Frites',
+ 'Libéma', 'Caldic', 'Portaal', 'Syntus', 'Jacobs DE', 'Stena Line', 'The Phone House', 'Interfood Group',
+ 'Thales', 'Teva Pharmaceuticals', 'RFS Holland', 'Aebi Schmidt Nederland',
+ 'Rockwell Automation Nederland', 'Engie Services', 'Hendrix Genetics', 'Qbuzz', 'Unica',
+ '2SistersFoodGroup', 'Ziut', 'Munckhof Groep', 'Spar Holding', 'Samskip', 'Continental Bakeries', 'Sligro',
+ 'Merck', 'Foot Locker Europe', 'Unit4', 'PepsiCo', 'Sulzer', 'Tebodin', 'Value8', 'Boels',
+ 'DKG Groep', 'Bruynzeel Keukens', 'Janssen de Jong Groep', 'ProRail', 'Solid Professionals', 'Hermes Partners',
+ )
+
+ def large_company(self):
+ """
+ :example: 'Bol.com'
+ """
+ return self.random_element(self.large_companies)
+
+ def company_prefix(self):
+ """
+ :example 'Stichting'
+ """
+ return self.random_element(self.company_prefixes)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Faker-1.0.5/faker/providers/internet/__init__.py new/Faker-1.0.7/faker/providers/internet/__init__.py
--- old/Faker-1.0.5/faker/providers/internet/__init__.py 2019-03-05 18:07:52.000000000 +0100
+++ new/Faker-1.0.7/faker/providers/internet/__init__.py 2019-05-08 18:02:39.000000000 +0200
@@ -111,8 +111,6 @@
'{{url}}{{uri_path}}/{{uri_page}}{{uri_extension}}',
)
image_placeholder_services = (
- 'https://placeholdit.imgix.net/~text'
- '?txtsize=55&txt={width}x{height}&w={width}&h={height}',
'https://www.lorempixel.com/{width}/{height}',
'https://dummyimage.com/{width}x{height}',
'https://placekitten.com/{width}/{height}',
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Faker-1.0.5/faker/providers/lorem/__init__.py new/Faker-1.0.7/faker/providers/lorem/__init__.py
--- old/Faker-1.0.5/faker/providers/lorem/__init__.py 2019-03-05 18:07:52.000000000 +0100
+++ new/Faker-1.0.7/faker/providers/lorem/__init__.py 2019-05-08 18:02:39.000000000 +0200
@@ -196,3 +196,16 @@
text.pop()
return "".join(text)
+
+ def texts(self, nb_texts=3, max_nb_chars=200, ext_word_list=None):
+ """
+ Generate an array of texts
+ :example [text1, text2, text3]
+ :param nb_texts: How many texts to return
+ :param max_nb_chars: Maximum number of characters the text should contain (minimum 5)
+ :param ext_word_list: a list of words you would like to have instead of 'Lorem ipsum'.
+
+ :rtype: list
+ """
+ return [self.text(max_nb_chars, ext_word_list)
+ for _ in range(0, nb_texts)]
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Faker-1.0.5/faker/providers/person/es_CA/__init__.py new/Faker-1.0.7/faker/providers/person/es_CA/__init__.py
--- old/Faker-1.0.5/faker/providers/person/es_CA/__init__.py 1970-01-01 01:00:00.000000000 +0100
+++ new/Faker-1.0.7/faker/providers/person/es_CA/__init__.py 2019-05-08 18:02:39.000000000 +0200
@@ -0,0 +1,92 @@
+# coding=utf-8
+from __future__ import unicode_literals
+from ..es_ES import Provider as PersonProvider
+
+
+class Provider(PersonProvider):
+ """
+ Adds popular Catalan names.
+ https://www.idescat.cat/pub/?id=aec&n=946&lang=es&t=2018
+ https://www.idescat.cat/pub/?id=aec&n=947&lang=es&t=2018
+ """
+ first_names_male = (
+ 'Adam',
+ 'Albert',
+ 'Aleix',
+ 'Álex',
+ 'Antonio',
+ 'Arnau',
+ 'Biel',
+ 'Bruno',
+ 'Carlos',
+ 'Daniel',
+ 'David',
+ 'Enzo',
+ 'Èric',
+ 'Francisco',
+ 'Hugo',
+ 'Jan',
+ 'Javier',
+ 'Joan',
+ 'Jordi',
+ 'Jorge',
+ 'Josep',
+ 'José',
+ 'José María',
+ 'Juan',
+ 'Leo',
+ 'Lucas',
+ 'Manuel',
+ 'Marc',
+ 'Martí',
+ 'Max',
+ 'Miguel',
+ 'Nil',
+ 'Pau',
+ 'Pedro',
+ 'Pol',
+ 'Ramón',
+ 'Xavier')
+
+ first_names_female = (
+ 'Abril',
+ 'Aina',
+ 'Ana',
+ 'Anna',
+ 'Antonia',
+ 'Antònia',
+ 'Arlet',
+ 'Carla',
+ 'Carmen',
+ 'Chlóe',
+ 'Clàudia',
+ 'Cristina',
+ 'Dolores',
+ 'Emma',
+ 'Francisca',
+ 'Isabel',
+ 'Jana',
+ 'Josefa',
+ 'Júlia',
+ 'Laia',
+ 'Laura',
+ 'Lucia',
+ 'Marta',
+ 'Martina',
+ 'María',
+ 'María Del Carmen',
+ 'María Dolores',
+ 'María Teresa',
+ 'Mia',
+ 'Montserrat',
+ 'Noa',
+ 'Núria',
+ 'Ona',
+ 'Paula',
+ 'Rosa',
+ 'Sara',
+ 'Sofía',
+ 'Sílvia',
+ 'Valèria')
+
+ first_names = first_names_male + first_names_female
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Faker-1.0.5/faker/providers/person/pl_PL/__init__.py new/Faker-1.0.7/faker/providers/person/pl_PL/__init__.py
--- old/Faker-1.0.5/faker/providers/person/pl_PL/__init__.py 2019-03-05 18:07:52.000000000 +0100
+++ new/Faker-1.0.7/faker/providers/person/pl_PL/__init__.py 2019-05-14 17:28:28.000000000 +0200
@@ -21,6 +21,28 @@
return check_digit
+def generate_pesel_checksum_value(pesel_digits):
+ """
+ Calculates and returns a control digit for given PESEL.
+ """
+ checksum_values = [9, 7, 3, 1, 9, 7, 3, 1, 9, 7]
+
+ checksum = sum((int(a) * b for a, b in zip(list(pesel_digits), checksum_values)))
+
+ return checksum % 10
+
+
+def checksum_pesel_number(pesel_digits):
+ """
+ Calculates and returns True if PESEL is valid.
+ """
+ checksum_values = [1, 3, 7, 9, 1, 3, 7, 9, 1, 3, 1]
+
+ checksum = sum((int(a) * b for a, b in zip(list(pesel_digits), checksum_values)))
+
+ return checksum % 10 == 0
+
+
class Provider(PersonProvider):
formats = (
'{{first_name}} {{last_name}}',
@@ -702,3 +724,31 @@
identity[3] = checksum_identity_card_number(identity)
return ''.join(str(character) for character in identity)
+
+ def pesel(self):
+ """
+ Returns 11 characters of Universal Electronic System for Registration of the Population.
+ Polish: Powszechny Elektroniczny System Ewidencji Ludności.
+
+ PESEL has 11 digits which identifies just one person.
+ Month: if person was born in 1900-2000, december is 12. If person was born > 2000, we have to add 20 to month,
+ so december is 32.
+ Person id: last digit identifies person's sex. Even for females, odd for males.
+
+ https://en.wikipedia.org/wiki/PESEL
+ """
+
+ birth = self.generator.date_of_birth()
+
+ year_pesel = str(birth.year)[-2:]
+ month_pesel = birth.month if birth.year < 2000 else birth.month + 20
+ day_pesel = birth.day
+ person_id = self.random_int(1000, 9999)
+
+ current_pesel = '{year}{month:02d}{day:02d}{person_id:04d}'.format(year=year_pesel, month=month_pesel,
+ day=day_pesel,
+ person_id=person_id)
+
+ checksum_value = generate_pesel_checksum_value(current_pesel)
+ return '{pesel_without_checksum}{checksum_value}'.format(pesel_without_checksum=current_pesel,
+ checksum_value=checksum_value)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Faker-1.0.5/faker/providers/person/ro_RO/__init__.py new/Faker-1.0.7/faker/providers/person/ro_RO/__init__.py
--- old/Faker-1.0.5/faker/providers/person/ro_RO/__init__.py 2019-03-05 18:07:52.000000000 +0100
+++ new/Faker-1.0.7/faker/providers/person/ro_RO/__init__.py 2019-05-08 18:02:39.000000000 +0200
@@ -104,6 +104,8 @@
'Vasilică', 'Veniamin', 'Vicențiu', 'Victor', 'Vincențiu', 'Viorel', 'Visarion', 'Vlad', 'Vladimir', 'Vlaicu',
'Voicu', 'Zamfir', 'Zeno')
+ first_names = first_names_female + first_names_male
+
# sources: https://ro.wikipedia.org/wiki/Lista_celor_mai_uzuale_nume_de_familie#Rom%C3…
last_names = (
'Aanei', 'Ababei', 'Albu', 'Ardelean', 'Barbu', 'Cristea', 'Diaconescu', 'Diaconu', 'Dima', 'Dinu', 'Dobre',
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Faker-1.0.5/faker/providers/python/__init__.py new/Faker-1.0.7/faker/providers/python/__init__.py
--- old/Faker-1.0.5/faker/providers/python/__init__.py 2019-04-12 17:10:07.000000000 +0200
+++ new/Faker-1.0.7/faker/providers/python/__init__.py 2019-05-14 17:28:28.000000000 +0200
@@ -53,8 +53,7 @@
self.random_int(1, sys.float_info.dig))
right_digits = right_digits if right_digits is not None else (
self.random_int(0, sys.float_info.dig - left_digits))
- sign = 1 if positive else self.random_element((-1, 1))
-
+ sign = ''
if (min_value is not None) or (max_value is not None):
if min_value is None:
min_value = max_value - self.random_int()
@@ -63,15 +62,17 @@
left_number = self.random_int(min_value, max_value)
else:
- left_number = sign * self.random_number(left_digits)
+ sign = '+' if positive else self.random_element(('+', '-'))
+ left_number = self.random_number(left_digits)
- return float("{0}.{1}".format(
+ return float("{0}{1}.{2}".format(
+ sign,
left_number,
self.random_number(right_digits),
))
- def pyint(self):
- return self.generator.random_int()
+ def pyint(self, min=0, max=9999, step=1):
+ return self.generator.random_int(min, max, step=step)
def pydecimal(self, left_digits=None, right_digits=None, positive=False,
min_value=None, max_value=None):
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Faker-1.0.5/faker/providers/ssn/es_CA/__init__.py new/Faker-1.0.7/faker/providers/ssn/es_CA/__init__.py
--- old/Faker-1.0.5/faker/providers/ssn/es_CA/__init__.py 1970-01-01 01:00:00.000000000 +0100
+++ new/Faker-1.0.7/faker/providers/ssn/es_CA/__init__.py 2019-05-08 18:02:39.000000000 +0200
@@ -0,0 +1,10 @@
+# coding=utf-8
+from ..es_ES import Provider as BaseProvider
+
+
+class Provider(BaseProvider):
+ """
+ A Faker provider for the Spanish VAT IDs and DOIs
+ """
+
+ pass
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Faker-1.0.5/faker/providers/ssn/es_ES/__init__.py new/Faker-1.0.7/faker/providers/ssn/es_ES/__init__.py
--- old/Faker-1.0.5/faker/providers/ssn/es_ES/__init__.py 2019-03-05 18:07:52.000000000 +0100
+++ new/Faker-1.0.7/faker/providers/ssn/es_ES/__init__.py 2019-05-08 18:02:39.000000000 +0200
@@ -1,10 +1,12 @@
# coding=utf-8
+import random
+
from .. import Provider as BaseProvider
class Provider(BaseProvider):
"""
- A Faker provider for the Spanish VAT IDs
+ A Faker provider for the Spanish VAT IDs and DOIs
"""
vat_id_formats = (
@@ -20,3 +22,86 @@
"""
return self.bothify(self.random_element(self.vat_id_formats))
+
+ def nie(self):
+ """
+ https://es.wikipedia.org/wiki/N%C3%BAmero_de_identidad_de_extranjero
+ :return: a random Spanish NIE
+ """
+
+ first_chr = random.randrange(0, 3)
+ doi_body = str(random.randrange(0, 10000000)).zfill(7)
+ control = self._calculate_control_doi(str(first_chr) + doi_body)
+ return "XYZ"[first_chr] + doi_body + control
+
+ def nif(self):
+ """
+ https://es.wikipedia.org/wiki/N%C3%BAmero_de_identificaci%C3%B3n_fiscal
+ :return: NIF
+ """
+
+ nie_body = str(random.randrange(0, 100000000)) # generate a number of a maximum of 8 characters long
+ return nie_body.zfill(8) + self._calculate_control_doi(nie_body)
+
+ def cif(self):
+ """
+ https://es.wikipedia.org/wiki/C%C3%B3digo_de_identificaci%C3%B3n_fiscal
+ :return: a random Spanish CIF
+ """
+
+ first_chr = random.choice('ABCDEFGHJNPQRSUVW')
+ doi_body = str(random.randrange(0, 10000000)).zfill(7)
+ cif = first_chr + doi_body
+ return cif + self._calculate_control_cif(cif)
+
+ def doi(self):
+ """
+ https://es.wikipedia.org/wiki/Identificador_de_objeto_digital
+ :return: a random Spanish CIF or NIE or NIF
+ """
+
+ return random.choice([self.cif, self.nie, self.nif])()
+
+ @staticmethod
+ def _calculate_control_doi(doi):
+ """
+ Calculate the letter that corresponds to the end of a DOI
+ :param doi: calculated value so far needing a control character
+ :return: DOI control character
+ """
+
+ lookup = 'TRWAGMYFPDXBNJZSQVHLCKE'
+ return lookup[int(doi) % 23]
+
+ @classmethod
+ def _calculate_control_cif(cls, cif):
+ """
+ Calculate the letter that corresponds to the end of a CIF
+ :param cif: calculated value so far needing a control character
+ :return: CIF control character
+
+ Code was converted from the minified js of: https://generadordni.es/
+ """
+
+ sum_ = 0
+ first_chr, cif_value = cif[0], cif[1:]
+ for index, char in enumerate(cif_value):
+ if index % 2:
+ sum_ += int(char)
+ else:
+ sum_ += sum(map(int, str(int(char) * 2)))
+ if sum_ > 10:
+ sum_ = int(str(sum_)[-1])
+ else:
+ sum_ = sum_
+ sum_ = 10 - (sum_ % 10)
+
+ if first_chr in ['F', 'J', 'K', 'N', 'P', 'Q', 'R', 'S', 'U', 'V', 'W']:
+ return chr(64 + sum_)
+ elif first_chr in ['A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'L', 'M']:
+ if sum_ == 10:
+ sum_ = 0
+ return str(sum_)
+ else: # K, L, M # pragma: no cover
+ # Old format that is no longer used, here for full compatability
+ return cls._calculate_control_doi(cif) # pragma: no cover
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Faker-1.0.5/setup.py new/Faker-1.0.7/setup.py
--- old/Faker-1.0.5/setup.py 2019-04-12 17:10:07.000000000 +0200
+++ new/Faker-1.0.7/setup.py 2019-05-14 17:28:28.000000000 +0200
@@ -71,9 +71,9 @@
tests_require=[
"email_validator>=1.0.1,<1.1.0",
"ukpostcodeparser>=1.1.1",
- "mock",
+ "mock ; python_version < '3.3'",
"pytest>=3.8.0,<3.9",
- "more-itertools<6.0.0",
+ "more-itertools<6.0.0 ; python_version < '3.0'",
"random2==1.0.1",
"freezegun==0.3.11",
],
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Faker-1.0.5/tests/providers/test_automotive.py new/Faker-1.0.7/tests/providers/test_automotive.py
--- old/Faker-1.0.5/tests/providers/test_automotive.py 2019-03-05 18:07:52.000000000 +0100
+++ new/Faker-1.0.7/tests/providers/test_automotive.py 2019-05-14 17:28:28.000000000 +0200
@@ -49,3 +49,15 @@
def test_sv_SE_plate_format(self):
plate = self.factory.license_plate()
assert re.match(r"[A-Z]{3} \d{2}[\dA-Z]{1}", plate), "%s is not in the correct format." % plate
+
+
+class TestPlPL(unittest.TestCase):
+
+ def setUp(self):
+ self.factory = Faker('pl_PL')
+
+ def test_pl_PL_plate_format(self):
+ plate = self.factory.license_plate()
+ patterns = self.factory.license_plate_regex_formats()
+ assert re.match(r'{patterns}'.format(patterns='|'.join(patterns)),
+ plate), '{plate} is not the correct format.'.format(plate=plate)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Faker-1.0.5/tests/providers/test_internet.py new/Faker-1.0.7/tests/providers/test_internet.py
--- old/Faker-1.0.5/tests/providers/test_internet.py 2019-03-05 18:07:52.000000000 +0100
+++ new/Faker-1.0.7/tests/providers/test_internet.py 2019-05-14 17:28:28.000000000 +0200
@@ -5,8 +5,10 @@
from itertools import cycle
import unittest
-
-import mock
+try:
+ from unittest import mock
+except ImportError:
+ import mock
import pytest
import six
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Faker-1.0.5/tests/providers/test_person.py new/Faker-1.0.7/tests/providers/test_person.py
--- old/Faker-1.0.5/tests/providers/test_person.py 2019-04-12 17:10:07.000000000 +0200
+++ new/Faker-1.0.7/tests/providers/test_person.py 2019-05-14 17:28:28.000000000 +0200
@@ -16,6 +16,7 @@
from faker.providers.person.cs_CZ import Provider as CsCZProvider
from faker.providers.person.pl_PL import (
checksum_identity_card_number as pl_checksum_identity_card_number,
+ checksum_pesel_number as pl_checksum_pesel_number,
)
from faker.providers.person.zh_CN import Provider as ZhCNProvider
from faker.providers.person.zh_TW import Provider as ZhTWProvider
@@ -206,6 +207,14 @@
for _ in range(100):
assert re.search(r'^[A-Z]{3}\d{6}$', self.factory.identity_card_number())
+ def test_pesel_number_checksum(self):
+ assert pl_checksum_pesel_number('31090655159') is True
+ assert pl_checksum_pesel_number('95030853577') is True
+ assert pl_checksum_pesel_number('05260953442') is True
+ assert pl_checksum_pesel_number('31090655158') is False
+ assert pl_checksum_pesel_number('95030853576') is False
+ assert pl_checksum_pesel_number('05260953441') is False
+
class TestCsCZ(unittest.TestCase):
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Faker-1.0.5/tests/providers/test_python.py new/Faker-1.0.7/tests/providers/test_python.py
--- old/Faker-1.0.5/tests/providers/test_python.py 2019-04-12 17:10:07.000000000 +0200
+++ new/Faker-1.0.7/tests/providers/test_python.py 2019-04-15 17:10:34.000000000 +0200
@@ -5,6 +5,33 @@
from faker import Faker
+class TestPyint(unittest.TestCase):
+ def setUp(self):
+ self.factory = Faker()
+
+ def test_pyint(self):
+ self.assertIsInstance(self.factory.pyint(), int)
+
+ def test_pyint_bounds(self):
+ self.assertTrue(0 <= self.factory.pyint() <= 9999)
+
+ def test_pyint_step(self):
+ random_int = self.factory.pyint(step=2)
+ self.assertEqual(0, random_int % 2)
+
+ def test_pyint_bound_0(self):
+ self.assertEqual(0, self.factory.pyint(min=0, max=0))
+
+ def test_pyint_bound_positive(self):
+ self.assertEqual(5, self.factory.pyint(min=5, max=5))
+
+ def test_pyint_bound_negative(self):
+ self.assertEqual(-5, self.factory.pyint(min=-5, max=-5))
+
+ def test_pyint_range(self):
+ self.assertTrue(0 <= self.factory.pyint(min=0, max=2) <= 2)
+
+
class TestPyfloat(unittest.TestCase):
def setUp(self):
self.factory = Faker()
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Faker-1.0.5/tests/providers/test_ssn.py new/Faker-1.0.7/tests/providers/test_ssn.py
--- old/Faker-1.0.5/tests/providers/test_ssn.py 2019-03-12 16:19:53.000000000 +0100
+++ new/Faker-1.0.7/tests/providers/test_ssn.py 2019-05-08 18:02:39.000000000 +0200
@@ -268,6 +268,92 @@
self.factory.ssn(taxpayer_identification_number_type='ssn')
+def nif_nie_validation(doi, number_by_letter, special_cases):
+ """
+ Validate if the doi is a NIF or a NIE.
+ :param doi: DOI to validate.
+ :return: boolean if it's valid.
+ """
+ doi = doi.upper()
+ if doi in special_cases:
+ return False
+
+ table = 'TRWAGMYFPDXBNJZSQVHLCKE'
+
+ if len(doi) == 9:
+ control = doi[8]
+
+ # If it is not a DNI, convert the first letter to the corresponding digit
+ numbers = number_by_letter.get(doi[0], doi[0]) + doi[1:8]
+
+ return numbers.isdigit() and control == table[int(numbers) % 23]
+
+ return False
+
+
+def is_cif(doi):
+ """
+ Validate if the doi is a CIF.
+ :param doi: DOI to validate.
+ :return: boolean if it's valid.
+ """
+ doi = doi.upper()
+
+ if len(doi) != 9:
+ return False
+
+ table = 'JABCDEFGHI'
+ first_chr = doi[0]
+ doi_body = doi[1:8]
+ control = doi[8]
+
+ if not doi_body.isdigit():
+ return False
+
+ # Multiply each each odd position doi digit by 2 and sum it all together
+ odd_result = sum(int(x) for x in ''.join(str(int(x) * 2) for x in doi_body[0::2]))
+ # Sum all even doi digits
+ even_result = sum(map(int, doi_body[1::2]))
+
+ res = (10 - (even_result + odd_result) % 10) % 10
+
+ if first_chr in 'ABEH': # Number type
+ return str(res) == control
+ elif first_chr in 'PSQW': # Letter type
+ return table[res] == control
+ elif first_chr not in 'CDFGJNRUV':
+ return False
+
+ return control == str(res) or control == table[res]
+
+
+def is_nif(doi):
+ """
+ Validate if the doi is a NIF.
+ :param doi: DOI to validate.
+ :return: boolean if it's valid.
+ """
+ number_by_letter = {'L': '0', 'M': '0', 'K': '0'}
+ special_cases = ['X0000000T', '00000000T', '00000001R', '00000001R']
+ return nif_nie_validation(doi, number_by_letter, special_cases)
+
+
+def is_nie(doi):
+ """
+ Validate if the doi is a NIE.
+ :param doi: DOI to validate.
+ :return: boolean if it's valid.
+ """
+ number_by_letter = {'X': '0', 'Y': '1', 'Z': '2'}
+ special_cases = ['X0000000T']
+
+ # NIE must must start with X Y or Z
+ if not doi or doi[0] not in number_by_letter.keys():
+ return False
+
+ return nif_nie_validation(doi, number_by_letter, special_cases)
+
+
class TestEsES(unittest.TestCase):
def setUp(self):
self.factory = Faker('es_ES')
@@ -276,6 +362,26 @@
for _ in range(100):
assert re.search(r'^ES\w\d{8}$|^ES\d{8}\w$|^ES\w\d{7}\w$', self.factory.vat_id())
+ def test_nie(self):
+ for _ in range(100):
+ assert is_nie(self.factory.nie())
+
+ def test_nif(self):
+ for _ in range(100):
+ assert is_nif(self.factory.nif())
+
+ def test_cif(self):
+ for _ in range(100):
+ assert is_cif(self.factory.cif())
+
+ def test_doi(self):
+ assert len(self.factory.doi()) == 9
+
+
+class TestEsCA(TestEsES):
+ def setUp(self):
+ self.factory = Faker('es_CA')
+
class TestEtEE(unittest.TestCase):
""" Tests SSN in the et_EE locale """
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Faker-1.0.5/tests/test_factory.py new/Faker-1.0.7/tests/test_factory.py
--- old/Faker-1.0.5/tests/test_factory.py 2019-03-05 21:15:19.000000000 +0100
+++ new/Faker-1.0.7/tests/test_factory.py 2019-05-14 17:28:28.000000000 +0200
@@ -410,6 +410,30 @@
assert word not in checked_words
checked_words.append(word)
+ def test_texts_count(self):
+ faker = Faker()
+
+ texts_count = 5
+ assert texts_count == len(faker.texts(nb_texts=texts_count))
+
+ def test_texts_chars_count(self):
+ faker = Faker()
+
+ chars_count = 5
+ for faker_text in faker.texts(max_nb_chars=chars_count):
+ assert chars_count >= len(faker_text)
+
+ def test_texts_word_list(self):
+ faker = Faker()
+
+ word_list = [
+ 'test',
+ 'faker',
+ ]
+ for faker_text in faker.texts(ext_word_list=word_list):
+ for word in word_list:
+ assert word in faker_text.lower()
+
def test_random_pystr_characters(self):
from faker.providers.python import Provider
provider = Provider(self.generator)
@@ -436,6 +460,13 @@
with pytest.raises(ValueError):
provider.pyfloat(left_digits=0, right_digits=0)
+ def test_negative_pyfloat(self):
+ # tests for https://github.com/joke2k/faker/issues/813
+ factory = Faker()
+ factory.seed_instance(32167)
+ assert any(factory.pyfloat(left_digits=0, positive=False) < 0 for _ in range(100))
+ assert any(factory.pydecimal(left_digits=0, positive=False) < 0 for _ in range(100))
+
def test_us_ssn_valid(self):
from faker.providers.ssn.en_US import Provider
1
0
Hello community,
here is the log from the commit of package python-CommonMark for openSUSE:Factory checked in at 2019-05-27 08:35:51
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-CommonMark (Old)
and /work/SRC/openSUSE:Factory/.python-CommonMark.new.5148 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-CommonMark"
Mon May 27 08:35:51 2019 rev:8 rq:704960 version:0.9.0
Changes:
--------
--- /work/SRC/openSUSE:Factory/python-CommonMark/python-CommonMark.changes 2019-03-07 10:50:11.713857412 +0100
+++ /work/SRC/openSUSE:Factory/.python-CommonMark.new.5148/python-CommonMark.changes 2019-05-27 08:35:51.231130187 +0200
@@ -1,0 +2,6 @@
+Thu May 23 08:13:19 UTC 2019 - pgajdos(a)suse.com
+
+- version update to 0.9.0
+ * The CommonMark spec has been updated to 0.29.
+
+-------------------------------------------------------------------
Old:
----
commonmark-0.8.1.tar.gz
New:
----
commonmark-0.9.0.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ python-CommonMark.spec ++++++
--- /var/tmp/diff_new_pack.c7qjQ1/_old 2019-05-27 08:35:51.863129940 +0200
+++ /var/tmp/diff_new_pack.c7qjQ1/_new 2019-05-27 08:35:51.867129938 +0200
@@ -19,7 +19,7 @@
%{?!python_module:%define python_module() python-%{**} python3-%{**}}
%define oldpython python
Name: python-CommonMark
-Version: 0.8.1
+Version: 0.9.0
Release: 0
Summary: Python parser for the CommonMark Markdown spec
License: BSD-3-Clause
++++++ commonmark-0.8.1.tar.gz -> commonmark-0.9.0.tar.gz ++++++
++++ 2064 lines of diff (skipped)
1
0
Hello community,
here is the log from the commit of package polkit-default-privs for openSUSE:Factory checked in at 2019-05-27 08:35:43
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/polkit-default-privs (Old)
and /work/SRC/openSUSE:Factory/.polkit-default-privs.new.5148 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "polkit-default-privs"
Mon May 27 08:35:43 2019 rev:166 rq:704959 version:13.2+20190523.efe368f
Changes:
--------
--- /work/SRC/openSUSE:Factory/polkit-default-privs/polkit-default-privs.changes 2019-05-22 10:55:28.491030320 +0200
+++ /work/SRC/openSUSE:Factory/.polkit-default-privs.new.5148/polkit-default-privs.changes 2019-05-27 08:35:44.783132700 +0200
@@ -1,0 +2,6 @@
+Thu May 23 09:14:11 UTC 2019 - opensuse-packaging(a)opensuse.org
+
+- Update to version 13.2+20190523.efe368f:
+ * polkit profiles: whitelist lightdm-gtk-greeter-settings (bsc#1135695)
+
+-------------------------------------------------------------------
Old:
----
polkit-default-privs-13.2+20190520.a67a2af.tar.xz
New:
----
polkit-default-privs-13.2+20190523.efe368f.tar.xz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ polkit-default-privs.spec ++++++
--- /var/tmp/diff_new_pack.tHplHq/_old 2019-05-27 08:35:45.403132458 +0200
+++ /var/tmp/diff_new_pack.tHplHq/_new 2019-05-27 08:35:45.403132458 +0200
@@ -23,7 +23,7 @@
%endif
Name: polkit-default-privs
-Version: 13.2+20190520.a67a2af
+Version: 13.2+20190523.efe368f
Release: 0
Summary: SUSE PolicyKit default permissions
License: GPL-2.0-or-later
++++++ _servicedata ++++++
--- /var/tmp/diff_new_pack.tHplHq/_old 2019-05-27 08:35:45.439132444 +0200
+++ /var/tmp/diff_new_pack.tHplHq/_new 2019-05-27 08:35:45.439132444 +0200
@@ -1,4 +1,4 @@
<servicedata>
<service name="tar_scm">
<param name="url">https://github.com/openSUSE/polkit-default-privs.git</param>
- <param name="changesrevision">a67a2af8938f86d68347b8a2338255d66af249a1</param></service></servicedata>
\ No newline at end of file
+ <param name="changesrevision">efe368f88ff0f461fcfd8b9c37c2c478389c412c</param></service></servicedata>
\ No newline at end of file
++++++ polkit-default-privs-13.2+20190520.a67a2af.tar.xz -> polkit-default-privs-13.2+20190523.efe368f.tar.xz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/polkit-default-privs-13.2+20190520.a67a2af/profiles/polkit-default-privs.easy new/polkit-default-privs-13.2+20190523.efe368f/profiles/polkit-default-privs.easy
--- old/polkit-default-privs-13.2+20190520.a67a2af/profiles/polkit-default-privs.easy 2019-05-20 15:25:23.000000000 +0200
+++ new/polkit-default-privs-13.2+20190523.efe368f/profiles/polkit-default-privs.easy 2019-05-23 11:09:50.000000000 +0200
@@ -990,4 +990,7 @@
# Don't relax this, it runs rsync with arbitrary parameters
net.luckybackup.su auth_admin
+# lightdm-gtk-greeter-settings (bsc#1135695)
+com.ubuntu.pkexec.lightdm-gtk-greeter-settings auth_admin:auth_admin:auth_self_keep
+
###
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/polkit-default-privs-13.2+20190520.a67a2af/profiles/polkit-default-privs.restrictive new/polkit-default-privs-13.2+20190523.efe368f/profiles/polkit-default-privs.restrictive
--- old/polkit-default-privs-13.2+20190520.a67a2af/profiles/polkit-default-privs.restrictive 2019-05-20 15:25:23.000000000 +0200
+++ new/polkit-default-privs-13.2+20190523.efe368f/profiles/polkit-default-privs.restrictive 2019-05-23 11:09:50.000000000 +0200
@@ -928,4 +928,7 @@
# Don't relax this, it runs rsync with arbitrary parameters
net.luckybackup.su auth_admin
+# lightdm-gtk-greeter-settings (bsc#1135695)
+com.ubuntu.pkexec.lightdm-gtk-greeter-settings auth_admin
+
###
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/polkit-default-privs-13.2+20190520.a67a2af/profiles/polkit-default-privs.standard new/polkit-default-privs-13.2+20190523.efe368f/profiles/polkit-default-privs.standard
--- old/polkit-default-privs-13.2+20190520.a67a2af/profiles/polkit-default-privs.standard 2019-05-20 15:25:23.000000000 +0200
+++ new/polkit-default-privs-13.2+20190523.efe368f/profiles/polkit-default-privs.standard 2019-05-23 11:09:50.000000000 +0200
@@ -991,4 +991,7 @@
# Don't relax this, it runs rsync with arbitrary parameters
net.luckybackup.su auth_admin
+# lightdm-gtk-greeter-settings (bsc#1135695)
+com.ubuntu.pkexec.lightdm-gtk-greeter-settings auth_admin
+
###
1
0
Hello community,
here is the log from the commit of package yast2-add-on for openSUSE:Factory checked in at 2019-05-27 08:35:34
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/yast2-add-on (Old)
and /work/SRC/openSUSE:Factory/.yast2-add-on.new.5148 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "yast2-add-on"
Mon May 27 08:35:34 2019 rev:98 rq:704945 version:4.1.12
Changes:
--------
--- /work/SRC/openSUSE:Factory/yast2-add-on/yast2-add-on.changes 2019-04-08 10:33:54.379190163 +0200
+++ /work/SRC/openSUSE:Factory/.yast2-add-on.new.5148/yast2-add-on.changes 2019-05-27 08:35:37.971135355 +0200
@@ -1,0 +2,7 @@
+Wed May 22 16:20:22 CEST 2019 - schubi(a)suse.de
+
+- Fix: Update repository will be registered while installing
+ an add-on on a running system (bsc#1055126).
+- 4.1.12
+
+-------------------------------------------------------------------
Old:
----
yast2-add-on-4.1.11.tar.bz2
New:
----
yast2-add-on-4.1.12.tar.bz2
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ yast2-add-on.spec ++++++
--- /var/tmp/diff_new_pack.dltZDp/_old 2019-05-27 08:35:38.519135142 +0200
+++ /var/tmp/diff_new_pack.dltZDp/_new 2019-05-27 08:35:38.523135140 +0200
@@ -17,7 +17,7 @@
Name: yast2-add-on
-Version: 4.1.11
+Version: 4.1.12
Release: 0
Summary: YaST2 - Add-On media installation code
License: GPL-2.0-only
++++++ yast2-add-on-4.1.11.tar.bz2 -> yast2-add-on-4.1.12.tar.bz2 ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/yast2-add-on-4.1.11/package/yast2-add-on.changes new/yast2-add-on-4.1.12/package/yast2-add-on.changes
--- old/yast2-add-on-4.1.11/package/yast2-add-on.changes 2019-04-03 14:25:32.000000000 +0200
+++ new/yast2-add-on-4.1.12/package/yast2-add-on.changes 2019-05-23 10:24:34.000000000 +0200
@@ -1,4 +1,11 @@
-------------------------------------------------------------------
+Wed May 22 16:20:22 CEST 2019 - schubi(a)suse.de
+
+- Fix: Update repository will be registered while installing
+ an add-on on a running system (bsc#1055126).
+- 4.1.12
+
+-------------------------------------------------------------------
Wed Apr 3 09:56:32 CEST 2019 - schubi(a)suse.de
- Removing add-on repo: Deselecting product in solver too.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/yast2-add-on-4.1.11/package/yast2-add-on.spec new/yast2-add-on-4.1.12/package/yast2-add-on.spec
--- old/yast2-add-on-4.1.11/package/yast2-add-on.spec 2019-04-03 14:25:32.000000000 +0200
+++ new/yast2-add-on-4.1.12/package/yast2-add-on.spec 2019-05-23 10:24:34.000000000 +0200
@@ -17,7 +17,7 @@
Name: yast2-add-on
-Version: 4.1.11
+Version: 4.1.12
Release: 0
Summary: YaST2 - Add-On media installation code
License: GPL-2.0-only
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/yast2-add-on-4.1.11/src/include/add-on/add-on-workflow.rb new/yast2-add-on-4.1.12/src/include/add-on/add-on-workflow.rb
--- old/yast2-add-on-4.1.11/src/include/add-on/add-on-workflow.rb 2019-04-03 14:25:32.000000000 +0200
+++ new/yast2-add-on-4.1.12/src/include/add-on/add-on-workflow.rb 2019-05-23 10:24:34.000000000 +0200
@@ -1682,8 +1682,6 @@
end
def RunAddProductWorkflow
- WFM.CallFunction("inst_addon_update_sources", [])
-
# partition the addons into two groups:
# - plain addons (no installation.xml)
# - addons with installation.xml
@@ -1712,6 +1710,12 @@
# Write only when there are some changes
Write()
+ # Add additional update repos. This must be done
+ # after the product has been installed in order to
+ # read the product update repositories from the
+ # installed /etc/products.d/*.prod file.
+ WFM.CallFunction("inst_addon_update_sources", [])
+
Pkg.SourceReleaseAll
nil
1
0
Hello community,
here is the log from the commit of package podman for openSUSE:Factory checked in at 2019-05-27 08:35:26
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/podman (Old)
and /work/SRC/openSUSE:Factory/.podman.new.5148 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "podman"
Mon May 27 08:35:26 2019 rev:42 rq:704933 version:1.3.1
Changes:
--------
--- /work/SRC/openSUSE:Factory/podman/podman.changes 2019-04-04 12:02:37.741372760 +0200
+++ /work/SRC/openSUSE:Factory/.podman.new.5148/podman.changes 2019-05-27 08:35:29.507138655 +0200
@@ -1,0 +2,68 @@
+Wed May 22 07:04:24 UTC 2019 - Sascha Grunert <sgrunert(a)suse.com>
+
+- Update podman to v1.3.1:
+ - The podman cp command can now read input redirected to STDIN, and output to
+ STDOUT instead of a file, using - instead of an argument.
+ - The Podman remote client now displays version information from both the
+ client and server in podman version
+ - The podman unshare command has been added, allowing easy entry into the
+ user namespace set up by rootless Podman (allowing the removal of files
+ created by rootless Podman, among other things)
+ - Fixed a bug where Podman containers with the --rm flag were removing
+ created volumes when they were automatically removed
+ - Fixed a bug where container and pod locks were incorrectly marked as
+ released after a system reboot, causing errors on container and pod removal
+ - Fixed a bug where Podman pods could not be removed if any container in the
+ pod encountered an error during removal
+ - Fixed a bug where Podman pods run with the cgroupfs CGroup driver would
+ encounter a race condition during removal, potentially failing to remove
+ the pod CGroup
+ - Fixed a bug where the podman container checkpoint and podman container
+ restore commands were not visible in the remote client
+ - Fixed a bug where podman remote ps --ns would not print the container's
+ namespaces
+ - Fixed a bug where removing stopped containers with healthchecks could cause
+ an error
+ - Fixed a bug where the default libpod.conf file was causing parsing errors
+ - Fixed a bug where pod locks were not being freed when pods were removed,
+ potentially leading to lock exhaustion
+ - Fixed a bug where 'podman run' with SD_NOTIFY set could, on short-running
+ containers, create an inconsistent state rendering the container unusable
+ - The remote Podman client now uses the Varlink bridge to establish remote
+ connections by default
+- Update conmon to 0.2.0 and switched to containers/conmon upstream project
+
+-------------------------------------------------------------------
+Fri May 17 12:08:37 UTC 2019 - Sascha Grunert <sgrunert(a)suse.com>
+
+- Update `systemd-devel` to actually be `pkgconfig(libsystemd)` to allow OBS to
+ shortcut through systemd-mini-devel
+
+-------------------------------------------------------------------
+Thu May 16 15:04:52 UTC 2019 - Sascha Grunert <sgrunert(a)suse.com>
+
+- Update podman to v1.3.0
+ * Podman now supports container restart policies! The --restart-policy flag
+ on podman create and podman run allows containers to be restarted after
+ they exit. Please note that Podman cannot restart containers after a system
+ reboot - for that, see our next feature
+ * Podman podman generate systemd command was added to generate systemd unit
+ files for managing Podman containers
+ * The podman runlabel command now allows a $GLOBAL_OPTS variable, which will
+ be populated by global options passed to the podman runlabel command,
+ allowing custom storage configurations to be passed into containers run
+ with runlabel
+ * The podman play kube command now allows File and FileOrCreate volumes
+ * The podman pod prune command was added to prune unused pods
+ * Added the podman system migrate command to migrate containers using older
+ configurations to allow their use by newer Libpod versions
+ * Podman containers now forward proxy-related environment variables from the
+ host into the container with the --http-proxy flag (enabled by default)
+ * Read-only Podman containers can now create tmpfs filesystems on /tmp,
+ /var/tmp, and /run with the --read-only-tmpfs flag (enabled by default)
+ * The podman init command was added, performing all container pre-start tasks
+ without starting the container to allow pre-run debugging
+- Update conmon to cri-o v1.14.1
+- Update libpod.conf to match latest feature set
+
+-------------------------------------------------------------------
Old:
----
conmon-1.14.0.tar.xz
podman-1.2.0.tar.xz
New:
----
conmon-0.2.0.tar.xz
podman-1.3.1.tar.xz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ podman.spec ++++++
--- /var/tmp/diff_new_pack.CnceX6/_old 2019-05-27 08:35:30.067138437 +0200
+++ /var/tmp/diff_new_pack.CnceX6/_new 2019-05-27 08:35:30.071138435 +0200
@@ -17,21 +17,21 @@
%define project github.com/containers/libpod
-%define conmon_project github.com/kubernetes-sigs/cri-o
-%define conmonver 1.14.0
+%define conmon_project conmon
+%define conmonver 0.2.0
# Build with libostree-devel in Tumbleweed, Leap 15 and SLES 15
%if 0%{?suse_version} >= 1500
%define with_libostree 1
%endif
Name: podman
-Version: 1.2.0
+Version: 1.3.1
Release: 0
Summary: Daemon-less container engine for managing containers, pods and images
License: Apache-2.0
Group: System/Management
Url: https://github.com/containers/libpod
Source0: %{name}-%{version}.tar.xz
-Source1: conmon-%{conmonver}.tar.xz
+Source1: %{conmon_project}-%{conmonver}.tar.xz
Source2: libpod.conf
Source3: %{name}-rpmlintrc
BuildRequires: bash-completion
@@ -49,12 +49,13 @@
BuildRequires: libcontainers-common
BuildRequires: libgpgme-devel
BuildRequires: libseccomp-devel
-BuildRequires: golang(API) >= 1.11
+BuildRequires: pkgconfig(libsystemd)
+BuildRequires: golang(API) >= 1.12
# Build fails with PIE enabled on ppc64le due to boo#1098017
%ifarch ppc64le
#!BuildIgnore: gcc-PIE
%endif
-# i586 not supported, cri-o/conmon does not build
+# i586 not supported, containers/conmon does not build
ExcludeArch: i586
Requires: apparmor-parser
Requires: cni
@@ -84,9 +85,9 @@
%setup -q
# unpack conmon into the unpacked podman source
%setup -q -T -D -a 1
-mkdir -pv $HOME/go/src/%{conmon_project}
-mv conmon-%{conmonver}/* $HOME/go/src/%{conmon_project}
-rm -r conmon-%{conmonver}
+mkdir -pv $HOME/%{conmon_project}
+mv %{conmon_project}-%{conmonver}/* $HOME/%{conmon_project}
+rm -r %{conmon_project}-%{conmonver}
%package cni-config
Summary: Basic CNI configuration for podman
@@ -129,8 +130,8 @@
make %{?_smp_mflags} docs
# Build conmon
-cd $HOME/go/src/%{conmon_project}
-make -C conmon
+cd $HOME/%{conmon_project}
+make
%check
# Too many tests fail due to the restricted permissions in the build enviroment.
@@ -156,7 +157,7 @@
install -D -m 0644 contrib/varlink/io.podman.socket %{buildroot}%{_unitdir}/io.podman.socket
# conmon
-cd $HOME/go/src/%{conmon_project}
+cd $HOME/%{conmon_project}
install -D -m 0755 bin/conmon %{buildroot}/%{_libexecdir}/podman/bin/conmon
%fdupes %{buildroot}/%{_prefix}
++++++ _service ++++++
--- /var/tmp/diff_new_pack.CnceX6/_old 2019-05-27 08:35:30.091138428 +0200
+++ /var/tmp/diff_new_pack.CnceX6/_new 2019-05-27 08:35:30.095138426 +0200
@@ -4,8 +4,8 @@
<param name="url">https://github.com/containers/libpod.git</param>
<param name="scm">git</param>
<param name="filename">podman</param>
-<param name="versionformat">1.2.0</param>
-<param name="revision">v1.2.0</param>
+<param name="versionformat">1.3.1</param>
+<param name="revision">v1.3.1</param>
</service>
<service name="set_version" mode="disabled">
@@ -13,11 +13,11 @@
</service>
<service name="tar_scm" mode="disabled">
-<param name="url">https://github.com/kubernetes-sigs/cri-o.git</param>
+<param name="url">https://github.com/containers/conmon.git</param>
<param name="scm">git</param>
<param name="filename">conmon</param>
-<param name="versionformat">1.14.0</param>
-<param name="revision">v1.14.0</param>
+<param name="versionformat">0.2.0</param>
+<param name="revision">v0.2.0</param>
</service>
<service name="recompress" mode="disabled">
++++++ conmon-1.14.0.tar.xz -> conmon-0.2.0.tar.xz ++++++
++++ 1440646 lines of diff (skipped)
++++++ libpod.conf ++++++
--- /var/tmp/diff_new_pack.CnceX6/_old 2019-05-27 08:35:31.827137751 +0200
+++ /var/tmp/diff_new_pack.CnceX6/_new 2019-05-27 08:35:31.831137749 +0200
@@ -62,11 +62,11 @@
# namespace is set, all containers and pods are visible.
#namespace = ""
-## Default pause image name for pod pause containers
-pause_image = "k8s.gcr.io/pause:3.1"
+# Default infra (pause) image name for pod infra containers
+infra_image = "k8s.gcr.io/pause:3.1"
-# Default command to run the pause container
-pause_command = "/pause"
+# Default command to run the infra container
+infra_command = "/pause"
# Determines whether libpod will reserve ports on the host when they are
# forwarded to containers. When enabled, when ports are forwarded to containers,
@@ -79,6 +79,17 @@
# Default libpod support for container labeling
# label=true
+# Number of locks available for containers and pods.
+# If this is changed, a lock renumber must be performed (e.g. with the
+# 'podman system renumber' command).
+num_locks = 2048
+
+# Directory for libpod named volumes.
+# By default, this will be configured relative to where containers/storage
+# stores containers.
+# Uncomment to change location from this default.
+#volume_path = "/var/lib/containers/storage/volumes"
+
# Default OCI runtime
runtime = "runc"
@@ -88,3 +99,7 @@
"/usr/bin/runc",
"/usr/sbin/runc"
]
+
+# Selects which logging mechanism to use for Podman events. Valid values
+# are `journald` or `file`.
+# events_logger = "journald"
++++++ podman-1.2.0.tar.xz -> podman-1.3.1.tar.xz ++++++
++++ 122713 lines of diff (skipped)
1
0
Hello community,
here is the log from the commit of package python-vistir for openSUSE:Factory checked in at 2019-05-27 08:31:07
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-vistir (Old)
and /work/SRC/openSUSE:Factory/.python-vistir.new.5148 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-vistir"
Mon May 27 08:31:07 2019 rev:4 rq:705264 version:0.4.2
Changes:
--------
--- /work/SRC/openSUSE:Factory/python-vistir/python-vistir.changes 2019-05-12 11:34:19.538032731 +0200
+++ /work/SRC/openSUSE:Factory/.python-vistir.new.5148/python-vistir.changes 2019-05-27 08:31:08.535240390 +0200
@@ -1,0 +2,11 @@
+Fri May 24 13:59:14 UTC 2019 - Tomáš Chvátal <tchvatal(a)suse.com>
+
+- Update to 0.4.2:
+ * Added expanded functionality to assist with the removal of read-only
+ paths on Windows via icacls system calls if necessary. #81
+ * Improved fs_encode compatibility shim in vistir.compat for
+ handling of non-UTF8 data. #83
+ * Shortened windows paths will now be properly resolved to the full
+ path by vistir.path.normalize_path. #90
+
+-------------------------------------------------------------------
Old:
----
vistir-0.4.0.tar.gz
New:
----
vistir-0.4.2.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ python-vistir.spec ++++++
--- /var/tmp/diff_new_pack.RfoHqk/_old 2019-05-27 08:31:09.443240036 +0200
+++ /var/tmp/diff_new_pack.RfoHqk/_new 2019-05-27 08:31:09.447240035 +0200
@@ -18,7 +18,7 @@
%{?!python_module:%define python_module() python-%{**} python3-%{**}}
Name: python-vistir
-Version: 0.4.0
+Version: 0.4.2
Release: 0
Summary: Utilities for filesystems, paths, projects, subprocesses, and more
License: ISC
@@ -32,14 +32,14 @@
Requires: python-colorama >= 0.3.4
Requires: python-requests
Requires: python-six
+Recommends: python-yaspin
+BuildArch: noarch
%ifpython2
Requires: python2-backports.functools_lru_cache
Requires: python2-backports.shutil_get_terminal_size
Requires: python2-backports.weakref
Requires: python2-pathlib2
%endif
-Recommends: python-yaspin
-BuildArch: noarch
# SECTION test requirements
BuildRequires: %{python_module colorama >= 0.3.4}
BuildRequires: %{python_module hypothesis-fspaths}
@@ -75,7 +75,7 @@
%check
export LANG=en_US.UTF-8
# test_open_file requires network access
-%python_expand PYTHONPATH=%{buildroot}%{$python_sitelib} $python -m pytest -k 'not test_open_file'
+%pytest -k 'not test_open_file'
%files %{python_files}
%doc CHANGELOG.rst README.rst
++++++ vistir-0.4.0.tar.gz -> vistir-0.4.2.tar.gz ++++++
++++ 3295 lines of diff (skipped)
1
0
Hello community,
here is the log from the commit of package python-billiard for openSUSE:Factory checked in at 2019-05-27 08:30:59
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-billiard (Old)
and /work/SRC/openSUSE:Factory/.python-billiard.new.5148 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-billiard"
Mon May 27 08:30:59 2019 rev:16 rq:705260 version:3.6.0.0
Changes:
--------
--- /work/SRC/openSUSE:Factory/python-billiard/python-billiard.changes 2019-02-11 21:28:00.954995416 +0100
+++ /work/SRC/openSUSE:Factory/.python-billiard.new.5148/python-billiard.changes 2019-05-27 08:31:02.487242748 +0200
@@ -16 +16 @@
-- Update version to 3.5.0.5:
+- Update version to 3.5.0.5: (boo#1136100)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
1
0
Hello community,
here is the log from the commit of package python-yaspin for openSUSE:Factory checked in at 2019-05-27 08:30:52
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-yaspin (Old)
and /work/SRC/openSUSE:Factory/.python-yaspin.new.5148 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-yaspin"
Mon May 27 08:30:52 2019 rev:3 rq:705257 version:0.14.3
Changes:
--------
--- /work/SRC/openSUSE:Factory/python-yaspin/python-yaspin.changes 2019-05-06 21:17:29.769110931 +0200
+++ /work/SRC/openSUSE:Factory/.python-yaspin.new.5148/python-yaspin.changes 2019-05-27 08:30:53.655246191 +0200
@@ -1,0 +2,6 @@
+Fri May 24 13:43:28 UTC 2019 - Tomáš Chvátal <tchvatal(a)suse.com>
+
+- Update to 0.14.3:
+ * fix(#29): race condition between spinner thread and write()
+
+-------------------------------------------------------------------
Old:
----
yaspin-0.14.2.tar.gz
New:
----
yaspin-0.14.3.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ python-yaspin.spec ++++++
--- /var/tmp/diff_new_pack.XNTwsZ/_old 2019-05-27 08:30:54.367245913 +0200
+++ /var/tmp/diff_new_pack.XNTwsZ/_new 2019-05-27 08:30:54.371245912 +0200
@@ -18,7 +18,7 @@
%{?!python_module:%define python_module() python-%{**} python3-%{**}}
Name: python-yaspin
-Version: 0.14.2
+Version: 0.14.3
Release: 0
Summary: Yet Another Terminal Spinner
License: MIT
++++++ yaspin-0.14.2.tar.gz -> yaspin-0.14.3.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/yaspin-0.14.2/HISTORY.rst new/yaspin-0.14.3/HISTORY.rst
--- old/yaspin-0.14.2/HISTORY.rst 2019-04-27 23:05:29.000000000 +0200
+++ new/yaspin-0.14.3/HISTORY.rst 2019-05-12 15:28:48.000000000 +0200
@@ -1,6 +1,12 @@
Release History
===============
+0.14.3 / 2019-05-12
+-------------------
+
+* fix(#29): race condition between spinner thread and ``write()``
+
+
0.14.2 / 2019-04-27
-------------------
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/yaspin-0.14.2/PKG-INFO new/yaspin-0.14.3/PKG-INFO
--- old/yaspin-0.14.2/PKG-INFO 2019-04-27 23:11:40.000000000 +0200
+++ new/yaspin-0.14.3/PKG-INFO 2019-05-12 15:31:30.000000000 +0200
@@ -1,6 +1,6 @@
Metadata-Version: 1.1
Name: yaspin
-Version: 0.14.2
+Version: 0.14.3
Summary: Yet Another Terminal Spinner
Home-page: https://github.com/pavdmyt/yaspin
Author: Pavlo Dmytrenko
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/yaspin-0.14.2/setup.cfg new/yaspin-0.14.3/setup.cfg
--- old/yaspin-0.14.2/setup.cfg 2019-04-27 23:11:40.000000000 +0200
+++ new/yaspin-0.14.3/setup.cfg 2019-05-12 15:31:30.000000000 +0200
@@ -1,5 +1,5 @@
[bumpversion]
-current_version = 0.14.2
+current_version = 0.14.3
[metadata]
description-file = README.rst
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/yaspin-0.14.2/tests/test_in_out.py new/yaspin-0.14.3/tests/test_in_out.py
--- old/yaspin-0.14.2/tests/test_in_out.py 2019-04-27 22:31:42.000000000 +0200
+++ new/yaspin-0.14.3/tests/test_in_out.py 2019-05-12 15:28:48.000000000 +0200
@@ -8,7 +8,9 @@
And all output data is converted to builtin str type.
"""
+import re
import sys
+import time
import pytest
@@ -159,3 +161,22 @@
# ensure that text was cleared before resuming the spinner
assert out[:4] == "\r\033[K"
+
+
+def test_spinner_write_race_condition(capsys):
+ # test that spinner text does not overwrite write() contents
+ # this generally happens when the spinner thread writes
+ # between write()'s \r and the text it actually wants to write
+
+ sp = yaspin(text="aaaa")
+ sp.start()
+ sp._interval = 0.0
+ start_time = time.time()
+ while time.time() - start_time < 3.0:
+ sp.write("bbbb")
+ sp.stop()
+
+ out, _ = capsys.readouterr()
+ assert "aaaa" in out # spinner text is present
+ assert "bbbb" in out # write() text is present
+ assert not re.search(r"aaaa[^\rb]*bbbb", out)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/yaspin-0.14.2/yaspin/__version__.py new/yaspin-0.14.3/yaspin/__version__.py
--- old/yaspin-0.14.2/yaspin/__version__.py 2019-04-27 23:05:29.000000000 +0200
+++ new/yaspin-0.14.3/yaspin/__version__.py 2019-05-12 15:28:48.000000000 +0200
@@ -1 +1 @@
-__version__ = "0.14.2"
+__version__ = "0.14.3"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/yaspin-0.14.2/yaspin/core.py new/yaspin-0.14.3/yaspin/core.py
--- old/yaspin-0.14.2/yaspin/core.py 2019-04-27 23:05:29.000000000 +0200
+++ new/yaspin-0.14.3/yaspin/core.py 2019-05-12 15:28:48.000000000 +0200
@@ -76,6 +76,7 @@
self._hide_spin = None
self._spin_thread = None
self._last_frame = None
+ self._stdout_lock = threading.Lock()
# Signals
@@ -247,43 +248,47 @@
thr_is_alive = self._spin_thread and self._spin_thread.is_alive()
if thr_is_alive and not self._hide_spin.is_set():
- # set the hidden spinner flag
- self._hide_spin.set()
-
- # clear the current line
- sys.stdout.write("\r")
- self._clear_line()
-
- # flush the stdout buffer so the current line can be rewritten to
- sys.stdout.flush()
+ with self._stdout_lock:
+ # set the hidden spinner flag
+ self._hide_spin.set()
+
+ # clear the current line
+ sys.stdout.write("\r")
+ self._clear_line()
+
+ # flush the stdout buffer so the current line
+ # can be rewritten to
+ sys.stdout.flush()
def show(self):
"""Show the hidden spinner."""
thr_is_alive = self._spin_thread and self._spin_thread.is_alive()
if thr_is_alive and self._hide_spin.is_set():
- # clear the hidden spinner flag
- self._hide_spin.clear()
-
- # clear the current line so the spinner is not appended to it
- sys.stdout.write("\r")
- self._clear_line()
+ with self._stdout_lock:
+ # clear the hidden spinner flag
+ self._hide_spin.clear()
+
+ # clear the current line so the spinner is not appended to it
+ sys.stdout.write("\r")
+ self._clear_line()
def write(self, text):
"""Write text in the terminal without breaking the spinner."""
# similar to tqdm.write()
# https://pypi.python.org/pypi/tqdm#writing-messages
- sys.stdout.write("\r")
- self._clear_line()
+ with self._stdout_lock:
+ sys.stdout.write("\r")
+ self._clear_line()
- _text = to_unicode(text)
- if PY2:
- _text = _text.encode(ENCODING)
+ _text = to_unicode(text)
+ if PY2:
+ _text = _text.encode(ENCODING)
- # Ensure output is bytes for Py2 and Unicode for Py3
- assert isinstance(_text, builtin_str)
+ # Ensure output is bytes for Py2 and Unicode for Py3
+ assert isinstance(_text, builtin_str)
- sys.stdout.write("{0}\n".format(_text))
+ sys.stdout.write("{0}\n".format(_text))
def ok(self, text="OK"):
"""Set Ok (success) finalizer to a spinner."""
@@ -306,7 +311,8 @@
# Should be stopped here, otherwise prints after
# self._freeze call will mess up the spinner
self.stop()
- sys.stdout.write(self._last_frame)
+ with self._stdout_lock:
+ sys.stdout.write(self._last_frame)
def _spin(self):
while not self._stop_spin.is_set():
@@ -321,9 +327,10 @@
out = self._compose_out(spin_phase)
# Write
- sys.stdout.write(out)
- self._clear_line()
- sys.stdout.flush()
+ with self._stdout_lock:
+ sys.stdout.write(out)
+ self._clear_line()
+ sys.stdout.flush()
# Wait
time.sleep(self._interval)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/yaspin-0.14.2/yaspin.egg-info/PKG-INFO new/yaspin-0.14.3/yaspin.egg-info/PKG-INFO
--- old/yaspin-0.14.2/yaspin.egg-info/PKG-INFO 2019-04-27 23:11:40.000000000 +0200
+++ new/yaspin-0.14.3/yaspin.egg-info/PKG-INFO 2019-05-12 15:31:30.000000000 +0200
@@ -1,6 +1,6 @@
Metadata-Version: 1.1
Name: yaspin
-Version: 0.14.2
+Version: 0.14.3
Summary: Yet Another Terminal Spinner
Home-page: https://github.com/pavdmyt/yaspin
Author: Pavlo Dmytrenko
1
0
Hello community,
here is the log from the commit of package python-radon for openSUSE:Factory checked in at 2019-05-27 08:30:44
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-radon (Old)
and /work/SRC/openSUSE:Factory/.python-radon.new.5148 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-radon"
Mon May 27 08:30:44 2019 rev:6 rq:705252 version:3.0.3
Changes:
--------
--- /work/SRC/openSUSE:Factory/python-radon/python-radon.changes 2019-03-08 11:00:33.560548864 +0100
+++ /work/SRC/openSUSE:Factory/.python-radon.new.5148/python-radon.changes 2019-05-27 08:30:48.167248330 +0200
@@ -1,0 +2,6 @@
+Fri May 24 12:52:16 UTC 2019 - pgajdos(a)suse.com
+
+- version update to 3.0.3
+ * no upstream changelog
+
+-------------------------------------------------------------------
Old:
----
radon-3.0.1.tar.gz
New:
----
radon-3.0.3.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ python-radon.spec ++++++
--- /var/tmp/diff_new_pack.MWEnUC/_old 2019-05-27 08:30:49.307247886 +0200
+++ /var/tmp/diff_new_pack.MWEnUC/_new 2019-05-27 08:30:49.307247886 +0200
@@ -18,7 +18,7 @@
%{?!python_module:%define python_module() python-%{**} python3-%{**}}
Name: python-radon
-Version: 3.0.1
+Version: 3.0.3
Release: 0
Summary: Code Metrics in Python
License: MIT
@@ -30,6 +30,7 @@
BuildRequires: python-rpm-macros
Requires: python-colorama >= 0.4
Requires: python-flake8-polyfill
+Requires: python-future
Requires: python-mando >= 0.6
Requires(post): update-alternatives
Requires(postun): update-alternatives
@@ -37,6 +38,7 @@
# SECTION test requirements
BuildRequires: %{python_module colorama >= 0.4}
BuildRequires: %{python_module flake8-polyfill}
+BuildRequires: %{python_module future}
BuildRequires: %{python_module mando >= 0.6}
BuildRequires: %{python_module pytest >= 2.7}
BuildRequires: %{python_module pytest-mock}
++++++ radon-3.0.1.tar.gz -> radon-3.0.3.tar.gz ++++++
++++ 27931 lines of diff (skipped)
1
0
Hello community,
here is the log from the commit of package python-more-itertools for openSUSE:Factory checked in at 2019-05-27 08:30:37
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-more-itertools (Old)
and /work/SRC/openSUSE:Factory/.python-more-itertools.new.5148 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-more-itertools"
Mon May 27 08:30:37 2019 rev:5 rq:705242 version:5.0.0
Changes:
--------
--- /work/SRC/openSUSE:Factory/python-more-itertools/python-more-itertools.changes 2018-06-04 13:21:21.359199917 +0200
+++ /work/SRC/openSUSE:Factory/.python-more-itertools.new.5148/python-more-itertools.changes 2019-05-27 08:30:38.627252050 +0200
@@ -1,0 +2,17 @@
+Fri May 24 12:20:33 UTC 2019 - Marketa Calabkova <mcalabkova(a)suse.com>
+
+- update to version 5.0.0
+ * new itertools: split_into, unzip, substrings
+ * first_true now returns None by default.
+ * Some code for old Python versions was removed
+ * Tests now run properly on 32-bit versions of Python
+ * Newer versions of CPython and PyPy are now tested against
+ 4.3.0
+ * new itertools: last, replace, rlocate
+ * locate can now search for multiple items
+ * The docs now include a nice table of tools
+
+- There are newer versions of more-itertools but this is the last
+ version which supports Python 2.7
+
+-------------------------------------------------------------------
Old:
----
more-itertools-4.2.0.tar.gz
New:
----
more-itertools-5.0.0.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ python-more-itertools.spec ++++++
--- /var/tmp/diff_new_pack.bmwMGy/_old 2019-05-27 08:30:39.219251819 +0200
+++ /var/tmp/diff_new_pack.bmwMGy/_new 2019-05-27 08:30:39.223251817 +0200
@@ -1,7 +1,7 @@
#
# spec file for package python-more-itertools
#
-# Copyright (c) 2018 SUSE LINUX GmbH, Nuernberg, Germany.
+# Copyright (c) 2019 SUSE LINUX GmbH, Nuernberg, Germany.
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@@ -12,13 +12,13 @@
# license that conforms to the Open Source Definition (Version 1.9)
# published by the Open Source Initiative.
-# Please submit bugfixes or comments via http://bugs.opensuse.org/
+# Please submit bugfixes or comments via https://bugs.opensuse.org/
#
%{?!python_module:%define python_module() python-%{**} python3-%{**}}
Name: python-more-itertools
-Version: 4.2.0
+Version: 5.0.0
Release: 0
Summary: More routines for operating on iterables, beyond itertools
License: MIT
++++++ more-itertools-4.2.0.tar.gz -> more-itertools-5.0.0.tar.gz ++++++
++++ 1725 lines of diff (skipped)
1
0
Hello community,
here is the log from the commit of package python-isort for openSUSE:Factory checked in at 2019-05-27 08:30:29
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-isort (Old)
and /work/SRC/openSUSE:Factory/.python-isort.new.5148 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-isort"
Mon May 27 08:30:29 2019 rev:11 rq:705236 version:4.3.20
Changes:
--------
--- /work/SRC/openSUSE:Factory/python-isort/python-isort.changes 2019-05-08 15:15:54.580914193 +0200
+++ /work/SRC/openSUSE:Factory/.python-isort.new.5148/python-isort.changes 2019-05-27 08:30:30.479255226 +0200
@@ -1,0 +2,7 @@
+Fri May 24 12:12:26 UTC 2019 - pgajdos(a)suse.com
+
+- version update to 4.3.20
+ - Fixed issue #948 - Pipe redirection broken on Python2.7
+ - Fixed issue #942 - correctly handle pyi (Python Template Files) to match `black` output
+
+-------------------------------------------------------------------
Old:
----
isort-4.3.18.tar.gz
New:
----
isort-4.3.20.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ python-isort.spec ++++++
--- /var/tmp/diff_new_pack.PhmbAJ/_old 2019-05-27 08:30:31.027255012 +0200
+++ /var/tmp/diff_new_pack.PhmbAJ/_new 2019-05-27 08:30:31.031255011 +0200
@@ -26,7 +26,7 @@
%bcond_with test
%endif
Name: python-isort%{psuffix}
-Version: 4.3.18
+Version: 4.3.20
Release: 0
Summary: A Python utility / library to sort Python imports
License: MIT
++++++ isort-4.3.18.tar.gz -> isort-4.3.20.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/isort-4.3.18/CHANGELOG.md new/isort-4.3.20/CHANGELOG.md
--- old/isort-4.3.18/CHANGELOG.md 2019-05-02 07:17:09.000000000 +0200
+++ new/isort-4.3.20/CHANGELOG.md 2019-05-15 02:23:51.000000000 +0200
@@ -1,6 +1,12 @@
Changelog
=========
+### 4.3.20 - May 14, 2019 - hot fix release
+- Fixed issue #948 - Pipe redirection broken on Python2.7
+
+### 4.3.19 - May 12, 2019 - hot fix release
+- Fixed issue #942 - correctly handle pyi (Python Template Files) to match `black` output
+
### 4.3.18 - May 1, 2019 - hot fix release
- Fixed an issue with parsing files that contain unicode characters in Python 2
- Fixed issue #924 - Pulling in pip internals causes depreciation warning
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/isort-4.3.18/PKG-INFO new/isort-4.3.20/PKG-INFO
--- old/isort-4.3.18/PKG-INFO 2019-05-02 07:17:54.000000000 +0200
+++ new/isort-4.3.20/PKG-INFO 2019-05-15 02:24:39.000000000 +0200
@@ -1,6 +1,6 @@
Metadata-Version: 2.1
Name: isort
-Version: 4.3.18
+Version: 4.3.20
Summary: A Python utility / library to sort Python imports.
Home-page: https://github.com/timothycrosley/isort
Author: Timothy Crosley
@@ -681,7 +681,7 @@
Classifier: Topic :: Software Development :: Libraries
Classifier: Topic :: Utilities
Requires-Python: >=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*
-Provides-Extra: requirements
-Provides-Extra: pyproject
Provides-Extra: xdg_home
+Provides-Extra: pyproject
+Provides-Extra: requirements
Provides-Extra: pipfile
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/isort-4.3.18/isort/__init__.py new/isort-4.3.20/isort/__init__.py
--- old/isort-4.3.18/isort/__init__.py 2019-05-02 07:17:09.000000000 +0200
+++ new/isort-4.3.20/isort/__init__.py 2019-05-15 02:23:51.000000000 +0200
@@ -25,4 +25,4 @@
from . import settings # noqa: F401
from .isort import SortImports # noqa: F401
-__version__ = "4.3.18"
+__version__ = "4.3.20"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/isort-4.3.18/isort/isort.py new/isort-4.3.20/isort/isort.py
--- old/isort-4.3.18/isort/isort.py 2019-05-02 07:17:09.000000000 +0200
+++ new/isort-4.3.20/isort/isort.py 2019-05-15 02:23:51.000000000 +0200
@@ -49,7 +49,7 @@
def __init__(self, file_path=None, file_contents=None, file_=None, write_to_stdout=False, check=False,
show_diff=False, settings_path=None, ask_to_apply=False, run_path='', check_skip=True,
- **setting_overrides):
+ extension=None, **setting_overrides):
if not settings_path and file_path:
settings_path = os.path.dirname(os.path.abspath(file_path))
settings_path = settings_path or os.getcwd()
@@ -140,7 +140,7 @@
file_.seek(0)
self.file_encoding = coding_check(file_)
file_.seek(0)
- except io.UnsupportedOperation:
+ except (io.UnsupportedOperation, IOError):
pass
reader = codecs.getreader(self.file_encoding)
file_contents = reader(file_).read()
@@ -181,6 +181,11 @@
self.in_lines.append(add_import)
self.number_of_lines = len(self.in_lines)
+ if not extension:
+ self.extension = file_name.split('.')[-1] if file_name else "py"
+ else:
+ self.extension = extension
+
self.out_lines = []
self.comments = {'from': {}, 'straight': {}, 'nested': {}, 'above': {'straight': {}, 'from': {}}}
self.imports = OrderedDict()
@@ -672,8 +677,10 @@
if self.config['lines_after_imports'] != -1:
self.out_lines[imports_tail:0] = ["" for line in range(self.config['lines_after_imports'])]
- elif next_construct.startswith("def ") or next_construct.startswith("class ") or \
- next_construct.startswith("@") or next_construct.startswith("async def"):
+ elif self.extension != "pyi" and (next_construct.startswith("def ") or
+ next_construct.startswith("class ") or
+ next_construct.startswith("@") or
+ next_construct.startswith("async def")):
self.out_lines[imports_tail:0] = ["", ""]
else:
self.out_lines[imports_tail:0] = [""]
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/isort-4.3.18/isort.egg-info/PKG-INFO new/isort-4.3.20/isort.egg-info/PKG-INFO
--- old/isort-4.3.18/isort.egg-info/PKG-INFO 2019-05-02 07:17:53.000000000 +0200
+++ new/isort-4.3.20/isort.egg-info/PKG-INFO 2019-05-15 02:24:39.000000000 +0200
@@ -1,6 +1,6 @@
Metadata-Version: 2.1
Name: isort
-Version: 4.3.18
+Version: 4.3.20
Summary: A Python utility / library to sort Python imports.
Home-page: https://github.com/timothycrosley/isort
Author: Timothy Crosley
@@ -681,7 +681,7 @@
Classifier: Topic :: Software Development :: Libraries
Classifier: Topic :: Utilities
Requires-Python: >=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*
-Provides-Extra: requirements
-Provides-Extra: pyproject
Provides-Extra: xdg_home
+Provides-Extra: pyproject
+Provides-Extra: requirements
Provides-Extra: pipfile
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/isort-4.3.18/setup.py new/isort-4.3.20/setup.py
--- old/isort-4.3.18/setup.py 2019-05-02 07:17:09.000000000 +0200
+++ new/isort-4.3.20/setup.py 2019-05-15 02:23:51.000000000 +0200
@@ -6,7 +6,7 @@
readme = f.read()
setup(name='isort',
- version='4.3.18',
+ version='4.3.20',
description='A Python utility / library to sort Python imports.',
long_description=readme,
author='Timothy Crosley',
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/isort-4.3.18/test_isort.py new/isort-4.3.20/test_isort.py
--- old/isort-4.3.18/test_isort.py 2019-05-02 07:17:09.000000000 +0200
+++ new/isort-4.3.20/test_isort.py 2019-05-15 02:23:51.000000000 +0200
@@ -2994,3 +2994,25 @@
'# Local imports\n'
'from oklib.plot_ok import imagesc\n')
assert SortImports(file_contents=test_input, **config).output == test_input
+
+
+def test_pyi_formatting_issue_942(tmpdir):
+ test_input = ('import os\n'
+ '\n'
+ '\n'
+ 'def my_method():\n')
+ expected_py_output = test_input.splitlines()
+ expected_pyi_output = ('import os\n'
+ '\n'
+ 'def my_method():\n').splitlines()
+ assert SortImports(file_contents=test_input).output.splitlines() == expected_py_output
+ assert SortImports(file_contents=test_input,
+ extension="pyi").output.splitlines() == expected_pyi_output
+
+ source_py = tmpdir.join('source.py')
+ source_py.write(test_input)
+ assert SortImports(file_path=str(source_py)).output.splitlines() == expected_py_output
+
+ source_pyi = tmpdir.join('source.pyi')
+ source_pyi.write(test_input)
+ assert SortImports(file_path=str(source_pyi)).output.splitlines() == expected_pyi_output
1
0
Hello community,
here is the log from the commit of package kernel-firmware for openSUSE:Factory checked in at 2019-05-27 08:30:06
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/kernel-firmware (Old)
and /work/SRC/openSUSE:Factory/.kernel-firmware.new.5148 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "kernel-firmware"
Mon May 27 08:30:06 2019 rev:122 rq:705214 version:20190514
Changes:
--------
--- /work/SRC/openSUSE:Factory/kernel-firmware/kernel-firmware.changes 2019-05-10 09:13:55.271741260 +0200
+++ /work/SRC/openSUSE:Factory/.kernel-firmware.new.5148/kernel-firmware.changes 2019-05-27 08:30:23.923257781 +0200
@@ -1,0 +2,13 @@
+Fri May 24 10:24:35 UTC 2019 - Martin Pluskal <mpluskal(a)suse.com>
+
+- Update to version 20190514:
+ * linux-firmware: Update firmware file for Intel Bluetooth 8265
+ * linux-firmware: Update firmware file for Intel Bluetooth 9260
+ * linux-firmware: Update firmware file for Intel Bluetooth 9560
+ * linux-firmware: Update firmware file for Intel Bluetooth 22161
+ * amlogic: add video decoder firmwares
+ * iwlwifi: update -46 firmwares for 22260 and 9000 series
+ * iwlwifi: add firmware for 22260 and update 9000 series -46 firmwares
+ * iwlwifi: add -46.ucode firmwares for 9000 series
+
+-------------------------------------------------------------------
Old:
----
kernel-firmware-20190502.tar.xz
New:
----
kernel-firmware-20190514.tar.xz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ kernel-firmware.spec ++++++
--- /var/tmp/diff_new_pack.LxPWD8/_old 2019-05-27 08:30:27.263256480 +0200
+++ /var/tmp/diff_new_pack.LxPWD8/_new 2019-05-27 08:30:27.267256478 +0200
@@ -17,9 +17,9 @@
%define __ksyms_path ^/lib/firmware
-%define version_unconverted 20190502
+%define version_unconverted 20190514
Name: kernel-firmware
-Version: 20190502
+Version: 20190514
Release: 0
Summary: Linux kernel firmware files
License: SUSE-Firmware AND GPL-2.0-only AND GPL-2.0-or-later AND MIT
++++++ _servicedata ++++++
--- /var/tmp/diff_new_pack.LxPWD8/_old 2019-05-27 08:30:27.339256450 +0200
+++ /var/tmp/diff_new_pack.LxPWD8/_new 2019-05-27 08:30:27.339256450 +0200
@@ -1,4 +1,4 @@
<servicedata>
<service name="tar_scm">
<param name="url">https://git.kernel.org/pub/scm/linux/kernel/git/firmware/linux-firmware.git</param>
- <param name="changesrevision">92e17d0dd2437140fab044ae62baf69b35d7d1fa</param></service></servicedata>
\ No newline at end of file
+ <param name="changesrevision">711d3297bac870af42088a467459a0634c1970ca</param></service></servicedata>
\ No newline at end of file
++++++ kernel-firmware-20190502.tar.xz -> kernel-firmware-20190514.tar.xz ++++++
/work/SRC/openSUSE:Factory/kernel-firmware/kernel-firmware-20190502.tar.xz /work/SRC/openSUSE:Factory/.kernel-firmware.new.5148/kernel-firmware-20190514.tar.xz differ: char 27, line 1
1
0
Hello community,
here is the log from the commit of package webkit2gtk3 for openSUSE:Factory checked in at 2019-05-27 08:29:53
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/webkit2gtk3 (Old)
and /work/SRC/openSUSE:Factory/.webkit2gtk3.new.5148 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "webkit2gtk3"
Mon May 27 08:29:53 2019 rev:79 rq:705213 version:2.24.2
Changes:
--------
--- /work/SRC/openSUSE:Factory/webkit2gtk3/webkit2gtk3.changes 2019-05-03 22:19:55.972406186 +0200
+++ /work/SRC/openSUSE:Factory/.webkit2gtk3.new.5148/webkit2gtk3.changes 2019-05-27 08:29:58.723267605 +0200
@@ -1,0 +2,16 @@
+Fri May 24 08:00:33 UTC 2019 - Bjørn Lie <bjorn.lie(a)gmail.com>
+
+- Update to version 2.24.2:
+ + Fix rendering of emojis copy-pasted from GTK emoji chooser.
+ + Fix space characters not being rendered with some CJK fonts.
+ + Fix adaptive streaming playback with older GStreamer versions.
+ + Set a maximum zoom level for pinch zooming gesture.
+ + Fix navigation gesture to not interfere with scrolling.
+ + Fix SSE2 detection at compile time, ensuring the right flags
+ are passed to the compiler.
+ + Fix several crashes and rendering issues.
+ + Security fixes: CVE-2019-8595, CVE-2019-8607, CVE-2019-8615.
+ + Updated translations.
+- Drop webkit2gtk3-fix-i586-build.patch: Fixed upstream.
+
+-------------------------------------------------------------------
Old:
----
webkit2gtk3-fix-i586-build.patch
webkitgtk-2.24.1.tar.xz
webkitgtk-2.24.1.tar.xz.asc
New:
----
webkitgtk-2.24.2.tar.xz
webkitgtk-2.24.2.tar.xz.asc
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ webkit2gtk3.spec ++++++
--- /var/tmp/diff_new_pack.QMiYDh/_old 2019-05-27 08:30:02.743266038 +0200
+++ /var/tmp/diff_new_pack.QMiYDh/_new 2019-05-27 08:30:02.747266037 +0200
@@ -42,7 +42,7 @@
%bcond_with python3
%endif
Name: webkit2gtk3
-Version: 2.24.1
+Version: 2.24.2
Release: 0
Summary: Library for rendering web content, GTK+ Port
License: LGPL-2.0-or-later AND BSD-3-Clause
@@ -52,8 +52,6 @@
Source1: https://webkitgtk.org/releases/%{_name}-%{version}.tar.xz.asc
Source98: baselibs.conf
Source99: webkit2gtk3.keyring
-# PATCH-FIX-UPSTREAM webkit2gtk3-fix-i586-build.patch dimstar(a)opensuse.org -- Fix build on i586, taken from upstream https://trac.webkit.org/changeset/244138/webkit
-Patch0: webkit2gtk3-fix-i586-build.patch
# PATCH-FIX-UPSTREAM webkit2gtk3-boo1088932-a11y-state-set.patch boo#1088932 webkit#184366 mgorse(a)suse.com -- fix crash when atk_object_ref_state_set is called on an AtkObject that's being destroyed
Patch1: webkit2gtk3-boo1088932-a11y-state-set.patch
BuildRequires: Mesa-libEGL-devel
@@ -291,7 +289,6 @@
%prep
%setup -q -n webkitgtk-%{version}
-%patch0 -p2
%patch1 -p1
%build
++++++ webkitgtk-2.24.1.tar.xz -> webkitgtk-2.24.2.tar.xz ++++++
/work/SRC/openSUSE:Factory/webkit2gtk3/webkitgtk-2.24.1.tar.xz /work/SRC/openSUSE:Factory/.webkit2gtk3.new.5148/webkitgtk-2.24.2.tar.xz differ: char 27, line 1
1
0
Hello community,
here is the log from the commit of package MozillaFirefox for openSUSE:Factory checked in at 2019-05-27 08:29:14
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/MozillaFirefox (Old)
and /work/SRC/openSUSE:Factory/.MozillaFirefox.new.5148 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "MozillaFirefox"
Mon May 27 08:29:14 2019 rev:289 rq:705211 version:67.0
Changes:
--------
--- /work/SRC/openSUSE:Factory/MozillaFirefox/MozillaFirefox.changes 2019-05-12 11:32:52.553778090 +0200
+++ /work/SRC/openSUSE:Factory/.MozillaFirefox.new.5148/MozillaFirefox.changes 2019-05-27 08:29:25.179280682 +0200
@@ -1,0 +2,85 @@
+Sun May 19 20:40:30 UTC 2019 - Wolfgang Rosenauer <wr(a)rosenauer.org>
+
+- Mozilla Firefox 67.0
+ * Firefox 67 will be able to run different Firefox installs side by side
+ https://blog.nightly.mozilla.org/2019/01/14/moving-to-a-profile-per-install…
+ * Tabs can now be pinned from the Page Actions menu in the address bar
+ * Users can block known cryptominers and fingerprinters in the
+ Custom settings or their Content Blocking preferences
+ * The Import Data from Another Browser feature is now also available
+ from the File menu
+ * Firefox will now protect you against running older versions which
+ can lead to data corruption and stability issues
+ * Easier access to your list of saved logins from the main menu and
+ login autocomplete
+ * We’ve added a toolbar menu for your Firefox Account to provide more
+ transparency for when you are synced, sharing data across devices
+ and with Firefox. Personalize the appearance of the menu with your
+ own avatar
+ * Enable FIDO U2F API, and permit registrations for Google Accounts
+ * Enabled AV1 support on Linux
+ MFSA 2019-13 (boo#1135824)
+ * CVE-2019-9815 (bmo#1546544)
+ Disable hyperthreading on content JavaScript threads on macOS
+ * CVE-2019-9816 (bmo#1536768)
+ Type confusion with object groups and UnboxedObjects
+ * CVE-2019-9817 (bmo#1540221)
+ Stealing of cross-domain images using canvas
+ * CVE-2019-9818 (bmo#1542581) (Windows only)
+ Use-after-free in crash generation server
+ * CVE-2019-9819 (bmo#1532553)
+ Compartment mismatch with fetch API
+ * CVE-2019-9820 (bmo#1536405)
+ Use-after-free of ChromeEventHandler by DocShell
+ * CVE-2019-9821 (bmo#1539125)
+ Use-after-free in AssertWorkerThread
+ * CVE-2019-11691 (bmo#1542465)
+ Use-after-free in XMLHttpRequest
+ * CVE-2019-11692 (bmo#1544670)
+ Use-after-free removing listeners in the event listener manager
+ * CVE-2019-11693 (bmo#1532525)
+ Buffer overflow in WebGL bufferdata on Linux
+ * CVE-2019-7317 (bmo#1542829)
+ Use-after-free in png_image_free of libpng library
+ * CVE-2019-11694 (bmo#1534196) (Windows only)
+ Uninitialized memory memory leakage in Windows sandbox
+ * CVE-2019-11695 (bmo#1445844)
+ Custom cursor can render over user interface outside of web content
+ * CVE-2019-11696 (bmo#1392955)
+ Java web start .JNLP files are not recognized as executable files
+ for download prompts
+ * CVE-2019-11697 (bmo#1440079)
+ Pressing key combinations can bypass installation prompt delays and
+ install extensions
+ * CVE-2019-11698 (bmo#1543191)
+ Theft of user history data through drag and drop of hyperlinks
+ to and from bookmarks
+ * CVE-2019-11700 (bmo#1549833) (Windows only)
+ res: protocol can be used to open known local files
+ * CVE-2019-11699 (bmo#1528939)
+ Incorrect domain name highlighting during page navigation
+ * CVE-2019-11701 (bmo#1518627)
+ webcal: protocol default handler loads vulnerable web page
+ * CVE-2019-9814 (bmo#1527592, bmo#1534536, bmo#1520132, bmo#1543159,
+ bmo#1539393, bmo#1459932, bmo#1459182, bmo#1516425)
+ Memory safety bugs fixed in Firefox 67
+ * CVE-2019-9800 (bmo#1540166, bmo#1534593, bmo#1546327, bmo#1540136,
+ bmo#1538736, bmo#1538042, bmo#1535612, bmo#1499719, bmo#1499108,
+ bmo#1538619, bmo#1535194, bmo#1516325, bmo#1542324, bmo#1542097,
+ bmo#1532465, bmo#1533554, bmo#1541580)
+ Memory safety bugs fixed in Firefox 67 and Firefox ESR 60.7
+- requires
+ * rust/cargo >= 1.32
+ * mozilla-nspr >= 4.21
+ * mozilla-nss >= 3.43
+ * rust-cbindgen >= 0.8.2
+- rebased patches
+- KDE integration for default browser detection is broken in this revision
+
+-------------------------------------------------------------------
+Fri May 17 12:04:49 UTC 2019 - Guillaume GARDET <guillaume.gardet(a)opensuse.org>
+
+- Fix armv7 build with:
+ * mozilla-disable-wasm-emulate-arm-unaligned-fp-access.patch
+
+-------------------------------------------------------------------
Old:
----
firefox-66.0.5.source.tar.xz
firefox-66.0.5.source.tar.xz.asc
l10n-66.0.5.tar.xz
New:
----
firefox-67.0.source.tar.xz
firefox-67.0.source.tar.xz.asc
l10n-67.0.tar.xz
mozilla-disable-wasm-emulate-arm-unaligned-fp-access.patch
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ MozillaFirefox.spec ++++++
--- /var/tmp/diff_new_pack.pWF4Gk/_old 2019-05-27 08:29:50.715270727 +0200
+++ /var/tmp/diff_new_pack.pWF4Gk/_new 2019-05-27 08:29:50.719270725 +0200
@@ -18,13 +18,13 @@
# changed with every update
-%define major 66
-%define mainver %major.0.5
-%define orig_version 66.0.5
+%define major 67
+%define mainver %major.0
+%define orig_version 67.0
%define orig_suffix %{nil}
%define update_channel release
%define branding 1
-%define releasedate 20190507012018
+%define releasedate 20190516215225
%define source_prefix firefox-%{orig_version}
# always build with GCC as SUSE Security Team requires that
@@ -69,7 +69,7 @@
%else
BuildRequires: gcc-c++
%endif
-BuildRequires: cargo >= 1.31
+BuildRequires: cargo >= 1.32
BuildRequires: libXcomposite-devel
BuildRequires: libcurl-devel
BuildRequires: libidl-devel
@@ -77,15 +77,15 @@
BuildRequires: libnotify-devel
BuildRequires: libproxy-devel
BuildRequires: makeinfo
-BuildRequires: mozilla-nspr-devel >= 4.20
-BuildRequires: mozilla-nss-devel >= 3.42.1
+BuildRequires: mozilla-nspr-devel >= 4.21
+BuildRequires: mozilla-nss-devel >= 3.43
BuildRequires: nasm >= 2.13
BuildRequires: nodejs >= 8.11
BuildRequires: python-devel
BuildRequires: python2-xml
BuildRequires: python3 >= 3.5
-BuildRequires: rust >= 1.31
-BuildRequires: rust-cbindgen >= 0.6.8
+BuildRequires: rust >= 1.32
+BuildRequires: rust-cbindgen >= 0.8.2
BuildRequires: startup-notification-devel
BuildRequires: unzip
BuildRequires: update-desktop-files
@@ -164,6 +164,7 @@
Patch9: mozilla-bmo1463035.patch
Patch10: mozilla-cubeb-noreturn.patch
Patch11: mozilla-fix-aarch64-libopus.patch
+Patch12: mozilla-disable-wasm-emulate-arm-unaligned-fp-access.patch
# Firefox/browser
Patch101: firefox-kde.patch
Patch102: firefox-branded-icons.patch
@@ -271,6 +272,7 @@
%patch9 -p1
%patch10 -p1
%patch11 -p1
+%patch12 -p1
# Firefox
%patch101 -p1
%patch102 -p1
++++++ compare-locales.tar.xz ++++++
++++++ create-tar.sh ++++++
--- /var/tmp/diff_new_pack.pWF4Gk/_old 2019-05-27 08:29:50.851270674 +0200
+++ /var/tmp/diff_new_pack.pWF4Gk/_new 2019-05-27 08:29:50.855270673 +0200
@@ -7,8 +7,8 @@
CHANNEL="release"
BRANCH="releases/mozilla-$CHANNEL"
-RELEASE_TAG="96d2576eae4baf0aa961b4f5a1dadd26bb8ee823"
-VERSION="66.0.5"
+RELEASE_TAG="2a7896ba9aa5d982abe01f859d771d411fda8101"
+VERSION="67.0"
VERSION_SUFFIX=""
LOCALE_FILE="firefox-$VERSION/browser/locales/l10n-changesets.json"
++++++ firefox-66.0.5.source.tar.xz -> firefox-67.0.source.tar.xz ++++++
/work/SRC/openSUSE:Factory/MozillaFirefox/firefox-66.0.5.source.tar.xz /work/SRC/openSUSE:Factory/.MozillaFirefox.new.5148/firefox-67.0.source.tar.xz differ: char 15, line 1
++++++ firefox-kde.patch ++++++
--- /var/tmp/diff_new_pack.pWF4Gk/_old 2019-05-27 08:29:50.903270653 +0200
+++ /var/tmp/diff_new_pack.pWF4Gk/_new 2019-05-27 08:29:50.903270653 +0200
@@ -1,11 +1,11 @@
# HG changeset patch
-# Parent 87262204aa945e6fce864193d103a93659bf76f6
+# Parent 18632e53d0b0c4c03f254ca2dbbeac8f48ec6f5c
diff --git a/browser/base/content/browser-kde.xul b/browser/base/content/browser-kde.xul
new file mode 100644
--- /dev/null
+++ b/browser/base/content/browser-kde.xul
-@@ -0,0 +1,1408 @@
+@@ -0,0 +1,1404 @@
+#filter substitution
+<?xml version="1.0"?>
+# -*- Mode: HTML -*-
@@ -80,7 +80,6 @@
+ retargetdocumentfocus="urlbar"
+ persist="screenX screenY width height sizemode"
+#ifdef BROWSER_XHTML
-+ hidden="true"
+ mozpersist=""
+#endif
+ >
@@ -90,11 +89,7 @@
+# that they can be shared with macWindow.inc.xul.
+#include global-scripts.inc
+
-+<script type="application/javascript"
-+#ifdef BROWSER_XHTML
-+xmlns="http://www.w3.org/1999/xhtml"
-+#endif
-+>
++<script type="application/javascript">
+ Services.scriptloader.loadSubScript("chrome://global/content/contentAreaUtils.js", this);
+ Services.scriptloader.loadSubScript("chrome://browser/content/browser-captivePortal.js", this);
+ Services.scriptloader.loadSubScript("chrome://browser/content/browser-compacttheme.js", this);
@@ -111,23 +106,16 @@
+ Services.scriptloader.loadSubScript("chrome://browser/content/browser-sidebar.js", this);
+ Services.scriptloader.loadSubScript("chrome://browser/content/browser-tabsintitlebar.js", this);
+ Services.scriptloader.loadSubScript("chrome://browser/content/tabbrowser.js", this);
++ Services.scriptloader.loadSubScript("chrome://browser/content/search/autocomplete-popup.js", this);
+ Services.scriptloader.loadSubScript("chrome://browser/content/search/searchbar.js", this);
+
+ window.onload = gBrowserInit.onLoad.bind(gBrowserInit);
+ window.onunload = gBrowserInit.onUnload.bind(gBrowserInit);
+ window.onclose = WindowIsClosing;
+
-+#ifdef BROWSER_XHTML
-+ window.addEventListener("readystatechange", () => {
-+ // We initially hide the window to prevent layouts during parse. This lets us
-+ // avoid accidental XBL construction and better match browser.xul (see Bug 1497975).
-+ gBrowserInit.onBeforeInitialXULLayout();
-+ document.documentElement.removeAttribute("hidden");
-+ }, { once: true, capture: true });
-+#else
+ window.addEventListener("MozBeforeInitialXULLayout",
+ gBrowserInit.onBeforeInitialXULLayout.bind(gBrowserInit), { once: true });
-+#endif
++
+ // The listener of DOMContentLoaded must be set on window, rather than
+ // document, because the window can go away before the event is fired.
+ // In that case, we don't want to initialize anything, otherwise we
@@ -244,7 +232,8 @@
+
+ <!-- for search and content formfill/pw manager -->
+
-+ <panel type="autocomplete-richlistbox"
++ <panel is="autocomplete-richlistbox-popup"
++ type="autocomplete-richlistbox"
+ id="PopupAutoComplete"
+ role="group"
+ noautofocus="true"
@@ -254,7 +243,8 @@
+ nomaxresults="true" />
+
+ <!-- for search with one-off buttons -->
-+ <panel type="autocomplete-richlistbox"
++ <panel is="search-autocomplete-richlistbox-popup"
++ type="autocomplete-richlistbox"
+ id="PopupSearchAutoComplete"
+ role="group"
+ noautofocus="true"
@@ -270,27 +260,6 @@
+ level="parent"
+ overflowpadding="15" />
+
-+ <!-- for url bar autocomplete -->
-+ <panel id="urlbar-results"
-+ role="group"
-+ noautofocus="true"
-+ hidden="true"
-+ flip="none"
-+ consumeoutsideclicks="never"
-+ norolluponanchor="true"
-+ level="parent">
-+ <html:div class="urlbarView-body-outer">
-+ <html:div class="urlbarView-body-inner">
-+ <!-- TODO: add search suggestions notification -->
-+ <html:div class="urlbarView-results"/>
-+ </html:div>
-+ </html:div>
-+ <hbox class="search-one-offs"
-+ compact="true"
-+ includecurrentengine="true"
-+ disabletab="true"/>
-+ </panel>
-+
+ <!-- for date/time picker. consumeoutsideclicks is set to never, so that
+ clicks on the anchored input box are never consumed. -->
+ <panel id="DateTimePickerPanel"
@@ -581,6 +550,8 @@
+ position="bottomcenter topright"
+ tabspecific="true"
+ noautofocus="true"
++ pinTab-title="&pinTab.label;"
++ unpinTab-title="&unpinTab.label;"
+ pocket-title="&saveToPocketCmd.label;"
+ copyURL-title="&pageAction.copyLink.label;"
+ emailLink-title="&emailPageCmd.label;"
@@ -607,9 +578,12 @@
+ tabspecific="true"
+ noautofocus="true">
+ <hbox id="confirmation-hint-checkmark-animation-container">
-+ <image id="confirmation-hint-checkmark-image"/>
++ <image id="confirmation-hint-checkmark-image"/>
+ </hbox>
-+ <label id="confirmation-hint-message"/>
++ <vbox id="confirmation-hint-message-container">
++ <label id="confirmation-hint-message"/>
++ <label id="confirmation-hint-description"/>
++ </vbox>
+ </panel>
+
+ <menupopup id="pageActionContextMenu"
@@ -843,6 +817,7 @@
+ overflowpanel="widget-overflow"
+ context="toolbar-context-menu">
+
++ <toolbartabstop/>
+ <hbox id="nav-bar-customization-target" flex="1">
+ <toolbarbutton id="back-button" class="toolbarbutton-1 chromeclass-toolbar-additional"
+ label="&backCmd.label;"
@@ -896,11 +871,13 @@
+ <toolbaritem id="urlbar-container" flex="400" persist="width"
+ removable="false"
+ class="chromeclass-location" overflows="false">
++ <toolbartabstop/>
+ <textbox id="urlbar" flex="1"
+ placeholder="&urlbar.placeholder2;"
+ defaultPlaceholder="&urlbar.placeholder2;"
+ focused="true"
+ type="autocomplete"
++ quantumbar="false"
+ autocompletesearch="unifiedcomplete"
+ autocompletesearchparam="enable-actions"
+ autocompletepopup="PopupAutoCompleteRichResult"
@@ -1015,6 +992,7 @@
+ <label id="extension" class="urlbar-display urlbar-display-extension" value="&urlbar.extension.label;"/>
+ </box>
+ <hbox id="page-action-buttons" context="pageActionContextMenu">
++ <toolbartabstop/>
+ <hbox id="contextual-feature-recommendation" role="button" hidden="true">
+ <hbox id="cfr-label-container">
+ <label id="cfr-label"/>
@@ -1072,6 +1050,7 @@
+ </hbox>
+ </hbox>
+ </textbox>
++ <toolbartabstop/>
+ </toolbaritem>
+
+ <toolbarspring cui-areatype="toolbar" class="chromeclass-toolbar-additional"/>
@@ -1083,6 +1062,7 @@
+ class="toolbarbutton-1 chromeclass-toolbar-additional badged-button"
+ key="key_openDownloads"
+ onmousedown="DownloadsIndicatorView.onCommand(event);"
++ onkeypress="DownloadsIndicatorView.onCommand(event);"
+ ondrop="DownloadsIndicatorView.onDrop(event);"
+ ondragover="DownloadsIndicatorView.onDragOver(event);"
+ ondragenter="DownloadsIndicatorView.onDragOver(event);"
@@ -1115,6 +1095,19 @@
+ tooltiptext="&libraryButton.tooltip;"
+ label="&places.library.title;"/>
+
++ <toolbarbutton id="fxa-toolbar-menu-button" class="toolbarbutton-1 badged-button chromeclass-toolbar-additional subviewbutton-nav"
++ onmousedown="gSync.toggleAccountPanel('PanelUI-fxa', event)"
++ onkeypress="gSync.toggleAccountPanel('PanelUI-fxa', event)"
++ consumeanchor="fxa-toolbar-menu-button"
++ closemenu="none"
++ label="&fxa.menu.firefoxAccount;"
++ tooltiptext="&fxa.menu.firefoxAccount;"
++ cui-areatype="toolbar"
++ removable="true">
++ <vbox>
++ <image id="fxa-avatar-image"/>
++ </vbox>
++ </toolbarbutton>
+ </hbox>
+
+ <toolbarbutton id="nav-bar-overflow-button"
@@ -1167,6 +1160,7 @@
+ toolbarname="&personalbarCmd.label;" accesskey="&personalbarCmd.accesskey;"
+ collapsed="true"
+ customizable="true">
++ <toolbartabstop skipintoolbarset="true"/>
+ <toolbaritem id="personal-bookmarks"
+ title="&bookmarksToolbarItem.label;"
+ cui-areatype="toolbar"
@@ -1336,7 +1330,9 @@
+ align="center"
+ flex="100"
+ persist="width">
++ <toolbartabstop/>
+ <searchbar id="searchbar" flex="1"/>
++ <toolbartabstop/>
+ </toolbaritem>
+ </toolbarpalette>
+ </toolbox>
@@ -1436,70 +1432,10 @@
content/browser/browser-data-submission-info-bar.js (content/browser-data-submission-info-bar.js)
content/browser/browser-compacttheme.js (content/browser-compacttheme.js)
content/browser/browser-contentblocking.js (content/browser-contentblocking.js)
-diff --git a/browser/components/build/nsModule.cpp b/browser/components/build/nsModule.cpp
---- a/browser/components/build/nsModule.cpp
-+++ b/browser/components/build/nsModule.cpp
-@@ -8,17 +8,17 @@
- #include "nsBrowserCompsCID.h"
- #include "DirectoryProvider.h"
-
- #if defined(XP_WIN)
- # include "nsWindowsShellService.h"
- #elif defined(XP_MACOSX)
- # include "nsMacShellService.h"
- #elif defined(MOZ_WIDGET_GTK)
--# include "nsGNOMEShellService.h"
-+# include "nsUnixShellService.h"
- #endif
- #include "nsIToolkitShellService.h"
-
- #if defined(MOZ_WIDGET_COCOA)
- # include "nsMacAttribution.h"
- #endif
-
- #if defined(XP_WIN)
-@@ -34,18 +34,16 @@ using namespace mozilla::browser;
-
- /////////////////////////////////////////////////////////////////////////////
-
- NS_GENERIC_FACTORY_CONSTRUCTOR(DirectoryProvider)
- #if defined(XP_WIN)
- NS_GENERIC_FACTORY_CONSTRUCTOR(nsWindowsShellService)
- #elif defined(XP_MACOSX)
- NS_GENERIC_FACTORY_CONSTRUCTOR(nsMacShellService)
--#elif defined(MOZ_WIDGET_GTK)
--NS_GENERIC_FACTORY_CONSTRUCTOR_INIT(nsGNOMEShellService, Init)
- #endif
-
- #if defined(MOZ_WIDGET_COCOA)
- NS_GENERIC_FACTORY_CONSTRUCTOR(nsMacAttributionService)
- #endif
-
- #if defined(XP_WIN)
- NS_GENERIC_FACTORY_CONSTRUCTOR(nsIEHistoryEnumerator)
-@@ -64,17 +62,17 @@ NS_DEFINE_NAMED_CID(NS_MACATTRIBUTIONSER
- #endif
-
- static const mozilla::Module::CIDEntry kBrowserCIDs[] = {
- // clang-format off
- { &kNS_BROWSERDIRECTORYPROVIDER_CID, false, nullptr, DirectoryProviderConstructor },
- #if defined(XP_WIN)
- { &kNS_SHELLSERVICE_CID, false, nullptr, nsWindowsShellServiceConstructor },
- #elif defined(MOZ_WIDGET_GTK)
-- { &kNS_SHELLSERVICE_CID, false, nullptr, nsGNOMEShellServiceConstructor },
-+ { &kNS_SHELLSERVICE_CID, false, nullptr, nsUnixShellServiceConstructor },
- #elif defined(XP_MACOSX)
- { &kNS_SHELLSERVICE_CID, false, nullptr, nsMacShellServiceConstructor },
- #endif
- { &kNS_BROWSER_ABOUT_REDIRECTOR_CID, false, nullptr, AboutRedirector::Create },
- #if defined(XP_WIN)
- { &kNS_WINIEHISTORYENUMERATOR_CID, false, nullptr, nsIEHistoryEnumeratorConstructor },
- #endif
- #if defined(MOZ_WIDGET_COCOA)
diff --git a/browser/components/preferences/in-content/main.js b/browser/components/preferences/in-content/main.js
--- a/browser/components/preferences/in-content/main.js
+++ b/browser/components/preferences/in-content/main.js
-@@ -289,16 +289,23 @@ var gMainPane = {
+@@ -288,16 +288,23 @@ var gMainPane = {
this._backoffIndex++ : backoffTimes.length - 1]);
};
@@ -1523,7 +1459,7 @@
performanceSettingsLink.setAttribute("href", performanceSettingsUrl);
this.updateDefaultPerformanceSettingsPref();
-@@ -1021,16 +1028,27 @@ var gMainPane = {
+@@ -1025,16 +1032,27 @@ var gMainPane = {
// Reset exponential backoff delay time in order to do visual update in pollForDefaultBrowser.
this._backoffIndex = 0;
@@ -1815,7 +1751,7 @@
diff --git a/browser/installer/package-manifest.in b/browser/installer/package-manifest.in
--- a/browser/installer/package-manifest.in
+++ b/browser/installer/package-manifest.in
-@@ -452,16 +452,18 @@
+@@ -286,16 +286,18 @@
@RESPATH@/browser/defaults/settings/pinning
@RESPATH@/browser/defaults/settings/main
++++++ l10n-66.0.5.tar.xz -> l10n-67.0.tar.xz ++++++
/work/SRC/openSUSE:Factory/MozillaFirefox/l10n-66.0.5.tar.xz /work/SRC/openSUSE:Factory/.MozillaFirefox.new.5148/l10n-67.0.tar.xz differ: char 25, line 1
++++++ mozilla-aarch64-startup-crash.patch ++++++
--- /var/tmp/diff_new_pack.pWF4Gk/_old 2019-05-27 08:29:50.979270624 +0200
+++ /var/tmp/diff_new_pack.pWF4Gk/_new 2019-05-27 08:29:50.979270624 +0200
@@ -1,12 +1,12 @@
# HG changeset patch
# Parent a5cfa3aa11a9d3391df49de6fc5a0e5232c12c10
-# Parent 7b5f6b68a8963228f738b803177f937481e19745
+# Parent 6dd2311796da4e15115fd04b181313ae62754317
Bug 991344 - Rpi3: Firefox crashes after a few seconds of usage
diff --git a/netwerk/base/nsIOService.cpp b/netwerk/base/nsIOService.cpp
--- a/netwerk/base/nsIOService.cpp
+++ b/netwerk/base/nsIOService.cpp
-@@ -842,17 +842,23 @@ nsresult nsIOService::NewChannelFromURIW
+@@ -975,17 +975,23 @@ nsresult nsIOService::NewChannelFromURIW
"doesn't support nsIUploadChannel2. An extension has "
"supplied a non-functional http protocol handler. This will "
"break behavior and in future releases not work at all.");
@@ -26,7 +26,7 @@
}
NS_IMETHODIMP
- nsIOService::NewChannelFromURIWithProxyFlags2(
+ nsIOService::NewChannelFromURIWithProxyFlags(
nsIURI *aURI, nsIURI *aProxyURI, uint32_t aProxyFlags,
nsINode *aLoadingNode, nsIPrincipal *aLoadingPrincipal,
nsIPrincipal *aTriggeringPrincipal, uint32_t aSecurityFlags,
++++++ mozilla-disable-wasm-emulate-arm-unaligned-fp-access.patch ++++++
--- a/js/src/wasm/WasmSignalHandlers.cpp 2019-05-16 11:25:13.260881532 +0200
+++ b/js/src/wasm/WasmSignalHandlers.cpp 2019-05-16 11:24:35.164589301 +0200
@@ -243,7 +243,7 @@ using mozilla::DebugOnly;
// emulation here.
#if defined(__linux__) && defined(__arm__)
-# define WASM_EMULATE_ARM_UNALIGNED_FP_ACCESS
+// # define WASM_EMULATE_ARM_UNALIGNED_FP_ACCESS
#endif
#ifdef WASM_EMULATE_ARM_UNALIGNED_FP_ACCESS
++++++ mozilla-fix-aarch64-libopus.patch ++++++
--- /var/tmp/diff_new_pack.pWF4Gk/_old 2019-05-27 08:29:51.015270610 +0200
+++ /var/tmp/diff_new_pack.pWF4Gk/_new 2019-05-27 08:29:51.015270610 +0200
@@ -1,6 +1,15 @@
---- firefox-66.0.1.orig/media/libopus/silk/arm/arm_silk_map.c 2019-03-22 06:05:57.000000000 +0100
-+++ firefox-66.0.1/media/libopus/silk/arm/arm_silk_map.c 2019-03-28 09:35:28.604948775 +0100
-@@ -28,7 +28,7 @@ POSSIBILITY OF SUCH DAMAGE.
+# HG changeset patch
+# Parent 1317782cd47f1d1f2410712a1dd283b305393eae
+
+diff --git a/media/libopus/silk/arm/arm_silk_map.c b/media/libopus/silk/arm/arm_silk_map.c
+--- a/media/libopus/silk/arm/arm_silk_map.c
++++ b/media/libopus/silk/arm/arm_silk_map.c
+@@ -23,17 +23,17 @@ INTERRUPTION) HOWEVER CAUSED AND ON ANY
+ CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+ POSSIBILITY OF SUCH DAMAGE.
+ ***********************************************************************/
+ #ifdef HAVE_CONFIG_H
# include "config.h"
#endif
@@ -9,3 +18,8 @@
#include "NSQ.h"
#include "SigProc_FIX.h"
+ #if defined(OPUS_HAVE_RTCD)
+
+ # if (defined(OPUS_ARM_MAY_HAVE_NEON_INTR) && \
+ !defined(OPUS_ARM_PRESUME_NEON_INTR))
+
++++++ mozilla-kde.patch ++++++
--- /var/tmp/diff_new_pack.pWF4Gk/_old 2019-05-27 08:29:51.039270601 +0200
+++ /var/tmp/diff_new_pack.pWF4Gk/_new 2019-05-27 08:29:51.039270601 +0200
@@ -1,5 +1,5 @@
# HG changeset patch
-# Parent f55e33a10c2a23625826ef6f8dbe18d5a455d29e
+# Parent cafacdb0b7c50666e5dcc927684a23e8733206a5
Description: Add KDE integration to Firefox (toolkit parts)
Author: Wolfgang Rosenauer <wolfgang(a)rosenauer.org>
Author: Lubos Lunak <lunak(a)suse.com>
@@ -27,7 +27,7 @@
#ifdef XP_WIN
# include "windows.h"
#endif
-@@ -4467,25 +4468,37 @@ float MOZ_MAYBE_UNUSED GetPref<float>(co
+@@ -4493,25 +4494,37 @@ float MOZ_MAYBE_UNUSED GetPref<float>(co
// application pref files for backwards compatibility.
static const char* specialFiles[] = {
#if defined(XP_MACOSX)
@@ -65,7 +65,7 @@
// Load jar:$app/omni.jar!/defaults/preferences/*.js
// or jar:$gre/omni.jar!/defaults/preferences/*.js.
-@@ -4533,17 +4546,17 @@ float MOZ_MAYBE_UNUSED GetPref<float>(co
+@@ -4559,17 +4572,17 @@ float MOZ_MAYBE_UNUSED GetPref<float>(co
}
nsCOMPtr<nsIFile> path = do_QueryInterface(elem);
@@ -97,21 +97,21 @@
]
+LOCAL_INCLUDES += [
-+ '/toolkit/xre'
++ '/toolkit/xre'
+]
+
+ XPCOM_MANIFESTS += [
+ 'components.conf',
+ ]
+
include('/ipc/chromium/chromium-config.mozbuild')
FINAL_LIBRARY = 'xul'
- DEFINES['OS_ARCH'] = CONFIG['OS_ARCH']
- DEFINES['MOZ_WIDGET_TOOLKIT'] = CONFIG['MOZ_WIDGET_TOOLKIT']
- if CONFIG['MOZ_ENABLE_WEBRENDER']:
- DEFINES['MOZ_ENABLE_WEBRENDER'] = True
diff --git a/python/mozbuild/mozpack/chrome/flags.py b/python/mozbuild/mozpack/chrome/flags.py
--- a/python/mozbuild/mozpack/chrome/flags.py
+++ b/python/mozbuild/mozpack/chrome/flags.py
-@@ -220,16 +220,17 @@ class Flags(OrderedDict):
+@@ -223,16 +223,17 @@ class Flags(OrderedDict):
'contentaccessible': Flag,
'os': StringFlag,
'osversion': VersionFlag,
@@ -153,7 +153,7 @@
diff --git a/toolkit/components/downloads/moz.build b/toolkit/components/downloads/moz.build
--- a/toolkit/components/downloads/moz.build
+++ b/toolkit/components/downloads/moz.build
-@@ -41,10 +41,14 @@ EXTRA_JS_MODULES += [
+@@ -41,10 +41,14 @@ XPCOM_MANIFESTS += [
if CONFIG['MOZ_PLACES']:
EXTRA_JS_MODULES += [
@@ -171,25 +171,25 @@
diff --git a/toolkit/content/jar.mn b/toolkit/content/jar.mn
--- a/toolkit/content/jar.mn
+++ b/toolkit/content/jar.mn
-@@ -65,16 +65,18 @@ toolkit.jar:
+@@ -63,16 +63,18 @@ toolkit.jar:
+ content/global/widgets.css
+ content/global/bindings/autocomplete.xml (widgets/autocomplete.xml)
content/global/bindings/button.xml (widgets/button.xml)
content/global/bindings/calendar.js (widgets/calendar.js)
- content/global/bindings/checkbox.xml (widgets/checkbox.xml)
content/global/bindings/datekeeper.js (widgets/datekeeper.js)
content/global/bindings/datepicker.js (widgets/datepicker.js)
- content/global/bindings/datetimebox.xml (widgets/datetimebox.xml)
content/global/bindings/datetimebox.css (widgets/datetimebox.css)
* content/global/bindings/dialog.xml (widgets/dialog.xml)
+* content/global/bindings/dialog-kde.xml (widgets/dialog-kde.xml)
+% override chrome://global/content/bindings/dialog.xml chrome://global/content/bindings/dialog-kde.xml desktop=kde
content/global/bindings/general.xml (widgets/general.xml)
content/global/bindings/menu.xml (widgets/menu.xml)
- content/global/bindings/menulist.xml (widgets/menulist.xml)
- content/global/bindings/notification.xml (widgets/notification.xml)
content/global/bindings/popup.xml (widgets/popup.xml)
content/global/bindings/radio.xml (widgets/radio.xml)
content/global/bindings/richlistbox.xml (widgets/richlistbox.xml)
content/global/bindings/scrollbox.xml (widgets/scrollbox.xml)
+ content/global/bindings/spinner.js (widgets/spinner.js)
+ content/global/bindings/tabbox.xml (widgets/tabbox.xml)
diff --git a/toolkit/content/widgets/dialog-kde.xml b/toolkit/content/widgets/dialog-kde.xml
new file mode 100644
--- /dev/null
@@ -702,10 +702,10 @@
+ </binding>
+
+</bindings>
-diff --git a/toolkit/mozapps/downloads/nsHelperAppDlg.js b/toolkit/mozapps/downloads/nsHelperAppDlg.js
---- a/toolkit/mozapps/downloads/nsHelperAppDlg.js
-+++ b/toolkit/mozapps/downloads/nsHelperAppDlg.js
-@@ -1033,30 +1033,60 @@ nsUnknownContentTypeDialog.prototype = {
+diff --git a/toolkit/mozapps/downloads/HelperAppDlg.jsm b/toolkit/mozapps/downloads/HelperAppDlg.jsm
+--- a/toolkit/mozapps/downloads/HelperAppDlg.jsm
++++ b/toolkit/mozapps/downloads/HelperAppDlg.jsm
+@@ -1030,30 +1030,60 @@ nsUnknownContentTypeDialog.prototype = {
if (params.handlerApp &&
params.handlerApp.executable &&
@@ -794,14 +794,14 @@
#include "nsIURI.h"
+#include "nsKDEUtils.h"
+ using namespace mozilla;
+
class nsUnixSystemProxySettings final : public nsISystemProxySettings {
public:
NS_DECL_ISUPPORTS
NS_DECL_NSISYSTEMPROXYSETTINGS
- nsUnixSystemProxySettings() : mSchemeProxySettings(4) {}
- nsresult Init();
-@@ -42,16 +43,18 @@ class nsUnixSystemProxySettings final :
+@@ -44,16 +45,18 @@ class nsUnixSystemProxySettings final :
nsACString& aResult);
nsresult GetProxyFromGConf(const nsACString& aScheme, const nsACString& aHost,
int32_t aPort, nsACString& aResult);
@@ -820,7 +820,7 @@
nsUnixSystemProxySettings::GetMainThreadOnly(bool* aMainThreadOnly) {
// dbus prevents us from being threadsafe, but this routine should not block
// anyhow
-@@ -488,16 +491,19 @@ nsresult nsUnixSystemProxySettings::GetP
+@@ -487,22 +490,51 @@ nsresult nsUnixSystemProxySettings::GetP
return NS_OK;
}
@@ -840,16 +840,7 @@
return GetProxyFromEnvironment(aScheme, aHost, aPort, aResult);
}
-@@ -521,8 +527,34 @@ static const mozilla::Module::CIDEntry k
- static const mozilla::Module::ContractIDEntry kUnixProxyContracts[] = {
- {NS_SYSTEMPROXYSETTINGS_CONTRACTID, &kNS_UNIXSYSTEMPROXYSERVICE_CID},
- {nullptr}};
-
- static const mozilla::Module kUnixProxyModule = {
- mozilla::Module::kVersion, kUnixProxyCIDs, kUnixProxyContracts};
- NSMODULE_DEFN(nsUnixProxyModule) = &kUnixProxyModule;
-+
+nsresult
+nsUnixSystemProxySettings::GetProxyFromKDE(const nsACString& aScheme,
+ const nsACString& aHost,
@@ -875,10 +866,16 @@
+ return NS_OK;
+}
+
++
+ NS_IMPL_COMPONENT_FACTORY(nsUnixSystemProxySettings) {
+ auto result = MakeRefPtr<nsUnixSystemProxySettings>();
+ result->Init();
+ return result.forget().downcast<nsISupports>();
+ }
diff --git a/toolkit/xre/moz.build b/toolkit/xre/moz.build
--- a/toolkit/xre/moz.build
+++ b/toolkit/xre/moz.build
-@@ -81,17 +81,19 @@ elif CONFIG['MOZ_WIDGET_TOOLKIT'] == 'co
+@@ -83,17 +83,19 @@ elif CONFIG['MOZ_WIDGET_TOOLKIT'] == 'co
'../components/printingui',
]
elif CONFIG['MOZ_WIDGET_TOOLKIT'] == 'uikit':
@@ -897,7 +894,7 @@
'nsNativeAppSupportDefault.cpp',
]
- if CONFIG['MOZ_WIDGET_TOOLKIT'] == 'gtk3':
+ if CONFIG['MOZ_HAS_REMOTE']:
diff --git a/toolkit/xre/nsKDEUtils.cpp b/toolkit/xre/nsKDEUtils.cpp
new file mode 100644
--- /dev/null
@@ -1343,7 +1340,7 @@
diff --git a/uriloader/exthandler/moz.build b/uriloader/exthandler/moz.build
--- a/uriloader/exthandler/moz.build
+++ b/uriloader/exthandler/moz.build
-@@ -76,17 +76,19 @@ else:
+@@ -80,17 +80,19 @@ else:
SOURCES += [
osdir + '/nsOSHelperAppService.cpp',
]
@@ -1363,7 +1360,7 @@
'android/nsExternalURLHandlerService.cpp',
'android/nsMIMEInfoAndroid.cpp',
]
-@@ -120,16 +122,17 @@ include('/ipc/chromium/chromium-config.m
+@@ -130,16 +132,17 @@ include('/ipc/chromium/chromium-config.m
FINAL_LIBRARY = 'xul'
LOCAL_INCLUDES += [
@@ -1797,7 +1794,7 @@
diff --git a/widget/gtk/moz.build b/widget/gtk/moz.build
--- a/widget/gtk/moz.build
+++ b/widget/gtk/moz.build
-@@ -116,16 +116,17 @@ include('/ipc/chromium/chromium-config.m
+@@ -121,16 +121,17 @@ include('/ipc/chromium/chromium-config.m
FINAL_LIBRARY = 'xul'
@@ -1914,7 +1911,7 @@
GtkFileChooserAction action = GetGtkFileChooserAction(mMode);
-@@ -571,16 +598,240 @@ void nsFilePicker::Done(void *file_choos
+@@ -572,16 +599,240 @@ void nsFilePicker::Done(void *file_choos
mCallback->Done(result);
mCallback = nullptr;
} else {
@@ -2315,7 +2312,7 @@
diff --git a/xpcom/components/moz.build b/xpcom/components/moz.build
--- a/xpcom/components/moz.build
+++ b/xpcom/components/moz.build
-@@ -44,12 +44,13 @@ LOCAL_INCLUDES += [
+@@ -66,14 +66,15 @@ LOCAL_INCLUDES += [
'!..',
'../base',
'../build',
@@ -2329,6 +2326,8 @@
if 'gtk' in CONFIG['MOZ_WIDGET_TOOLKIT']:
CXXFLAGS += CONFIG['TK_CFLAGS']
+
+ include('/ipc/chromium/chromium-config.mozbuild')
diff --git a/xpcom/io/nsLocalFileUnix.cpp b/xpcom/io/nsLocalFileUnix.cpp
--- a/xpcom/io/nsLocalFileUnix.cpp
+++ b/xpcom/io/nsLocalFileUnix.cpp
++++++ mozilla-nongnome-proxies.patch ++++++
--- /var/tmp/diff_new_pack.pWF4Gk/_old 2019-05-27 08:29:51.051270596 +0200
+++ /var/tmp/diff_new_pack.pWF4Gk/_new 2019-05-27 08:29:51.051270596 +0200
@@ -9,7 +9,7 @@
diff --git a/toolkit/system/unixproxy/nsUnixSystemProxySettings.cpp b/toolkit/system/unixproxy/nsUnixSystemProxySettings.cpp
--- a/toolkit/system/unixproxy/nsUnixSystemProxySettings.cpp
+++ b/toolkit/system/unixproxy/nsUnixSystemProxySettings.cpp
-@@ -55,24 +55,27 @@ NS_IMETHODIMP
+@@ -57,24 +57,27 @@ NS_IMETHODIMP
nsUnixSystemProxySettings::GetMainThreadOnly(bool* aMainThreadOnly) {
// dbus prevents us from being threadsafe, but this routine should not block
// anyhow
@@ -17,7 +17,7 @@
return NS_OK;
}
- nsresult nsUnixSystemProxySettings::Init() {
+ void nsUnixSystemProxySettings::Init() {
- mGSettings = do_GetService(NS_GSETTINGSSERVICE_CONTRACTID);
- if (mGSettings) {
- mGSettings->GetCollectionForSchema(
@@ -38,10 +38,10 @@
+ mGConf = do_GetService(NS_GCONFSERVICE_CONTRACTID);
+ }
}
-
- return NS_OK;
}
bool nsUnixSystemProxySettings::IsProxyMode(const char* aMode) {
nsAutoCString mode;
return NS_SUCCEEDED(mGConf->GetString(
+ NS_LITERAL_CSTRING("/system/proxy/mode"), mode)) &&
+ mode.EqualsASCII(aMode);
++++++ source-stamp.txt ++++++
--- /var/tmp/diff_new_pack.pWF4Gk/_old 2019-05-27 08:29:51.095270579 +0200
+++ /var/tmp/diff_new_pack.pWF4Gk/_new 2019-05-27 08:29:51.099270577 +0200
@@ -1,2 +1,2 @@
-REV=96d2576eae4b
+REV=2a7896ba9aa5d982abe01f859d771d411fda8101
REPO=http://hg.mozilla.org/releases/mozilla-release
1
0
Hello community,
here is the log from the commit of package pipewire for openSUSE:Factory checked in at 2019-05-27 08:29:44
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/pipewire (Old)
and /work/SRC/openSUSE:Factory/.pipewire.new.5148 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "pipewire"
Mon May 27 08:29:44 2019 rev:5 rq:705212 version:0.2.6
Changes:
--------
--- /work/SRC/openSUSE:Factory/pipewire/pipewire.changes 2019-04-27 21:27:35.495270679 +0200
+++ /work/SRC/openSUSE:Factory/.pipewire.new.5148/pipewire.changes 2019-05-27 08:29:51.295270501 +0200
@@ -1,0 +2,28 @@
+Wed May 22 16:33:08 UTC 2019 - Markus S <kamikazow(a)opensuse.org>
+
+- Update to version 0.2.6:
+ + Improve error checking for threads.
+ + Fix some memory and fd leaks.
+ + Fix compilation with C++ compilers and clang.
+ + DISABLE_RTKIT should now not try to use dbus at all.
+ + Camera Portal fixes:
+ - add Camera media.role.
+ - Rename module-flatpak to module-portal.
+ - Use the portal permissions store for camera checks.
+ + Actually use the passed fd in pipewiresrc.
+ + Make properties with "pipewire." prefix read-only.
+ + Add security label to client object.
+ + Enforce link permissions.
+ + Permissions of objects are now combined with parent
+ permissions.
+ + Remove libv4l2 dependency, it is not used.
+ + Improve format negotiation in autolink #146.
+ + Try to avoid list corruption with event emmission #143.
+ + Fix destroy of client-node memory corruption.
+ + Various small improvements.
+- Remove pkgconfig(libv4l2) BuildRequires: follow upstreams cleanup
+ of build dependencies.
+- Drop avoid-invalid-conversion-error-with-C++.patch: fixed
+ upstream.
+
+-------------------------------------------------------------------
Old:
----
avoid-invalid-conversion-error-with-C++.patch
pipewire-0.2.5.tar.gz
New:
----
pipewire-0.2.6.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ pipewire.spec ++++++
--- /var/tmp/diff_new_pack.BhD38a/_old 2019-05-27 08:29:51.803270303 +0200
+++ /var/tmp/diff_new_pack.BhD38a/_new 2019-05-27 08:29:51.803270303 +0200
@@ -22,15 +22,13 @@
%define spa_ver 0.1
Name: pipewire
-Version: 0.2.5
+Version: 0.2.6
Release: 0
Summary: A Multimedia Framework designed to be an audio and video server and more
License: LGPL-2.1-or-later
Group: Development/Libraries/C and C++
URL: https://pipewire.org/
Source0: https://github.com/PipeWire/pipewire/archive/%{version}.tar.gz#/%{name}-%{v…
-# PATCH-FIX-UPSTREAM
-Patch1: avoid-invalid-conversion-error-with-C++.patch
BuildRequires: meson
BuildRequires: pkgconfig
@@ -52,7 +50,6 @@
BuildRequires: pkgconfig(libavformat)
BuildRequires: pkgconfig(libsystemd)
BuildRequires: pkgconfig(libudev)
-BuildRequires: pkgconfig(libv4l2)
BuildRequires: pkgconfig(libva)
BuildRequires: pkgconfig(sbc)
BuildRequires: pkgconfig(sdl2)
@@ -211,7 +208,7 @@
%{_libdir}/pipewire-%{apiver}/libpipewire-module-audio-dsp.so
%{_libdir}/pipewire-%{apiver}/libpipewire-module-autolink.so
%{_libdir}/pipewire-%{apiver}/libpipewire-module-client-node.so
-%{_libdir}/pipewire-%{apiver}/libpipewire-module-flatpak.so
+%{_libdir}/pipewire-%{apiver}/libpipewire-module-portal.so
%{_libdir}/pipewire-%{apiver}/libpipewire-module-link-factory.so
%{_libdir}/pipewire-%{apiver}/libpipewire-module-mixer.so
%{_libdir}/pipewire-%{apiver}/libpipewire-module-protocol-native.so
++++++ pipewire-0.2.5.tar.gz -> pipewire-0.2.6.tar.gz ++++++
++++ 5857 lines of diff (skipped)
1
0
Hello community,
here is the log from the commit of package python-tox for openSUSE:Factory checked in at 2019-05-27 08:29:04
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-tox (Old)
and /work/SRC/openSUSE:Factory/.python-tox.new.5148 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-tox"
Mon May 27 08:29:04 2019 rev:28 rq:705207 version:3.12.1
Changes:
--------
--- /work/SRC/openSUSE:Factory/python-tox/python-tox.changes 2019-05-16 21:59:13.662805691 +0200
+++ /work/SRC/openSUSE:Factory/.python-tox.new.5148/python-tox.changes 2019-05-27 08:29:05.767288248 +0200
@@ -1,0 +2,16 @@
+Fri May 24 11:40:04 CEST 2019 - Matej Cepl <mcepl(a)suse.com>
+
+- Update to 3.12.1:
+ - Ensure TOX_WORK_DIR is a native string in os.environ
+ - Fix import and usage of winreg for python2.7 on windows
+ - Fix Windows selects incorrect spec on first discovery
+ - When using --parallel with --result-json the test results are
+ now included the same way as with serial runs
+ - Turns out the output of the py -0p is not stable yet and
+ varies depending on various edge cases. Instead now we read
+ the interpreter values directly from registry via PEP-514
+ - Adding TOX_PARALLEL_NO_SPINNER environment variable to
+ disable the spinner in parallel mode for the purposes of
+ clean output when using CI tools
+
+-------------------------------------------------------------------
Old:
----
tox-3.11.1.tar.gz
New:
----
tox-3.12.1.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ python-tox.spec ++++++
--- /var/tmp/diff_new_pack.UwVwzR/_old 2019-05-27 08:29:07.411287608 +0200
+++ /var/tmp/diff_new_pack.UwVwzR/_new 2019-05-27 08:29:07.411287608 +0200
@@ -23,7 +23,7 @@
%{?!python_module:%define python_module() python-%{**} python3-%{**}}
Name: python-tox
-Version: 3.11.1
+Version: 3.12.1
Release: 0
Summary: Virtualenv-based automation of test activities
License: MIT
++++++ tox-3.11.1.tar.gz -> tox-3.12.1.tar.gz ++++++
++++ 1992 lines of diff (skipped)
1
0
Hello community,
here is the log from the commit of package rust-cbindgen for openSUSE:Factory checked in at 2019-05-27 08:28:48
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/rust-cbindgen (Old)
and /work/SRC/openSUSE:Factory/.rust-cbindgen.new.5148 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "rust-cbindgen"
Mon May 27 08:28:48 2019 rev:3 rq:705196 version:0.8.7
Changes:
--------
--- /work/SRC/openSUSE:Factory/rust-cbindgen/rust-cbindgen.changes 2019-03-27 16:11:53.555660054 +0100
+++ /work/SRC/openSUSE:Factory/.rust-cbindgen.new.5148/rust-cbindgen.changes 2019-05-27 08:28:58.527291072 +0200
@@ -1,0 +2,6 @@
+Tue May 14 11:57:41 UTC 2019 - Wolfgang Rosenauer <wr(a)rosenauer.org>
+
+- update to version 0.8.7
+ * there is no upstream changelog provided
+
+-------------------------------------------------------------------
Old:
----
cbindgen-0.6.8.tar.gz
New:
----
cbindgen-0.8.7.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ rust-cbindgen.spec ++++++
--- /var/tmp/diff_new_pack.oG9g3j/_old 2019-05-27 08:29:00.455290320 +0200
+++ /var/tmp/diff_new_pack.oG9g3j/_new 2019-05-27 08:29:00.455290320 +0200
@@ -1,5 +1,5 @@
#
-# spec file for package rust-cbindgen
+# spec file for package rust
#
# Copyright (c) 2019 SUSE LINUX GmbH, Nuernberg, Germany.
#
@@ -20,7 +20,7 @@
%global crate_name cbindgen
%global rustflags -Clink-arg=-Wl,-z,relro,-z,now
Name: rust-%{crate_name}
-Version: 0.6.8
+Version: 0.8.7
Release: 0
Summary: A tool for generating C bindings from Rust code
License: MPL-2.0
++++++ cbindgen-0.6.8.tar.gz -> cbindgen-0.8.7.tar.gz ++++++
++++ 9442 lines of diff (skipped)
++++++ vendor.tar.xz ++++++
++++ 133979 lines of diff (skipped)
1
0
Hello community,
here is the log from the commit of package python-kiwi for openSUSE:Factory checked in at 2019-05-27 08:28:39
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-kiwi (Old)
and /work/SRC/openSUSE:Factory/.python-kiwi.new.5148 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-kiwi"
Mon May 27 08:28:39 2019 rev:42 rq:705193 version:9.17.39
Changes:
--------
--- /work/SRC/openSUSE:Factory/python-kiwi/python-kiwi.changes 2019-04-17 10:05:20.054569881 +0200
+++ /work/SRC/openSUSE:Factory/.python-kiwi.new.5148/python-kiwi.changes 2019-05-27 08:28:43.711296847 +0200
@@ -1,0 +2,335 @@
+Fri May 24 08:57:42 CEST 2019 - Marcus Schäfer <ms(a)suse.de>
+
+- Bump version: 9.17.38 → 9.17.39
+
+-------------------------------------------------------------------
+Thu May 23 15:33:18 CEST 2019 - Marcus Schäfer <ms(a)suse.de>
+
+- Update obs docs per review by Tom
+
+-------------------------------------------------------------------
+Wed May 22 16:04:47 CEST 2019 - David Cassany <dcassany(a)suse.de>
+
+- Disable check-valid-until with repository_gpgcheck
+
+ This commit is two fold:
+
+ * From one side fixes a wrong use of the `trusted` option for
+ apt repositories. `trusted=no` does not force to run the gpg checks
+ it just forces the repository to be considered untrusted regardless
+ the result of the security checks.
+
+ * From the other side it disables the option `check-valid-until` in
+ case gpg checks are disabled using the `repository_gpgcheck`. It
+ works at repository level. This enables using unmaintained or
+ expired repositories for the build.
+
+ Fixes #1028
+
+-------------------------------------------------------------------
+Fri May 17 14:08:21 CEST 2019 - Thomas Schraitle <toms(a)suse.de>
+
+- Simplify shell pipe expression with shell builtin
+
+ Replace "echo $var | sed ..." expression with ${var//SEARCH/REPLACE}
+ shell builtin as suggested by Codacy
+
+-------------------------------------------------------------------
+Wed May 15 08:55:52 CEST 2019 - Marcus Schäfer <ms(a)suse.de>
+
+- Make mediacheck runtime check arch independent
+
+ The check_mediacheck_only_for_x86_arch runtime check fails on
+ non x86 architectures but the tagmedia toolchain exists independent
+ of the platform architecture. This Fixes #1091
+
+-------------------------------------------------------------------
+Tue May 14 08:45:21 CEST 2019 - Marcus Schäfer <ms(a)suse.de>
+
+- Set home as protected path
+
+ Along with adding home to the protection list, cleanup
+ the prepare instance cleanup code in a way that it only
+ runs if a root_bind object exists which needs to call
+ its cleanup path
+
+-------------------------------------------------------------------
+Mon May 13 17:17:02 CEST 2019 - Dan Čermák <dcermak(a)suse.com>
+
+- Extend docs about building multiple profiles on OBS
+
+-------------------------------------------------------------------
+Fri May 10 23:04:18 CEST 2019 - Dan Čermák <dcermak(a)suse.com>
+
+- Remove FIXME from the runtime configuration file example
+
+-------------------------------------------------------------------
+Thu May 09 23:33:42 CEST 2019 - Dan Čermák <dcermak(a)suse.com>
+
+- Improve the documentation about building in the Build Service
+
+ Co-Authored-By: Thomas Schraitle <tom_schr(a)web.de>
+
+-------------------------------------------------------------------
+Thu May 09 23:03:36 CEST 2019 - Dan Čermák <dcermak(a)suse.com>
+
+- Turn sphinx warnings into errors
+
+ Modify the sphinx Makefile to treat warnings
+ like undefined references as errors
+
+-------------------------------------------------------------------
+Wed May 08 17:02:41 CEST 2019 - Alberto Planas <aplanas(a)gmail.com>
+
+- kiwi-live-lib: mount live ISO as read-only
+
+ During the boot process of a live image, dracut shows this WARNING:
+
+ dracut-initqueue: mount: /run/initramfs/live: WARNING: device write-protected, mounted read-only
+
+ This is not a problem, as the live ISO image is, indeed, read-only.
+
+ This patch fix this cosmetic issue being explicit in the mount
+ options in `mountIso` function.
+
+-------------------------------------------------------------------
+Tue May 07 11:10:39 CEST 2019 - Marcus Schäfer <ms(a)suse.de>
+
+- Call isolinux-config only on supported archs
+
+-------------------------------------------------------------------
+Mon May 06 15:53:45 CEST 2019 - David Cassany <dcassany(a)suse.de>
+
+- Discard default dependencies for sysroot.mount
+
+ This commit makes default dependencies from sysroot.mount to be
+ explicitly omitted. This fixes potential inconsistencies in
+ ordering pre-mount.service with local-fs.target. This change is
+ also applied to upstream sysroot.mount generator here:
+
+ https://github.com/systemd/systemd/pull/12281
+
+ Fixes #1015
+
+-------------------------------------------------------------------
+Fri May 03 11:51:02 CEST 2019 - David Cassany <dcassany(a)suse.de>
+
+- Fix locale setting
+
+ For pre-Leap 15 openSUSE versions KIWI >= 9.12.0 was not completely
+ setting locale, as it was missingto set the RC_LANG variable from
+ `/etc/sysconfig/language` file. Current commit enforces to update
+ locale in `/etc/sysconfig/language` (if the file exists) at the
+ same time it applies systemd-firstboot configurations.
+
+ Fixes #1081
+
+-------------------------------------------------------------------
+Thu May 02 16:17:50 CEST 2019 - Dan Čermák <dcermak(a)suse.com>
+
+- Cleanup TODO & FIXME from xml_description.rst
+
+-------------------------------------------------------------------
+Fri Apr 26 15:06:14 CEST 2019 - Dan Čermák <dcermak(a)suse.com>
+
+- Add GitLab CI pipeline badge to README.rst
+
+-------------------------------------------------------------------
+Fri Apr 26 15:05:51 CEST 2019 - Dan Čermák <dcermak(a)suse.com>
+
+- Extend the development documentation
+
+ Co-Authored-By: Thomas Schraitle <tom_schr(a)web.de>
+
+-------------------------------------------------------------------
+Fri Apr 26 12:29:19 CEST 2019 - Dan Čermák <dcermak(a)suse.com>
+
+- Log thrown exceptions in Compress.get_format()
+
+-------------------------------------------------------------------
+Fri Apr 26 12:29:00 CEST 2019 - Dan Čermák <dcermak(a)suse.com>
+
+- Fix documentation of Compress.get_format()
+
+-------------------------------------------------------------------
+Fri Apr 26 11:40:14 CEST 2019 - Dan Čermák <dcermak(a)suse.com>
+
+- log exception in SystemPrepare.__del__
+
+-------------------------------------------------------------------
+Fri Apr 26 10:53:51 CEST 2019 - Dan Čermák <dcermak(a)suse.com>
+
+- Use yaml.safe_load instead of yaml.load
+
+ yaml.load is relatively dangerous when the loaded data comes from untrusted
+ sources, as it can allow for arbitrary code execution, see:
+ https://pyyaml.org/wiki/PyYAMLDocumentation#LoadingYAML
+
+ safe_load limits the created python objects to the basic Python types like
+ integers and strings, which is all that we need for the runtime configuration
+ file.
+
+-------------------------------------------------------------------
+Thu Apr 25 16:40:39 CEST 2019 - Marcus Schäfer <ms(a)suse.de>
+
+- Fixing doc source for broken refs and xml syntax
+
+-------------------------------------------------------------------
+Wed Apr 24 22:56:24 CEST 2019 - Dan Čermák <dcermak(a)suse.com>
+
+- Document the usage of profiles via the CLI and OBS
+
+-------------------------------------------------------------------
+Wed Apr 24 22:31:44 CEST 2019 - Tom Schraitle <tomschr(a)users.noreply.github.com>
+
+- Apply suggestions from @tomschr
+
+ Co-Authored-By: dcermak <45594031+dcermak(a)users.noreply.github.com>
+
+-------------------------------------------------------------------
+Wed Apr 24 17:26:52 CEST 2019 - Dan Čermák <dcermak(a)suse.com>
+
+- Improve the documentation of the runtime configuration file
+
+ Co-Authored-By: Thomas Schraitle <tom_schr(a)web.de>
+
+-------------------------------------------------------------------
+Wed Apr 24 15:33:19 CEST 2019 - Tom Schraitle <tomschr(a)users.noreply.github.com>
++++ 166 more lines (skipped)
++++ between /work/SRC/openSUSE:Factory/python-kiwi/python-kiwi.changes
++++ and /work/SRC/openSUSE:Factory/.python-kiwi.new.5148/python-kiwi.changes
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ python-kiwi.spec ++++++
--- /var/tmp/diff_new_pack.ueuA48/_old 2019-05-27 08:28:44.831296411 +0200
+++ /var/tmp/diff_new_pack.ueuA48/_new 2019-05-27 08:28:44.851296403 +0200
@@ -45,7 +45,7 @@
%endif
Name: python-kiwi
-Version: 9.17.37
+Version: 9.17.39
Provides: kiwi-schema = 6.6
Release: 0
Url: https://github.com/SUSE/kiwi
++++++ python-kiwi.tar.gz ++++++
++++ 2203 lines of diff (skipped)
1
0
Hello community,
here is the log from the commit of package 000update-repos for openSUSE:Factory checked in at 2019-05-26 21:17:32
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/000update-repos (Old)
and /work/SRC/openSUSE:Factory/.000update-repos.new.5148 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "000update-repos"
Sun May 26 21:17:32 2019 rev:271 rq: version:unknown
Changes:
--------
New Changes file:
NO CHANGES FILE!!!
New:
----
42.3:update_1558885530.packages.xz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
1
0
Hello community,
here is the log from the commit of package 000update-repos for openSUSE:Factory checked in at 2019-05-26 21:17:24
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/000update-repos (Old)
and /work/SRC/openSUSE:Factory/.000update-repos.new.5148 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "000update-repos"
Sun May 26 21:17:24 2019 rev:270 rq: version:unknown
Changes:
--------
New Changes file:
NO CHANGES FILE!!!
New:
----
15.0:update_1558883378.packages.xz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
1
0
Hello community,
here is the log from the commit of package 000product for openSUSE:Factory checked in at 2019-05-26 01:07:33
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/000product (Old)
and /work/SRC/openSUSE:Factory/.000product.new.5148 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "000product"
Sun May 26 01:07:33 2019 rev:1271 rq: version:unknown
Changes:
--------
New Changes file:
NO CHANGES FILE!!!
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ openSUSE-Addon-NonOss-ftp-ftp-i586_x86_64.kiwi ++++++
--- /var/tmp/diff_new_pack.NJvdCF/_old 2019-05-26 01:07:37.449083157 +0200
+++ /var/tmp/diff_new_pack.NJvdCF/_new 2019-05-26 01:07:37.461083153 +0200
@@ -1,4 +1,4 @@
-<image name="OBS__openSUSE-Addon-NonOss___20190524" schemaversion="4.1">
+<image name="OBS__openSUSE-Addon-NonOss___20190525" schemaversion="4.1">
<description type="system">
<author>The SUSE Team</author>
<contact>build(a)opensuse.org</contact>
@@ -36,11 +36,11 @@
<productvar name="SEPARATE_MEDIA">true</productvar>
<productvar name="SHA1OPT">-x -2</productvar>
<productvar name="VENDOR">openSUSE</productvar>
- <productvar name="VERSION">20190524</productvar>
+ <productvar name="VERSION">20190525</productvar>
<productinfo name="CONTENTSTYLE">11</productinfo>
- <productinfo name="DISTRO">cpe:/o:opensuse:opensuse-addon-nonoss:20190524,openSUSE NonOSS Addon</productinfo>
+ <productinfo name="DISTRO">cpe:/o:opensuse:opensuse-addon-nonoss:20190525,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/2019… obsproduct://build.opensuse.org/openSUSE:Factory/openSUSE-Addon-NonOss/2019…</productinfo>
+ <productinfo name="REPOID">obsproduct://build.opensuse.org/openSUSE:Factory/openSUSE-Addon-NonOss/2019… obsproduct://build.opensuse.org/openSUSE:Factory/openSUSE-Addon-NonOss/2019…</productinfo>
<productinfo name="VENDOR">openSUSE</productinfo>
<productoption name="INI_DIR">/usr/share/kiwi/modules/plugins/suse-tumbleweed</productoption>
<productoption name="PLUGIN_DIR">/usr/share/kiwi/modules/plugins/suse-tumbleweed</productoption>
++++++ openSUSE-MicroOS-dvd5-dvd-x86_64.kiwi ++++++
--- /var/tmp/diff_new_pack.NJvdCF/_old 2019-05-26 01:07:37.749083049 +0200
+++ /var/tmp/diff_new_pack.NJvdCF/_new 2019-05-26 01:07:37.761083044 +0200
@@ -1,4 +1,4 @@
-<image name="OBS__openSUSE-MicroOS___20190524" schemaversion="4.1">
+<image name="OBS__openSUSE-MicroOS___20190525" 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">20190524</productvar>
+ <productvar name="VERSION">20190525</productvar>
<productinfo name="CONTENTSTYLE">11</productinfo>
- <productinfo name="DISTRO">cpe:/o:opensuse:opensuse-microos:20190524,openSUSE MicroOS</productinfo>
+ <productinfo name="DISTRO">cpe:/o:opensuse:opensuse-microos:20190525,openSUSE MicroOS</productinfo>
<productinfo name="LINGUAS">en_US </productinfo>
- <productinfo name="REPOID">obsproduct://build.opensuse.org/openSUSE:Factory/openSUSE-MicroOS/20190524/…</productinfo>
+ <productinfo name="REPOID">obsproduct://build.opensuse.org/openSUSE:Factory/openSUSE-MicroOS/20190525/…</productinfo>
<productinfo name="VENDOR">openSUSE</productinfo>
<productoption name="INI_DIR">/usr/share/kiwi/modules/plugins/suse-tumbleweed</productoption>
<productoption name="PLUGIN_DIR">/usr/share/kiwi/modules/plugins/suse-tumbleweed</productoption>
openSUSE-MicroOS-dvd5-kubic-dvd-x86_64.kiwi: same change
++++++ openSUSE-cd-mini-i586.kiwi ++++++
--- /var/tmp/diff_new_pack.NJvdCF/_old 2019-05-26 01:07:38.261082863 +0200
+++ /var/tmp/diff_new_pack.NJvdCF/_new 2019-05-26 01:07:38.277082857 +0200
@@ -1,4 +1,4 @@
-<image name="OBS__openSUSE___20190524" schemaversion="4.1">
+<image name="OBS__openSUSE___20190525" schemaversion="4.1">
<description type="system">
<author>The SUSE Team</author>
<contact>build(a)opensuse.org</contact>
@@ -32,11 +32,11 @@
<productvar name="SEPARATE_MEDIA">true</productvar>
<productvar name="SHA1OPT">-x -2</productvar>
<productvar name="VENDOR">openSUSE</productvar>
- <productvar name="VERSION">20190524</productvar>
+ <productvar name="VERSION">20190525</productvar>
<productinfo name="CONTENTSTYLE">11</productinfo>
- <productinfo name="DISTRO">cpe:/o:opensuse:opensuse:20190524,openSUSE Tumbleweed</productinfo>
+ <productinfo name="DISTRO">cpe:/o:opensuse:opensuse:20190525,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/20190524/i586</productinfo>
+ <productinfo name="REPOID">obsproduct://build.opensuse.org/openSUSE:Factory/openSUSE/20190525/i586</productinfo>
<productinfo name="VENDOR">openSUSE</productinfo>
<productoption name="INI_DIR">/usr/share/kiwi/modules/plugins/suse-tumbleweed</productoption>
<productoption name="PLUGIN_DIR">/usr/share/kiwi/modules/plugins/suse-tumbleweed</productoption>
++++++ openSUSE-cd-mini-x86_64.kiwi ++++++
--- /var/tmp/diff_new_pack.NJvdCF/_old 2019-05-26 01:07:38.553082758 +0200
+++ /var/tmp/diff_new_pack.NJvdCF/_new 2019-05-26 01:07:38.573082751 +0200
@@ -1,4 +1,4 @@
-<image name="OBS__openSUSE___20190524" schemaversion="4.1">
+<image name="OBS__openSUSE___20190525" 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">20190524</productvar>
+ <productvar name="VERSION">20190525</productvar>
<productinfo name="CONTENTSTYLE">11</productinfo>
- <productinfo name="DISTRO">cpe:/o:opensuse:opensuse:20190524,openSUSE Tumbleweed</productinfo>
+ <productinfo name="DISTRO">cpe:/o:opensuse:opensuse:20190525,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/20190524/x86_64</productinfo>
+ <productinfo name="REPOID">obsproduct://build.opensuse.org/openSUSE:Factory/openSUSE/20190525/x86_64</productinfo>
<productinfo name="VENDOR">openSUSE</productinfo>
<productoption name="INI_DIR">/usr/share/kiwi/modules/plugins/suse-tumbleweed</productoption>
<productoption name="PLUGIN_DIR">/usr/share/kiwi/modules/plugins/suse-tumbleweed</productoption>
++++++ openSUSE-dvd5-dvd-i586.kiwi ++++++
--- /var/tmp/diff_new_pack.NJvdCF/_old 2019-05-26 01:07:38.789082672 +0200
+++ /var/tmp/diff_new_pack.NJvdCF/_new 2019-05-26 01:07:38.805082667 +0200
@@ -1,4 +1,4 @@
-<image name="OBS__openSUSE___20190524" schemaversion="4.1">
+<image name="OBS__openSUSE___20190525" schemaversion="4.1">
<description type="system">
<author>The SUSE Team</author>
<contact>build(a)opensuse.org</contact>
@@ -32,11 +32,11 @@
<productvar name="SEPARATE_MEDIA">true</productvar>
<productvar name="SHA1OPT">-x -2</productvar>
<productvar name="VENDOR">openSUSE</productvar>
- <productvar name="VERSION">20190524</productvar>
+ <productvar name="VERSION">20190525</productvar>
<productinfo name="CONTENTSTYLE">11</productinfo>
- <productinfo name="DISTRO">cpe:/o:opensuse:opensuse:20190524,openSUSE Tumbleweed</productinfo>
+ <productinfo name="DISTRO">cpe:/o:opensuse:opensuse:20190525,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/20190524/i586</productinfo>
+ <productinfo name="REPOID">obsproduct://build.opensuse.org/openSUSE:Factory/openSUSE/20190525/i586</productinfo>
<productinfo name="VENDOR">openSUSE</productinfo>
<productoption name="INI_DIR">/usr/share/kiwi/modules/plugins/suse-tumbleweed</productoption>
<productoption name="PLUGIN_DIR">/usr/share/kiwi/modules/plugins/suse-tumbleweed</productoption>
@@ -348,7 +348,7 @@
<repopackage name="cpio-lang"/>
<repopackage name="cpio-mt"/>
<repopackage name="cpp"/>
- <repopackage name="cpp8"/>
+ <repopackage name="cpp9"/>
<repopackage name="cppcheck"/>
<repopackage name="cpupower"/>
<repopackage name="cracklib"/>
@@ -617,12 +617,12 @@
<repopackage name="gcc-fortran"/>
<repopackage name="gcc-info"/>
<repopackage name="gcc-objc"/>
- <repopackage name="gcc8"/>
- <repopackage name="gcc8-c++"/>
- <repopackage name="gcc8-fortran"/>
- <repopackage name="gcc8-info"/>
- <repopackage name="gcc8-locale"/>
- <repopackage name="gcc8-objc"/>
+ <repopackage name="gcc9"/>
+ <repopackage name="gcc9-c++"/>
+ <repopackage name="gcc9-fortran"/>
+ <repopackage name="gcc9-info"/>
+ <repopackage name="gcc9-locale"/>
+ <repopackage name="gcc9-objc"/>
<repopackage name="gcin"/>
<repopackage name="gcin-branding-openSUSE"/>
<repopackage name="gcin-gtk2"/>
@@ -2360,8 +2360,6 @@
<repopackage name="libmpfr6"/>
<repopackage name="libmpg123-0"/>
<repopackage name="libmplex2-2_0-0"/>
- <repopackage name="libmpx2"/>
- <repopackage name="libmpxwrappers2"/>
<repopackage name="libmspack0"/>
<repopackage name="libmspub-0_1-1"/>
<repopackage name="libmtdev1"/>
@@ -2794,7 +2792,7 @@
<repopackage name="libstartup-notification-1-0"/>
<repopackage name="libstdc++-devel"/>
<repopackage name="libstdc++6"/>
- <repopackage name="libstdc++6-devel-gcc8"/>
+ <repopackage name="libstdc++6-devel-gcc9"/>
<repopackage name="libstdc++6-gcc7-locale"/>
<repopackage name="libstdc++6-gcc8-locale"/>
<repopackage name="libstdc++6-locale"/>
@@ -4952,6 +4950,7 @@
<repopackage name="system-user-uucp"/>
<repopackage name="system-user-wwwrun"/>
<repopackage name="systemd"/>
+ <repopackage name="systemd-container"/>
<repopackage name="systemd-icon-branding-openSUSE"/>
<repopackage name="systemd-logger"/>
<repopackage name="systemd-presets-branding-openSUSE"/>
++++++ openSUSE-dvd5-dvd-x86_64.kiwi ++++++
--- /var/tmp/diff_new_pack.NJvdCF/_old 2019-05-26 01:07:39.073082570 +0200
+++ /var/tmp/diff_new_pack.NJvdCF/_new 2019-05-26 01:07:39.097082561 +0200
@@ -1,4 +1,4 @@
-<image name="OBS__openSUSE___20190524" schemaversion="4.1">
+<image name="OBS__openSUSE___20190525" 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">20190524</productvar>
+ <productvar name="VERSION">20190525</productvar>
<productinfo name="CONTENTSTYLE">11</productinfo>
- <productinfo name="DISTRO">cpe:/o:opensuse:opensuse:20190524,openSUSE Tumbleweed</productinfo>
+ <productinfo name="DISTRO">cpe:/o:opensuse:opensuse:20190525,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/20190524/x86_64</productinfo>
+ <productinfo name="REPOID">obsproduct://build.opensuse.org/openSUSE:Factory/openSUSE/20190525/x86_64</productinfo>
<productinfo name="VENDOR">openSUSE</productinfo>
<productoption name="INI_DIR">/usr/share/kiwi/modules/plugins/suse-tumbleweed</productoption>
<productoption name="PLUGIN_DIR">/usr/share/kiwi/modules/plugins/suse-tumbleweed</productoption>
@@ -358,7 +358,7 @@
<repopackage name="cpio-lang"/>
<repopackage name="cpio-mt"/>
<repopackage name="cpp"/>
- <repopackage name="cpp8"/>
+ <repopackage name="cpp9"/>
<repopackage name="cppcheck"/>
<repopackage name="cpupower"/>
<repopackage name="cracklib"/>
@@ -636,12 +636,12 @@
<repopackage name="gcc-fortran"/>
<repopackage name="gcc-info"/>
<repopackage name="gcc-objc"/>
- <repopackage name="gcc8"/>
- <repopackage name="gcc8-c++"/>
- <repopackage name="gcc8-fortran"/>
- <repopackage name="gcc8-info"/>
- <repopackage name="gcc8-locale"/>
- <repopackage name="gcc8-objc"/>
+ <repopackage name="gcc9"/>
+ <repopackage name="gcc9-c++"/>
+ <repopackage name="gcc9-fortran"/>
+ <repopackage name="gcc9-info"/>
+ <repopackage name="gcc9-locale"/>
+ <repopackage name="gcc9-objc"/>
<repopackage name="gcin"/>
<repopackage name="gcin-branding-openSUSE"/>
<repopackage name="gcin-gtk2"/>
@@ -2473,8 +2473,6 @@
<repopackage name="libmpfr6"/>
<repopackage name="libmpg123-0"/>
<repopackage name="libmplex2-2_0-0"/>
- <repopackage name="libmpx2"/>
- <repopackage name="libmpxwrappers2"/>
<repopackage name="libmspack0"/>
<repopackage name="libmspub-0_1-1"/>
<repopackage name="libmtdev1"/>
@@ -2947,7 +2945,7 @@
<repopackage name="libstdc++-devel"/>
<repopackage name="libstdc++6"/>
<repopackage name="libstdc++6-32bit" arch="x86_64"/>
- <repopackage name="libstdc++6-devel-gcc8"/>
+ <repopackage name="libstdc++6-devel-gcc9"/>
<repopackage name="libstdc++6-gcc7-locale"/>
<repopackage name="libstdc++6-gcc8-locale"/>
<repopackage name="libstdc++6-locale"/>
@@ -5203,6 +5201,7 @@
<repopackage name="system-user-wwwrun"/>
<repopackage name="systemd"/>
<repopackage name="systemd-32bit" arch="x86_64"/>
+ <repopackage name="systemd-container"/>
<repopackage name="systemd-icon-branding-openSUSE"/>
<repopackage name="systemd-logger"/>
<repopackage name="systemd-presets-branding-openSUSE"/>
++++++ openSUSE-ftp-ftp-i586_x86_64.kiwi ++++++
--- /var/tmp/diff_new_pack.NJvdCF/_old 2019-05-26 01:07:39.353082469 +0200
+++ /var/tmp/diff_new_pack.NJvdCF/_new 2019-05-26 01:07:39.369082463 +0200
@@ -1,4 +1,4 @@
-<image name="OBS__openSUSE___20190524" schemaversion="4.1">
+<image name="OBS__openSUSE___20190525" schemaversion="4.1">
<description type="system">
<author>The SUSE Team</author>
<contact>build(a)opensuse.org</contact>
@@ -24,7 +24,7 @@
<productvar name="DISTNAME">openSUSE</productvar>
<productvar name="FLAVOR">ftp</productvar>
<productvar name="MAKE_LISTINGS">true</productvar>
- <productvar name="MEDIUM_NAME">openSUSE-20190524-i586-x86_64</productvar>
+ <productvar name="MEDIUM_NAME">openSUSE-20190525-i586-x86_64</productvar>
<productvar name="MULTIPLE_MEDIA">true</productvar>
<productvar name="PRODUCT_DIR">/</productvar>
<productvar name="PRODUCT_NAME">$DISTNAME-$FLAVOR</productvar>
@@ -36,11 +36,11 @@
<productvar name="SEPARATE_MEDIA">true</productvar>
<productvar name="SHA1OPT">-x -2</productvar>
<productvar name="VENDOR">openSUSE</productvar>
- <productvar name="VERSION">20190524</productvar>
+ <productvar name="VERSION">20190525</productvar>
<productinfo name="CONTENTSTYLE">11</productinfo>
- <productinfo name="DISTRO">cpe:/o:opensuse:opensuse:20190524,openSUSE Tumbleweed</productinfo>
+ <productinfo name="DISTRO">cpe:/o:opensuse:opensuse:20190525,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/20190524/i586 obsproduct://build.opensuse.org/openSUSE:Factory/openSUSE/20190524/x86_64</productinfo>
+ <productinfo name="REPOID">obsproduct://build.opensuse.org/openSUSE:Factory/openSUSE/20190525/i586 obsproduct://build.opensuse.org/openSUSE:Factory/openSUSE/20190525/x86_64</productinfo>
<productinfo name="VENDOR">openSUSE</productinfo>
<productoption name="DEBUGMEDIUM">2</productoption>
<productoption name="INI_DIR">/usr/share/kiwi/modules/plugins/suse-tumbleweed</productoption>
++++++ dvd.group ++++++
--- /var/tmp/diff_new_pack.NJvdCF/_old 2019-05-26 01:07:40.273082136 +0200
+++ /var/tmp/diff_new_pack.NJvdCF/_new 2019-05-26 01:07:40.285082132 +0200
@@ -350,7 +350,7 @@
<package name="cpio-lang" supportstatus="unsupported"/> <!-- reason: dvd:kernel-default -->
<package name="cpio-mt" supportstatus="unsupported"/> <!-- reason: dvd:kernel-default -->
<package name="cpp" supportstatus="unsupported"/> <!-- reason: dvd:patterns-gnome-gnome -->
- <package name="cpp8" supportstatus="unsupported"/> <!-- reason: dvd:patterns-gnome-gnome -->
+ <package name="cpp9" supportstatus="unsupported"/> <!-- reason: dvd:patterns-gnome-gnome -->
<package name="cppcheck" supportstatus="unsupported"/> <!-- reason: dvd:patterns-kde-kde_ide -->
<package name="cpupower" supportstatus="unsupported"/> <!-- reason: dvd:patterns-gnome-gnome -->
<package name="cracklib" supportstatus="unsupported"/> <!-- reason: dvd:kernel-default -->
@@ -617,12 +617,12 @@
<package name="gcc-fortran" supportstatus="unsupported"/> <!-- reason: dvd:expansion -->
<package name="gcc-info" supportstatus="unsupported"/> <!-- reason: dvd:patterns-devel-C-C++-devel_C_C++ -->
<package name="gcc-objc" supportstatus="unsupported"/> <!-- reason: dvd:expansion -->
- <package name="gcc8" supportstatus="unsupported"/> <!-- reason: dvd:patterns-devel-C-C++-devel_C_C++ -->
- <package name="gcc8-c++" supportstatus="unsupported"/> <!-- reason: dvd:patterns-devel-C-C++-devel_C_C++ -->
- <package name="gcc8-fortran" supportstatus="unsupported"/> <!-- reason: dvd:expansion -->
- <package name="gcc8-info" supportstatus="unsupported"/> <!-- reason: dvd:patterns-devel-C-C++-devel_C_C++ -->
- <package name="gcc8-locale" supportstatus="unsupported"/> <!-- reason: dvd:expansion -->
- <package name="gcc8-objc" supportstatus="unsupported"/> <!-- reason: dvd:expansion -->
+ <package name="gcc9" supportstatus="unsupported"/> <!-- reason: dvd:patterns-devel-C-C++-devel_C_C++ -->
+ <package name="gcc9-c++" supportstatus="unsupported"/> <!-- reason: dvd:patterns-devel-C-C++-devel_C_C++ -->
+ <package name="gcc9-fortran" supportstatus="unsupported"/> <!-- reason: dvd:expansion -->
+ <package name="gcc9-info" supportstatus="unsupported"/> <!-- reason: dvd:patterns-devel-C-C++-devel_C_C++ -->
+ <package name="gcc9-locale" supportstatus="unsupported"/> <!-- reason: dvd:expansion -->
+ <package name="gcc9-objc" supportstatus="unsupported"/> <!-- reason: dvd:expansion -->
<package name="gcin" supportstatus="unsupported"/> <!-- reason: dvd:kernel-default -->
<package name="gcin-branding-openSUSE" supportstatus="unsupported"/> <!-- reason: dvd:kernel-default -->
<package name="gcin-gtk2" supportstatus="unsupported"/> <!-- reason: dvd:kernel-default -->
@@ -2456,8 +2456,6 @@
<package name="libmpfr6" supportstatus="unsupported"/> <!-- reason: dvd:kernel-default -->
<package name="libmpg123-0" supportstatus="unsupported"/> <!-- reason: dvd:kernel-default -->
<package name="libmplex2-2_0-0" supportstatus="unsupported"/> <!-- reason: dvd:patterns-gnome-gnome -->
- <package name="libmpx2" supportstatus="unsupported"/> <!-- reason: dvd:patterns-devel-C-C++-devel_C_C++ -->
- <package name="libmpxwrappers2" supportstatus="unsupported"/> <!-- reason: dvd:patterns-devel-C-C++-devel_C_C++ -->
<package name="libmspack0" supportstatus="unsupported"/> <!-- reason: dvd:patterns-gnome-gnome -->
<package name="libmspub-0_1-1" supportstatus="unsupported"/> <!-- reason: dvd:kernel-default -->
<package name="libmtdev1" supportstatus="unsupported"/> <!-- reason: dvd:kernel-default -->
@@ -2831,7 +2829,7 @@
<package name="libstartup-notification-1-0" supportstatus="unsupported"/> <!-- reason: dvd:patterns-gnome-gnome -->
<package name="libstdc++-devel" supportstatus="unsupported"/> <!-- reason: dvd:patterns-gnome-gnome_ide -->
<package name="libstdc++6" supportstatus="unsupported"/> <!-- reason: dvd:kernel-default -->
- <package name="libstdc++6-devel-gcc8" supportstatus="unsupported"/> <!-- reason: dvd:patterns-gnome-gnome_ide -->
+ <package name="libstdc++6-devel-gcc9" supportstatus="unsupported"/> <!-- reason: dvd:patterns-gnome-gnome_ide -->
<package name="libstdc++6-gcc7-locale" supportstatus="unsupported"/> <!-- reason: dvd:expansion -->
<package name="libstdc++6-gcc8-locale" supportstatus="unsupported"/> <!-- reason: dvd:expansion -->
<package name="libstdc++6-locale" supportstatus="unsupported"/> <!-- reason: dvd:expansion -->
@@ -4900,6 +4898,7 @@
<package name="system-user-uucp" supportstatus="unsupported"/> <!-- reason: dvd:patterns-server-mail_server -->
<package name="system-user-wwwrun" supportstatus="unsupported"/> <!-- reason: dvd:patterns-devel-base-devel_web -->
<package name="systemd" supportstatus="unsupported"/> <!-- reason: dvd:kernel-default -->
+ <package name="systemd-container" supportstatus="unsupported"/> <!-- reason: dvd:patterns-server-kvm_server -->
<package name="systemd-icon-branding-openSUSE" supportstatus="unsupported"/> <!-- reason: dvd:kernel-default -->
<package name="systemd-logger" supportstatus="unsupported"/> <!-- reason: dvd:patterns-media-rest_cd_core -->
<package name="systemd-presets-branding-openSUSE" supportstatus="unsupported"/> <!-- reason: dvd:kernel-default -->
++++++ unsorted.yml ++++++
--- /var/tmp/diff_new_pack.NJvdCF/_old 2019-05-26 01:07:41.121081829 +0200
+++ /var/tmp/diff_new_pack.NJvdCF/_new 2019-05-26 01:07:41.153081818 +0200
@@ -1466,6 +1466,7 @@
- cilium-docker: [x86_64]
- cilium-etcd-operator
- cilium-init: [x86_64]
+ - cilium-k8s-yaml: [x86_64]
- cilium-microscope
- cilium-operator: [x86_64]
- cilium-proxy: [x86_64]
@@ -1733,7 +1734,7 @@
- cpluff
- cpmono_v07-fonts
- cpp7
- - cpp9
+ - cpp8
- cppcheck-gui
- cppdb-devel
- cppdb-doc
@@ -3156,6 +3157,8 @@
- gcc-ada
- gcc-ada-32bit: [x86_64]
- gcc-c++-32bit: [x86_64]
+ - gcc-d
+ - gcc-d-32bit: [x86_64]
- gcc-devel
- gcc-fortran-32bit: [x86_64]
- gcc-go
@@ -3181,36 +3184,36 @@
- gcc7-objc
- gcc7-objc-32bit: [x86_64]
- gcc7-testresults
+ - gcc8
- gcc8-32bit: [x86_64]
- gcc8-ada
- gcc8-ada-32bit: [x86_64]
+ - gcc8-c++
- gcc8-c++-32bit: [x86_64]
- gcc8-devel
+ - gcc8-fortran
- gcc8-fortran-32bit: [x86_64]
- gcc8-go
- gcc8-go-32bit: [x86_64]
+ - gcc8-info
+ - gcc8-locale
- gcc8-obj-c++
- gcc8-obj-c++-32bit: [x86_64]
+ - gcc8-objc
- gcc8-objc-32bit: [x86_64]
- gcc8-testresults
- - gcc9
- gcc9-32bit: [x86_64]
- gcc9-ada
- gcc9-ada-32bit: [x86_64]
- - gcc9-c++
- gcc9-c++-32bit: [x86_64]
- gcc9-d
- gcc9-d-32bit: [x86_64]
- gcc9-devel
- - gcc9-fortran
- gcc9-fortran-32bit: [x86_64]
- gcc9-go
- gcc9-go-32bit: [x86_64]
- - gcc9-info
- - gcc9-locale
- gcc9-obj-c++
- gcc9-obj-c++-32bit: [x86_64]
- - gcc9-objc
- gcc9-objc-32bit: [x86_64]
- gcc9-testresults
- gccmakedep
@@ -5661,6 +5664,7 @@
- jupyter-jupyter_contrib_core
- jupyter-jupyter_core
- jupyter-jupyter_core-doc
+ - jupyter-jupyter_core-filesystem
- jupyter-jupyter_dashboards
- jupyter-jupyter_highlight_selected_word
- jupyter-jupyter_latex_envs
@@ -5668,6 +5672,7 @@
- jupyter-jupyterbgnotify
- jupyter-jupyterlab
- jupyter-jupyterlab-discovery
+ - jupyter-jupyterlab-filesystem
- jupyter-jupyterlab-ipyscales
- jupyter-jupyterlab-latex
- jupyter-jupyterlab-launcher
@@ -5675,6 +5680,8 @@
- jupyter-jupyterlab-widgets
- jupyter-jupyterlab_github
- jupyter-jupyterlab_templates
+ - jupyter-jupytext
+ - jupyter-jupytext-jupyterlab
- jupyter-lineup-widget
- jupyter-matlab-kernel
- jupyter-nbconvert
@@ -5690,6 +5697,7 @@
- jupyter-nbpresent
- jupyter-notebook
- jupyter-notebook-doc
+ - jupyter-notebook-filesystem
- jupyter-notebook-lang
- jupyter-notebook-latex
- jupyter-octave_kernel
@@ -9569,9 +9577,11 @@
- libmpris-qt5-1
- libmpris-qt5-devel
- libmpv1
+ - libmpx2
- libmpx2-32bit: [x86_64]
- libmpx2-gcc7
- libmpx2-gcc7-32bit: [x86_64]
+ - libmpxwrappers2
- libmpxwrappers2-32bit: [x86_64]
- libmpxwrappers2-gcc7
- libmpxwrappers2-gcc7-32bit: [x86_64]
@@ -11000,8 +11010,8 @@
- libstdc++-devel-32bit: [x86_64]
- libstdc++6-devel-gcc7
- libstdc++6-devel-gcc7-32bit: [x86_64]
+ - libstdc++6-devel-gcc8
- libstdc++6-devel-gcc8-32bit: [x86_64]
- - libstdc++6-devel-gcc9
- libstdc++6-devel-gcc9-32bit: [x86_64]
- libstdc++6-gcc7
- libstdc++6-gcc7-32bit: [x86_64]
@@ -17954,6 +17964,7 @@
- python2-jupyter_qtconsole
- python2-jupyter_sphinx
- python2-jupyter_widgetsnbextension
+ - python2-jupytext
- python2-jwcrypto
- python2-k5test
- python2-kafka-python
@@ -18158,6 +18169,7 @@
- python2-nose_warnings_filters
- python2-nosexcover
- python2-notebook
+ - python2-notebook-lang
- python2-notify2
- python2-novaclient
- python2-nss
@@ -20201,6 +20213,7 @@
- python3-jupyter_qtconsole
- python3-jupyter_sphinx
- python3-jupyter_widgetsnbextension
+ - python3-jupytext
- python3-jwcrypto
- python3-k5test
- python3-kafka-python
@@ -20432,6 +20445,7 @@
- python3-nose_warnings_filters
- python3-nosexcover
- python3-notebook
+ - python3-notebook-lang
- python3-notify2
- python3-notmuch
- python3-novaclient
@@ -22784,7 +22798,6 @@
- scite
- scmon
- scons
- - scons-test
- scotch
- scotch-devel
- scotch-devel-static
@@ -23407,7 +23420,6 @@
- system-group-obsolete
- system-group-s390-tools
- system-user-uuidd
- - systemd-container
- systemd-coredump
- systemd-devel
- systemd-journal-remote
1
0
Hello community,
here is the log from the commit of package 000release-packages for openSUSE:Factory checked in at 2019-05-26 01:07:26
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/000release-packages (Old)
and /work/SRC/openSUSE:Factory/.000release-packages.new.5148 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "000release-packages"
Sun May 26 01:07:26 2019 rev:148 rq: version:unknown
Changes:
--------
New Changes file:
NO CHANGES FILE!!!
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ openSUSE-Addon-NonOss-release.spec ++++++
--- /var/tmp/diff_new_pack.meCKPg/_old 2019-05-26 01:07:29.797085923 +0200
+++ /var/tmp/diff_new_pack.meCKPg/_new 2019-05-26 01:07:29.801085922 +0200
@@ -1,5 +1,5 @@
#
-# spec file for package openSUSE-Addon-NonOss-release (Version 20190524)
+# spec file for package openSUSE-Addon-NonOss-release (Version 20190525)
#
# Copyright (c) 2019 openSUSE.
#
@@ -16,16 +16,16 @@
Name: openSUSE-Addon-NonOss-release
%define product openSUSE-Addon-NonOss
Summary: openSUSE NonOSS Addon
-Version: 20190524
+Version: 20190525
Release: 0
License: BSD-3-Clause
Group: System/Fhs
Provides: %name-%version
Provides: product() = openSUSE-Addon-NonOss
-Provides: product(openSUSE-Addon-NonOss) = 20190524-0
+Provides: product(openSUSE-Addon-NonOss) = 20190525-0
Provides: product-label() = non%20oss%20addon
-Provides: product-cpeid() = cpe%3A%2Fo%3Aopensuse%3Aopensuse%2Daddon%2Dnonoss%3A20190524
+Provides: product-cpeid() = cpe%3A%2Fo%3Aopensuse%3Aopensuse%2Daddon%2Dnonoss%3A20190525
AutoReqProv: on
@@ -49,10 +49,10 @@
<product schemeversion="0">
<vendor>openSUSE</vendor>
<name>openSUSE-Addon-NonOss</name>
- <version>20190524</version>
+ <version>20190525</version>
<release>0</release>
<arch>%{_target_cpu}</arch>
- <cpeid>cpe:/o:opensuse:opensuse-addon-nonoss:20190524</cpeid>
+ <cpeid>cpe:/o:opensuse:opensuse-addon-nonoss:20190525</cpeid>
<register>
<pool>
</pool>
++++++ openSUSE-MicroOS-release.spec ++++++
--- /var/tmp/diff_new_pack.meCKPg/_old 2019-05-26 01:07:29.817085916 +0200
+++ /var/tmp/diff_new_pack.meCKPg/_new 2019-05-26 01:07:29.821085914 +0200
@@ -17,7 +17,7 @@
Name: openSUSE-MicroOS-release
-Version: 20190524
+Version: 20190525
Release: 0
Summary: openSUSE MicroOS
License: GPL-2.0-or-later
@@ -40,9 +40,9 @@
ExclusiveArch: %ix86 x86_64 ppc64le s390x aarch64
Provides: %name-%version
Provides: product() = openSUSE-MicroOS
-Provides: product(openSUSE-MicroOS) = 20190524-0
+Provides: product(openSUSE-MicroOS) = 20190525-0
Provides: product-label() = openSUSE%20MicroOS
-Provides: product-cpeid() = cpe%3A%2Fo%3Aopensuse%3Aopensuse%2Dmicroos%3A20190524
+Provides: product-cpeid() = cpe%3A%2Fo%3Aopensuse%3Aopensuse%2Dmicroos%3A20190525
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(openSUSE-MicroOS)
@@ -58,7 +58,7 @@
Group: System/Fhs
Provides: product_flavor()
Provides: flavor(dvd)
-Provides: product_flavor(openSUSE-MicroOS) = 20190524-0
+Provides: product_flavor(openSUSE-MicroOS) = 20190525-0
Summary: openSUSE MicroOS
%description dvd
@@ -74,7 +74,7 @@
Group: System/Fhs
Provides: product_flavor()
Provides: flavor(kubic-dvd)
-Provides: product_flavor(openSUSE-MicroOS) = 20190524-0
+Provides: product_flavor(openSUSE-MicroOS) = 20190525-0
Summary: openSUSE MicroOS
%description kubic-dvd
@@ -90,7 +90,7 @@
Group: System/Fhs
Provides: product_flavor()
Provides: flavor(appliance)
-Provides: product_flavor(openSUSE-MicroOS) = 20190524-0
+Provides: product_flavor(openSUSE-MicroOS) = 20190525-0
Summary: openSUSE MicroOS
%description appliance
@@ -106,7 +106,7 @@
Group: System/Fhs
Provides: product_flavor()
Provides: flavor(appliance-kubic)
-Provides: product_flavor(openSUSE-MicroOS) = 20190524-0
+Provides: product_flavor(openSUSE-MicroOS) = 20190525-0
Summary: openSUSE MicroOS
%description appliance-kubic
@@ -164,11 +164,11 @@
<product schemeversion="0">
<vendor>openSUSE</vendor>
<name>openSUSE-MicroOS</name>
- <version>20190524</version>
+ <version>20190525</version>
<release>0</release>
<endoflife></endoflife>
<arch>%{_target_cpu}</arch>
- <cpeid>cpe:/o:opensuse:opensuse-microos:20190524</cpeid>
+ <cpeid>cpe:/o:opensuse:opensuse-microos:20190525</cpeid>
<productline>openSUSE-MicroOS</productline>
<register>
<pool>
++++++ openSUSE-release.spec ++++++
--- /var/tmp/diff_new_pack.meCKPg/_old 2019-05-26 01:07:29.837085908 +0200
+++ /var/tmp/diff_new_pack.meCKPg/_new 2019-05-26 01:07:29.837085908 +0200
@@ -20,7 +20,7 @@
#define betaversion %{nil}
%define codename Tumbleweed
Name: openSUSE-release
-Version: 20190524
+Version: 20190525
Release: 0
# 0 is the product release, not the build release of this package
Summary: openSUSE Tumbleweed
@@ -55,7 +55,7 @@
Obsoletes: aaa_version
Obsoletes: openSUSE-Promo-release <= 11.1
Obsoletes: openSUSE-release-live <= 11.0
-Obsoletes: product_flavor(%{product}) < 20190524
+Obsoletes: product_flavor(%{product}) < 20190525
# bnc#826592
Provides: weakremover(kernel-default) < 3.11
Provides: weakremover(kernel-desktop) < 4.2
@@ -183,7 +183,7 @@
%include %{SOURCE100}
Provides: %name-%version
Provides: product() = openSUSE
-Provides: product(openSUSE) = 20190524-0
+Provides: product(openSUSE) = 20190525-0
%ifarch x86_64
Provides: product-register-target() = openSUSE%2DTumbleweed%2Dx86_64
%endif
@@ -197,7 +197,7 @@
Provides: product-register-target() = openSUSE%2DTumbleweed%2Daarch64
%endif
Provides: product-label() = openSUSE
-Provides: product-cpeid() = cpe%3A%2Fo%3Aopensuse%3Aopensuse%3A20190524
+Provides: product-cpeid() = cpe%3A%2Fo%3Aopensuse%3Aopensuse%3A20190525
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)
@@ -211,7 +211,7 @@
Group: System/Fhs
Provides: product_flavor()
Provides: flavor(ftp)
-Provides: product_flavor(openSUSE) = 20190524-0
+Provides: product_flavor(openSUSE) = 20190525-0
Summary: openSUSE Tumbleweed
%description ftp
@@ -226,7 +226,7 @@
Group: System/Fhs
Provides: product_flavor()
Provides: flavor(mini)
-Provides: product_flavor(openSUSE) = 20190524-0
+Provides: product_flavor(openSUSE) = 20190525-0
Summary: openSUSE Tumbleweed
%description mini
@@ -241,7 +241,7 @@
Group: System/Fhs
Provides: product_flavor()
Provides: flavor(dvd)
-Provides: product_flavor(openSUSE) = 20190524-0
+Provides: product_flavor(openSUSE) = 20190525-0
Summary: openSUSE Tumbleweed
%description dvd
@@ -256,7 +256,7 @@
Group: System/Fhs
Provides: product_flavor()
Provides: flavor(livecd-kde)
-Provides: product_flavor(openSUSE) = 20190524-0
+Provides: product_flavor(openSUSE) = 20190525-0
Summary: openSUSE Tumbleweed
%description livecd-kde
@@ -271,7 +271,7 @@
Group: System/Fhs
Provides: product_flavor()
Provides: flavor(livecd-x11)
-Provides: product_flavor(openSUSE) = 20190524-0
+Provides: product_flavor(openSUSE) = 20190525-0
Summary: openSUSE Tumbleweed
%description livecd-x11
@@ -286,7 +286,7 @@
Group: System/Fhs
Provides: product_flavor()
Provides: flavor(livecd-gnome)
-Provides: product_flavor(openSUSE) = 20190524-0
+Provides: product_flavor(openSUSE) = 20190525-0
Summary: openSUSE Tumbleweed
%description livecd-gnome
@@ -301,7 +301,7 @@
Group: System/Fhs
Provides: product_flavor()
Provides: flavor(livecd-xfce)
-Provides: product_flavor(openSUSE) = 20190524-0
+Provides: product_flavor(openSUSE) = 20190525-0
Summary: openSUSE Tumbleweed
%description livecd-xfce
@@ -316,7 +316,7 @@
Group: System/Fhs
Provides: product_flavor()
Provides: flavor(usb-kde)
-Provides: product_flavor(openSUSE) = 20190524-0
+Provides: product_flavor(openSUSE) = 20190525-0
Summary: openSUSE Tumbleweed
%description usb-kde
@@ -331,7 +331,7 @@
Group: System/Fhs
Provides: product_flavor()
Provides: flavor(usb-gnome)
-Provides: product_flavor(openSUSE) = 20190524-0
+Provides: product_flavor(openSUSE) = 20190525-0
Summary: openSUSE Tumbleweed
%description usb-gnome
@@ -346,7 +346,7 @@
Group: System/Fhs
Provides: product_flavor()
Provides: flavor(usb-x11)
-Provides: product_flavor(openSUSE) = 20190524-0
+Provides: product_flavor(openSUSE) = 20190525-0
Summary: openSUSE Tumbleweed
%description usb-x11
@@ -361,7 +361,7 @@
Group: System/Fhs
Provides: product_flavor()
Provides: flavor(appliance)
-Provides: product_flavor(openSUSE) = 20190524-0
+Provides: product_flavor(openSUSE) = 20190525-0
Summary: openSUSE Tumbleweed
%description appliance
@@ -435,10 +435,10 @@
<product schemeversion="0">
<vendor>openSUSE</vendor>
<name>openSUSE</name>
- <version>20190524</version>
+ <version>20190525</version>
<release>0</release>
<arch>%{_target_cpu}</arch>
- <cpeid>cpe:/o:opensuse:opensuse:20190524</cpeid>
+ <cpeid>cpe:/o:opensuse:opensuse:20190525</cpeid>
<productline>openSUSE</productline>
<register>
<pool>
++++++ weakremovers.inc ++++++
--- /var/tmp/diff_new_pack.meCKPg/_old 2019-05-26 01:07:30.005085848 +0200
+++ /var/tmp/diff_new_pack.meCKPg/_new 2019-05-26 01:07:30.009085846 +0200
@@ -20220,6 +20220,7 @@
Provides: weakremover(sap-locale)
Provides: weakremover(sblim-sfcc)
Provides: weakremover(scantailor-cli)
+Provides: weakremover(scons-test)
Provides: weakremover(scratch)
Provides: weakremover(scratch-devel)
Provides: weakremover(scratch-lang)
1
0
Hello community,
here is the log from the commit of package 000update-repos for openSUSE:Factory checked in at 2019-05-25 21:01:58
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/000update-repos (Old)
and /work/SRC/openSUSE:Factory/.000update-repos.new.5148 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "000update-repos"
Sat May 25 21:01:58 2019 rev:269 rq: version:unknown
Changes:
--------
New Changes file:
NO CHANGES FILE!!!
New:
----
factory:non-oss_1267.2.packages.xz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
1
0
Hello community,
here is the log from the commit of package 000update-repos for openSUSE:Factory checked in at 2019-05-25 21:01:56
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/000update-repos (Old)
and /work/SRC/openSUSE:Factory/.000update-repos.new.5148 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "000update-repos"
Sat May 25 21:01:56 2019 rev:268 rq: version:unknown
Changes:
--------
New Changes file:
NO CHANGES FILE!!!
New:
----
factory_20190524.packages.xz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
1
0
Hello community,
here is the log from the commit of package python-sphinx-feature-classification for openSUSE:Factory checked in at 2019-05-25 13:35:34
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-sphinx-feature-classification (Old)
and /work/SRC/openSUSE:Factory/.python-sphinx-feature-classification.new.5148 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-sphinx-feature-classification"
Sat May 25 13:35:34 2019 rev:4 rq:705301 version:0.4.0
Changes:
--------
--- /work/SRC/openSUSE:Factory/python-sphinx-feature-classification/python-sphinx-feature-classification.changes 2019-04-28 20:14:22.910383860 +0200
+++ /work/SRC/openSUSE:Factory/.python-sphinx-feature-classification.new.5148/python-sphinx-feature-classification.changes 2019-05-25 13:35:35.555962286 +0200
@@ -1,0 +2,12 @@
+Fri May 24 20:07:37 UTC 2019 - Tomáš Chvátal <tchvatal(a)suse.com>
+
+- Update to 0.4.0:
+ * OpenDev Migration Patch
+ * Fix the summary table border not rendering
+ * Copy the CSS into the built docs
+ * Fix deprecated add\_stylesheet with add\_css\_file
+ * Fix driver links rendering in the summary table
+ * releasenotes: Remove crud from 'conf.py'
+ * releasenotes: Switch to openstackdocstheme
+
+-------------------------------------------------------------------
Old:
----
sphinx-feature-classification-0.3.2.tar.gz
New:
----
sphinx-feature-classification-0.4.0.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ python-sphinx-feature-classification.spec ++++++
--- /var/tmp/diff_new_pack.bH0s5o/_old 2019-05-25 13:35:36.391961690 +0200
+++ /var/tmp/diff_new_pack.bH0s5o/_new 2019-05-25 13:35:36.391961690 +0200
@@ -18,7 +18,7 @@
%{?!python_module:%define python_module() python-%{**} python3-%{**}}
Name: python-sphinx-feature-classification
-Version: 0.3.2
+Version: 0.4.0
Release: 0
Summary: Sphinx extension to generate a matrix of pluggable drivers
License: Apache-2.0
++++++ sphinx-feature-classification-0.3.2.tar.gz -> sphinx-feature-classification-0.4.0.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/sphinx-feature-classification-0.3.2/AUTHORS new/sphinx-feature-classification-0.4.0/AUTHORS
--- old/sphinx-feature-classification-0.3.2/AUTHORS 2019-02-26 01:07:16.000000000 +0100
+++ new/sphinx-feature-classification-0.4.0/AUTHORS 2019-04-26 18:55:18.000000000 +0200
@@ -3,6 +3,7 @@
Corey Bryant <corey.bryant(a)canonical.com>
Doug Hellmann <doug(a)doughellmann.com>
Jay S. Bryant <jungleboyj(a)electronicjungle.net>
+Michael Johnson <johnsomor(a)gmail.com>
Mike Perez <thingee(a)gmail.com>
Sean McGinnis <sean.mcginnis(a)gmail.com>
Stephen Finucane <stephenfin(a)redhat.com>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/sphinx-feature-classification-0.3.2/ChangeLog new/sphinx-feature-classification-0.4.0/ChangeLog
--- old/sphinx-feature-classification-0.3.2/ChangeLog 2019-02-26 01:07:16.000000000 +0100
+++ new/sphinx-feature-classification-0.4.0/ChangeLog 2019-04-26 18:55:18.000000000 +0200
@@ -1,6 +1,17 @@
CHANGES
=======
+0.4.0
+-----
+
+* OpenDev Migration Patch
+* Fix the summary table border not rendering
+* Copy the CSS into the built docs
+* Fix deprecated add\_stylesheet with add\_css\_file
+* Fix driver links rendering in the summary table
+* releasenotes: Remove crud from 'conf.py'
+* releasenotes: Switch to openstackdocstheme
+
0.3.2
-----
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/sphinx-feature-classification-0.3.2/PKG-INFO new/sphinx-feature-classification-0.4.0/PKG-INFO
--- old/sphinx-feature-classification-0.3.2/PKG-INFO 2019-02-26 01:07:16.000000000 +0100
+++ new/sphinx-feature-classification-0.4.0/PKG-INFO 2019-04-26 18:55:19.000000000 +0200
@@ -1,6 +1,6 @@
Metadata-Version: 1.1
Name: sphinx-feature-classification
-Version: 0.3.2
+Version: 0.4.0
Summary: Generate a matrix of pluggable drivers and their support to an API in Sphinx.
Home-page: https://docs.openstack.org/sphinx-feature-classification/latest/
Author: OpenStack
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/sphinx-feature-classification-0.3.2/releasenotes/notes/copy-css-to-static-938b35b03a568abc.yaml new/sphinx-feature-classification-0.4.0/releasenotes/notes/copy-css-to-static-938b35b03a568abc.yaml
--- old/sphinx-feature-classification-0.3.2/releasenotes/notes/copy-css-to-static-938b35b03a568abc.yaml 1970-01-01 01:00:00.000000000 +0100
+++ new/sphinx-feature-classification-0.4.0/releasenotes/notes/copy-css-to-static-938b35b03a568abc.yaml 2019-04-26 18:51:32.000000000 +0200
@@ -0,0 +1,5 @@
+---
+fixes:
+ - |
+ Adds a handler to copy the CSS file into the _static directory on build.
+ Previously the CSS file was not being copied over into the built docs.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/sphinx-feature-classification-0.3.2/releasenotes/notes/fix-css-handling-e17f37c98d80b76e.yaml new/sphinx-feature-classification-0.4.0/releasenotes/notes/fix-css-handling-e17f37c98d80b76e.yaml
--- old/sphinx-feature-classification-0.3.2/releasenotes/notes/fix-css-handling-e17f37c98d80b76e.yaml 1970-01-01 01:00:00.000000000 +0100
+++ new/sphinx-feature-classification-0.4.0/releasenotes/notes/fix-css-handling-e17f37c98d80b76e.yaml 2019-04-26 18:51:32.000000000 +0200
@@ -0,0 +1,4 @@
+---
+fixes:
+ - |
+ Updated the CSS handling to use add_css_file instead of add_stylesheet.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/sphinx-feature-classification-0.3.2/releasenotes/notes/fix-driver-links-18528dcdbcc9f007.yaml new/sphinx-feature-classification-0.4.0/releasenotes/notes/fix-driver-links-18528dcdbcc9f007.yaml
--- old/sphinx-feature-classification-0.3.2/releasenotes/notes/fix-driver-links-18528dcdbcc9f007.yaml 1970-01-01 01:00:00.000000000 +0100
+++ new/sphinx-feature-classification-0.4.0/releasenotes/notes/fix-driver-links-18528dcdbcc9f007.yaml 2019-04-26 18:51:32.000000000 +0200
@@ -0,0 +1,4 @@
+---
+fixes:
+ - |
+ Fixed driver links to render in the summary table.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/sphinx-feature-classification-0.3.2/releasenotes/source/conf.py new/sphinx-feature-classification-0.4.0/releasenotes/source/conf.py
--- old/sphinx-feature-classification-0.3.2/releasenotes/source/conf.py 2019-02-26 01:05:12.000000000 +0100
+++ new/sphinx-feature-classification-0.4.0/releasenotes/source/conf.py 2019-04-26 18:51:32.000000000 +0200
@@ -12,45 +12,16 @@
# See the License for the specific language governing permissions and
# limitations under the License.
-# Glance Release Notes documentation build configuration file, created by
-# sphinx-quickstart on Tue Nov 3 17:40:50 2015.
-#
-# This file is execfile()d with the current directory set to its
-# containing dir.
-#
-# Note that not all possible configuration values are present in this
-# autogenerated file.
-#
-# All configuration values have a default; values that are commented out
-# serve to show the default.
-
-# If extensions (or modules to document with autodoc) are in another directory,
-# add these directories to sys.path here. If the directory is relative to the
-# documentation root, use os.path.abspath to make it absolute, like shown here.
-# sys.path.insert(0, os.path.abspath('.'))
-
# -- General configuration ------------------------------------------------
-# If your documentation needs a minimal Sphinx version, state it here.
-# needs_sphinx = '1.0'
-
# Add any Sphinx extension module names here, as strings. They can be
# extensions coming with Sphinx (named 'sphinx.ext.*') or your custom
# ones.
extensions = [
- 'oslosphinx',
+ 'openstackdocstheme',
'reno.sphinxext',
]
-# Add any paths that contain templates here, relative to this directory.
-templates_path = ['_templates']
-
-# The suffix of source filenames.
-source_suffix = '.rst'
-
-# The encoding of source files.
-# source_encoding = 'utf-8-sig'
-
# The master toctree document.
master_doc = 'index'
@@ -68,208 +39,12 @@
# The short X.Y version.
version = ''
-# The language for content autogenerated by Sphinx. Refer to documentation
-# for a list of supported languages.
-# language = None
-
-# There are two options for replacing |today|: either, you set today to some
-# non-false value, then it is used:
-# today = ''
-# Else, today_fmt is used as the format for a strftime call.
-# today_fmt = '%B %d, %Y'
-
-# List of patterns, relative to source directory, that match files and
-# directories to ignore when looking for source files.
-exclude_patterns = []
-
-# The reST default role (used for this markup: `text`) to use for all
-# documents.
-# default_role = None
-
-# If true, '()' will be appended to :func: etc. cross-reference text.
-# add_function_parentheses = True
-
-# If true, the current module name will be prepended to all description
-# unit titles (such as .. function::).
-# add_module_names = True
-
-# If true, sectionauthor and moduleauthor directives will be shown in the
-# output. They are ignored by default.
-# show_authors = False
-
# The name of the Pygments (syntax highlighting) style to use.
pygments_style = 'sphinx'
-# A list of ignored prefixes for module index sorting.
-# modindex_common_prefix = []
-
-# If true, keep warnings as "system message" paragraphs in the built documents.
-# keep_warnings = False
-
# -- Options for HTML output ----------------------------------------------
# The theme to use for HTML and HTML Help pages. See the documentation for
# a list of builtin themes.
-html_theme = 'default'
-
-# Theme options are theme-specific and customize the look and feel of a theme
-# further. For a list of options available for each theme, see the
-# documentation.
-# html_theme_options = {}
-
-# Add any paths that contain custom themes here, relative to this directory.
-# html_theme_path = []
-
-# The name for this set of Sphinx documents. If None, it defaults to
-# "<project> v<release> documentation".
-# html_title = None
-
-# A shorter title for the navigation bar. Default is the same as html_title.
-# html_short_title = None
-
-# The name of an image file (relative to this directory) to place at the top
-# of the sidebar.
-# html_logo = None
-
-# The name of an image file (within the static path) to use as favicon of the
-# docs. This file should be a Windows icon file (.ico) being 16x16 or 32x32
-# pixels large.
-# html_favicon = None
-
-# Add any paths that contain custom static files (such as style sheets) here,
-# relative to this directory. They are copied after the builtin static files,
-# so a file named "default.css" will overwrite the builtin "default.css".
-html_static_path = ['_static']
-
-# Add any extra paths that contain custom files (such as robots.txt or
-# .htaccess) here, relative to this directory. These files are copied
-# directly to the root of the documentation.
-# html_extra_path = []
-
-# If not '', a 'Last updated on:' timestamp is inserted at every page bottom,
-# using the given strftime format.
-# html_last_updated_fmt = '%b %d, %Y'
-
-# If true, SmartyPants will be used to convert quotes and dashes to
-# typographically correct entities.
-# html_use_smartypants = True
-
-# Custom sidebar templates, maps document names to template names.
-# html_sidebars = {}
-
-# Additional templates that should be rendered to pages, maps page names to
-# template names.
-# html_additional_pages = {}
-
-# If false, no module index is generated.
-# html_domain_indices = True
-
-# If false, no index is generated.
-# html_use_index = True
-
-# If true, the index is split into individual pages for each letter.
-# html_split_index = False
-
-# If true, links to the reST sources are added to the pages.
-# html_show_sourcelink = True
-
-# If true, "Created using Sphinx" is shown in the HTML footer. Default is True.
-# html_show_sphinx = True
-
-# If true, "(C) Copyright ..." is shown in the HTML footer. Default is True.
-# html_show_copyright = True
-
-# If true, an OpenSearch description file will be output, and all pages will
-# contain a <link> tag referring to it. The value of this option must be the
-# base URL from which the finished HTML is served.
-# html_use_opensearch = ''
-
-# This is the file name suffix for HTML files (e.g. ".xhtml").
-# html_file_suffix = None
-
-# Output file base name for HTML help builder.
-htmlhelp_basename = 'GlanceReleaseNotesdoc'
-
-
-# -- Options for LaTeX output ---------------------------------------------
-
-latex_elements = {
- # The paper size ('letterpaper' or 'a4paper').
- # 'papersize': 'letterpaper',
-
- # The font size ('10pt', '11pt' or '12pt').
- # 'pointsize': '10pt',
-
- # Additional stuff for the LaTeX preamble.
- # 'preamble': '',
-}
-
-# Grouping the document tree into LaTeX files. List of tuples
-# (source start file, target name, title,
-# author, documentclass [howto, manual, or own class]).
-latex_documents = [
- ('index', 'GlanceReleaseNotes.tex', u'Glance Release Notes Documentation',
- u'Glance Developers', 'manual'),
-]
-
-# The name of an image file (relative to this directory) to place at the top of
-# the title page.
-# latex_logo = None
-
-# For "manual" documents, if this is true, then toplevel headings are parts,
-# not chapters.
-# latex_use_parts = False
-
-# If true, show page references after internal links.
-# latex_show_pagerefs = False
-
-# If true, show URL addresses after external links.
-# latex_show_urls = False
-
-# Documents to append as an appendix to all manuals.
-# latex_appendices = []
-
-# If false, no module index is generated.
-# latex_domain_indices = True
-
-
-# -- Options for manual page output ---------------------------------------
-
-# One entry per manual page. List of tuples
-# (source start file, name, description, authors, manual section).
-man_pages = [
- ('index', 'glancereleasenotes', u'Glance Release Notes Documentation',
- [u'Glance Developers'], 1)
-]
-
-# If true, show URL addresses after external links.
-# man_show_urls = False
-
-
-# -- Options for Texinfo output -------------------------------------------
-
-# Grouping the document tree into Texinfo files. List of tuples
-# (source start file, target name, title, author,
-# dir menu entry, description, category)
-texinfo_documents = [
- ('index', 'GlanceReleaseNotes', u'Glance Release Notes Documentation',
- u'Glance Developers', 'GlanceReleaseNotes',
- 'One line description of project.',
- 'Miscellaneous'),
-]
-
-# Documents to append as an appendix to all manuals.
-# texinfo_appendices = []
-
-# If false, no module index is generated.
-# texinfo_domain_indices = True
-
-# How to display URL addresses: 'footnote', 'no', or 'inline'.
-# texinfo_show_urls = 'footnote'
-
-# If true, do not generate a @detailmenu in the "Top" node's menu.
-# texinfo_no_detailmenu = False
-
-# -- Options for Internationalization output ------------------------------
-locale_dirs = ['locale/']
+html_theme = 'openstackdocs'
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/sphinx-feature-classification-0.3.2/sphinx_feature_classification/releasenotes/notes/update-summary-table-style-cb5a00eb45cce78a.yaml new/sphinx-feature-classification-0.4.0/sphinx_feature_classification/releasenotes/notes/update-summary-table-style-cb5a00eb45cce78a.yaml
--- old/sphinx-feature-classification-0.3.2/sphinx_feature_classification/releasenotes/notes/update-summary-table-style-cb5a00eb45cce78a.yaml 1970-01-01 01:00:00.000000000 +0100
+++ new/sphinx-feature-classification-0.4.0/sphinx_feature_classification/releasenotes/notes/update-summary-table-style-cb5a00eb45cce78a.yaml 2019-04-26 18:51:32.000000000 +0200
@@ -0,0 +1,5 @@
+---
+fixes:
+ - |
+ Fixed the summary table border not rendering and improved the table
+ font sizing.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/sphinx-feature-classification-0.3.2/sphinx_feature_classification/support-matrix.css new/sphinx-feature-classification-0.4.0/sphinx_feature_classification/support-matrix.css
--- old/sphinx-feature-classification-0.3.2/sphinx_feature_classification/support-matrix.css 2019-02-26 01:05:12.000000000 +0100
+++ new/sphinx-feature-classification-0.4.0/sphinx_feature_classification/support-matrix.css 2019-04-26 18:51:32.000000000 +0200
@@ -1,8 +1,12 @@
-
.sp_feature_required {
font-weight: bold;
}
+.sp_feature_cells {
+ border: solid 1px black;
+ text-align: center;
+}
+
.sp_impl_complete {
color: rgb(0, 120, 0);
font-weight: normal;
@@ -24,7 +28,7 @@
}
.sp_impl_summary {
- font-size: 2em;
+ font-size: medium;
}
.sp_cli {
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/sphinx-feature-classification-0.3.2/sphinx_feature_classification/support_matrix.py new/sphinx-feature-classification-0.4.0/sphinx_feature_classification/support_matrix.py
--- old/sphinx-feature-classification-0.3.2/sphinx_feature_classification/support_matrix.py 2019-02-26 01:05:12.000000000 +0100
+++ new/sphinx-feature-classification-0.4.0/sphinx_feature_classification/support_matrix.py 2019-04-26 18:51:32.000000000 +0200
@@ -19,7 +19,9 @@
"""
+from os import path
import re
+import shutil
from docutils import nodes
from docutils.parsers import rst
@@ -248,7 +250,7 @@
"""
summary_title = nodes.subtitle(text="Summary")
- summary = nodes.table()
+ summary = nodes.table(classes=["sp_feature_cells"])
cols = len(matrix.drivers.keys())
# Add two columns for the Feature and Status columns.
@@ -269,10 +271,10 @@
# This sets up all the column headers - two fixed
# columns for feature name & status
header = nodes.row()
- blank = nodes.entry()
+ blank = nodes.entry(classes=["sp_feature_cells"])
blank.append(nodes.emphasis(text="Feature"))
header.append(blank)
- blank = nodes.entry()
+ blank = nodes.entry(classes=["sp_feature_cells"])
blank.append(nodes.emphasis(text="Status"))
header.append(blank)
summary_head.append(header)
@@ -282,9 +284,17 @@
key=lambda x: matrix.drivers[x].title)
for key in impls:
driver = matrix.drivers[key]
- implcol = nodes.entry()
+ implcol = nodes.entry(classes=["sp_feature_cells"])
header.append(implcol)
- implcol.append(nodes.strong(text=driver.title))
+ if driver.link:
+ uri = driver.link
+ target_ref = nodes.reference("", refuri=uri)
+ target_txt = nodes.inline()
+ implcol.append(target_txt)
+ target_txt.append(target_ref)
+ target_ref.append(nodes.strong(text=driver.title))
+ else:
+ implcol.append(nodes.strong(text=driver.title))
# We now produce the body of the table, one row for
# each feature to report on
@@ -295,7 +305,7 @@
feature_id = re.sub(KEY_PATTERN, "_", feature.key)
# first the fixed columns for title/status
- key_col = nodes.entry()
+ key_col = nodes.entry(classes=["sp_feature_cells"])
item.append(key_col)
key_ref = nodes.reference(refid=feature_id)
key_txt = nodes.inline()
@@ -303,7 +313,7 @@
key_txt.append(key_ref)
key_ref.append(nodes.strong(text=feature.title))
- status_col = nodes.entry()
+ status_col = nodes.entry(classes=["sp_feature_cells"])
item.append(status_col)
status_col.append(nodes.inline(
text=feature.status,
@@ -312,7 +322,7 @@
# and then one column for each backend driver
for key in impls:
impl = feature.implementations[key]
- impl_col = nodes.entry()
+ impl_col = nodes.entry(classes=["sp_feature_cells"])
item.append(impl_col)
key_id = re.sub(KEY_PATTERN, "_",
@@ -463,6 +473,15 @@
return para
+def on_build_finished(app, exc):
+ if exc is None:
+ src = path.join(path.abspath(path.dirname(__file__)),
+ 'support-matrix.css')
+ dst = path.join(app.outdir, '_static', 'support-matrix.css')
+ shutil.copyfile(src, dst)
+
+
def setup(app):
app.add_directive('support_matrix', Directive)
- app.add_stylesheet('support-matrix.css')
+ app.add_css_file('support-matrix.css')
+ app.connect('build-finished', on_build_finished)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/sphinx-feature-classification-0.3.2/sphinx_feature_classification.egg-info/PKG-INFO new/sphinx-feature-classification-0.4.0/sphinx_feature_classification.egg-info/PKG-INFO
--- old/sphinx-feature-classification-0.3.2/sphinx_feature_classification.egg-info/PKG-INFO 2019-02-26 01:07:16.000000000 +0100
+++ new/sphinx-feature-classification-0.4.0/sphinx_feature_classification.egg-info/PKG-INFO 2019-04-26 18:55:19.000000000 +0200
@@ -1,6 +1,6 @@
Metadata-Version: 1.1
Name: sphinx-feature-classification
-Version: 0.3.2
+Version: 0.4.0
Summary: Generate a matrix of pluggable drivers and their support to an API in Sphinx.
Home-page: https://docs.openstack.org/sphinx-feature-classification/latest/
Author: OpenStack
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/sphinx-feature-classification-0.3.2/sphinx_feature_classification.egg-info/SOURCES.txt new/sphinx-feature-classification-0.4.0/sphinx_feature_classification.egg-info/SOURCES.txt
--- old/sphinx-feature-classification-0.3.2/sphinx_feature_classification.egg-info/SOURCES.txt 2019-02-26 01:07:16.000000000 +0100
+++ new/sphinx-feature-classification-0.4.0/sphinx_feature_classification.egg-info/SOURCES.txt 2019-04-26 18:55:19.000000000 +0200
@@ -20,6 +20,9 @@
doc/source/install/index.rst
doc/source/user/index.rst
releasenotes/notes/.placeholder
+releasenotes/notes/copy-css-to-static-938b35b03a568abc.yaml
+releasenotes/notes/fix-css-handling-e17f37c98d80b76e.yaml
+releasenotes/notes/fix-driver-links-18528dcdbcc9f007.yaml
releasenotes/notes/support-driver-notes-b73d5b185f05db7f.yaml
releasenotes/source/conf.py
releasenotes/source/index.rst
@@ -36,6 +39,7 @@
sphinx_feature_classification.egg-info/pbr.json
sphinx_feature_classification.egg-info/requires.txt
sphinx_feature_classification.egg-info/top_level.txt
+sphinx_feature_classification/releasenotes/notes/update-summary-table-style-cb5a00eb45cce78a.yaml
sphinx_feature_classification/tests/__init__.py
sphinx_feature_classification/tests/base.py
sphinx_feature_classification/tests/test_sphinx_feature_classification.py
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/sphinx-feature-classification-0.3.2/sphinx_feature_classification.egg-info/pbr.json new/sphinx-feature-classification-0.4.0/sphinx_feature_classification.egg-info/pbr.json
--- old/sphinx-feature-classification-0.3.2/sphinx_feature_classification.egg-info/pbr.json 2019-02-26 01:07:16.000000000 +0100
+++ new/sphinx-feature-classification-0.4.0/sphinx_feature_classification.egg-info/pbr.json 2019-04-26 18:55:19.000000000 +0200
@@ -1 +1 @@
-{"git_version": "2dacdfb", "is_release": true}
\ No newline at end of file
+{"git_version": "884fec8", "is_release": true}
\ No newline at end of file
1
0
Hello community,
here is the log from the commit of package netdata for openSUSE:Factory checked in at 2019-05-25 13:35:31
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/netdata (Old)
and /work/SRC/openSUSE:Factory/.netdata.new.5148 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "netdata"
Sat May 25 13:35:31 2019 rev:10 rq:705267 version:1.15.0
Changes:
--------
--- /work/SRC/openSUSE:Factory/netdata/netdata.changes 2019-05-03 22:48:03.075993005 +0200
+++ /work/SRC/openSUSE:Factory/.netdata.new.5148/netdata.changes 2019-05-25 13:35:32.767964274 +0200
@@ -1,0 +2,49 @@
+Tue May 21 12:37:08 UTC 2019 - Martin Herkt <9+suse(a)cirno.systems>
+
+- Update to v1.15.0
+ Bug Fixes:
+ * Prowl notifications were not being sent, unless another
+ notification method was also active
+ * Fix exception handling in the python.d plugin
+ * The node applications group did not include all node processes.
+ * The nvidia_smi collector displayed incorrect power usage
+ * The python.d plugin would sometimes hang, because it lacked
+ a connect timeout
+ * The mongodb collector raised errors due to various KeyErrors
+ * The smartd_log collector would show incorrect temperature
+ values
+
+ Improvements:
+ * Support for aggregate node view
+ * Database engine
+ * New collector modules:
+ + Go.d collectors for OpenVPN, the Tengine web server and
+ ScaleIO (VxFlex OS) instances
+ + Monitor disk access latency like ioping does
+ * Energi Core daemon monitoring, suits other Bitcoin forks
+ * Collector improvements:
+ + Add docker swarm manager metrics to the go.d docker_engine
+ collector
+ + Implement unified cgroup cpu limit
+ + python.d.plugin: Allow monitoring of HTTP(S) endpoints which
+ require POST data and make the UrlService more flexible
+ * Support the AWS Kinesis backend for long-term storage
+ * Add a new "text-only" chart renderer
+ * API Improvements:
+ + Smarter caching of API calls. Do not cache alarms and info
+ api calls and extend no-cache headers.
+ + Extend the api/v1/info call response with system and
+ collector information
+ + k6 script for API load testing
+ * Kubernetes helmchart improvements:
+ + Added the init container, where sysctl params could be
+ managed, to bypass the Cannot allocate memory issue
+ + Better startup/shutdown of slaves and reduced memory usage
+ with liveness/readiness probes and default memory mode none
+ + Added the option of overriding the default settings for
+ kubelet, kubeproxy and coredns collectors via values.yaml
+ + Make the use of persistent volumes optional, add apiVersion
+ to fix linting errors and correct the location of the env
+ field
+
+-------------------------------------------------------------------
@@ -164 +213 @@
- * Python module sensors fix #5406 (ilyam8)
+ * Python module sensors fix #5406
Old:
----
netdata-v1.14.0.tar.gz
New:
----
netdata-v1.15.0.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ netdata.spec ++++++
--- /var/tmp/diff_new_pack.0u4BUl/_old 2019-05-25 13:35:33.435963798 +0200
+++ /var/tmp/diff_new_pack.0u4BUl/_new 2019-05-25 13:35:33.439963795 +0200
@@ -18,13 +18,8 @@
%define netdata_user netdata
%define netdata_group netdata
-%if 0%{?suse_version} > 1220
-%bcond_without systemd
-%else
-%bcond_with systemd
-%endif
Name: netdata
-Version: 1.14.0
+Version: 1.15.0
Release: 0
Summary: A system for distributed real-time performance and health monitoring
# netdata is GPL-3.0+, other licenses refer to included third-party software (see REDISTRIBUTED.md)
@@ -35,15 +30,17 @@
Source3: netdata-rpmlintrc
Patch0: netdata-logrotate-su.patch
Patch2: netdata-smartd-log-path.patch
-BuildRequires: autoconf
-BuildRequires: automake
BuildRequires: cups-devel
BuildRequires: dos2unix
BuildRequires: fdupes
+BuildRequires: judy-devel
BuildRequires: pkgconfig
BuildRequires: pkgconfig(libcap)
+BuildRequires: pkgconfig(liblz4)
BuildRequires: pkgconfig(libmnl)
BuildRequires: pkgconfig(libnetfilter_acct)
+BuildRequires: pkgconfig(libuv)
+BuildRequires: pkgconfig(openssl)
BuildRequires: pkgconfig(uuid)
BuildRequires: pkgconfig(zlib)
Requires(pre): shadow
@@ -73,7 +70,6 @@
%patch2 -p1
%build
-autoreconf -fiv
%configure \
--docdir="%{_docdir}/%{name}-%{version}" \
--enable-plugin-nfacct \
++++++ netdata-v1.14.0.tar.gz -> netdata-v1.15.0.tar.gz ++++++
++++ 22081 lines of diff (skipped)
1
0
Hello community,
here is the log from the commit of package gajim for openSUSE:Factory checked in at 2019-05-25 13:35:27
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/gajim (Old)
and /work/SRC/openSUSE:Factory/.gajim.new.5148 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "gajim"
Sat May 25 13:35:27 2019 rev:29 rq:705266 version:1.1.3
Changes:
--------
--- /work/SRC/openSUSE:Factory/gajim/gajim.changes 2019-02-02 21:49:33.039965153 +0100
+++ /work/SRC/openSUSE:Factory/.gajim.new.5148/gajim.changes 2019-05-25 13:35:29.587966543 +0200
@@ -1,0 +2,24 @@
+Thu May 23 05:14:14 UTC 2019 - mvetter(a)suse.com
+
+- Update to 1.1.3:
+ New:
+ * Add a mobile phone indicator to the chat window
+ * Rework HTTPUpload dialog
+ * Add a "paste as quote" option to the message input
+ Bug fixes:
+ * #8822 Fix memory leak when using spell checker
+ * #9514 Fix jingle filetransfers not working in some circumstances
+ * #9573 Dont leak DNS query when connecting over proxy
+ * #9578 Determine Windows version more reliably
+ * #9622 Fix an error while quitting Gajim
+ * #9633 Fix an error while sending a file
+ * #9637 Restore window size correctly on wayland
+ * #9660 GPG Agent setting is ignored
+ * #9645 Make zeroconf IPV6 compatible
+ * Improve dark theme colors
+ * Fix access to GnuPG keys
+ * Use UUID4 item ids for pubsub posts
+ * Dont send invalid show values
+ * Various smaller improvements
+
+-------------------------------------------------------------------
Old:
----
gajim-1.1.2.tar.bz2
New:
----
gajim-1.1.3.tar.bz2
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ gajim.spec ++++++
--- /var/tmp/diff_new_pack.G9dJOV/_old 2019-05-25 13:35:30.319966020 +0200
+++ /var/tmp/diff_new_pack.G9dJOV/_new 2019-05-25 13:35:30.323966018 +0200
@@ -18,7 +18,7 @@
%define _version 1.1
Name: gajim
-Version: 1.1.2
+Version: 1.1.3
Release: 0
Summary: XMPP client written in Python and Gtk3
License: GPL-3.0-only
@@ -32,7 +32,7 @@
BuildRequires: p11-kit-devel
BuildRequires: pkgconfig
BuildRequires: python3 >= 3.5.0
-BuildRequires: python3-nbxmpp >= 0.6.9
+BuildRequires: python3-nbxmpp >= 0.6.10
BuildRequires: python3-precis-i18n >= 1.0.0
BuildRequires: python3-setuptools
BuildRequires: update-desktop-files
++++++ gajim-1.1.2.tar.bz2 -> gajim-1.1.3.tar.bz2 ++++++
/work/SRC/openSUSE:Factory/gajim/gajim-1.1.2.tar.bz2 /work/SRC/openSUSE:Factory/.gajim.new.5148/gajim-1.1.3.tar.bz2 differ: char 11, line 1
1
0
Hello community,
here is the log from the commit of package python-notebook for openSUSE:Factory checked in at 2019-05-25 13:35:23
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-notebook (Old)
and /work/SRC/openSUSE:Factory/.python-notebook.new.5148 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-notebook"
Sat May 25 13:35:23 2019 rev:2 rq:705228 version:5.7.8
Changes:
--------
--- /work/SRC/openSUSE:Factory/python-notebook/python-notebook.changes 2019-05-22 11:12:46.798573913 +0200
+++ /work/SRC/openSUSE:Factory/.python-notebook.new.5148/python-notebook.changes 2019-05-25 13:35:24.671970049 +0200
@@ -1,0 +2,11 @@
+Fri May 24 03:33:21 UTC 2019 - Todd R <toddrme2178(a)gmail.com>
+
+- Add a jupyter-specific language package
+
+-------------------------------------------------------------------
+Wed May 22 18:59:10 UTC 2019 - Todd R <toddrme2178(a)gmail.com>
+
+- Split directories and macros into separate package.
+- Make lang subpackage python version-specific
+
+-------------------------------------------------------------------
Old:
----
macros.jupyter_notebook
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ python-notebook.spec ++++++
--- /var/tmp/diff_new_pack.WOuv11/_old 2019-05-25 13:35:26.715968591 +0200
+++ /var/tmp/diff_new_pack.WOuv11/_new 2019-05-25 13:35:26.759968560 +0200
@@ -28,12 +28,12 @@
Source0: https://files.pythonhosted.org/packages/source/n/notebook/notebook-%{versio…
Source1: https://media.readthedocs.org/pdf/jupyter-notebook/%{doc_ver}/jupyter-noteb…
Source2: https://media.readthedocs.org/htmlzip/jupyter-notebook/%{doc_ver}/jupyter-n…
-Source10: macros.jupyter_notebook
Source100: python-notebook-rpmlintrc
BuildRequires: %{python_module jupyter_core >= 4.4.0}
BuildRequires: %{python_module setuptools}
BuildRequires: fdupes
BuildRequires: hicolor-icon-theme
+BuildRequires: jupyter-notebook-filesystem
BuildRequires: python-rpm-macros
BuildRequires: unzip
Requires: jupyter-notebook = %{version}
@@ -87,6 +87,21 @@
This package provides the python interface.
+%package lang
+# FIXME: consider using %%lang_package macro
+Summary: Provides translations for the Jupyter Notebook
+Group: System/Localization
+Requires: python-notebook = %{version}
+Provides: python-notebook-lang-all = %{version}
+Provides: python-jupyter_notebook-lang = %{version}
+Obsoletes: python-jupyter_notebook-lang < %{version}
+Requires: jupyter-notebook-lang = %{version}
+
+%description lang
+Provides translations for the Jupyter notebook.
+
+This package provides the python module translations.
+
%package -n jupyter-notebook
Summary: Jupyter Notebook interface
Requires: jupyter-ipykernel
@@ -94,8 +109,7 @@
Requires: jupyter-jupyter_core >= 4.4.0
Requires: jupyter-nbconvert
Requires: jupyter-nbformat
-# This package provides macros that depend on these macros
-Requires: python-rpm-macros
+Requires: jupyter-notebook-filesystem
Requires: python3-notebook = %{version}
Conflicts: python3-jupyter_notebook < 5.7.8
@@ -106,18 +120,16 @@
This package provides the jupyter components.
%package -n jupyter-notebook-lang
-# FIXME: consider using %%lang_package macro
-Summary: Provides translations for %{name}
+Summary: Provides translations for the Jupyter Notebook
Group: System/Localization
Requires: jupyter-notebook = %{version}
+Requires: python3-notebook-lang = %{version}
Provides: jupyter-notebook-lang-all = %{version}
-Provides: %{python_module notebook-lang = %{version}}
-Provides: %{python_module notebook-lang-all = %{version}}
-Provides: %{python_module jupyter_notebook-lang = %{version}}
-Obsoletes: %{python_module jupyter_notebook-lang < %{version}}
%description -n jupyter-notebook-lang
-Provides translations for the "jupyter-notebook" package.
+Provides translations for the Jupyter notebook.
+
+This package provides the jupyter component translations.
%package -n jupyter-notebook-latex
Summary: LaTeX support for the Jupyter Notebook
@@ -146,7 +158,6 @@
%prep
%setup -q -n notebook-%{version}
-cp %{SOURCE1} .
unzip %{SOURCE2} -d docs
mv docs/jupyter-notebook-* docs/html
rm docs/html/.buildinfo
@@ -159,16 +170,6 @@
%python_install
%python_expand %fdupes %{buildroot}%{$python_sitelib}
-# These directories are used for extensions
-mkdir -p %{buildroot}%{_jupyter_prefix}/nbextensions
-mkdir -p %{buildroot}%{_jupyter_confdir}/jupyter_notebook_config.d/
-mkdir -p %{buildroot}%{_jupyter_confdir}/jupyter_server_config.d/
-mkdir -p %{buildroot}%{_jupyter_confdir}/nbextensions/
-
-for d in auth base bidi custom edit notebook services style terminal tree ; do
- mkdir -p %{buildroot}%{_jupyter_confdir}/nbconfig/${d}.d
-done
-
# Install icons
mkdir -p %{buildroot}%{_datadir}/icons/hicolor/scalable/apps/
cp docs/resources/icon_512x512.svg %{buildroot}%{_datadir}/icons/hicolor/scalable/apps/JupyterNotebook.svg
@@ -183,8 +184,6 @@
cp -r %{SOURCE1} %{buildroot}%{_docdir}/jupyter-notebook/
cp -r docs/html %{buildroot}%{_docdir}/jupyter-notebook/
-install -D -m644 %{SOURCE10} %{buildroot}%{_rpmconfigdir}/macros.d/macros.jupyter_notebook
-
%fdupes %{buildroot}%{_docdir}/jupyter-notebook/html/
%check
@@ -198,6 +197,11 @@
%{python_sitelib}/notebook/
%exclude %{python_sitelib}/notebook/i18n/*/
+%files %{python_files lang}
+%license COPYING.md
+%lang(fr_FR) %{python_sitelib}/notebook/i18n/fr_FR/
+%lang(zh_CN) %{python_sitelib}/notebook/i18n/zh_CN/
+
%files -n jupyter-notebook
%license COPYING.md
%{_bindir}/jupyter-bundlerextension
@@ -205,27 +209,9 @@
%{_bindir}/jupyter-notebook
%{_bindir}/jupyter-serverextension
%{_datadir}/icons/hicolor/*/apps/JupyterNotebook.*
-%{_rpmconfigdir}/macros.d/macros.jupyter_notebook
-%dir %{_jupyter_prefix}/nbextensions
-%dir %{_jupyter_confdir}/jupyter_notebook_config.d/
-%dir %{_jupyter_confdir}/jupyter_server_config.d/
-%dir %{_jupyter_confdir}/nbextensions/
-%dir %{_jupyter_confdir}/nbconfig/
-%dir %{_jupyter_confdir}/nbconfig/auth.d
-%dir %{_jupyter_confdir}/nbconfig/base.d
-%dir %{_jupyter_confdir}/nbconfig/bidi.d
-%dir %{_jupyter_confdir}/nbconfig/custom.d
-%dir %{_jupyter_confdir}/nbconfig/edit.d
-%dir %{_jupyter_confdir}/nbconfig/notebook.d
-%dir %{_jupyter_confdir}/nbconfig/services.d
-%dir %{_jupyter_confdir}/nbconfig/style.d
-%dir %{_jupyter_confdir}/nbconfig/terminal.d
-%dir %{_jupyter_confdir}/nbconfig/tree.d
%files -n jupyter-notebook-lang
%license COPYING.md
-%lang(fr_FR) %{python_sitelib}/notebook/i18n/fr_FR/
-%lang(zh_CN) %{python_sitelib}/notebook/i18n/zh_CN/
%files -n jupyter-notebook-latex
%license COPYING.md
1
0
Hello community,
here is the log from the commit of package jupyter for openSUSE:Factory checked in at 2019-05-25 13:35:11
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/jupyter (Old)
and /work/SRC/openSUSE:Factory/.jupyter.new.5148 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "jupyter"
Sat May 25 13:35:11 2019 rev:2 rq:705102 version:1.0.0
Changes:
--------
New Changes file:
--- /dev/null 2019-05-02 15:18:01.516169518 +0200
+++ /work/SRC/openSUSE:Factory/.jupyter.new.5148/jupyter-filesystem.changes 2019-05-25 13:35:12.855978476 +0200
@@ -0,0 +1,10 @@
+-------------------------------------------------------------------
+Fri May 24 02:52:16 UTC 2019 - Todd R <toddrme2178(a)gmail.com>
+
+- Use %{_rpmmacrodir}
+
+-------------------------------------------------------------------
+Tue May 14 19:01:28 UTC 2019 - Todd R <toddrme2178(a)gmail.com>
+
+- Initial version
+
New:
----
jupyter-filesystem.changes
jupyter-filesystem.spec
macros.jupyter_core
macros.jupyter_notebook
macros.jupyterlab
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ jupyter-filesystem.spec ++++++
#
# spec file for package jupyter-filesystem
#
# Copyright (c) 2019 SUSE LINUX GmbH, Nuernberg, Germany.
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
# upon. The license for this file, and modifications and additions to the
# file, is the same license as for the pristine package itself (unless the
# license for the pristine package is not an Open Source License, in which
# case the license is the MIT License). An "Open Source License" is a
# license that conforms to the Open Source Definition (Version 1.9)
# published by the Open Source Initiative.
# Please submit bugfixes or comments via http://bugs.opensuse.org/
#
%{?!python_module:%define python_module() python-%{**} python3-%{**}}
Name: jupyter-filesystem
Url: https://jupyter.org/
Version: 20190522
%define tar_ver 1.0.0
Release: 0
Summary: Common directories shared by Jupyter packages
Source0: https://files.pythonhosted.org/packages/source/j/jupyter/jupyter-%{tar_ver}…
Source10: macros.jupyter_core
Source11: macros.jupyter_notebook
Source12: macros.jupyterlab
License: BSD-3-Clause
Group: System/Fhs
%description
This package provides common directories and macros used by many
jupyter packages.
%package -n jupyter-jupyter_core-filesystem
Summary: Common directories shared by Jupyter packages
Provides: jupyter-jupyter_core-macros-devel = %{version}
Provides: %{python_module jupyter_core-filesystem = %{version}}
Provides: %{python_module jupyter_core-macros-devel = %{version}}
%description -n jupyter-jupyter_core-filesystem
This package provides common directories and macros used by many
packages that depend on jupyter_core.
It also provides macros for building packages that depend on
jupyter_core.
%define _jupyter_prefix %{_datadir}/jupyter/
%define _jupyter_kernel_dir %{_jupyter_prefix}/kernels/
%define _jupyter_confdir %{_sysconfdir}/jupyter/
%package -n jupyter-notebook-filesystem
Summary: Common directories shared by Jupyter notebook packages
Requires: jupyter-jupyter_core-filesystem = %{version}
Requires: python-rpm-macros
Provides: jupyter-notebook-macros-devel = %{version}
Provides: %{python_module notebook-filesystem = %{version}}
Provides: %{python_module notebook-macros-devel = %{version}}
%description -n jupyter-notebook-filesystem
This package provides common directories and macros used by many
packages that depend on the Jupyter notebook.
It also provides macros for building packages that depend on
the Jupyter notebook.
%define _jupyter_nbextension_dir %{_jupyter_prefix}/nbextensions/
%define _jupyter_nb_confdir %{_jupyter_confdir}/nbconfig/
%define _jupyter_nbextension_confdir %{_jupyter_nb_confdir}/nbextensions/
%define _jupyter_servextension_confdir %{_jupyter_confdir}/jupyter_notebook_config.d/
%define _jupyter_server_confdir %{_jupyter_confdir}/jupyter_server_config.d/
%define _jupyter_nb_auth_confdir %{_jupyter_nb_confdir}/auth.d
%define _jupyter_nb_base_confdir %{_jupyter_nb_confdir}/base.d
%define _jupyter_nb_bidi_confdir %{_jupyter_nb_confdir}/bidi.d
%define _jupyter_nb_custom_confdir %{_jupyter_nb_confdir}/custom.d
%define _jupyter_nb_edit_confdir %{_jupyter_nb_confdir}/edit.d
%define _jupyter_nb_notebook_confdir %{_jupyter_nb_confdir}/notebook.d
%define _jupyter_nb_services_confdir %{_jupyter_nb_confdir}/services.d
%define _jupyter_nb_style_confdir %{_jupyter_nb_confdir}/style.d
%define _jupyter_nb_terminal_confdir %{_jupyter_nb_confdir}/terminal.d
%define _jupyter_nb_tree_confdir %{_jupyter_nb_confdir}/tree.d
%package -n jupyter-jupyterlab-filesystem
Summary: Common directories shared by JupyterLab packages
Requires: jupyter-jupyter_core-filesystem = %{version}
Provides: jupyter-jupyterlab-macros-devel = %{version}
Provides: %{python_module jupyterlab-filesystem = %{version}}
Provides: %{python_module jupyterlab-macros-devel = %{version}}
%description -n jupyter-jupyterlab-filesystem
This package provides common directories and macros used by many
packages that depend on JupyterLab.
It also provides macros for building packages that depend on
JupyterLab.
%define _jupyter_lab_dir %{_jupyter_prefix}/lab/
%define _jupyter_labextensions_dir %{_jupyter_lab_dir}/extensions/
%prep
%setup -q -n jupyter-%{tar_ver}
%build
# Not needed
%install
# macros
install -D -m644 %{SOURCE10} %{buildroot}%{_rpmmacrodir}/macros.jupyter_core
install -D -m644 %{SOURCE11} %{buildroot}%{_rpmmacrodir}/macros.jupyter_notebook
install -D -m644 %{SOURCE12} %{buildroot}%{_rpmmacrodir}/macros.jupyterlab
# jupyter_core directories
mkdir -p %{buildroot}%{_jupyter_prefix}
mkdir -p %{buildroot}%{_jupyter_kernel_dir}
mkdir -p %{buildroot}%{_jupyter_confdir}
# notebook directories
mkdir -p %{buildroot}%{_jupyter_nbextension_dir}
mkdir -p %{buildroot}%{_jupyter_nb_confdir}
mkdir -p %{buildroot}%{_jupyter_nbextension_confdir}
mkdir -p %{buildroot}%{_jupyter_servextension_confdir}
mkdir -p %{buildroot}%{_jupyter_server_confdir}
mkdir -p %{buildroot}%{_jupyter_nb_auth_confdir}
mkdir -p %{buildroot}%{_jupyter_nb_base_confdir}
mkdir -p %{buildroot}%{_jupyter_nb_bidi_confdir}
mkdir -p %{buildroot}%{_jupyter_nb_custom_confdir}
mkdir -p %{buildroot}%{_jupyter_nb_edit_confdir}
mkdir -p %{buildroot}%{_jupyter_nb_notebook_confdir}
mkdir -p %{buildroot}%{_jupyter_nb_services_confdir}
mkdir -p %{buildroot}%{_jupyter_nb_style_confdir}
mkdir -p %{buildroot}%{_jupyter_nb_terminal_confdir}
mkdir -p %{buildroot}%{_jupyter_nb_tree_confdir}
# jupyterlab directories
mkdir -p %{buildroot}%{_jupyter_lab_dir}
mkdir -p %{buildroot}%{_jupyter_labextensions_dir}
%files -n jupyter-jupyter_core-filesystem
%license LICENSE
%{_rpmmacrodir}/macros.jupyter_core
%dir %{_jupyter_prefix}
%dir %{_jupyter_kernel_dir}
%dir %{_jupyter_confdir}
%files -n jupyter-notebook-filesystem
%license LICENSE
%{_rpmmacrodir}/macros.jupyter_notebook
%dir %{_jupyter_nbextension_dir}
%dir %{_jupyter_nb_confdir}
%dir %{_jupyter_nbextension_confdir}
%dir %{_jupyter_servextension_confdir}
%dir %{_jupyter_server_confdir}
%dir %{_jupyter_nb_auth_confdir}
%dir %{_jupyter_nb_base_confdir}
%dir %{_jupyter_nb_bidi_confdir}
%dir %{_jupyter_nb_custom_confdir}
%dir %{_jupyter_nb_edit_confdir}
%dir %{_jupyter_nb_notebook_confdir}
%dir %{_jupyter_nb_services_confdir}
%dir %{_jupyter_nb_style_confdir}
%dir %{_jupyter_nb_terminal_confdir}
%dir %{_jupyter_nb_tree_confdir}
%files -n jupyter-jupyterlab-filesystem
%license LICENSE
%{_rpmmacrodir}/macros.jupyterlab
%dir %{_jupyter_lab_dir}
%dir %{_jupyter_labextensions_dir}
%changelog
++++++ macros.jupyter_core ++++++
%_jupyter_prefix %{_datadir}/jupyter/
%_jupyter_kernel_dir %{_jupyter_prefix}/kernels/
%_jupyter_confdir %{_sysconfdir}/jupyter/
%jupyter_move_config \
%if "$(dirname %{_prefix}/etc/jupyter)" != "$(dirname %{_jupyter_confdir})" \
mkdir -p %{buildroot}%{_sysconfdir} \
mv %{buildroot}%{_prefix}/etc/jupyter %{buildroot}%{_jupyter_confdir} \
rm -d %{buildroot}%{_prefix}/etc \
%endif \
%{nil}
++++++ macros.jupyter_notebook ++++++
%_jupyter_nbextension_dir %{_jupyter_prefix}/nbextensions/
%_jupyter_nb_confdir %{_jupyter_confdir}/nbconfig/
%_jupyter_nbextension_confdir %{_jupyter_nb_confdir}/nbextensions/
%_jupyter_servextension_confdir %{_jupyter_confdir}/jupyter_notebook_config.d/
%_jupyter_server_confdir %{_jupyter_confdir}/jupyter_server_config.d/
%_jupyter_nb_auth_confdir %{_jupyter_nb_confdir}/auth.d
%_jupyter_nb_base_confdir %{_jupyter_nb_confdir}/base.d
%_jupyter_nb_bidi_confdir %{_jupyter_nb_confdir}/bidi.d
%_jupyter_nb_custom_confdir %{_jupyter_nb_confdir}/custom.d
%_jupyter_nb_edit_confdir %{_jupyter_nb_confdir}/edit.d
%_jupyter_nb_notebook_confdir %{_jupyter_nb_confdir}/notebook.d
%_jupyter_nb_services_confdir %{_jupyter_nb_confdir}/services.d
%_jupyter_nb_style_confdir %{_jupyter_nb_confdir}/style.d
%_jupyter_nb_terminal_confdir %{_jupyter_nb_confdir}/terminal.d
%_jupyter_nb_tree_confdir %{_jupyter_nb_confdir}/tree.d
%jupyter_nbextension_install() \
PYTHONPATH=%{buildroot}%{python3_sitelib} jupyter nbextension install --nbextensions=%{buildroot}%{_jupyter_nbextension_dir} --py %{1} \
%{nil}
%jupyter_nbextension_enable() \
jupyter nbextension enable --py --system %{1} || true \
%{nil}
%jupyter_serverextension_enable() \
jupyter serverextension enable --py --system %{1} || true \
%{nil}
%jupyter_nbextension_disable() \
if [ $1 = 0 ] && [ -d %{python3_sitelib}/%{1}/ ] ; then \
jupyter nbextension disable --py --system %{1} || true \
fi \
%{nil}
%jupyter_serverextension_disable() \
if [ $1 = 0 ] && [ -d %{python3_sitelib}/%{1}/ ] ; then \
jupyter serverextension disable --py --system %{1} || true \
fi \
%{nil}
++++++ macros.jupyterlab ++++++
%_jupyter_lab_dir %{_jupyter_prefix}/lab/
%_jupyter_labextensions_dir %{_jupyter_lab_dir}/extensions/
1
0
Hello community,
here is the log from the commit of package python-jupyter_core for openSUSE:Factory checked in at 2019-05-25 13:35:07
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-jupyter_core (Old)
and /work/SRC/openSUSE:Factory/.python-jupyter_core.new.5148 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-jupyter_core"
Sat May 25 13:35:07 2019 rev:9 rq:704842 version:4.4.0
Changes:
--------
--- /work/SRC/openSUSE:Factory/python-jupyter_core/python-jupyter_core.changes 2019-05-22 11:05:25.682577350 +0200
+++ /work/SRC/openSUSE:Factory/.python-jupyter_core.new.5148/python-jupyter_core.changes 2019-05-25 13:35:08.523981566 +0200
@@ -1,0 +2,5 @@
+Tue May 14 18:55:09 UTC 2019 - Todd R <toddrme2178(a)gmail.com>
+
+- Split directories and macros into separate package.
+
+-------------------------------------------------------------------
Old:
----
macros.jupyter
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ python-jupyter_core.spec ++++++
--- /var/tmp/diff_new_pack.nEhT50/_old 2019-05-25 13:35:10.115980431 +0200
+++ /var/tmp/diff_new_pack.nEhT50/_new 2019-05-25 13:35:10.119980428 +0200
@@ -25,13 +25,13 @@
Group: Development/Languages/Python
URL: https://github.com/jupyter/jupyter_core
Source0: https://files.pythonhosted.org/packages/source/j/jupyter_core/jupyter_core-…
-Source10: macros.jupyter
# PATCH-FIX-OPENSUSE -- use_rpms_paths.patch -- change paths so they are easy to replace at build time
Patch0: use_rpms_paths.patch
BuildRequires: %{python_module ipython_genutils}
BuildRequires: %{python_module setuptools}
BuildRequires: %{python_module traitlets}
BuildRequires: fdupes
+BuildRequires: jupyter-jupyter_core-filesystem
BuildRequires: python-rpm-macros
Requires: jupyter-jupyter_core = %{version}
Requires: python-ipython_genutils
@@ -55,6 +55,7 @@
Summary: Base package on which Jupyter projects rely
Group: Development/Languages/Python
Requires: python3-jupyter_core = %{version}
+Requires: jupyter-notebook-filesystem
%description -n jupyter-jupyter_core
Core common functionality of Jupyter projects.
@@ -89,13 +90,6 @@
%fdupes %{buildroot}%{$python_sitelib}
}
-# these directories are used by extensions
-mkdir -p %{buildroot}%{_datadir}/jupyter/
-mkdir -p %{buildroot}%{_datadir}/jupyter/kernels/
-mkdir -p %{buildroot}%{_sysconfdir}/jupyter/
-
-install -D -m644 %{SOURCE10} %{buildroot}%{_rpmconfigdir}/macros.d/macros.jupyter
-
%files %{python_files}
%license COPYING.md
%{python_sitelib}/jupyter.py*
@@ -108,9 +102,5 @@
%doc CONTRIBUTING.md README.md
%{_bindir}/jupyter
%{_bindir}/jupyter-migrate
-%{_rpmconfigdir}/macros.d/macros.jupyter
-%dir %{_datadir}/jupyter/
-%dir %{_datadir}/jupyter/kernels/
-%dir %{_sysconfdir}/jupyter/
%changelog
1
0
Hello community,
here is the log from the commit of package jupyter-jupyterlab for openSUSE:Factory checked in at 2019-05-25 13:35:02
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/jupyter-jupyterlab (Old)
and /work/SRC/openSUSE:Factory/.jupyter-jupyterlab.new.5148 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "jupyter-jupyterlab"
Sat May 25 13:35:02 2019 rev:2 rq:704841 version:0.35.6
Changes:
--------
--- /work/SRC/openSUSE:Factory/jupyter-jupyterlab/jupyter-jupyterlab.changes 2019-05-22 10:57:23.338937989 +0200
+++ /work/SRC/openSUSE:Factory/.jupyter-jupyterlab.new.5148/jupyter-jupyterlab.changes 2019-05-25 13:35:04.499984436 +0200
@@ -1,0 +2,9 @@
+Tue May 14 18:55:09 UTC 2019 - Todd R <toddrme2178(a)gmail.com>
+
+- Update to 0.35.6
+ * Publish outputarea 0.19.2
+ * Make sure the cached value of `_lastStream` reflects the removed
+ characters so we don't have to remove them over and over again.
+- Split directories and macros into separate package.
+
+-------------------------------------------------------------------
Old:
----
jupyterlab-0.35.5-py3-none-any.whl
macros.jupyterlab
New:
----
jupyterlab-0.35.6-py3-none-any.whl
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ jupyter-jupyterlab.spec ++++++
--- /var/tmp/diff_new_pack.EXUp9U/_old 2019-05-25 13:35:06.551982973 +0200
+++ /var/tmp/diff_new_pack.EXUp9U/_new 2019-05-25 13:35:06.555982970 +0200
@@ -18,16 +18,16 @@
%bcond_with test
Name: jupyter-jupyterlab
-Version: 0.35.5
+Version: 0.35.6
Release: 0
Summary: The JupyterLab notebook server extension
License: BSD-3-Clause
Group: Development/Languages/Python
URL: https://github.com/jupyterlab/jupyterlab
Source0: https://files.pythonhosted.org/packages/py3/j/jupyterlab/jupyterlab-%{versi…
-Source10: macros.jupyterlab
Source99: jupyter-jupyterlab-rpmlintrc
BuildRequires: fdupes
+BuildRequires: jupyter-jupyterlab-filesystem
BuildRequires: jupyter-jupyterlab-launcher >= 0.13.1
BuildRequires: jupyter-jupyterlab-server < 0.3.0
BuildRequires: jupyter-jupyterlab-server >= 0.2.0
@@ -39,6 +39,7 @@
BuildRequires: python3-ipython_genutils
BuildRequires: python3-pip
BuildRequires: python3-requests
+Requires: jupyter-jupyterlab-filesystem
Requires: jupyter-jupyterlab-launcher >= 0.13.1
Requires: jupyter-jupyterlab-server < 0.3.0
Requires: jupyter-jupyterlab-server >= 0.2.0
@@ -50,7 +51,7 @@
Recommends: python3-requests
Recommends: python3-sphinx_rtd_theme
Provides: python3-jupyter_jupyterlab = %{version}
-Obsoletes: python3-jupyter_jupyterlab <= %{version}
+Obsoletes: python3-jupyter_jupyterlab < %{version}
Provides: python3-jupyterlab = %{version}
BuildArch: noarch
%if %{with test}
@@ -80,14 +81,8 @@
%{jupyter_move_config}
-mkdir -p %{buildroot}%{_jupyter_prefix}/lab/
-mkdir -p %{buildroot}%{_jupyter_prefix}/lab/extensions/
-mkdir -p %{buildroot}%{_jupyter_prefix}/labextensions/
-
%{fdupes %{buildroot}%{_jupyter_prefix} %{buildroot}%{python3_sitelib}}
-install -D -m644 %{SOURCE10} %{buildroot}%{_rpmconfigdir}/macros.d/macros.jupyterlab
-
%if %{with test}
%check
rm -r build
@@ -101,11 +96,8 @@
%{_bindir}/jupyter-lab
%{_bindir}/jupyter-labextension
%{_bindir}/jupyter-labhub
-%{_jupyter_prefix}/lab/
-%{_jupyter_prefix}/lab/extensions/
-%{_jupyter_prefix}/labextensions/
%config %{_jupyter_servextension_confdir}/jupyterlab.json
-%{_rpmconfigdir}/macros.d/macros.jupyterlab
+%{_jupyter_lab_dir}
%{python3_sitelib}/jupyterlab
%{python3_sitelib}/jupyterlab-%{version}.dist-info
1
0
Hello community,
here is the log from the commit of package libvirt for openSUSE:Factory checked in at 2019-05-25 13:34:44
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/libvirt (Old)
and /work/SRC/openSUSE:Factory/.libvirt.new.5148 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "libvirt"
Sat May 25 13:34:44 2019 rev:284 rq:705076 version:5.3.0
Changes:
--------
--- /work/SRC/openSUSE:Factory/libvirt/libvirt.changes 2019-05-22 10:53:13.747242186 +0200
+++ /work/SRC/openSUSE:Factory/.libvirt.new.5148/libvirt.changes 2019-05-25 13:34:45.547997953 +0200
@@ -1,0 +2,6 @@
+Thu May 23 17:07:21 UTC 2019 - Jim Fehlig <jfehlig(a)suse.com>
+
+- spec: add systemd-container dependency to qemu and lxc drivers
+ bsc#1136109
+
+-------------------------------------------------------------------
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ libvirt.spec ++++++
--- /var/tmp/diff_new_pack.tJPxux/_old 2019-05-25 13:34:47.675996435 +0200
+++ /var/tmp/diff_new_pack.tJPxux/_new 2019-05-25 13:34:47.675996435 +0200
@@ -12,7 +12,7 @@
# license that conforms to the Open Source Definition (Version 1.9)
# published by the Open Source Initiative.
-# Please submit bugfixes or comments via https://bugs.opensuse.org/
+# Please submit bugfixes or comments via http://bugs.opensuse.org/
#
@@ -675,6 +675,7 @@
Requires: gzip
Requires: lzop
Requires: qemu
+Requires: systemd-container
Requires: xz
%description daemon-driver-qemu
@@ -688,6 +689,7 @@
Requires: %{name}-libs = %{version}-%{release}
# There really is a hard cross-driver dependency here
Requires: %{name}-daemon-driver-network = %{version}-%{release}
+Requires: systemd-container
%description daemon-driver-lxc
The LXC driver plugin for the libvirtd daemon, providing
1
0
Hello community,
here is the log from the commit of package libssh for openSUSE:Factory checked in at 2019-05-25 13:34:36
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/libssh (Old)
and /work/SRC/openSUSE:Factory/.libssh.new.5148 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "libssh"
Sat May 25 13:34:36 2019 rev:56 rq:705071 version:0.8.7
Changes:
--------
--- /work/SRC/openSUSE:Factory/libssh/libssh.changes 2019-03-01 20:30:02.474002378 +0100
+++ /work/SRC/openSUSE:Factory/.libssh.new.5148/libssh.changes 2019-05-25 13:34:37.708003545 +0200
@@ -1,0 +2,8 @@
+Thu May 23 15:32:07 UTC 2019 - James McDonough <jmcdonough(a)suse.com>
+
+- Add support for new AES-GCM encryption types; (bsc#1134193)
+ * Add 0001-libcrypto-Implement-OpenSSH-compatible-AES-GCM-ciphe.patch
+ * Add 0001-libgcrypt-Implement-OpenSSH-compatible-AES-GCM-ciphe.patch
+ * Add 0001-tests-Add-aes-gcm-ciphers-tests.patch
+
+-------------------------------------------------------------------
New:
----
0001-libcrypto-Implement-OpenSSH-compatible-AES-GCM-ciphe.patch
0001-libgcrypt-Implement-OpenSSH-compatible-AES-GCM-ciphe.patch
0001-tests-Add-aes-gcm-ciphers-tests.patch
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ libssh.spec ++++++
--- /var/tmp/diff_new_pack.KnaVAb/_old 2019-05-25 13:34:39.864002007 +0200
+++ /var/tmp/diff_new_pack.KnaVAb/_new 2019-05-25 13:34:39.904001978 +0200
@@ -36,6 +36,9 @@
Source2: https://cryptomilk.org/gpgkey-8DFF53E18F2ABC8D8F3C92237EE0FC4DCC014E3D.gpg#…
Source99: baselibs.conf
Patch0: 0001-disable-timeout-test-on-slow-buildsystems.patch
+Patch1: 0001-libcrypto-Implement-OpenSSH-compatible-AES-GCM-ciphe.patch
+Patch2: 0001-libgcrypt-Implement-OpenSSH-compatible-AES-GCM-ciphe.patch
+Patch3: 0001-tests-Add-aes-gcm-ciphers-tests.patch
# cmake pulls curl, but libssh is a dependency of it, so avoid cycles by using curl-mini
#!BuildRequires: libcurl4-mini
BuildRequires: cmake
++++++ 0001-libcrypto-Implement-OpenSSH-compatible-AES-GCM-ciphe.patch ++++++
>From 46090facbae8c8292d2775546082ccbd5e56fbd1 Mon Sep 17 00:00:00 2001
From: Jakub Jelen <jjelen(a)redhat.com>
Date: Mon, 8 Oct 2018 13:24:49 +0200
Subject: [PATCH] libcrypto: Implement OpenSSH-compatible AES-GCM ciphers using
OpenSSL
The commit also propares the internals throughout the code base
for the inclusion of a new AEAD cipher, because previously, the
source code counted only with chacha20-poly1305 cipher, which
is very specific in many cases.
The SSH_HMAC_AEAD_GCM mac algorithm is not actually used, but the name
needed to be defined so we can match in the algorithms selection per
OpenSSH specification (MACs are ignored in case GCM is select as a cipher [1]).
If the provided OpenSSL does not provide EVP_aes_128_gcm() function,
the AES-GCM ciphers will not be compiled in.
[1] https://cvsweb.openbsd.org/src/usr.bin/ssh/PROTOCOL.chacha20poly1305?annota…
Signed-off-by: Jakub Jelen <jjelen(a)redhat.com>
Reviewed-by: Andreas Schneider <asn(a)cryptomilk.org>
---
ConfigureChecks.cmake | 4 +
config.h.cmake | 3 +
include/libssh/crypto.h | 8 +-
include/libssh/wrapper.h | 3 +-
src/chachapoly.c | 1 +
src/kex.c | 9 +-
src/libcrypto.c | 247 +++++++++++++++++++++++++++++++++++++++
src/packet_crypt.c | 5 +-
src/wrapper.c | 27 ++++-
9 files changed, 297 insertions(+), 10 deletions(-)
Index: libssh-0.8.7/ConfigureChecks.cmake
===================================================================
--- libssh-0.8.7.orig/ConfigureChecks.cmake
+++ libssh-0.8.7/ConfigureChecks.cmake
@@ -110,6 +110,10 @@ if (OPENSSL_FOUND)
set(CMAKE_REQUIRED_INCLUDES ${OPENSSL_INCLUDE_DIR})
set(CMAKE_REQUIRED_LIBRARIES ${OPENSSL_CRYPTO_LIBRARY})
+ check_function_exists(EVP_aes_128_gcm HAVE_OPENSSL_EVP_AES_GCM)
+
+ set(CMAKE_REQUIRED_INCLUDES ${OPENSSL_INCLUDE_DIR})
+ set(CMAKE_REQUIRED_LIBRARIES ${OPENSSL_CRYPTO_LIBRARY})
check_function_exists(CRYPTO_THREADID_set_callback HAVE_OPENSSL_CRYPTO_THREADID_SET_CALLBACK)
set(CMAKE_REQUIRED_INCLUDES ${OPENSSL_INCLUDE_DIR})
Index: libssh-0.8.7/config.h.cmake
===================================================================
--- libssh-0.8.7.orig/config.h.cmake
+++ libssh-0.8.7/config.h.cmake
@@ -100,6 +100,9 @@
/* Define to 1 if you have the `EVP_aes128_cbc' function. */
#cmakedefine HAVE_OPENSSL_EVP_AES_CBC 1
+/* Define to 1 if you have the `EVP_aes128_gcm' function. */
+#cmakedefine HAVE_OPENSSL_EVP_AES_GCM 1
+
/* Define to 1 if you have the `CRYPTO_THREADID_set_callback' function. */
#cmakedefine HAVE_OPENSSL_CRYPTO_THREADID_SET_CALLBACK 1
Index: libssh-0.8.7/include/libssh/crypto.h
===================================================================
--- libssh-0.8.7.orig/include/libssh/crypto.h
+++ libssh-0.8.7/include/libssh/crypto.h
@@ -48,6 +48,9 @@
#define DIGEST_MAX_LEN 64
+#define AES_GCM_TAGLEN 16
+#define AES_GCM_IVLEN 12
+
enum ssh_key_exchange_e {
/* diffie-hellman-group1-sha1 */
SSH_KEX_DH_GROUP1_SHA1=1,
@@ -78,7 +81,10 @@ enum ssh_cipher_e {
SSH_AES256_CBC,
SSH_AES128_CTR,
SSH_AES192_CTR,
- SSH_AES256_CTR
+ SSH_AES256_CTR,
+ SSH_AEAD_AES128_GCM,
+ SSH_AEAD_AES256_GCM,
+ SSH_AEAD_CHACHA20_POLY1305
};
struct ssh_crypto_struct {
Index: libssh-0.8.7/include/libssh/wrapper.h
===================================================================
--- libssh-0.8.7.orig/include/libssh/wrapper.h
+++ libssh-0.8.7/include/libssh/wrapper.h
@@ -46,7 +46,8 @@ enum ssh_hmac_e {
SSH_HMAC_SHA256,
SSH_HMAC_SHA512,
SSH_HMAC_MD5,
- SSH_HMAC_AEAD_POLY1305
+ SSH_HMAC_AEAD_POLY1305,
+ SSH_HMAC_AEAD_GCM
};
enum ssh_des_e {
Index: libssh-0.8.7/src/chachapoly.c
===================================================================
--- libssh-0.8.7.orig/src/chachapoly.c
+++ libssh-0.8.7/src/chachapoly.c
@@ -192,6 +192,7 @@ static void chacha20_cleanup(struct ssh_
}
const struct ssh_cipher_struct chacha20poly1305_cipher = {
+ .ciphertype = SSH_AEAD_CHACHA20_POLY1305,
.name = "chacha20-poly1305(a)openssh.com",
.blocksize = 8,
.lenfield_blocksize = 4,
Index: libssh-0.8.7/src/kex.c
===================================================================
--- libssh-0.8.7.orig/src/kex.c
+++ libssh-0.8.7/src/kex.c
@@ -61,10 +61,15 @@
# endif /* HAVE_OPENSSL_BLOWFISH_H */
# ifdef HAVE_OPENSSL_AES_H
+# ifdef HAVE_OPENSSL_EVP_AES_GCM
+# define GCM "aes256-gcm@openssh.com,aes128-gcm@openssh.com,"
+# else
+# define GCM ""
+# endif /* HAVE_OPENSSL_EVP_AES_GCM */
# ifdef BROKEN_AES_CTR
-# define AES "aes256-cbc,aes192-cbc,aes128-cbc,"
+# define AES GCM "aes256-cbc,aes192-cbc,aes128-cbc,"
# else /* BROKEN_AES_CTR */
-# define AES "aes256-ctr,aes192-ctr,aes128-ctr,aes256-cbc,aes192-cbc,aes128-cbc,"
+# define AES GCM "aes256-ctr,aes192-ctr,aes128-ctr,aes256-cbc,aes192-cbc,aes128-cbc,"
# endif /* BROKEN_AES_CTR */
# else /* HAVE_OPENSSL_AES_H */
# define AES ""
Index: libssh-0.8.7/src/libcrypto.c
===================================================================
--- libssh-0.8.7.orig/src/libcrypto.c
+++ libssh-0.8.7/src/libcrypto.c
@@ -491,6 +491,19 @@ static void evp_cipher_init(struct ssh_c
SSH_LOG(SSH_LOG_WARNING, "This cipher is not available in evp_cipher_init");
break;
#endif
+#ifdef HAVE_OPENSSL_EVP_AES_GCM
+ case SSH_AEAD_AES128_GCM:
+ cipher->cipher = EVP_aes_128_gcm();
+ break;
+ case SSH_AEAD_AES256_GCM:
+ cipher->cipher = EVP_aes_256_gcm();
+ break;
+#else
+ case SSH_AEAD_AES128_GCM:
+ case SSH_AEAD_AES256_GCM:
+ SSH_LOG(SSH_LOG_WARNING, "This cipher is not available in evp_cipher_init");
+ break;
+#endif /* HAVE_OPENSSL_EVP_AES_GCM */
case SSH_3DES_CBC:
cipher->cipher = EVP_des_ede3_cbc();
break;
@@ -498,6 +511,9 @@ static void evp_cipher_init(struct ssh_c
cipher->cipher = EVP_bf_cbc();
break;
/* ciphers not using EVP */
+ case SSH_AEAD_CHACHA20_POLY1305:
+ SSH_LOG(SSH_LOG_WARNING, "The ChaCha cipher can not be handled here");
+ break;
case SSH_NO_CIPHER:
SSH_LOG(SSH_LOG_WARNING, "No valid ciphertype found");
break;
@@ -517,6 +533,22 @@ static int evp_cipher_set_encrypt_key(st
SSH_LOG(SSH_LOG_WARNING, "EVP_EncryptInit_ex failed");
return SSH_ERROR;
}
+
+#ifdef HAVE_OPENSSL_EVP_AES_GCM
+ /* For AES-GCM we need to set IV in specific way */
+ if (cipher->ciphertype == SSH_AEAD_AES128_GCM ||
+ cipher->ciphertype == SSH_AEAD_AES256_GCM) {
+ rc = EVP_CIPHER_CTX_ctrl(cipher->ctx,
+ EVP_CTRL_GCM_SET_IV_FIXED,
+ -1,
+ (u_char *)IV);
+ if (rc != 1) {
+ SSH_LOG(SSH_LOG_WARNING, "EVP_CTRL_GCM_SET_IV_FIXED failed");
+ return SSH_ERROR;
+ }
+ }
+#endif /* HAVE_OPENSSL_EVP_AES_GCM */
+
EVP_CIPHER_CTX_set_padding(cipher->ctx, 0);
return SSH_OK;
@@ -534,6 +566,22 @@ static int evp_cipher_set_decrypt_key(st
SSH_LOG(SSH_LOG_WARNING, "EVP_DecryptInit_ex failed");
return SSH_ERROR;
}
+
+#ifdef HAVE_OPENSSL_EVP_AES_GCM
+ /* For AES-GCM we need to set IV in specific way */
+ if (cipher->ciphertype == SSH_AEAD_AES128_GCM ||
+ cipher->ciphertype == SSH_AEAD_AES256_GCM) {
+ rc = EVP_CIPHER_CTX_ctrl(cipher->ctx,
+ EVP_CTRL_GCM_SET_IV_FIXED,
+ -1,
+ (u_char *)IV);
+ if (rc != 1) {
+ SSH_LOG(SSH_LOG_WARNING, "EVP_CTRL_GCM_SET_IV_FIXED failed");
+ return SSH_ERROR;
+ }
+ }
+#endif /* HAVE_OPENSSL_EVP_AES_GCM */
+
EVP_CIPHER_CTX_set_padding(cipher->ctx, 0);
return SSH_OK;
@@ -642,6 +690,175 @@ static void aes_ctr_cleanup(struct ssh_c
#endif /* HAVE_OPENSSL_EVP_AES_CTR */
+#ifdef HAVE_OPENSSL_EVP_AES_GCM
+static int
+evp_cipher_aead_get_length(struct ssh_cipher_struct *cipher,
+ void *in,
+ uint8_t *out,
+ size_t len,
+ uint64_t seq)
+{
+ (void)seq;
+
+ /* The length is not encrypted: Copy it to the result buffer */
+ memcpy(out, in, len);
+
+ return SSH_OK;
+}
+
+static void
+evp_cipher_aead_encrypt(struct ssh_cipher_struct *cipher,
+ void *in,
+ void *out,
+ size_t len,
+ uint8_t *tag,
+ uint64_t seq)
+{
+ size_t authlen, aadlen;
+ u_char lastiv[1];
+ int outlen = 0;
+ int rc;
+
+ (void) seq;
+
+ aadlen = cipher->lenfield_blocksize;
+ authlen = cipher->tag_size;
+
+ /* increment IV */
+ rc = EVP_CIPHER_CTX_ctrl(cipher->ctx,
+ EVP_CTRL_GCM_IV_GEN,
+ 1,
+ lastiv);
+ if (rc == 0) {
+ SSH_LOG(SSH_LOG_WARNING, "EVP_CTRL_GCM_IV_GEN failed");
+ return;
+ }
+
+ /* Pass over the authenticated data (not encrypted) */
+ rc = EVP_EncryptUpdate(cipher->ctx,
+ NULL,
+ &outlen,
+ (unsigned char *)in,
+ aadlen);
+ if (rc == 0 || outlen != aadlen) {
+ SSH_LOG(SSH_LOG_WARNING, "Failed to pass authenticated data");
+ return;
+ }
+ memcpy(out, in, aadlen);
+
+ /* Encrypt the rest of the data */
+ rc = EVP_EncryptUpdate(cipher->ctx,
+ (unsigned char *)out + aadlen,
+ &outlen,
+ (unsigned char *)in + aadlen,
+ len - aadlen);
+ if (rc != 1 || outlen != len - aadlen) {
+ SSH_LOG(SSH_LOG_WARNING, "EVP_EncryptUpdate failed");
+ return;
+ }
+
+ /* compute tag */
+ rc = EVP_EncryptFinal(cipher->ctx,
+ NULL,
+ &outlen);
+ if (rc < 0) {
+ SSH_LOG(SSH_LOG_WARNING, "EVP_EncryptFinal failed: Failed to create a tag");
+ return;
+ }
+
+ rc = EVP_CIPHER_CTX_ctrl(cipher->ctx,
+ EVP_CTRL_GCM_GET_TAG,
+ authlen,
+ (unsigned char *)tag);
+ if (rc != 1) {
+ SSH_LOG(SSH_LOG_WARNING, "EVP_CTRL_GCM_GET_TAG failed");
+ return;
+ }
+}
+
+static int
+evp_cipher_aead_decrypt(struct ssh_cipher_struct *cipher,
+ void *complete_packet,
+ uint8_t *out,
+ size_t encrypted_size,
+ uint64_t seq)
+{
+ size_t authlen, aadlen;
+ u_char lastiv[1];
+ int outlen = 0;
+ int rc = 0;
+
+ (void)seq;
+
+ aadlen = cipher->lenfield_blocksize;
+ authlen = cipher->tag_size;
+
+ /* increment IV */
+ rc = EVP_CIPHER_CTX_ctrl(cipher->ctx,
+ EVP_CTRL_GCM_IV_GEN,
+ 1,
+ lastiv);
+ if (rc == 0) {
+ SSH_LOG(SSH_LOG_WARNING, "EVP_CTRL_GCM_IV_GEN failed");
+ return SSH_ERROR;
+ }
+
+ /* set tag for authentication */
+ rc = EVP_CIPHER_CTX_ctrl(cipher->ctx,
+ EVP_CTRL_GCM_SET_TAG,
+ authlen,
+ (unsigned char *)complete_packet + aadlen + encrypted_size);
+ if (rc == 0) {
+ SSH_LOG(SSH_LOG_WARNING, "EVP_CTRL_GCM_SET_TAG failed");
+ return SSH_ERROR;
+ }
+
+ /* Pass over the authenticated data (not encrypted) */
+ rc = EVP_DecryptUpdate(cipher->ctx,
+ NULL,
+ &outlen,
+ (unsigned char *)complete_packet,
+ aadlen);
+ if (rc == 0) {
+ SSH_LOG(SSH_LOG_WARNING, "Failed to pass authenticated data");
+ return SSH_ERROR;
+ }
+ /* Do not copy the length to the target buffer, because it is already processed */
+ //memcpy(out, complete_packet, aadlen);
+
+ /* Decrypt the rest of the data */
+ rc = EVP_DecryptUpdate(cipher->ctx,
+ (unsigned char *)out,
+ &outlen,
+ (unsigned char *)complete_packet + aadlen,
+ encrypted_size /* already substracted aadlen*/);
+ if (rc != 1) {
+ SSH_LOG(SSH_LOG_WARNING, "EVP_DecryptUpdate failed");
+ return SSH_ERROR;
+ }
+
+ if (outlen != (int)encrypted_size) {
+ SSH_LOG(SSH_LOG_WARNING,
+ "EVP_DecryptUpdate: output size %d for %zd in",
+ outlen,
+ encrypted_size);
+ return SSH_ERROR;
+ }
+
+ /* verify tag */
+ rc = EVP_DecryptFinal(cipher->ctx,
+ NULL,
+ &outlen);
+ if (rc < 0) {
+ SSH_LOG(SSH_LOG_WARNING, "EVP_DecryptFinal failed: Failed authentication");
+ return SSH_ERROR;
+ }
+
+ return SSH_OK;
+}
+
+#endif /* HAVE_OPENSSL_EVP_AES_GCM */
+
/*
* The table of supported ciphers
*/
@@ -765,6 +982,36 @@ static struct ssh_cipher_struct ssh_ciph
.decrypt = evp_cipher_decrypt,
.cleanup = evp_cipher_cleanup
},
+#ifdef HAVE_OPENSSL_EVP_AES_GCM
+ {
+ .name = "aes128-gcm(a)openssh.com",
+ .blocksize = AES_BLOCK_SIZE,
+ .lenfield_blocksize = 4, /* not encrypted, but authenticated */
+ .ciphertype = SSH_AEAD_AES128_GCM,
+ .keysize = 128,
+ .tag_size = AES_GCM_TAGLEN,
+ .set_encrypt_key = evp_cipher_set_encrypt_key,
+ .set_decrypt_key = evp_cipher_set_decrypt_key,
+ .aead_encrypt = evp_cipher_aead_encrypt,
+ .aead_decrypt_length = evp_cipher_aead_get_length,
+ .aead_decrypt = evp_cipher_aead_decrypt,
+ .cleanup = evp_cipher_cleanup
+ },
+ {
+ .name = "aes256-gcm(a)openssh.com",
+ .blocksize = AES_BLOCK_SIZE,
+ .lenfield_blocksize = 4, /* not encrypted, but authenticated */
+ .ciphertype = SSH_AEAD_AES256_GCM,
+ .keysize = 256,
+ .tag_size = AES_GCM_TAGLEN,
+ .set_encrypt_key = evp_cipher_set_encrypt_key,
+ .set_decrypt_key = evp_cipher_set_decrypt_key,
+ .aead_encrypt = evp_cipher_aead_encrypt,
+ .aead_decrypt_length = evp_cipher_aead_get_length,
+ .aead_decrypt = evp_cipher_aead_decrypt,
+ .cleanup = evp_cipher_cleanup
+ },
+#endif /* HAVE_OPENSSL_EVP_AES_GCM */
#endif /* HAS_AES */
#ifdef HAS_DES
{
Index: libssh-0.8.7/src/packet_crypt.c
===================================================================
--- libssh-0.8.7.orig/src/packet_crypt.c
+++ libssh-0.8.7/src/packet_crypt.c
@@ -209,8 +209,9 @@ int ssh_packet_hmac_verify(ssh_session s
unsigned int len;
uint32_t seq;
- /* AEAD type have no mac checking */
- if (type == SSH_HMAC_AEAD_POLY1305) {
+ /* AEAD types have no mac checking */
+ if (type == SSH_HMAC_AEAD_POLY1305 ||
+ type == SSH_HMAC_AEAD_GCM) {
return SSH_OK;
}
Index: libssh-0.8.7/src/wrapper.c
===================================================================
--- libssh-0.8.7.orig/src/wrapper.c
+++ libssh-0.8.7/src/wrapper.c
@@ -55,6 +55,7 @@ static struct ssh_hmac_struct ssh_hmac_t
{ "hmac-sha2-512", SSH_HMAC_SHA512 },
{ "hmac-md5", SSH_HMAC_MD5 },
{ "aead-poly1305", SSH_HMAC_AEAD_POLY1305 },
+ { "aead-gcm", SSH_HMAC_AEAD_GCM },
{ NULL, 0}
};
@@ -74,6 +75,8 @@ size_t hmac_digest_len(enum ssh_hmac_e t
return MD5_DIGEST_LEN;
case SSH_HMAC_AEAD_POLY1305:
return POLY1305_TAGLEN;
+ case SSH_HMAC_AEAD_GCM:
+ return AES_GCM_TAGLEN;
default:
return 0;
}
@@ -253,7 +256,11 @@ static int crypt_set_algorithms2(ssh_ses
if (session->next_crypto->out_cipher->aead_encrypt != NULL){
/* this cipher has integrated MAC */
- wanted = "aead-poly1305";
+ if (session->next_crypto->out_cipher->ciphertype == SSH_AEAD_CHACHA20_POLY1305) {
+ wanted = "aead-poly1305";
+ } else {
+ wanted = "aead-gcm";
+ }
} else {
/*
* We must scan the kex entries to find hmac algorithms and set their
@@ -307,7 +314,11 @@ static int crypt_set_algorithms2(ssh_ses
if (session->next_crypto->in_cipher->aead_encrypt != NULL){
/* this cipher has integrated MAC */
- wanted = "aead-poly1305";
+ if (session->next_crypto->in_cipher->ciphertype == SSH_AEAD_CHACHA20_POLY1305) {
+ wanted = "aead-poly1305";
+ } else {
+ wanted = "aead-gcm";
+ }
} else {
/* we must scan the kex entries to find hmac algorithms and set their appropriate structure */
wanted = session->next_crypto->kex_methods[SSH_MAC_S_C];
@@ -395,7 +406,11 @@ int crypt_set_algorithms_server(ssh_sess
i=0;
if (session->next_crypto->out_cipher->aead_encrypt != NULL){
/* this cipher has integrated MAC */
- method = "aead-poly1305";
+ if (session->next_crypto->out_cipher->ciphertype == SSH_AEAD_CHACHA20_POLY1305) {
+ method = "aead-poly1305";
+ } else {
+ method = "aead-gcm";
+ }
} else {
/* we must scan the kex entries to find hmac algorithms and set their appropriate structure */
/* out */
@@ -446,7 +461,11 @@ int crypt_set_algorithms_server(ssh_sess
if (session->next_crypto->in_cipher->aead_encrypt != NULL){
/* this cipher has integrated MAC */
- method = "aead-poly1305";
+ if (session->next_crypto->in_cipher->ciphertype == SSH_AEAD_CHACHA20_POLY1305) {
+ method = "aead-poly1305";
+ } else {
+ method = "aead-gcm";
+ }
} else {
/* we must scan the kex entries to find hmac algorithms and set their appropriate structure */
method = session->next_crypto->kex_methods[SSH_MAC_C_S];
++++++ 0001-libgcrypt-Implement-OpenSSH-compatible-AES-GCM-ciphe.patch ++++++
>From 5790036a2305d5610ac55adb5382ea55d043998f Mon Sep 17 00:00:00 2001
From: Jakub Jelen <jjelen(a)redhat.com>
Date: Mon, 1 Oct 2018 14:32:05 +0200
Subject: [PATCH] libgcrypt: Implement OpenSSH-compatible AES-GCM ciphers using
libgcrypt
Signed-off-by: Jakub Jelen <jjelen(a)redhat.com>
Reviewed-by: Andreas Schneider <asn(a)cryptomilk.org>
---
include/libssh/crypto.h | 1 +
src/kex.c | 4 +-
src/libgcrypt.c | 201 ++++++++++++++++++++++++++++++++++++++++
3 files changed, 205 insertions(+), 1 deletion(-)
diff --git a/include/libssh/crypto.h b/include/libssh/crypto.h
index fc375a4f..8777f0c9 100644
--- a/include/libssh/crypto.h
+++ b/include/libssh/crypto.h
@@ -142,6 +142,7 @@ struct ssh_cipher_struct {
size_t keylen; /* length of the key structure */
#ifdef HAVE_LIBGCRYPT
gcry_cipher_hd_t *key;
+ unsigned char last_iv[AES_GCM_IVLEN];
#elif defined HAVE_LIBCRYPTO
struct ssh_3des_key_schedule *des3_key;
struct ssh_aes_key_schedule *aes_key;
diff --git a/src/kex.c b/src/kex.c
index e0fd5680..382d88fb 100644
--- a/src/kex.c
+++ b/src/kex.c
@@ -40,7 +40,9 @@
#ifdef HAVE_LIBGCRYPT
# define BLOWFISH "blowfish-cbc,"
-# define AES "aes256-ctr,aes192-ctr,aes128-ctr,aes256-cbc,aes192-cbc,aes128-cbc,"
+# define AES "aes256-gcm@openssh.com,aes128-gcm@openssh.com," \
+ "aes256-ctr,aes192-ctr,aes128-ctr," \
+ "aes256-cbc,aes192-cbc,aes128-cbc,"
# define DES "3des-cbc"
# define DES_SUPPORTED "3des-cbc"
diff --git a/src/libgcrypt.c b/src/libgcrypt.c
index f004ffe2..7160bb1c 100644
--- a/src/libgcrypt.c
+++ b/src/libgcrypt.c
@@ -353,6 +353,8 @@ static int aes_set_key(struct ssh_cipher_struct *cipher, void *key, void *IV) {
}
if(strstr(cipher->name,"-ctr"))
mode=GCRY_CIPHER_MODE_CTR;
+ if (strstr(cipher->name, "-gcm"))
+ mode = GCRY_CIPHER_MODE_GCM;
switch (cipher->keysize) {
case 128:
if (gcry_cipher_open(&cipher->key[0], GCRY_CIPHER_AES128,
@@ -386,6 +388,11 @@ static int aes_set_key(struct ssh_cipher_struct *cipher, void *key, void *IV) {
SAFE_FREE(cipher->key);
return -1;
}
+ } else if (mode == GCRY_CIPHER_MODE_GCM) {
+ /* Store the IV so we can handle the packet counter increments later
+ * The IV is passed to the cipher context later.
+ */
+ memcpy(cipher->last_iv, IV, AES_GCM_IVLEN);
} else {
if(gcry_cipher_setctr(cipher->key[0],IV,16)){
SAFE_FREE(cipher->key);
@@ -407,6 +414,172 @@ static void aes_decrypt(struct ssh_cipher_struct *cipher, void *in, void *out,
gcry_cipher_decrypt(cipher->key[0], out, len, in, len);
}
+static int
+aes_aead_get_length(struct ssh_cipher_struct *cipher,
+ void *in,
+ uint8_t *out,
+ size_t len,
+ uint64_t seq)
+{
+ (void)seq;
+
+ /* The length is not encrypted: Copy it to the result buffer */
+ memcpy(out, in, len);
+
+ return SSH_OK;
+}
+
+/* Increment 64b integer in network byte order */
+static void
+uint64_inc(unsigned char *counter)
+{
+ int i;
+
+ for (i = 7; i >= 0; i--) {
+ counter[i]++;
+ if (counter[i])
+ return;
+ }
+}
+
+static void
+aes_gcm_encrypt(struct ssh_cipher_struct *cipher,
+ void *in,
+ void *out,
+ size_t len,
+ uint8_t *tag,
+ uint64_t seq)
+{
+ gpg_error_t err;
+ size_t aadlen, authlen;
+
+ (void)seq;
+
+ aadlen = cipher->lenfield_blocksize;
+ authlen = cipher->tag_size;
+
+ /* increment IV */
+ err = gcry_cipher_setiv(cipher->key[0],
+ cipher->last_iv,
+ AES_GCM_IVLEN);
+ /* This actualy does not increment the packet counter for the
+ * current encryption operation, but for the next one. The first
+ * operation needs to be completed with the derived IV.
+ *
+ * The IV buffer has the following structure:
+ * [ 4B static IV ][ 8B packet counter ][ 4B block counter ]
+ */
+ uint64_inc(cipher->last_iv + 4);
+ if (err) {
+ SSH_LOG(SSH_LOG_WARNING, "gcry_cipher_setiv failed: %s",
+ gpg_strerror(err));
+ return;
+ }
+
+ /* Pass the authenticated data (packet_length) */
+ err = gcry_cipher_authenticate(cipher->key[0], in, aadlen);
+ if (err) {
+ SSH_LOG(SSH_LOG_WARNING, "gcry_cipher_authenticate failed: %s",
+ gpg_strerror(err));
+ return;
+ }
+ memcpy(out, in, aadlen);
+
+ /* Encrypt the rest of the data */
+ err = gcry_cipher_encrypt(cipher->key[0],
+ (unsigned char *)out + aadlen,
+ len - aadlen,
+ (unsigned char *)in + aadlen,
+ len - aadlen);
+ if (err) {
+ SSH_LOG(SSH_LOG_WARNING, "gcry_cipher_encrypt failed: %s",
+ gpg_strerror(err));
+ return;
+ }
+
+ /* Calculate the tag */
+ err = gcry_cipher_gettag(cipher->key[0],
+ (void *)tag,
+ authlen);
+ if (err) {
+ SSH_LOG(SSH_LOG_WARNING, "gcry_cipher_gettag failed: %s",
+ gpg_strerror(err));
+ return;
+ }
+}
+
+static int
+aes_gcm_decrypt(struct ssh_cipher_struct *cipher,
+ void *complete_packet,
+ uint8_t *out,
+ size_t encrypted_size,
+ uint64_t seq)
+{
+ gpg_error_t err;
+ size_t aadlen, authlen;
+
+ (void)seq;
+
+ aadlen = cipher->lenfield_blocksize;
+ authlen = cipher->tag_size;
+
+ /* increment IV */
+ err = gcry_cipher_setiv(cipher->key[0],
+ cipher->last_iv,
+ AES_GCM_IVLEN);
+ /* This actualy does not increment the packet counter for the
+ * current encryption operation, but for the next one. The first
+ * operation needs to be completed with the derived IV.
+ *
+ * The IV buffer has the following structure:
+ * [ 4B static IV ][ 8B packet counter ][ 4B block counter ]
+ */
+ uint64_inc(cipher->last_iv + 4);
+ if (err) {
+ SSH_LOG(SSH_LOG_WARNING, "gcry_cipher_setiv failed: %s",
+ gpg_strerror(err));
+ return SSH_ERROR;
+ }
+
+ /* Pass the authenticated data (packet_length) */
+ err = gcry_cipher_authenticate(cipher->key[0],
+ complete_packet,
+ aadlen);
+ if (err) {
+ SSH_LOG(SSH_LOG_WARNING, "gcry_cipher_authenticate failed: %s",
+ gpg_strerror(err));
+ return SSH_ERROR;
+ }
+ /* Do not copy the length to the target buffer, because it is already processed */
+ //memcpy(out, complete_packet, aadlen);
+
+ /* Encrypt the rest of the data */
+ err = gcry_cipher_decrypt(cipher->key[0],
+ out,
+ encrypted_size,
+ (unsigned char *)complete_packet + aadlen,
+ encrypted_size);
+ if (err) {
+ SSH_LOG(SSH_LOG_WARNING, "gcry_cipher_decrypt failed: %s",
+ gpg_strerror(err));
+ return SSH_ERROR;
+ }
+
+ /* Check the tag */
+ err = gcry_cipher_checktag(cipher->key[0],
+ (unsigned char *)complete_packet + aadlen + encrypted_size,
+ authlen);
+ if (gpg_err_code(err) == GPG_ERR_CHECKSUM) {
+ SSH_LOG(SSH_LOG_WARNING, "The authentication tag does not match");
+ return SSH_ERROR;
+ } else if (err != GPG_ERR_NO_ERROR) {
+ SSH_LOG(SSH_LOG_WARNING, "General error while decryption: %s",
+ gpg_strerror(err));
+ return SSH_ERROR;
+ }
+ return SSH_OK;
+}
+
static int des3_set_key(struct ssh_cipher_struct *cipher, void *key, void *IV) {
if (cipher->key == NULL) {
if (alloc_key(cipher) < 0) {
@@ -519,6 +692,34 @@ static struct ssh_cipher_struct ssh_ciphertab[] = {
.encrypt = aes_encrypt,
.decrypt = aes_decrypt
},
+ {
+ .name = "aes128-gcm(a)openssh.com",
+ .blocksize = 16,
+ .lenfield_blocksize = 4, /* not encrypted, but authenticated */
+ .keylen = sizeof(gcry_cipher_hd_t),
+ .key = NULL,
+ .keysize = 128,
+ .tag_size = AES_GCM_TAGLEN,
+ .set_encrypt_key = aes_set_key,
+ .set_decrypt_key = aes_set_key,
+ .aead_encrypt = aes_gcm_encrypt,
+ .aead_decrypt_length = aes_aead_get_length,
+ .aead_decrypt = aes_gcm_decrypt,
+ },
+ {
+ .name = "aes256-gcm(a)openssh.com",
+ .blocksize = 16,
+ .lenfield_blocksize = 4, /* not encrypted, but authenticated */
+ .keylen = sizeof(gcry_cipher_hd_t),
+ .key = NULL,
+ .keysize = 256,
+ .tag_size = AES_GCM_TAGLEN,
+ .set_encrypt_key = aes_set_key,
+ .set_decrypt_key = aes_set_key,
+ .aead_encrypt = aes_gcm_encrypt,
+ .aead_decrypt_length = aes_aead_get_length,
+ .aead_decrypt = aes_gcm_decrypt,
+ },
{
.name = "3des-cbc",
.blocksize = 8,
--
2.21.0
++++++ 0001-tests-Add-aes-gcm-ciphers-tests.patch ++++++
>From 42bd7cdf6c6e50786155c904821fc62d6d8e5acb Mon Sep 17 00:00:00 2001
From: Jakub Jelen <jjelen(a)redhat.com>
Date: Mon, 8 Oct 2018 13:31:12 +0200
Subject: [PATCH] tests: Add aes-gcm ciphers tests
Signed-off-by: Jakub Jelen <jjelen(a)redhat.com>
Reviewed-by: Andreas Schneider <asn(a)cryptomilk.org>
---
tests/client/torture_algorithms.c | 20 ++++++++++++++++++++
tests/pkd/pkd_hello.c | 29 +++++++++++++++++++++++++++--
2 files changed, 47 insertions(+), 2 deletions(-)
diff --git a/tests/client/torture_algorithms.c b/tests/client/torture_algorithms.c
index c216c99b..9bb67410 100644
--- a/tests/client/torture_algorithms.c
+++ b/tests/client/torture_algorithms.c
@@ -240,6 +240,20 @@ static void torture_algorithms_aes256_ctr_hmac_sha2_512(void **state) {
test_algorithm(s->ssh.session, NULL/*kex*/, "aes256-ctr", "hmac-sha2-512");
}
+static void torture_algorithms_aes128_gcm(void **state)
+{
+ struct torture_state *s = *state;
+
+ test_algorithm(s->ssh.session, NULL/*kex*/, "aes128-gcm(a)openssh.com", NULL);
+}
+
+static void torture_algorithms_aes256_gcm(void **state)
+{
+ struct torture_state *s = *state;
+
+ test_algorithm(s->ssh.session, NULL/*kex*/, "aes256-gcm(a)openssh.com", NULL);
+}
+
static void torture_algorithms_3des_cbc_hmac_sha1(void **state) {
struct torture_state *s = *state;
@@ -464,6 +478,12 @@ int torture_run_tests(void) {
cmocka_unit_test_setup_teardown(torture_algorithms_aes256_ctr_hmac_sha2_512,
session_setup,
session_teardown),
+ cmocka_unit_test_setup_teardown(torture_algorithms_aes128_gcm,
+ session_setup,
+ session_teardown),
+ cmocka_unit_test_setup_teardown(torture_algorithms_aes256_gcm,
+ session_setup,
+ session_teardown),
cmocka_unit_test_setup_teardown(torture_algorithms_3des_cbc_hmac_sha1,
session_setup,
session_teardown),
diff --git a/tests/pkd/pkd_hello.c b/tests/pkd/pkd_hello.c
index e14316ec..0fa72d04 100644
--- a/tests/pkd/pkd_hello.c
+++ b/tests/pkd/pkd_hello.c
@@ -383,6 +383,8 @@ static int torture_pkd_setup_ecdsa_521(void **state) {
#endif
#define CHACHA20 "chacha20-poly1305(a)openssh.com"
+#define AES128_GCM "aes128-gcm(a)openssh.com"
+#define AES256_GCM "aes256-gcm(a)openssh.com"
#ifdef HAVE_DSA
#define PKDTESTS_CIPHER_OPENSSHONLY(f, client, ciphercmd) \
@@ -390,9 +392,13 @@ static int torture_pkd_setup_ecdsa_521(void **state) {
f(client, rsa_aes192_cbc, ciphercmd("aes192-cbc"), setup_rsa, teardown) \
f(client, rsa_aes192_ctr, ciphercmd("aes192-ctr"), setup_rsa, teardown) \
f(client, rsa_chacha20, ciphercmd(CHACHA20), setup_rsa, teardown) \
+ f(client, rsa_aes128_gcm, ciphercmd(AES128_GCM), setup_rsa, teardown) \
+ f(client, rsa_aes256_gcm, ciphercmd(AES256_GCM), setup_rsa, teardown) \
f(client, dsa_aes192_cbc, ciphercmd("aes192-cbc"), setup_dsa, teardown) \
f(client, dsa_aes192_ctr, ciphercmd("aes192-ctr"), setup_dsa, teardown) \
f(client, dsa_chacha20, ciphercmd(CHACHA20), setup_dsa, teardown) \
+ f(client, dsa_aes128_gcm, ciphercmd(AES128_GCM), setup_dsa, teardown) \
+ f(client, dsa_aes256_gcm, ciphercmd(AES256_GCM), setup_dsa, teardown) \
f(client, ed25519_3des_cbc, ciphercmd("3des-cbc"), setup_ed25519, teardown) \
f(client, ed25519_aes128_cbc, ciphercmd("aes128-cbc"), setup_ed25519, teardown) \
f(client, ed25519_aes128_ctr, ciphercmd("aes128-ctr"), setup_ed25519, teardown) \
@@ -401,21 +407,31 @@ static int torture_pkd_setup_ecdsa_521(void **state) {
f(client, ed25519_aes192_cbc, ciphercmd("aes192-cbc"), setup_ed25519, teardown) \
f(client, ed25519_aes192_ctr, ciphercmd("aes192-ctr"), setup_ed25519, teardown) \
f(client, ed25519_chacha20, ciphercmd(CHACHA20), setup_ed25519, teardown) \
+ f(client, ed25519_aes128_gcm, ciphercmd(AES128_GCM), setup_ed25519, teardown) \
+ f(client, ed25519_aes256_gcm, ciphercmd(AES256_GCM), setup_ed25519, teardown) \
f(client, ecdsa_256_aes192_cbc, ciphercmd("aes192-cbc"), setup_ecdsa_256, teardown) \
f(client, ecdsa_256_aes192_ctr, ciphercmd("aes192-ctr"), setup_ecdsa_256, teardown) \
f(client, ecdsa_256_chacha20, ciphercmd(CHACHA20), setup_ecdsa_256, teardown) \
+ f(client, ecdsa_256_aes128_gcm, ciphercmd(AES128_GCM), setup_ecdsa_256, teardown) \
+ f(client, ecdsa_256_aes256_gcm, ciphercmd(AES256_GCM), setup_ecdsa_256, teardown) \
f(client, ecdsa_384_aes192_cbc, ciphercmd("aes192-cbc"), setup_ecdsa_384, teardown) \
f(client, ecdsa_384_aes192_ctr, ciphercmd("aes192-ctr"), setup_ecdsa_384, teardown) \
f(client, ecdsa_384_chacha20, ciphercmd(CHACHA20), setup_ecdsa_384, teardown) \
+ f(client, ecdsa_384_aes128_gcm, ciphercmd(AES128_GCM), setup_ecdsa_384, teardown) \
+ f(client, ecdsa_384_aes256_gcm, ciphercmd(AES256_GCM), setup_ecdsa_384, teardown) \
f(client, ecdsa_521_aes192_cbc, ciphercmd("aes192-cbc"), setup_ecdsa_521, teardown) \
f(client, ecdsa_521_aes192_ctr, ciphercmd("aes192-ctr"), setup_ecdsa_521, teardown) \
- f(client, ecdsa_521_chacha20, ciphercmd(CHACHA20), setup_ecdsa_521, teardown)
+ f(client, ecdsa_521_chacha20, ciphercmd(CHACHA20), setup_ecdsa_521, teardown) \
+ f(client, ecdsa_521_aes128_gcm, ciphercmd(AES128_GCM), setup_ecdsa_521, teardown) \
+ f(client, ecdsa_521_aes256_gcm, ciphercmd(AES256_GCM), setup_ecdsa_521, teardown)
#else
#define PKDTESTS_CIPHER_OPENSSHONLY(f, client, ciphercmd) \
/* Ciphers. */ \
f(client, rsa_aes192_cbc, ciphercmd("aes192-cbc"), setup_rsa, teardown) \
f(client, rsa_aes192_ctr, ciphercmd("aes192-ctr"), setup_rsa, teardown) \
f(client, rsa_chacha20, ciphercmd(CHACHA20), setup_rsa, teardown) \
+ f(client, rsa_aes128_gcm, ciphercmd(AES128_GCM), setup_rsa, teardown) \
+ f(client, rsa_aes256_gcm, ciphercmd(AES256_GCM), setup_rsa, teardown) \
f(client, ed25519_3des_cbc, ciphercmd("3des-cbc"), setup_ed25519, teardown) \
f(client, ed25519_aes128_cbc, ciphercmd("aes128-cbc"), setup_ed25519, teardown) \
f(client, ed25519_aes128_ctr, ciphercmd("aes128-ctr"), setup_ed25519, teardown) \
@@ -424,17 +440,26 @@ static int torture_pkd_setup_ecdsa_521(void **state) {
f(client, ed25519_aes192_cbc, ciphercmd("aes192-cbc"), setup_ed25519, teardown) \
f(client, ed25519_aes192_ctr, ciphercmd("aes192-ctr"), setup_ed25519, teardown) \
f(client, ed25519_chacha20, ciphercmd(CHACHA20), setup_ed25519, teardown) \
+ f(client, ed25519_aes128_gcm, ciphercmd(AES128_GCM), setup_ed25519, teardown) \
+ f(client, ed25519_aes256_gcm, ciphercmd(AES256_GCM), setup_ed25519, teardown) \
f(client, ecdsa_256_aes192_cbc, ciphercmd("aes192-cbc"), setup_ecdsa_256, teardown) \
f(client, ecdsa_256_aes192_ctr, ciphercmd("aes192-ctr"), setup_ecdsa_256, teardown) \
f(client, ecdsa_256_chacha20, ciphercmd(CHACHA20), setup_ecdsa_256, teardown) \
+ f(client, ecdsa_256_aes128_gcm, ciphercmd(AES128_GCM), setup_ecdsa_256, teardown) \
+ f(client, ecdsa_256_aes256_gcm, ciphercmd(AES256_GCM), setup_ecdsa_256, teardown) \
f(client, ecdsa_384_aes192_cbc, ciphercmd("aes192-cbc"), setup_ecdsa_384, teardown) \
f(client, ecdsa_384_aes192_ctr, ciphercmd("aes192-ctr"), setup_ecdsa_384, teardown) \
f(client, ecdsa_384_chacha20, ciphercmd(CHACHA20), setup_ecdsa_384, teardown) \
+ f(client, ecdsa_384_aes128_gcm, ciphercmd(AES128_GCM), setup_ecdsa_384, teardown) \
+ f(client, ecdsa_384_aes256_gcm, ciphercmd(AES256_GCM), setup_ecdsa_384, teardown) \
f(client, ecdsa_521_aes192_cbc, ciphercmd("aes192-cbc"), setup_ecdsa_521, teardown) \
f(client, ecdsa_521_aes192_ctr, ciphercmd("aes192-ctr"), setup_ecdsa_521, teardown) \
- f(client, ecdsa_521_chacha20, ciphercmd(CHACHA20), setup_ecdsa_521, teardown)
+ f(client, ecdsa_521_chacha20, ciphercmd(CHACHA20), setup_ecdsa_521, teardown) \
+ f(client, ecdsa_521_aes128_gcm, ciphercmd(AES128_GCM), setup_ecdsa_521, teardown) \
+ f(client, ecdsa_521_aes256_gcm, ciphercmd(AES256_GCM), setup_ecdsa_521, teardown)
#endif
+
#ifdef HAVE_DSA
#define PKDTESTS_MAC(f, client, maccmd) \
/* MACs. */ \
--
2.21.0
1
0
Hello community,
here is the log from the commit of package hwinfo for openSUSE:Factory checked in at 2019-05-25 13:34:27
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/hwinfo (Old)
and /work/SRC/openSUSE:Factory/.hwinfo.new.5148 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "hwinfo"
Sat May 25 13:34:27 2019 rev:168 rq:705024 version:21.66
Changes:
--------
--- /work/SRC/openSUSE:Factory/hwinfo/hwinfo.changes 2019-03-19 11:08:22.626094628 +0100
+++ /work/SRC/openSUSE:Factory/.hwinfo.new.5148/hwinfo.changes 2019-05-25 13:34:28.788009907 +0200
@@ -1,0 +2,14 @@
+Thu May 23 13:32:53 UTC 2019 - wfeldt(a)opensuse.org
+
+- merge gh#openSUSE/hwinfo#80
+- fix Makefile and allow building for old distros
+- 21.66
+
+--------------------------------------------------------------------
+Thu May 23 12:03:24 UTC 2019 - wfeldt(a)opensuse.org
+
+- merge gh#openSUSE/hwinfo#79
+- return BIOS UUID in decoded (with '-'s) form (bsc#1135819)
+- 21.65
+
+--------------------------------------------------------------------
Old:
----
hwinfo-21.64.tar.xz
New:
----
hwinfo-21.66.tar.xz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ hwinfo.spec ++++++
--- /var/tmp/diff_new_pack.CZOivs/_old 2019-05-25 13:34:29.640009299 +0200
+++ /var/tmp/diff_new_pack.CZOivs/_new 2019-05-25 13:34:29.644009296 +0200
@@ -22,6 +22,7 @@
BuildRequires: perl-XML-Parser
BuildRequires: pkg-config
BuildRequires: udev
+BuildRequires: pkgconfig(uuid)
%if 0%{?rhel_version} == 0
BuildRequires: perl-XML-Writer
%endif
@@ -33,10 +34,10 @@
PreReq: /sbin/ldconfig
Summary: Hardware Library
# Until migration to github this should be correct url
-License: GPL-2.0+
+License: GPL-2.0-or-later
Group: Hardware/Other
Url: http://gitorious.org/opensuse/hwinfo
-Version: 21.64
+Version: 21.66
Release: 0
Source: %{name}-%{version}.tar.xz
BuildRoot: %{_tmppath}/%{name}-%{version}-build
++++++ hwinfo-21.64.tar.xz -> hwinfo-21.66.tar.xz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/hwinfo-21.64/Makefile new/hwinfo-21.66/Makefile
--- old/hwinfo-21.64/Makefile 2019-03-14 15:25:20.000000000 +0100
+++ new/hwinfo-21.66/Makefile 2019-05-23 15:32:53.000000000 +0200
@@ -3,9 +3,9 @@
TARGETS = hwinfo hwinfo.pc changelog
CLEANFILES = hwinfo hwinfo.pc hwinfo.static hwscan hwscan.static hwscand hwscanqueue doc/libhd doc/*~
LIBS = -lhd
-SLIBS = -lhd
+SLIBS = -lhd -luuid
TLIBS = -lhd_tiny
-SO_LIBS =
+SO_LIBS = -luuid
TSO_LIBS =
export SO_LIBS
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/hwinfo-21.64/VERSION new/hwinfo-21.66/VERSION
--- old/hwinfo-21.64/VERSION 2019-03-14 15:25:20.000000000 +0100
+++ new/hwinfo-21.66/VERSION 2019-05-23 15:32:53.000000000 +0200
@@ -1 +1 @@
-21.64
+21.66
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/hwinfo-21.64/changelog new/hwinfo-21.66/changelog
--- old/hwinfo-21.64/changelog 2019-03-14 15:25:20.000000000 +0100
+++ new/hwinfo-21.66/changelog 2019-05-23 15:32:53.000000000 +0200
@@ -1,3 +1,11 @@
+2019-05-23: 21.66
+ - merge gh#openSUSE/hwinfo#80
+ - fix Makefile and allow building for old distros
+
+2019-05-23: 21.65
+ - merge gh#openSUSE/hwinfo#79
+ - return BIOS UUID in decoded (with '-'s) form (bsc#1135819)
+
2019-03-14: 21.64
- Update of pci and usb ids (bsc#1127840) (#77)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/hwinfo-21.64/src/hd/smbios.c new/hwinfo-21.66/src/hd/smbios.c
--- old/hwinfo-21.64/src/hd/smbios.c 2019-03-14 15:25:20.000000000 +0100
+++ new/hwinfo-21.66/src/hd/smbios.c 2019-05-23 15:32:53.000000000 +0200
@@ -1,10 +1,16 @@
#include <stdio.h>
#include <string.h>
+#include <uuid/uuid.h>
#include "hd.h"
#include "hd_int.h"
#include "smbios.h"
+// not in old uuid.h versions
+#ifndef UUID_STR_LEN
+#define UUID_STR_LEN 37
+#endif
+
/**
* @defgroup SMBIOSint System Management BIOS (SMBIOS)
* @ingroup libhdINFOint
@@ -35,6 +41,7 @@
static void smbios_str_print(FILE *f, char *str, char *label);
static void smbios_id2str(hd_id_t *hid, sm_str_map_t *map, unsigned def);
static void smbios_bitmap2str(hd_bitmap_t *hbm, sm_str_map_t *map);
+static char *smbios_decode_uuid(uuid_t uuid);
/* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */
@@ -1287,7 +1294,7 @@
hd_smbios_t *sm;
str_list_t *sl;
char c, *s;
- unsigned u;
+ unsigned u, u_and, u_or;
int i;
if(!hd_data->smbios) return;
@@ -1310,18 +1317,17 @@
if(sm->sysinfo.product) fprintf(f, " Product: \"%s\"\n", sm->sysinfo.product);
if(sm->sysinfo.version) fprintf(f, " Version: \"%s\"\n", sm->sysinfo.version);
if(sm->sysinfo.serial) fprintf(f, " Serial: \"%s\"\n", sm->sysinfo.serial);
- for(i = u = 0; (unsigned) i < sizeof sm->sysinfo.uuid / sizeof *sm->sysinfo.uuid; i++) {
- u |= sm->sysinfo.uuid[i];
+ for(i = u_or = 0, u_and = 0xff; (unsigned) i < sizeof sm->sysinfo.uuid / sizeof *sm->sysinfo.uuid; i++) {
+ u_or |= sm->sysinfo.uuid[i];
+ u_and &= sm->sysinfo.uuid[i];
}
fprintf(f, " UUID: ");
- if(u == 0 || u == 0xff) {
+ if(u_or == 0 || u_and == 0xff) {
fprintf(f, "undefined");
- if(u == 0xff) fprintf(f, ", but settable");
+ if(u_and == 0xff) fprintf(f, ", but settable");
}
else {
- for(i = sizeof sm->sysinfo.uuid / sizeof *sm->sysinfo.uuid - 1; i >= 0; i--) {
- fprintf(f, "%02x", sm->sysinfo.uuid[i]);
- }
+ fprintf(f, "%s", smbios_decode_uuid(sm->sysinfo.uuid));
}
fprintf(f, "\n");
SMBIOS_PRINT_ID(sysinfo.wake_up, "Wake-up");
@@ -1668,5 +1674,31 @@
}
}
+
+/*
+ * Convert UUID from binary form to string.
+ *
+ * Return string in a static buffer.
+ */
+char *smbios_decode_uuid(uuid_t uuid)
+{
+ uuid_t uuid_mixed;
+ static char buf[UUID_STR_LEN];
+ static unsigned char idx[sizeof (uuid_t)] = {3, 2, 1, 0, 5, 4, 7, 6, 8, 9, 10, 11, 12, 13, 14, 15};
+ int i;
+ unsigned char *s, *d;
+
+ s = (unsigned char *) uuid;
+ d = (unsigned char *) uuid_mixed;
+
+ for(i = 0; i < sizeof uuid_mixed; i++) {
+ d[i] = s[idx[i]];
+ }
+
+ uuid_unparse_lower(uuid_mixed, buf);
+
+ return buf;
+}
+
/** @} */
1
0
Hello community,
here is the log from the commit of package 000product for openSUSE:Factory checked in at 2019-05-25 13:21:13
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/000product (Old)
and /work/SRC/openSUSE:Factory/.000product.new.5148 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "000product"
Sat May 25 13:21:13 2019 rev:1270 rq: version:unknown
Sat May 25 13:21:11 2019 rev:1269 rq: version:unknown
Sat May 25 13:21:09 2019 rev:1268 rq: version:unknown
Changes:
--------
New Changes file:
NO CHANGES FILE!!!
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
openSUSE-MicroOS-dvd5-dvd-x86_64.kiwi: same change
openSUSE-MicroOS-dvd5-kubic-dvd-x86_64.kiwi: same change
openSUSE-cd-mini-i586.kiwi: same change
openSUSE-cd-mini-x86_64.kiwi: same change
openSUSE-dvd5-dvd-i586.kiwi: same change
openSUSE-dvd5-dvd-x86_64.kiwi: same change
openSUSE-ftp-ftp-i586_x86_64.kiwi: same change
stub.kiwi: same change
++++++ openSUSE-Addon-NonOss.product ++++++
--- /var/tmp/diff_new_pack.w4yF37/_old 2019-05-25 13:21:23.516310748 +0200
+++ /var/tmp/diff_new_pack.w4yF37/_new 2019-05-25 13:21:23.520310747 +0200
@@ -4,7 +4,7 @@
<product>
<vendor>openSUSE</vendor>
<name>openSUSE-Addon-NonOss</name>
- <version>20190524</version>
+ <version>20190525</version>
<release>0</release>
<summary>openSUSE NonOSS Addon</summary>
<shortsummary>non oss addon</shortsummary>
++++++ openSUSE-MicroOS.product ++++++
--- /var/tmp/diff_new_pack.w4yF37/_old 2019-05-25 13:21:23.544310738 +0200
+++ /var/tmp/diff_new_pack.w4yF37/_new 2019-05-25 13:21:23.544310738 +0200
@@ -6,7 +6,7 @@
<name>openSUSE-MicroOS</name>
<releasepkgname>openSUSE-MicroOS-release</releasepkgname>
<endoflife/>
- <version>20190524</version>
+ <version>20190525</version>
<!-- release is no longer optional -->
<release>0</release>
<productline>openSUSE-MicroOS</productline>
++++++ openSUSE.product ++++++
--- /var/tmp/diff_new_pack.w4yF37/_old 2019-05-25 13:21:23.568310729 +0200
+++ /var/tmp/diff_new_pack.w4yF37/_new 2019-05-25 13:21:23.568310729 +0200
@@ -4,7 +4,7 @@
<product>
<vendor>openSUSE</vendor>
<name>openSUSE</name>
- <version>20190524</version>
+ <version>20190525</version>
<release>0</release>
<productline>openSUSE</productline>
1
0
Hello community,
here is the log from the commit of package libdxfrw for openSUSE:Factory checked in at 2019-05-25 13:21:06
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/libdxfrw (Old)
and /work/SRC/openSUSE:Factory/.libdxfrw.new.5148 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "libdxfrw"
Sat May 25 13:21:06 2019 rev:8 rq:705288 version:0.6.3+git.20190501
Changes:
--------
--- /work/SRC/openSUSE:Factory/libdxfrw/libdxfrw.changes 2016-06-14 23:07:28.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.libdxfrw.new.5148/libdxfrw.changes 2019-05-25 13:21:19.916312087 +0200
@@ -1,0 +2,23 @@
+Sun May 19 17:50:31 UTC 2019 - jslaby(a)suse.com
+
+- switch from sourceforge to more up-to-date github repo
+- Update to version 0.6.3+git.20190501:
+ * Add build status and update example link
+ * Add Travis-CI script
+ * [#10] Fix compilation on GCC
+ * Fix bugs with .dwg import of TEXT and MTEXT entities
+ * This was unnecessary
+ * Link libdxfrw against libstdc++
+ * Return an error when the file ends prematurely
+ * Add version getter
+ * Fix polyline 2d/3d write
+ * Initialize return buffers in GetRawChar8 et al.
+- add
+ * 0001-cmake-use-GNUInstallDirs.patch
+ * 0002-cmake-set-library-VERSIONs.patch
+ * 0003-cmake-add-one-for-dwg2dxf.patch
+ * 0004-cmake-generate-and-install-pkgconfig.patch
+- remove
+ * libdxfrw-LibreCad-2.1.0-changes.patch
+
+-------------------------------------------------------------------
Old:
----
libdxfrw-0.6.3.tar.bz2
libdxfrw-LibreCad-2.1.0-changes.patch
New:
----
0001-cmake-use-GNUInstallDirs.patch
0002-cmake-set-library-VERSIONs.patch
0003-cmake-add-one-for-dwg2dxf.patch
0004-cmake-generate-and-install-pkgconfig.patch
_service
_servicedata
libdxfrw-0.6.3+git.20190501.tar.xz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ libdxfrw.spec ++++++
--- /var/tmp/diff_new_pack.OiVbgD/_old 2019-05-25 13:21:20.756311775 +0200
+++ /var/tmp/diff_new_pack.OiVbgD/_new 2019-05-25 13:21:20.756311775 +0200
@@ -1,7 +1,7 @@
#
# spec file for package libdxfrw
#
-# Copyright (c) 2015 SUSE LINUX GmbH, Nuernberg, Germany.
+# Copyright (c) 2019 SUSE LINUX GmbH, Nuernberg, Germany.
# Copyright (c) 2015 Asterios Dramis <asterios.dramis(a)gmail.com>.
#
# All modifications and additions to the file contributed by third parties
@@ -13,24 +13,27 @@
# license that conforms to the Open Source Definition (Version 1.9)
# published by the Open Source Initiative.
-# Please submit bugfixes or comments via http://bugs.opensuse.org/
+# Please submit bugfixes or comments via https://bugs.opensuse.org/
#
%define so_ver 0
Name: libdxfrw
-Version: 0.6.3
+Version: 0.6.3+git.20190501
Release: 0
Summary: Library to read and write DXF files
-License: GPL-2.0+
+License: GPL-2.0-or-later
Group: Development/Libraries/C and C++
-Url: http://sourceforge.net/p/libdxfrw/home/Home/
-Source0: http://downloads.sourceforge.net/%{name}/%{name}-%{version}.tar.bz2
-Patch0: libdxfrw-LibreCad-2.1.0-changes.patch
+Url: https://github.com/LibreCAD/libdxfrw/
+Source0: %{name}-%{version}.tar.xz
+Patch0: 0001-cmake-use-GNUInstallDirs.patch
+Patch1: 0002-cmake-set-library-VERSIONs.patch
+Patch2: 0003-cmake-add-one-for-dwg2dxf.patch
+Patch3: 0004-cmake-generate-and-install-pkgconfig.patch
+BuildRequires: cmake
BuildRequires: gcc-c++
-BuildRequires: pkg-config
-BuildRoot: %{_tmppath}/%{name}-%{version}-build
+BuildRequires: ninja
%description
libdxfrw is a free C++ library to read and write DXF files in both formats,
@@ -61,18 +64,15 @@
%prep
%setup -q
-%patch0 -p1
+%autopatch -p1
%build
-CXXFLAGS="$CXXFLAGS -std=c++11"
-%configure --disable-static
-make %{?_smp_mflags}
+%define __builder ninja
+%cmake
+%make_jobs
%install
-make DESTDIR=%{buildroot} install
-
-# Remove libtool config files
-rm -f %{buildroot}%{_libdir}/*.la
+%cmake_install
%post -n libdxfrw%{so_ver} -p /sbin/ldconfig
@@ -80,15 +80,18 @@
%files devel
%defattr(-,root,root,-)
-%doc AUTHORS COPYING ChangeLog README TODO
+%doc AUTHORS ChangeLog README TODO
+%license COPYING
%{_includedir}/libdxfrw0/
%{_libdir}/pkgconfig/libdxfrw0.pc
%{_libdir}/libdxfrw.so
%files tools
%defattr(-,root,root,-)
-%doc AUTHORS COPYING ChangeLog README TODO
+%doc AUTHORS ChangeLog README TODO
+%license COPYING
%{_bindir}/dwg2dxf
+%{_mandir}/man1/dwg2dxf.1.gz
%files -n libdxfrw%{so_ver}
%defattr(-,root,root,-)
++++++ 0001-cmake-use-GNUInstallDirs.patch ++++++
From 0ac4187c34a8e4a9512a41426a20b1bb8dc41d21 Mon Sep 17 00:00:00 2001
From: Jiri Slaby <jslaby(a)suse.cz>
Date: Mon, 20 May 2019 07:25:18 +0200
Subject: [PATCH 1/4] cmake: use GNUInstallDirs
This installs the files to lib64 where appropriate.
---
CMakeLists.txt | 6 ++++--
1 file changed, 4 insertions(+), 2 deletions(-)
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 990d253..24d7e26 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -2,6 +2,8 @@ CMAKE_MINIMUM_REQUIRED(VERSION 2.8.10)
PROJECT (DXFRW)
ADD_DEFINITIONS(-std=c++11)
+include(GNUInstallDirs)
+
# SOURCE FILES
set(libdxfrw_srcs
src/intern/drw_dbg.cpp
@@ -69,6 +71,6 @@ endforeach()
add_library(dxfrw SHARED ${libdxfrw_srcs} ${libdxfrw_hdrs})
# INSTALLATION
-install(TARGETS dxfrw DESTINATION lib)
+install(TARGETS dxfrw DESTINATION "${CMAKE_INSTALL_LIBDIR}")
set(HDRSUBDIR "/libdxfrw0/")
-install(FILES ${installdxfrw_hdrs} DESTINATION include${HDRSUBDIR})
+install(FILES ${installdxfrw_hdrs} DESTINATION "${CMAKE_INSTALL_INCLUDEDIR}/${HDRSUBDIR}")
--
2.21.0
++++++ 0002-cmake-set-library-VERSIONs.patch ++++++
From 5377425b11c38c51a9209e55346bf8f0dee45cc0 Mon Sep 17 00:00:00 2001
From: Jiri Slaby <jslaby(a)suse.cz>
Date: Mon, 20 May 2019 07:48:13 +0200
Subject: [PATCH 2/4] cmake: set library VERSIONs
Especially soversion is needed to have a correctly linked and named
libraries.
---
CMakeLists.txt | 15 +++++++++++++--
1 file changed, 13 insertions(+), 2 deletions(-)
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 24d7e26..4ff736d 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -1,5 +1,15 @@
CMAKE_MINIMUM_REQUIRED(VERSION 2.8.10)
-PROJECT (DXFRW)
+
+if(${CMAKE_MAJOR_VERSION} LESS 3)
+ project(DXFRW)
+ set(VERSION 0.6.3)
+ set(PROJECT_VERSION 0.6.3)
+ set(PROJECT_VERSION_MAJOR 0)
+else()
+ cmake_policy(SET CMP0048 NEW)
+ project(DXFRW VERSION 0.6.3)
+endif()
+
ADD_DEFINITIONS(-std=c++11)
include(GNUInstallDirs)
@@ -69,8 +79,9 @@ foreach(dir ${dirs})
endforeach()
add_library(dxfrw SHARED ${libdxfrw_srcs} ${libdxfrw_hdrs})
+set_target_properties(dxfrw PROPERTIES VERSION "${PROJECT_VERSION}" SOVERSION "${PROJECT_VERSION_MAJOR}")
# INSTALLATION
install(TARGETS dxfrw DESTINATION "${CMAKE_INSTALL_LIBDIR}")
-set(HDRSUBDIR "/libdxfrw0/")
+set(HDRSUBDIR "/libdxfrw${PROJECT_VERSION_MAJOR}/")
install(FILES ${installdxfrw_hdrs} DESTINATION "${CMAKE_INSTALL_INCLUDEDIR}/${HDRSUBDIR}")
--
2.21.0
++++++ 0003-cmake-add-one-for-dwg2dxf.patch ++++++
From 218173d4273eff2cb9ae00bfc54ded99f760fbad Mon Sep 17 00:00:00 2001
From: Jiri Slaby <jslaby(a)suse.cz>
Date: Mon, 20 May 2019 07:55:32 +0200
Subject: [PATCH 3/4] cmake: add one for dwg2dxf
---
CMakeLists.txt | 2 ++
dwg2dxf/CMakeLists.txt | 8 ++++++++
2 files changed, 10 insertions(+)
create mode 100644 dwg2dxf/CMakeLists.txt
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 4ff736d..83468a5 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -81,6 +81,8 @@ endforeach()
add_library(dxfrw SHARED ${libdxfrw_srcs} ${libdxfrw_hdrs})
set_target_properties(dxfrw PROPERTIES VERSION "${PROJECT_VERSION}" SOVERSION "${PROJECT_VERSION_MAJOR}")
+add_subdirectory(dwg2dxf)
+
# INSTALLATION
install(TARGETS dxfrw DESTINATION "${CMAKE_INSTALL_LIBDIR}")
set(HDRSUBDIR "/libdxfrw${PROJECT_VERSION_MAJOR}/")
diff --git a/dwg2dxf/CMakeLists.txt b/dwg2dxf/CMakeLists.txt
new file mode 100644
index 0000000..fdf025f
--- /dev/null
+++ b/dwg2dxf/CMakeLists.txt
@@ -0,0 +1,8 @@
+add_definitions(-Wall)
+include_directories(../src)
+
+add_executable(dwg2dxf dx_iface.cpp main.cpp dx_iface.h dx_data.h)
+target_link_libraries(dwg2dxf dxfrw)
+
+install(TARGETS dwg2dxf DESTINATION "${CMAKE_INSTALL_BINDIR}")
+install(FILES dwg2dxf.1 DESTINATION "${CMAKE_INSTALL_MANDIR}/man1")
--
2.21.0
++++++ 0004-cmake-generate-and-install-pkgconfig.patch ++++++
From dd4a421755f716fb44076276bead870d71ddef39 Mon Sep 17 00:00:00 2001
From: Jiri Slaby <jslaby(a)suse.cz>
Date: Mon, 20 May 2019 08:25:38 +0200
Subject: [PATCH 4/4] cmake: generate and install pkgconfig
librecad depends on this.
---
CMakeLists.txt | 10 ++++++++++
1 file changed, 10 insertions(+)
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 83468a5..c04760b 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -81,9 +81,19 @@ endforeach()
add_library(dxfrw SHARED ${libdxfrw_srcs} ${libdxfrw_hdrs})
set_target_properties(dxfrw PROPERTIES VERSION "${PROJECT_VERSION}" SOVERSION "${PROJECT_VERSION_MAJOR}")
+add_custom_command(OUTPUT libdxfrw${PROJECT_VERSION_MAJOR}.pc
+ COMMAND cp ${CMAKE_CURRENT_SOURCE_DIR}/libdxfrw.pc.in libdxfrw${PROJECT_VERSION_MAJOR}.pc
+ COMMAND sed ARGS -i "s|@prefix@|${CMAKE_INSTALL_PREFIX}|g; s|@exec_prefix@|${CMAKE_INSTALL_PREFIX}|g; s|@libdir@|${CMAKE_INSTALL_FULL_LIBDIR}|g; s|@includedir@|${CMAKE_INSTALL_FULL_INCLUDEDIR}|g; s|@PACKAGE_VERSION@|${PROJECT_VERSION}|g; s|@LIBRARY_AGE@|${PROJECT_VERSION_MAJOR}|" libdxfrw${PROJECT_VERSION_MAJOR}.pc
+ MAIN_DEPENDENCY ${CMAKE_CURRENT_SOURCE_DIR}/libdxfrw.pc.in
+ VERBATIM)
+
+add_custom_target(libdxfrw_pkgconfig ALL
+ DEPENDS libdxfrw${PROJECT_VERSION_MAJOR}.pc)
+
add_subdirectory(dwg2dxf)
# INSTALLATION
install(TARGETS dxfrw DESTINATION "${CMAKE_INSTALL_LIBDIR}")
set(HDRSUBDIR "/libdxfrw${PROJECT_VERSION_MAJOR}/")
install(FILES ${installdxfrw_hdrs} DESTINATION "${CMAKE_INSTALL_INCLUDEDIR}/${HDRSUBDIR}")
+install(FILES ${CMAKE_CURRENT_BINARY_DIR}/libdxfrw${PROJECT_VERSION_MAJOR}.pc DESTINATION ${CMAKE_INSTALL_LIBDIR}/pkgconfig)
--
2.21.0
++++++ _service ++++++
<services>
<service mode="disabled" name="tar_scm">
<param name="url">git://github.com/LibreCAD/libdxfrw/</param>
<param name="scm">git</param>
<param name="changesgenerate">enable</param>
<param name="filename">libdxfrw</param>
<param name="versionformat">0.6.3+git.%cd</param>
</service>
<service mode="disabled" name="recompress">
<param name="file">*.tar</param>
<param name="compression">xz</param>
</service>
<service mode="disabled" name="set_version"/>
</services>
++++++ _servicedata ++++++
<servicedata>
<service name="tar_scm">
<param name="url">git://github.com/LibreCAD/libdxfrw/</param>
<param name="changesrevision">ba4b597ebfd86a0ca903c5fdc335143f7db236e2</param></service></servicedata>
1
0
Hello community,
here is the log from the commit of package cilium for openSUSE:Factory checked in at 2019-05-25 13:21:01
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/cilium (Old)
and /work/SRC/openSUSE:Factory/.cilium.new.5148 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "cilium"
Sat May 25 13:21:01 2019 rev:14 rq:705277 version:1.5.1
Changes:
--------
--- /work/SRC/openSUSE:Factory/cilium/cilium.changes 2019-05-13 14:50:23.822767138 +0200
+++ /work/SRC/openSUSE:Factory/.cilium.new.5148/cilium.changes 2019-05-25 13:21:18.200312725 +0200
@@ -1,0 +2,67 @@
+Fri May 10 10:20:32 UTC 2019 - Michal Rostecki <mrostecki(a)opensuse.org>
+
+- Update to version 1.5.1:
+ * Important Bugfixes:
+ * Fix bug where Cilium would refuse to start if ipv6 netfilter
+ modules are unavailable.
+ * Warn when iptables modules are not available.
+ * Use all labels to restore endpoint identity to correctly
+ filter labels upon restart.
+ * Fix cases where multiple bindings are provided to CLI flags.
+ * New Functionality / Enhancements:
+ * Add node-init script to automatically restart pods managed by
+ kubenet on GKE
+ * Add functionality to enable or disable metrics for specific
+ subsystems
+ * bpf syscall metrics are disabled by default for performance
+ * Update node, node/status to allow for patch operations in
+ Cilium RBAC
+ * Patch, instead of update, node annotations for better
+ performance
+ * Annotate node status with NetworkUnavailable as false
+ * Performance increase by not allocating any memory when
+ iterating over BPF maps
+ * CLI now prints tunnel endpoint for RemoteEndpointInfo
+ * Try to register node forever in nodediscovery
+ * Remove unused buildqueue package
+ * Minor Bug Fixes:
+ * endpoint: do not serialize JSON for EventQueue field
+ * Avoid unlocked access of endpoint security identity when
+ calculating what rules select an endpoint
+ * Only dump bpf lb list if map exists
+ * Fix bug where endpoint state metrics get stuck with nonzero
+ endpoints in restoring state
+ * Do not init config when running with --cmdref parameter
+ * Improve separation between cilium-agent and cilium CLI
+ * Add cilium namespace to fqdn_gc_deletions_total metric
+ * Force preallocation for SNAT maps of LRU type
+ * Set BPF_F_NO_PREALLOC before comparing maps
+ * Operator:
+ * Improve cilium-operator bootstrap sequence (Start health API
+ earlier, add more logging to see where the operator blocks
+ on startup)
+ * Add ca-certificates to operator
+ * Documentation:
+ * Add upgrade guide from >=1.4.0 to 1.5
+ * Mention enable-legacy-services flag in upgrade docs
+ * Add k8s 1.14 to supported versions for testing
+ * Improve configmap documentation
+ * Document how to get started with MicroK8s, and provide example
+ YAMLs
+ * Fix typo in encryption algorithm: GMC -> GCM
+ * Fix up Ubuntu apt-get install command
+ * Minor fixes to AWS EKS and AWS Metadata filtering GSGs
+ * CI:
+ * Wait for endpoints to be ready after containers are created,
+ deleted
+ * Ensure that `go fmt` check always runs correctly in CI
+ * Increase test suite timeouts to allow for cases where tests
+ take longer
+ * Do not set enable-legacy-services in v1.4 ConfigMap
+ * Update k8s testing versions to v1.11.10 and v1.12.8
+ * Make function provided to WithTimeout run asynchronously to
+ avoid test suites getting stuck
+- Add cilium-k8s-yaml package with Kubernetes yaml file to run
+ Cilium containers.
+
+-------------------------------------------------------------------
Old:
----
cilium-1.5.0.tar.gz
New:
----
cilium-1.5.1.tar.gz
cilium-cni-install
cilium-cni-uninstall
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ cilium.spec ++++++
--- /var/tmp/diff_new_pack.nwdBvv/_old 2019-05-25 13:21:19.512312237 +0200
+++ /var/tmp/diff_new_pack.nwdBvv/_new 2019-05-25 13:21:19.516312236 +0200
@@ -35,7 +35,7 @@
%endif
Name: cilium
-Version: 1.5.0
+Version: 1.5.1
Release: 0
Summary: Linux Native, HTTP Aware Networking and Security for Containers
License: Apache-2.0 AND GPL-2.0-or-later
@@ -43,6 +43,8 @@
URL: https://github.com/cilium/cilium
Source0: %{name}-%{version}.tar.gz
Source1: %{name}-rpmlintrc
+Source2: cilium-cni-install
+Source3: cilium-cni-uninstall
BuildRequires: clang
BuildRequires: git
BuildRequires: glibc-devel
@@ -178,6 +180,20 @@
This package contains shared development files for Cilium which are used by
Cilium filters in Envoy.
+%package k8s-yaml
+Summary: Kubernetes yaml file to run Cilium containers
+Group: System/Management
+BuildArch: noarch
+
+%description k8s-yaml
+Cilium is a software for providing, and transparently securing, network
+connectivity, and for load-balancing between application containers and
+services deployed using Linux container management platforms like Docker and
+Kubernetes.
+
+This package contains the yaml file requried to download and run Cilium
+containers in a Kubernetes cluster.
+
%prep
%setup -q
@@ -190,25 +206,12 @@
sed -i '/groupadd /s/^/#/' daemon/Makefile
sed -i '/groupadd /s/^/#/' operator/Makefile
-# need to fix it upstream or get clearification why we need it
-touch bpf/.gitignore
# create bindata.go which is no included in the source as it is ignored
# because of .gitignore
make -C daemon apply-bindata
%if 0%{?suse_version} > 1510 && 0%{?is_opensuse}
-# Currently the full precheck is failing because:
-# - Cilium uses Go in version 1.11.3 due to the following bug which happens
-# when Go >= 1.11.4 is used:
-# https://github.com/cilium/cilium/issues/6559
-# - openSUSE ships only the newest 1.11.x version
-# - Thus we have to use Go 1.10.x, but Cilium code follows 1.11.x gofmt
-# rules, which differ from 1.10.x.
-#
-# make precheck
-
-# Before the issue above gets fixed, let's at least run single code checks
-# which are working.
+make precheck
make govet
make ineffassign
make logging-subsys-field
@@ -235,9 +238,22 @@
ln -sf %{_sbindir}/service %{buildroot}%{_sbindir}/rc${service}
done
+install -D -m 0755 %{SOURCE2} %{buildroot}%{_sbindir}/cilium-cni-install
+install -D -m 0755 %{SOURCE3} %{buildroot}%{_sbindir}/cilium-cni-uninstall
install -D -m 0755 contrib/packaging/docker/init-container.sh %{buildroot}/%{_bindir}/cilium-init
install -D -m 0644 contrib/systemd/cilium %{buildroot}%{_fillupdir}/sysconfig.cilium
install -D -m 0644 proxylib/libcilium.h %{buildroot}%{_includedir}/libcilium.h
+install -D -m 0644 examples/kubernetes/1.14/cilium-crio.yaml %{buildroot}%{_datadir}/k8s-yaml/cilium/cilium.yaml
+sed -i \
+ -e 's|image: docker.io/cilium/cilium:.*|image: registry.opensuse.org/devel/kubic/containers/container/kubic/cilium:%{versi…' \
+ -e 's|image: docker.io/cilium/cilium-init:.*|image: registry.opensuse.org/devel/kubic/containers/container/kubic/cilium-init:%{…' \
+ -e 's|image: docker.io/cilium/operator:.*|image: registry.opensuse.org/devel/kubic/containers/container/kubic/cilium-operato…' \
+ -e 's|image: docker.io/cilium/cilium-etcd-operator:.*|image: registry.opensuse.org/devel/kubic/containers/container/kubic/cilium-etcd-op…' \
+ -e 's|/init-container.sh|cilium-init|g' \
+ -e 's|/cni-install.sh|cilium-cni-install|g' \
+ -e 's|/cni-uninstall.sh|cilium-cni-uninstall|g' \
+ -e 's|--container-runtime=crio|--container-runtime=crio\n - --disable-envoy-version-check|g' \
+ %{buildroot}%{_datadir}/k8s-yaml/cilium/cilium.yaml
mkdir -p %{buildroot}%{bash_completion_dir}
%{buildroot}%{_bindir}/cilium completion > %{buildroot}%{bash_completion_dir}/cilium
@@ -299,6 +315,8 @@
%dir %{cni_bin_dir}
%config(noreplace) %{_sysconfdir}/cni/net.d/10-cilium-cni.conf
%{cni_bin_dir}/cilium-cni
+%{_sbindir}/cilium-cni-install
+%{_sbindir}/cilium-cni-uninstall
%files docker
%{_unitdir}/cilium-docker.service
@@ -318,4 +336,9 @@
%{_includedir}/libcilium.h
%{_libdir}/libcilium.so
+%files k8s-yaml
+%dir %{_datarootdir}/k8s-yaml
+%dir %{_datarootdir}/k8s-yaml/cilium
+%{_datadir}/k8s-yaml/cilium/cilium.yaml
+
%changelog
++++++ _service ++++++
--- /var/tmp/diff_new_pack.nwdBvv/_old 2019-05-25 13:21:19.544312225 +0200
+++ /var/tmp/diff_new_pack.nwdBvv/_new 2019-05-25 13:21:19.548312224 +0200
@@ -4,7 +4,7 @@
<param name="scm">git</param>
<param name="exclude">.git</param>
<param name="versionformat">@PARENT_TAG@</param>
- <param name="revision">refs/tags/v1.5.0</param>
+ <param name="revision">refs/tags/v1.5.1</param>
<param name="filename">cilium</param>
<param name="changesgenerate">enable</param>
</service>
++++++ _servicedata ++++++
--- /var/tmp/diff_new_pack.nwdBvv/_old 2019-05-25 13:21:19.564312218 +0200
+++ /var/tmp/diff_new_pack.nwdBvv/_new 2019-05-25 13:21:19.568312217 +0200
@@ -1,4 +1,4 @@
<servicedata>
<service name="tar_scm">
<param name="url">https://github.com/cilium/cilium</param>
- <param name="changesrevision">e47b37c3a49fa27313d1d7afbc65544dfcf4c457</param></service></servicedata>
\ No newline at end of file
+ <param name="changesrevision">78e2cf4b66a67348df186cd79f66624ac423504e</param></service></servicedata>
\ No newline at end of file
++++++ cilium-1.5.0.tar.gz -> cilium-1.5.1.tar.gz ++++++
/work/SRC/openSUSE:Factory/cilium/cilium-1.5.0.tar.gz /work/SRC/openSUSE:Factory/.cilium.new.5148/cilium-1.5.1.tar.gz differ: char 12, line 1
++++++ cilium-cni-install ++++++
#!/bin/sh
cp -f /etc/cni/net.d/10-cilium-cni.conf /host/etc/cni/net.d/
cp -f /usr/lib/cni/cilium-cni /host/opt/cni/bin/
++++++ cilium-cni-uninstall ++++++
#!/bin/sh
rm -f /host/etc/cni/net.d/10-cilium-cni.conf
rm -f /host/opt/cni/bin/cilium-cni
1
0
Hello community,
here is the log from the commit of package python-numericalunits for openSUSE:Factory checked in at 2019-05-25 13:20:59
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-numericalunits (Old)
and /work/SRC/openSUSE:Factory/.python-numericalunits.new.5148 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-numericalunits"
Sat May 25 13:20:59 2019 rev:4 rq:705223 version:1.23
Changes:
--------
--- /work/SRC/openSUSE:Factory/python-numericalunits/python-numericalunits.changes 2019-05-21 10:41:15.579052996 +0200
+++ /work/SRC/openSUSE:Factory/.python-numericalunits.new.5148/python-numericalunits.changes 2019-05-25 13:21:09.656315902 +0200
@@ -1,0 +2,10 @@
+Fri May 24 08:00:27 UTC 2019 - John Vandenberg <jayvdb(a)gmail.com>
+
+- Run dos2unix on source file which changed to DOS format
+- Update to v1.23
+ * add a smoke test
+ * drop support except 2.7+ and 3.4+
+ * random initializations now span more orders of magnitude
+ * update to latest CODATA
+
+-------------------------------------------------------------------
Old:
----
numericalunits-1.22.tar.gz
New:
----
numericalunits-1.23.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ python-numericalunits.spec ++++++
--- /var/tmp/diff_new_pack.V3mBZg/_old 2019-05-25 13:21:10.680315521 +0200
+++ /var/tmp/diff_new_pack.V3mBZg/_new 2019-05-25 13:21:10.684315520 +0200
@@ -18,15 +18,16 @@
%{?!python_module:%define python_module() python-%{**} python3-%{**}}
Name: python-numericalunits
-Version: 1.22
+Version: 1.23
Release: 0
Summary: Python module for defining quantities with units
License: MIT
Group: Development/Languages/Python
-Url: http://pypi.python.org/pypi/numericalunits
-Source: https://github.com/sbyrnes321/numericalunits/archive/numericalunits-%{versi…
+Url: https://github.com/sbyrnes321/numericalunits
+Source: https://files.pythonhosted.org/packages/source/n/numericalunits/numericalun…
Source1: https://raw.githubusercontent.com/sbyrnes321/numericalunits/master/tests/te…
BuildRequires: %{python_module setuptools}
+BuildRequires: dos2unix
BuildRequires: fdupes
BuildRequires: python-rpm-macros
BuildArch: noarch
@@ -44,7 +45,8 @@
* Zero calculation overhead
%prep
-%setup -q -n numericalunits-numericalunits-%{version}
+%setup -q -n numericalunits-%{version}
+dos2unix numericalunits.py
cp %{SOURCE1} .
%build
++++++ numericalunits-1.22.tar.gz -> numericalunits-1.23.tar.gz ++++++
++++ 1640 lines of diff (skipped)
1
0
Hello community,
here is the log from the commit of package openSUSE-release-tools for openSUSE:Factory checked in at 2019-05-25 13:20:54
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/openSUSE-release-tools (Old)
and /work/SRC/openSUSE:Factory/.openSUSE-release-tools.new.5148 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "openSUSE-release-tools"
Sat May 25 13:20:54 2019 rev:181 rq:705208 version:20190524.fa2a17cf
Changes:
--------
--- /work/SRC/openSUSE:Factory/openSUSE-release-tools/openSUSE-release-tools.changes 2019-05-24 11:31:35.341403314 +0200
+++ /work/SRC/openSUSE:Factory/.openSUSE-release-tools.new.5148/openSUSE-release-tools.changes 2019-05-25 13:21:03.696318118 +0200
@@ -1,0 +2,12 @@
+Fri May 24 10:26:34 UTC 2019 - opensuse-releaseteam(a)opensuse.org
+
+- Update to version 20190524.fa2a17cf:
+ * accept_command: fix missing the url for uploading product file change
+
+-------------------------------------------------------------------
+Thu May 23 04:34:02 UTC 2019 - opensuse-releaseteam(a)opensuse.org
+
+- Update to version 20190523.823c5142:
+ * Fix factory-package-news to work with Python 3
+
+-------------------------------------------------------------------
Old:
----
openSUSE-release-tools-20190522.4ee44da8.obscpio
New:
----
openSUSE-release-tools-20190524.fa2a17cf.obscpio
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ openSUSE-release-tools.spec ++++++
--- /var/tmp/diff_new_pack.i0CCHx/_old 2019-05-25 13:21:06.920316919 +0200
+++ /var/tmp/diff_new_pack.i0CCHx/_new 2019-05-25 13:21:06.920316919 +0200
@@ -20,7 +20,7 @@
%define source_dir openSUSE-release-tools
%define announcer_filename factory-package-news
Name: openSUSE-release-tools
-Version: 20190522.4ee44da8
+Version: 20190524.fa2a17cf
Release: 0
Summary: Tools to aid in staging and release work for openSUSE/SUSE
License: GPL-2.0-or-later AND MIT
++++++ _servicedata ++++++
--- /var/tmp/diff_new_pack.i0CCHx/_old 2019-05-25 13:21:06.972316900 +0200
+++ /var/tmp/diff_new_pack.i0CCHx/_new 2019-05-25 13:21:06.972316900 +0200
@@ -1,6 +1,6 @@
<servicedata>
<service name="tar_scm">
<param name="url">https://github.com/openSUSE/openSUSE-release-tools.git</param>
- <param name="changesrevision">c4dccf80ab91f933a893b6faf5e0bc60abbb7210</param>
+ <param name="changesrevision">5d13e07b5a71b808c3ed1668be5d92065a288380</param>
</service>
</servicedata>
++++++ openSUSE-release-tools-20190522.4ee44da8.obscpio -> openSUSE-release-tools-20190524.fa2a17cf.obscpio ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/openSUSE-release-tools-20190522.4ee44da8/factory-package-news/factory-package-news.py new/openSUSE-release-tools-20190524.fa2a17cf/factory-package-news/factory-package-news.py
--- old/openSUSE-release-tools-20190522.4ee44da8/factory-package-news/factory-package-news.py 2019-05-23 03:45:09.000000000 +0200
+++ new/openSUSE-release-tools-20190524.fa2a17cf/factory-package-news/factory-package-news.py 2019-05-24 12:24:49.000000000 +0200
@@ -1,4 +1,4 @@
-#!/usr/bin/python
+#!/usr/bin/python3
from pprint import pprint
import os, sys, io
@@ -9,7 +9,8 @@
import cmdln
import re
-SRPM_RE = re.compile(r'(?P<name>.+)-(?P<version>[^-]+)-(?P<release>[^-]+)\.(?P<suffix>(?:no)?src\.rpm)$')
+SRPM_RE = re.compile(
+ r'(?P<name>.+)-(?P<version>[^-]+)-(?P<release>[^-]+)\.(?P<suffix>(?:no)?src\.rpm)$')
data_version = 3
@@ -51,12 +52,13 @@
changelogs = dict()
def _getdata(h):
- srpm = h['sourcerpm']
+ srpm = str(h['sourcerpm'], 'utf-8')
+ binrpm = str(h['name'], 'utf-8')
evr = dict()
for tag in ['name', 'version', 'release', 'sourcerpm']:
- evr[tag] = h[tag]
- pkgdata[h['name']] = evr
+ evr[tag] = str(h[tag], 'utf-8')
+ pkgdata[binrpm] = evr
# dirty hack to reduce kernel spam
m = SRPM_RE.match(srpm)
@@ -77,15 +79,17 @@
'kernel-xen',
):
srpm = '%s-%s-%s.src.rpm'%('kernel-source', m.group('version'), m.group('release'))
- pkgdata[h['name']]['sourcerpm'] = srpm
- print("%s -> %s"%(h['sourcerpm'], srpm))
+ pkgdata[binrpm]['sourcerpm'] = srpm
+ print("%s -> %s"%(str(h['sourcerpm'], 'utf-8'), srpm))
if srpm in changelogs:
- changelogs[srpm]['packages'].append(h['name'])
+ changelogs[srpm]['packages'].append(binrpm)
else:
- data = { 'packages': [ h['name'] ] }
- for tag in ['changelogtime', 'changelogtext']:
- data[tag] = h[tag]
+ data = { 'packages': [ binrpm ] }
+ data['changelogtime'] = h['changelogtime']
+ data['changelogtext'] = h['changelogtext']
+ for (t, txt) in enumerate(data['changelogtext']):
+ data['changelogtext'][t] = str(txt, 'utf-8')
changelogs[srpm] = data
for arg in args:
@@ -165,7 +169,8 @@
${cmd_option_list}
"""
f = open(filename, 'rb')
- (v, (pkgs, changelogs)) = pickle.load(f)
+ (v, (pkgs, changelogs)) = pickle.load(
+ f, encoding='utf-8', errors='backslashreplace')
pprint(pkgs[package])
pprint(changelogs[pkgs[package]['sourcerpm']])
@@ -193,11 +198,13 @@
raise Exception("%s must be a directory"%opts.dir)
f = open(os.path.join(opts.dir, version1), 'rb')
- (v, (v1pkgs, v1changelogs)) = pickle.load(f)
+ (v, (v1pkgs, v1changelogs)) = pickle.load(f,
+ encoding='utf-8', errors='backslashreplace')
if v != data_version:
raise Exception("not matching version %s in %s"%(v, version1))
f = open(os.path.join(opts.dir, version2), 'rb')
- (v, (v2pkgs, v2changelogs)) = pickle.load(f)
+ (v, (v2pkgs, v2changelogs)) = pickle.load(f,
+ encoding='utf-8', errors='backslashreplace')
if v != data_version:
raise Exception("not matching version %s in %s"%(v, version2))
@@ -233,8 +240,10 @@
pkgs = sorted(group[srpm])
details += "\n==== %s ====\n"%name
if v1pkgs[pkgs[0]]['version'] != v2pkgs[pkgs[0]]['version']:
- print(" %s (%s -> %s)"%(name, v1pkgs[pkgs[0]]['version'], v2pkgs[pkgs[0]]['version']))
- details += "Version update (%s -> %s)\n" % (v1pkgs[pkgs[0]]['version'], v2pkgs[pkgs[0]]['version'])
+ print(" %s (%s -> %s)" % (name, v1pkgs[pkgs[0]]['version'],
+ v2pkgs[pkgs[0]]['version']))
+ details += "Version update (%s -> %s)\n" % (v1pkgs[pkgs[0]]['version'],
+ v2pkgs[pkgs[0]]['version'])
else:
print(" %s" % name)
if len(pkgs) > 1:
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/openSUSE-release-tools-20190522.4ee44da8/osclib/accept_command.py new/openSUSE-release-tools-20190524.fa2a17cf/osclib/accept_command.py
--- old/openSUSE-release-tools-20190522.4ee44da8/osclib/accept_command.py 2019-05-23 03:45:09.000000000 +0200
+++ new/openSUSE-release-tools-20190524.fa2a17cf/osclib/accept_command.py 2019-05-24 12:24:49.000000000 +0200
@@ -306,6 +306,7 @@
if product_spec != new_product:
update_version_attr = True
+ url = self.api.makeurl(['source', project, product_pkg, product_name])
http_PUT(url + '?comment=Update+version', data=new_product)
if update_version_attr:
++++++ openSUSE-release-tools.obsinfo ++++++
--- /var/tmp/diff_new_pack.i0CCHx/_old 2019-05-25 13:21:07.720316623 +0200
+++ /var/tmp/diff_new_pack.i0CCHx/_new 2019-05-25 13:21:07.720316623 +0200
@@ -1,5 +1,5 @@
name: openSUSE-release-tools
-version: 20190522.4ee44da8
-mtime: 1558575909
-commit: 4ee44da8ee8abf7d201ab72506679ae12d9025ff
+version: 20190524.fa2a17cf
+mtime: 1558693489
+commit: fa2a17cfec75d7eb9b99f987feff0aae1bf1cfa0
1
0
Hello community,
here is the log from the commit of package python-mutt-ics for openSUSE:Factory checked in at 2019-05-25 13:20:51
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-mutt-ics (Old)
and /work/SRC/openSUSE:Factory/.python-mutt-ics.new.5148 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-mutt-ics"
Sat May 25 13:20:51 2019 rev:3 rq:705204 version:0.9.1
Changes:
--------
--- /work/SRC/openSUSE:Factory/python-mutt-ics/python-mutt-ics.changes 2019-03-27 16:21:35.879527332 +0100
+++ /work/SRC/openSUSE:Factory/.python-mutt-ics.new.5148/python-mutt-ics.changes 2019-05-25 13:20:53.764321811 +0200
@@ -1,0 +2,6 @@
+Fri May 24 09:39:56 UTC 2019 - pgajdos(a)suse.com
+
+- version update to 0.9.1
+ * Include samples in distribution
+
+-------------------------------------------------------------------
Old:
----
mutt_ics-0.9.tar.gz
New:
----
mutt_ics-0.9.1.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ python-mutt-ics.spec ++++++
--- /var/tmp/diff_new_pack.o9JBWa/_old 2019-05-25 13:21:00.528319296 +0200
+++ /var/tmp/diff_new_pack.o9JBWa/_new 2019-05-25 13:21:00.528319296 +0200
@@ -18,14 +18,16 @@
%{?!python_module:%define python_module() python-%{**} python3-%{**}}
Name: python-mutt-ics
-Version: 0.9
+Version: 0.9.1
Release: 0
Summary: A tool to show calendar event details in Mutt
License: MIT
Group: Development/Languages/Python
URL: https://github.com/dmedvinsky/mutt-ics
Source0: https://files.pythonhosted.org/packages/source/m/mutt_ics/mutt_ics-%{versio…
+# https://github.com/dmedvinsky/mutt-ics/issues/20
Source1: LICENSE.mit
+BuildRequires: %{python_module icalendar >= 3.9.0}
BuildRequires: %{python_module setuptools}
BuildRequires: fdupes
BuildRequires: python-rpm-macros
@@ -53,10 +55,11 @@
install -pm 0644 %{SOURCE1} LICENSE
%check
-# no upstream tests
-# however, there are samples/ on github at least
-# https://github.com/dmedvinsky/mutt-ics/issues/19
-# could we write small tests here?
+exit_code=0
+%python_exec build/lib/mutt_ics/mutt_ics.py samples/1.ics | grep Subject || exit_code=1
+%python_exec build/lib/mutt_ics/mutt_ics.py samples/2.ics | grep Start || exit_code=2
+%python_exec build/lib/mutt_ics/mutt_ics.py samples/3.ics | grep Organizer || exit_code=3
+exit $exit_code
%files %{python_files}
%doc README.md
++++++ mutt_ics-0.9.tar.gz -> mutt_ics-0.9.1.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/mutt_ics-0.9/MANIFEST.in new/mutt_ics-0.9.1/MANIFEST.in
--- old/mutt_ics-0.9/MANIFEST.in 2018-12-12 09:31:17.000000000 +0100
+++ new/mutt_ics-0.9.1/MANIFEST.in 2019-03-27 10:35:42.000000000 +0100
@@ -1,2 +1,3 @@
include README.md
include requirements.txt
+include samples/*
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/mutt_ics-0.9/PKG-INFO new/mutt_ics-0.9.1/PKG-INFO
--- old/mutt_ics-0.9/PKG-INFO 2018-12-31 15:58:48.000000000 +0100
+++ new/mutt_ics-0.9.1/PKG-INFO 2019-03-27 10:47:54.000000000 +0100
@@ -1,6 +1,6 @@
Metadata-Version: 1.1
Name: mutt_ics
-Version: 0.9
+Version: 0.9.1
Summary: A tool to show calendar event details in Mutt.
Home-page: https://github.com/dmedvinsky/mutt-ics
Author: Dmitry Medvinsky
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/mutt_ics-0.9/mutt_ics.egg-info/PKG-INFO new/mutt_ics-0.9.1/mutt_ics.egg-info/PKG-INFO
--- old/mutt_ics-0.9/mutt_ics.egg-info/PKG-INFO 2018-12-31 15:58:48.000000000 +0100
+++ new/mutt_ics-0.9.1/mutt_ics.egg-info/PKG-INFO 2019-03-27 10:47:54.000000000 +0100
@@ -1,6 +1,6 @@
Metadata-Version: 1.1
Name: mutt-ics
-Version: 0.9
+Version: 0.9.1
Summary: A tool to show calendar event details in Mutt.
Home-page: https://github.com/dmedvinsky/mutt-ics
Author: Dmitry Medvinsky
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/mutt_ics-0.9/mutt_ics.egg-info/SOURCES.txt new/mutt_ics-0.9.1/mutt_ics.egg-info/SOURCES.txt
--- old/mutt_ics-0.9/mutt_ics.egg-info/SOURCES.txt 2018-12-31 15:58:48.000000000 +0100
+++ new/mutt_ics-0.9.1/mutt_ics.egg-info/SOURCES.txt 2019-03-27 10:47:54.000000000 +0100
@@ -10,4 +10,9 @@
mutt_ics.egg-info/entry_points.txt
mutt_ics.egg-info/not-zip-safe
mutt_ics.egg-info/requires.txt
-mutt_ics.egg-info/top_level.txt
\ No newline at end of file
+mutt_ics.egg-info/top_level.txt
+samples/1.ics
+samples/2.ics
+samples/3.ics
+samples/4.ics
+samples/5.ics
\ No newline at end of file
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/mutt_ics-0.9/samples/1.ics new/mutt_ics-0.9.1/samples/1.ics
--- old/mutt_ics-0.9/samples/1.ics 1970-01-01 01:00:00.000000000 +0100
+++ new/mutt_ics-0.9.1/samples/1.ics 2019-03-27 10:35:01.000000000 +0100
@@ -0,0 +1,9 @@
+BEGIN:VCALENDAR
+METHOD:REQUEST
+PRODID:Microsoft Exchange Server 2010
+VERSION:2.0
+BEGIN:VEVENT
+DESCRIPTION;LANGUAGE=en-US:When: Tuesday\, February 17\, 2015 2:00 PM-3:00 PM. (UTC+01:00) Amsterdam\, Berlin\, Bern\, Rome\, Stockholm\, Vienna\nWhere: XXX\n\n~~~~~~~~~\n\n Norwegian characters æ ø å\n
+SUMMARY;LANGUAGE=en-US:æ ø å
+END:VEVENT
+END:VCALENDAR
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/mutt_ics-0.9/samples/2.ics new/mutt_ics-0.9.1/samples/2.ics
--- old/mutt_ics-0.9/samples/2.ics 1970-01-01 01:00:00.000000000 +0100
+++ new/mutt_ics-0.9.1/samples/2.ics 2019-03-27 10:35:01.000000000 +0100
@@ -0,0 +1,24 @@
+BEGIN:VCALENDAR
+METHOD:REQUEST
+PRODID:trimmed from Microsoft Exchange Server 2010
+VERSION:2.0
+BEGIN:VTIMEZONE
+TZID:Eastern Standard Time
+BEGIN:STANDARD
+DTSTART:16010101T020000
+TZOFFSETFROM:-0400
+TZOFFSETTO:-0500
+RRULE:FREQ=YEARLY;INTERVAL=1;BYDAY=1SU;BYMONTH=11
+END:STANDARD
+BEGIN:DAYLIGHT
+DTSTART:16010101T020000
+TZOFFSETFROM:-0500
+TZOFFSETTO:-0400
+RRULE:FREQ=YEARLY;INTERVAL=1;BYDAY=2SU;BYMONTH=3
+END:DAYLIGHT
+END:VTIMEZONE
+BEGIN:VEVENT
+SUMMARY;LANGUAGE=en-US:Outlook invite problematic.
+DTSTART;TZID=Eastern Standard Time:20150601T143000
+END:VEVENT
+END:VCALENDAR
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/mutt_ics-0.9/samples/3.ics new/mutt_ics-0.9.1/samples/3.ics
--- old/mutt_ics-0.9/samples/3.ics 1970-01-01 01:00:00.000000000 +0100
+++ new/mutt_ics-0.9.1/samples/3.ics 2019-03-27 10:35:01.000000000 +0100
@@ -0,0 +1,48 @@
+BEGIN:VCALENDAR
+METHOD:REPLY
+PRODID:Microsoft Exchange Server 2010
+VERSION:2.0
+BEGIN:VTIMEZONE
+TZID:Eastern Standard Time
+BEGIN:STANDARD
+DTSTART:16010101T020000
+TZOFFSETFROM:-0400
+TZOFFSETTO:-0500
+RRULE:FREQ=YEARLY;INTERVAL=1;BYDAY=1SU;BYMONTH=11
+END:STANDARD
+BEGIN:DAYLIGHT
+DTSTART:16010101T020000
+TZOFFSETFROM:-0500
+TZOFFSETTO:-0400
+RRULE:FREQ=YEARLY;INTERVAL=1;BYDAY=2SU;BYMONTH=3
+END:DAYLIGHT
+END:VTIMEZONE
+BEGIN:VEVENT
+ORGANIZER;CN=John Doe:MAILTO:john@doe
+ATTENDEE;PARTSTAT=DECLINED;CN=Coworker on Outlook:MAILTO:pitiable.coworker
+ @example.com
+COMMENT;LANGUAGE=en-US:Hello John\,\n\nThank you to make schedule at this
+ time. Unfortunately\, I haven’t come to Michigan yet. Please tell other
+ person\, or if possible\, please change the date.\n\nBest regards...
+SUMMARY;LANGUAGE=en-US:Declined: Meeting Request
+DTSTART;TZID=Eastern Standard Time:20161006T140000
+DTEND;TZID=Eastern Standard Time:20161006T150000
+UID:040000008200E00074C5B7101A82E0080000000050C13B98E61ED201000000000000000
+ 010000000CC45D2BE3422D34D9B21CBFABA861D35
+CLASS:PUBLIC
+PRIORITY:5
+DTSTAMP:20161006T053443Z
+TRANSP:OPAQUE
+STATUS:CONFIRMED
+SEQUENCE:0
+LOCATION;LANGUAGE=en-US:Conference Room
+X-MICROSOFT-CDO-APPT-SEQUENCE:0
+X-MICROSOFT-CDO-OWNERAPPTID:-400185376
+X-MICROSOFT-CDO-BUSYSTATUS:BUSY
+X-MICROSOFT-CDO-INTENDEDSTATUS:BUSY
+X-MICROSOFT-CDO-ALLDAYEVENT:FALSE
+X-MICROSOFT-CDO-IMPORTANCE:1
+X-MICROSOFT-CDO-INSTTYPE:0
+X-MICROSOFT-DISALLOW-COUNTER:FALSE
+END:VEVENT
+END:VCALENDAR
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/mutt_ics-0.9/samples/4.ics new/mutt_ics-0.9.1/samples/4.ics
--- old/mutt_ics-0.9/samples/4.ics 1970-01-01 01:00:00.000000000 +0100
+++ new/mutt_ics-0.9.1/samples/4.ics 2019-03-27 10:35:01.000000000 +0100
@@ -0,0 +1,36 @@
+BEGIN:VCALENDAR
+METHOD:PUBLISH
+PRODID:Microsoft Exchange Server 2010
+VERSION:2.0
+BEGIN:VTIMEZONE
+TZID:(UTC+02:00) Helsinki\, Kyiv\, Riga\, Sofia\, Tallinn\, Vilnius
+BEGIN:STANDARD
+DTSTART:16010101T040000
+TZOFFSETFROM:+0300
+TZOFFSETTO:+0200
+RRULE:FREQ=YEARLY;INTERVAL=1;BYDAY=-1SU;BYMONTH=10
+END:STANDARD
+BEGIN:DAYLIGHT
+DTSTART:16010101T030000
+TZOFFSETFROM:+0200
+TZOFFSETTO:+0300
+RRULE:FREQ=YEARLY;INTERVAL=1;BYDAY=-1SU;BYMONTH=3
+END:DAYLIGHT
+END:VTIMEZONE
+BEGIN:VEVENT
+ORGANIZER;CN=trhd:MAILTO:trhd@iki.fi
+DESCRIPTION;LANGUAGE=en-US:foobar\n
+SUMMARY;LANGUAGE=en-US:test event
+DTSTART;TZID="(UTC+02:00) Helsinki, Kyiv, Riga, Sofia, Tallinn, Vilnius":2016
+ 1224T080000
+DTEND;TZID="(UTC+02:00) Helsinki, Kyiv, Riga, Sofia, Tallinn, Vilnius":201612
+ 25T083000
+CLASS:PUBLIC
+PRIORITY:5
+DTSTAMP:20161222T131417Z
+TRANSP:OPAQUE
+STATUS:CONFIRMED
+SEQUENCE:0
+LOCATION;LANGUAGE=en-US:
+END:VEVENT
+END:VCALENDAR
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/mutt_ics-0.9/samples/5.ics new/mutt_ics-0.9.1/samples/5.ics
--- old/mutt_ics-0.9/samples/5.ics 1970-01-01 01:00:00.000000000 +0100
+++ new/mutt_ics-0.9.1/samples/5.ics 2019-03-27 10:35:01.000000000 +0100
@@ -0,0 +1,34 @@
+BEGIN:VCALENDAR
+METHOD:PUBLISH
+PRODID:Microsoft Exchange Server 2010
+VERSION:2.0
+BEGIN:VTIMEZONE
+TZID:(UTC+02:00) Helsinki\, Kyiv\, Riga\, Sofia\, Tallinn\, Vilnius
+BEGIN:STANDARD
+DTSTART:16010101T040000
+TZOFFSETFROM:+0300
+TZOFFSETTO:+0200
+RRULE:FREQ=YEARLY;INTERVAL=1;BYDAY=-1SU;BYMONTH=10
+END:STANDARD
+BEGIN:DAYLIGHT
+DTSTART:16010101T030000
+TZOFFSETFROM:+0200
+TZOFFSETTO:+0300
+RRULE:FREQ=YEARLY;INTERVAL=1;BYDAY=-1SU;BYMONTH=3
+END:DAYLIGHT
+END:VTIMEZONE
+BEGIN:VEVENT
+ORGANIZER;CN=trhd:MAILTO:trhd@iki.fi
+DESCRIPTION;LANGUAGE=en-US:foobar\n
+SUMMARY;LANGUAGE=en-US:test event
+DTSTART;VALUE=DATE:20161224
+DTEND;VALUE=DATE:20161226
+CLASS:PUBLIC
+PRIORITY:5
+DTSTAMP:20161222T131538Z
+TRANSP:OPAQUE
+STATUS:CONFIRMED
+SEQUENCE:0
+LOCATION;LANGUAGE=en-US:
+END:VEVENT
+END:VCALENDAR
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/mutt_ics-0.9/setup.py new/mutt_ics-0.9.1/setup.py
--- old/mutt_ics-0.9/setup.py 2018-12-31 15:57:49.000000000 +0100
+++ new/mutt_ics-0.9.1/setup.py 2019-03-27 10:47:38.000000000 +0100
@@ -12,7 +12,7 @@
setup(name='mutt_ics',
- version='0.9',
+ version='0.9.1',
description='A tool to show calendar event details in Mutt.',
long_description=readme(),
classifiers=[
1
0
Hello community,
here is the log from the commit of package perl-Mojolicious for openSUSE:Factory checked in at 2019-05-25 13:20:48
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/perl-Mojolicious (Old)
and /work/SRC/openSUSE:Factory/.perl-Mojolicious.new.5148 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "perl-Mojolicious"
Sat May 25 13:20:48 2019 rev:110 rq:705195 version:8.17
Changes:
--------
--- /work/SRC/openSUSE:Factory/perl-Mojolicious/perl-Mojolicious.changes 2019-05-21 10:40:28.331083680 +0200
+++ /work/SRC/openSUSE:Factory/.perl-Mojolicious.new.5148/perl-Mojolicious.changes 2019-05-25 13:20:49.180323516 +0200
@@ -1,0 +2,10 @@
+Fri May 24 05:14:59 UTC 2019 - Stephan Kulow <coolo(a)suse.com>
+
+- updated to 8.17
+ see /usr/share/doc/packages/perl-Mojolicious/Changes
+
+ 8.17 2019-05-23
+ - Fixed a bug in Mojo::UserAgent where the request timeout would not work for
+ keep-alive requests. (ilmari)
+
+-------------------------------------------------------------------
Old:
----
Mojolicious-8.16.tar.gz
New:
----
Mojolicious-8.17.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ perl-Mojolicious.spec ++++++
--- /var/tmp/diff_new_pack.XdU4O5/_old 2019-05-25 13:20:50.748322933 +0200
+++ /var/tmp/diff_new_pack.XdU4O5/_new 2019-05-25 13:20:50.752322931 +0200
@@ -17,7 +17,7 @@
Name: perl-Mojolicious
-Version: 8.16
+Version: 8.17
Release: 0
%define cpan_name Mojolicious
Summary: Real-time web framework
++++++ Mojolicious-8.16.tar.gz -> Mojolicious-8.17.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Mojolicious-8.16/Changes new/Mojolicious-8.17/Changes
--- old/Mojolicious-8.16/Changes 2019-05-14 16:38:33.000000000 +0200
+++ new/Mojolicious-8.17/Changes 2019-05-23 22:47:46.000000000 +0200
@@ -1,4 +1,8 @@
+8.17 2019-05-23
+ - Fixed a bug in Mojo::UserAgent where the request timeout would not work for
+ keep-alive requests. (ilmari)
+
8.16 2019-05-14
- Improved Mojo::Headers to reject characters in header values that would
corrupt the HTTP message.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Mojolicious-8.16/META.json new/Mojolicious-8.17/META.json
--- old/Mojolicious-8.16/META.json 2019-05-19 21:49:29.000000000 +0200
+++ new/Mojolicious-8.17/META.json 2019-05-23 22:50:34.000000000 +0200
@@ -58,6 +58,6 @@
},
"x_IRC" : "irc://irc.freenode.net/#mojo"
},
- "version" : "8.16",
+ "version" : "8.17",
"x_serialization_backend" : "JSON::PP version 4.02"
}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Mojolicious-8.16/META.yml new/Mojolicious-8.17/META.yml
--- old/Mojolicious-8.16/META.yml 2019-05-19 21:49:29.000000000 +0200
+++ new/Mojolicious-8.17/META.yml 2019-05-23 22:50:34.000000000 +0200
@@ -31,5 +31,5 @@
homepage: https://mojolicious.org
license: http://www.opensource.org/licenses/artistic-license-2.0
repository: https://github.com/mojolicious/mojo.git
-version: '8.16'
+version: '8.17'
x_serialization_backend: 'CPAN::Meta::YAML version 0.018'
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Mojolicious-8.16/lib/Mojo/UserAgent.pm new/Mojolicious-8.17/lib/Mojo/UserAgent.pm
--- old/Mojolicious-8.16/lib/Mojo/UserAgent.pm 2018-11-28 19:00:50.000000000 +0100
+++ new/Mojolicious-8.17/lib/Mojo/UserAgent.pm 2019-05-23 22:46:21.000000000 +0200
@@ -225,7 +225,7 @@
# Remove request timeout and finish transaction
return undef unless my $c = $self->{connections}{$id};
- $c->{ioloop}->remove($c->{timeout}) if $c->{timeout};
+ $c->{ioloop}->remove(delete $c->{timeout}) if $c->{timeout};
return $self->_reuse($id, $close) unless my $old = $c->{tx};
# Premature connection close
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Mojolicious-8.16/lib/Mojolicious.pm new/Mojolicious-8.17/lib/Mojolicious.pm
--- old/Mojolicious-8.16/lib/Mojolicious.pm 2019-04-26 19:53:50.000000000 +0200
+++ new/Mojolicious-8.17/lib/Mojolicious.pm 2019-05-23 22:48:50.000000000 +0200
@@ -59,7 +59,7 @@
has validator => sub { Mojolicious::Validator->new };
our $CODENAME = 'Supervillain';
-our $VERSION = '8.16';
+our $VERSION = '8.17';
sub BUILD_DYNAMIC {
my ($class, $method, $dyn_methods) = @_;
@@ -974,6 +974,8 @@
Danijel Tasov
+Dagfinn Ilmari Mannsaker
+
Danny Thomas
David Davis
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Mojolicious-8.16/t/mojo/user_agent.t new/Mojolicious-8.17/t/mojo/user_agent.t
--- old/Mojolicious-8.16/t/mojo/user_agent.t 2018-11-22 21:23:08.000000000 +0100
+++ new/Mojolicious-8.17/t/mojo/user_agent.t 2019-05-23 22:46:59.000000000 +0200
@@ -427,6 +427,15 @@
Mojo::IOLoop->start;
ok !Mojo::IOLoop->stream($id), 'connection timed out';
+# Request timeout with keep-alive
+$ua->request_timeout(3600);
+ok !$ua->get('/')->error, 'priming the keep-alive connection';
+$ua->request_timeout(0.01);
+$tx = $ua->get('/timeout?timeout=5');
+is $tx->error->{message}, 'Request timeout', 'right error message';
+is $tx->error->{code}, undef, 'no status';
+$ua->request_timeout(0);
+
# Response exceeding message size limit
$ua->once(
start => sub {
1
0
Hello community,
here is the log from the commit of package spectre-meltdown-checker for openSUSE:Factory checked in at 2019-05-25 13:20:45
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/spectre-meltdown-checker (Old)
and /work/SRC/openSUSE:Factory/.spectre-meltdown-checker.new.5148 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "spectre-meltdown-checker"
Sat May 25 13:20:45 2019 rev:6 rq:705188 version:0.41
Changes:
--------
--- /work/SRC/openSUSE:Factory/spectre-meltdown-checker/spectre-meltdown-checker.changes 2019-05-16 22:09:53.190291022 +0200
+++ /work/SRC/openSUSE:Factory/.spectre-meltdown-checker.new.5148/spectre-meltdown-checker.changes 2019-05-25 13:20:47.572324113 +0200
@@ -1,0 +2,5 @@
+Fri May 24 08:29:21 UTC 2019 - Marcus Meissner <meissner(a)suse.com>
+
+- noarch does not work on older distros, removed
+
+-------------------------------------------------------------------
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ spectre-meltdown-checker.spec ++++++
--- /var/tmp/diff_new_pack.7HgqJM/_old 2019-05-25 13:20:48.520323761 +0200
+++ /var/tmp/diff_new_pack.7HgqJM/_new 2019-05-25 13:20:48.520323761 +0200
@@ -12,7 +12,7 @@
# license that conforms to the Open Source Definition (Version 1.9)
# published by the Open Source Initiative.
-# Please submit bugfixes or comments via https://bugs.opensuse.org/
+# Please submit bugfixes or comments via http://bugs.opensuse.org/
#
@@ -22,7 +22,6 @@
Summary: Spectre & Meltdown Vulnerability Checker
License: GPL-3.0-only
Group: Productivity/Security
-BuildArch: noarch
Url: https://github.com/speed47/spectre-meltdown-checker
Source: https://github.com/speed47/spectre-meltdown-checker/archive/v%version.tar.gz
ExclusiveArch: %ix86 x86_64
1
0
Hello community,
here is the log from the commit of package gcc7 for openSUSE:Factory checked in at 2019-05-25 13:20:25
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/gcc7 (Old)
and /work/SRC/openSUSE:Factory/.gcc7.new.5148 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "gcc7"
Sat May 25 13:20:25 2019 rev:23 rq:704756 version:7.4.1+r270528
Changes:
--------
--- /work/SRC/openSUSE:Factory/gcc7/cross-aarch64-gcc7.changes 2019-04-28 19:57:35.995002025 +0200
+++ /work/SRC/openSUSE:Factory/.gcc7.new.5148/cross-aarch64-gcc7.changes 2019-05-25 13:20:31.624330043 +0200
@@ -1,0 +2,5 @@
+Wed May 22 12:56:05 UTC 2019 - Martin Liška <mliska(a)suse.cz>
+
+- Strip -flto from $optflags.
+
+-------------------------------------------------------------------
cross-arm-gcc7.changes: same change
cross-arm-none-gcc7-bootstrap.changes: same change
cross-arm-none-gcc7.changes: same change
cross-avr-gcc7-bootstrap.changes: same change
cross-avr-gcc7.changes: same change
cross-epiphany-gcc7-bootstrap.changes: same change
cross-epiphany-gcc7.changes: same change
cross-hppa-gcc7.changes: same change
cross-i386-gcc7.changes: same change
cross-m68k-gcc7.changes: same change
cross-mips-gcc7.changes: same change
cross-nvptx-gcc7.changes: same change
cross-ppc64-gcc7.changes: same change
cross-ppc64le-gcc7.changes: same change
cross-rx-gcc7-bootstrap.changes: same change
cross-rx-gcc7.changes: same change
cross-s390x-gcc7.changes: same change
cross-sparc-gcc7.changes: same change
cross-sparc64-gcc7.changes: same change
cross-x86_64-gcc7.changes: same change
gcc7-testresults.changes: same change
gcc7.changes: same change
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ cross-aarch64-gcc7.spec ++++++
--- /var/tmp/diff_new_pack.20VIEn/_old 2019-05-25 13:20:40.488326747 +0200
+++ /var/tmp/diff_new_pack.20VIEn/_new 2019-05-25 13:20:40.492326746 +0200
@@ -276,6 +276,7 @@
#test patching end
%build
+%define _lto_cflags %{nil}
# Avoid rebuilding of generated files
contrib/gcc_update --touch
cross-arm-gcc7.spec: same change
cross-arm-none-gcc7-bootstrap.spec: same change
cross-arm-none-gcc7.spec: same change
cross-avr-gcc7-bootstrap.spec: same change
cross-avr-gcc7.spec: same change
cross-epiphany-gcc7-bootstrap.spec: same change
cross-epiphany-gcc7.spec: same change
cross-hppa-gcc7.spec: same change
cross-i386-gcc7.spec: same change
cross-m68k-gcc7.spec: same change
cross-mips-gcc7.spec: same change
cross-nvptx-gcc7.spec: same change
cross-ppc64-gcc7.spec: same change
cross-ppc64le-gcc7.spec: same change
cross-rx-gcc7-bootstrap.spec: same change
cross-rx-gcc7.spec: same change
cross-s390x-gcc7.spec: same change
cross-sparc-gcc7.spec: same change
cross-sparc64-gcc7.spec: same change
cross-x86_64-gcc7.spec: same change
gcc7-testresults.spec: same change
gcc7.spec: same change
++++++ gcc.spec.in ++++++
--- /var/tmp/diff_new_pack.20VIEn/_old 2019-05-25 13:20:41.280326453 +0200
+++ /var/tmp/diff_new_pack.20VIEn/_new 2019-05-25 13:20:41.280326453 +0200
@@ -1067,6 +1067,7 @@
#test patching end
%build
+%define _lto_cflags %{nil}
# Avoid rebuilding of generated files
contrib/gcc_update --touch
1
0
Hello community,
here is the log from the commit of package ceph for openSUSE:Factory checked in at 2019-05-25 13:20:18
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/ceph (Old)
and /work/SRC/openSUSE:Factory/.ceph.new.5148 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "ceph"
Sat May 25 13:20:18 2019 rev:44 rq:704486 version:14.2.1.448+g1bd10a856f
Changes:
--------
--- /work/SRC/openSUSE:Factory/ceph/ceph-test.changes 2019-05-21 10:22:27.859598633 +0200
+++ /work/SRC/openSUSE:Factory/.ceph.new.5148/ceph-test.changes 2019-05-25 13:20:21.208333916 +0200
@@ -1,0 +2,19 @@
+Tue May 21 13:46:52 UTC 2019 - Nathan Cutler <ncutler(a)suse.com>
+
+- Update to 14.2.1-448-g1bd10a856f:
+ + monitoring: update Grafana dashboards
+ + mgr/dashboard: fix some performance data are not displayed
+ + monitoring: SNMP OID per every Prometheus alert rule
+ + mgr/dashboard: Validate if any client belongs to more than one group
+ + mgr/dashboard: Admin resource not honored
+ + mgr/dashboard: Unable to see tcmu-runner perf counters
+ + mgr/dashboard: iSCSI form does not support IPv6
+
+-------------------------------------------------------------------
+Mon May 20 15:28:49 UTC 2019 - Nathan Cutler <ncutler(a)suse.com>
+
+- Update to 14.2.1-440-g0ac6920288:
+ + rebase on top of upstream nautilus branch, SHA1 1dc43a036fcc0121e3a0c1fe7ca6cd77cde1bf60
+ + client: fix vxattr nanosecond field padding (bsc#1135219, bsc#1135221)
+
+-------------------------------------------------------------------
ceph.changes: same change
Old:
----
ceph-14.2.1-431-gd032e5dd80.tar.bz2
New:
----
ceph-14.2.1-448-g1bd10a856f.tar.bz2
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ ceph-test.spec ++++++
--- /var/tmp/diff_new_pack.SVHhjg/_old 2019-05-25 13:20:24.040332863 +0200
+++ /var/tmp/diff_new_pack.SVHhjg/_new 2019-05-25 13:20:24.044332862 +0200
@@ -100,7 +100,7 @@
# main package definition
#################################################################################
Name: ceph-test
-Version: 14.2.1.431+gd032e5dd80
+Version: 14.2.1.448+g1bd10a856f
Release: 0%{?dist}
%if 0%{?fedora} || 0%{?rhel}
Epoch: 2
@@ -116,7 +116,7 @@
Group: System/Filesystems
%endif
URL: http://ceph.com/
-Source0: %{?_remote_tarball_prefix}ceph-14.2.1-431-gd032e5dd80.tar.bz2
+Source0: %{?_remote_tarball_prefix}ceph-14.2.1-448-g1bd10a856f.tar.bz2
%if 0%{?suse_version}
Source96: checkin.sh
Source97: README-checkin.txt
@@ -499,7 +499,7 @@
%if 0%{?suse_version}
%endif
%prep
-%autosetup -p1 -n ceph-14.2.1-431-gd032e5dd80
+%autosetup -p1 -n ceph-14.2.1-448-g1bd10a856f
%build
++++++ ceph.spec ++++++
--- /var/tmp/diff_new_pack.SVHhjg/_old 2019-05-25 13:20:24.064332854 +0200
+++ /var/tmp/diff_new_pack.SVHhjg/_new 2019-05-25 13:20:24.064332854 +0200
@@ -100,7 +100,7 @@
# main package definition
#################################################################################
Name: ceph
-Version: 14.2.1.431+gd032e5dd80
+Version: 14.2.1.448+g1bd10a856f
Release: 0%{?dist}
%if 0%{?fedora} || 0%{?rhel}
Epoch: 2
@@ -116,7 +116,7 @@
Group: System/Filesystems
%endif
URL: http://ceph.com/
-Source0: %{?_remote_tarball_prefix}ceph-14.2.1-431-gd032e5dd80.tar.bz2
+Source0: %{?_remote_tarball_prefix}ceph-14.2.1-448-g1bd10a856f.tar.bz2
%if 0%{?suse_version}
# _insert_obs_source_lines_here
ExclusiveArch: x86_64 aarch64 ppc64le s390x
@@ -1068,7 +1068,7 @@
# common
#################################################################################
%prep
-%autosetup -p1 -n ceph-14.2.1-431-gd032e5dd80
+%autosetup -p1 -n ceph-14.2.1-448-g1bd10a856f
%build
++++++ ceph-14.2.1-431-gd032e5dd80.tar.bz2 -> ceph-14.2.1-448-g1bd10a856f.tar.bz2 ++++++
/work/SRC/openSUSE:Factory/ceph/ceph-14.2.1-431-gd032e5dd80.tar.bz2 /work/SRC/openSUSE:Factory/.ceph.new.5148/ceph-14.2.1-448-g1bd10a856f.tar.bz2 differ: char 11, line 1
1
0
Hello community,
here is the log from the commit of package gcc9 for openSUSE:Factory checked in at 2019-05-25 13:20:01
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/gcc9 (Old)
and /work/SRC/openSUSE:Factory/.gcc9.new.5148 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "gcc9"
Sat May 25 13:20:01 2019 rev:2 rq:704170 version:9.1.1+r271393
Changes:
--------
--- /work/SRC/openSUSE:Factory/gcc9/cross-aarch64-gcc9.changes 2019-05-10 08:59:24.505262173 +0200
+++ /work/SRC/openSUSE:Factory/.gcc9.new.5148/cross-aarch64-gcc9.changes 2019-05-25 13:20:05.584339726 +0200
@@ -1,0 +2,38 @@
+Mon May 20 07:50:43 UTC 2019 - rguenther(a)suse.com
+
+- Update to gcc-9-branch head (r271393).
+- Always use ISL for crosses like for native compilers.
+
+-------------------------------------------------------------------
+Fri May 10 07:16:15 UTC 2019 - rguenther(a)suse.com
+
+- Update to gcc-9-branch head (r271050).
+
+-------------------------------------------------------------------
+Fri May 3 12:53:11 UTC 2019 - Martin Liška <mliska(a)suse.cz>
+
+- Strip -flto from $optflags as we use LTO bootstrap config.
+
+-------------------------------------------------------------------
+Fri May 3 08:27:32 UTC 2019 - rguenther(a)suse.com
+
+- Update to GCC 9.1.0 release.
+
+-------------------------------------------------------------------
+Thu May 2 14:22:43 UTC 2019 - rguenther(a)suse.com
+
+- Update to gcc-9-branch head (r270796).
+- Enable D for s390x.
+
+-------------------------------------------------------------------
+Wed May 1 07:33:25 UTC 2019 - Andreas Schwab <schwab(a)suse.de>
+
+- Enable D for aarch64 and riscv64
+
+-------------------------------------------------------------------
+Tue Apr 30 13:32:42 UTC 2019 - rguenther(a)suse.com
+
+- Update to gcc-9-branch head (r270689).
+ * GCC 9.1 RC2.
+
+-------------------------------------------------------------------
cross-arm-gcc9.changes: same change
cross-arm-none-gcc9-bootstrap.changes: same change
cross-arm-none-gcc9.changes: same change
cross-avr-gcc9-bootstrap.changes: same change
cross-avr-gcc9.changes: same change
cross-epiphany-gcc9-bootstrap.changes: same change
cross-epiphany-gcc9.changes: same change
cross-hppa-gcc9.changes: same change
cross-i386-gcc9.changes: same change
cross-m68k-gcc9.changes: same change
cross-mips-gcc9.changes: same change
cross-nvptx-gcc9.changes: same change
cross-ppc64-gcc9.changes: same change
cross-ppc64le-gcc9.changes: same change
cross-riscv64-elf-gcc9-bootstrap.changes: same change
cross-riscv64-elf-gcc9.changes: same change
cross-riscv64-gcc9.changes: same change
cross-rx-gcc9-bootstrap.changes: same change
cross-rx-gcc9.changes: same change
cross-s390x-gcc9.changes: same change
cross-sparc-gcc9.changes: same change
cross-sparc64-gcc9.changes: same change
cross-x86_64-gcc9.changes: same change
gcc9-testresults.changes: same change
gcc9.changes: same change
Old:
----
gcc-9.0.1+r270591.tar.xz
New:
----
gcc-9.1.1+r271393.tar.xz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ cross-aarch64-gcc9.spec ++++++
--- /var/tmp/diff_new_pack.TVQfyu/_old 2019-05-25 13:20:13.216336888 +0200
+++ /var/tmp/diff_new_pack.TVQfyu/_new 2019-05-25 13:20:13.220336886 +0200
@@ -121,10 +121,8 @@
%else
BuildRequires: texinfo
%endif
-BuildRequires: zlib-devel
-%ifarch %ix86 x86_64 ppc ppc64 s390 s390x ia64 %sparc hppa %arm
BuildRequires: isl-devel
-%endif
+BuildRequires: zlib-devel
%ifarch ia64
BuildRequires: libunwind-devel
%endif
@@ -175,7 +173,7 @@
%define biarch_targets x86_64 s390x powerpc64 powerpc sparc sparc64
URL: https://gcc.gnu.org/
-Version: 9.0.1+r270591
+Version: 9.1.1+r271393
Release: 0
%define gcc_dir_version %(echo %version | sed 's/+.*//' | cut -d '.' -f 1)
%define gcc_snapshot_revision %(echo %version | sed 's/[3-9]\.[0-9]\.[0-6]//' | sed 's/+/-/')
@@ -276,6 +274,7 @@
#test patching end
%build
+%define _lto_cflags %{nil}
# Avoid rebuilding of generated files
contrib/gcc_update --touch
cross-arm-gcc9.spec: same change
cross-arm-none-gcc9-bootstrap.spec: same change
cross-arm-none-gcc9.spec: same change
cross-avr-gcc9-bootstrap.spec: same change
cross-avr-gcc9.spec: same change
cross-epiphany-gcc9-bootstrap.spec: same change
cross-epiphany-gcc9.spec: same change
cross-hppa-gcc9.spec: same change
cross-i386-gcc9.spec: same change
cross-m68k-gcc9.spec: same change
cross-mips-gcc9.spec: same change
cross-nvptx-gcc9.spec: same change
cross-ppc64-gcc9.spec: same change
cross-ppc64le-gcc9.spec: same change
cross-riscv64-elf-gcc9-bootstrap.spec: same change
cross-riscv64-elf-gcc9.spec: same change
cross-riscv64-gcc9.spec: same change
cross-rx-gcc9-bootstrap.spec: same change
cross-rx-gcc9.spec: same change
cross-s390x-gcc9.spec: same change
cross-sparc-gcc9.spec: same change
cross-sparc64-gcc9.spec: same change
cross-x86_64-gcc9.spec: same change
++++++ gcc9-testresults.spec ++++++
--- /var/tmp/diff_new_pack.TVQfyu/_old 2019-05-25 13:20:13.752336688 +0200
+++ /var/tmp/diff_new_pack.TVQfyu/_new 2019-05-25 13:20:13.752336688 +0200
@@ -70,7 +70,7 @@
%define build_objc 1
%define build_objcp 1
%define build_go 1
-%ifarch x86_64 %ix86 %arm
+%ifarch x86_64 %ix86 %arm aarch64 riscv64 s390x
%define build_d 1
%else
%define build_d 0
@@ -260,7 +260,7 @@
%define biarch_targets x86_64 s390x powerpc64 powerpc sparc sparc64
URL: https://gcc.gnu.org/
-Version: 9.0.1+r270591
+Version: 9.1.1+r271393
Release: 0
%define gcc_dir_version %(echo %version | sed 's/+.*//' | cut -d '.' -f 1)
%define gcc_snapshot_revision %(echo %version | sed 's/[3-9]\.[0-9]\.[0-6]//' | sed 's/+/-/')
@@ -448,6 +448,7 @@
#test patching end
%build
+%define _lto_cflags %{nil}
# Avoid rebuilding of generated files
contrib/gcc_update --touch
++++++ gcc9.spec ++++++
--- /var/tmp/diff_new_pack.TVQfyu/_old 2019-05-25 13:20:13.800336671 +0200
+++ /var/tmp/diff_new_pack.TVQfyu/_new 2019-05-25 13:20:13.820336663 +0200
@@ -52,7 +52,7 @@
%define build_objc 1
%define build_objcp 1
%define build_go 1
-%ifarch x86_64 %ix86 %arm
+%ifarch x86_64 %ix86 %arm aarch64 riscv64 s390x
%define build_d 1
%else
%define build_d 0
@@ -242,7 +242,7 @@
%define biarch_targets x86_64 s390x powerpc64 powerpc sparc sparc64
URL: https://gcc.gnu.org/
-Version: 9.0.1+r270591
+Version: 9.1.1+r271393
Release: 0
%define gcc_dir_version %(echo %version | sed 's/+.*//' | cut -d '.' -f 1)
%define gcc_snapshot_revision %(echo %version | sed 's/[3-9]\.[0-9]\.[0-6]//' | sed 's/+/-/')
@@ -1720,6 +1720,7 @@
#test patching end
%build
+%define _lto_cflags %{nil}
# Avoid rebuilding of generated files
contrib/gcc_update --touch
@@ -2556,10 +2557,6 @@
%endif
%if %{build_fortran}
%{libsubdir}/include/ISO_Fortran_binding.h
-%if %{separate_biarch}
-%dir %{versmainlibdirbi}/include
-%{versmainlibdirbi}/include/ISO_Fortran_binding.h
-%endif
%endif
%versmainlib *crt*.o
%versmainlib libgcc*.a
++++++ cross.spec.in ++++++
--- /var/tmp/diff_new_pack.TVQfyu/_old 2019-05-25 13:20:14.108336556 +0200
+++ /var/tmp/diff_new_pack.TVQfyu/_new 2019-05-25 13:20:14.112336555 +0200
@@ -101,9 +101,7 @@
BuildRequires: texinfo
%endif
BuildRequires: zlib-devel
-%ifarch %ix86 x86_64 ppc ppc64 s390 s390x ia64 %sparc hppa %arm
BuildRequires: isl-devel
-%endif
%ifarch ia64
BuildRequires: libunwind-devel
%endif
++++++ gcc-9.0.1+r270591.tar.xz -> gcc-9.1.1+r271393.tar.xz ++++++
/work/SRC/openSUSE:Factory/gcc9/gcc-9.0.1+r270591.tar.xz /work/SRC/openSUSE:Factory/.gcc9.new.5148/gcc-9.1.1+r271393.tar.xz differ: char 26, line 1
++++++ gcc.spec.in ++++++
--- /var/tmp/diff_new_pack.TVQfyu/_old 2019-05-25 13:20:14.164336535 +0200
+++ /var/tmp/diff_new_pack.TVQfyu/_new 2019-05-25 13:20:14.164336535 +0200
@@ -52,7 +52,7 @@
%define build_objc 1
%define build_objcp 1
%define build_go 1
-%ifarch x86_64 %ix86 %arm
+%ifarch x86_64 %ix86 %arm aarch64 riscv64 s390x
%define build_d 1
%else
%define build_d 0
@@ -246,7 +246,7 @@
%define biarch_targets x86_64 s390x powerpc64 powerpc sparc sparc64
URL: https://gcc.gnu.org/
-Version: 9.0.1+r270591
+Version: 9.1.1+r271393
Release: 1
%define gcc_dir_version %(echo %version | sed 's/+.*//' | cut -d '.' -f 1)
%define gcc_snapshot_revision %(echo %version | sed 's/[3-9]\.[0-9]\.[0-6]//' | sed 's/+/-/')
@@ -1041,6 +1041,7 @@
#test patching end
%build
+%define _lto_cflags %{nil}
# Avoid rebuilding of generated files
contrib/gcc_update --touch
@@ -1884,10 +1885,6 @@
%endif
%if %{build_fortran}
%{libsubdir}/include/ISO_Fortran_binding.h
-%if %{separate_biarch}
-%dir %{versmainlibdirbi}/include
-%{versmainlibdirbi}/include/ISO_Fortran_binding.h
-%endif
%endif
%versmainlib *crt*.o
%versmainlib libgcc*.a
1
0
Hello community,
here is the log from the commit of package curl for openSUSE:Factory checked in at 2019-05-25 13:19:57
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/curl (Old)
and /work/SRC/openSUSE:Factory/.curl.new.5148 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "curl"
Sat May 25 13:19:57 2019 rev:146 rq:704820 version:7.65.0
Changes:
--------
--- /work/SRC/openSUSE:Factory/curl/curl-mini.changes 2019-04-15 11:50:29.938488128 +0200
+++ /work/SRC/openSUSE:Factory/.curl.new.5148/curl-mini.changes 2019-05-25 13:19:59.252342080 +0200
@@ -1,0 +2,101 @@
+Wed May 22 11:41:49 UTC 2019 - Pedro Monreal Gonzalez <pmonrealgonzalez(a)suse.com>
+
+- Update to 7.65.0 [bsc#1135176, CVE-2019-5435][bsc#1135170, CVE-2019-5436]
+ * Changes:
+ - CURLOPT_DNS_USE_GLOBAL_CACHE: removed
+ - CURLOPT_MAXAGE_CONN: set the maximum allowed age for conn reuse
+ - pipelining: removed
+ * Bugfixes:
+ - CVE-2019-5435: Integer overflows in curl_url_set
+ - CVE-2019-5436: tftp: use the current blksize for recvfrom()
+ - --config: clarify that initial : and = might need quoting
+ - CURLMOPT_TIMERFUNCTION.3: warn about the recursive risk
+ - CURLOPT_ADDRESS_SCOPE: fix range check and more
+ - CURLOPT_CHUNK_BGN_FUNCTION.3: document the struct and time value
+ - CURLOPT_READFUNCTION.3: see also CURLOPT_UPLOAD_BUFFERSIZE
+ - CURL_MAX_INPUT_LENGTH: largest acceptable string input size
+ - Curl_disconnect: treat all CONNECT_ONLY connections as "dead"
+ - OS400/ccsidcurl: replace use of Curl_vsetopt
+ - OpenSSL: Report -fips in version if OpenSSL is built with FIPS
+ - WRITEFUNCTION: add missing set_in_callback around callback
+ - altsvc: Fix building with cookies disabled
+ - auth: Rename the various authentication clean up functions
+ - base64: build conditionally if there are users
+ - cmake: avoid linking executable for some tests with cmake 3.6+
+ - cmake: clear CMAKE_REQUIRED_LIBRARIES after each use
+ - cmake: set SSL_BACKENDS
+ - configure: avoid unportable '==' test(1) operator
+ - configure: error out if OpenSSL wasn't detected when asked for
+ - configure: fix default location for fish completions
+ - cookie: Guard against possible NULL ptr deref
+ - curl: make code work with protocol-disabled libcurl
+ - curl: report error for "--no-" on non-boolean options
+ - curlver.h: use parenthesis in CURL_VERSION_BITS macro
+ - docs/INSTALL: fix broken link
+ - doh: acknowledge CURL_DISABLE_DOH
+ - doh: disable DOH for the cases it doesn't work
+ - examples: remove unused variables
+ - ftplistparser: fix LGTM alert "Empty block without comment"
+ - hostip: acknowledge CURL_DISABLE_SHUFFLE_DNS
+ - http: Ignore HTTP/2 prior knowledge setting for HTTP proxies
+ - http: acknowledge CURL_DISABLE_HTTP_AUTH
+ - http: mark bundle as not for multiuse on < HTTP/2 response
+ - http_digest: Don't expose functions when HTTP and Crypto Auth are disabled
+ - http_negotiate: do not treat failure of gss_init_sec_context() as fatal
+ - http_ntlm: Corrected the name of the include guard
+ - http_ntlm_wb: Handle auth for only a single request
+ - http_ntlm_wb: Return the correct error on receiving an empty auth message
+ - lib509: add missing include for strdup
+ - lib557: initialize variables
+ - mbedtls: enable use of EC keys
+ - mime: acknowledge CURL_DISABLE_MIME
+ - multi: improved HTTP_1_1_REQUIRED handling
+ - netrc: acknowledge CURL_DISABLE_NETRC
+ - nss: allow fifos and character devices for certificates
+ - nss: provide more specific error messages on failed init
+ - ntlm: Fix misaligned function comments for Curl_auth_ntlm_cleanup
+ - ntlm: Support the NT response in the type-3 when OpenSSL doesn't include MD4
+ - openssl: mark connection for close on TLS close_notify
+ - openvms: Remove pre-processor for SecureTransport
+ - parse_proxy: use the URL parser API
+ - parsedate: disabled on CURL_DISABLE_PARSEDATE
+ - pingpong: disable more when no pingpong protocols are enabled
+ - polarssl_threadlock: remove conditionally unused code
+ - progress: acknowledge CURL_DISABLE_PROGRESS_METER
+ - proxy: acknowledge DISABLE_PROXY more
+ - resolve: apply Happy Eyeballs philosophy to parallel c-ares queries
+ - revert "multi: support verbose conncache closure handle"
+ - sasl: Don't send authcid as authzid for the PLAIN mechanism as per RFC 4616
+ - sasl: only enable if there's a protocol enabled using it
+ - singleipconnect: show port in the verbose "Trying ..." message
+ - socks5: user name and passwords must be shorter than 256
+ - socks: fix error message
+ - socksd: new SOCKS 4+5 server for tests
+ - spnego_gssapi: fix return code on gss_init_sec_context() failure
+ - ssh-libssh: remove unused variable
+ - ssh: define USE_SSH if SSH is enabled (any backend)
+ - ssh: move variable declaration to where it's used
+ - test1002: correct the name
+ - test2100: Fix typos in test description
+ - tests: Run global cleanup at end of tests
+ - tests: make Impacket (SMB server) Python 3 compatible
+ - tool_cb_wrt: fix bad-function-cast warning
+ - tool_formparse: remove redundant assignment
+ - tool_help: Warn if curl and libcurl versions do not match
+ - tool_help: include for strcasecmp
+ - url: always clone the CUROPT_CURLU handle
+ - url: convert the zone id from a IPv6 URL to correct scope id
+ - urlapi: add CURLUPART_ZONEID to set and get
+ - urlapi: increase supported scheme length to 40 bytes
+ - urlapi: require a non-zero host name length when parsing URL
+ - urlapi: stricter CURLUPART_PORT parsing
+ - urlapi: strip off zone id from numerical IPv6 addresses
+ - urlapi: urlencode characters above 0x7f correctly
+ - vauth/cleartext: update the PLAIN login to match RFC 4616
+ - vauth/oauth2: Fix OAUTHBEARER token generation
+ - vauth: Fix incorrect function description for Curl_auth_user_contains_domain
+ - vtls: fix potential ssl_buffer stack overflow
+ - wildcard: disable from build when FTP isn't present
+ - xattr: skip unittest on unsupported platforms
+
+-------------------------------------------------------------------
curl.changes: same change
Old:
----
curl-7.64.1.tar.xz
curl-7.64.1.tar.xz.asc
New:
----
curl-7.65.0.tar.xz
curl-7.65.0.tar.xz.asc
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ curl-mini.spec ++++++
--- /var/tmp/diff_new_pack.KCSZY6/_old 2019-05-25 13:20:00.516341610 +0200
+++ /var/tmp/diff_new_pack.KCSZY6/_new 2019-05-25 13:20:00.528341606 +0200
@@ -29,7 +29,7 @@
# need ssl always for python-pycurl
%bcond_without openssl
Name: curl-mini
-Version: 7.64.1
+Version: 7.65.0
Release: 0
Summary: A Tool for Transferring Data from URLs
License: curl
@@ -204,15 +204,15 @@
%files
%doc README RELEASE-NOTES
-%doc docs/{BUGS,FAQ,FEATURES,MANUAL,RESOURCES,TODO,TheArtOfHttpScripting}
+%doc docs/{BUGS,FAQ,FEATURES,RESOURCES,TODO,TheArtOfHttpScripting}
%{_bindir}/curl
%{_datadir}/zsh/site-functions/_curl
%{_mandir}/man1/curl.1%{ext_man}
%dir %{_datadir}/zsh
%dir %{_datadir}/zsh/site-functions
%dir %{_datadir}/fish/
-%dir %{_datadir}/fish/completions/
-%{_datadir}/fish/completions/curl.fish
+%dir %{_datadir}/fish/vendor_completions.d/
+%{_datadir}/fish/vendor_completions.d/curl.fish
%files -n libcurl4%{?mini}
%license COPYING
++++++ curl.spec ++++++
--- /var/tmp/diff_new_pack.KCSZY6/_old 2019-05-25 13:20:00.656341558 +0200
+++ /var/tmp/diff_new_pack.KCSZY6/_new 2019-05-25 13:20:00.676341550 +0200
@@ -27,7 +27,7 @@
# need ssl always for python-pycurl
%bcond_without openssl
Name: curl
-Version: 7.64.1
+Version: 7.65.0
Release: 0
Summary: A Tool for Transferring Data from URLs
License: curl
@@ -202,15 +202,15 @@
%files
%doc README RELEASE-NOTES
-%doc docs/{BUGS,FAQ,FEATURES,MANUAL,RESOURCES,TODO,TheArtOfHttpScripting}
+%doc docs/{BUGS,FAQ,FEATURES,RESOURCES,TODO,TheArtOfHttpScripting}
%{_bindir}/curl
%{_datadir}/zsh/site-functions/_curl
%{_mandir}/man1/curl.1%{ext_man}
%dir %{_datadir}/zsh
%dir %{_datadir}/zsh/site-functions
%dir %{_datadir}/fish/
-%dir %{_datadir}/fish/completions/
-%{_datadir}/fish/completions/curl.fish
+%dir %{_datadir}/fish/vendor_completions.d/
+%{_datadir}/fish/vendor_completions.d/curl.fish
%files -n libcurl4%{?mini}
%license COPYING
++++++ curl-7.64.1.tar.xz -> curl-7.65.0.tar.xz ++++++
++++ 44636 lines of diff (skipped)
1
0
Hello community,
here is the log from the commit of package acpica for openSUSE:Factory checked in at 2019-05-25 13:19:14
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/acpica (Old)
and /work/SRC/openSUSE:Factory/.acpica.new.5148 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "acpica"
Sat May 25 13:19:14 2019 rev:59 rq:704812 version:20190509
Changes:
--------
--- /work/SRC/openSUSE:Factory/acpica/acpica.changes 2019-04-12 09:11:05.225586137 +0200
+++ /work/SRC/openSUSE:Factory/.acpica.new.5148/acpica.changes 2019-05-25 13:19:19.144356993 +0200
@@ -1,0 +2,7 @@
+Wed May 22 09:29:13 UTC 2019 - trenn(a)suse.de
+
+- Update to version 20190509
+ Includes a fix that breaks VirtualBox
+ https://github.com/acpica/acpica/issues/462
+
+-------------------------------------------------------------------
Old:
----
acpica-unix-20190405.tar.gz
New:
----
acpica-unix-20190509.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ acpica.spec ++++++
--- /var/tmp/diff_new_pack.fHGpE1/_old 2019-05-25 13:19:20.840356362 +0200
+++ /var/tmp/diff_new_pack.fHGpE1/_new 2019-05-25 13:19:20.840356362 +0200
@@ -20,7 +20,7 @@
%define kver %(rpm -q --qf '%%{VERSION}' kernel-source)
%define dmp_ver %{kver}
Name: acpica
-Version: 20190405
+Version: 20190509
Release: 0
Summary: This is a set of tools to display and debug your BIOS ACPI tables
License: GPL-2.0-only
++++++ acpica-unix-20190405.tar.gz -> acpica-unix-20190509.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/acpica-unix-20190405/changes.txt new/acpica-unix-20190509/changes.txt
--- old/acpica-unix-20190405/changes.txt 2019-04-05 17:12:57.000000000 +0200
+++ new/acpica-unix-20190509/changes.txt 2019-05-10 00:04:14.000000000 +0200
@@ -1,4 +1,91 @@
----------------------------------------
+09 May 2019. Summary of changes for version 20190509:
+
+
+1) ACPICA kernel-resident subsystem:
+
+Revert commit 6c43e1a ("ACPICA: Clear status of GPEs before enabling
+them") that causes problems with Thunderbolt controllers to occur if a
+dock device is connected at init time (the xhci_hcd and thunderbolt
+modules crash which prevents peripherals connected through them from
+working). Commit 6c43e1a effectively causes commit ecc1165b8b74 ("ACPICA:
+Dispatch active GPEs at init time") to get undone, so the problem
+addressed by commit ecc1165b8b74 appears again as a result of it.
+
+
+2) iASL Compiler/Disassembler and ACPICA tools:
+
+Reverted iASL: Additional forward reference detection. This change
+reverts forward reference detection for field declarations. The feature
+unintentionally emitted AML bytecode with incorrect package lengths for
+some ASL code related to Fields and OperationRegions. This malformed AML
+can cause systems to crash
+during boot. The malformed AML bytecode is emitted in iASL version
+20190329 and 20190405.
+
+iASL: improve forward reference detection. This change improves forward
+reference detection for named objects inside of scopes. If a parse object
+has the OP_NOT_FOUND_DURING_LOAD set, it means that Op is a reference to
+a named object that is declared later in the AML bytecode. This is
+allowed if the reference is inside of a method and the declaration is
+outside of a method like so:
+
+DefinitionBlock(...)
+{
+ Method (TEST)
+ {
+ Return (NUM0)
+ }
+ Name (NUM0,0)
+}
+
+However, if the declaration and reference are both in the same method or
+outside any methods, this is a forward reference and should be marked as
+an error because it would result in runtime errors.
+
+DefinitionBlock(...)
+{
+ Name (BUFF, Buffer (NUM0) {}) // Forward reference
+ Name (NUM0, 0x0)
+
+ Method (TEST)
+ {
+ Local0 = NUM1
+ Name (NUM1, 0x1) // Forward reference
+ return (Local0)
+ }
+}
+
+iASL: Implemented additional buffer overflow analysis for BufferField
+declarations. Check if a buffer index argument to a create buffer field
+operation is beyond the end of the target buffer.
+
+This affects these AML operators:
+
+ AML_CREATE_FIELD_OP
+ AML_CREATE_BIT_FIELD_OP
+ AML_CREATE_BYTE_FIELD_OP
+ AML_CREATE_WORD_FIELD_OP
+ AML_CREATE_DWORD_FIELD_OP
+ AML_CREATE_QWORD_FIELD_OP
+
+ There are three conditions that must be satisfied in order to allow this
+validation at compile time:
+
+ 1) The length of the target buffer must be an integer constant
+ 2) The index specified in the create* must be an integer constant
+ 3) For CreateField, the bit length argument must be non-zero.
+
+Example:
+ Name (BUF1, Buffer() {1,2})
+ CreateField (BUF1, 7, 9, CF03) // 3: ERR
+
+dsdt.asl 14: CreateField (BUF1, 7, 9, CF03) // 3: ERR
+Error 6165 - ^ Buffer index beyond end of
+target buffer
+
+
+----------------------------------------
05 April 2019. Summary of changes for version 20190405:
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/acpica-unix-20190405/source/compiler/aslcodegen.c new/acpica-unix-20190509/source/compiler/aslcodegen.c
--- old/acpica-unix-20190405/source/compiler/aslcodegen.c 2019-04-05 17:12:58.000000000 +0200
+++ new/acpica-unix-20190509/source/compiler/aslcodegen.c 2019-05-10 00:04:15.000000000 +0200
@@ -690,7 +690,8 @@
{
if (FlReadFile (ASL_FILE_AML_OUTPUT, &FileByte, 1) != AE_OK)
{
- printf ("EOF while reading checksum bytes\n");
+ AslError (ASL_ERROR, ASL_MSG_COMPILER_INTERNAL, NULL,
+ "Table length is greater than size of the input file");
return;
}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/acpica-unix-20190405/source/compiler/aslcompile.c new/acpica-unix-20190509/source/compiler/aslcompile.c
--- old/acpica-unix-20190405/source/compiler/aslcompile.c 2019-04-05 17:12:58.000000000 +0200
+++ new/acpica-unix-20190509/source/compiler/aslcompile.c 2019-05-10 00:04:15.000000000 +0200
@@ -224,7 +224,6 @@
if (AslGbl_PreprocessOnly)
{
UtEndEvent (Event);
- CmCleanupAndExit ();
return (AE_OK);
}
}
@@ -919,7 +918,7 @@
* We will delete the AML file if there are errors and the
* force AML output option has not been used.
*/
- if (AslGbl_ParserErrorDetected || ((AslGbl_ExceptionCount[ASL_ERROR] > 0) &&
+ if (AslGbl_ParserErrorDetected || AslGbl_PreprocessOnly || ((AslGbl_ExceptionCount[ASL_ERROR] > 0) &&
(!AslGbl_IgnoreErrors) &&
AslGbl_Files[ASL_FILE_AML_OUTPUT].Handle))
{
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/acpica-unix-20190405/source/compiler/aslcompiler.h new/acpica-unix-20190509/source/compiler/aslcompiler.h
--- old/acpica-unix-20190405/source/compiler/aslcompiler.h 2019-04-05 17:12:58.000000000 +0200
+++ new/acpica-unix-20190509/source/compiler/aslcompiler.h 2019-05-10 00:04:15.000000000 +0200
@@ -1105,10 +1105,6 @@
FlGetCurrentFileNode (
void);
-BOOLEAN
-FlInputFileExists (
- char *InputFilename);
-
/*
* aslhwmap - hardware map summary
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/acpica-unix-20190405/source/compiler/aslerror.c new/acpica-unix-20190509/source/compiler/aslerror.c
--- old/acpica-unix-20190405/source/compiler/aslerror.c 2019-04-05 17:12:58.000000000 +0200
+++ new/acpica-unix-20190509/source/compiler/aslerror.c 2019-05-10 00:04:15.000000000 +0200
@@ -869,16 +869,8 @@
return;
}
- if (!FlInputFileExists (Filename))
- {
- /*
- * This means that this file is an include file. Record the .src
- * file as the error message source because this file is not in
- * the global file list.
- */
- Enode->SourceFilename =
- FileNode->Files[ASL_FILE_SOURCE_OUTPUT].Filename;
- }
+ Enode->SourceFilename =
+ FileNode->Files[ASL_FILE_SOURCE_OUTPUT].Filename;
}
}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/acpica-unix-20190405/source/compiler/aslfiles.c new/acpica-unix-20190509/source/compiler/aslfiles.c
--- old/acpica-unix-20190405/source/compiler/aslfiles.c 2019-04-05 17:12:58.000000000 +0200
+++ new/acpica-unix-20190509/source/compiler/aslfiles.c 2019-05-10 00:04:15.000000000 +0200
@@ -163,6 +163,10 @@
ACPI_PARSE_OBJECT *Op,
char *Filename);
+static BOOLEAN
+FlInputFileExists (
+ char *InputFilename);
+
#ifdef ACPI_OBSOLETE_FUNCTIONS
ACPI_STATUS
FlParseInputPathname (
@@ -250,7 +254,7 @@
*
******************************************************************************/
-BOOLEAN
+static BOOLEAN
FlInputFileExists (
char *Filename)
{
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/acpica-unix-20190405/source/compiler/aslload.c new/acpica-unix-20190509/source/compiler/aslload.c
--- old/acpica-unix-20190405/source/compiler/aslload.c 2019-04-05 17:12:58.000000000 +0200
+++ new/acpica-unix-20190509/source/compiler/aslload.c 2019-05-10 00:04:15.000000000 +0200
@@ -263,10 +263,29 @@
ACPI_WALK_STATE *WalkState)
{
ACPI_PARSE_OBJECT *Child = NULL;
+ ACPI_PARSE_OBJECT *SourceRegion;
ACPI_NAMESPACE_NODE *Node;
ACPI_STATUS Status;
+
+ SourceRegion = UtGetArg (Op, 0);
+ if (SourceRegion)
+ {
+ Status = AcpiNsLookup (WalkState->ScopeInfo,
+ SourceRegion->Asl.Value.String,
+ ACPI_TYPE_REGION, ACPI_IMODE_EXECUTE,
+ ACPI_NS_DONT_OPEN_SCOPE, NULL, &Node);
+ if (Status == AE_NOT_FOUND)
+ {
+ /*
+ * If the named object is not found, it means that it is either a
+ * forward reference or the named object does not exist.
+ */
+ SourceRegion->Asl.CompileFlags |= OP_NOT_FOUND_DURING_LOAD;
+ }
+ }
+
/* Get the first named field element */
switch (Op->Asl.AmlOpcode)
@@ -493,7 +512,7 @@
case AML_FIELD_OP:
Status = LdLoadFieldElements (Op, WalkState);
- break;
+ return (Status);
case AML_INT_CONNECTION_OP:
@@ -557,8 +576,7 @@
* We only want references to named objects:
* Store (2, WXYZ) -> Attempt to resolve the name
*/
- if ((OpInfo->Class == AML_CLASS_NAMED_OBJECT) &&
- (OpInfo->Type != AML_TYPE_NAMED_FIELD))
+ if (OpInfo->Class == AML_CLASS_NAMED_OBJECT)
{
return (AE_OK);
}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/acpica-unix-20190405/source/compiler/aslmain.c new/acpica-unix-20190509/source/compiler/aslmain.c
--- old/acpica-unix-20190405/source/compiler/aslmain.c 2019-04-05 17:12:58.000000000 +0200
+++ new/acpica-unix-20190509/source/compiler/aslmain.c 2019-05-10 00:04:15.000000000 +0200
@@ -291,7 +291,8 @@
/*
* At this point, compilation of a data table or disassembly is complete.
*/
- if (AslGbl_FileType == ASL_INPUT_TYPE_ASCII_DATA || AcpiGbl_DisasmFlag)
+ if (AslGbl_PreprocessOnly || AcpiGbl_DisasmFlag ||
+ AslGbl_FileType == ASL_INPUT_TYPE_ASCII_DATA)
{
goto CleanupAndExit;
}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/acpica-unix-20190405/source/compiler/aslmessages.c new/acpica-unix-20190509/source/compiler/aslmessages.c
--- old/acpica-unix-20190405/source/compiler/aslmessages.c 2019-04-05 17:12:58.000000000 +0200
+++ new/acpica-unix-20190509/source/compiler/aslmessages.c 2019-05-10 00:04:15.000000000 +0200
@@ -283,7 +283,7 @@
/* ASL_MSG_NO_RETVAL */ "Called method returns no value",
/* ASL_MSG_NO_WHILE */ "No enclosing While statement",
/* ASL_MSG_NON_ASCII */ "Invalid characters found in file",
-/* ASL_MSG_NON_ZERO */ "Operand evaluates to zero",
+/* ASL_MSG_BUFFER_FIELD_LENGTH */ "Field length must be non-zero",
/* ASL_MSG_NOT_EXIST */ "Object does not exist",
/* ASL_MSG_NOT_FOUND */ "Object not found or not accessible from current scope",
/* ASL_MSG_NOT_METHOD */ "Not a control method, cannot invoke",
@@ -342,7 +342,7 @@
/* ASL_MSG_RANGE */ "Constant out of range",
/* ASL_MSG_BUFFER_ALLOCATION */ "Could not allocate line buffer",
/* ASL_MSG_MISSING_DEPENDENCY */ "Missing dependency",
-/* ASL_MSG_ILLEGAL_FORWARD_REF */ "Forward references are not supported by the ASL language",
+/* ASL_MSG_ILLEGAL_FORWARD_REF */ "Illegal forward reference",
/* ASL_MSG_ILLEGAL_METHOD_REF */ "Object is declared in a different method",
/* ASL_MSG_LOCAL_NOT_USED */ "Method Local is set but never used",
/* ASL_MSG_ARG_AS_LOCAL_NOT_USED */ "Method Argument (as a local) is set but never used",
@@ -364,7 +364,8 @@
/* ASL_MSG_NAMEPATH_NOT_EXIST */ "One or more objects within the Pathname do not exist",
/* ASL_MSG_REGION_LENGTH */ "Operation Region declared with zero length",
/* ASL_MSG_TEMPORARY_OBJECT */ "Object is created temporarily in another method and cannot be accessed",
-/* ASL_MSG_UNDEFINED_EXTERNAL */ "Named object was declared external but the actual definition does not exist"
+/* ASL_MSG_UNDEFINED_EXTERNAL */ "Named object was declared external but the actual definition does not exist",
+/* ASL_MSG_BUFFER_FIELD_OVERFLOW */ "Buffer field extends beyond end of target buffer"
};
/* Table compiler */
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/acpica-unix-20190405/source/compiler/aslmessages.h new/acpica-unix-20190509/source/compiler/aslmessages.h
--- old/acpica-unix-20190405/source/compiler/aslmessages.h 2019-04-05 17:12:58.000000000 +0200
+++ new/acpica-unix-20190509/source/compiler/aslmessages.h 2019-05-10 00:04:15.000000000 +0200
@@ -285,7 +285,7 @@
ASL_MSG_NO_RETVAL,
ASL_MSG_NO_WHILE,
ASL_MSG_NON_ASCII,
- ASL_MSG_NON_ZERO,
+ ASL_MSG_BUFFER_FIELD_LENGTH,
ASL_MSG_NOT_EXIST,
ASL_MSG_NOT_FOUND,
ASL_MSG_NOT_METHOD,
@@ -367,6 +367,7 @@
ASL_MSG_REGION_LENGTH,
ASL_MSG_TEMPORARY_OBJECT,
ASL_MSG_UNDEFINED_EXTERNAL,
+ ASL_MSG_BUFFER_FIELD_OVERFLOW,
/* These messages are used by the Data Table compiler only */
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/acpica-unix-20190405/source/compiler/asloperands.c new/acpica-unix-20190509/source/compiler/asloperands.c
--- old/acpica-unix-20190405/source/compiler/asloperands.c 2019-04-05 17:12:58.000000000 +0200
+++ new/acpica-unix-20190509/source/compiler/asloperands.c 2019-05-10 00:04:15.000000000 +0200
@@ -819,6 +819,7 @@
BufferLengthOp->Asl.Value.Integer = BufferLength;
(void) OpcSetOptimalIntegerSize (BufferLengthOp);
+ UtSetParseOpName (BufferLengthOp);
/* Remaining nodes are handled via the tree walk */
}
@@ -905,6 +906,7 @@
*/
Op->Asl.Child->Asl.ParseOpcode = PARSEOP_INTEGER;
Op->Asl.Child->Asl.Value.Integer = PackageLength;
+ UtSetParseOpName (Op);
/* Set the AML opcode */
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/acpica-unix-20190405/source/compiler/aslstartup.c new/acpica-unix-20190509/source/compiler/aslstartup.c
--- old/acpica-unix-20190405/source/compiler/aslstartup.c 2019-04-05 17:12:58.000000000 +0200
+++ new/acpica-unix-20190509/source/compiler/aslstartup.c 2019-05-10 00:04:15.000000000 +0200
@@ -550,14 +550,10 @@
Status = CmDoCompile ();
if (ACPI_FAILURE (Status))
{
+ PrTerminatePreprocessor ();
return (Status);
}
- /* Cleanup (for next source file) and exit */
-
- AeClearErrorLog ();
- PrTerminatePreprocessor ();
-
/*
* At this point, we know how many lines are in the input file. Save it
* to display for post-compilation summary.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/acpica-unix-20190405/source/compiler/aslutils.c new/acpica-unix-20190509/source/compiler/aslutils.c
--- old/acpica-unix-20190405/source/compiler/aslutils.c 2019-04-05 17:12:58.000000000 +0200
+++ new/acpica-unix-20190509/source/compiler/aslutils.c 2019-05-10 00:04:15.000000000 +0200
@@ -541,8 +541,14 @@
{
UINT32 i;
ASL_GLOBAL_FILE_NODE *FileNode;
+ BOOLEAN DisplayAMLSummary;
+ DisplayAMLSummary =
+ !AslGbl_PreprocessOnly && !AslGbl_ParserErrorDetected &&
+ ((AslGbl_ExceptionCount[ASL_ERROR] == 0) || AslGbl_IgnoreErrors) &&
+ AslGbl_Files[ASL_FILE_AML_OUTPUT].Handle;
+
if (FileId != ASL_FILE_STDOUT)
{
/* Compiler name and version number */
@@ -595,9 +601,7 @@
/* AML summary */
- if (!AslGbl_ParserErrorDetected &&
- ((AslGbl_ExceptionCount[ASL_ERROR] == 0) || AslGbl_IgnoreErrors) &&
- AslGbl_Files[ASL_FILE_AML_OUTPUT].Handle)
+ if (DisplayAMLSummary)
{
FlPrintFile (FileId,
"%-14s %s - %7u bytes %6u opcodes %6u named objects\n",
@@ -633,7 +637,7 @@
continue;
}
- FlPrintFile (FileId, "%14s %s - %u bytes\n",
+ FlPrintFile (FileId, "%-14s %s - %7u bytes\n",
AslGbl_FileDescs[i].ShortDescription,
AslGbl_Files[i].Filename, FlGetFileSize (i));
}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/acpica-unix-20190405/source/compiler/aslwalks.c new/acpica-unix-20190509/source/compiler/aslwalks.c
--- old/acpica-unix-20190405/source/compiler/aslwalks.c 2019-04-05 17:12:58.000000000 +0200
+++ new/acpica-unix-20190509/source/compiler/aslwalks.c 2019-05-10 00:04:15.000000000 +0200
@@ -165,6 +165,14 @@
AnAnalyzeStoreOperator (
ACPI_PARSE_OBJECT *Op);
+static BOOLEAN
+AnIsValidBufferConstant (
+ ACPI_PARSE_OBJECT *Op);
+
+static void
+AnValidateCreateBufferField (
+ ACPI_PARSE_OBJECT *CreateBufferFieldOp);
+
/*******************************************************************************
*
@@ -669,6 +677,14 @@
OpInfo = AcpiPsGetOpcodeInfo (Op->Asl.AmlOpcode);
+ if (OpInfo->Flags & AML_CREATE)
+ {
+ /* This group contains all of the Create Buffer Field operators */
+
+ AnValidateCreateBufferField (Op);
+ return (AE_OK);
+ }
+
/*
* Determine if an execution class operator actually does something by
* checking if it has a target and/or the function return value is used.
@@ -734,10 +750,10 @@
}
}
-
/*
* Semantic checks for individual ASL operators
*/
+
switch (Op->Asl.ParseOpcode)
{
case PARSEOP_STORE:
@@ -785,22 +801,6 @@
}
break;
- case PARSEOP_CREATEFIELD:
- /*
- * Check for a zero Length (NumBits) operand. NumBits is the 3rd operand
- */
- ArgOp = Op->Asl.Child;
- ArgOp = ArgOp->Asl.Next;
- ArgOp = ArgOp->Asl.Next;
-
- if ((ArgOp->Asl.ParseOpcode == PARSEOP_ZERO) ||
- ((ArgOp->Asl.ParseOpcode == PARSEOP_INTEGER) &&
- (ArgOp->Asl.Value.Integer == 0)))
- {
- AslError (ASL_ERROR, ASL_MSG_NON_ZERO, ArgOp, NULL);
- }
- break;
-
case PARSEOP_CONNECTION:
/*
* Ensure that the referenced operation region has the correct SPACE_ID.
@@ -886,6 +886,194 @@
}
+/*******************************************************************************
+ *
+ * FUNCTION: AnValidateCreateBufferField
+ *
+ * PARAMETERS: Op - A create buffer field operator
+ *
+ * RETURN: None
+ *
+ * DESCRIPTION: Check if a buffer index argument to a create buffer field
+ * operation is beyond the end of the target buffer.
+ *
+ * Validates these AML operators:
+ *
+ * AML_CREATE_FIELD_OP
+ * AML_CREATE_BIT_FIELD_OP
+ * AML_CREATE_BYTE_FIELD_OP
+ * AML_CREATE_WORD_FIELD_OP
+ * AML_CREATE_DWORD_FIELD_OP
+ * AML_CREATE_QWORD_FIELD_OP
+ *
+ * There are two conditions that must be satisfied in order to enable
+ * validation at compile time:
+ *
+ * 1) The length of the target buffer must be an integer constant
+ * 2) The index specified in the create* must be an integer constant
+ * 3) For CreateField, the bit length argument must be non-zero.
+ *
+ ******************************************************************************/
+
+static void
+AnValidateCreateBufferField (
+ ACPI_PARSE_OBJECT *CreateBufferFieldOp)
+{
+ ACPI_PARSE_OBJECT *TargetBufferOp;
+ ACPI_PARSE_OBJECT *ArgOp;
+ UINT32 TargetBufferLength;
+ UINT32 LastFieldByteIndex;
+
+
+ /*
+ * 1) Get the length of the target buffer
+ */
+ ArgOp = CreateBufferFieldOp->Asl.Child; /* Reference to target buffer */
+
+ /*
+ * If no attached Node, the target buffer may be something like an
+ * ArgX or LocalX and cannot be evaluated at compile time.
+ */
+ if (!ArgOp->Asl.Node)
+ {
+ return;
+ }
+
+ TargetBufferOp = ArgOp->Asl.Node->Op;
+ TargetBufferOp = TargetBufferOp->Asl.Child; /* Target buffer */
+ TargetBufferOp = TargetBufferOp->Asl.Next; /* "Buffer" keyword */
+ if (!TargetBufferOp)
+ {
+ /* Not a statement of the form NAME(XXXX, Buffer.... */
+
+ return;
+ }
+
+ /* Get the buffer length argument. It must be an integer constant */
+
+ ArgOp = TargetBufferOp->Asl.Child;
+ if (!AnIsValidBufferConstant (ArgOp))
+ {
+ return;
+ }
+
+ TargetBufferLength = (UINT32) ArgOp->Asl.Value.Integer;
+
+ /*
+ * 2) Get the value of the buffer index argument. It must be
+ * an integer constant.
+ */
+ ArgOp = CreateBufferFieldOp->Asl.Child; /* Reference to target buffer */
+ ArgOp = ArgOp->Asl.Next; /* Buffer Index argument*/
+ if (!AnIsValidBufferConstant (ArgOp))
+ {
+ return;
+ }
+
+ LastFieldByteIndex =
+ (UINT32) ArgOp->Asl.Value.Integer; /* Index can be in either bytes or bits */
+
+ /*
+ * 3) Get the length of the new buffer field, in bytes. Also,
+ * create the final target buffer index for the last byte of the field
+ */
+ switch (CreateBufferFieldOp->Asl.ParseOpcode)
+ {
+ case PARSEOP_CREATEBITFIELD: /* A one bit field */
+
+ LastFieldByteIndex = ACPI_ROUND_BITS_DOWN_TO_BYTES (LastFieldByteIndex);
+ break;
+
+ case PARSEOP_CREATEBYTEFIELD:
+ break;
+
+ case PARSEOP_CREATEWORDFIELD:
+
+ LastFieldByteIndex += (sizeof (UINT16) - 1);
+ break;
+
+ case PARSEOP_CREATEDWORDFIELD:
+
+ LastFieldByteIndex += (sizeof (UINT32) - 1);
+ break;
+
+ case PARSEOP_CREATEQWORDFIELD:
+
+ LastFieldByteIndex += (sizeof (UINT64) - 1);
+ break;
+
+ case PARSEOP_CREATEFIELD: /* Multi-bit field */
+
+ ArgOp = ArgOp->Asl.Next; /* Length argument, in bits */
+ if (!AnIsValidBufferConstant (ArgOp))
+ {
+ return;
+ }
+
+ /* The buffer field length is not allowed to be zero */
+
+ if (ArgOp->Asl.Value.Integer == 0)
+ {
+ AslError (ASL_WARNING, ASL_MSG_BUFFER_FIELD_LENGTH, ArgOp, NULL);
+ return;
+ }
+
+ LastFieldByteIndex +=
+ ((UINT32) ArgOp->Asl.Value.Integer - 1); /* Create final bit index */
+
+ /* Convert bit index to a byte index */
+
+ LastFieldByteIndex = ACPI_ROUND_BITS_DOWN_TO_BYTES (LastFieldByteIndex);
+ break;
+
+ default:
+ return;
+ }
+
+ /*
+ * 4) Check for an access (index) beyond the end of the target buffer,
+ * or a zero length target buffer.
+ */
+ if (!TargetBufferLength || (LastFieldByteIndex >= TargetBufferLength))
+ {
+ AslError (ASL_WARNING, ASL_MSG_BUFFER_FIELD_OVERFLOW, ArgOp, NULL);
+ }
+}
+
+
+/*******************************************************************************
+ *
+ * FUNCTION: AnIsValidBufferConstant
+ *
+ * PARAMETERS: Op - A buffer-related operand
+ *
+ * RETURN: TRUE if operand is valid constant, FALSE otherwise
+ *
+ * DESCRIPTION: Check if the input Op is valid constant that can be used
+ * in compile-time analysis.
+ *
+ ******************************************************************************/
+
+static BOOLEAN
+AnIsValidBufferConstant (
+ ACPI_PARSE_OBJECT *Op)
+{
+ if (!Op)
+ {
+ return (FALSE);
+ }
+
+ if ((Op->Asl.ParseOpcode == PARSEOP_INTEGER) ||
+ (Op->Asl.ParseOpcode == PARSEOP_ZERO) ||
+ (Op->Asl.ParseOpcode == PARSEOP_ONE))
+ {
+ return (TRUE);
+ }
+
+ return (FALSE);
+}
+
+
/*******************************************************************************
*
* FUNCTION: AnAnalyzeStoreOperator
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/acpica-unix-20190405/source/compiler/aslxref.c new/acpica-unix-20190509/source/compiler/aslxref.c
--- old/acpica-unix-20190405/source/compiler/aslxref.c 2019-04-05 17:12:58.000000000 +0200
+++ new/acpica-unix-20190509/source/compiler/aslxref.c 2019-05-10 00:04:15.000000000 +0200
@@ -460,6 +460,8 @@
ASL_METHOD_LOCAL *MethodArgs = NULL;
int RegisterNumber;
UINT32 i;
+ ACPI_NAMESPACE_NODE *DeclarationParentMethod;
+ ACPI_PARSE_OBJECT *ReferenceParentMethod;
ACPI_FUNCTION_TRACE_PTR (XfNamespaceLocateBegin, Op);
@@ -613,8 +615,7 @@
(Op->Asl.ParseOpcode != PARSEOP_NAMESTRING) &&
(Op->Asl.ParseOpcode != PARSEOP_NAMESEG) &&
(Op->Asl.ParseOpcode != PARSEOP_METHODCALL) &&
- (Op->Asl.ParseOpcode != PARSEOP_EXTERNAL) &&
- (OpInfo->Type != AML_TYPE_NAMED_FIELD))
+ (Op->Asl.ParseOpcode != PARSEOP_EXTERNAL))
{
return_ACPI_STATUS (AE_OK);
}
@@ -638,8 +639,7 @@
if ((Op->Asl.ParseOpcode == PARSEOP_NAMESTRING) ||
(Op->Asl.ParseOpcode == PARSEOP_NAMESEG) ||
(Op->Asl.ParseOpcode == PARSEOP_METHODCALL) ||
- (Op->Asl.ParseOpcode == PARSEOP_EXTERNAL) ||
- (OpInfo->Type == AML_TYPE_NAMED_FIELD))
+ (Op->Asl.ParseOpcode == PARSEOP_EXTERNAL))
{
/*
* These are name references, do not push the scope stack
@@ -676,10 +676,6 @@
Path = NextOp->Asl.Value.String;
}
- else if (OpInfo->Type == AML_TYPE_NAMED_FIELD)
- {
- Path = Op->Asl.Child->Asl.Value.String;
- }
else
{
Path = Op->Asl.Value.String;
@@ -798,24 +794,45 @@
return_ACPI_STATUS (Status);
}
- /* Object was found above, check for an illegal forward reference */
+ /* Object was found above, check for an illegal forward reference */
if (Op->Asl.CompileFlags & OP_NOT_FOUND_DURING_LOAD)
{
/*
* During the load phase, this Op was flagged as a possible
- * illegal forward reference
+ * illegal forward reference. In other words, Op is a name path or
+ * name segment that refers to a named object declared after the
+ * reference. In this scinario, Node refers to the actual declaration
+ * and Op is a parse node that references the named object.
*
- * Note: Allow "forward references" from within a method to an
- * object that is not within any method (module-level code)
+ * Note:
+ *
+ * Object references inside of control methods are allowed to
+ * refer to objects declared outside of control methods.
+ *
+ * If the declaration and reference are both contained inside of the
+ * same method or outside of any method, this is a forward reference
+ * and should be reported as a compiler error.
*/
- if (!WalkState->ScopeInfo || (UtGetParentMethod (Node) &&
- !UtNodeIsDescendantOf (WalkState->ScopeInfo->Scope.Node,
- UtGetParentMethod (Node))))
+ DeclarationParentMethod = UtGetParentMethod (Node);
+ ReferenceParentMethod = XfGetParentMethod (Op);
+
+ /* case 1: declaration and refrence are both outside of method */
+
+ if (!ReferenceParentMethod && !DeclarationParentMethod)
{
AslError (ASL_ERROR, ASL_MSG_ILLEGAL_FORWARD_REF, Op,
Op->Asl.ExternalName);
}
+
+ /* case 2: declaration and reference are both inside of the same method */
+
+ else if (ReferenceParentMethod && DeclarationParentMethod &&
+ ReferenceParentMethod == DeclarationParentMethod->Op)
+ {
+ AslError (ASL_ERROR, ASL_MSG_ILLEGAL_FORWARD_REF, Op,
+ Op->Asl.ExternalName);
+ }
}
/* Check for a reference vs. name declaration */
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/acpica-unix-20190405/source/components/events/evgpe.c new/acpica-unix-20190509/source/components/events/evgpe.c
--- old/acpica-unix-20190405/source/components/events/evgpe.c 2019-04-05 17:12:59.000000000 +0200
+++ new/acpica-unix-20190509/source/components/events/evgpe.c 2019-05-10 00:04:16.000000000 +0200
@@ -240,14 +240,6 @@
ACPI_FUNCTION_TRACE (EvEnableGpe);
- /* Clear the GPE (of stale events) */
-
- Status = AcpiHwClearGpe(GpeEventInfo);
- if (ACPI_FAILURE(Status))
- {
- return_ACPI_STATUS(Status);
- }
-
/* Enable the requested GPE */
Status = AcpiHwLowSetGpe (GpeEventInfo, ACPI_GPE_ENABLE);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/acpica-unix-20190405/source/include/acpixf.h new/acpica-unix-20190509/source/include/acpixf.h
--- old/acpica-unix-20190405/source/include/acpixf.h 2019-04-05 17:13:01.000000000 +0200
+++ new/acpica-unix-20190509/source/include/acpixf.h 2019-05-10 00:04:18.000000000 +0200
@@ -154,7 +154,7 @@
/* Current ACPICA subsystem version in YYYYMMDD format */
-#define ACPI_CA_VERSION 0x20190405
+#define ACPI_CA_VERSION 0x20190509
#include "acconfig.h"
#include "actypes.h"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/acpica-unix-20190405/source/include/platform/aclinux.h new/acpica-unix-20190509/source/include/platform/aclinux.h
--- old/acpica-unix-20190405/source/include/platform/aclinux.h 2019-04-05 17:13:01.000000000 +0200
+++ new/acpica-unix-20190509/source/include/platform/aclinux.h 2019-05-10 00:04:18.000000000 +0200
@@ -205,6 +205,11 @@
#define ACPI_INIT_FUNCTION __init
+/* Use a specific bugging default separate from ACPICA */
+
+#undef ACPI_DEBUG_DEFAULT
+#define ACPI_DEBUG_DEFAULT (ACPI_LV_INFO | ACPI_LV_REPAIR)
+
#ifndef CONFIG_ACPI
/* External globals for __KERNEL__, stubs is needed */
@@ -221,11 +226,6 @@
#define ACPI_NO_ERROR_MESSAGES
#undef ACPI_DEBUG_OUTPUT
-/* Use a specific bugging default separate from ACPICA */
-
-#undef ACPI_DEBUG_DEFAULT
-#define ACPI_DEBUG_DEFAULT (ACPI_LV_INFO | ACPI_LV_REPAIR)
-
/* External interface for __KERNEL__, stub is needed */
#define ACPI_EXTERNAL_RETURN_STATUS(Prototype) \
1
0
Hello community,
here is the log from the commit of package resource-agents for openSUSE:Factory checked in at 2019-05-25 13:19:08
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/resource-agents (Old)
and /work/SRC/openSUSE:Factory/.resource-agents.new.5148 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "resource-agents"
Sat May 25 13:19:08 2019 rev:94 rq:704801 version:4.2.0+git104.25f2052b
Changes:
--------
--- /work/SRC/openSUSE:Factory/resource-agents/resource-agents.changes 2019-05-09 10:02:18.467807926 +0200
+++ /work/SRC/openSUSE:Factory/.resource-agents.new.5148/resource-agents.changes 2019-05-25 13:19:09.800360468 +0200
@@ -29,0 +30 @@
+ * This patch was integrated upstream and is not needed as an extra patch.
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
1
0
Hello community,
here is the log from the commit of package libreoffice for openSUSE:Factory checked in at 2019-05-25 13:18:32
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/libreoffice (Old)
and /work/SRC/openSUSE:Factory/.libreoffice.new.5148 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "libreoffice"
Sat May 25 13:18:32 2019 rev:181 rq:705180 version:6.2.3.2
Changes:
--------
--- /work/SRC/openSUSE:Factory/libreoffice/libreoffice.changes 2019-05-17 23:41:51.285955938 +0200
+++ /work/SRC/openSUSE:Factory/.libreoffice.new.5148/libreoffice.changes 2019-05-25 13:18:43.692370175 +0200
@@ -1,0 +2,12 @@
+Fri May 24 07:22:08 UTC 2019 - Tomáš Chvátal <tchvatal(a)suse.com>
+
+- If there is no firebird engine we still need java to run hsqldb
+ bsc#1135189
+
+-------------------------------------------------------------------
+Tue May 21 06:33:21 UTC 2019 - Andras Timar <andras.timar(a)collabora.com>
+
+- LO-L3: PPTX: Rectangle turns from green to blue and loses transparency when transparency is set
+ * bsc1135228.patch
+
+-------------------------------------------------------------------
New:
----
bsc1135228.patch
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ libreoffice.spec ++++++
--- /var/tmp/diff_new_pack.VYFNRv/_old 2019-05-25 13:18:50.608367604 +0200
+++ /var/tmp/diff_new_pack.VYFNRv/_new 2019-05-25 13:18:50.612367602 +0200
@@ -107,6 +107,8 @@
Patch14: bsc1124869.patch
# LO-L3: Image from PPTX shown in a square, not a circle
Patch15: bsc1121874.patch
+# LO-L3: PPTX: Rectangle turns from green to blue and loses transparency when transparency is set
+Patch16: bsc1135228.patch
# try to save space by using hardlinks
Patch990: install-with-hardlinks.diff
# save time by relying on rpm check rather than doing stupid find+grep
@@ -415,6 +417,13 @@
# default database connector
%if %{with firebird}
Requires: %{name}-base-drivers-firebird
+%else
+%ifarch %{ix86}
+Requires: jre-32 >= 1.6
+%endif
+%ifarch x86_64 aarch64
+Requires: jre-64 >= 1.6
+%endif
%endif
%description base
@@ -973,6 +982,7 @@
%patch13 -p1
%patch14 -p1
%patch15 -p1
+%patch16 -p1
%patch990 -p1
%patch991 -p1
++++++ bsc1135228.patch ++++++
diff --git a/include/oox/ppt/presentationfragmenthandler.hxx b/include/oox/ppt/presentationfragmenthandler.hxx
index ab24a8262fae..bb9166e24afc 100644
--- a/include/oox/ppt/presentationfragmenthandler.hxx
+++ b/include/oox/ppt/presentationfragmenthandler.hxx
@@ -50,7 +50,7 @@ private:
void importSlide( const ::oox::core::FragmentHandlerRef& rSlideFragmentHandler,
const oox::ppt::SlidePersistPtr& rPersist );
void importSlide(sal_uInt32 nSlide, bool bFirstSlide, bool bImportNotes);
- void saveThemeToGrabBag(const oox::drawingml::ThemePtr& pThemePtr, const OUString& sTheme);
+ void saveThemeToGrabBag(const oox::drawingml::ThemePtr& pThemePtr, sal_Int32 nThemeIdx);
std::vector< OUString > maSlideMasterVector;
std::vector< OUString > maSlidesVector;
diff --git a/oox/source/ppt/presentationfragmenthandler.cxx b/oox/source/ppt/presentationfragmenthandler.cxx
index f2477b2cef6e..13bba2da95a3 100644
--- a/oox/source/ppt/presentationfragmenthandler.cxx
+++ b/oox/source/ppt/presentationfragmenthandler.cxx
@@ -160,7 +160,7 @@ static void ResolveTextFields( XmlFilterBase const & rFilter )
}
void PresentationFragmentHandler::saveThemeToGrabBag(const oox::drawingml::ThemePtr& pThemePtr,
- const OUString& sTheme)
+ sal_Int32 nThemeIdx)
{
if (!pThemePtr)
return;
@@ -198,8 +198,11 @@ void PresentationFragmentHandler::saveThemeToGrabBag(const oox::drawingml::Theme
aCurrentTheme[nId].Value = rColor;
}
+
// add new theme to the sequence
- aTheme[0].Name = sTheme;
+ // Export code uses the master slide's index to find the right theme
+ // so use the same index in the grabbag.
+ aTheme[0].Name = "ppt/theme/theme" + OUString::number(nThemeIdx) + ".xml";
const uno::Any& rCurrentTheme = makeAny(aCurrentTheme);
aTheme[0].Value = rCurrentTheme;
@@ -273,10 +276,17 @@ void PresentationFragmentHandler::importSlide(sal_uInt32 nSlide, bool bFirstPage
Reference< drawing::XMasterPagesSupplier > xMPS( xModel, uno::UNO_QUERY_THROW );
Reference< drawing::XDrawPages > xMasterPages( xMPS->getMasterPages(), uno::UNO_QUERY_THROW );
+ sal_Int32 nIndex;
if( rFilter.getMasterPages().empty() )
- xMasterPages->getByIndex( 0 ) >>= xMasterPage;
+ {
+ nIndex = 0;
+ xMasterPages->getByIndex( nIndex ) >>= xMasterPage;
+ }
else
- xMasterPage = xMasterPages->insertNewByIndex( xMasterPages->getCount() );
+ {
+ nIndex = xMasterPages->getCount();
+ xMasterPage = xMasterPages->insertNewByIndex( nIndex );
+ }
pMasterPersistPtr = std::make_shared<SlidePersist>( rFilter, true, false, xMasterPage,
ShapePtr( new PPTShape( Master, "com.sun.star.drawing.GroupShape" ) ), mpTextListStyle );
@@ -306,7 +316,7 @@ void PresentationFragmentHandler::importSlide(sal_uInt32 nSlide, bool bFirstPage
UNO_QUERY_THROW));
rThemes[ aThemeFragmentPath ] = pThemePtr;
pThemePtr->setFragment(xDoc);
- saveThemeToGrabBag(pThemePtr, aThemeFragmentPath);
+ saveThemeToGrabBag(pThemePtr, nIndex + 1);
}
else
{
diff --git a/include/oox/export/drawingml.hxx b/include/oox/export/drawingml.hxx
index 24adf475be16..2da61a6f5300 100644
--- a/include/oox/export/drawingml.hxx
+++ b/include/oox/export/drawingml.hxx
@@ -170,14 +170,14 @@ public:
OUString WriteImage( const Graphic &rGraphic , bool bRelPathToMedia = false);
void WriteColor( ::Color nColor, sal_Int32 nAlpha = MAX_PERCENT );
- void WriteColor( const OUString& sColorSchemeName, const css::uno::Sequence< css::beans::PropertyValue >& aTransformations );
- void WriteColorTransformations( const css::uno::Sequence< css::beans::PropertyValue >& aTransformations );
+ void WriteColor( const OUString& sColorSchemeName, const css::uno::Sequence< css::beans::PropertyValue >& aTransformations, sal_Int32 nAlpha = MAX_PERCENT );
+ void WriteColorTransformations( const css::uno::Sequence< css::beans::PropertyValue >& aTransformations, sal_Int32 nAlpha = MAX_PERCENT );
void WriteGradientStop( sal_uInt16 nStop, ::Color nColor );
void WriteLineArrow( const css::uno::Reference< css::beans::XPropertySet >& rXPropSet, bool bLineStart );
void WriteConnectorConnections( EscherConnectorListEntry& rConnectorEntry, sal_Int32 nStartID, sal_Int32 nEndID );
void WriteSolidFill( ::Color nColor, sal_Int32 nAlpha = MAX_PERCENT );
- void WriteSolidFill( const OUString& sSchemeName, const css::uno::Sequence< css::beans::PropertyValue >& aTransformations );
+ void WriteSolidFill( const OUString& sSchemeName, const css::uno::Sequence< css::beans::PropertyValue >& aTransformations, sal_Int32 nAlpha = MAX_PERCENT );
void WriteSolidFill( const css::uno::Reference< css::beans::XPropertySet >& rXPropSet );
void WriteGradientFill( const css::uno::Reference< css::beans::XPropertySet >& rXPropSet );
void WriteGradientFill( css::awt::Gradient rGradient );
diff --git a/oox/source/export/drawingml.cxx b/oox/source/export/drawingml.cxx
index 23065ec67678..30f330226788 100644
--- a/oox/source/export/drawingml.cxx
+++ b/oox/source/export/drawingml.cxx
@@ -231,7 +231,7 @@ void DrawingML::WriteColor( ::Color nColor, sal_Int32 nAlpha )
}
}
-void DrawingML::WriteColor( const OUString& sColorSchemeName, const Sequence< PropertyValue >& aTransformations )
+void DrawingML::WriteColor( const OUString& sColorSchemeName, const Sequence< PropertyValue >& aTransformations, sal_Int32 nAlpha )
{
// prevent writing a tag with empty val attribute
if( sColorSchemeName.isEmpty() )
@@ -242,7 +242,15 @@ void DrawingML::WriteColor( const OUString& sColorSchemeName, const Sequence< Pr
mpFS->startElementNS( XML_a, XML_schemeClr,
XML_val, USS( sColorSchemeName ),
FSEND );
- WriteColorTransformations( aTransformations );
+ WriteColorTransformations( aTransformations, nAlpha );
+ mpFS->endElementNS( XML_a, XML_schemeClr );
+ }
+ else if(nAlpha < MAX_PERCENT)
+ {
+ mpFS->startElementNS( XML_a, XML_schemeClr,
+ XML_val, USS( sColorSchemeName ),
+ FSEND );
+ mpFS->singleElementNS(XML_a, XML_alpha, XML_val, OString::number(nAlpha), FSEND);
mpFS->endElementNS( XML_a, XML_schemeClr );
}
else
@@ -253,15 +261,22 @@ void DrawingML::WriteColor( const OUString& sColorSchemeName, const Sequence< Pr
}
}
-void DrawingML::WriteColorTransformations( const Sequence< PropertyValue >& aTransformations )
+void DrawingML::WriteColorTransformations( const Sequence< PropertyValue >& aTransformations, sal_Int32 nAlpha )
{
for( sal_Int32 i = 0; i < aTransformations.getLength(); i++ )
{
sal_Int32 nToken = Color::getColorTransformationToken( aTransformations[i].Name );
if( nToken != XML_TOKEN_INVALID && aTransformations[i].Value.hasValue() )
{
- sal_Int32 nValue = aTransformations[i].Value.get<sal_Int32>();
- mpFS->singleElementNS( XML_a, nToken, XML_val, I32S( nValue ), FSEND );
+ if(nToken == XML_alpha && nAlpha < MAX_PERCENT)
+ {
+ mpFS->singleElementNS( XML_a, nToken, XML_val, I32S( nAlpha ), FSEND );
+ }
+ else
+ {
+ sal_Int32 nValue = aTransformations[i].Value.get<sal_Int32>();
+ mpFS->singleElementNS( XML_a, nToken, XML_val, I32S( nValue ), FSEND );
+ }
}
}
}
@@ -273,10 +288,10 @@ void DrawingML::WriteSolidFill( ::Color nColor, sal_Int32 nAlpha )
mpFS->endElementNS( XML_a, XML_solidFill );
}
-void DrawingML::WriteSolidFill( const OUString& sSchemeName, const Sequence< PropertyValue >& aTransformations )
+void DrawingML::WriteSolidFill( const OUString& sSchemeName, const Sequence< PropertyValue >& aTransformations, sal_Int32 nAlpha )
{
mpFS->startElementNS( XML_a, XML_solidFill, FSEND );
- WriteColor( sSchemeName, aTransformations );
+ WriteColor( sSchemeName, aTransformations, nAlpha );
mpFS->endElementNS( XML_a, XML_solidFill );
}
@@ -326,22 +341,36 @@ void DrawingML::WriteSolidFill( const Reference< XPropertySet >& rXPropSet )
else if ( !sColorFillScheme.isEmpty() )
{
// the shape had a scheme color and the user didn't change it
- WriteSolidFill( sColorFillScheme, aTransformations );
+ WriteSolidFill( sColorFillScheme, aTransformations, nAlpha );
}
else if ( aStyleProperties.hasElements() )
{
sal_uInt32 nThemeColor = 0;
+ sal_Int32 nThemeAlpha = MAX_PERCENT;
for( sal_Int32 i=0; i < aStyleProperties.getLength(); ++i )
{
if( aStyleProperties[i].Name == "Color" )
{
aStyleProperties[i].Value >>= nThemeColor;
- break;
+ }
+ else if(aStyleProperties[i].Name == "Transformations" )
+ {
+ Sequence< PropertyValue > aStyleTransformations;
+ aStyleProperties[i].Value >>= aStyleTransformations;
+ for( sal_Int32 j = 0; j < aStyleTransformations.getLength(); j++ )
+ {
+ if (aStyleTransformations[j].Name == "alpha" )
+ {
+ aStyleTransformations[j].Value >>= nThemeAlpha;
+ break;
+ }
+ }
}
}
- if ( nFillColor != nThemeColor )
+ if ( nFillColor != nThemeColor || nAlpha != nThemeAlpha )
// the shape contains a theme but it wasn't being used
WriteSolidFill( ::Color(nFillColor & 0xffffff), nAlpha );
+
// in case the shape used the style color and the user didn't change it,
// we must not write a <a: solidFill> tag.
}
1
0
Hello community,
here is the log from the commit of package tomcat for openSUSE:Factory checked in at 2019-05-25 13:18:24
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/tomcat (Old)
and /work/SRC/openSUSE:Factory/.tomcat.new.5148 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "tomcat"
Sat May 25 13:18:24 2019 rev:53 rq:704517 version:9.0.20
Changes:
--------
--- /work/SRC/openSUSE:Factory/tomcat/tomcat.changes 2019-05-03 22:29:20.496326256 +0200
+++ /work/SRC/openSUSE:Factory/.tomcat.new.5148/tomcat.changes 2019-05-25 13:18:26.460376583 +0200
@@ -1,0 +2,7 @@
+Mon May 20 20:40:08 UTC 2019 - Matei <malbu(a)suse.com>
+
+- Update to Tomcat 9.0.20. See changelog at
+ http://tomcat.apache.org/tomcat-9.0-doc/changelog.html#Tomcat_9.0.20_(markt)
+- increase maximum number of threads and open files for tomcat (bsc#1111966)
+
+-------------------------------------------------------------------
Old:
----
apache-tomcat-9.0.19-src.tar.gz
apache-tomcat-9.0.19-src.tar.gz.asc
New:
----
apache-tomcat-9.0.20-src.tar.gz
apache-tomcat-9.0.20-src.tar.gz.asc
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ tomcat.spec ++++++
--- /var/tmp/diff_new_pack.VO9AVs/_old 2019-05-25 13:18:30.928374921 +0200
+++ /var/tmp/diff_new_pack.VO9AVs/_new 2019-05-25 13:18:30.952374912 +0200
@@ -22,7 +22,7 @@
%define elspec 3.0
%define major_version 9
%define minor_version 0
-%define micro_version 19
+%define micro_version 20
%define packdname apache-tomcat-%{version}-src
# FHS 2.3 compliant tree structure - http://www.pathname.com/fhs/2.3/
%global basedir /srv/%{name}
++++++ apache-tomcat-9.0.19-src.tar.gz -> apache-tomcat-9.0.20-src.tar.gz ++++++
++++ 7345 lines of diff (skipped)
++++++ tomcat-9.0.service ++++++
--- /var/tmp/diff_new_pack.VO9AVs/_old 2019-05-25 13:18:35.012373403 +0200
+++ /var/tmp/diff_new_pack.VO9AVs/_new 2019-05-25 13:18:35.028373397 +0200
@@ -8,6 +8,8 @@
After=syslog.target network.target
[Service]
+TasksMax=576
+LimitNOFILE=8192
Type=simple
EnvironmentFile=/etc/tomcat/tomcat.conf
Environment="NAME="
1
0
Hello community,
here is the log from the commit of package python-cloudpickle for openSUSE:Factory checked in at 2019-05-25 13:17:55
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-cloudpickle (Old)
and /work/SRC/openSUSE:Factory/.python-cloudpickle.new.5148 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-cloudpickle"
Sat May 25 13:17:55 2019 rev:6 rq:704439 version:1.1.1
Changes:
--------
--- /work/SRC/openSUSE:Factory/python-cloudpickle/python-cloudpickle.changes 2019-04-02 09:21:46.028681327 +0200
+++ /work/SRC/openSUSE:Factory/.python-cloudpickle.new.5148/python-cloudpickle.changes 2019-05-25 13:17:58.988386797 +0200
@@ -1,0 +2,10 @@
+Tue May 21 11:38:21 UTC 2019 - Marketa Calabkova <mcalabkova(a)suse.com>
+
+- Update to 1.1.1
+ * Support the pickling of interactively-defined functions with
+ positional-only arguments.
+ * Track the provenance of dynamic classes and enums.
+ * Fix a bug making functions with keyword-only arguments forget
+ the default values of these arguments after being pickled.
+
+-------------------------------------------------------------------
Old:
----
cloudpickle-0.8.1.tar.gz
New:
----
cloudpickle-1.1.1.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ python-cloudpickle.spec ++++++
--- /var/tmp/diff_new_pack.CpWZNj/_old 2019-05-25 13:17:59.660386547 +0200
+++ /var/tmp/diff_new_pack.CpWZNj/_new 2019-05-25 13:17:59.664386546 +0200
@@ -18,7 +18,7 @@
%{?!python_module:%define python_module() python-%{**} python3-%{**}}
Name: python-cloudpickle
-Version: 0.8.1
+Version: 1.1.1
Release: 0
Summary: Extended pickling support for Python objects
License: BSD-3-Clause
@@ -68,7 +68,7 @@
%check
export PYTHONPATH='.:tests'
-%python_expand py.test-%{$python_bin_suffix} -s
+%pytest -s
%files %{python_files}
%doc README.md
++++++ cloudpickle-0.8.1.tar.gz -> cloudpickle-1.1.1.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/cloudpickle-0.8.1/PKG-INFO new/cloudpickle-1.1.1/PKG-INFO
--- old/cloudpickle-0.8.1/PKG-INFO 2019-03-25 10:07:23.000000000 +0100
+++ new/cloudpickle-1.1.1/PKG-INFO 2019-05-15 10:50:45.000000000 +0200
@@ -1,6 +1,6 @@
-Metadata-Version: 1.1
+Metadata-Version: 2.1
Name: cloudpickle
-Version: 0.8.1
+Version: 1.1.1
Summary: Extended pickling support for Python objects
Home-page: https://github.com/cloudpipe/cloudpickle
Author: Cloudpipe
@@ -120,3 +120,4 @@
Classifier: Topic :: Software Development :: Libraries :: Python Modules
Classifier: Topic :: Scientific/Engineering
Classifier: Topic :: System :: Distributed Computing
+Description-Content-Type: text/markdown
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/cloudpickle-0.8.1/cloudpickle/__init__.py new/cloudpickle-1.1.1/cloudpickle/__init__.py
--- old/cloudpickle-0.8.1/cloudpickle/__init__.py 2019-03-25 10:07:01.000000000 +0100
+++ new/cloudpickle-1.1.1/cloudpickle/__init__.py 2019-05-15 10:49:51.000000000 +0200
@@ -2,4 +2,4 @@
from cloudpickle.cloudpickle import *
-__version__ = '0.8.1'
+__version__ = '1.1.1'
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/cloudpickle-0.8.1/cloudpickle/cloudpickle.py new/cloudpickle-1.1.1/cloudpickle/cloudpickle.py
--- old/cloudpickle-0.8.1/cloudpickle/cloudpickle.py 2019-03-25 09:45:31.000000000 +0100
+++ new/cloudpickle-1.1.1/cloudpickle/cloudpickle.py 2019-05-15 10:43:28.000000000 +0200
@@ -44,7 +44,6 @@
import dis
from functools import partial
-import importlib
import io
import itertools
import logging
@@ -56,12 +55,26 @@
import traceback
import types
import weakref
+import uuid
+import threading
+
+
+try:
+ from enum import Enum
+except ImportError:
+ Enum = None
# cloudpickle is meant for inter process communication: we expect all
# communicating processes to run the same Python version hence we favor
# communication speed over compatibility:
DEFAULT_PROTOCOL = pickle.HIGHEST_PROTOCOL
+# Track the provenance of reconstructed dynamic classes to make it possible to
+# recontruct instances from the matching singleton class definition when
+# appropriate and preserve the usual "isinstance" semantics of Python objects.
+_DYNAMIC_CLASS_TRACKER_BY_CLASS = weakref.WeakKeyDictionary()
+_DYNAMIC_CLASS_TRACKER_BY_ID = weakref.WeakValueDictionary()
+_DYNAMIC_CLASS_TRACKER_LOCK = threading.Lock()
if sys.version_info[0] < 3: # pragma: no branch
from pickle import Pickler
@@ -71,12 +84,37 @@
from StringIO import StringIO
string_types = (basestring,) # noqa
PY3 = False
+ PY2 = True
+ PY2_WRAPPER_DESCRIPTOR_TYPE = type(object.__init__)
+ PY2_METHOD_WRAPPER_TYPE = type(object.__eq__)
+ PY2_CLASS_DICT_BLACKLIST = (PY2_METHOD_WRAPPER_TYPE,
+ PY2_WRAPPER_DESCRIPTOR_TYPE)
else:
types.ClassType = type
from pickle import _Pickler as Pickler
from io import BytesIO as StringIO
string_types = (str,)
PY3 = True
+ PY2 = False
+
+
+def _ensure_tracking(class_def):
+ with _DYNAMIC_CLASS_TRACKER_LOCK:
+ class_tracker_id = _DYNAMIC_CLASS_TRACKER_BY_CLASS.get(class_def)
+ if class_tracker_id is None:
+ class_tracker_id = uuid.uuid4().hex
+ _DYNAMIC_CLASS_TRACKER_BY_CLASS[class_def] = class_tracker_id
+ _DYNAMIC_CLASS_TRACKER_BY_ID[class_tracker_id] = class_def
+ return class_tracker_id
+
+
+def _lookup_class_or_track(class_tracker_id, class_def):
+ if class_tracker_id is not None:
+ with _DYNAMIC_CLASS_TRACKER_LOCK:
+ class_def = _DYNAMIC_CLASS_TRACKER_BY_ID.setdefault(
+ class_tracker_id, class_def)
+ _DYNAMIC_CLASS_TRACKER_BY_CLASS[class_def] = class_tracker_id
+ return class_def
def _make_cell_set_template_code():
@@ -112,7 +150,7 @@
# NOTE: we are marking the cell variable as a free variable intentionally
# so that we simulate an inner function instead of the outer function. This
# is what gives us the ``nonlocal`` behavior in a Python 2 compatible way.
- if not PY3: # pragma: no branch
+ if PY2: # pragma: no branch
return types.CodeType(
co.co_argcount,
co.co_nlocals,
@@ -130,24 +168,43 @@
(),
)
else:
- return types.CodeType(
- co.co_argcount,
- co.co_kwonlyargcount,
- co.co_nlocals,
- co.co_stacksize,
- co.co_flags,
- co.co_code,
- co.co_consts,
- co.co_names,
- co.co_varnames,
- co.co_filename,
- co.co_name,
- co.co_firstlineno,
- co.co_lnotab,
- co.co_cellvars, # this is the trickery
- (),
- )
-
+ if hasattr(types.CodeType, "co_posonlyargcount"): # pragma: no branch
+ return types.CodeType(
+ co.co_argcount,
+ co.co_posonlyargcount, # Python3.8 with PEP570
+ co.co_kwonlyargcount,
+ co.co_nlocals,
+ co.co_stacksize,
+ co.co_flags,
+ co.co_code,
+ co.co_consts,
+ co.co_names,
+ co.co_varnames,
+ co.co_filename,
+ co.co_name,
+ co.co_firstlineno,
+ co.co_lnotab,
+ co.co_cellvars, # this is the trickery
+ (),
+ )
+ else:
+ return types.CodeType(
+ co.co_argcount,
+ co.co_kwonlyargcount,
+ co.co_nlocals,
+ co.co_stacksize,
+ co.co_flags,
+ co.co_code,
+ co.co_consts,
+ co.co_names,
+ co.co_varnames,
+ co.co_filename,
+ co.co_name,
+ co.co_firstlineno,
+ co.co_lnotab,
+ co.co_cellvars, # this is the trickery
+ (),
+ )
_cell_set_template_code = _make_cell_set_template_code()
@@ -220,7 +277,7 @@
global-referencing instructions in *code*.
"""
code = getattr(code, 'co_code', b'')
- if not PY3: # pragma: no branch
+ if PY2: # pragma: no branch
code = map(ord, code)
n = len(code)
@@ -250,6 +307,39 @@
yield op, instr.arg
+def _extract_class_dict(cls):
+ """Retrieve a copy of the dict of a class without the inherited methods"""
+ clsdict = dict(cls.__dict__) # copy dict proxy to a dict
+ if len(cls.__bases__) == 1:
+ inherited_dict = cls.__bases__[0].__dict__
+ else:
+ inherited_dict = {}
+ for base in reversed(cls.__bases__):
+ inherited_dict.update(base.__dict__)
+ to_remove = []
+ for name, value in clsdict.items():
+ try:
+ base_value = inherited_dict[name]
+ if value is base_value:
+ to_remove.append(name)
+ elif PY2:
+ # backward compat for Python 2
+ if hasattr(value, "im_func"):
+ if value.im_func is getattr(base_value, "im_func", None):
+ to_remove.append(name)
+ elif isinstance(value, PY2_CLASS_DICT_BLACKLIST):
+ # On Python 2 we have no way to pickle those specific
+ # methods types nor to check that they are actually
+ # inherited. So we assume that they are always inherited
+ # from builtin types.
+ to_remove.append(name)
+ except KeyError:
+ pass
+ for name in to_remove:
+ clsdict.pop(name)
+ return clsdict
+
+
class CloudPickler(Pickler):
dispatch = Pickler.dispatch.copy()
@@ -277,7 +367,7 @@
dispatch[memoryview] = save_memoryview
- if not PY3: # pragma: no branch
+ if PY2: # pragma: no branch
def save_buffer(self, obj):
self.save(str(obj))
@@ -300,12 +390,23 @@
Save a code object
"""
if PY3: # pragma: no branch
- args = (
- obj.co_argcount, obj.co_kwonlyargcount, obj.co_nlocals, obj.co_stacksize,
- obj.co_flags, obj.co_code, obj.co_consts, obj.co_names, obj.co_varnames,
- obj.co_filename, obj.co_name, obj.co_firstlineno, obj.co_lnotab, obj.co_freevars,
- obj.co_cellvars
- )
+ if hasattr(obj, "co_posonlyargcount"): # pragma: no branch
+ args = (
+ obj.co_argcount, obj.co_posonlyargcount,
+ obj.co_kwonlyargcount, obj.co_nlocals, obj.co_stacksize,
+ obj.co_flags, obj.co_code, obj.co_consts, obj.co_names,
+ obj.co_varnames, obj.co_filename, obj.co_name,
+ obj.co_firstlineno, obj.co_lnotab, obj.co_freevars,
+ obj.co_cellvars
+ )
+ else:
+ args = (
+ obj.co_argcount, obj.co_kwonlyargcount, obj.co_nlocals,
+ obj.co_stacksize, obj.co_flags, obj.co_code, obj.co_consts,
+ obj.co_names, obj.co_varnames, obj.co_filename,
+ obj.co_name, obj.co_firstlineno, obj.co_lnotab,
+ obj.co_freevars, obj.co_cellvars
+ )
else:
args = (
obj.co_argcount, obj.co_nlocals, obj.co_stacksize, obj.co_flags, obj.co_code,
@@ -460,15 +561,40 @@
# then discards the reference to it
self.write(pickle.POP)
- def save_dynamic_class(self, obj):
+ def _save_dynamic_enum(self, obj, clsdict):
+ """Special handling for dynamic Enum subclasses
+
+ Use a dedicated Enum constructor (inspired by EnumMeta.__call__) as the
+ EnumMeta metaclass has complex initialization that makes the Enum
+ subclasses hold references to their own instances.
"""
- Save a class that can't be stored as module global.
+ members = dict((e.name, e.value) for e in obj)
+
+ # Python 2.7 with enum34 can have no qualname:
+ qualname = getattr(obj, "__qualname__", None)
+
+ self.save_reduce(_make_skeleton_enum,
+ (obj.__bases__, obj.__name__, qualname, members,
+ obj.__module__, _ensure_tracking(obj), None),
+ obj=obj)
+
+ # Cleanup the clsdict that will be passed to _rehydrate_skeleton_class:
+ # Those attributes are already handled by the metaclass.
+ for attrname in ["_generate_next_value_", "_member_names_",
+ "_member_map_", "_member_type_",
+ "_value2member_map_"]:
+ clsdict.pop(attrname, None)
+ for member in members:
+ clsdict.pop(member)
+
+ def save_dynamic_class(self, obj):
+ """Save a class that can't be stored as module global.
This method is used to serialize classes that are defined inside
functions, or that otherwise can't be serialized as attribute lookups
from global modules.
"""
- clsdict = dict(obj.__dict__) # copy dict proxy to a dict
+ clsdict = _extract_class_dict(obj)
clsdict.pop('__weakref__', None)
# For ABCMeta in python3.7+, remove _abc_impl as it is not picklable.
@@ -496,8 +622,8 @@
for k in obj.__slots__:
clsdict.pop(k, None)
- # If type overrides __dict__ as a property, include it in the type kwargs.
- # In Python 2, we can't set this attribute after construction.
+ # If type overrides __dict__ as a property, include it in the type
+ # kwargs. In Python 2, we can't set this attribute after construction.
__dict__ = clsdict.pop('__dict__', None)
if isinstance(__dict__, property):
type_kwargs['__dict__'] = __dict__
@@ -524,8 +650,16 @@
write(pickle.MARK)
# Create and memoize an skeleton class with obj's name and bases.
- tp = type(obj)
- self.save_reduce(tp, (obj.__name__, obj.__bases__, type_kwargs), obj=obj)
+ if Enum is not None and issubclass(obj, Enum):
+ # Special handling of Enum subclasses
+ self._save_dynamic_enum(obj, clsdict)
+ else:
+ # "Regular" class definition:
+ tp = type(obj)
+ self.save_reduce(_make_skeleton_class,
+ (tp, obj.__name__, obj.__bases__, type_kwargs,
+ _ensure_tracking(obj), None),
+ obj=obj)
# Now save the rest of obj's __dict__. Any references to obj
# encountered while saving will point to the skeleton class.
@@ -591,6 +725,8 @@
state['annotations'] = func.__annotations__
if hasattr(func, '__qualname__'):
state['qualname'] = func.__qualname__
+ if hasattr(func, '__kwdefaults__'):
+ state['kwdefaults'] = func.__kwdefaults__
save(state)
write(pickle.TUPLE)
write(pickle.REDUCE) # applies _fill_function on the tuple
@@ -776,7 +912,7 @@
save(stuff)
write(pickle.BUILD)
- if not PY3: # pragma: no branch
+ if PY2: # pragma: no branch
dispatch[types.InstanceType] = save_inst
def save_property(self, obj):
@@ -1075,6 +1211,8 @@
func.__module__ = state['module']
if 'qualname' in state:
func.__qualname__ = state['qualname']
+ if 'kwdefaults' in state:
+ func.__kwdefaults__ = state['kwdefaults']
cells = func.__closure__
if cells is not None:
@@ -1115,6 +1253,22 @@
return types.FunctionType(code, base_globals, None, None, closure)
+def _make_skeleton_class(type_constructor, name, bases, type_kwargs,
+ class_tracker_id, extra):
+ """Build dynamic class with an empty __dict__ to be filled once memoized
+
+ If class_tracker_id is not None, try to lookup an existing class definition
+ matching that id. If none is found, track a newly reconstructed class
+ definition under that id so that other instances stemming from the same
+ class id will also reuse this class definition.
+
+ The "extra" variable is meant to be a dict (or None) that can be used for
+ forward compatibility shall the need arise.
+ """
+ skeleton_class = type_constructor(name, bases, type_kwargs)
+ return _lookup_class_or_track(class_tracker_id, skeleton_class)
+
+
def _rehydrate_skeleton_class(skeleton_class, class_dict):
"""Put attributes from `class_dict` back on `skeleton_class`.
@@ -1133,6 +1287,39 @@
return skeleton_class
+def _make_skeleton_enum(bases, name, qualname, members, module,
+ class_tracker_id, extra):
+ """Build dynamic enum with an empty __dict__ to be filled once memoized
+
+ The creation of the enum class is inspired by the code of
+ EnumMeta._create_.
+
+ If class_tracker_id is not None, try to lookup an existing enum definition
+ matching that id. If none is found, track a newly reconstructed enum
+ definition under that id so that other instances stemming from the same
+ class id will also reuse this enum definition.
+
+ The "extra" variable is meant to be a dict (or None) that can be used for
+ forward compatibility shall the need arise.
+ """
+ # enums always inherit from their base Enum class at the last position in
+ # the list of base classes:
+ enum_base = bases[-1]
+ metacls = enum_base.__class__
+ classdict = metacls.__prepare__(name, bases)
+
+ for member_name, member_value in members.items():
+ classdict[member_name] = member_value
+ enum_class = metacls.__new__(metacls, name, bases, classdict)
+ enum_class.__module__ = module
+
+ # Python 2.7 compat
+ if qualname is not None:
+ enum_class.__qualname__ = qualname
+
+ return _lookup_class_or_track(class_tracker_id, enum_class)
+
+
def _is_dynamic(module):
"""
Return True if the module is special module that cannot be imported by its
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/cloudpickle-0.8.1/cloudpickle.egg-info/PKG-INFO new/cloudpickle-1.1.1/cloudpickle.egg-info/PKG-INFO
--- old/cloudpickle-0.8.1/cloudpickle.egg-info/PKG-INFO 2019-03-25 10:07:23.000000000 +0100
+++ new/cloudpickle-1.1.1/cloudpickle.egg-info/PKG-INFO 2019-05-15 10:50:45.000000000 +0200
@@ -1,6 +1,6 @@
-Metadata-Version: 1.1
+Metadata-Version: 2.1
Name: cloudpickle
-Version: 0.8.1
+Version: 1.1.1
Summary: Extended pickling support for Python objects
Home-page: https://github.com/cloudpipe/cloudpickle
Author: Cloudpipe
@@ -120,3 +120,4 @@
Classifier: Topic :: Software Development :: Libraries :: Python Modules
Classifier: Topic :: Scientific/Engineering
Classifier: Topic :: System :: Distributed Computing
+Description-Content-Type: text/markdown
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/cloudpickle-0.8.1/setup.py new/cloudpickle-1.1.1/setup.py
--- old/cloudpickle-0.8.1/setup.py 2019-01-31 14:05:30.000000000 +0100
+++ new/cloudpickle-1.1.1/setup.py 2019-05-15 10:49:00.000000000 +0200
@@ -31,6 +31,7 @@
license='BSD 3-Clause License',
packages=['cloudpickle'],
long_description=open('README.md').read(),
+ long_description_content_type="text/markdown",
classifiers=[
'Development Status :: 4 - Beta',
'Intended Audience :: Developers',
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/cloudpickle-0.8.1/tests/cloudpickle_test.py new/cloudpickle-1.1.1/tests/cloudpickle_test.py
--- old/cloudpickle-0.8.1/tests/cloudpickle_test.py 2019-03-25 09:45:31.000000000 +0100
+++ new/cloudpickle-1.1.1/tests/cloudpickle_test.py 2019-05-15 10:43:28.000000000 +0200
@@ -42,6 +42,7 @@
import cloudpickle
from cloudpickle.cloudpickle import _is_dynamic
from cloudpickle.cloudpickle import _make_empty_cell, cell_set
+from cloudpickle.cloudpickle import _extract_class_dict
from .testutils import subprocess_pickle_echo
from .testutils import assert_run_python_script
@@ -71,6 +72,32 @@
return raw_filepath.replace("\\", r"\\\\")
+def test_extract_class_dict():
+ class A(int):
+ """A docstring"""
+ def method(self):
+ return "a"
+
+ class B:
+ """B docstring"""
+ B_CONSTANT = 42
+
+ def method(self):
+ return "b"
+
+ class C(A, B):
+ C_CONSTANT = 43
+
+ def method_c(self):
+ return "c"
+
+ clsdict = _extract_class_dict(C)
+ assert sorted(clsdict.keys()) == ["C_CONSTANT", "__doc__", "method_c"]
+ assert clsdict["C_CONSTANT"] == 43
+ assert clsdict["__doc__"] is None
+ assert clsdict["method_c"](C()) == C().method_c()
+
+
class CloudPickleTest(unittest.TestCase):
protocol = cloudpickle.DEFAULT_PROTOCOL
@@ -924,21 +951,18 @@
self.assertEqual(cloned.__qualname__, func.__qualname__)
def test_namedtuple(self):
-
MyTuple = collections.namedtuple('MyTuple', ['a', 'b', 'c'])
- t = MyTuple(1, 2, 3)
+ t1 = MyTuple(1, 2, 3)
+ t2 = MyTuple(3, 2, 1)
- depickled_t, depickled_MyTuple = pickle_depickle(
- [t, MyTuple], protocol=self.protocol)
- self.assertTrue(isinstance(depickled_t, depickled_MyTuple))
-
- self.assertEqual((depickled_t.a, depickled_t.b, depickled_t.c),
- (1, 2, 3))
- self.assertEqual((depickled_t[0], depickled_t[1], depickled_t[2]),
- (1, 2, 3))
+ depickled_t1, depickled_MyTuple, depickled_t2 = pickle_depickle(
+ [t1, MyTuple, t2], protocol=self.protocol)
- self.assertEqual(depickled_MyTuple.__name__, 'MyTuple')
- self.assertTrue(issubclass(depickled_MyTuple, tuple))
+ assert isinstance(depickled_t1, MyTuple)
+ assert depickled_t1 == t1
+ assert depickled_MyTuple is MyTuple
+ assert isinstance(depickled_t2, MyTuple)
+ assert depickled_t2 == t2
def test_builtin_type__new__(self):
# Functions occasionally take the __new__ of these types as default
@@ -1197,6 +1221,123 @@
""".format(protocol=self.protocol)
assert_run_python_script(code)
+ def test_interactive_dynamic_type_and_remote_instances(self):
+ code = """if __name__ == "__main__":
+ from testutils import subprocess_worker
+
+ with subprocess_worker(protocol={protocol}) as w:
+
+ class CustomCounter:
+ def __init__(self):
+ self.count = 0
+ def increment(self):
+ self.count += 1
+ return self
+
+ counter = CustomCounter().increment()
+ assert counter.count == 1
+
+ returned_counter = w.run(counter.increment)
+ assert returned_counter.count == 2, returned_counter.count
+
+ # Check that the class definition of the returned instance was
+ # matched back to the original class definition living in __main__.
+
+ assert isinstance(returned_counter, CustomCounter)
+
+ # Check that memoization does not break provenance tracking:
+
+ def echo(*args):
+ return args
+
+ C1, C2, c1, c2 = w.run(echo, CustomCounter, CustomCounter,
+ CustomCounter(), returned_counter)
+ assert C1 is CustomCounter
+ assert C2 is CustomCounter
+ assert isinstance(c1, CustomCounter)
+ assert isinstance(c2, CustomCounter)
+
+ """.format(protocol=self.protocol)
+ assert_run_python_script(code)
+
+ def test_interactive_dynamic_type_and_stored_remote_instances(self):
+ """Simulate objects stored on workers to check isinstance semantics
+
+ Such instances stored in the memory of running worker processes are
+ similar to dask-distributed futures for instance.
+ """
+ code = """if __name__ == "__main__":
+ import cloudpickle, uuid
+ from testutils import subprocess_worker
+
+ with subprocess_worker(protocol={protocol}) as w:
+
+ class A:
+ '''Original class definition'''
+ pass
+
+ def store(x):
+ storage = getattr(cloudpickle, "_test_storage", None)
+ if storage is None:
+ storage = cloudpickle._test_storage = dict()
+ obj_id = uuid.uuid4().hex
+ storage[obj_id] = x
+ return obj_id
+
+ def lookup(obj_id):
+ return cloudpickle._test_storage[obj_id]
+
+ id1 = w.run(store, A())
+
+ # The stored object on the worker is matched to a singleton class
+ # definition thanks to provenance tracking:
+ assert w.run(lambda obj_id: isinstance(lookup(obj_id), A), id1)
+
+ # Retrieving the object from the worker yields a local copy that
+ # is matched back the local class definition this instance
+ # originally stems from.
+ assert isinstance(w.run(lookup, id1), A)
+
+ # Changing the local class definition should be taken into account
+ # in all subsequent calls. In particular the old instances on the
+ # worker do not map back to the new class definition, neither on
+ # the worker itself, nor locally on the main program when the old
+ # instance is retrieved:
+
+ class A:
+ '''Updated class definition'''
+ pass
+
+ assert not w.run(lambda obj_id: isinstance(lookup(obj_id), A), id1)
+ retrieved1 = w.run(lookup, id1)
+ assert not isinstance(retrieved1, A)
+ assert retrieved1.__class__ is not A
+ assert retrieved1.__class__.__doc__ == "Original class definition"
+
+ # New instances on the other hand are proper instances of the new
+ # class definition everywhere:
+
+ a = A()
+ id2 = w.run(store, a)
+ assert w.run(lambda obj_id: isinstance(lookup(obj_id), A), id2)
+ assert isinstance(w.run(lookup, id2), A)
+
+ # Monkeypatch the class defintion in the main process to a new
+ # class method:
+ A.echo = lambda cls, x: x
+
+ # Calling this method on an instance will automatically update
+ # the remote class definition on the worker to propagate the monkey
+ # patch dynamically.
+ assert w.run(a.echo, 42) == 42
+
+ # The stored instance can therefore also access the new class
+ # method:
+ assert w.run(lambda obj_id: lookup(obj_id).echo(43), id2) == 43
+
+ """.format(protocol=self.protocol)
+ assert_run_python_script(code)
+
@pytest.mark.skipif(platform.python_implementation() == 'PyPy',
reason="Skip PyPy because memory grows too much")
def test_interactive_remote_function_calls_no_memory_leak(self):
@@ -1226,9 +1367,10 @@
import gc
w.run(gc.collect)
- # By this time the worker process has processed worth of 100MB of
- # data passed in the closures its memory size should now have
- # grown by more than a few MB.
+ # By this time the worker process has processed 100MB worth of data
+ # passed in the closures. The worker memory size should not have
+ # grown by more than a few MB as closures are garbage collected at
+ # the end of each remote function call.
growth = w.memsize() - reference_size
assert growth < 1e7, growth
@@ -1368,6 +1510,88 @@
pickle_depickle(DataClass, protocol=self.protocol)
assert data.x == pickle_depickle(data, protocol=self.protocol).x == 42
+ def test_locally_defined_enum(self):
+ enum = pytest.importorskip("enum")
+
+ class StringEnum(str, enum.Enum):
+ """Enum when all members are also (and must be) strings"""
+
+ class Color(StringEnum):
+ """3-element color space"""
+ RED = "1"
+ GREEN = "2"
+ BLUE = "3"
+
+ def is_green(self):
+ return self is Color.GREEN
+
+ green1, green2, ClonedColor = pickle_depickle(
+ [Color.GREEN, Color.GREEN, Color], protocol=self.protocol)
+ assert green1 is green2
+ assert green1 is ClonedColor.GREEN
+ assert green1 is not ClonedColor.BLUE
+ assert isinstance(green1, str)
+ assert green1.is_green()
+
+ # cloudpickle systematically tracks provenance of class definitions
+ # and ensure reconciliation in case of round trips:
+ assert green1 is Color.GREEN
+ assert ClonedColor is Color
+
+ green3 = pickle_depickle(Color.GREEN, protocol=self.protocol)
+ assert green3 is Color.GREEN
+
+ def test_locally_defined_intenum(self):
+ enum = pytest.importorskip("enum")
+ # Try again with a IntEnum defined with the functional API
+ DynamicColor = enum.IntEnum("Color", {"RED": 1, "GREEN": 2, "BLUE": 3})
+
+ green1, green2, ClonedDynamicColor = pickle_depickle(
+ [DynamicColor.GREEN, DynamicColor.GREEN, DynamicColor],
+ protocol=self.protocol)
+
+ assert green1 is green2
+ assert green1 is ClonedDynamicColor.GREEN
+ assert green1 is not ClonedDynamicColor.BLUE
+ assert ClonedDynamicColor is DynamicColor
+
+ def test_interactively_defined_enum(self):
+ pytest.importorskip("enum")
+ code = """if __name__ == "__main__":
+ from enum import Enum
+ from testutils import subprocess_worker
+
+ with subprocess_worker(protocol={protocol}) as w:
+
+ class Color(Enum):
+ RED = 1
+ GREEN = 2
+
+ def check_positive(x):
+ return Color.GREEN if x >= 0 else Color.RED
+
+ result = w.run(check_positive, 1)
+
+ # Check that the returned enum instance is reconciled with the
+ # locally defined Color enum type definition:
+
+ assert result is Color.GREEN
+
+ # Check that changing the definition of the Enum class is taken
+ # into account on the worker for subsequent calls:
+
+ class Color(Enum):
+ RED = 1
+ BLUE = 2
+
+ def check_positive(x):
+ return Color.BLUE if x >= 0 else Color.RED
+
+ result = w.run(check_positive, 1)
+ assert result is Color.BLUE
+ """.format(protocol=self.protocol)
+ assert_run_python_script(code)
+
def test_relative_import_inside_function(self):
# Make sure relative imports inside round-tripped functions is not
# broken.This was a bug in cloudpickle versions <= 0.5.3 and was
@@ -1392,6 +1616,54 @@
cloned_func = pickle_depickle(func, protocol=self.protocol)
assert cloned_func() == "hello from a {}!".format(source)
+ @pytest.mark.skipif(sys.version_info[0] < 3,
+ reason="keyword only arguments were introduced in "
+ "python 3")
+ def test_interactively_defined_func_with_keyword_only_argument(self):
+ # fixes https://github.com/cloudpipe/cloudpickle/issues/263
+ # The source code of this test is bundled in a string and is ran from
+ # the __main__ module of a subprocess in order to avoid a SyntaxError
+ # in python2 when pytest imports this file, as the keyword-only syntax
+ # is python3-only.
+ code = """
+ from cloudpickle import loads, dumps
+
+ def f(a, *, b=1):
+ return a + b
+
+ depickled_f = loads(dumps(f, protocol={protocol}))
+
+ for func in (f, depickled_f):
+ assert func(2) == 3
+ assert func.__kwdefaults__ == {{'b': 1}}
+ """.format(protocol=self.protocol)
+ assert_run_python_script(textwrap.dedent(code))
+
+ @pytest.mark.skipif(not hasattr(types.CodeType, "co_posonlyargcount"),
+ reason="Requires positional-only argument syntax")
+ def test_interactively_defined_func_with_positional_only_argument(self):
+ # Fixes https://github.com/cloudpipe/cloudpickle/issues/266
+ # The source code of this test is bundled in a string and is ran from
+ # the __main__ module of a subprocess in order to avoid a SyntaxError
+ # in versions of python that do not support positional-only argument
+ # syntax.
+ code = """
+ import pytest
+ from cloudpickle import loads, dumps
+
+ def f(a, /, b=1):
+ return a + b
+
+ depickled_f = loads(dumps(f, protocol={protocol}))
+
+ for func in (f, depickled_f):
+ assert func(2) == 3
+ assert func.__code__.co_posonlyargcount == 1
+ with pytest.raises(TypeError):
+ func(a=2)
+
+ """.format(protocol=self.protocol)
+ assert_run_python_script(textwrap.dedent(code))
class Protocol2CloudPickleTest(CloudPickleTest):
1
0
Hello community,
here is the log from the commit of package insserv-compat for openSUSE:Factory checked in at 2019-05-25 13:17:48
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/insserv-compat (Old)
and /work/SRC/openSUSE:Factory/.insserv-compat.new.5148 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "insserv-compat"
Sat May 25 13:17:48 2019 rev:19 rq:704437 version:0.1
Changes:
--------
--- /work/SRC/openSUSE:Factory/insserv-compat/insserv-compat.changes 2019-04-23 14:41:33.421658217 +0200
+++ /work/SRC/openSUSE:Factory/.insserv-compat.new.5148/insserv-compat.changes 2019-05-25 13:17:49.504390324 +0200
@@ -1,0 +2,5 @@
+Thu May 9 15:19:24 UTC 2019 - Ludwig Nussel <lnussel(a)suse.com>
+
+- fix handling of ,start= parameters (bsc#1133306)
+
+-------------------------------------------------------------------
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ insserv.pl ++++++
--- /var/tmp/diff_new_pack.9LH1Ts/_old 2019-05-25 13:17:50.140390087 +0200
+++ /var/tmp/diff_new_pack.9LH1Ts/_new 2019-05-25 13:17:50.144390086 +0200
@@ -242,7 +242,9 @@
if (@ARGV) {
my $p = $ARGV[0] =~ /\// ? $ARGV[0] : "$init_d/$ARGV[0]";
- if (!-e $p) {
+ # need to strip off potential extra parameters
+ my $script = $1 if $p =~ /([^,]+)/;
+ if (!-e $script) {
warn "$p doesn't exist";
usage(1) if @ARGV;
cleanup();
1
0
Hello community,
here is the log from the commit of package python-ipy for openSUSE:Factory checked in at 2019-05-25 13:17:41
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-ipy (Old)
and /work/SRC/openSUSE:Factory/.python-ipy.new.5148 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-ipy"
Sat May 25 13:17:41 2019 rev:9 rq:704422 version:1.00
Changes:
--------
--- /work/SRC/openSUSE:Factory/python-ipy/python-ipy.changes 2018-11-26 10:30:27.601017171 +0100
+++ /work/SRC/openSUSE:Factory/.python-ipy.new.5148/python-ipy.changes 2019-05-25 13:17:42.760392831 +0200
@@ -1,0 +2,8 @@
+Tue May 21 10:06:13 UTC 2019 - pgajdos(a)suse.com
+
+- version update to 1.00
+ * Fix IPv6 string interpretation for small ints
+ * Various Python3 language fixes
+ * consider 127.0 range LOOPBACK not PRIVATE
+
+-------------------------------------------------------------------
Old:
----
IPy-0.83.tar.gz
New:
----
IPy-1.00.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ python-ipy.spec ++++++
--- /var/tmp/diff_new_pack.jIq7uG/_old 2019-05-25 13:17:44.160392311 +0200
+++ /var/tmp/diff_new_pack.jIq7uG/_new 2019-05-25 13:17:44.180392303 +0200
@@ -1,7 +1,7 @@
#
# spec file for package python-ipy
#
-# Copyright (c) 2018 SUSE LINUX GmbH, Nuernberg, Germany.
+# Copyright (c) 2019 SUSE LINUX GmbH, Nuernberg, Germany.
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@@ -12,13 +12,13 @@
# license that conforms to the Open Source Definition (Version 1.9)
# published by the Open Source Initiative.
-# Please submit bugfixes or comments via http://bugs.opensuse.org/
+# Please submit bugfixes or comments via https://bugs.opensuse.org/
#
%{?!python_module:%define python_module() python-%{**} python3-%{**}}
Name: python-ipy
-Version: 0.83
+Version: 1.00
Release: 0
Summary: Class and tools for handling of IPv4 and IPv6 addresses and networks
License: BSD-3-Clause
@@ -48,10 +48,14 @@
%install
%python_install
%python_expand %fdupes %{buildroot}%{$python_sitelib}
-#install COPYING %{buildroot}
%files %{python_files}
%{python_sitelib}/*
%license COPYING
+%check
+%python_exec test/test_IPy.py
+# one of 3000 subtest fails, probably https://github.com/autocracy/python-ipy/issues/27
+# %%python_exec test/test_fuzz.py
+
%changelog
++++++ IPy-0.83.tar.gz -> IPy-1.00.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/IPy-0.83/.gitignore new/IPy-1.00/.gitignore
--- old/IPy-0.83/.gitignore 2015-04-05 02:48:02.000000000 +0200
+++ new/IPy-1.00/.gitignore 1970-01-01 01:00:00.000000000 +0100
@@ -1,2 +0,0 @@
-*.pyc
-*.swp
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/IPy-0.83/COPYING new/IPy-1.00/COPYING
--- old/IPy-0.83/COPYING 2015-04-05 02:48:02.000000000 +0200
+++ new/IPy-1.00/COPYING 2018-02-01 09:32:18.000000000 +0100
@@ -1,3 +1,4 @@
+"BSD 3-clause" License
Copyright (c) 2006, INL
Copyright (c) 2001-2005, Maximillian Dornseif
All rights reserved.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/IPy-0.83/ChangeLog new/IPy-1.00/ChangeLog
--- old/IPy-0.83/ChangeLog 2015-04-05 02:48:02.000000000 +0200
+++ new/IPy-1.00/ChangeLog 2019-02-28 00:46:40.000000000 +0100
@@ -1,3 +1,8 @@
+Version 1.00 (2019-02-27)
+ * Fix IPv6 string interpretation for small ints
+ * Various Python3 language fixes
+ * consider 127.0 range LOOPBACK not PRIVATE
+
Version 0.83 (2015-04-04)
------------
* Add carrier grade NAT ranges
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/IPy-0.83/IPy.py new/IPy-1.00/IPy.py
--- old/IPy-0.83/IPy.py 2015-04-05 02:48:02.000000000 +0200
+++ new/IPy-1.00/IPy.py 2019-02-28 01:00:55.000000000 +0100
@@ -6,7 +6,7 @@
https://github.com/haypo/python-ipy
"""
-__version__ = '0.83'
+__version__ = '1.00'
import bisect
import collections
@@ -21,7 +21,7 @@
'00000000': 'PRIVATE', # 0/8
'00001010': 'PRIVATE', # 10/8
'0110010001': 'CARRIER_GRADE_NAT', #100.64/10
- '01111111': 'PRIVATE', # 127.0/8
+ '01111111': 'LOOPBACK', # 127.0/8
'1': 'PUBLIC', # fall back
'1010100111111110': 'PRIVATE', # 169.254/16
'101011000001': 'PRIVATE', # 172.16/12
@@ -243,7 +243,7 @@
else:
raise ValueError("can't parse")
- (self.ip, parsedVersion) = parseAddress(ip)
+ (self.ip, parsedVersion) = parseAddress(ip, ipversion)
if ipversion == 0:
ipversion = parsedVersion
if prefixlen == -1:
@@ -475,7 +475,7 @@
"""Return a description of the IP type ('PRIVATE', 'RESERVED', etc).
>>> print(IP('127.0.0.1').iptype())
- PRIVATE
+ LOOPBACK
>>> print(IP('192.168.1.1').iptype())
PRIVATE
>>> print(IP('195.185.1.2').iptype())
@@ -558,6 +558,8 @@
"""
return True
+ def __bool__(self):
+ return self.__nonzero__()
def __len__(self):
"""
@@ -769,6 +771,9 @@
def __lt__(self, other):
return self.__cmp__(other) < 0
+ def __le__(self, other):
+ return self.__cmp__(other) <= 0
+
def __hash__(self):
"""Called for the key object for dictionary operations, and by
the built-in function hash(). Should return a 32-bit integer
@@ -1336,7 +1341,7 @@
index += 1
return value
-def parseAddress(ipstr):
+def parseAddress(ipstr, ipversion=0):
"""
Parse a string and return the corresponding IP address (as integer)
and a guess of the IP version.
@@ -1405,7 +1410,7 @@
# assume IPv6 in pure hexadecimal notation
return (hexval, 6)
- elif ipstr.find('.') != -1 or (intval is not None and intval < 256):
+ elif ipstr.find('.') != -1 or (intval is not None and intval < 256 and ipversion != 6):
# assume IPv4 ('127' gets interpreted as '127.0.0.0')
bytes = ipstr.split('.')
if len(bytes) > 4:
@@ -1423,7 +1428,7 @@
# will be interpreted as IPv4 first byte
if intval > MAX_IPV6_ADDRESS:
raise ValueError("IP Address can't be larger than %x: %x" % (MAX_IPV6_ADDRESS, intval))
- if intval <= MAX_IPV4_ADDRESS:
+ if intval <= MAX_IPV4_ADDRESS and ipversion != 6:
return (intval, 4)
else:
return (intval, 6)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/IPy-0.83/MANIFEST.in new/IPy-1.00/MANIFEST.in
--- old/IPy-0.83/MANIFEST.in 2015-04-05 02:48:02.000000000 +0200
+++ new/IPy-1.00/MANIFEST.in 2018-02-01 09:32:18.000000000 +0100
@@ -1,4 +1,5 @@
include AUTHORS
+include README.rst
include ChangeLog
include COPYING
include MANIFEST.in
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/IPy-0.83/Makefile new/IPy-1.00/Makefile
--- old/IPy-0.83/Makefile 2015-04-05 02:48:02.000000000 +0200
+++ new/IPy-1.00/Makefile 1970-01-01 01:00:00.000000000 +0100
@@ -1,27 +0,0 @@
-.PHONY: tests egg install clean
-
-PYTHON=python
-
-tests:
- @echo "[ run unit tests in python 2 ]"
- PYTHONPATH=$(PWD) $(PYTHON)2.6 test/test_IPy.py || exit $$?
- @echo "[ run unit tests in python 3 ]"
- PYTHONPATH=$(PWD) $(PYTHON)3.4 test/test_IPy.py || exit $$?
- @echo
- @echo "[ test README in python 2 ]"
- $(PYTHON)2.6 test_doc.py || exit $$?
- @echo "[ test README in python 3 ]"
- $(PYTHON)3.4 test_doc.py || exit $$?
-
-egg: clean
- $(PYTHON) setup.py sdist bdist_egg
-
-IPy.html: README
- rst2html README $@ --stylesheet=rest.css
-
-install:
- ./setup.py install
-
-clean:
- rm -rf IPy.html *.pyc build dist IPy.egg-info
-
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/IPy-0.83/PKG-INFO new/IPy-1.00/PKG-INFO
--- old/IPy-0.83/PKG-INFO 1970-01-01 01:00:00.000000000 +0100
+++ new/IPy-1.00/PKG-INFO 2019-02-28 01:20:19.000000000 +0100
@@ -0,0 +1,367 @@
+Metadata-Version: 1.1
+Name: IPy
+Version: 1.00
+Summary: Class and tools for handling of IPv4 and IPv6 addresses and networks
+Home-page: https://github.com/autocracy/python-ipy
+Author: Jeff Ferland
+Author-email: jeff(a)storyinmemo.com
+License: BSD License
+Download-URL: https://github.com/autocracy/python-ipy
+Description: IPy - class and tools for handling of IPv4 and IPv6 addresses and networks.
+
+ Website: https://github.com/autocracy/python-ipy/
+
+ Presentation of the API
+ =======================
+
+ The IP class allows a comfortable parsing and handling for most
+ notations in use for IPv4 and IPv6 addresses and networks. It was
+ greatly inspired by RIPE's Perl module NET::IP's interface but
+ doesn't share the implementation. It doesn't share non-CIDR netmasks,
+ so funky stuff like a netmask of 0xffffff0f can't be done here. ::
+
+ >>> from IPy import IP
+ >>> ip = IP('127.0.0.0/30')
+ >>> for x in ip:
+ ... print(x)
+ ...
+ 127.0.0.0
+ 127.0.0.1
+ 127.0.0.2
+ 127.0.0.3
+ >>> ip2 = IP('0x7f000000/30')
+ >>> ip == ip2
+ 1
+ >>> ip.reverseNames()
+ ['0.0.0.127.in-addr.arpa.', '1.0.0.127.in-addr.arpa.', '2.0.0.127.in-addr.arpa.', '3.0.0.127.in-addr.arpa.']
+ >>> ip.reverseName()
+ '0-3.0.0.127.in-addr.arpa.'
+ >>> ip.iptype()
+ 'LOOPBACK'
+
+
+ Supports most IP address formats
+ ================================
+
+ It can detect about a dozen different ways of expressing IP addresses
+ and networks, parse them and distinguish between IPv4 and IPv6 addresses: ::
+
+ >>> IP('10.0.0.0/8').version()
+ 4
+ >>> IP('::1').version()
+ 6
+
+ IPv4 addresses
+ --------------
+
+ ::
+
+ >>> print(IP(0x7f000001))
+ 127.0.0.1
+ >>> print(IP('0x7f000001'))
+ 127.0.0.1
+ >>> print(IP('127.0.0.1'))
+ 127.0.0.1
+ >>> print(IP('10'))
+ 10.0.0.0
+
+ IPv6 addresses
+ --------------
+
+ ::
+
+ >>> print(IP('1080:0:0:0:8:800:200C:417A'))
+ 1080::8:800:200c:417a
+ >>> print(IP('1080::8:800:200C:417A'))
+ 1080::8:800:200c:417a
+ >>> print(IP('::1'))
+ ::1
+ >>> print(IP('::13.1.68.3'))
+ ::d01:4403
+
+ Network mask and prefixes
+ -------------------------
+
+ ::
+
+ >>> print(IP('127.0.0.0/8'))
+ 127.0.0.0/8
+ >>> print(IP('127.0.0.0/255.0.0.0'))
+ 127.0.0.0/8
+ >>> print(IP('127.0.0.0-127.255.255.255'))
+ 127.0.0.0/8
+
+
+ Derive network address
+ ===========================
+
+ IPy can transform an IP address into a network address by applying the given
+ netmask: ::
+
+ >>> print(IP('127.0.0.1/255.0.0.0', make_net=True))
+ 127.0.0.0/8
+
+ This can also be done for existing IP instances: ::
+
+ >>> print(IP('127.0.0.1').make_net('255.0.0.0'))
+ 127.0.0.0/8
+
+
+ Convert address to string
+ =========================
+
+ Nearly all class methods which return a string have an optional
+ parameter 'wantprefixlen' which controls if the prefixlen or netmask
+ is printed. Per default the prefilen is always shown if the network
+ contains more than one address: ::
+
+ wantprefixlen == 0 / None don't return anything 1.2.3.0
+ wantprefixlen == 1 /prefix 1.2.3.0/24
+ wantprefixlen == 2 /netmask 1.2.3.0/255.255.255.0
+ wantprefixlen == 3 -lastip 1.2.3.0-1.2.3.255
+
+ You can also change the defaults on an per-object basis by fiddling with
+ the class members:
+
+ - NoPrefixForSingleIp
+ - WantPrefixLen
+
+ Examples of string conversions: ::
+
+ >>> IP('10.0.0.0/32').strNormal()
+ '10.0.0.0'
+ >>> IP('10.0.0.0/24').strNormal()
+ '10.0.0.0/24'
+ >>> IP('10.0.0.0/24').strNormal(0)
+ '10.0.0.0'
+ >>> IP('10.0.0.0/24').strNormal(1)
+ '10.0.0.0/24'
+ >>> IP('10.0.0.0/24').strNormal(2)
+ '10.0.0.0/255.255.255.0'
+ >>> IP('10.0.0.0/24').strNormal(3)
+ '10.0.0.0-10.0.0.255'
+ >>> ip = IP('10.0.0.0')
+ >>> print(ip)
+ 10.0.0.0
+ >>> ip.NoPrefixForSingleIp = None
+ >>> print(ip)
+ 10.0.0.0/32
+ >>> ip.WantPrefixLen = 3
+ >>> print(ip)
+ 10.0.0.0-10.0.0.0
+
+ Work with multiple networks
+ ===========================
+
+ Simple addition of neighboring netblocks that can be aggregated will yield
+ a parent network of both, but more complex range mapping and aggregation
+ requires is available with the ``IPSet`` class which will hold any number of
+ unique address ranges and will aggregate overlapping ranges. ::
+
+ >>> from IPy import IP, IPSet
+ >>> IP('10.0.0.0/22') - IP('10.0.2.0/24')
+ IPSet([IP('10.0.0.0/23'), IP('10.0.3.0/24')])
+ >>> IPSet([IP('10.0.0.0/23'), IP('10.0.3.0/24'), IP('10.0.2.0/24')])
+ IPSet([IP('10.0.0.0/22')])
+ >>> s = IPSet([IP('10.0.0.0/22')])
+ >>> s.add(IP('192.168.1.0/29'))
+ >>> s
+ IPSet([IP('10.0.0.0/22'), IP('192.168.1.0/29')])
+ >>> s.discard(IP('192.168.1.2'))
+ >>> s
+ IPSet([IP('10.0.0.0/22'), IP('192.168.1.0/31'), IP('192.168.1.3'), IP('192.168.1.4/30')])
+
+ ``IPSet`` supports the ``set`` method ``isdisjoint``: ::
+
+ >>> s.isdisjoint(IPSet([IP('192.168.0.0/16')]))
+ False
+ >>> s.isdisjoint(IPSet([IP('172.16.0.0/12')]))
+ True
+
+ ``IPSet`` supports intersection: ::
+
+ >>> s & IPSet([IP('10.0.0.0/8')])
+ IPSet([IP('10.0.0.0/22')])
+
+ Compatibility and links
+ =======================
+
+ IPy 1.00 works on Python version 2.6 - 3.7.
+
+ The IP module should work in Python 2.5 as long as the subtraction operation
+ is not used. IPSet requires features of the collecitons class which appear
+ in Python 2.6, though they can be backported.
+
+ Eratta
+ ======
+
+ When using IPv6 addresses, it is best to compare using ``IP().len()``
+ instead of ``len(IP)``. Addresses with an integer value > 64 bits can break
+ the 2nd method. See http://stackoverflow.com/questions/15650878 for more
+ info.
+
+ Fuzz testing for ``IPSet`` will throw spurious errors when the ``IPSet`` module
+ combines two smaller prefixes into a larger prefix that matches the random
+ prefix tested against.
+
+ This Python module is under BSD license: see COPYING file.
+
+ Further Information might be available at:
+ https://github.com/autocracy/python-ipy
+
+ What's new
+ ==========
+
+ Version 1.00 (2019-02-27)
+ * Fix IPv6 string interpretation for small ints
+ * Various Python3 language fixes
+ * consider 127.0 range LOOPBACK not PRIVATE
+
+ Version 0.83 (2015-04-04)
+ ------------
+ * Add carrier grade NAT ranges
+ * Unbreak lots of packing systems by not having a letter in the release version
+
+ Version 0.82a (2014-10-07)
+ ------------
+ * Fix version numbers in files
+ * Correct x.next() -> next(x) python3 compatability
+
+ Version 0.82 (2014-10-06)
+ ------------
+
+ * Add support for array slices
+ * Add __and__ and isdisjoint for IPSet
+ * Fix a bug in IPSet where contains may incorrectly return false
+ * Added some fuzz testing
+
+ Version 0.81 (2013-04-08)
+ ------------
+
+ * Correct reverseName() for IPv6 addresses, so IP('::1').reverseName() returns correct.
+ * Add network mask awareness to v46map()
+ * Fix Python 3 errors in IPSet class
+ * Make IPSet base class be object when MutableSet isn't available, fixing
+ errors in Python 2.5
+
+ Version 0.80 (2013-03-26)
+ ------------
+
+ * Drop support of Python older than 2.4
+ * Python 3 does not need 2to3 conversion anymore (same code base)
+ * Fix adding of non-adjacent networks:
+ 192.168.0.0/24 + 192.168.255.0/24 made 192.168.0.0/23
+ * Fix adding networks that don't create a valid subnet:
+ 192.168.1.0/24 + 192.168.2.0/24 made 192.168.1.0/23
+ * Fix adding with an IPv6 address where .int() was < 32 bits made IPy believe it
+ was an IPv4 address:
+ ::ffff:0/112 + ::1:0:0/112 made 255.255.0.0/111
+ * Add support of IPSets
+ * Add support for subtracting a network range
+ * Prevent IPv4 and IPv6 ranges from saying they contain each other
+ * Add a .v46map() method to convert mapped address ranges
+ such as IP('::ffff:192.168.1.1'); RFC 4291
+ * Change sort order to more natural:
+ IPv4 before IPv6; less-specific prefixes first (/0 before /32)
+
+
+ Version 0.76 (2013-03-19)
+ -------------------------
+
+ * ip == other and ip != other doesn't fail with an exception anymore if other
+ is not a IP object
+ * Add IP.get_mac() method: get the 802.3 MAC address from IPv6 RFC 2464
+ address.
+ * Fix IP('::/0')[0]: return an IPv6 instead of an IPv4 address
+
+ Version 0.75 (2011-04-12)
+ -------------------------
+
+ * IP('::/0').netmask() gives IP('::') instead of IP('0.0.0.0')
+
+ Version 0.74 (2011-02-16)
+ -------------------------
+
+ * Fix tests for Python 3.1 and 3.2
+ * ip.__nonzero__() and (ipa in ipb) return a bool instead of 0 or 1
+ * IP('0.0.0.0/0') + IP('0.0.0.0/0') raises an error, fix written by Arfrever
+
+ Version 0.73 (2011-02-15)
+ -------------------------
+
+ * Support Python 3: setup.py runs 2to3
+ * Update the ranges for IPv6 IPs
+ * Fix reverseName() and reverseNames() for IPv4 in IPv6 addresses
+ * Drop support of Python < 2.5
+
+ Version 0.72 (2010-11-23)
+ -------------------------
+
+ * Include examples and MANIFEST.in in source build (add them to
+ MANIFEST.in)
+ * Remove __rcsid__ constant from IPy module
+
+ Version 0.71 (2010-10-01)
+ -------------------------
+
+ * Use xrange() instead of range()
+ * Use isinstance(x, int) instead of type(x) == types.IntType
+ * Prepare support of Python3 (use integer division: x // y)
+ * Fix IP(long) constructor: ensure that the address is not too large
+ * Constructor raise a TypeError if the type is not int, long,
+ str or unicode
+ * 223.0.0.0/8 is now public (belongs to APNIC)
+
+ Version 0.70 (2009-10-29)
+ -------------------------
+
+ * New "major" version because it may break compatibility
+ * Fix __cmp__(): IP('0.0.0.0/0') and IP('0.0.0.0') are not equal
+ * Fix IP.net() of the network "::/0": "::" instead of "0.0.0.0".
+ IPy 0.63 should fix this bug, but it wasn't.
+
+ Version 0.64 (2009-08-19)
+ -------------------------
+
+ * Create MANIFEST.in to fix setup.py bdist_rpm, fix by Robert Nickel
+
+ Version 0.63 (2009-06-23)
+ -------------------------
+
+ * Fix formatting of "IPv4 in IPv6" network, eg. IP('::ffff:192.168.10.0/120'),
+ the netmask ("/120" in the example) was missing!
+
+ Version 0.62 (2008-07-15)
+ -------------------------
+
+ * Fix reverse DNS of IPv6 address: use ".ip6.arpa." suffix instead of
+ deprecated ".ip6.int." suffix
+
+ Version 0.61 (2008-06-12)
+ -------------------------
+
+ * Patch from Aras Vaichas allowing the [-1] operator
+ to work with an IP object of size 1.
+
+ Version 0.60 (2008-05-16)
+ -------------------------
+
+ * strCompressed() formats '::ffff:a.b.c.d' correctly
+ * Use strCompressed() instead of strFullsize() to format IP addresses,
+ ouput is smarter with IPv6 address
+ * Remove check_addr_prefixlen because it generates invalid IP address
+Keywords: ipv4 ipv6 netmask
+Platform: UNKNOWN
+Classifier: Development Status :: 5 - Production/Stable
+Classifier: Intended Audience :: Developers
+Classifier: Intended Audience :: System Administrators
+Classifier: Environment :: Plugins
+Classifier: Topic :: Software Development :: Libraries :: Python Modules
+Classifier: Topic :: Communications
+Classifier: Topic :: Internet
+Classifier: Topic :: System :: Networking
+Classifier: License :: OSI Approved :: BSD License
+Classifier: Operating System :: OS Independent
+Classifier: Natural Language :: English
+Classifier: Programming Language :: Python
+Classifier: Programming Language :: Python :: 3
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/IPy-0.83/README new/IPy-1.00/README
--- old/IPy-0.83/README 2015-04-05 02:48:02.000000000 +0200
+++ new/IPy-1.00/README 1970-01-01 01:00:00.000000000 +0100
@@ -1,192 +0,0 @@
-IPy - class and tools for handling of IPv4 and IPv6 addresses and networks.
-
-Website: https://github.com/autocracy/python-ipy/
-
-Presentation of the API
-=======================
-
-The IP class allows a comfortable parsing and handling for most
-notations in use for IPv4 and IPv6 addresses and networks. It was
-greatly inspired by RIPE's Perl module NET::IP's interface but
-doesn't share the implementation. It doesn't share non-CIDR netmasks,
-so funky stuff like a netmask of 0xffffff0f can't be done here.
-
- >>> from IPy import IP
- >>> ip = IP('127.0.0.0/30')
- >>> for x in ip:
- ... print(x)
- ...
- 127.0.0.0
- 127.0.0.1
- 127.0.0.2
- 127.0.0.3
- >>> ip2 = IP('0x7f000000/30')
- >>> ip == ip2
- 1
- >>> ip.reverseNames()
- ['0.0.0.127.in-addr.arpa.', '1.0.0.127.in-addr.arpa.', '2.0.0.127.in-addr.arpa.', '3.0.0.127.in-addr.arpa.']
- >>> ip.reverseName()
- '0-3.0.0.127.in-addr.arpa.'
- >>> ip.iptype()
- 'PRIVATE'
-
-
-Supports most IP address formats
-================================
-
-It can detect about a dozen different ways of expressing IP addresses
-and networks, parse them and distinguish between IPv4 and IPv6 addresses:
-
- >>> IP('10.0.0.0/8').version()
- 4
- >>> IP('::1').version()
- 6
-
-IPv4 addresses
---------------
-
- >>> print(IP(0x7f000001))
- 127.0.0.1
- >>> print(IP('0x7f000001'))
- 127.0.0.1
- >>> print(IP('127.0.0.1'))
- 127.0.0.1
- >>> print(IP('10'))
- 10.0.0.0
-
-IPv6 addresses
---------------
-
- >>> print(IP('1080:0:0:0:8:800:200C:417A'))
- 1080::8:800:200c:417a
- >>> print(IP('1080::8:800:200C:417A'))
- 1080::8:800:200c:417a
- >>> print(IP('::1'))
- ::1
- >>> print(IP('::13.1.68.3'))
- ::d01:4403
-
-Network mask and prefixes
--------------------------
-
- >>> print(IP('127.0.0.0/8'))
- 127.0.0.0/8
- >>> print(IP('127.0.0.0/255.0.0.0'))
- 127.0.0.0/8
- >>> print(IP('127.0.0.0-127.255.255.255'))
- 127.0.0.0/8
-
-
-Derive network address
-===========================
-
-IPy can transform an IP address into a network address by applying the given
-netmask:
->>> print(IP('127.0.0.1/255.0.0.0', make_net=True))
-127.0.0.0/8
-
-This can also be done for existing IP instances:
->>> print(IP('127.0.0.1').make_net('255.0.0.0'))
-127.0.0.0/8
-
-
-Convert address to string
-=========================
-
-Nearly all class methods which return a string have an optional
-parameter 'wantprefixlen' which controls if the prefixlen or netmask
-is printed. Per default the prefilen is always shown if the network
-contains more than one address::
-
- wantprefixlen == 0 / None don't return anything 1.2.3.0
- wantprefixlen == 1 /prefix 1.2.3.0/24
- wantprefixlen == 2 /netmask 1.2.3.0/255.255.255.0
- wantprefixlen == 3 -lastip 1.2.3.0-1.2.3.255
-
-You can also change the defaults on an per-object basis by fiddling with
-the class members:
-
- * NoPrefixForSingleIp
- * WantPrefixLen
-
-Examples of string conversions:
-
- >>> IP('10.0.0.0/32').strNormal()
- '10.0.0.0'
- >>> IP('10.0.0.0/24').strNormal()
- '10.0.0.0/24'
- >>> IP('10.0.0.0/24').strNormal(0)
- '10.0.0.0'
- >>> IP('10.0.0.0/24').strNormal(1)
- '10.0.0.0/24'
- >>> IP('10.0.0.0/24').strNormal(2)
- '10.0.0.0/255.255.255.0'
- >>> IP('10.0.0.0/24').strNormal(3)
- '10.0.0.0-10.0.0.255'
- >>> ip = IP('10.0.0.0')
- >>> print(ip)
- 10.0.0.0
- >>> ip.NoPrefixForSingleIp = None
- >>> print(ip)
- 10.0.0.0/32
- >>> ip.WantPrefixLen = 3
- >>> print(ip)
- 10.0.0.0-10.0.0.0
-
-Work with multiple networks
-===========================
-
-Simple addition of neighboring netblocks that can be aggregated will yield
-a parent network of both, but more complex range mapping and aggregation
-requires is available with the IPSet class which will hold any number of
-unique address ranges and will aggregate overlapping ranges.
-
- >>> from IPy import IP, IPSet
- >>> IP('10.0.0.0/22') - IP('10.0.2.0/24')
- IPSet([IP('10.0.0.0/23'), IP('10.0.3.0/24')])
- >>> IPSet([IP('10.0.0.0/23'), IP('10.0.3.0/24'), IP('10.0.2.0/24')])
- IPSet([IP('10.0.0.0/22')])
- >>> s = IPSet([IP('10.0.0.0/22')])
- >>> s.add(IP('192.168.1.0/29'))
- >>> s
- IPSet([IP('10.0.0.0/22'), IP('192.168.1.0/29')])
- >>> s.discard(IP('192.168.1.2'))
- >>> s
- IPSet([IP('10.0.0.0/22'), IP('192.168.1.0/31'), IP('192.168.1.3'), IP('192.168.1.4/30')])
-
-IPSet supports the `set` method `isdisjoint`:
-
- >>> s.isdisjoint(IPSet([IP('192.168.0.0/16')]))
- False
- >>> s.isdisjoint(IPSet([IP('172.16.0.0/12')]))
- True
-
-IPSet supports intersection:
-
- >>> s & IPSet([IP('10.0.0.0/8')])
- IPSet([IP('10.0.0.0/22')])
-
-Compatibility and links
-=======================
-
-IPy 0.83 works on Python version 2.6 - 3.4.
-
-The IP module should work in Python 2.5 as long as the subtraction operation
-is not used. IPSet requires features of the collecitons class which appear
-in Python 2.6, though they can be backported.
-
-Eratta
-======
-
-When using IPv6 addresses, it is best to compare using IP().len() instead of
-len(IP). Addresses with an integer value > 64 bits can break the 2nd method.
-See http://stackoverflow.com/questions/15650878 for more info.
-
-Fuzz testing for IPSet will throw spurious errors when the IPSet module
-combines two smaller prefixes into a larger prefix that matches the random
-prefix tested against.
-
-This Python module is under BSD license: see COPYING file.
-
-Further Information might be available at:
-https://github.com/autocracy/python-ipy
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/IPy-0.83/README.rst new/IPy-1.00/README.rst
--- old/IPy-0.83/README.rst 1970-01-01 01:00:00.000000000 +0100
+++ new/IPy-1.00/README.rst 2019-02-28 00:55:17.000000000 +0100
@@ -0,0 +1,201 @@
+IPy - class and tools for handling of IPv4 and IPv6 addresses and networks.
+
+Website: https://github.com/autocracy/python-ipy/
+
+Presentation of the API
+=======================
+
+The IP class allows a comfortable parsing and handling for most
+notations in use for IPv4 and IPv6 addresses and networks. It was
+greatly inspired by RIPE's Perl module NET::IP's interface but
+doesn't share the implementation. It doesn't share non-CIDR netmasks,
+so funky stuff like a netmask of 0xffffff0f can't be done here. ::
+
+ >>> from IPy import IP
+ >>> ip = IP('127.0.0.0/30')
+ >>> for x in ip:
+ ... print(x)
+ ...
+ 127.0.0.0
+ 127.0.0.1
+ 127.0.0.2
+ 127.0.0.3
+ >>> ip2 = IP('0x7f000000/30')
+ >>> ip == ip2
+ 1
+ >>> ip.reverseNames()
+ ['0.0.0.127.in-addr.arpa.', '1.0.0.127.in-addr.arpa.', '2.0.0.127.in-addr.arpa.', '3.0.0.127.in-addr.arpa.']
+ >>> ip.reverseName()
+ '0-3.0.0.127.in-addr.arpa.'
+ >>> ip.iptype()
+ 'LOOPBACK'
+
+
+Supports most IP address formats
+================================
+
+It can detect about a dozen different ways of expressing IP addresses
+and networks, parse them and distinguish between IPv4 and IPv6 addresses: ::
+
+ >>> IP('10.0.0.0/8').version()
+ 4
+ >>> IP('::1').version()
+ 6
+
+IPv4 addresses
+--------------
+
+::
+
+ >>> print(IP(0x7f000001))
+ 127.0.0.1
+ >>> print(IP('0x7f000001'))
+ 127.0.0.1
+ >>> print(IP('127.0.0.1'))
+ 127.0.0.1
+ >>> print(IP('10'))
+ 10.0.0.0
+
+IPv6 addresses
+--------------
+
+::
+
+ >>> print(IP('1080:0:0:0:8:800:200C:417A'))
+ 1080::8:800:200c:417a
+ >>> print(IP('1080::8:800:200C:417A'))
+ 1080::8:800:200c:417a
+ >>> print(IP('::1'))
+ ::1
+ >>> print(IP('::13.1.68.3'))
+ ::d01:4403
+
+Network mask and prefixes
+-------------------------
+
+::
+
+ >>> print(IP('127.0.0.0/8'))
+ 127.0.0.0/8
+ >>> print(IP('127.0.0.0/255.0.0.0'))
+ 127.0.0.0/8
+ >>> print(IP('127.0.0.0-127.255.255.255'))
+ 127.0.0.0/8
+
+
+Derive network address
+===========================
+
+IPy can transform an IP address into a network address by applying the given
+netmask: ::
+
+ >>> print(IP('127.0.0.1/255.0.0.0', make_net=True))
+ 127.0.0.0/8
+
+This can also be done for existing IP instances: ::
+
+ >>> print(IP('127.0.0.1').make_net('255.0.0.0'))
+ 127.0.0.0/8
+
+
+Convert address to string
+=========================
+
+Nearly all class methods which return a string have an optional
+parameter 'wantprefixlen' which controls if the prefixlen or netmask
+is printed. Per default the prefilen is always shown if the network
+contains more than one address: ::
+
+ wantprefixlen == 0 / None don't return anything 1.2.3.0
+ wantprefixlen == 1 /prefix 1.2.3.0/24
+ wantprefixlen == 2 /netmask 1.2.3.0/255.255.255.0
+ wantprefixlen == 3 -lastip 1.2.3.0-1.2.3.255
+
+You can also change the defaults on an per-object basis by fiddling with
+the class members:
+
+- NoPrefixForSingleIp
+- WantPrefixLen
+
+Examples of string conversions: ::
+
+ >>> IP('10.0.0.0/32').strNormal()
+ '10.0.0.0'
+ >>> IP('10.0.0.0/24').strNormal()
+ '10.0.0.0/24'
+ >>> IP('10.0.0.0/24').strNormal(0)
+ '10.0.0.0'
+ >>> IP('10.0.0.0/24').strNormal(1)
+ '10.0.0.0/24'
+ >>> IP('10.0.0.0/24').strNormal(2)
+ '10.0.0.0/255.255.255.0'
+ >>> IP('10.0.0.0/24').strNormal(3)
+ '10.0.0.0-10.0.0.255'
+ >>> ip = IP('10.0.0.0')
+ >>> print(ip)
+ 10.0.0.0
+ >>> ip.NoPrefixForSingleIp = None
+ >>> print(ip)
+ 10.0.0.0/32
+ >>> ip.WantPrefixLen = 3
+ >>> print(ip)
+ 10.0.0.0-10.0.0.0
+
+Work with multiple networks
+===========================
+
+Simple addition of neighboring netblocks that can be aggregated will yield
+a parent network of both, but more complex range mapping and aggregation
+requires is available with the ``IPSet`` class which will hold any number of
+unique address ranges and will aggregate overlapping ranges. ::
+
+ >>> from IPy import IP, IPSet
+ >>> IP('10.0.0.0/22') - IP('10.0.2.0/24')
+ IPSet([IP('10.0.0.0/23'), IP('10.0.3.0/24')])
+ >>> IPSet([IP('10.0.0.0/23'), IP('10.0.3.0/24'), IP('10.0.2.0/24')])
+ IPSet([IP('10.0.0.0/22')])
+ >>> s = IPSet([IP('10.0.0.0/22')])
+ >>> s.add(IP('192.168.1.0/29'))
+ >>> s
+ IPSet([IP('10.0.0.0/22'), IP('192.168.1.0/29')])
+ >>> s.discard(IP('192.168.1.2'))
+ >>> s
+ IPSet([IP('10.0.0.0/22'), IP('192.168.1.0/31'), IP('192.168.1.3'), IP('192.168.1.4/30')])
+
+``IPSet`` supports the ``set`` method ``isdisjoint``: ::
+
+ >>> s.isdisjoint(IPSet([IP('192.168.0.0/16')]))
+ False
+ >>> s.isdisjoint(IPSet([IP('172.16.0.0/12')]))
+ True
+
+``IPSet`` supports intersection: ::
+
+ >>> s & IPSet([IP('10.0.0.0/8')])
+ IPSet([IP('10.0.0.0/22')])
+
+Compatibility and links
+=======================
+
+IPy 1.00 works on Python version 2.6 - 3.7.
+
+The IP module should work in Python 2.5 as long as the subtraction operation
+is not used. IPSet requires features of the collecitons class which appear
+in Python 2.6, though they can be backported.
+
+Eratta
+======
+
+When using IPv6 addresses, it is best to compare using ``IP().len()``
+instead of ``len(IP)``. Addresses with an integer value > 64 bits can break
+the 2nd method. See http://stackoverflow.com/questions/15650878 for more
+info.
+
+Fuzz testing for ``IPSet`` will throw spurious errors when the ``IPSet`` module
+combines two smaller prefixes into a larger prefix that matches the random
+prefix tested against.
+
+This Python module is under BSD license: see COPYING file.
+
+Further Information might be available at:
+https://github.com/autocracy/python-ipy
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/IPy-0.83/setup.py new/IPy-1.00/setup.py
--- old/IPy-0.83/setup.py 2015-04-05 02:48:02.000000000 +0200
+++ new/IPy-1.00/setup.py 2019-02-28 01:20:06.000000000 +0100
@@ -4,15 +4,14 @@
#
# - set version in IPy.py
# - set version in setup.py
+# - set version in README.rst
# - run unit test: make
-# - run unit test: make PYTHON=python3
# - set release date in ChangeLog
# - git commit -a
# - git tag -a IPy-x.y -m "tag IPy x.y"
# - git push
# - git push --tags
# - python setup.py register sdist upload
-# - update the website
#
# After the release:
# - set version to n+1 (IPy.py and setup.py)
@@ -24,11 +23,11 @@
import sys
from distutils.core import setup
-VERSION = '0.83'
+VERSION = '1.00'
options = {}
-with open('README') as fp:
+with open('README.rst') as fp:
README = fp.read().strip() + "\n\n"
ChangeLog = (
@@ -63,7 +62,7 @@
long_description=LONG_DESCRIPTION,
author="Maximillian Dornseif",
maintainer="Jeff Ferland",
- maintainer_email="jeff AT storyinmemo.com",
+ maintainer_email="jeff(a)storyinmemo.com",
license="BSD License",
keywords="ipv4 ipv6 netmask",
url=URL,
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/IPy-0.83/test/test.rst new/IPy-1.00/test/test.rst
--- old/IPy-0.83/test/test.rst 2015-04-05 02:48:02.000000000 +0200
+++ new/IPy-1.00/test/test.rst 2019-02-28 00:45:37.000000000 +0100
@@ -29,8 +29,8 @@
>>> d={}
>>> d[IP('0.0.0.0/0')] = 1
>>> d[IP('::/0')] = 2
->>> d
-{IP('::/0'): 2, IP('0.0.0.0/0'): 1}
+>>> sorted(d.items())
+[(IP('0.0.0.0/0'), 1), (IP('::/0'), 2)]
>>> addresses = [IP('0.0.0.0/16'), IP('::7'), IP('::3'), IP('::0'),
... IP('0.0.0.0'), IP('0.0.0.3'), IP('0.0.0.0/0'), IP('::/0')]
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/IPy-0.83/test/test_IPy.py new/IPy-1.00/test/test_IPy.py
--- old/IPy-0.83/test/test_IPy.py 2015-04-05 02:48:02.000000000 +0200
+++ new/IPy-1.00/test/test_IPy.py 2019-02-28 00:46:37.000000000 +0100
@@ -210,7 +210,7 @@
self.assertEqual(IPy._count1Bits(0xffffffff), 32)
self.assertEqual(IPy._count1Bits(0xffffffffffffffffffffffffffffffff), 128)
- def testCount1Bits(self):
+ def testCount0Bits(self):
self.assertEqual(IPy._count0Bits(0), 0)
self.assertEqual(IPy._count0Bits(0xf0), 4)
self.assertEqual(IPy._count0Bits(0xf00), 8)
@@ -612,7 +612,7 @@
self.assertEqual(str(IPy.IP("0.0.0.0/0").netmask()), "0.0.0.0")
self.assertEqual(str(IPy.IP("0.0.0.0/32").netmask()), "255.255.255.255")
self.assertEqual(str(IPy.IP("127.0.0.0/24").netmask()), "255.255.255.0")
- self.assertEqual(str(IPy.IP("2001:1234:5678:1234::/64").netmask()), "ffff:ffff:ffff:ffff:0000:0000:0000:0000")
+ self.assertEqual(str(IPy.IP("2001:1234:5678:1234::/64").netmask()), "ffff:ffff:ffff:ffff::")
def testInt(self):
"""Prefixlen"""
@@ -661,19 +661,6 @@
result = IPy.IP(a).overlaps(b)
self.assertEqual(answer, result, (a, b, result, answer))
- def testNetmask(self):
- """Normal string Output."""
- testValues = [(338770000845734292534325025077361652240, '0xfedcba9876543210fedcba9876543210'),
- (21932261930451111902915077091070067066, '0x108000000000000000080800200c417a'),
- (338958331222012082418099330867817087043, '0xff010000000000000000000000000043'),
- (0, '0x0'),
- (1, '0x1'),
- (4294967295, '0xffffffff'),
- (3588059479, '0xd5dd7157')]
- for (question, answer) in testValues:
- result = IPy.IP(question).strHex(question).lower()
- self.assertEqual(answer, result, (question, result, answer))
-
def testV46map(self):
four = IPy.IP('192.168.1.1')
six = IPy.IP('::ffff:192.168.1.1')
@@ -904,6 +891,9 @@
self.assertEqual(len(IPy.IP('192.168.0.0/24')), 256)
self.assertRaises(ValueError, IPy.IP, '192.168.1.0/42')
+ def testConsistentIP6StrInt(self):
+ self.assertEqual(IPy.IP('11', ipversion=6), IPy.IP(11, ipversion=6))
+
class TestConstrutor(unittest.TestCase):
def testCheckAddrPrefixlenOff(self):
self.assertRaises(ValueError, IPy.IP, 0xffffffff + 1, ipversion=4)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/IPy-0.83/test_doc.py new/IPy-1.00/test_doc.py
--- old/IPy-0.83/test_doc.py 2015-04-05 02:48:02.000000000 +0200
+++ new/IPy-1.00/test_doc.py 2018-02-01 09:32:18.000000000 +0100
@@ -5,7 +5,7 @@
total_failures, total_tests = (0, 0)
print("=== Test file: README ===")
- failure, tests = doctest.testfile('README', optionflags=doctest.ELLIPSIS)
+ failure, tests = doctest.testfile('README.rst', optionflags=doctest.ELLIPSIS)
total_failures += failure
total_tests += tests
1
0
Hello community,
here is the log from the commit of package scons for openSUSE:Factory checked in at 2019-05-25 13:17:32
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/scons (Old)
and /work/SRC/openSUSE:Factory/.scons.new.5148 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "scons"
Sat May 25 13:17:32 2019 rev:41 rq:704409 version:3.0.5
Changes:
--------
--- /work/SRC/openSUSE:Factory/scons/scons.changes 2019-04-01 12:32:49.829789878 +0200
+++ /work/SRC/openSUSE:Factory/.scons.new.5148/scons.changes 2019-05-25 13:17:34.808395788 +0200
@@ -1,0 +2,17 @@
+Tue May 21 10:07:35 UTC 2019 - Tomáš Chvátal <tchvatal(a)suse.com>
+
+- Disable bit more msvc tests as we don't care about the fails
+
+-------------------------------------------------------------------
+Sat May 18 01:12:28 UTC 2019 - Andreas Stieger <andreas.stieger(a)gmx.de>
+
+- scons 3.0.5:
+ * Fixes related to --config=force
+ * Change the default for AppendENVPath to delete_existing=0, so
+ path order will not be changed, unless explicitly set
+ * Add the textfile tool to the default tool list
+ * Fix regex patterns that were not specified as raw strings
+ * Do not store build host+user name if reproducible builds are
+ wanted
+
+-------------------------------------------------------------------
Old:
----
3.0.4.tar.gz
scons-user.html-3.0.4.tar.bz2
New:
----
3.0.5.tar.gz
scons-user.html-3.0.5.tar.bz2
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ scons.spec ++++++
--- /var/tmp/diff_new_pack.UTuuug/_old 2019-05-25 13:17:36.912395006 +0200
+++ /var/tmp/diff_new_pack.UTuuug/_new 2019-05-25 13:17:36.940394995 +0200
@@ -26,7 +26,7 @@
%bcond_with test
%endif
Name: scons%{psuffix}
-Version: 3.0.4
+Version: 3.0.5
Release: 0
Summary: Replacement for Make
License: MIT
@@ -84,8 +84,15 @@
cp %{SOURCE2} grep-filter-list.txt
chmod -x src/CHANGES.txt README.rst src/RELEASE.txt
-# the test is marked skipped but fails
-rm test/MSVS/vs-14.1-exec.py
+# the test is marked skipped but fails; and all are windows based so
+# we can safely ignore them
+rm -r test/MSVC/
+rm -r test/MSVS/
+rm -r test/Win32/
+rm test/fixture/no_msvc/no_regs_sconstruct.py
+rm test/fixture/no_msvc/no_msvcs_sconstruct.py
+rm test/LEX/live_mingw.py
+rm test/Decider/MD5-winonly-firstbuild.py
%build
python3 bootstrap.py build/scons
@@ -118,10 +125,10 @@
%endif
%endif
+%if !%{with test}
%files
%license LICENSE
%doc src/CHANGES.txt README.rst src/RELEASE.txt
-%if !%{with test}
%{_bindir}/*
%{python3_sitelib}/SCons
%{python3_sitelib}/%{modname}*.egg-info
++++++ 3.0.4.tar.gz -> 3.0.5.tar.gz ++++++
++++ 7934 lines of diff (skipped)
++++++ scons-user.html-3.0.4.tar.bz2 -> scons-user.html-3.0.5.tar.bz2 ++++++
++++ 1611 lines of diff (skipped)
1
0
Hello community,
here is the log from the commit of package python-pycryptodome for openSUSE:Factory checked in at 2019-05-25 13:17:05
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-pycryptodome (Old)
and /work/SRC/openSUSE:Factory/.python-pycryptodome.new.5148 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-pycryptodome"
Sat May 25 13:17:05 2019 rev:10 rq:705218 version:3.8.1
Changes:
--------
--- /work/SRC/openSUSE:Factory/python-pycryptodome/python-pycryptodome.changes 2019-05-20 10:25:01.005982636 +0200
+++ /work/SRC/openSUSE:Factory/.python-pycryptodome.new.5148/python-pycryptodome.changes 2019-05-25 13:17:10.188404943 +0200
@@ -1,0 +2,6 @@
+Fri May 24 11:36:30 UTC 2019 - Martin Liška <mliska(a)suse.cz>
+
+- Use -fno-strict-aliasing in order to bypass:
+ https://github.com/Legrandin/pycryptodome/issues/291.
+
+-------------------------------------------------------------------
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ python-pycryptodome.spec ++++++
--- /var/tmp/diff_new_pack.e3JoQU/_old 2019-05-25 13:17:11.300404529 +0200
+++ /var/tmp/diff_new_pack.e3JoQU/_new 2019-05-25 13:17:11.300404529 +0200
@@ -84,7 +84,9 @@
%setup -q -n pycryptodome-%{version}
%build
-export CFLAGS="%{optflags}"
+# Use -fno-strict-aliasing in order to bypass:
+# https://github.com/Legrandin/pycryptodome/issues/291
+export CFLAGS="%{optflags} -fno-strict-aliasing"
%python_build
%install
1
0
Hello community,
here is the log from the commit of package gdb for openSUSE:Factory checked in at 2019-05-25 13:16:31
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/gdb (Old)
and /work/SRC/openSUSE:Factory/.gdb.new.5148 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "gdb"
Sat May 25 13:16:31 2019 rev:125 rq:704721 version:8.2
Changes:
--------
--- /work/SRC/openSUSE:Factory/gdb/gdb.changes 2019-01-26 22:21:16.622910966 +0100
+++ /work/SRC/openSUSE:Factory/.gdb.new.5148/gdb.changes 2019-05-25 13:16:33.880418443 +0200
@@ -1,0 +2,7 @@
+Wed May 22 08:44:01 UTC 2019 - Martin Liška <mliska(a)suse.cz>
+
+- Add gdb-gcc9-fix-build-with-latest-GCC-9.0-tree.patch and
+ gdb-gcc9-warning-on-elf32-arm.c-elf32_arm_final_link.patch
+ in order to fix build with GCC9.
+
+-------------------------------------------------------------------
New:
----
gdb-gcc9-fix-build-with-latest-GCC-9.0-tree.patch
gdb-gcc9-warning-on-elf32-arm.c-elf32_arm_final_link.patch
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ gdb.spec ++++++
--- /var/tmp/diff_new_pack.c2Q3aS/_old 2019-05-25 13:16:45.084414277 +0200
+++ /var/tmp/diff_new_pack.c2Q3aS/_new 2019-05-25 13:16:45.088414275 +0200
@@ -13,7 +13,7 @@
# license that conforms to the Open Source Definition (Version 1.9)
# published by the Open Source Initiative.
-# Please submit bugfixes or comments via http://bugs.opensuse.org/
+# Please submit bugfixes or comments via https://bugs.opensuse.org/
#
@@ -244,6 +244,8 @@
Patch1004: gdb-fix-buf-overflow.diff
Patch1005: gdb-7.10-swo18929.patch
Patch1007: gdb-fix-s390-build.diff
+Patch1008: gdb-gcc9-fix-build-with-latest-GCC-9.0-tree.patch
+Patch1009: gdb-gcc9-warning-on-elf32-arm.c-elf32_arm_final_link.patch
# Backports from master
Patch2000: gdb-fix-crash-when-reading-core.patch
@@ -570,6 +572,8 @@
%patch1004 -p1
%patch1005 -p1
%patch1007 -p1
+%patch1008 -p1
+%patch1009 -p1
%patch2000 -p1
%patch2001 -p1
++++++ gdb-gcc9-fix-build-with-latest-GCC-9.0-tree.patch ++++++
>From 7406a50077773e78282a495cb32ef5b8179f6a33 Mon Sep 17 00:00:00 2001
From: Dimitar Dimitrov <dimitar(a)dinux.eu>
Date: Mon, 17 Dec 2018 21:30:52 +0200
Subject: [PATCH] Fix build with latest GCC 9.0 tree
A recent patch [1] to fix a GCC PR [2] actually broke the GDB build.
To fix, remove the stack pointer clobber. GCC will ignore the clobber
marker, and will not save or restore the stack pointer.
I ran "make check-gdb" on x86_64 to ensure there are no regressions.
gdb/ChangeLog:
2018-12-17 Dimitar Dimitrov <dimitar(a)dinux.eu>
* nat/linux-ptrace.c (linux_ptrace_test_ret_to_nx): Remove sp clobbers.
[1] https://gcc.gnu.org/ml/gcc-patches/2018-12/msg00532.html
[2] https://gcc.gnu.org/bugzilla/show_bug.cgi?id=52813
Signed-off-by: Dimitar Dimitrov <dimitar(a)dinux.eu>
---
gdb/ChangeLog | 5 +++++
gdb/nat/linux-ptrace.c | 4 ++--
2 files changed, 7 insertions(+), 2 deletions(-)
diff --git a/gdb/nat/linux-ptrace.c b/gdb/nat/linux-ptrace.c
index d4c1b8f9fd..187cfeb9bc 100644
--- a/gdb/nat/linux-ptrace.c
+++ b/gdb/nat/linux-ptrace.c
@@ -161,14 +161,14 @@ linux_ptrace_test_ret_to_nx (void)
".globl linux_ptrace_test_ret_to_nx_instr;"
"linux_ptrace_test_ret_to_nx_instr:"
"ret"
- : : "r" (return_address) : "%esp", "memory");
+ : : "r" (return_address) : "memory");
#elif defined __x86_64__
asm volatile ("pushq %0;"
".globl linux_ptrace_test_ret_to_nx_instr;"
"linux_ptrace_test_ret_to_nx_instr:"
"ret"
: : "r" ((uint64_t) (uintptr_t) return_address)
- : "%rsp", "memory");
+ : "memory");
#else
# error "!__i386__ && !__x86_64__"
#endif
--
2.21.0
++++++ gdb-gcc9-warning-on-elf32-arm.c-elf32_arm_final_link.patch ++++++
>From 453f8e1e4918171bc12e4d03aab7ee8360dfcfef Mon Sep 17 00:00:00 2001
From: Sergio Durigan Junior <sergiodj(a)redhat.com>
Date: Mon, 21 Jan 2019 15:36:41 -0500
Subject: [PATCH] Fix GCC9 warning on elf32-arm.c:elf32_arm_final_link_relocate
Fedora Rawhide has just switched to GCC9, and now GDB doesn't compile
because of a BFD warning:
BUILDSTDERR: ../../bfd/elf32-arm.c: In function 'elf32_arm_final_link_relocate':
BUILDSTDERR: ../../bfd/elf32-arm.c:10907:10: error: absolute value function 'labs' given an argument of type 'bfd_signed_vma' {aka 'long long int'} but has parameter of type 'long int' which may cause truncation of value [-Werror=absolute-value]
BUILDSTDERR: 10907 | value = labs (relocation);
BUILDSTDERR: | ^~~~
You can take a look at the full build log here:
https://kojipkgs.fedoraproject.org//work/tasks/4828/32174828/build.log
The fix is (apparently) simple: instead of using 'labs', we should use
'llabs', since we're passing a 'bfd_signed_vma' to it, which is at
least a 'long long int', as far as I have checked. This is what this
patch does.
bfd/ChangeLog:
2019-01-25 Sergio Durigan Junior <sergiodj(a)redhat.com>
* elf32-arm.c (elf32_arm_final_link_relocate): Use 'llabs' instead
of 'labs' (and fix GCC warning).
---
bfd/ChangeLog | 5 +++++
bfd/elf32-arm.c | 2 +-
2 files changed, 6 insertions(+), 1 deletion(-)
diff --git a/bfd/elf32-arm.c b/bfd/elf32-arm.c
index 53baea269b..28ee9d55a8 100644
--- a/bfd/elf32-arm.c
+++ b/bfd/elf32-arm.c
@@ -10904,7 +10904,7 @@ elf32_arm_final_link_relocate (reloc_howto_type * howto,
/* PR 21523: Use an absolute value. The user of this reloc will
have already selected an ADD or SUB insn appropriately. */
- value = labs (relocation);
+ value = llabs (relocation);
if (value >= 0x1000)
return bfd_reloc_overflow;
--
2.21.0
1
0
Hello community,
here is the log from the commit of package libimagequant for openSUSE:Factory checked in at 2019-05-25 13:15:20
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/libimagequant (Old)
and /work/SRC/openSUSE:Factory/.libimagequant.new.5148 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "libimagequant"
Sat May 25 13:15:20 2019 rev:4 rq:704133 version:2.12.2
Changes:
--------
--- /work/SRC/openSUSE:Factory/libimagequant/libimagequant.changes 2019-03-22 14:54:18.094062869 +0100
+++ /work/SRC/openSUSE:Factory/.libimagequant.new.5148/libimagequant.changes 2019-05-25 13:15:22.448445003 +0200
@@ -1,0 +2,6 @@
+Tue May 14 08:55:03 UTC 2019 - Martin Liška <mliska(a)suse.cz>
+
+- Add gcc9-Update-const-var-openmp-const-var-handling.patch in order
+ to handle boo#1134979.
+
+-------------------------------------------------------------------
New:
----
gcc9-Update-const-var-openmp-const-var-handling.patch
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ libimagequant.spec ++++++
--- /var/tmp/diff_new_pack.dzDBiq/_old 2019-05-25 13:15:24.236444338 +0200
+++ /var/tmp/diff_new_pack.dzDBiq/_new 2019-05-25 13:15:24.244444335 +0200
@@ -12,7 +12,7 @@
# license that conforms to the Open Source Definition (Version 1.9)
# published by the Open Source Initiative.
-# Please submit bugfixes or comments via http://bugs.opensuse.org/
+# Please submit bugfixes or comments via https://bugs.opensuse.org/
#
@@ -26,6 +26,7 @@
Group: Development/Languages/C and C++
Url: https://pngquant.org/lib/
Source: https://github.com/ImageOptim/libimagequant/archive/%{version}/%{name}-%{ve…
+Patch0: gcc9-Update-const-var-openmp-const-var-handling.patch
BuildRequires: pkgconfig
BuildRequires: pkgconfig(lcms2)
@@ -52,6 +53,7 @@
%prep
%setup -q
+%patch0 -p1
%build
# This is not an autoconf configure, but the script simply ignores parameters it does not know
++++++ gcc9-Update-const-var-openmp-const-var-handling.patch ++++++
>From 62c4bf1dc8bda1e53fbb65e596a141c5a15a4f00 Mon Sep 17 00:00:00 2001
From: Nicholas Vinson <nvinson234(a)gmail.com>
Date: Sat, 4 May 2019 14:03:48 -0700
Subject: [PATCH] Update const-var openmp const-var handling
OpenMP 4.0 dropped the data-sharing rule that predetermined const-vars
as "shared". GCC implemented this rule change with GCC-9. Because of
the rule change, libimagequant fails to build with gcc-9.1.0. This
patch updates the code so that it is conformant with OpenMP 4.0 rules.
---
kmeans.c | 5 +++++
libimagequant.c | 5 +++++
mediancut.c | 5 +++++
3 files changed, 15 insertions(+)
diff --git a/kmeans.c b/kmeans.c
index 7ee273d..c8630ae 100644
--- a/kmeans.c
+++ b/kmeans.c
@@ -73,8 +73,13 @@ LIQ_PRIVATE double kmeans_do_iteration(histogram *hist, colormap *const map, kme
const int hist_size = hist->size;
double total_diff=0;
+#if __GNUC__ >= 9
+ #pragma omp parallel for if (hist_size > 2000) \
+ schedule(static) default(none) shared(achv,average_color,callback,hist_size,map,n) reduction(+:total_diff)
+#else
#pragma omp parallel for if (hist_size > 2000) \
schedule(static) default(none) shared(average_color,callback) reduction(+:total_diff)
+#endif
for(int j=0; j < hist_size; j++) {
float diff;
unsigned int match = nearest_search(n, &achv[j].acolor, achv[j].tmp.likely_colormap_index, &diff);
diff --git a/libimagequant.c b/libimagequant.c
index 3506564..114e5f1 100644
--- a/libimagequant.c
+++ b/libimagequant.c
@@ -1276,8 +1276,13 @@ LIQ_NONNULL static float remap_to_palette(liq_image *const input_image, unsigned
LIQ_ARRAY(kmeans_state, average_color, (KMEANS_CACHE_LINE_GAP+map->colors) * max_threads);
kmeans_init(map, max_threads, average_color);
+#if __GNUC__ >= 9
+ #pragma omp parallel for if (rows*cols > 3000) \
+ schedule(static) default(none) shared(acolormap,average_color,cols,input_image,map,n,output_pixels,rows,transparent_index) reduction(+:remapping_error)
+#else
#pragma omp parallel for if (rows*cols > 3000) \
schedule(static) default(none) shared(acolormap) shared(average_color) reduction(+:remapping_error)
+#endif
for(int row = 0; row < rows; ++row) {
const f_pixel *const row_pixels = liq_image_get_row_f(input_image, row);
const f_pixel *const bg_pixels = input_image->background && acolormap[transparent_index].acolor.a < 1.f/256.f ? liq_image_get_row_f(input_image->background, row) : NULL;
diff --git a/mediancut.c b/mediancut.c
index 447a4af..4421cb4 100644
--- a/mediancut.c
+++ b/mediancut.c
@@ -195,8 +195,13 @@ static double prepare_sort(struct box *b, hist_item achv[])
const unsigned int ind1 = b->ind;
const unsigned int colors = b->colors;
+#if __GNUC__ >= 9
+ #pragma omp parallel for if (colors > 25000) \
+ schedule(static) default(none) shared(achv, channels, colors, ind1)
+#else
#pragma omp parallel for if (colors > 25000) \
schedule(static) default(none) shared(achv, channels)
+#endif
for(unsigned int i=0; i < colors; i++) {
const float *chans = (const float *)&achv[ind1 + i].acolor;
// Only the first channel really matters. When trying median cut many times
--
2.21.0
1
0
Hello community,
here is the log from the commit of package open-lldp for openSUSE:Factory checked in at 2019-05-25 13:15:13
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/open-lldp (Old)
and /work/SRC/openSUSE:Factory/.open-lldp.new.5148 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "open-lldp"
Sat May 25 13:15:13 2019 rev:12 rq:704116 version:1.0.1+56.cb81e95
Changes:
--------
--- /work/SRC/openSUSE:Factory/open-lldp/open-lldp.changes 2019-03-24 14:56:31.467205085 +0100
+++ /work/SRC/openSUSE:Factory/.open-lldp.new.5148/open-lldp.changes 2019-05-25 13:15:14.480447966 +0200
@@ -1,0 +2,10 @@
+Tue May 14 09:28:48 UTC 2019 - Martin Liška <mliska(a)suse.cz>
+
+- Add disable-werror.patch.
+
+-------------------------------------------------------------------
+Thu May 9 12:05:15 UTC 2019 - Martin Liška <mliska(a)suse.cz>
+
+- Disable -Werror (boo#1128299) and remove gcc9-fix-werror.patch.
+
+-------------------------------------------------------------------
Old:
----
gcc9-fix-werror.patch
New:
----
disable-werror.patch
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ open-lldp.spec ++++++
--- /var/tmp/diff_new_pack.mEGy8Y/_old 2019-05-25 13:15:16.096447365 +0200
+++ /var/tmp/diff_new_pack.mEGy8Y/_new 2019-05-25 13:15:16.120447356 +0200
@@ -32,7 +32,7 @@
BuildRequires: readline-devel
Url: https://github.com/intel/openlldp
Source: %{name}-v%{version}.tar.xz
-Patch0: gcc9-fix-werror.patch
+Patch0: disable-werror.patch
BuildRoot: %{_tmppath}/%{name}-%{version}-build
Provides: dcbd = %{version}
Obsoletes: dcbd < %{version}
++++++ disable-werror.patch ++++++
diff --git a/Makefile.am b/Makefile.am
index 292c0fd..b20574c 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -19,7 +19,7 @@ ACLOCAL_AMFLAGS = -I m4
parse_cli.o: CFLAGS+=-U_FORTIFY_SOURCE -Wno-error
## system requires a shared libconfig
-AM_CFLAGS = -Wall -Werror -Wextra -Wformat=2 $(LIBCONFIG_CFLAGS) $(LIBNL_CFLAGS)
+AM_CFLAGS = -Wall -Wextra -Wformat=2 $(LIBCONFIG_CFLAGS) $(LIBNL_CFLAGS)
AM_LDFLAGS = $(LIBCONFIG_LIBS) $(LIBNL_LIBS) -lrt
## header files to be installed, for programs using the client interface to lldpad
diff --git a/configure.ac b/configure.ac
index 0667446..e49867e 100644
--- a/configure.ac
+++ b/configure.ac
@@ -1,5 +1,5 @@
AC_INIT([lldpad], [1.0.1], [lldp-devel(a)open-lldp.org]
-AM_INIT_AUTOMAKE([-Wall -Werror foreign subdir-objects])
+AM_INIT_AUTOMAKE([-Wall foreign subdir-objects])
m4_pattern_allow([AM_PROG_AR])
AM_PROG_AR
1
0
Hello community,
here is the log from the commit of package go1.9 for openSUSE:Factory checked in at 2019-05-25 13:15:06
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/go1.9 (Old)
and /work/SRC/openSUSE:Factory/.go1.9.new.5148 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "go1.9"
Sat May 25 13:15:06 2019 rev:7 rq:703506 version:1.9.7
Changes:
--------
--- /work/SRC/openSUSE:Factory/go1.9/go1.9.changes 2018-12-21 08:18:23.697739791 +0100
+++ /work/SRC/openSUSE:Factory/.go1.9.new.5148/go1.9.changes 2019-05-25 13:15:07.508450559 +0200
@@ -1,0 +2,5 @@
+Thu May 16 07:12:55 UTC 2019 - Martin Liška <mliska(a)suse.cz>
+
+- Add gcc9-rsp-clobber.patch in order to fix bsc#1121397.
+
+-------------------------------------------------------------------
New:
----
gcc9-rsp-clobber.patch
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ go1.9.spec ++++++
--- /var/tmp/diff_new_pack.WH2cdN/_old 2019-05-25 13:15:10.364449497 +0200
+++ /var/tmp/diff_new_pack.WH2cdN/_new 2019-05-25 13:15:10.392449486 +0200
@@ -1,7 +1,7 @@
#
# spec file for package go1.9
#
-# Copyright (c) 2018 SUSE LINUX GmbH, Nuernberg, Germany.
+# Copyright (c) 2019 SUSE LINUX GmbH, Nuernberg, Germany.
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@@ -109,6 +109,7 @@
Patch9: gcc7-go.patch
# PATCH-FIX-UPSTREAM (compiler-rt): Fix sanitizer build against latest glibc
Patch100: fix-sanitizer-build-against-latest-glibc.patch
+Patch101: gcc9-rsp-clobber.patch
BuildRoot: %{_tmppath}/%{name}-%{version}-build
# boostrap
%if %{with_gccgo}
@@ -186,6 +187,7 @@
# compiler-rt
%setup -q -T -b 100 -n compiler-rt-g%{tsan_commit}
%patch100 -p1
+%patch101 -p1
%endif
# go
%setup -q -n go
++++++ gcc9-rsp-clobber.patch ++++++
--- a/lib/sanitizer_common/sanitizer_linux.cc 2018-01-11 23:53:30.000000000 +0100
+++ b/lib/sanitizer_common/sanitizer_linux.cc.new 2019-03-10 21:23:23.824919781 +0100
@@ -1243,7 +1243,7 @@
"d"(parent_tidptr),
"r"(r8),
"r"(r10)
- : "rsp", "memory", "r11", "rcx");
+ : "memory", "r11", "rcx");
return res;
}
#elif defined(__mips__)
1
0
Hello community,
here is the log from the commit of package go1.12 for openSUSE:Factory checked in at 2019-05-25 13:14:57
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/go1.12 (Old)
and /work/SRC/openSUSE:Factory/.go1.12.new.5148 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "go1.12"
Sat May 25 13:14:57 2019 rev:5 rq:703505 version:1.12.5
Changes:
--------
--- /work/SRC/openSUSE:Factory/go1.12/go1.12.changes 2019-05-09 10:09:13.380995911 +0200
+++ /work/SRC/openSUSE:Factory/.go1.12.new.5148/go1.12.changes 2019-05-25 13:14:58.484453913 +0200
@@ -1,0 +2,5 @@
+Thu May 16 07:12:19 UTC 2019 - Martin Liška <mliska(a)suse.cz>
+
+- Add gcc9-rsp-clobber.patch in order to fix bsc#1121397.
+
+-------------------------------------------------------------------
New:
----
gcc9-rsp-clobber.patch
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ go1.12.spec ++++++
--- /var/tmp/diff_new_pack.NA4U4b/_old 2019-05-25 13:15:00.500453164 +0200
+++ /var/tmp/diff_new_pack.NA4U4b/_new 2019-05-25 13:15:00.528453153 +0200
@@ -140,6 +140,7 @@
Patch8: gcc6-go.patch
Patch9: gcc7-go.patch
Patch10: gcc8-go.patch
+Patch11: gcc9-rsp-clobber.patch
BuildRoot: %{_tmppath}/%{name}-%{version}-build
# boostrap
%if %{with gccgo}
@@ -211,6 +212,7 @@
%ifarch %{tsan_arch}
# compiler-rt
%setup -q -T -b 100 -n compiler-rt-g%{tsan_commit}
+%patch11 -p1
%endif
# go
%setup -q -n go
++++++ gcc9-rsp-clobber.patch ++++++
--- a/lib/sanitizer_common/sanitizer_linux.cc 2018-01-11 23:53:30.000000000 +0100
+++ b/lib/sanitizer_common/sanitizer_linux.cc.new 2019-03-10 21:23:23.824919781 +0100
@@ -1243,7 +1243,7 @@
"d"(parent_tidptr),
"r"(r8),
"r"(r10)
- : "rsp", "memory", "r11", "rcx");
+ : "memory", "r11", "rcx");
return res;
}
#elif defined(__mips__)
1
0
Hello community,
here is the log from the commit of package gcc for openSUSE:Factory checked in at 2019-05-25 13:14:49
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/gcc (Old)
and /work/SRC/openSUSE:Factory/.gcc.new.5148 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "gcc"
Sat May 25 13:14:49 2019 rev:63 rq:703444 version:9
Changes:
--------
--- /work/SRC/openSUSE:Factory/gcc/gcc.changes 2018-06-26 10:29:30.140256250 +0200
+++ /work/SRC/openSUSE:Factory/.gcc.new.5148/gcc.changes 2019-05-25 13:14:51.484456516 +0200
@@ -1,0 +2,15 @@
+Thu May 16 13:23:19 UTC 2019 - Andreas Schwab <schwab(a)suse.de>
+
+- Add ada links on riscv64
+
+-------------------------------------------------------------------
+Fri May 10 07:23:58 UTC 2019 - rguenther(a)suse.com
+
+- Package default D compiler.
+
+-------------------------------------------------------------------
+Tue Apr 30 09:09:39 UTC 2019 - Martin Liška <mliska(a)suse.cz>
+
+- Switch gcc to default 9.
+
+-------------------------------------------------------------------
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ gcc.spec ++++++
--- /var/tmp/diff_new_pack.E9x1A0/_old 2019-05-25 13:14:53.028455942 +0200
+++ /var/tmp/diff_new_pack.E9x1A0/_new 2019-05-25 13:14:53.028455942 +0200
@@ -1,7 +1,7 @@
#
# spec file for package gcc
#
-# Copyright (c) 2018 SUSE LINUX GmbH, Nuernberg, Germany.
+# Copyright (c) 2019 SUSE LINUX GmbH, Nuernberg, Germany.
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@@ -12,7 +12,7 @@
# license that conforms to the Open Source Definition (Version 1.9)
# published by the Open Source Initiative.
-# Please submit bugfixes or comments via http://bugs.opensuse.org/
+# Please submit bugfixes or comments via https://bugs.opensuse.org/
#
@@ -28,19 +28,24 @@
# Ada currently fails to build on a few platforms, enable it only
# on those that work
# Note that AdaCore only supports %ix86, x86_64 and ia64
-%ifarch %ix86 x86_64 ppc ppc64 ppc64le s390 s390x ia64 aarch64
+%ifarch %ix86 x86_64 ppc ppc64 ppc64le s390 s390x ia64 aarch64 riscv64
%define build_ada 1
%else
# alpha hppa arm
%define build_ada 0
%endif
+%ifarch x86_64 %ix86 %arm aarch64 riscv64 s390x
+%define build_d 1
+%else
+%define build_d 0
+%endif
Url: http://gcc.gnu.org/
-%define gcc_version 8
-%define gcc_suffix 8
-Version: 8
+%define gcc_version 9
+%define gcc_suffix 9
+Version: 9
Release: 0
Summary: The system GNU C Compiler
-License: GPL-3.0+
+License: GPL-3.0-or-later
Group: Development/Languages/C and C++
Provides: c_compiler
Obsoletes: gcc-ar
@@ -60,7 +65,7 @@
%package -n gcc-32bit
Summary: The system GNU C Compiler
-License: GPL-3.0+
+License: GPL-3.0-or-later
Group: Development/Languages/C and C++
Requires: gcc = %{version}
Requires: gcc%{gcc_version}-32bit
@@ -72,7 +77,7 @@
%package -n gcc-64bit
Summary: The system GNU C Compiler
-License: GPL-3.0+
+License: GPL-3.0-or-later
Group: Development/Languages/C and C++
Requires: gcc = %{version}
Requires: gcc%{gcc_version}-64bit
@@ -84,7 +89,7 @@
%package -n cpp
Summary: The system GNU Preprocessor
-License: GPL-3.0+
+License: GPL-3.0-or-later
Group: Development/Languages/C and C++
Requires: cpp%{gcc_version}
@@ -94,7 +99,7 @@
%package -n gcc-devel
Summary: The system GNU C Compiler Plugin development files
-License: GPL-3.0+
+License: GPL-3.0-or-later
Group: Development/Languages/C and C++
Requires: gcc = %{version}
Requires: gcc%{gcc_version}-devel
@@ -105,7 +110,7 @@
%package -n gcc-locale
Summary: The system GNU Compiler locale files
-License: GPL-3.0+
+License: GPL-3.0-or-later
Group: Development/Languages/C and C++
Requires: gcc%{gcc_version}-locale
@@ -116,7 +121,7 @@
%package -n gcc-info
Summary: The system GNU Compiler documentation
-License: GFDL-1.2
+License: GFDL-1.2-only
Group: Development/Languages/C and C++
PreReq: %{install_info_prereq}
PreReq: gcc%{gcc_version}-info
@@ -142,7 +147,7 @@
%package -n gcc-c++
Summary: The system GNU C++ Compiler
-License: GPL-3.0+
+License: GPL-3.0-or-later
Group: Development/Languages/C and C++
Provides: c++_compiler
Requires: gcc = %{version}
@@ -154,7 +159,7 @@
%package -n gcc-c++-32bit
Summary: The system GNU C++ Compiler
-License: GPL-3.0+
+License: GPL-3.0-or-later
Group: Development/Languages/C and C++
Requires: gcc%{gcc_version}-c++-32bit
Requires: gcc-32bit = %{version}
@@ -166,7 +171,7 @@
%package -n gcc-c++-64bit
Summary: The system GNU C++ Compiler
-License: GPL-3.0+
+License: GPL-3.0-or-later
Group: Development/Languages/C and C++
Requires: gcc%{gcc_version}-c++-64bit
Requires: gcc-64bit = %{version}
@@ -212,7 +217,7 @@
%package -n gcc-fortran
Summary: The system GNU Fortran Compiler
-License: GPL-3.0+
+License: GPL-3.0-or-later
Group: Development/Languages/Fortran
Requires: gcc = %{version}
Requires: gcc%{gcc_version}-fortran
@@ -223,7 +228,7 @@
%package -n gcc-fortran-32bit
Summary: The system GNU Fortran Compiler
-License: GPL-3.0+
+License: GPL-3.0-or-later
Group: Development/Languages/Fortran
Requires: gcc%{gcc_version}-fortran-32bit
Requires: gcc-fortran = %{version}
@@ -234,7 +239,7 @@
%package -n gcc-fortran-64bit
Summary: The system GNU Fortran Compiler
-License: GPL-3.0+
+License: GPL-3.0-or-later
Group: Development/Languages/Fortran
Requires: gcc%{gcc_version}-fortran-64bit
Requires: gcc-fortran = %{version}
@@ -246,7 +251,7 @@
%package -n gcc-objc
Summary: The system GNU Objective C Compiler
-License: GPL-3.0+
+License: GPL-3.0-or-later
Group: Development/Languages/Other
Requires: gcc = %{version}
Requires: gcc%{gcc_version}-objc
@@ -261,7 +266,7 @@
%package -n gcc-objc-32bit
Summary: The system GNU Objective C Compiler
-License: GPL-3.0+
+License: GPL-3.0-or-later
Group: Development/Languages/Other
Requires: gcc%{gcc_version}-objc-32bit
Requires: gcc-objc = %{version}
@@ -273,7 +278,7 @@
%package -n gcc-objc-64bit
Summary: The system GNU Objective C Compiler
-License: GPL-3.0+
+License: GPL-3.0-or-later
Group: Development/Languages/Other
Requires: gcc%{gcc_version}-objc-64bit
Requires: gcc-objc = %{version}
@@ -285,7 +290,7 @@
%package -n gcc-obj-c++
Summary: The system GNU Objective C++ Compiler
-License: GPL-3.0+
+License: GPL-3.0-or-later
Group: Development/Languages/Other
Requires: gcc%{gcc_version}-obj-c++
Requires: gcc-objc = %{version}
@@ -297,7 +302,7 @@
%package -n gcc-PIE
Summary: A default configuration to build all binaries in PIE mode
-License: GPL-3.0+
+License: GPL-3.0-or-later
Group: Development/Languages/Other
Requires: gcc
@@ -310,7 +315,7 @@
%package -n gcc-ada
Summary: The system GNU Ada Compiler
-License: GPL-3.0+
+License: GPL-3.0-or-later
Group: Development/Languages/C and C++
Requires: gcc = %{version}
Requires: gcc%{gcc_version}-ada
@@ -320,7 +325,7 @@
%package -n gcc-ada-32bit
Summary: The system GNU Ada Compiler
-License: GPL-3.0+
+License: GPL-3.0-or-later
Group: Development/Languages/C and C++
Requires: gcc%{gcc_version}-ada-32bit
Requires: gcc-ada = %{version}
@@ -330,7 +335,7 @@
%package -n gcc-ada-64bit
Summary: The system GNU Ada Compiler
-License: GPL-3.0+
+License: GPL-3.0-or-later
Group: Development/Languages/C and C++
Requires: gcc%{gcc_version}-ada-64bit
Requires: gcc-ada = %{version}
@@ -341,7 +346,7 @@
%package -n gcc-go
Summary: The system GNU Go Compiler
-License: GPL-3.0+
+License: GPL-3.0-or-later
Group: Development/Languages/C and C++
Requires: gcc = %{version}
Requires: gcc%{gcc_version}-go
@@ -353,7 +358,7 @@
%package -n gcc-go-32bit
Summary: The system GNU Go Compiler
-License: GPL-3.0+
+License: GPL-3.0-or-later
Group: Development/Languages/C and C++
Requires: gcc%{gcc_version}-go-32bit
Requires: gcc-go = %{version}
@@ -363,7 +368,7 @@
%package -n gcc-go-64bit
Summary: The system GNU Go Compiler
-License: GPL-3.0+
+License: GPL-3.0-or-later
Group: Development/Languages/C and C++
Requires: gcc%{gcc_version}-go-64bit
Requires: gcc-go = %{version}
@@ -372,6 +377,39 @@
The system GNU Go Compiler 64bit support.
+%package -n gcc-d
+Summary: The system GNU D Compiler
+License: GPL-3.0-or-later
+Group: Development/Languages/C and C++
+Requires: gcc = %{version}
+Requires: gcc%{gcc_version}-d
+Requires(post): update-alternatives
+Requires(postun): update-alternatives
+
+%description -n gcc-d
+The system GNU D Compiler.
+
+%package -n gcc-d-32bit
+Summary: The system GNU D Compiler
+License: GPL-3.0-or-later
+Group: Development/Languages/C and C++
+Requires: gcc%{gcc_version}-d-32bit
+Requires: gcc-d = %{version}
+
+%description -n gcc-d-32bit
+The system GNU D Compiler 32bit support.
+
+%package -n gcc-d-64bit
+Summary: The system GNU D Compiler
+License: GPL-3.0-or-later
+Group: Development/Languages/C and C++
+Requires: gcc%{gcc_version}-d-64bit
+Requires: gcc-d = %{version}
+
+%description -n gcc-d-64bit
+The system GNU D Compiler 64bit support.
+
+
%prep
%install
@@ -392,6 +430,9 @@
gnat gnatbind gnatbl gnatchop gnatclean gnatfind gnatkr \
gnatlink gnatls gnatmake gnatname gnatprep gnatxref gprmake \
%endif
+%if %{build_d}
+ gdc \
+%endif
gcc-ar gcc-nm gcc-ranlib \
; do
ln -sf $program-%{gcc_suffix} $RPM_BUILD_ROOT%{_prefix}/bin/$program
@@ -407,6 +448,9 @@
cpp \
gfortran \
gccgo \
+%if %{build_d}
+ gdc \
+%endif
; do
ln -sf $man1-%{gcc_suffix}.1.gz $RPM_BUILD_ROOT%{_mandir}/man1/$man1.1.gz
done
@@ -545,6 +589,13 @@
%ghost %{_sysconfdir}/alternatives/gofmt
%doc %{_mandir}/man1/gccgo.1.gz
+%if %{build_d}
+%files -n gcc-d
+%defattr(-,root,root)
+%{_bindir}/gdc
+%doc %{_mandir}/man1/gdc.1.gz
+%endif
+
%if %{separate_bi32}
%files -n gcc-32bit
@@ -577,6 +628,11 @@
%defattr(-,root,root)
# empty - only for the dependency
+%if %{build_d}
+%files -n gcc-d-32bit
+%defattr(-,root,root)
+# empty - only for the dependency
+%endif
%endif
%if %{separate_bi64}
@@ -610,6 +666,12 @@
%defattr(-,root,root)
# empty - only for the dependency
+%if %{build_d}
+%files -n gcc-d-64bit
+%defattr(-,root,root)
+# empty - only for the dependency
+%endif
+
%endif
%changelog
1
0
Hello community,
here is the log from the commit of package xsel for openSUSE:Factory checked in at 2019-05-25 13:14:37
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/xsel (Old)
and /work/SRC/openSUSE:Factory/.xsel.new.5148 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "xsel"
Sat May 25 13:14:37 2019 rev:12 rq:703440 version:1.2.0
Changes:
--------
--- /work/SRC/openSUSE:Factory/xsel/xsel.changes 2014-10-31 20:38:17.000000000 +0100
+++ /work/SRC/openSUSE:Factory/.xsel.new.5148/xsel.changes 2019-05-25 13:14:43.664459425 +0200
@@ -1,0 +2,5 @@
+Tue May 14 09:39:22 UTC 2019 - Martin Liška <mliska(a)suse.cz>
+
+- Add disable-werror.patch in order to handle with a new GCC 9 warning.
+
+-------------------------------------------------------------------
New:
----
disable-werror.patch
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ xsel.spec ++++++
--- /var/tmp/diff_new_pack.DawcgY/_old 2019-05-25 13:14:44.128459251 +0200
+++ /var/tmp/diff_new_pack.DawcgY/_new 2019-05-25 13:14:44.132459250 +0200
@@ -1,7 +1,7 @@
#
# spec file for package xsel
#
-# Copyright (c) 2014 SUSE LINUX Products GmbH, Nuernberg, Germany.
+# Copyright (c) 2019 SUSE LINUX GmbH, Nuernberg, Germany.
# Copyright (c) 2010 Guido Berhoerster.
#
# All modifications and additions to the file contributed by third parties
@@ -13,7 +13,7 @@
# license that conforms to the Open Source Definition (Version 1.9)
# published by the Open Source Initiative.
-# Please submit bugfixes or comments via http://bugs.opensuse.org/
+# Please submit bugfixes or comments via https://bugs.opensuse.org/
#
@@ -24,6 +24,7 @@
Version: 1.2.0
Release: 0
Source: http://www.kfish.org/software/xsel/download/xsel-%{version}.tar.gz
+Patch0: disable-werror.patch
Url: http://www.kfish.org/software/xsel/
BuildRoot: %{_tmppath}/%{name}-%{version}-build
%if 0%{suse_version} < 1220
@@ -40,6 +41,7 @@
%prep
%setup -q
+%patch0 -p1
%build
%if 0%{?suse_version} > 0 && 0%{?suse_version} < 1100
++++++ disable-werror.patch ++++++
diff --git a/configure b/configure
index 7641e96..6c64e85 100755
--- a/configure
+++ b/configure
@@ -5880,7 +5880,7 @@ fi
# Error out on compile warnings
if test "x$ac_cv_c_compiler_gnu" = xyes ; then
- CFLAGS="$CFLAGS -fno-strict-aliasing -Wall -Werror -g -std=gnu99 -Wdeclaration-after-statement -Wno-unused"
+ CFLAGS="$CFLAGS -fno-strict-aliasing -Wall -g -std=gnu99 -Wdeclaration-after-statement -Wno-unused"
fi
# Checks for header files.
diff --git a/configure.ac b/configure.ac
index e444185..9ab3ba9 100644
--- a/configure.ac
+++ b/configure.ac
@@ -24,7 +24,7 @@ AC_CHECK_LIB([X11], [XOpenDisplay])
dnl Add some useful warnings if we have gcc.
dnl changequote(,)dnl
if test "x$ac_cv_prog_gcc" = xyes ; then
- CFLAGS="$CFLAGS -fno-strict-aliasing -Wall -Werror -g -std=gnu99 -Wdeclaration-after-statement -Wno-unused"
+ CFLAGS="$CFLAGS -fno-strict-aliasing -Wall -g -std=gnu99 -Wdeclaration-after-statement -Wno-unused"
fi
dnl changequote([,])dnl
1
0
Hello community,
here is the log from the commit of package pmdk for openSUSE:Factory checked in at 2019-05-25 13:14:31
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/pmdk (Old)
and /work/SRC/openSUSE:Factory/.pmdk.new.5148 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "pmdk"
Sat May 25 13:14:31 2019 rev:7 rq:703121 version:1.6
Changes:
--------
--- /work/SRC/openSUSE:Factory/pmdk/pmdk.changes 2019-05-03 22:36:59.650560569 +0200
+++ /work/SRC/openSUSE:Factory/.pmdk.new.5148/pmdk.changes 2019-05-25 13:14:33.988463021 +0200
@@ -1,0 +2,11 @@
+Wed May 15 05:59:44 UTC 2019 - Nicolas Morey-Chaisemartin <nmoreychaisemartin(a)suse.com>
+
+- Disable Werror to deal with a new GCC 9 warning.
+
+-------------------------------------------------------------------
+Mon May 13 08:03:31 UTC 2019 - Nicolas Morey-Chaisemartin <nmoreychaisemartin(a)suse.com>
+
+- Update to PMDK 1.6 (jsc#SLE-5400)
+ - See ChangeLog for details
+
+-------------------------------------------------------------------
Old:
----
1.5.tar.gz
New:
----
1.6.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ pmdk.spec ++++++
--- /var/tmp/diff_new_pack.lYfplx/_old 2019-05-25 13:14:34.704462755 +0200
+++ /var/tmp/diff_new_pack.lYfplx/_new 2019-05-25 13:14:34.704462755 +0200
@@ -25,7 +25,7 @@
%define min_ndctl_ver 60.1
Name: pmdk
-Version: 1.5
+Version: 1.6
Release: 0
Summary: Persistent Memory Development Kit
License: BSD-3-Clause
@@ -295,7 +295,7 @@
EXTRA_CFLAGS_RELEASE="%optflags" \
EXTRA_CFLAGS_DEBUG="%optflags -Wp,-U_FORTIFY_SOURCE -O0" \
EXTRA_CXXFLAGS="%optflags" \
-make %{?_smp_mflags} BINDIR="%_bindir" \
+make %{?_smp_mflags} BINDIR="%_bindir" EXTRA_CFLAGS="-Wno-error" \
%if 0%{?with_fabric}
BUILD_RPMEM=y \
%endif
@@ -340,6 +340,7 @@
%files
%defattr(-,root,root)
%_datadir/pmdk/
+%doc ChangeLog
%files tools
%defattr(-,root,root)
++++++ 1.5.tar.gz -> 1.6.tar.gz ++++++
++++ 34199 lines of diff (skipped)
1
0
Hello community,
here is the log from the commit of package fwupd for openSUSE:Factory checked in at 2019-05-25 13:14:15
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/fwupd (Old)
and /work/SRC/openSUSE:Factory/.fwupd.new.5148 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "fwupd"
Sat May 25 13:14:15 2019 rev:18 rq:703101 version:1.2.8
Changes:
--------
--- /work/SRC/openSUSE:Factory/fwupd/fwupd.changes 2019-05-10 09:09:37.495005315 +0200
+++ /work/SRC/openSUSE:Factory/.fwupd.new.5148/fwupd.changes 2019-05-25 13:14:24.036466722 +0200
@@ -1,0 +2,240 @@
+Wed May 8 10:39:24 UTC 2019 - Maurizio Galli <maurizio.galli(a)gmail.com>
+
+- Update to version 1.2.8:
+ * Don't upload reports when the user has configured their system in a broken way
+ * Allow setting the daemon verbose domains at runtime
+ * Allow fwupdmgr to modify the daemon config
+ * Do not compare version formats when the release format is unknown
+ * Do not fall back integers to a plain version format
+ * Use the device version format when converting the release version
+ * Set the VersionFormat using the metadata or the UEFI quirk
+- Changes from version 1.2.7:
+ * l10n: Create Lithuanian translation file
+ * l10n: Update LINGUAS
+ * Updated: Add support for 8BitDo M30.
+ * modem-manager: increase the timeout to wait for modem after uninhibited
+ * modem-manager: implement qmi pdc active config selection as attach()
+ * fu-engine: When removing activation flag match the correct version
+ * Require --force to install a release with a different version format
+ * Match the old or new version number when setting NEEDS_REBOOT
+ * Make an error message clearer when there are no updates available
+ * Add support for the not-child extension from Logitech
+ * thunderbolt: Set require-ac for Thunderbolt devices
+ (Fixes: gh#hughsie/fwupd#1142)
+ * Fix some typos spotted using codespell
+ * Add a component categories to express the firmware type
+ * fu-tool: Port get-history command to fwupdtool
+ * Recreate the history database if migration failed
+ * Move the core built-in 'fwupd' remote over to the dell-esrt plugin
+ * snap: Add a custom systemd unit to call activation on shutdown
+ (Fixes: gh#hughsie/fwupd#1125)
+ * ata: Flush cache before standby and activate
+ * synapticsmst: blacklist plugin when using amdgpu
+ (Fixes: gh#hughsie/fwupd#1121)
+ * uefi: add a new option to specify the os name
+ * Return the newest device when using fu_history_get_device_by_id()
+ * uefi: More carefully check the output from tpm2_pcrlist
+ * uefi: Don't overwrite CustomFlags if set from a quirk
+ * Shut down the daemon if the on-disk binary is replaced
+ * ata: Correct activation functionality
+ * Fix version comparisons after reboot for some formats
+ * fu-tool: save history from stuff installed with `fwupdtool`
+- Changes from version 1.2.6:
+ * ata: send ATA standby immediate when activating firmware
+ * offline: Be more graceful when dealing with Plymouth failures
+ * Save the new version in the history database for offline updates
+ * Show the DeviceID when showing the updates list
+ * Allow forcing an offline-only update on a live system using --force
+ * Do not schedule an update on battery power if it requires AC power
+ * superio: Add InstallDuration default value
+ * superio: Add support for writing new e-flash contents
+ * superio: Fix reading the attestation checksum
+ * superio: Add support for reading the device checksum
+ * superio: Use the chipset ID in the device name
+ * superio: Move the device flush before getting the register map
+ * superio: Move all the IT89xx code to a subclassed device object
+ * superio: Move all the IT85xx code to a subclassed device object
+ * superio: Split and export fu_superio_device_ec_writeX()
+ * superio: Remove the port from fu_superio_device_ec_read()
+ * superio: Move the register read/write into the FuSuperioDevice object
+ * superio: Check the IOBAD0 is usable during setup
+ * superio: Use fu_device_set_firmware_size()
+ * superio: Move some constants out to the common header
+ * superio: Use GObject properties in FuSuperioDevice
+ * superio: Convert FuSuperioDevice to be derivable
+ * Update Plymouth when updating pending firmware
+ * Ask to reboot after scheduling an offline firmware update
+ * Do not fail when scheduling more than one update to be run offline
+ * Allow running offline updates when in system-update.target
+ * Fix the location of fwupdoffline in the service file
+ * Add optional vfuncs to allow detaching and attaching verify()
+ * superio: Add list of SPI commands for future usage
+ * Add a verify-update command to fwupdtool
+ * uefi: Actually upload the UPDATE_INFO entry for the UX capsule
+ * superio: Get the chip size from the EC rather than hardcoding
+ * uefi: Check the error code of QueryCapsuleCapabilities() correctly
+ * Update the UEFI UX Capsule Header checksum when needed.
+ * uefi: Copy the shimx64.efi binary for known broken firmware
+ * Correctly get the check the new version for devices that replug
+ * Add a simple script to add a capsule header
+ * Ensure the PKCS-7 client certificate exists at startup
+ * fix makecab directive options
+ * fwpup.service: use display-manager.service instead of gdm.service
+ * Allow signing the fwupd report with the client certificate
+ * Add a D-Bus method to generate a signature using the self-signed client certificate
+ * Allow signing and verifying data using a PKCS-7 self-signed client certificate
+ * Fix a critical warning when loading a PKCS-7 certificate with no DN
+ * Include all device checksums in the LVFS report
+ * modem-manager: Fix a trivial build warning
+ * superio: Fix a trivial build warning
+ * Move out the offline update functionality to a new binary
+ * Do not reboot when failing to start fwupd during offline updates
+ * Do not write the schema version to the db when loading
+ * Do not recreate XbSilo caches when running on a readonly filesystem
+ * Add the fwupdagent binary for use in shell scripts
+ * Allow restricting firmware updates for enterprise use
+ * standalone-installer: new --allow-older and --allow-reinstall options
+ * Show the upgrade and downgrade flags when getting releases for a device
+ * Rename FwupdRelease:trust-flags to FwupdRelease:flags
+ * fu-tool: Save device state to @LOCALSTATEDIR@/lib/fwupd/state.json on actions
+ * modem-manager: implement support for qmi-pdc
+ * Add a plugin to support ModemManager hardware
+ * fu-tool: Don't let failing to find dbus prevent engine from starting
+ * ata: Support delayed activation
+ * dell-dock: Use activation when calling fwupdtool activate
+ * Add a support for delayed activation
+ * uefi: Fix the self tests when running on Fedora SilverBlue
+ * Do not fail to start the daemon if tpm2_pcrlist hangs
+ * po/make-images.sh: quote LOCALEDIR and PYTHON3
+ * meson: print stderr of python3 command instead of stdout
+ * Revert "contrib/debian: Switch to debian unstable"
+ * Add elogind support
+ - Changes from version 1.2.5:
+ * uefi: fix segfault in fwup_set_update_statuses
+ * Show in Flathub correctly
+ * debian: explicitly depend on shared-mime-info
+ * superio: Implement detach() and attach()
+ * superio: Correct the names of some constants and improve debugging support
+ * dell-dock: Filter the last supported payloads of certain board 4 SKUs
+ * circleci: Manage the lifecycle of the snap
+ * Add support to run snap build in CircleCI
+ * wacom-usb: Use the correct buffer format for the touch module
+ * wacom-usb: Set the install duration for each device type
+ * wacom-usb: Return with an error if there were too many retries
+ * wacom-usb: Make updating less verbose
+ * Convert all child instance IDs when converting the parent
+ * uefi: Allow devices to create more complete fake UEFI devices
+ * unifying: Fix regression when recovering from failed flash
+ * Ensure libxmlb dir exists for LGTM.com
+ * Add C build configuration for LGTM.com
+ * Use G_BEGIN_DECLS correctly for internal headers
+ * standalone-installer: Fix issue found by LGTM
+ * Use '#pragma once' to avoid a lot of boilerplate
+ * Force LGTM to see Python 3
+ * fwupd: Hide firmware-packager behind meson option`
+ * fu-common-cab: Correct handling of CAB files w/ nested directories and older libgcab
+ * Fix a regression in using the InstanceIDs for quirk matching
+ * thunderbolt: Convert the instance IDs as we never open the device
+ * udev: Manally call fu_device_setup() to convert the instance IDs
+ * fu-tool: Correct a crash caused by calling fwupdtool update
+ * fu-tool: Don't fail if dbus is unavailable
+ * contrib/debian: Switch to debian unstable
+ * wacom-usb: Record the block number when failing
+ * wacom-usb: The touch address is big endian
+ * wacom-usb: Accept a non-binary IHEX file for the touch update
+ * wacom-usb: Only poll when the device status is 'busy'
+ * wacom-usb: Only reboot the device when all composite devices have been updated
+ * wacom-usb: Fix flashing failure with latest Intuos Pro tablet
+ * dfu: Fill holes when reading SREC files
+ * Add fwupd_guid_from_string() to drop dep on uuid
+ * wacom-raw: Check the InstanceID rather than GUID
+ * Defer the InstanceID->GUID hashing until after setup
+ * ata: Check for USB enclosures as well
+ * Do not use efivar just to print a mixed endian GUID
+ * Add fu_device_add_instance_id() and prefer explicit conversion
+ * Report the DeviceInstanceIDs to `fwupdmgr get-updates`
+ * Export some of the GUID functionality
+ * Allow a plugin to set _ANOTHER_WRITE_REQUIRED to run more than one plugin
+ * nvme: Add an extra check for Dell plugins to avoid false positives
+ * ata: Add support for detecting Dell GUIDs
+ * Fix the self tests when using glib2 >=2.59.0
+ * Add support to call composite prepare and cleanup using fwupdtool
+ * uefi: Disable -Wno-address-of-packed-member
+ * uefi: Don't unconditionally enable Werror for the EFI binary
+ * Disable -Wno-address-of-packed-member
+- Changes from version 1.2.4:
+ * Remove the autogenerated headers in the gettext files
+ * ata: Default to the non-activation 0xE subcommand
+ * fastboot: Use a much longer timeout as the removal delay
+ * fu-progressbar: be more quiet when running non-interactive
+ * fu-tool: Show UpdateMessage if applicable for install command
+ * dfu: Simplify the SREC parser to avoid a crash with an invalid file
+ * wacom-raw: Use the correct error codes when the panel is not supported
+ * wacom-usb: Add some more information to the README
+ * fu-keyring-utils: Don't fail missing PKI directory when compiled with GPG/PKCS7
+ * dell: Check that the flash interface command is available
+ * wacom-usb: Fix the plugin name to allow devices to be updated
+ * fastboot: flash the partition after downloading the file
+ * uefi: Add a quirk to use the legacy bootmgr description
+ * ata: Mark all devices as needing a reboot
+ * ata: Add a new plugin to upgrade firmware on ATA/ATAPI hardware
+ * udev-device: Add a utility function for debugging
+ * udev-device: Set the firmware revision automatically
+ * udev-device: Set the serial number automatically
+ * udev-device: Fall back to non-database model and vendor values
+ * udev-device: Fix critical warning if the device has no parent
+ * dell-dock: Add support for a passive flow
+ * Add support for an `UpdateMessage` and display it in tools
+ * fu-tool: Port the `get-updates` command over
+ * When using `directory` remote type automatically generate metadata
+ * libfwupd: Add support for new remote type "directory"
+ * Ensure cabinet archives always have a container checksum
+ * Add support for a per-release source and details URL
+ * When generating a CAB Silo use the prefix "components"
+ * uefi: Add a trivial debugging statement to debug a UX capsule failure
+ * uefi: Use fwup_new0() to allocate the updates table array
+ * nitrokey: Correct Nitrokey Storage invalid firmware version read
+ * dell-dock: Add support for flashing Thunderbolt over I2C
++++ 219 more lines (skipped)
++++ between /work/SRC/openSUSE:Factory/fwupd/fwupd.changes
++++ and /work/SRC/openSUSE:Factory/.fwupd.new.5148/fwupd.changes
Old:
----
fwupd-1.2.3.tar.xz
fwupd-bsc1130056-change-esp-os-name.patch
New:
----
fwupd-1.2.8.tar.xz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ fwupd.spec ++++++
--- /var/tmp/diff_new_pack.yZPugk/_old 2019-05-25 13:14:25.288466256 +0200
+++ /var/tmp/diff_new_pack.yZPugk/_new 2019-05-25 13:14:25.288466256 +0200
@@ -28,17 +28,15 @@
%global efidir sles
%endif
Name: fwupd
-Version: 1.2.3
+Version: 1.2.8
Release: 0
Summary: Device firmware updater daemon
License: GPL-2.0-or-later AND LGPL-2.1-or-later
Group: System/Management
URL: https://fwupd.org/
Source: %{name}-%{version}.tar.xz
-# PATCH-FIX-UPSTREAM fwupd-bsc1130056-change-esp-os-name.patch bsc#1130056
-Patch1: fwupd-bsc1130056-change-esp-os-name.patch
# PATCH-FIX-OPENSUSE fwupd-bsc1130056-shim-path.patch bsc#1130056
-Patch2: fwupd-bsc1130056-change-shim-path.patch
+Patch1: fwupd-bsc1130056-change-shim-path.patch
BuildRequires: dejavu-fonts
BuildRequires: docbook-utils-minimal
BuildRequires: gcab
@@ -144,7 +142,6 @@
%prep
%setup -q
%patch1 -p1
-%patch2 -p1
for file in $(grep -l %{_bindir}/env . -r); do
sed -i "s|%{_bindir}/env python3|%{_bindir}/python3|" $file
done
@@ -256,6 +253,9 @@
%dir %{_localstatedir}/lib/%{name}/
%{_datadir}/bash-completion/completions/fwupdmgr
%{_datadir}/bash-completion/completions/fwupdtool
+%{_datadir}/bash-completion/completions/fwupdagent
+%{_datadir}/icons/hicolor/*
+%{_prefix}/lib/systemd/system-shutdown/fwupd.shutdown
%files -n dfu-tool
%{_bindir}/dfu-tool
++++++ _service ++++++
--- /var/tmp/diff_new_pack.yZPugk/_old 2019-05-25 13:14:25.312466248 +0200
+++ /var/tmp/diff_new_pack.yZPugk/_new 2019-05-25 13:14:25.312466248 +0200
@@ -4,11 +4,11 @@
<param name="scm">git</param>
<param name="versionformat">@PARENT_TAG@</param>
<param name="changesgenerate">enable</param>
- <param name="revision">refs/tags/1.2.3</param>
+ <param name="revision">refs/tags/1.2.8</param>
</service>
<service name="recompress" mode="disabled">
<param name="file">*.tar</param>
<param name="compression">xz</param>
</service>
<service name="set_version" mode="disabled"/>
-</services>
+</services>
\ No newline at end of file
++++++ _servicedata ++++++
--- /var/tmp/diff_new_pack.yZPugk/_old 2019-05-25 13:14:25.324466243 +0200
+++ /var/tmp/diff_new_pack.yZPugk/_new 2019-05-25 13:14:25.328466242 +0200
@@ -1,4 +1,4 @@
<servicedata>
<service name="tar_scm">
- <param name="url">https://github.com/hughsie/fwupd.git</param>
- <param name="changesrevision">36a5b8f7a26b881dd41cca2466618d5a29796a45</param></service></servicedata>
\ No newline at end of file
+ <param name="url">https://github.com/hughsie/fwupd.git</param>
+ <param name="changesrevision">828c913e37ef9af283afb7f13b04459cd199c887</param></service></servicedata>
\ No newline at end of file
++++++ fwupd-1.2.3.tar.xz -> fwupd-1.2.8.tar.xz ++++++
++++ 45192 lines of diff (skipped)
++++++ fwupd-bsc1130056-change-shim-path.patch ++++++
--- /var/tmp/diff_new_pack.yZPugk/_old 2019-05-25 13:14:26.052465973 +0200
+++ /var/tmp/diff_new_pack.yZPugk/_new 2019-05-25 13:14:26.056465972 +0200
@@ -14,16 +14,15 @@
index 7bec311..22357d4 100644
--- a/plugins/uefi/fu-uefi-bootmgr.c
+++ b/plugins/uefi/fu-uefi-bootmgr.c
-@@ -319,7 +319,8 @@ fu_uefi_bootmgr_bootnext (const gchar *esp_path, FuUefiBootmgrFlags flags, GErro
+@@ -322,7 +322,8 @@
return FALSE;
/* test to make sure shim is there if we need it */
- shim_app = fu_uefi_get_esp_app_path (esp_path, "shim", error);
-+ shim_app = g_strdup_printf ("%s/shim.efi",
++ shim_app = g_strdup_printf ("%s/shim.efi",
+ fu_uefi_get_esp_path_for_os (esp_path));
if (shim_app == NULL)
return FALSE;
- if (!g_file_test (shim_app, G_FILE_TEST_EXISTS)) {
---
+ if (g_file_test (shim_app, G_FILE_TEST_EXISTS)) {
2.21.0
1
0
Hello community,
here is the log from the commit of package openucx for openSUSE:Factory checked in at 2019-05-25 13:14:07
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/openucx (Old)
and /work/SRC/openSUSE:Factory/.openucx.new.5148 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "openucx"
Sat May 25 13:14:07 2019 rev:13 rq:703079 version:1.5.0
Changes:
--------
--- /work/SRC/openSUSE:Factory/openucx/openucx.changes 2019-04-04 11:59:59.909252773 +0200
+++ /work/SRC/openSUSE:Factory/.openucx.new.5148/openucx.changes 2019-05-25 13:14:10.956471586 +0200
@@ -1,0 +2,5 @@
+Wed May 15 05:52:55 UTC 2019 - Nicolas Morey-Chaisemartin <nmoreychaisemartin(a)suse.com>
+
+- Disable Werror to handle boo#1121267
+
+-------------------------------------------------------------------
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ openucx.spec ++++++
--- /var/tmp/diff_new_pack.I4SZO4/_old 2019-05-25 13:14:12.400471049 +0200
+++ /var/tmp/diff_new_pack.I4SZO4/_new 2019-05-25 13:14:12.420471041 +0200
@@ -152,7 +152,8 @@
%endif
--docdir="%_docdir/%name"
-make %{?_smp_mflags} V=1
+# Override BASE_CFLAGS to disable Werror (boo#1121267)
+make %{?_smp_mflags} V=1 BASE_CFLAGS="-g -Wall"
%post -n libucp0 -p /sbin/ldconfig
%postun -n libucp0 -p /sbin/ldconfig
1
0
Hello community,
here is the log from the commit of package shim for openSUSE:Factory checked in at 2019-05-25 13:13:55
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/shim (Old)
and /work/SRC/openSUSE:Factory/.shim.new.5148 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "shim"
Sat May 25 13:13:55 2019 rev:76 rq:702795 version:15+git47
Changes:
--------
--- /work/SRC/openSUSE:Factory/shim/shim.changes 2019-04-17 11:23:12.490408484 +0200
+++ /work/SRC/openSUSE:Factory/.shim.new.5148/shim.changes 2019-05-25 13:14:00.984475294 +0200
@@ -1,0 +2,5 @@
+Fri Apr 19 10:32:11 UTC 2019 - Martin Liška <mliska(a)suse.cz>
+
+- Add gcc9-fix-warnings.patch (bsc#1121268).
+
+-------------------------------------------------------------------
New:
----
gcc9-fix-warnings.patch
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ shim.spec ++++++
--- /var/tmp/diff_new_pack.Br4SSE/_old 2019-05-25 13:14:02.652474673 +0200
+++ /var/tmp/diff_new_pack.Br4SSE/_new 2019-05-25 13:14:02.656474672 +0200
@@ -12,7 +12,7 @@
# license that conforms to the Open Source Definition (Version 1.9)
# published by the Open Source Initiative.
-# Please submit bugfixes or comments via https://bugs.opensuse.org/
+# Please submit bugfixes or comments via http://bugs.opensuse.org/
#
# needssslcertforbuild
@@ -71,6 +71,8 @@
# PATCH-FIX-UPSTREAM shim-always-mirror-mok-variables.patch glin(a)suse.com -- Mirror MOK variables correctly
Patch4: shim-always-mirror-mok-variables.patch
Patch5: shim-correct-license-in-headers.patch
+# PATCH-FIX-UPSTREAM gcc9-fix-warnings.patch mliska(a)suse.cz -- MokManager: Use CompareMem on MokListNode.Type instead of CompareGuid
+Patch6: gcc9-fix-warnings.patch
# PATCH-FIX-OPENSUSE shim-opensuse-cert-prompt.patch glin(a)suse.com -- Show the prompt to ask whether the user trusts openSUSE certificate or not
Patch100: shim-opensuse-cert-prompt.patch
BuildRequires: gnu-efi >= 3.0.3
@@ -117,6 +119,7 @@
%patch3 -p1
%patch4 -p1
%patch5 -p1
+%patch6 -p1
%if 0%{?is_opensuse} == 1
%patch100 -p1
%endif
++++++ gcc9-fix-warnings.patch ++++++
>From f30cd0b6330be8ea72a93bf25e43829c222ba611 Mon Sep 17 00:00:00 2001
From: Gary Lin <glin(a)suse.com>
Date: Tue, 26 Feb 2019 11:33:53 +0800
Subject: [PATCH] MokManager: Use CompareMem on MokListNode.Type instead of
CompareGuid
Fix the errors from gcc9 '-Werror=address-of-packed-member'
https://github.com/rhboot/shim/issues/161
Signed-off-by: Gary Lin <glin(a)suse.com>
---
MokManager.c | 14 +++++++++-----
1 file changed, 9 insertions(+), 5 deletions(-)
diff --git a/MokManager.c b/MokManager.c
index d69b4dbe..05dc1622 100644
--- a/MokManager.c
+++ b/MokManager.c
@@ -1053,7 +1053,8 @@ static EFI_STATUS write_back_mok_list(MokListNode * list, INTN key_num,
continue;
DataSize += sizeof(EFI_SIGNATURE_LIST);
- if (CompareGuid(&(list[i].Type), &X509_GUID) == 0)
+ if (CompareMem(&(list[i].Type), &X509_GUID,
+ sizeof(EFI_GUID)) == 0)
DataSize += sizeof(EFI_GUID);
DataSize += list[i].MokSize;
}
@@ -1075,7 +1076,8 @@ static EFI_STATUS write_back_mok_list(MokListNode * list, INTN key_num,
CertList->SignatureType = list[i].Type;
CertList->SignatureHeaderSize = 0;
- if (CompareGuid(&(list[i].Type), &X509_GUID) == 0) {
+ if (CompareMem(&(list[i].Type), &X509_GUID,
+ sizeof(EFI_GUID)) == 0) {
CertList->SignatureListSize = list[i].MokSize +
sizeof(EFI_SIGNATURE_LIST) + sizeof(EFI_GUID);
CertList->SignatureSize =
@@ -1116,7 +1118,8 @@ static void delete_cert(void *key, UINT32 key_size,
int i;
for (i = 0; i < mok_num; i++) {
- if (CompareGuid(&(mok[i].Type), &X509_GUID) != 0)
+ if (CompareMem(&(mok[i].Type), &X509_GUID,
+ sizeof(EFI_GUID)) != 0)
continue;
if (mok[i].MokSize == key_size &&
@@ -1167,7 +1170,7 @@ static void delete_hash_in_list(EFI_GUID Type, UINT8 * hash, UINT32 hash_size,
sig_size = hash_size + sizeof(EFI_GUID);
for (i = 0; i < mok_num; i++) {
- if ((CompareGuid(&(mok[i].Type), &Type) != 0) ||
+ if ((CompareMem(&(mok[i].Type), &Type, sizeof(EFI_GUID)) != 0) ||
(mok[i].MokSize < sig_size))
continue;
@@ -1331,7 +1334,8 @@ static EFI_STATUS delete_keys(void *MokDel, UINTN MokDelSize, BOOLEAN MokX)
/* Search and destroy */
for (i = 0; i < del_num; i++) {
- if (CompareGuid(&(del_key[i].Type), &X509_GUID) == 0) {
+ if (CompareMem(&(del_key[i].Type), &X509_GUID,
+ sizeof(EFI_GUID)) == 0) {
delete_cert(del_key[i].Mok, del_key[i].MokSize,
mok, mok_num);
} else if (is_sha2_hash(del_key[i].Type)) {
1
0
Hello community,
here is the log from the commit of package 000product for openSUSE:Factory checked in at 2019-05-24 17:06:25
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/000product (Old)
and /work/SRC/openSUSE:Factory/.000product.new.5148 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "000product"
Fri May 24 17:06:25 2019 rev:1267 rq: version:unknown
Changes:
--------
New Changes file:
NO CHANGES FILE!!!
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ openSUSE-Addon-NonOss-ftp-ftp-i586_x86_64.kiwi ++++++
--- /var/tmp/diff_new_pack.oWfwcu/_old 2019-05-24 17:06:28.720496374 +0200
+++ /var/tmp/diff_new_pack.oWfwcu/_new 2019-05-24 17:06:28.720496374 +0200
@@ -1,4 +1,4 @@
-<image name="OBS__openSUSE-Addon-NonOss___20190522" schemaversion="4.1">
+<image name="OBS__openSUSE-Addon-NonOss___20190524" schemaversion="4.1">
<description type="system">
<author>The SUSE Team</author>
<contact>build(a)opensuse.org</contact>
@@ -36,11 +36,11 @@
<productvar name="SEPARATE_MEDIA">true</productvar>
<productvar name="SHA1OPT">-x -2</productvar>
<productvar name="VENDOR">openSUSE</productvar>
- <productvar name="VERSION">20190522</productvar>
+ <productvar name="VERSION">20190524</productvar>
<productinfo name="CONTENTSTYLE">11</productinfo>
- <productinfo name="DISTRO">cpe:/o:opensuse:opensuse-addon-nonoss:20190522,openSUSE NonOSS Addon</productinfo>
+ <productinfo name="DISTRO">cpe:/o:opensuse:opensuse-addon-nonoss:20190524,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/2019… obsproduct://build.opensuse.org/openSUSE:Factory/openSUSE-Addon-NonOss/2019…</productinfo>
+ <productinfo name="REPOID">obsproduct://build.opensuse.org/openSUSE:Factory/openSUSE-Addon-NonOss/2019… obsproduct://build.opensuse.org/openSUSE:Factory/openSUSE-Addon-NonOss/2019…</productinfo>
<productinfo name="VENDOR">openSUSE</productinfo>
<productoption name="INI_DIR">/usr/share/kiwi/modules/plugins/suse-tumbleweed</productoption>
<productoption name="PLUGIN_DIR">/usr/share/kiwi/modules/plugins/suse-tumbleweed</productoption>
++++++ openSUSE-MicroOS-dvd5-dvd-x86_64.kiwi ++++++
--- /var/tmp/diff_new_pack.oWfwcu/_old 2019-05-24 17:06:28.740496366 +0200
+++ /var/tmp/diff_new_pack.oWfwcu/_new 2019-05-24 17:06:28.740496366 +0200
@@ -1,4 +1,4 @@
-<image name="OBS__openSUSE-MicroOS___20190522" schemaversion="4.1">
+<image name="OBS__openSUSE-MicroOS___20190524" 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">20190522</productvar>
+ <productvar name="VERSION">20190524</productvar>
<productinfo name="CONTENTSTYLE">11</productinfo>
- <productinfo name="DISTRO">cpe:/o:opensuse:opensuse-microos:20190522,openSUSE MicroOS</productinfo>
+ <productinfo name="DISTRO">cpe:/o:opensuse:opensuse-microos:20190524,openSUSE MicroOS</productinfo>
<productinfo name="LINGUAS">en_US </productinfo>
- <productinfo name="REPOID">obsproduct://build.opensuse.org/openSUSE:Factory/openSUSE-MicroOS/20190522/…</productinfo>
+ <productinfo name="REPOID">obsproduct://build.opensuse.org/openSUSE:Factory/openSUSE-MicroOS/20190524/…</productinfo>
<productinfo name="VENDOR">openSUSE</productinfo>
<productoption name="INI_DIR">/usr/share/kiwi/modules/plugins/suse-tumbleweed</productoption>
<productoption name="PLUGIN_DIR">/usr/share/kiwi/modules/plugins/suse-tumbleweed</productoption>
openSUSE-MicroOS-dvd5-kubic-dvd-x86_64.kiwi: same change
++++++ openSUSE-cd-mini-i586.kiwi ++++++
--- /var/tmp/diff_new_pack.oWfwcu/_old 2019-05-24 17:06:28.792496345 +0200
+++ /var/tmp/diff_new_pack.oWfwcu/_new 2019-05-24 17:06:28.796496343 +0200
@@ -1,4 +1,4 @@
-<image name="OBS__openSUSE___20190522" schemaversion="4.1">
+<image name="OBS__openSUSE___20190524" schemaversion="4.1">
<description type="system">
<author>The SUSE Team</author>
<contact>build(a)opensuse.org</contact>
@@ -32,11 +32,11 @@
<productvar name="SEPARATE_MEDIA">true</productvar>
<productvar name="SHA1OPT">-x -2</productvar>
<productvar name="VENDOR">openSUSE</productvar>
- <productvar name="VERSION">20190522</productvar>
+ <productvar name="VERSION">20190524</productvar>
<productinfo name="CONTENTSTYLE">11</productinfo>
- <productinfo name="DISTRO">cpe:/o:opensuse:opensuse:20190522,openSUSE Tumbleweed</productinfo>
+ <productinfo name="DISTRO">cpe:/o:opensuse:opensuse:20190524,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/20190522/i586</productinfo>
+ <productinfo name="REPOID">obsproduct://build.opensuse.org/openSUSE:Factory/openSUSE/20190524/i586</productinfo>
<productinfo name="VENDOR">openSUSE</productinfo>
<productoption name="INI_DIR">/usr/share/kiwi/modules/plugins/suse-tumbleweed</productoption>
<productoption name="PLUGIN_DIR">/usr/share/kiwi/modules/plugins/suse-tumbleweed</productoption>
++++++ openSUSE-cd-mini-x86_64.kiwi ++++++
--- /var/tmp/diff_new_pack.oWfwcu/_old 2019-05-24 17:06:28.808496338 +0200
+++ /var/tmp/diff_new_pack.oWfwcu/_new 2019-05-24 17:06:28.812496337 +0200
@@ -1,4 +1,4 @@
-<image name="OBS__openSUSE___20190522" schemaversion="4.1">
+<image name="OBS__openSUSE___20190524" 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">20190522</productvar>
+ <productvar name="VERSION">20190524</productvar>
<productinfo name="CONTENTSTYLE">11</productinfo>
- <productinfo name="DISTRO">cpe:/o:opensuse:opensuse:20190522,openSUSE Tumbleweed</productinfo>
+ <productinfo name="DISTRO">cpe:/o:opensuse:opensuse:20190524,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/20190522/x86_64</productinfo>
+ <productinfo name="REPOID">obsproduct://build.opensuse.org/openSUSE:Factory/openSUSE/20190524/x86_64</productinfo>
<productinfo name="VENDOR">openSUSE</productinfo>
<productoption name="INI_DIR">/usr/share/kiwi/modules/plugins/suse-tumbleweed</productoption>
<productoption name="PLUGIN_DIR">/usr/share/kiwi/modules/plugins/suse-tumbleweed</productoption>
++++++ openSUSE-dvd5-dvd-i586.kiwi ++++++
--- /var/tmp/diff_new_pack.oWfwcu/_old 2019-05-24 17:06:28.820496334 +0200
+++ /var/tmp/diff_new_pack.oWfwcu/_new 2019-05-24 17:06:28.824496333 +0200
@@ -1,4 +1,4 @@
-<image name="OBS__openSUSE___20190522" schemaversion="4.1">
+<image name="OBS__openSUSE___20190524" schemaversion="4.1">
<description type="system">
<author>The SUSE Team</author>
<contact>build(a)opensuse.org</contact>
@@ -32,11 +32,11 @@
<productvar name="SEPARATE_MEDIA">true</productvar>
<productvar name="SHA1OPT">-x -2</productvar>
<productvar name="VENDOR">openSUSE</productvar>
- <productvar name="VERSION">20190522</productvar>
+ <productvar name="VERSION">20190524</productvar>
<productinfo name="CONTENTSTYLE">11</productinfo>
- <productinfo name="DISTRO">cpe:/o:opensuse:opensuse:20190522,openSUSE Tumbleweed</productinfo>
+ <productinfo name="DISTRO">cpe:/o:opensuse:opensuse:20190524,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/20190522/i586</productinfo>
+ <productinfo name="REPOID">obsproduct://build.opensuse.org/openSUSE:Factory/openSUSE/20190524/i586</productinfo>
<productinfo name="VENDOR">openSUSE</productinfo>
<productoption name="INI_DIR">/usr/share/kiwi/modules/plugins/suse-tumbleweed</productoption>
<productoption name="PLUGIN_DIR">/usr/share/kiwi/modules/plugins/suse-tumbleweed</productoption>
@@ -5174,6 +5174,7 @@
<repopackage name="util-linux-systemd"/>
<repopackage name="util-macros-devel"/>
<repopackage name="v4l-conf"/>
+ <repopackage name="v4l2loopback-kmp-default"/>
<repopackage name="vacation"/>
<repopackage name="vala"/>
<repopackage name="valgrind"/>
++++++ openSUSE-dvd5-dvd-x86_64.kiwi ++++++
--- /var/tmp/diff_new_pack.oWfwcu/_old 2019-05-24 17:06:28.836496327 +0200
+++ /var/tmp/diff_new_pack.oWfwcu/_new 2019-05-24 17:06:28.836496327 +0200
@@ -1,4 +1,4 @@
-<image name="OBS__openSUSE___20190522" schemaversion="4.1">
+<image name="OBS__openSUSE___20190524" 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">20190522</productvar>
+ <productvar name="VERSION">20190524</productvar>
<productinfo name="CONTENTSTYLE">11</productinfo>
- <productinfo name="DISTRO">cpe:/o:opensuse:opensuse:20190522,openSUSE Tumbleweed</productinfo>
+ <productinfo name="DISTRO">cpe:/o:opensuse:opensuse:20190524,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/20190522/x86_64</productinfo>
+ <productinfo name="REPOID">obsproduct://build.opensuse.org/openSUSE:Factory/openSUSE/20190524/x86_64</productinfo>
<productinfo name="VENDOR">openSUSE</productinfo>
<productoption name="INI_DIR">/usr/share/kiwi/modules/plugins/suse-tumbleweed</productoption>
<productoption name="PLUGIN_DIR">/usr/share/kiwi/modules/plugins/suse-tumbleweed</productoption>
@@ -5426,6 +5426,7 @@
<repopackage name="util-linux-systemd"/>
<repopackage name="util-macros-devel"/>
<repopackage name="v4l-conf"/>
+ <repopackage name="v4l2loopback-kmp-default"/>
<repopackage name="vacation"/>
<repopackage name="vala"/>
<repopackage name="valgrind"/>
++++++ openSUSE-ftp-ftp-i586_x86_64.kiwi ++++++
--- /var/tmp/diff_new_pack.oWfwcu/_old 2019-05-24 17:06:28.872496313 +0200
+++ /var/tmp/diff_new_pack.oWfwcu/_new 2019-05-24 17:06:28.876496311 +0200
@@ -1,4 +1,4 @@
-<image name="OBS__openSUSE___20190522" schemaversion="4.1">
+<image name="OBS__openSUSE___20190524" schemaversion="4.1">
<description type="system">
<author>The SUSE Team</author>
<contact>build(a)opensuse.org</contact>
@@ -24,7 +24,7 @@
<productvar name="DISTNAME">openSUSE</productvar>
<productvar name="FLAVOR">ftp</productvar>
<productvar name="MAKE_LISTINGS">true</productvar>
- <productvar name="MEDIUM_NAME">openSUSE-20190522-i586-x86_64</productvar>
+ <productvar name="MEDIUM_NAME">openSUSE-20190524-i586-x86_64</productvar>
<productvar name="MULTIPLE_MEDIA">true</productvar>
<productvar name="PRODUCT_DIR">/</productvar>
<productvar name="PRODUCT_NAME">$DISTNAME-$FLAVOR</productvar>
@@ -36,11 +36,11 @@
<productvar name="SEPARATE_MEDIA">true</productvar>
<productvar name="SHA1OPT">-x -2</productvar>
<productvar name="VENDOR">openSUSE</productvar>
- <productvar name="VERSION">20190522</productvar>
+ <productvar name="VERSION">20190524</productvar>
<productinfo name="CONTENTSTYLE">11</productinfo>
- <productinfo name="DISTRO">cpe:/o:opensuse:opensuse:20190522,openSUSE Tumbleweed</productinfo>
+ <productinfo name="DISTRO">cpe:/o:opensuse:opensuse:20190524,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/20190522/i586 obsproduct://build.opensuse.org/openSUSE:Factory/openSUSE/20190522/x86_64</productinfo>
+ <productinfo name="REPOID">obsproduct://build.opensuse.org/openSUSE:Factory/openSUSE/20190524/i586 obsproduct://build.opensuse.org/openSUSE:Factory/openSUSE/20190524/x86_64</productinfo>
<productinfo name="VENDOR">openSUSE</productinfo>
<productoption name="DEBUGMEDIUM">2</productoption>
<productoption name="INI_DIR">/usr/share/kiwi/modules/plugins/suse-tumbleweed</productoption>
++++++ dvd.group ++++++
--- /var/tmp/diff_new_pack.oWfwcu/_old 2019-05-24 17:06:29.012496255 +0200
+++ /var/tmp/diff_new_pack.oWfwcu/_new 2019-05-24 17:06:29.016496254 +0200
@@ -5122,6 +5122,7 @@
<package name="util-linux-systemd" supportstatus="unsupported"/> <!-- reason: dvd:kernel-default -->
<package name="util-macros-devel" supportstatus="unsupported"/> <!-- reason: dvd:expansion -->
<package name="v4l-conf" supportstatus="unsupported"/> <!-- reason: dvd:expansion -->
+ <package name="v4l2loopback-kmp-default" supportstatus="unsupported"/> <!-- reason: dvd:expansion -->
<package name="vacation" supportstatus="unsupported"/> <!-- reason: dvd:patterns-server-mail_server -->
<package name="vala" supportstatus="unsupported"/> <!-- reason: dvd:patterns-gnome-gnome_ide -->
<package name="valgrind" supportstatus="unsupported"/> <!-- reason: dvd:patterns-devel-C-C++-devel_C_C++ -->
++++++ unsorted.yml ++++++
--- /var/tmp/diff_new_pack.oWfwcu/_old 2019-05-24 17:06:29.136496206 +0200
+++ /var/tmp/diff_new_pack.oWfwcu/_new 2019-05-24 17:06:29.136496206 +0200
@@ -2080,6 +2080,8 @@
- deepin-music-player
- deepin-system-monitor
- deepin-system-monitor-lang
+ - deepin-turbo
+ - deepin-turbo-devel
- dehydrated
- dehydrated-apache2
- dehydrated-lighttpd
@@ -2369,6 +2371,7 @@
- elementary-icon-theme
- elementary-icon-theme-gimp-palette
- elementary-icon-theme-inkscape-palette
+ - elementary-wallpapers
- elemines
- elftoaout
- elib
@@ -4379,7 +4382,11 @@
- gocode
- gocr
- gocr-gui
+ - godot
+ - godot-headless
- godot-rpm-macros
+ - godot-runner
+ - godot-server
- goffice-devel
- golang-github-cpuguy83-go-md2man
- golang-github-docker-libnetwork
@@ -14719,6 +14726,7 @@
- pangox-compat
- pangox-devel
- panini
+ - pantheon-wallpapers-branding-upstream
- paper-icon-theme
- paperclips
- paperclips-javadoc
@@ -16623,7 +16631,6 @@
- python-base-32bit: [x86_64]
- python-beautifulsoup4-doc
- python-billiard-doc
- - python-bjoern
- python-blinker-doc
- python-boost_parallel_mpi
- python-bottle-doc
@@ -16975,6 +16982,7 @@
- python2-Genshi
- python2-GeoIP
- python2-GitPython
+ - python2-Glances
- python2-GooCalendar
- python2-GridDataFormats
- python2-HeapDict
@@ -17361,6 +17369,7 @@
- python2-biopython
- python2-biplist
- python2-bitstring
+ - python2-bjoern
- python2-bleach
- python2-blessed
- python2-blessings
@@ -17461,7 +17470,6 @@
- python2-cmd2
- python2-cmdln
- python2-coards
- - python2-coconut
- python2-codecov
- python2-cogapp
- python2-colander
@@ -17904,6 +17912,7 @@
- python2-json_tricks
- python2-jsondate
- python2-jsondiff
+ - python2-jsonextended
- python2-jsonlines
- python2-jsonpatch
- python2-jsonpath-rw
@@ -18099,6 +18108,7 @@
- python2-msgpack-numpy
- python2-msrest
- python2-msrestazure
+ - python2-mujson
- python2-mulpyplexer
- python2-multi_key_dict
- python2-multipledispatch
@@ -19149,6 +19159,7 @@
- python3-GeoIP
- python3-GitPython
- python3-GitgExt
+ - python3-Glances
- python3-GooCalendar
- python3-GridDataFormats
- python3-HTTPolice
@@ -19543,6 +19554,7 @@
- python3-biopython
- python3-biplist
- python3-bitstring
+ - python3-bjoern
- python3-black
- python3-bleach
- python3-blessed
@@ -20143,6 +20155,7 @@
- python3-json_tricks
- python3-jsondate
- python3-jsondiff
+ - python3-jsonextended
- python3-jsonlib-python3
- python3-jsonlines
- python3-jsonpatch: [i586]
@@ -20366,6 +20379,7 @@
- python3-msm
- python3-msrest
- python3-msrestazure
+ - python3-mujson
- python3-mulpyplexer
- python3-multi_key_dict
- python3-multidict
@@ -23312,6 +23326,7 @@
- suse-module-tools-legacy
- suse-prime
- suse-xsl-stylesheets
+ - suseprime-appindicator
- svg-schema-doc
- svgcleaner
- svgcleaner-gui
@@ -31182,7 +31197,6 @@
- v4l-utils
- v4l-utils-devel-tools
- v4l-utils-lang
- - v4l2loopback-kmp-default
- v4l2loopback-kmp-pae: [i586]
- v4l2loopback-utils
- vacuum-im
1
0
Hello community,
here is the log from the commit of package 000release-packages for openSUSE:Factory checked in at 2019-05-24 17:06:20
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/000release-packages (Old)
and /work/SRC/openSUSE:Factory/.000release-packages.new.5148 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "000release-packages"
Fri May 24 17:06:20 2019 rev:147 rq: version:unknown
Changes:
--------
New Changes file:
NO CHANGES FILE!!!
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ openSUSE-Addon-NonOss-release.spec ++++++
--- /var/tmp/diff_new_pack.TDUcrh/_old 2019-05-24 17:06:23.048498678 +0200
+++ /var/tmp/diff_new_pack.TDUcrh/_new 2019-05-24 17:06:23.052498675 +0200
@@ -1,5 +1,5 @@
#
-# spec file for package openSUSE-Addon-NonOss-release (Version 20190522)
+# spec file for package openSUSE-Addon-NonOss-release (Version 20190524)
#
# Copyright (c) 2019 openSUSE.
#
@@ -16,16 +16,16 @@
Name: openSUSE-Addon-NonOss-release
%define product openSUSE-Addon-NonOss
Summary: openSUSE NonOSS Addon
-Version: 20190522
+Version: 20190524
Release: 0
License: BSD-3-Clause
Group: System/Fhs
Provides: %name-%version
Provides: product() = openSUSE-Addon-NonOss
-Provides: product(openSUSE-Addon-NonOss) = 20190522-0
+Provides: product(openSUSE-Addon-NonOss) = 20190524-0
Provides: product-label() = non%20oss%20addon
-Provides: product-cpeid() = cpe%3A%2Fo%3Aopensuse%3Aopensuse%2Daddon%2Dnonoss%3A20190522
+Provides: product-cpeid() = cpe%3A%2Fo%3Aopensuse%3Aopensuse%2Daddon%2Dnonoss%3A20190524
AutoReqProv: on
@@ -49,10 +49,10 @@
<product schemeversion="0">
<vendor>openSUSE</vendor>
<name>openSUSE-Addon-NonOss</name>
- <version>20190522</version>
+ <version>20190524</version>
<release>0</release>
<arch>%{_target_cpu}</arch>
- <cpeid>cpe:/o:opensuse:opensuse-addon-nonoss:20190522</cpeid>
+ <cpeid>cpe:/o:opensuse:opensuse-addon-nonoss:20190524</cpeid>
<register>
<pool>
</pool>
++++++ openSUSE-MicroOS-release.spec ++++++
--- /var/tmp/diff_new_pack.TDUcrh/_old 2019-05-24 17:06:23.068498670 +0200
+++ /var/tmp/diff_new_pack.TDUcrh/_new 2019-05-24 17:06:23.072498667 +0200
@@ -17,7 +17,7 @@
Name: openSUSE-MicroOS-release
-Version: 20190522
+Version: 20190524
Release: 0
Summary: openSUSE MicroOS
License: GPL-2.0-or-later
@@ -40,9 +40,9 @@
ExclusiveArch: %ix86 x86_64 ppc64le s390x aarch64
Provides: %name-%version
Provides: product() = openSUSE-MicroOS
-Provides: product(openSUSE-MicroOS) = 20190522-0
+Provides: product(openSUSE-MicroOS) = 20190524-0
Provides: product-label() = openSUSE%20MicroOS
-Provides: product-cpeid() = cpe%3A%2Fo%3Aopensuse%3Aopensuse%2Dmicroos%3A20190522
+Provides: product-cpeid() = cpe%3A%2Fo%3Aopensuse%3Aopensuse%2Dmicroos%3A20190524
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(openSUSE-MicroOS)
@@ -58,7 +58,7 @@
Group: System/Fhs
Provides: product_flavor()
Provides: flavor(dvd)
-Provides: product_flavor(openSUSE-MicroOS) = 20190522-0
+Provides: product_flavor(openSUSE-MicroOS) = 20190524-0
Summary: openSUSE MicroOS
%description dvd
@@ -74,7 +74,7 @@
Group: System/Fhs
Provides: product_flavor()
Provides: flavor(kubic-dvd)
-Provides: product_flavor(openSUSE-MicroOS) = 20190522-0
+Provides: product_flavor(openSUSE-MicroOS) = 20190524-0
Summary: openSUSE MicroOS
%description kubic-dvd
@@ -90,7 +90,7 @@
Group: System/Fhs
Provides: product_flavor()
Provides: flavor(appliance)
-Provides: product_flavor(openSUSE-MicroOS) = 20190522-0
+Provides: product_flavor(openSUSE-MicroOS) = 20190524-0
Summary: openSUSE MicroOS
%description appliance
@@ -106,7 +106,7 @@
Group: System/Fhs
Provides: product_flavor()
Provides: flavor(appliance-kubic)
-Provides: product_flavor(openSUSE-MicroOS) = 20190522-0
+Provides: product_flavor(openSUSE-MicroOS) = 20190524-0
Summary: openSUSE MicroOS
%description appliance-kubic
@@ -164,11 +164,11 @@
<product schemeversion="0">
<vendor>openSUSE</vendor>
<name>openSUSE-MicroOS</name>
- <version>20190522</version>
+ <version>20190524</version>
<release>0</release>
<endoflife></endoflife>
<arch>%{_target_cpu}</arch>
- <cpeid>cpe:/o:opensuse:opensuse-microos:20190522</cpeid>
+ <cpeid>cpe:/o:opensuse:opensuse-microos:20190524</cpeid>
<productline>openSUSE-MicroOS</productline>
<register>
<pool>
++++++ openSUSE-release.spec ++++++
--- /var/tmp/diff_new_pack.TDUcrh/_old 2019-05-24 17:06:23.088498661 +0200
+++ /var/tmp/diff_new_pack.TDUcrh/_new 2019-05-24 17:06:23.092498659 +0200
@@ -20,7 +20,7 @@
#define betaversion %{nil}
%define codename Tumbleweed
Name: openSUSE-release
-Version: 20190522
+Version: 20190524
Release: 0
# 0 is the product release, not the build release of this package
Summary: openSUSE Tumbleweed
@@ -55,7 +55,7 @@
Obsoletes: aaa_version
Obsoletes: openSUSE-Promo-release <= 11.1
Obsoletes: openSUSE-release-live <= 11.0
-Obsoletes: product_flavor(%{product}) < 20190522
+Obsoletes: product_flavor(%{product}) < 20190524
# bnc#826592
Provides: weakremover(kernel-default) < 3.11
Provides: weakremover(kernel-desktop) < 4.2
@@ -183,7 +183,7 @@
%include %{SOURCE100}
Provides: %name-%version
Provides: product() = openSUSE
-Provides: product(openSUSE) = 20190522-0
+Provides: product(openSUSE) = 20190524-0
%ifarch x86_64
Provides: product-register-target() = openSUSE%2DTumbleweed%2Dx86_64
%endif
@@ -197,7 +197,7 @@
Provides: product-register-target() = openSUSE%2DTumbleweed%2Daarch64
%endif
Provides: product-label() = openSUSE
-Provides: product-cpeid() = cpe%3A%2Fo%3Aopensuse%3Aopensuse%3A20190522
+Provides: product-cpeid() = cpe%3A%2Fo%3Aopensuse%3Aopensuse%3A20190524
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)
@@ -211,7 +211,7 @@
Group: System/Fhs
Provides: product_flavor()
Provides: flavor(ftp)
-Provides: product_flavor(openSUSE) = 20190522-0
+Provides: product_flavor(openSUSE) = 20190524-0
Summary: openSUSE Tumbleweed
%description ftp
@@ -226,7 +226,7 @@
Group: System/Fhs
Provides: product_flavor()
Provides: flavor(mini)
-Provides: product_flavor(openSUSE) = 20190522-0
+Provides: product_flavor(openSUSE) = 20190524-0
Summary: openSUSE Tumbleweed
%description mini
@@ -241,7 +241,7 @@
Group: System/Fhs
Provides: product_flavor()
Provides: flavor(dvd)
-Provides: product_flavor(openSUSE) = 20190522-0
+Provides: product_flavor(openSUSE) = 20190524-0
Summary: openSUSE Tumbleweed
%description dvd
@@ -256,7 +256,7 @@
Group: System/Fhs
Provides: product_flavor()
Provides: flavor(livecd-kde)
-Provides: product_flavor(openSUSE) = 20190522-0
+Provides: product_flavor(openSUSE) = 20190524-0
Summary: openSUSE Tumbleweed
%description livecd-kde
@@ -271,7 +271,7 @@
Group: System/Fhs
Provides: product_flavor()
Provides: flavor(livecd-x11)
-Provides: product_flavor(openSUSE) = 20190522-0
+Provides: product_flavor(openSUSE) = 20190524-0
Summary: openSUSE Tumbleweed
%description livecd-x11
@@ -286,7 +286,7 @@
Group: System/Fhs
Provides: product_flavor()
Provides: flavor(livecd-gnome)
-Provides: product_flavor(openSUSE) = 20190522-0
+Provides: product_flavor(openSUSE) = 20190524-0
Summary: openSUSE Tumbleweed
%description livecd-gnome
@@ -301,7 +301,7 @@
Group: System/Fhs
Provides: product_flavor()
Provides: flavor(livecd-xfce)
-Provides: product_flavor(openSUSE) = 20190522-0
+Provides: product_flavor(openSUSE) = 20190524-0
Summary: openSUSE Tumbleweed
%description livecd-xfce
@@ -316,7 +316,7 @@
Group: System/Fhs
Provides: product_flavor()
Provides: flavor(usb-kde)
-Provides: product_flavor(openSUSE) = 20190522-0
+Provides: product_flavor(openSUSE) = 20190524-0
Summary: openSUSE Tumbleweed
%description usb-kde
@@ -331,7 +331,7 @@
Group: System/Fhs
Provides: product_flavor()
Provides: flavor(usb-gnome)
-Provides: product_flavor(openSUSE) = 20190522-0
+Provides: product_flavor(openSUSE) = 20190524-0
Summary: openSUSE Tumbleweed
%description usb-gnome
@@ -346,7 +346,7 @@
Group: System/Fhs
Provides: product_flavor()
Provides: flavor(usb-x11)
-Provides: product_flavor(openSUSE) = 20190522-0
+Provides: product_flavor(openSUSE) = 20190524-0
Summary: openSUSE Tumbleweed
%description usb-x11
@@ -361,7 +361,7 @@
Group: System/Fhs
Provides: product_flavor()
Provides: flavor(appliance)
-Provides: product_flavor(openSUSE) = 20190522-0
+Provides: product_flavor(openSUSE) = 20190524-0
Summary: openSUSE Tumbleweed
%description appliance
@@ -435,10 +435,10 @@
<product schemeversion="0">
<vendor>openSUSE</vendor>
<name>openSUSE</name>
- <version>20190522</version>
+ <version>20190524</version>
<release>0</release>
<arch>%{_target_cpu}</arch>
- <cpeid>cpe:/o:opensuse:opensuse:20190522</cpeid>
+ <cpeid>cpe:/o:opensuse:opensuse:20190524</cpeid>
<productline>openSUSE</productline>
<register>
<pool>
++++++ weakremovers.inc ++++++
--- /var/tmp/diff_new_pack.TDUcrh/_old 2019-05-24 17:06:23.208498613 +0200
+++ /var/tmp/diff_new_pack.TDUcrh/_new 2019-05-24 17:06:23.212498610 +0200
@@ -15794,6 +15794,7 @@
Provides: weakremover(python2-boost_parallel_mpi1_68_0)
Provides: weakremover(python2-ceilometerclient)
Provides: weakremover(python2-cliff-tablib)
+Provides: weakremover(python2-coconut)
Provides: weakremover(python2-configshell)
Provides: weakremover(python2-configshell-fb-doc)
Provides: weakremover(python2-cssselect2)
1
0
Hello community,
here is the log from the commit of package 000product for openSUSE:Factory checked in at 2019-05-24 11:57:42
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/000product (Old)
and /work/SRC/openSUSE:Factory/.000product.new.5148 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "000product"
Fri May 24 11:57:42 2019 rev:1266 rq: version:unknown
Changes:
--------
New Changes file:
NO CHANGES FILE!!!
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
openSUSE-MicroOS-dvd5-dvd-x86_64.kiwi: same change
openSUSE-MicroOS-dvd5-kubic-dvd-x86_64.kiwi: same change
openSUSE-cd-mini-i586.kiwi: same change
openSUSE-cd-mini-x86_64.kiwi: same change
openSUSE-dvd5-dvd-i586.kiwi: same change
openSUSE-dvd5-dvd-x86_64.kiwi: same change
openSUSE-ftp-ftp-i586_x86_64.kiwi: same change
stub.kiwi: same change
++++++ openSUSE-MicroOS.product ++++++
--- /var/tmp/diff_new_pack.fO2Et7/_old 2019-05-24 11:57:43.428810719 +0200
+++ /var/tmp/diff_new_pack.fO2Et7/_new 2019-05-24 11:57:43.428810719 +0200
@@ -6,7 +6,7 @@
<name>openSUSE-MicroOS</name>
<releasepkgname>openSUSE-MicroOS-release</releasepkgname>
<endoflife/>
- <version>20190522</version>
+ <version>20190524</version>
<!-- release is no longer optional -->
<release>0</release>
<productline>openSUSE-MicroOS</productline>
1
0
Hello community,
here is the log from the commit of package 000product for openSUSE:Factory checked in at 2019-05-24 11:57:39
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/000product (Old)
and /work/SRC/openSUSE:Factory/.000product.new.5148 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "000product"
Fri May 24 11:57:39 2019 rev:1265 rq: version:unknown
Changes:
--------
New Changes file:
NO CHANGES FILE!!!
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
openSUSE-MicroOS-dvd5-dvd-x86_64.kiwi: same change
openSUSE-MicroOS-dvd5-kubic-dvd-x86_64.kiwi: same change
openSUSE-cd-mini-i586.kiwi: same change
openSUSE-cd-mini-x86_64.kiwi: same change
openSUSE-dvd5-dvd-i586.kiwi: same change
openSUSE-dvd5-dvd-x86_64.kiwi: same change
openSUSE-ftp-ftp-i586_x86_64.kiwi: same change
stub.kiwi: same change
++++++ openSUSE.product ++++++
--- /var/tmp/diff_new_pack.ZLJ06W/_old 2019-05-24 11:57:42.056811273 +0200
+++ /var/tmp/diff_new_pack.ZLJ06W/_new 2019-05-24 11:57:42.060811272 +0200
@@ -4,7 +4,7 @@
<product>
<vendor>openSUSE</vendor>
<name>openSUSE</name>
- <version>20190522</version>
+ <version>20190524</version>
<release>0</release>
<productline>openSUSE</productline>
1
0
Hello community,
here is the log from the commit of package 000product for openSUSE:Factory checked in at 2019-05-24 11:57:36
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/000product (Old)
and /work/SRC/openSUSE:Factory/.000product.new.5148 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "000product"
Fri May 24 11:57:36 2019 rev:1264 rq: version:unknown
Changes:
--------
New Changes file:
NO CHANGES FILE!!!
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
openSUSE-MicroOS-dvd5-dvd-x86_64.kiwi: same change
openSUSE-MicroOS-dvd5-kubic-dvd-x86_64.kiwi: same change
openSUSE-cd-mini-i586.kiwi: same change
openSUSE-cd-mini-x86_64.kiwi: same change
openSUSE-dvd5-dvd-i586.kiwi: same change
openSUSE-dvd5-dvd-x86_64.kiwi: same change
openSUSE-ftp-ftp-i586_x86_64.kiwi: same change
stub.kiwi: same change
++++++ openSUSE-Addon-NonOss.product ++++++
--- /var/tmp/diff_new_pack.KIarwi/_old 2019-05-24 11:57:39.448812329 +0200
+++ /var/tmp/diff_new_pack.KIarwi/_new 2019-05-24 11:57:39.448812329 +0200
@@ -4,7 +4,7 @@
<product>
<vendor>openSUSE</vendor>
<name>openSUSE-Addon-NonOss</name>
- <version>20190522</version>
+ <version>20190524</version>
<release>0</release>
<summary>openSUSE NonOSS Addon</summary>
<shortsummary>non oss addon</shortsummary>
1
0
Hello community,
here is the log from the commit of package python-bjoern for openSUSE:Factory checked in at 2019-05-24 11:33:39
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-bjoern (Old)
and /work/SRC/openSUSE:Factory/.python-bjoern.new.5148 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-bjoern"
Fri May 24 11:33:39 2019 rev:7 rq:705184 version:3.0.0
Changes:
--------
--- /work/SRC/openSUSE:Factory/python-bjoern/python-bjoern.changes 2018-03-13 10:25:16.555110396 +0100
+++ /work/SRC/openSUSE:Factory/.python-bjoern.new.5148/python-bjoern.changes 2019-05-24 11:33:40.985359971 +0200
@@ -1,0 +2,25 @@
+Thu May 23 06:17:46 UTC 2019 - pgajdos(a)suse.com
+
+- version update to 3.0.0
+ * Fix #91: Support for SIGTERM/SIGINT handling
+ * Fix #144: Proper handling of EAGAIN/EINTR (Adam Bouhenguel)
+ * Fix #138: Use Latin1 encoding for unicode strings
+ * Fix #139: Never use chunked responses for HTTP 204 and 304
+ * Fix #133: Segmentation fault with very long HTTP headers (@szabolcsbalogh)
+ * Fix #130: filewrapper must work with any read()able object
+ * Fix #128: Fix support for io.BytesIO and other pseudo-files
+ * Fix sendfile on BSD and OSX
+ * Fix #122: WSGI environ SERVER_PORT is now a str (Simon Biewald)
+ * Fix #122: WSGI environ SERVER_{PORT,HOST} are now always set (Simon Biewald)
+ * Fix #125: Missing GIL locking (@szabolcsbalogh)
+ * Fix Python 2 segfault
+ * Fix segfault with HTTP header (晏旭瑞)
+ * Fix segfault with large HTTP header
+ * Fix Python 3 unicode header handling
+ * Fix setup.py and `bjoern.version` attribute
+ * Python 3 support (Hua Yanghao, Isaiah Peng). Note that due to the size
+ of this update, version 2.0.0 may be less stable than version 1.4.3.
+- deleted patches
+ - reproducible.patch (upstreamed)
+
+-------------------------------------------------------------------
Old:
----
bjoern-1.4.2.tar.gz
reproducible.patch
New:
----
bjoern-3.0.0.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ python-bjoern.spec ++++++
--- /var/tmp/diff_new_pack.0w7JjX/_old 2019-05-24 11:33:41.677359707 +0200
+++ /var/tmp/diff_new_pack.0w7JjX/_new 2019-05-24 11:33:41.685359705 +0200
@@ -1,7 +1,7 @@
#
# spec file for package python-bjoern
#
-# Copyright (c) 2015 SUSE LINUX GmbH, Nuernberg, Germany.
+# Copyright (c) 2019 SUSE LINUX GmbH, Nuernberg, Germany.
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@@ -12,42 +12,48 @@
# license that conforms to the Open Source Definition (Version 1.9)
# published by the Open Source Initiative.
-# Please submit bugfixes or comments via http://bugs.opensuse.org/
+# Please submit bugfixes or comments via https://bugs.opensuse.org/
#
+%{?!python_module:%define python_module() python-%{**} python3-%{**}}
Name: python-bjoern
-Version: 1.4.2
+Version: 3.0.0
Release: 0
-Summary: A screamingly fast Python WSGI server written in C
+Summary: A screamingly fast Python 2 + 3 WSGI server written in C
License: BSD-2-Clause
Group: Development/Languages/Python
Url: https://github.com/jonashaag/bjoern
-Source: http://pypi.python.org/packages/source/b/bjoern/bjoern-%{version}.tar.gz
-Patch0: reproducible.patch
+Source: https://files.pythonhosted.org/packages/source/b/bjoern/bjoern-%{version}.t…
+BuildRequires: %{python_module devel}
+BuildRequires: %{python_module setuptools}
+BuildRequires: fdupes
BuildRequires: libev-devel
-BuildRequires: python-devel
-BuildRoot: %{_tmppath}/%{name}-%{version}-build
-%if 0%{?suse_version} && 0%{?suse_version} <= 1110
-%{!?python_sitearch: %global python_sitearch %(python -c "from distutils.sysconfig import get_python_lib; print get_python_lib(1)")}
-%endif
+BuildRequires: python-rpm-macros
+
+%python_subpackages
%description
-A screamingly fast Python WSGI server written in C depending on libev.
+A screamingly fast Python 2 + 3 WSGI server written in C.
%prep
%setup -q -n bjoern-%{version}
-%patch0 -p1
%build
-CFLAGS="%{optflags}" python setup.py build
+export CFLAGS="%{optflags}"
+%python_build
%install
-python setup.py install --prefix=%{_prefix} --root=%{buildroot}
+%python_install
+%python_expand %fdupes %{buildroot}%{$python_sitearch}
-%files
-%defattr(-,root,root,-)
-%doc LICENSE
+%check
+# there are no unit tests, but e. g. benchmark tests
+# using ab
+
+%files %{python_files}
+%doc CHANGELOG README.rst
+%license LICENSE
%{python_sitearch}/*
%changelog
++++++ bjoern-1.4.2.tar.gz -> bjoern-3.0.0.tar.gz ++++++
++++ 2914 lines of diff (skipped)
1
0
Hello community,
here is the log from the commit of package lutris for openSUSE:Factory checked in at 2019-05-24 11:33:36
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/lutris (Old)
and /work/SRC/openSUSE:Factory/.lutris.new.5148 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "lutris"
Fri May 24 11:33:36 2019 rev:7 rq:705182 version:0.5.2.1
Changes:
--------
--- /work/SRC/openSUSE:Factory/lutris/lutris.changes 2019-04-11 08:48:15.528558144 +0200
+++ /work/SRC/openSUSE:Factory/.lutris.new.5148/lutris.changes 2019-05-24 11:33:36.853361550 +0200
@@ -1,0 +2,5 @@
+Fri May 24 07:38:43 UTC 2019 - mvetter(a)suse.com
+
+- Add python3-evdev for controller support
+
+-------------------------------------------------------------------
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ lutris.spec ++++++
--- /var/tmp/diff_new_pack.jSQZlL/_old 2019-05-24 11:33:37.425361331 +0200
+++ /var/tmp/diff_new_pack.jSQZlL/_new 2019-05-24 11:33:37.425361331 +0200
@@ -44,6 +44,8 @@
Requires: python3-gobject
Requires: python3-gobject-Gdk
Requires: python3-requests
+# controller support
+Requires: python3-evdev
Recommends: winetricks
BuildArch: noarch
1
0
Hello community,
here is the log from the commit of package nginx for openSUSE:Factory checked in at 2019-05-24 11:33:33
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/nginx (Old)
and /work/SRC/openSUSE:Factory/.nginx.new.5148 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "nginx"
Fri May 24 11:33:33 2019 rev:36 rq:705181 version:1.17.0
Changes:
--------
--- /work/SRC/openSUSE:Factory/nginx/nginx.changes 2019-05-07 23:19:03.904931672 +0200
+++ /work/SRC/openSUSE:Factory/.nginx.new.5148/nginx.changes 2019-05-24 11:33:35.233362168 +0200
@@ -1,0 +2,11 @@
+Thu May 23 19:51:31 UTC 2019 - seanlew(a)opensuse.org
+
+- update to version 1.17.0
+ * Feature: variables support in the "limit_rate" directives
+ * Feature: variables support in the "proxy rate" directies
+ * Change: min supported OpenSSL is 0.9.8
+ * Change: now the postpone filter is always built
+ * Bugfix: the "include" directive didn't work inside "if"
+ * Bugfix: in byte ranges processing
+
+-------------------------------------------------------------------
Old:
----
nginx-1.16.0.tar.gz
nginx-1.16.0.tar.gz.asc
New:
----
nginx-1.17.0.tar.gz
nginx-1.17.0.tar.gz.asc
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ nginx.spec ++++++
--- /var/tmp/diff_new_pack.o096kd/_old 2019-05-24 11:33:36.353361741 +0200
+++ /var/tmp/diff_new_pack.o096kd/_new 2019-05-24 11:33:36.353361741 +0200
@@ -70,7 +70,7 @@
%define ngx_doc_dir %{_datadir}/doc/packages/%{name}
#
Name: nginx
-Version: 1.16.0
+Version: 1.17.0
Release: 0
%define ngx_fancyindex_version 0.4.2
%define ngx_fancyindex_module_path ngx-fancyindex-%{ngx_fancyindex_version}
++++++ nginx-1.16.0.tar.gz -> nginx-1.17.0.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/nginx-1.16.0/CHANGES new/nginx-1.17.0/CHANGES
--- old/nginx-1.16.0/CHANGES 2019-04-23 15:13:01.000000000 +0200
+++ new/nginx-1.17.0/CHANGES 2019-05-21 16:24:01.000000000 +0200
@@ -1,7 +1,20 @@
-Changes with nginx 1.16.0 23 Apr 2019
+Changes with nginx 1.17.0 21 May 2019
- *) 1.16.x stable branch.
+ *) Feature: variables support in the "limit_rate" and "limit_rate_after"
+ directives.
+
+ *) Feature: variables support in the "proxy_upload_rate" and
+ "proxy_download_rate" directives in the stream module.
+
+ *) Change: minimum supported OpenSSL version is 0.9.8.
+
+ *) Change: now the postpone filter is always built.
+
+ *) Bugfix: the "include" directive did not work inside the "if" and
+ "limit_except" blocks.
+
+ *) Bugfix: in byte ranges processing.
Changes with nginx 1.15.12 16 Apr 2019
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/nginx-1.16.0/CHANGES.ru new/nginx-1.17.0/CHANGES.ru
--- old/nginx-1.16.0/CHANGES.ru 2019-04-23 15:13:00.000000000 +0200
+++ new/nginx-1.17.0/CHANGES.ru 2019-05-21 16:24:00.000000000 +0200
@@ -1,7 +1,20 @@
-Изменения в nginx 1.16.0 23.04.2019
+Изменения в nginx 1.17.0 21.05.2019
- *) Стабильная ветка 1.16.x.
+ *) Добавление: директивы limit_rate и limit_rate_after поддерживают
+ переменные.
+
+ *) Добавление: директивы proxy_upload_rate и proxy_download_rate в
+ модуле stream поддерживают переменные.
+
+ *) Изменение: минимальная поддерживаемая версия OpenSSL - 0.9.8.
+
+ *) Изменение: теперь postpone-фильтр собирается всегда.
+
+ *) Исправление: директива include не работала в блоках if и
+ limit_except.
+
+ *) Исправление: в обработке byte ranges.
Изменения в nginx 1.15.12 16.04.2019
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/nginx-1.16.0/auto/modules new/nginx-1.17.0/auto/modules
--- old/nginx-1.16.0/auto/modules 2019-04-23 15:12:58.000000000 +0200
+++ new/nginx-1.17.0/auto/modules 2019-05-21 16:23:57.000000000 +0200
@@ -102,21 +102,6 @@
fi
- if [ $HTTP_SSI = YES ]; then
- HTTP_POSTPONE=YES
- fi
-
-
- if [ $HTTP_SLICE = YES ]; then
- HTTP_POSTPONE=YES
- fi
-
-
- if [ $HTTP_ADDITION = YES ]; then
- HTTP_POSTPONE=YES
- fi
-
-
# the module order is important
# ngx_http_static_module
# ngx_http_gzip_static_module
@@ -252,13 +237,13 @@
. auto/module
fi
- if [ $HTTP_POSTPONE = YES ]; then
+ if :; then
ngx_module_name=ngx_http_postpone_filter_module
ngx_module_incs=
ngx_module_deps=
ngx_module_srcs=src/http/ngx_http_postpone_filter_module.c
ngx_module_libs=
- ngx_module_link=$HTTP_POSTPONE
+ ngx_module_link=YES
. auto/module
fi
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/nginx-1.16.0/auto/options new/nginx-1.17.0/auto/options
--- old/nginx-1.16.0/auto/options 2019-04-23 15:12:58.000000000 +0200
+++ new/nginx-1.17.0/auto/options 2019-05-21 16:23:57.000000000 +0200
@@ -60,7 +60,6 @@
HTTP_SSL=NO
HTTP_V2=NO
HTTP_SSI=YES
-HTTP_POSTPONE=NO
HTTP_REALIP=NO
HTTP_XSLT=NO
HTTP_IMAGE_FILTER=NO
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/nginx-1.16.0/src/core/nginx.h new/nginx-1.17.0/src/core/nginx.h
--- old/nginx-1.16.0/src/core/nginx.h 2019-04-23 15:12:58.000000000 +0200
+++ new/nginx-1.17.0/src/core/nginx.h 2019-05-21 16:23:57.000000000 +0200
@@ -9,8 +9,8 @@
#define _NGINX_H_INCLUDED_
-#define nginx_version 1016000
-#define NGINX_VERSION "1.16.0"
+#define nginx_version 1017000
+#define NGINX_VERSION "1.17.0"
#define NGINX_VER "nginx/" NGINX_VERSION
#ifdef NGX_BUILD
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/nginx-1.16.0/src/core/ngx_conf_file.h new/nginx-1.17.0/src/core/ngx_conf_file.h
--- old/nginx-1.16.0/src/core/ngx_conf_file.h 2019-04-23 15:12:58.000000000 +0200
+++ new/nginx-1.17.0/src/core/ngx_conf_file.h 2019-05-21 16:23:57.000000000 +0200
@@ -49,7 +49,7 @@
#define NGX_DIRECT_CONF 0x00010000
#define NGX_MAIN_CONF 0x01000000
-#define NGX_ANY_CONF 0x1F000000
+#define NGX_ANY_CONF 0xFF000000
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/nginx-1.16.0/src/event/ngx_event_openssl.c new/nginx-1.17.0/src/event/ngx_event_openssl.c
--- old/nginx-1.16.0/src/event/ngx_event_openssl.c 2019-04-23 15:12:58.000000000 +0200
+++ new/nginx-1.17.0/src/event/ngx_event_openssl.c 2019-05-21 16:23:57.000000000 +0200
@@ -164,7 +164,6 @@
#endif
-#if OPENSSL_VERSION_NUMBER >= 0x0090800fL
#ifndef SSL_OP_NO_COMPRESSION
{
/*
@@ -182,7 +181,6 @@
}
}
#endif
-#endif
ngx_ssl_connection_index = SSL_get_ex_new_index(0, NULL, NULL, NULL, NULL);
@@ -904,13 +902,6 @@
return NGX_ERROR;
}
- /*
- * before 0.9.7h and 0.9.8 SSL_load_client_CA_file()
- * always leaved an error in the error queue
- */
-
- ERR_clear_error();
-
SSL_CTX_set_client_CA_list(ssl->ctx, list);
return NGX_OK;
@@ -1076,8 +1067,8 @@
* added to wbio, and set buffer size.
*/
- rbio = SSL_get_rbio((ngx_ssl_conn_t *) ssl_conn);
- wbio = SSL_get_wbio((ngx_ssl_conn_t *) ssl_conn);
+ rbio = SSL_get_rbio(ssl_conn);
+ wbio = SSL_get_wbio(ssl_conn);
if (rbio != wbio) {
(void) BIO_set_write_buffer_size(wbio, NGX_SSL_BUFSIZE);
@@ -1360,7 +1351,6 @@
ngx_int_t
ngx_ssl_ecdh_curve(ngx_conf_t *cf, ngx_ssl_t *ssl, ngx_str_t *name)
{
-#if OPENSSL_VERSION_NUMBER >= 0x0090800fL
#ifndef OPENSSL_NO_ECDH
/*
@@ -1435,7 +1425,6 @@
EC_KEY_free(ecdh);
#endif
#endif
-#endif
return NGX_OK;
}
@@ -3364,17 +3353,8 @@
}
}
-#if OPENSSL_VERSION_NUMBER >= 0x0090800fL
-
session_id = (u_char *) SSL_SESSION_get_id(sess, &session_id_length);
-#else
-
- session_id = sess->session_id;
- session_id_length = sess->session_id_length;
-
-#endif
-
#if (NGX_PTR_SIZE == 8)
id = sess_id->sess_id;
@@ -3450,13 +3430,10 @@
#endif
u_char *id, int len, int *copy)
{
-#if OPENSSL_VERSION_NUMBER >= 0x0090707fL
- const
-#endif
- u_char *p;
size_t slen;
uint32_t hash;
ngx_int_t rc;
+ const u_char *p;
ngx_shm_zone_t *shm_zone;
ngx_slab_pool_t *shpool;
ngx_rbtree_node_t *node, *sentinel;
@@ -3578,17 +3555,8 @@
cache = shm_zone->data;
-#if OPENSSL_VERSION_NUMBER >= 0x0090800fL
-
id = (u_char *) SSL_SESSION_get_id(sess, &len);
-#else
-
- id = sess->session_id;
- len = sess->session_id_length;
-
-#endif
-
hash = ngx_crc32_short(id, len);
ngx_log_debug2(NGX_LOG_DEBUG_EVENT, ngx_cycle->log, 0,
@@ -4387,17 +4355,8 @@
return NGX_OK;
}
-#if OPENSSL_VERSION_NUMBER >= 0x0090800fL
-
buf = (u_char *) SSL_SESSION_get_id(sess, &len);
-#else
-
- buf = sess->session_id;
- len = sess->session_id_length;
-
-#endif
-
s->len = 2 * len;
s->data = ngx_pnalloc(pool, 2 * len);
if (s->data == NULL) {
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/nginx-1.16.0/src/event/ngx_event_openssl_stapling.c new/nginx-1.17.0/src/event/ngx_event_openssl_stapling.c
--- old/nginx-1.16.0/src/event/ngx_event_openssl_stapling.c 2019-04-23 15:12:58.000000000 +0200
+++ new/nginx-1.17.0/src/event/ngx_event_openssl_stapling.c 2019-05-21 16:23:57.000000000 +0200
@@ -589,15 +589,12 @@
static void
ngx_ssl_stapling_ocsp_handler(ngx_ssl_ocsp_ctx_t *ctx)
{
-#if OPENSSL_VERSION_NUMBER >= 0x0090707fL
- const
-#endif
- u_char *p;
int n;
size_t len;
time_t now, valid;
ngx_str_t response;
X509_STORE *store;
+ const u_char *p;
STACK_OF(X509) *chain;
OCSP_CERTID *id;
OCSP_RESPONSE *ocsp;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/nginx-1.16.0/src/http/modules/ngx_http_range_filter_module.c new/nginx-1.17.0/src/http/modules/ngx_http_range_filter_module.c
--- old/nginx-1.16.0/src/http/modules/ngx_http_range_filter_module.c 2019-04-23 15:12:58.000000000 +0200
+++ new/nginx-1.17.0/src/http/modules/ngx_http_range_filter_module.c 2019-05-21 16:23:57.000000000 +0200
@@ -700,8 +700,9 @@
ngx_http_range_filter_ctx_t *ctx, ngx_chain_t *in)
{
off_t start, last;
+ ngx_int_t rc;
ngx_buf_t *buf;
- ngx_chain_t *out, *cl, **ll;
+ ngx_chain_t *out, *cl, *tl, **ll;
ngx_http_range_t *range;
out = NULL;
@@ -721,8 +722,22 @@
"http range body buf: %O-%O", start, last);
if (ngx_buf_special(buf)) {
- *ll = cl;
- ll = &cl->next;
+
+ if (range->end <= start) {
+ continue;
+ }
+
+ tl = ngx_alloc_chain_link(r->pool);
+ if (tl == NULL) {
+ return NGX_ERROR;
+ }
+
+ tl->buf = buf;
+ tl->next = NULL;
+
+ *ll = tl;
+ ll = &tl->next;
+
continue;
}
@@ -764,21 +779,42 @@
buf->last_buf = (r == r->main) ? 1 : 0;
buf->last_in_chain = 1;
- *ll = cl;
- cl->next = NULL;
- break;
+ tl = ngx_alloc_chain_link(r->pool);
+ if (tl == NULL) {
+ return NGX_ERROR;
+ }
+
+ tl->buf = buf;
+ tl->next = NULL;
+
+ *ll = tl;
+ ll = &tl->next;
+
+ continue;
+ }
+
+ tl = ngx_alloc_chain_link(r->pool);
+ if (tl == NULL) {
+ return NGX_ERROR;
}
- *ll = cl;
- ll = &cl->next;
+ tl->buf = buf;
+ tl->next = NULL;
+
+ *ll = tl;
+ ll = &tl->next;
}
- if (out == NULL) {
- return NGX_OK;
+ rc = ngx_http_next_body_filter(r, out);
+
+ while (out) {
+ cl = out;
+ out = out->next;
+ ngx_free_chain(r->pool, cl);
}
- return ngx_http_next_body_filter(r, out);
+ return rc;
}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/nginx-1.16.0/src/http/ngx_http_core_module.c new/nginx-1.17.0/src/http/ngx_http_core_module.c
--- old/nginx-1.16.0/src/http/ngx_http_core_module.c 2019-04-23 15:12:58.000000000 +0200
+++ new/nginx-1.17.0/src/http/ngx_http_core_module.c 2019-05-21 16:23:57.000000000 +0200
@@ -479,7 +479,7 @@
{ ngx_string("limit_rate"),
NGX_HTTP_MAIN_CONF|NGX_HTTP_SRV_CONF|NGX_HTTP_LOC_CONF|NGX_HTTP_LIF_CONF
|NGX_CONF_TAKE1,
- ngx_conf_set_size_slot,
+ ngx_http_set_complex_value_size_slot,
NGX_HTTP_LOC_CONF_OFFSET,
offsetof(ngx_http_core_loc_conf_t, limit_rate),
NULL },
@@ -487,7 +487,7 @@
{ ngx_string("limit_rate_after"),
NGX_HTTP_MAIN_CONF|NGX_HTTP_SRV_CONF|NGX_HTTP_LOC_CONF|NGX_HTTP_LIF_CONF
|NGX_CONF_TAKE1,
- ngx_conf_set_size_slot,
+ ngx_http_set_complex_value_size_slot,
NGX_HTTP_LOC_CONF_OFFSET,
offsetof(ngx_http_core_loc_conf_t, limit_rate_after),
NULL },
@@ -1281,10 +1281,6 @@
r->connection->tcp_nopush = NGX_TCP_NOPUSH_DISABLED;
}
- if (r->limit_rate == 0) {
- r->limit_rate = clcf->limit_rate;
- }
-
if (clcf->handler) {
r->content_handler = clcf->handler;
}
@@ -3387,6 +3383,8 @@
* clcf->exact_match = 0;
* clcf->auto_redirect = 0;
* clcf->alias = 0;
+ * clcf->limit_rate = NULL;
+ * clcf->limit_rate_after = NULL;
* clcf->gzip_proxied = 0;
* clcf->keepalive_disable = 0;
*/
@@ -3417,8 +3415,6 @@
clcf->send_timeout = NGX_CONF_UNSET_MSEC;
clcf->send_lowat = NGX_CONF_UNSET_SIZE;
clcf->postpone_output = NGX_CONF_UNSET_SIZE;
- clcf->limit_rate = NGX_CONF_UNSET_SIZE;
- clcf->limit_rate_after = NGX_CONF_UNSET_SIZE;
clcf->keepalive_timeout = NGX_CONF_UNSET_MSEC;
clcf->keepalive_header = NGX_CONF_UNSET;
clcf->keepalive_requests = NGX_CONF_UNSET_UINT;
@@ -3647,9 +3643,15 @@
ngx_conf_merge_size_value(conf->send_lowat, prev->send_lowat, 0);
ngx_conf_merge_size_value(conf->postpone_output, prev->postpone_output,
1460);
- ngx_conf_merge_size_value(conf->limit_rate, prev->limit_rate, 0);
- ngx_conf_merge_size_value(conf->limit_rate_after, prev->limit_rate_after,
- 0);
+
+ if (conf->limit_rate == NULL) {
+ conf->limit_rate = prev->limit_rate;
+ }
+
+ if (conf->limit_rate_after == NULL) {
+ conf->limit_rate_after = prev->limit_rate_after;
+ }
+
ngx_conf_merge_msec_value(conf->keepalive_timeout,
prev->keepalive_timeout, 75000);
ngx_conf_merge_sec_value(conf->keepalive_header,
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/nginx-1.16.0/src/http/ngx_http_core_module.h new/nginx-1.17.0/src/http/ngx_http_core_module.h
--- old/nginx-1.16.0/src/http/ngx_http_core_module.h 2019-04-23 15:12:58.000000000 +0200
+++ new/nginx-1.17.0/src/http/ngx_http_core_module.h 2019-05-21 16:23:57.000000000 +0200
@@ -349,13 +349,14 @@
size_t client_body_buffer_size; /* client_body_buffer_size */
size_t send_lowat; /* send_lowat */
size_t postpone_output; /* postpone_output */
- size_t limit_rate; /* limit_rate */
- size_t limit_rate_after; /* limit_rate_after */
size_t sendfile_max_chunk; /* sendfile_max_chunk */
size_t read_ahead; /* read_ahead */
size_t subrequest_output_buffer_size;
/* subrequest_output_buffer_size */
+ ngx_http_complex_value_t *limit_rate; /* limit_rate */
+ ngx_http_complex_value_t *limit_rate_after; /* limit_rate_after */
+
ngx_msec_t client_body_timeout; /* client_body_timeout */
ngx_msec_t send_timeout; /* send_timeout */
ngx_msec_t keepalive_timeout; /* keepalive_timeout */
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/nginx-1.16.0/src/http/ngx_http_request.h new/nginx-1.17.0/src/http/ngx_http_request.h
--- old/nginx-1.16.0/src/http/ngx_http_request.h 2019-04-23 15:12:58.000000000 +0200
+++ new/nginx-1.17.0/src/http/ngx_http_request.h 2019-05-21 16:23:57.000000000 +0200
@@ -515,6 +515,9 @@
unsigned limit_conn_set:1;
unsigned limit_req_set:1;
+ unsigned limit_rate_set:1;
+ unsigned limit_rate_after_set:1;
+
#if 0
unsigned cacheable:1;
#endif
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/nginx-1.16.0/src/http/ngx_http_script.c new/nginx-1.17.0/src/http/ngx_http_script.c
--- old/nginx-1.16.0/src/http/ngx_http_script.c 2019-04-23 15:12:58.000000000 +0200
+++ new/nginx-1.17.0/src/http/ngx_http_script.c 2019-05-21 16:23:57.000000000 +0200
@@ -104,6 +104,37 @@
}
+size_t
+ngx_http_complex_value_size(ngx_http_request_t *r,
+ ngx_http_complex_value_t *val, size_t default_value)
+{
+ size_t size;
+ ngx_str_t value;
+
+ if (val == NULL) {
+ return default_value;
+ }
+
+ if (val->lengths == NULL) {
+ return val->u.size;
+ }
+
+ if (ngx_http_complex_value(r, val, &value) != NGX_OK) {
+ return default_value;
+ }
+
+ size = ngx_parse_size(&value);
+
+ if (size == (size_t) NGX_ERROR) {
+ ngx_log_error(NGX_LOG_ERR, r->connection->log, 0,
+ "invalid size \"%V\"", &value);
+ return default_value;
+ }
+
+ return size;
+}
+
+
ngx_int_t
ngx_http_compile_complex_value(ngx_http_compile_complex_value_t *ccv)
{
@@ -241,6 +272,36 @@
}
return NGX_CONF_OK;
+}
+
+
+char *
+ngx_http_set_complex_value_size_slot(ngx_conf_t *cf, ngx_command_t *cmd,
+ void *conf)
+{
+ char *p = conf;
+
+ char *rv;
+ ngx_http_complex_value_t *cv;
+
+ rv = ngx_http_set_complex_value_slot(cf, cmd, conf);
+
+ if (rv != NGX_CONF_OK) {
+ return rv;
+ }
+
+ cv = *(ngx_http_complex_value_t **) (p + cmd->offset);
+
+ if (cv->lengths) {
+ return NGX_CONF_OK;
+ }
+
+ cv->u.size = ngx_parse_size(&cv->value);
+ if (cv->u.size == (size_t) NGX_ERROR) {
+ return "invalid value";
+ }
+
+ return NGX_CONF_OK;
}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/nginx-1.16.0/src/http/ngx_http_script.h new/nginx-1.17.0/src/http/ngx_http_script.h
--- old/nginx-1.16.0/src/http/ngx_http_script.h 2019-04-23 15:12:58.000000000 +0200
+++ new/nginx-1.17.0/src/http/ngx_http_script.h 2019-05-21 16:23:57.000000000 +0200
@@ -68,6 +68,10 @@
ngx_uint_t *flushes;
void *lengths;
void *values;
+
+ union {
+ size_t size;
+ } u;
} ngx_http_complex_value_t;
@@ -207,9 +211,13 @@
ngx_http_complex_value_t *val);
ngx_int_t ngx_http_complex_value(ngx_http_request_t *r,
ngx_http_complex_value_t *val, ngx_str_t *value);
+size_t ngx_http_complex_value_size(ngx_http_request_t *r,
+ ngx_http_complex_value_t *val, size_t default_value);
ngx_int_t ngx_http_compile_complex_value(ngx_http_compile_complex_value_t *ccv);
char *ngx_http_set_complex_value_slot(ngx_conf_t *cf, ngx_command_t *cmd,
void *conf);
+char *ngx_http_set_complex_value_size_slot(ngx_conf_t *cf, ngx_command_t *cmd,
+ void *conf);
ngx_int_t ngx_http_test_predicates(ngx_http_request_t *r,
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/nginx-1.16.0/src/http/ngx_http_upstream.c new/nginx-1.17.0/src/http/ngx_http_upstream.c
--- old/nginx-1.16.0/src/http/ngx_http_upstream.c 2019-04-23 15:12:58.000000000 +0200
+++ new/nginx-1.17.0/src/http/ngx_http_upstream.c 2019-05-21 16:23:57.000000000 +0200
@@ -2979,6 +2979,7 @@
ngx_http_upstream_process_non_buffered_downstream;
r->limit_rate = 0;
+ r->limit_rate_set = 1;
if (u->input_filter_init(u->input_filter_ctx) == NGX_ERROR) {
ngx_http_upstream_finalize_request(r, u, NGX_ERROR);
@@ -4806,6 +4807,7 @@
if (n != NGX_ERROR) {
r->limit_rate = (size_t) n;
+ r->limit_rate_set = 1;
}
return NGX_OK;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/nginx-1.16.0/src/http/ngx_http_upstream_round_robin.c new/nginx-1.17.0/src/http/ngx_http_upstream_round_robin.c
--- old/nginx-1.16.0/src/http/ngx_http_upstream_round_robin.c 2019-04-23 15:12:58.000000000 +0200
+++ new/nginx-1.17.0/src/http/ngx_http_upstream_round_robin.c 2019-05-21 16:23:57.000000000 +0200
@@ -669,10 +669,7 @@
ngx_http_upstream_rr_peer_t *peer;
#if (NGX_HTTP_UPSTREAM_ZONE)
int len;
-#if OPENSSL_VERSION_NUMBER >= 0x0090707fL
- const
-#endif
- u_char *p;
+ const u_char *p;
ngx_http_upstream_rr_peers_t *peers;
u_char buf[NGX_SSL_MAX_SESSION_SIZE];
#endif
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/nginx-1.16.0/src/http/ngx_http_variables.c new/nginx-1.17.0/src/http/ngx_http_variables.c
--- old/nginx-1.16.0/src/http/ngx_http_variables.c 2019-04-23 15:12:58.000000000 +0200
+++ new/nginx-1.17.0/src/http/ngx_http_variables.c 2019-05-21 16:23:57.000000000 +0200
@@ -22,8 +22,6 @@
#endif
static ngx_int_t ngx_http_variable_request_get_size(ngx_http_request_t *r,
ngx_http_variable_value_t *v, uintptr_t data);
-static void ngx_http_variable_request_set_size(ngx_http_request_t *r,
- ngx_http_variable_value_t *v, uintptr_t data);
static ngx_int_t ngx_http_variable_header(ngx_http_request_t *r,
ngx_http_variable_value_t *v, uintptr_t data);
@@ -124,6 +122,8 @@
ngx_http_variable_value_t *v, uintptr_t data);
static ngx_int_t ngx_http_variable_sent_transfer_encoding(ngx_http_request_t *r,
ngx_http_variable_value_t *v, uintptr_t data);
+static void ngx_http_variable_set_limit_rate(ngx_http_request_t *r,
+ ngx_http_variable_value_t *v, uintptr_t data);
static ngx_int_t ngx_http_variable_connection(ngx_http_request_t *r,
ngx_http_variable_value_t *v, uintptr_t data);
@@ -321,7 +321,7 @@
{ ngx_string("sent_http_link"), NULL, ngx_http_variable_headers,
offsetof(ngx_http_request_t, headers_out.link), 0, 0 },
- { ngx_string("limit_rate"), ngx_http_variable_request_set_size,
+ { ngx_string("limit_rate"), ngx_http_variable_set_limit_rate,
ngx_http_variable_request_get_size,
offsetof(ngx_http_request_t, limit_rate),
NGX_HTTP_VAR_CHANGEABLE|NGX_HTTP_VAR_NOCACHEABLE, 0 },
@@ -788,32 +788,6 @@
}
-static void
-ngx_http_variable_request_set_size(ngx_http_request_t *r,
- ngx_http_variable_value_t *v, uintptr_t data)
-{
- ssize_t s, *sp;
- ngx_str_t val;
-
- val.len = v->len;
- val.data = v->data;
-
- s = ngx_parse_size(&val);
-
- if (s == NGX_ERROR) {
- ngx_log_error(NGX_LOG_ERR, r->connection->log, 0,
- "invalid size \"%V\"", &val);
- return;
- }
-
- sp = (ssize_t *) ((char *) r + data);
-
- *sp = s;
-
- return;
-}
-
-
static ngx_int_t
ngx_http_variable_header(ngx_http_request_t *r, ngx_http_variable_value_t *v,
uintptr_t data)
@@ -1993,6 +1967,29 @@
}
+static void
+ngx_http_variable_set_limit_rate(ngx_http_request_t *r,
+ ngx_http_variable_value_t *v, uintptr_t data)
+{
+ ssize_t s;
+ ngx_str_t val;
+
+ val.len = v->len;
+ val.data = v->data;
+
+ s = ngx_parse_size(&val);
+
+ if (s == NGX_ERROR) {
+ ngx_log_error(NGX_LOG_ERR, r->connection->log, 0,
+ "invalid $limit_rate \"%V\"", &val);
+ return;
+ }
+
+ r->limit_rate = s;
+ r->limit_rate_set = 1;
+}
+
+
static ngx_int_t
ngx_http_variable_request_completion(ngx_http_request_t *r,
ngx_http_variable_value_t *v, uintptr_t data)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/nginx-1.16.0/src/http/ngx_http_write_filter_module.c new/nginx-1.17.0/src/http/ngx_http_write_filter_module.c
--- old/nginx-1.16.0/src/http/ngx_http_write_filter_module.c 2019-04-23 15:12:58.000000000 +0200
+++ new/nginx-1.17.0/src/http/ngx_http_write_filter_module.c 2019-05-21 16:23:57.000000000 +0200
@@ -250,9 +250,17 @@
return NGX_ERROR;
}
+ if (!r->limit_rate_set) {
+ r->limit_rate = ngx_http_complex_value_size(r, clcf->limit_rate, 0);
+ r->limit_rate_set = 1;
+ }
+
if (r->limit_rate) {
- if (r->limit_rate_after == 0) {
- r->limit_rate_after = clcf->limit_rate_after;
+
+ if (!r->limit_rate_after_set) {
+ r->limit_rate_after = ngx_http_complex_value_size(r,
+ clcf->limit_rate_after, 0);
+ r->limit_rate_after_set = 1;
}
limit = (off_t) r->limit_rate * (ngx_time() - r->start_sec + 1)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/nginx-1.16.0/src/stream/ngx_stream_proxy_module.c new/nginx-1.17.0/src/stream/ngx_stream_proxy_module.c
--- old/nginx-1.16.0/src/stream/ngx_stream_proxy_module.c 2019-04-23 15:12:58.000000000 +0200
+++ new/nginx-1.17.0/src/stream/ngx_stream_proxy_module.c 2019-05-21 16:23:57.000000000 +0200
@@ -24,8 +24,8 @@
ngx_msec_t timeout;
ngx_msec_t next_upstream_timeout;
size_t buffer_size;
- size_t upload_rate;
- size_t download_rate;
+ ngx_stream_complex_value_t *upload_rate;
+ ngx_stream_complex_value_t *download_rate;
ngx_uint_t requests;
ngx_uint_t responses;
ngx_uint_t next_upstream_tries;
@@ -184,14 +184,14 @@
{ ngx_string("proxy_upload_rate"),
NGX_STREAM_MAIN_CONF|NGX_STREAM_SRV_CONF|NGX_CONF_TAKE1,
- ngx_conf_set_size_slot,
+ ngx_stream_set_complex_value_size_slot,
NGX_STREAM_SRV_CONF_OFFSET,
offsetof(ngx_stream_proxy_srv_conf_t, upload_rate),
NULL },
{ ngx_string("proxy_download_rate"),
NGX_STREAM_MAIN_CONF|NGX_STREAM_SRV_CONF|NGX_CONF_TAKE1,
- ngx_conf_set_size_slot,
+ ngx_stream_set_complex_value_size_slot,
NGX_STREAM_SRV_CONF_OFFSET,
offsetof(ngx_stream_proxy_srv_conf_t, download_rate),
NULL },
@@ -895,6 +895,9 @@
u->proxy_protocol = 0;
}
+ u->upload_rate = ngx_stream_complex_value_size(s, pscf->upload_rate, 0);
+ u->download_rate = ngx_stream_complex_value_size(s, pscf->download_rate, 0);
+
u->connected = 1;
pc->read->handler = ngx_stream_proxy_upstream_handler;
@@ -1532,7 +1535,7 @@
src = pc;
dst = c;
b = &u->upstream_buf;
- limit_rate = pscf->download_rate;
+ limit_rate = u->download_rate;
received = &u->received;
packets = &u->responses;
out = &u->downstream_out;
@@ -1544,7 +1547,7 @@
src = c;
dst = pc;
b = &u->downstream_buf;
- limit_rate = pscf->upload_rate;
+ limit_rate = u->upload_rate;
received = &s->received;
packets = &u->requests;
out = &u->upstream_out;
@@ -1955,6 +1958,8 @@
* conf->ssl_certificate = { 0, NULL };
* conf->ssl_certificate_key = { 0, NULL };
*
+ * conf->upload_rate = NULL;
+ * conf->download_rate = NULL;
* conf->ssl = NULL;
* conf->upstream = NULL;
* conf->upstream_value = NULL;
@@ -1964,8 +1969,6 @@
conf->timeout = NGX_CONF_UNSET_MSEC;
conf->next_upstream_timeout = NGX_CONF_UNSET_MSEC;
conf->buffer_size = NGX_CONF_UNSET_SIZE;
- conf->upload_rate = NGX_CONF_UNSET_SIZE;
- conf->download_rate = NGX_CONF_UNSET_SIZE;
conf->requests = NGX_CONF_UNSET_UINT;
conf->responses = NGX_CONF_UNSET_UINT;
conf->next_upstream_tries = NGX_CONF_UNSET_UINT;
@@ -2005,11 +2008,13 @@
ngx_conf_merge_size_value(conf->buffer_size,
prev->buffer_size, 16384);
- ngx_conf_merge_size_value(conf->upload_rate,
- prev->upload_rate, 0);
+ if (conf->upload_rate == NULL) {
+ conf->upload_rate = prev->upload_rate;
+ }
- ngx_conf_merge_size_value(conf->download_rate,
- prev->download_rate, 0);
+ if (conf->download_rate == NULL) {
+ conf->download_rate = prev->download_rate;
+ }
ngx_conf_merge_uint_value(conf->requests,
prev->requests, 0);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/nginx-1.16.0/src/stream/ngx_stream_script.c new/nginx-1.17.0/src/stream/ngx_stream_script.c
--- old/nginx-1.16.0/src/stream/ngx_stream_script.c 2019-04-23 15:12:58.000000000 +0200
+++ new/nginx-1.17.0/src/stream/ngx_stream_script.c 2019-05-21 16:23:57.000000000 +0200
@@ -105,6 +105,37 @@
}
+size_t
+ngx_stream_complex_value_size(ngx_stream_session_t *s,
+ ngx_stream_complex_value_t *val, size_t default_value)
+{
+ size_t size;
+ ngx_str_t value;
+
+ if (val == NULL) {
+ return default_value;
+ }
+
+ if (val->lengths == NULL) {
+ return val->u.size;
+ }
+
+ if (ngx_stream_complex_value(s, val, &value) != NGX_OK) {
+ return default_value;
+ }
+
+ size = ngx_parse_size(&value);
+
+ if (size == (size_t) NGX_ERROR) {
+ ngx_log_error(NGX_LOG_ERR, s->connection->log, 0,
+ "invalid size \"%V\"", &value);
+ return default_value;
+ }
+
+ return size;
+}
+
+
ngx_int_t
ngx_stream_compile_complex_value(ngx_stream_compile_complex_value_t *ccv)
{
@@ -243,6 +274,36 @@
}
return NGX_CONF_OK;
+}
+
+
+char *
+ngx_stream_set_complex_value_size_slot(ngx_conf_t *cf, ngx_command_t *cmd,
+ void *conf)
+{
+ char *p = conf;
+
+ char *rv;
+ ngx_stream_complex_value_t *cv;
+
+ rv = ngx_stream_set_complex_value_slot(cf, cmd, conf);
+
+ if (rv != NGX_CONF_OK) {
+ return rv;
+ }
+
+ cv = *(ngx_stream_complex_value_t **) (p + cmd->offset);
+
+ if (cv->lengths) {
+ return NGX_CONF_OK;
+ }
+
+ cv->u.size = ngx_parse_size(&cv->value);
+ if (cv->u.size == (size_t) NGX_ERROR) {
+ return "invalid value";
+ }
+
+ return NGX_CONF_OK;
}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/nginx-1.16.0/src/stream/ngx_stream_script.h new/nginx-1.17.0/src/stream/ngx_stream_script.h
--- old/nginx-1.16.0/src/stream/ngx_stream_script.h 2019-04-23 15:12:58.000000000 +0200
+++ new/nginx-1.17.0/src/stream/ngx_stream_script.h 2019-05-21 16:23:57.000000000 +0200
@@ -56,6 +56,10 @@
ngx_uint_t *flushes;
void *lengths;
void *values;
+
+ union {
+ size_t size;
+ } u;
} ngx_stream_complex_value_t;
@@ -102,10 +106,14 @@
ngx_stream_complex_value_t *val);
ngx_int_t ngx_stream_complex_value(ngx_stream_session_t *s,
ngx_stream_complex_value_t *val, ngx_str_t *value);
+size_t ngx_stream_complex_value_size(ngx_stream_session_t *s,
+ ngx_stream_complex_value_t *val, size_t default_value);
ngx_int_t ngx_stream_compile_complex_value(
ngx_stream_compile_complex_value_t *ccv);
char *ngx_stream_set_complex_value_slot(ngx_conf_t *cf, ngx_command_t *cmd,
void *conf);
+char *ngx_stream_set_complex_value_size_slot(ngx_conf_t *cf, ngx_command_t *cmd,
+ void *conf);
ngx_uint_t ngx_stream_script_variables_count(ngx_str_t *value);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/nginx-1.16.0/src/stream/ngx_stream_upstream.h new/nginx-1.17.0/src/stream/ngx_stream_upstream.h
--- old/nginx-1.16.0/src/stream/ngx_stream_upstream.h 2019-04-23 15:12:58.000000000 +0200
+++ new/nginx-1.17.0/src/stream/ngx_stream_upstream.h 2019-05-21 16:23:57.000000000 +0200
@@ -132,6 +132,9 @@
ngx_uint_t responses;
ngx_msec_t start_time;
+ size_t upload_rate;
+ size_t download_rate;
+
ngx_str_t ssl_name;
ngx_stream_upstream_srv_conf_t *upstream;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/nginx-1.16.0/src/stream/ngx_stream_upstream_round_robin.c new/nginx-1.17.0/src/stream/ngx_stream_upstream_round_robin.c
--- old/nginx-1.16.0/src/stream/ngx_stream_upstream_round_robin.c 2019-04-23 15:12:58.000000000 +0200
+++ new/nginx-1.17.0/src/stream/ngx_stream_upstream_round_robin.c 2019-05-21 16:23:57.000000000 +0200
@@ -701,10 +701,7 @@
ngx_stream_upstream_rr_peer_t *peer;
#if (NGX_STREAM_UPSTREAM_ZONE)
int len;
-#if OPENSSL_VERSION_NUMBER >= 0x0090707fL
- const
-#endif
- u_char *p;
+ const u_char *p;
ngx_stream_upstream_rr_peers_t *peers;
u_char buf[NGX_SSL_MAX_SESSION_SIZE];
#endif
1
0
Hello community,
here is the log from the commit of package python-django-sekizai for openSUSE:Factory checked in at 2019-05-24 11:33:26
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-django-sekizai (Old)
and /work/SRC/openSUSE:Factory/.python-django-sekizai.new.5148 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-django-sekizai"
Fri May 24 11:33:26 2019 rev:2 rq:705177 version:1.0.0
Changes:
--------
--- /work/SRC/openSUSE:Factory/python-django-sekizai/python-django-sekizai.changes 2019-01-11 14:04:35.551854179 +0100
+++ /work/SRC/openSUSE:Factory/.python-django-sekizai.new.5148/python-django-sekizai.changes 2019-05-24 11:33:28.073364903 +0200
@@ -1,0 +2,9 @@
+Fri May 24 07:17:38 UTC 2019 - Tomáš Chvátal <tchvatal(a)suse.com>
+
+- Update to 1.0.0:
+ * Fixes for new djangos/python releases
+- Remove merged patches:
+ * django-sekizai-py37.patch
+ * django-sekizai-django2.patch
+
+-------------------------------------------------------------------
Old:
----
0.10.0.tar.gz
django-sekizai-django2.patch
django-sekizai-py37.patch
New:
----
1.0.0.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ python-django-sekizai.spec ++++++
--- /var/tmp/diff_new_pack.7ULQBO/_old 2019-05-24 11:33:28.941364572 +0200
+++ /var/tmp/diff_new_pack.7ULQBO/_new 2019-05-24 11:33:28.945364570 +0200
@@ -18,16 +18,14 @@
%{?!python_module:%define python_module() python-%{**} python3-%{**}}
Name: python-django-sekizai
-Version: 0.10.0
+Version: 1.0.0
Release: 0
Summary: Django Template Blocks with extra functionality
License: MIT
Group: Development/Languages/Python
URL: https://github.com/ojii/django-sekizai
Source: https://github.com/divio/django-sekizai/archive/%{version}.tar.gz
-Patch0: django-sekizai-django2.patch
-Patch1: django-sekizai-pycodestyle.patch
-Patch2: django-sekizai-py37.patch
+Patch0: django-sekizai-pycodestyle.patch
BuildRequires: %{python_module Django >= 1.11}
BuildRequires: %{python_module django-classy-tags >= 0.3.1}
BuildRequires: %{python_module pycodestyle}
@@ -44,9 +42,7 @@
%prep
%setup -q -n django-sekizai-%{version}
-%patch0 -p1
-%patch1 -p1
-%patch2 -p1
+%autopatch -p1
%build
%python_build
++++++ 0.10.0.tar.gz -> 1.0.0.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/django-sekizai-0.10.0/.travis.yml new/django-sekizai-1.0.0/.travis.yml
--- old/django-sekizai-0.10.0/.travis.yml 2016-08-28 06:25:48.000000000 +0200
+++ new/django-sekizai-1.0.0/.travis.yml 2019-04-11 14:03:34.000000000 +0200
@@ -1,19 +1,17 @@
+dist: xenial
language: python
sudo: false
python:
- 2.7
- - 3.3
- 3.4
- 3.5
+ - 3.6
+ - 3.7
env:
- - DJANGO='django>=1.3,<1.4'
- - DJANGO='django>=1.4,<1.5'
- - DJANGO='django>=1.5,<1.6'
- - DJANGO='django>=1.6,<1.7'
- - DJANGO='django>=1.7,<1.8'
- - DJANGO='django>=1.8,<1.9'
- - DJANGO='django>=1.9,<1.10'
- - DJANGO='django>=1.10,<1.11'
+ - DJANGO='django>=1.11,<2.0'
+ - DJANGO='django>=2.0,<2.1'
+ - DJANGO='django>=2.1,<2.2'
+ - DJANGO='django>=2.2a1,<3.0'
install:
- pip install $DJANGO django-classy-tags pep8 backport-collections
script: python runtests.py
@@ -21,25 +19,13 @@
email: false
matrix:
exclude:
- - python: 3.3
- env: DJANGO='django>=1.3,<1.4'
- - python: 3.3
- env: DJANGO='django>=1.4,<1.5'
- - python: 3.3
- env: DJANGO='django>=1.9,<1.10'
- - python: 3.3
- env: DJANGO='django>=1.10,<1.11'
+ - python: 2.7
+ env: DJANGO='django>=2.0,<2.1'
+ - python: 2.7
+ env: DJANGO='django>=2.1,<2.2'
+ - python: 2.7
+ env: DJANGO='django>=2.2a1,<3.0'
- python: 3.4
- env: DJANGO='django>=1.3,<1.4'
+ env: DJANGO='django>=2.1,<2.2'
- python: 3.4
- env: DJANGO='django>=1.4,<1.5'
- - python: 3.5
- env: DJANGO='django>=1.3,<1.4'
- - python: 3.5
- env: DJANGO='django>=1.4,<1.5'
- - python: 3.5
- env: DJANGO='django>=1.5,<1.6'
- - python: 3.5
- env: DJANGO='django>=1.6,<1.7'
- - python: 3.5
- env: DJANGO='django>=1.7,<1.8'
+ env: DJANGO='django>=2.2a1,<3.0'
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/django-sekizai-0.10.0/README.rst new/django-sekizai-1.0.0/README.rst
--- old/django-sekizai-0.10.0/README.rst 2016-08-28 06:25:48.000000000 +0200
+++ new/django-sekizai-1.0.0/README.rst 2019-04-11 14:03:34.000000000 +0200
@@ -7,7 +7,7 @@
forms in django, but really that doesn't work that well. Usually the frontend
guys want to decide on css and javascript files to be included and they don't
want to have to edit Python files to change that neither did I want them to
-change my Python files. Therefor there was a need to allow you to edit contents
+change my Python files. Therefore there was a need to allow you to edit contents
of templates which are before or after the point where you are now. Also I
wanted duplicates to be removed. As a result I wrote django-sekizai, which does
exactly that. It's similar to blocks, just instead of inheriting them, you
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/django-sekizai-0.10.0/docs/index.rst new/django-sekizai-1.0.0/docs/index.rst
--- old/django-sekizai-0.10.0/docs/index.rst 2016-08-28 06:25:48.000000000 +0200
+++ new/django-sekizai-1.0.0/docs/index.rst 2019-04-11 14:03:34.000000000 +0200
@@ -24,15 +24,14 @@
blocks. This is especially useful for css and javascript. Your sub-templates can
now define css and Javascript files to be included, and the css will be nicely
put at the top and the Javascript to the bottom, just like you should. Also
-sekizai will ignore any duplicate content in a single block.
+sekizai will ignore any duplicate content in a single block.
************
Dependencies
************
-* Python 2.7, 3.3, 3.4 or 3.5.
-* Django 1.3, 1.4, 1.5, 1.6, 1.7, 1.8, 1.9 or 1.10.
+* Django 1.11, 2.0, 2.1, or 2.2.
* django-classy-tags 0.3.1 or higher.
*****
@@ -47,15 +46,10 @@
* Put 'sekizai' into your ``INSTALLED_APPS`` setting.
* Use one of the following:
- * For Django versions before 1.10, add
- ``sekizai.context_processors.sekizai`` to your
- ``TEMPLATE_CONTEXT_PROCESSORS`` setting and use
+ * Add ``sekizai.context_processors.sekizai`` to your
+ ``TEMPLATES['OPTIONS']['context_processors']`` setting and use
``django.template.RequestContext`` when rendering your templates.
- For Django versions after 1.10, add ``sekizai.context_processors.sekizai``
- to your ``TEMPLATES['OPTIONS']['context_processors']`` setting and use
- ``django.template.RequestContext`` when rendering your templates.
-
or
* Use ``sekizai.context.SekizaiContext`` when rendering your templates.
@@ -137,7 +131,7 @@
.. warning::
``{% render_block %}`` tags **must not** be placed inside a template tag block (a template tag which has an
- end tag, such as ``{% block %}...{% endblock %}`` or ``{% if %}...{% endif %}``).
+ end tag, such as ``{% block %}...{% endblock %}`` or ``{% if %}...{% endif %}``).
.. warning::
@@ -148,6 +142,10 @@
If the ``{% addtoblock %}`` tag is used in an **extending** template, the tags **must** be
placed within ``{% block %}...{% endblock %}`` tags.
+.. warning::
+
+ ``{% addtoblock %}`` tags **must not** be used in a template included with ``only`` option!
+
Handling data
-------------
@@ -430,6 +428,12 @@
Changelog
*********
+0.11.0
+======
+
+* Added support for Django 1.11, 2.0, 2.1, and 2.2
+* Removed support for Django < 1.11
+
0.10.0
======
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/django-sekizai-0.10.0/runtests.py new/django-sekizai-1.0.0/runtests.py
--- old/django-sekizai-0.10.0/runtests.py 2016-08-28 06:25:48.000000000 +0200
+++ new/django-sekizai-1.0.0/runtests.py 2019-04-11 14:03:34.000000000 +0200
@@ -4,8 +4,6 @@
urlpatterns = []
-TEMPLATE_DEBUG = True
-
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.sqlite3',
@@ -13,59 +11,38 @@
}
}
-
INSTALLED_APPS = [
'sekizai',
]
-TEMPLATE_DIRS = [
- os.path.join(os.path.dirname(__file__), 'sekizai', 'test_templates'),
-]
-
-TEMPLATE_CONTEXT_PROCESSORS = [
- 'sekizai.context_processors.sekizai',
-]
-
-
ROOT_URLCONF = 'runtests'
-
TEMPLATES = [
{
'BACKEND': 'django.template.backends.django.DjangoTemplates',
- 'DIRS': TEMPLATE_DIRS,
+ 'DIRS': [os.path.join(os.path.dirname(__file__), 'sekizai', 'test_templates')],
'OPTIONS': {
- 'context_processors': TEMPLATE_CONTEXT_PROCESSORS,
- 'debug': TEMPLATE_DEBUG
+ 'context_processors': ['sekizai.context_processors.sekizai'],
+ 'debug': True,
},
},
]
def runtests():
- from django import VERSION
+ from django import setup
from django.conf import settings
- if VERSION[0] == 1 and VERSION[1] < 6:
- runner = 'django.test.simple.DjangoTestSuiteRunner'
- else:
- runner = 'django.test.runner.DiscoverRunner'
+ from django.test.utils import get_runner
settings.configure(
INSTALLED_APPS=INSTALLED_APPS,
ROOT_URLCONF=ROOT_URLCONF,
DATABASES=DATABASES,
- TEST_RUNNER=runner,
- TEMPLATE_DIRS=TEMPLATE_DIRS,
- TEMPLATE_CONTEXT_PROCESSORS=TEMPLATE_CONTEXT_PROCESSORS,
- TEMPLATE_DEBUG=TEMPLATE_DEBUG,
- MIDDLEWARE_CLASSES=[],
+ TEST_RUNNER='django.test.runner.DiscoverRunner',
TEMPLATES=TEMPLATES,
)
- if VERSION[1] >= 7:
- from django import setup
- setup()
+ setup()
# Run the test suite, including the extra validation tests.
- from django.test.utils import get_runner
TestRunner = get_runner(settings)
test_runner = TestRunner(verbosity=1, interactive=False, failfast=False)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/django-sekizai-0.10.0/sekizai/__init__.py new/django-sekizai-1.0.0/sekizai/__init__.py
--- old/django-sekizai-0.10.0/sekizai/__init__.py 2016-08-28 06:25:48.000000000 +0200
+++ new/django-sekizai-1.0.0/sekizai/__init__.py 2019-04-11 14:03:34.000000000 +0200
@@ -1 +1 @@
-__version__ = '0.10.0'
+__version__ = '1.0.0'
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/django-sekizai-0.10.0/sekizai/helpers.py new/django-sekizai-1.0.0/sekizai/helpers.py
--- old/django-sekizai-0.10.0/sekizai/helpers.py 2016-08-28 06:25:48.000000000 +0200
+++ new/django-sekizai-1.0.0/sekizai/helpers.py 2019-04-11 14:03:34.000000000 +0200
@@ -5,11 +5,6 @@
from django.template.loader import get_template
from django.template.loader_tags import BlockNode, ExtendsNode
-try:
- from django.template import engines
-except ImportError:
- engines = None
-
def _get_nodelist(tpl):
if isinstance(tpl, Template):
@@ -29,12 +24,9 @@
def get_context():
- if engines is not None:
- context = Context()
- context.template = Template('')
- return context
- else:
- return Context()
+ context = Context()
+ context.template = Template('')
+ return context
def _extend_blocks(extend_node, blocks):
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/django-sekizai-0.10.0/sekizai/templatetags/sekizai_tags.py new/django-sekizai-1.0.0/sekizai/templatetags/sekizai_tags.py
--- old/django-sekizai-0.10.0/sekizai/templatetags/sekizai_tags.py 2016-08-28 06:25:48.000000000 +0200
+++ new/django-sekizai-1.0.0/sekizai/templatetags/sekizai_tags.py 2019-04-11 14:03:34.000000000 +0200
@@ -29,12 +29,8 @@
try:
template_debug = context.template.engine.debug
except AttributeError:
- try:
- # Get the default engine debug value
- template_debug = template.Engine.get_default().debug
- except AttributeError:
- # Django 1.9 and below fallback
- template_debug = settings.TEMPLATE_DEBUG
+ # Get the default engine debug value
+ template_debug = template.Engine.get_default().debug
if get_varname() in context:
return True
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/django-sekizai-0.10.0/sekizai/tests.py new/django-sekizai-1.0.0/sekizai/tests.py
--- old/django-sekizai-0.10.0/sekizai/tests.py 2016-08-28 06:25:48.000000000 +0200
+++ new/django-sekizai-1.0.0/sekizai/tests.py 2019-04-11 14:03:34.000000000 +0200
@@ -8,8 +8,10 @@
from django import template
from django.conf import settings
from django.template.loader import render_to_string
+from django.template.engine import Engine
import pep8
+from sekizai import context_processors
from sekizai.context import SekizaiContext
from sekizai.helpers import get_namespaces
from sekizai.helpers import get_varname
@@ -39,7 +41,7 @@
class SettingsOverride(object):
"""
- Overrides Django settings within a context and resets them to their inital
+ Overrides Django settings within a context and resets them to their initial
values on exit.
Example:
@@ -171,57 +173,40 @@
:return: SettingsOverride object
"""
- if django.VERSION[0] == 1 and django.VERSION[1] < 8:
- return SettingsOverride(TEMPLATE_DEBUG=debug)
- else:
- # Create our overridden template settings with debug turned off.
- templates_override = settings.TEMPLATES
- templates_override[0]['OPTIONS'].update({
- 'debug': debug
- })
-
- from django.template.engine import Engine
- # Engine gets created based on template settings initial value so
- # changing the settings after the fact won't update, so do it
- # manually. Necessary when testing validate_context
- # with render method and want debug off.
- Engine.get_default().debug = debug
- return SettingsOverride(TEMPLATES=templates_override)
+ # Create our overridden template settings with debug turned off.
+ templates_override = settings.TEMPLATES
+ templates_override[0]['OPTIONS'].update({'debug': debug})
+ # Engine gets created based on template settings initial value so
+ # changing the settings after the fact won't update, so do it
+ # manually. Necessary when testing validate_context
+ # with render method and want debug off.
+ Engine.get_default().debug = debug
+ return SettingsOverride(TEMPLATES=templates_override)
class SekizaiTestCase(TestCase):
- @classmethod
- def setUpClass(cls):
- cls._template_dirs = settings.TEMPLATE_DIRS
- template_dir = os.path.join(
- os.path.dirname(__file__),
- 'test_templates'
- )
- settings.TEMPLATE_DIRS = list(cls._template_dirs) + [template_dir]
-
- @classmethod
- def tearDownClass(cls):
- settings.TEMPLATE_DIRS = cls._template_dirs
- def _render(self, tpl, ctx=None, ctxclass=SekizaiContext):
- ctx = ctx or {}
- return render_to_string(tpl, ctxclass(ctx))
+ def _render(self, tpl, ctx=None, sekizai_context=True):
+ ctx = dict(ctx) if ctx else {}
+ if sekizai_context:
+ ctx.update(context_processors.sekizai())
+ return render_to_string(tpl, ctx)
- def _get_bits(self, tpl, ctx=None, ctxclass=SekizaiContext):
+ def _get_bits(self, tpl, ctx=None, sekizai_context=True):
ctx = ctx or {}
- rendered = self._render(tpl, ctx, ctxclass)
+ rendered = self._render(tpl, ctx, sekizai_context)
bits = [
bit for bit in [bit.strip('\n')
for bit in rendered.split('\n')] if bit
]
return bits, rendered
- def _test(self, tpl, res, ctx=None, ctxclass=SekizaiContext):
+ def _test(self, tpl, res, ctx=None, sekizai_context=True):
"""
Helper method to render template and compare it's bits
"""
ctx = ctx or {}
- bits, rendered = self._get_bits(tpl, ctx, ctxclass)
+ bits, rendered = self._get_bits(tpl, ctx, sekizai_context)
differ = BitDiff(res)
result = differ.test(bits)
self.assertTrue(result.status, result.message)
@@ -257,7 +242,7 @@
def test_eat_content_before_render_block(self):
"""
- Testing that content get's eaten if no render_blocks is available
+ Testing that content gets eaten if no render_blocks is available
"""
bits = ["mycontent"]
self._test("eat.html", bits)
@@ -267,10 +252,8 @@
Test that the template tags properly fail if not used with either
SekizaiContext or the context processor.
"""
- self.assertRaises(
- template.TemplateSyntaxError,
- self._render, 'basic.html', {}, template.Context
- )
+ with self.assertRaises(template.TemplateSyntaxError):
+ self._render('basic.html', {}, sekizai_context=False)
def test_complex_template_inheritance(self):
"""
@@ -383,7 +366,7 @@
self.assertEqual(validate_context(django_ctx), False)
self.assertEqual(validate_context(sekizai_ctx), True)
bits = ['some content', 'more content', 'final content']
- self._test('basic.html', bits, ctxclass=template.Context)
+ self._test('basic.html', bits, sekizai_context=False)
def test_post_processor_null(self):
bits = ['header', 'footer']
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/django-sekizai-0.10.0/setup.py new/django-sekizai-1.0.0/setup.py
--- old/django-sekizai-0.10.0/setup.py 2016-08-28 06:25:48.000000000 +0200
+++ new/django-sekizai-1.0.0/setup.py 2019-04-11 14:03:34.000000000 +0200
@@ -14,6 +14,7 @@
zip_safe=False,
include_package_data=True,
install_requires=[
+ 'django>=1.11',
'django-classy-tags>=0.3.1',
],
test_suite='runtests.main',
@@ -21,13 +22,18 @@
'Development Status :: 5 - Production/Stable',
'Environment :: Web Environment',
'Framework :: Django',
+ 'Framework :: Django :: 1.11',
+ 'Framework :: Django :: 2.0',
+ 'Framework :: Django :: 2.1',
+ 'Framework :: Django :: 2.2',
'Intended Audience :: Developers',
'License :: OSI Approved :: BSD License',
'Operating System :: OS Independent',
'Programming Language :: Python',
'Programming Language :: Python :: 2.7',
- 'Programming Language :: Python :: 3.3',
'Programming Language :: Python :: 3.4',
'Programming Language :: Python :: 3.5',
+ 'Programming Language :: Python :: 3.6',
+ 'Programming Language :: Python :: 3.7',
]
)
1
0
Hello community,
here is the log from the commit of package libmodulemd for openSUSE:Factory checked in at 2019-05-24 11:33:23
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/libmodulemd (Old)
and /work/SRC/openSUSE:Factory/.libmodulemd.new.5148 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "libmodulemd"
Fri May 24 11:33:23 2019 rev:6 rq:705109 version:unknown
Changes:
--------
--- /work/SRC/openSUSE:Factory/libmodulemd/libmodulemd.changes 2019-05-12 11:44:51.951887694 +0200
+++ /work/SRC/openSUSE:Factory/.libmodulemd.new.5148/libmodulemd.changes 2019-05-24 11:33:25.061366054 +0200
@@ -1,0 +2,12 @@
+Fri May 24 03:25:00 UTC 2019 - Neal Gompa <ngompa13(a)gmail.com>
+
+- Update to 2.5.0 (v2) and 1.8.11 (v1)
+ + Ensure that XMD is always emitted in the same order
+ + Add .clear_*() functions for all .add_*() functions
+ + Add ModuleStream.equals()
+ + Add ModuleIndex.get_default_streams()
+ + Add ModuleStreamV2.clear_dependencies() and .remove_dependencies()
+ + Fix bugs and memory issues with the XMD python bindings
+ + Assorted documentation enhancements
+
+-------------------------------------------------------------------
Old:
----
modulemd-2.3.1.tar.xz
New:
----
modulemd-2.5.0.tar.xz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ libmodulemd.spec ++++++
--- /var/tmp/diff_new_pack.uqCkTc/_old 2019-05-24 11:33:25.869365745 +0200
+++ /var/tmp/diff_new_pack.uqCkTc/_new 2019-05-24 11:33:25.869365745 +0200
@@ -17,8 +17,8 @@
%global majorversion 2
-%global minorversion 3
-%global patchversion 1
+%global minorversion 5
+%global patchversion 0
%global majorminorversion %{majorversion}.%{minorversion}
%global nsversion %{majorversion}.0
@@ -31,7 +31,7 @@
# Legacy modulemd API
%global oldmajorver 1
%global oldminorver 8
-%global oldpatchver 8
+%global oldpatchver 11
%global oldmajorminorver %{oldmajorver}.%{oldminorver}
%global oldnsver %{oldmajorver}.0
++++++ modulemd-2.3.1.tar.xz -> modulemd-2.5.0.tar.xz ++++++
++++ 3298 lines of diff (skipped)
1
0
Hello community,
here is the log from the commit of package librepo for openSUSE:Factory checked in at 2019-05-24 11:33:21
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/librepo (Old)
and /work/SRC/openSUSE:Factory/.librepo.new.5148 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "librepo"
Fri May 24 11:33:21 2019 rev:8 rq:705108 version:1.10.3
Changes:
--------
--- /work/SRC/openSUSE:Factory/librepo/librepo.changes 2019-05-12 11:46:25.228161549 +0200
+++ /work/SRC/openSUSE:Factory/.librepo.new.5148/librepo.changes 2019-05-24 11:33:22.701366955 +0200
@@ -1,0 +2,7 @@
+Fri May 24 03:18:15 UTC 2019 - Neal Gompa <ngompa13(a)gmail.com>
+
+- Upgrade to 1.10.3
+ + Exit gpg-agent after repokey import (rh#1650266)
+ + Make sure to check next transfer if current zck transfer already exists (rh#1706627)
+
+-------------------------------------------------------------------
Old:
----
librepo-1.10.2.tar.gz
New:
----
librepo-1.10.3.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ librepo.spec ++++++
--- /var/tmp/diff_new_pack.ClKO9j/_old 2019-05-24 11:33:23.249366745 +0200
+++ /var/tmp/diff_new_pack.ClKO9j/_new 2019-05-24 11:33:23.253366744 +0200
@@ -35,7 +35,7 @@
%define devname %{name}-devel
Name: librepo
-Version: 1.10.2
+Version: 1.10.3
Release: 0
Summary: Repodata downloading library
License: LGPL-2.0-or-later
++++++ librepo-1.10.2.tar.gz -> librepo-1.10.3.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/librepo-1.10.2/VERSION.cmake new/librepo-1.10.3/VERSION.cmake
--- old/librepo-1.10.2/VERSION.cmake 2019-05-12 04:57:19.000000000 +0200
+++ new/librepo-1.10.3/VERSION.cmake 2019-05-24 05:06:30.000000000 +0200
@@ -1,3 +1,3 @@
SET(LIBREPO_MAJOR "1")
SET(LIBREPO_MINOR "10")
-SET(LIBREPO_PATCH "2")
+SET(LIBREPO_PATCH "3")
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/librepo-1.10.2/librepo/downloader.c new/librepo-1.10.3/librepo/downloader.c
--- old/librepo-1.10.2/librepo/downloader.c 2019-05-12 04:57:19.000000000 +0200
+++ new/librepo-1.10.3/librepo/downloader.c 2019-05-24 05:06:30.000000000 +0200
@@ -1450,7 +1450,7 @@
goto fail;
}
- // If zchunk is finished, we're done
+ // If zchunk is finished, we're done, so move to next target
if(target->zck_state == LR_ZCK_DL_FINISHED) {
g_debug("%s: Target already fully downloaded: %s", __func__, target->target->path);
target->state = LR_DS_FINISHED;
@@ -1461,7 +1461,7 @@
fclose(target->f);
target->f = NULL;
lr_downloadtarget_set_error(target->target, LRE_OK, NULL);
- return TRUE;
+ return prepare_next_transfer(dd, candidatefound, err);
}
}
# endif /* WITH_ZCHUNK */
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/librepo-1.10.2/librepo/gpg.c new/librepo-1.10.3/librepo/gpg.c
--- old/librepo-1.10.2/librepo/gpg.c 2019-05-12 04:57:19.000000000 +0200
+++ new/librepo-1.10.3/librepo/gpg.c 2019-05-24 05:06:30.000000000 +0200
@@ -32,6 +32,30 @@
#include "util.h"
#include "gpg.h"
+static void
+kill_gpg_agent(gpgme_ctx_t context, const char *home_dir)
+{
+ gpgme_error_t gpgerr;
+
+ gpgerr = gpgme_set_protocol(context, GPGME_PROTOCOL_ASSUAN);
+ if (gpgerr != GPG_ERR_NO_ERROR) {
+ g_warning("%s: gpgme_set_protocol: %s", __func__, gpgme_strerror(gpgerr));
+ return;
+ }
+ if (home_dir) {
+ gchar * gpg_agent_sock = g_build_filename(home_dir, "S.gpg-agent", NULL);
+ gpgerr = gpgme_ctx_set_engine_info(context, GPGME_PROTOCOL_ASSUAN, gpg_agent_sock, home_dir);
+ g_free(gpg_agent_sock);
+ if (gpgerr != GPG_ERR_NO_ERROR) {
+ g_warning("%s: gpgme_ctx_set_engine_info: %s", __func__, gpgme_strerror(gpgerr));
+ return;
+ }
+ }
+ gpgerr = gpgme_op_assuan_transact_ext(context, "KILLAGENT", NULL, NULL, NULL, NULL, NULL, NULL, NULL);
+ if (gpgerr != GPG_ERR_NO_ERROR)
+ g_debug("%s: gpgme_op_assuan_transact_ext: %s", __func__, gpgme_strerror(gpgerr));
+}
+
gboolean
lr_gpg_check_signature_fd(int signature_fd,
int data_fd,
@@ -295,6 +319,14 @@
}
close(key_fd);
+
+ // Running gpg-agent kept opened sockets on the system.
+ // It tries to exit gpg-agent. Path to the communication socket is derived from homedir.
+ // The gpg-agent automaticaly removes all its socket before exit.
+ // Newer gpg-agent creates sockets under [/var]/run/user/{pid}/... if directory exists.
+ // In this case gpg-agent will not be exited.
+ kill_gpg_agent(context, home_dir);
+
gpgme_release(context);
return TRUE;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/librepo-1.10.2/librepo.spec new/librepo-1.10.3/librepo.spec
--- old/librepo-1.10.2/librepo.spec 2019-05-12 04:57:19.000000000 +0200
+++ new/librepo-1.10.3/librepo.spec 2019-05-24 05:06:30.000000000 +0200
@@ -26,7 +26,7 @@
%global dnf_conflict 2.8.8
Name: librepo
-Version: 1.10.2
+Version: 1.10.3
Release: 1%{?dist}
Summary: Repodata downloading library
1
0
Hello community,
here is the log from the commit of package python-coconut for openSUSE:Factory checked in at 2019-05-24 11:33:18
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-coconut (Old)
and /work/SRC/openSUSE:Factory/.python-coconut.new.5148 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-coconut"
Fri May 24 11:33:18 2019 rev:5 rq:705105 version:1.4.0
Changes:
--------
--- /work/SRC/openSUSE:Factory/python-coconut/python-coconut.changes 2019-04-05 11:57:12.670360010 +0200
+++ /work/SRC/openSUSE:Factory/.python-coconut.new.5148/python-coconut.changes 2019-05-24 11:33:19.821368055 +0200
@@ -1,0 +2,13 @@
+Fri May 24 03:06:34 UTC 2019 - Todd R <toddrme2178(a)gmail.com>
+
+- Add conflicts with python2 version since we are dropping
+ update-alternatives.
+
+-------------------------------------------------------------------
+Wed May 22 14:34:21 UTC 2019 - Todd R <toddrme2178(a)gmail.com>
+
+- Drop python2 support since some of its dependencies have also
+ dropped python2 support.
+- Use new jupyter package names.
+
+-------------------------------------------------------------------
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ python-coconut.spec ++++++
--- /var/tmp/diff_new_pack.bC8kv1/_old 2019-05-24 11:33:20.501367795 +0200
+++ /var/tmp/diff_new_pack.bC8kv1/_new 2019-05-24 11:33:20.505367793 +0200
@@ -17,6 +17,7 @@
%{?!python_module:%define python_module() python-%{**} python3-%{**}}
+%define skip_python2 1
Name: python-coconut
Version: 1.4.0
Release: 0
@@ -26,26 +27,23 @@
URL: https://github.com/evhub/coconut
Source: https://files.pythonhosted.org/packages/source/c/coconut/coconut-%{version}…
BuildRequires: %{python_module Pygments >= 2.2}
+BuildRequires: %{python_module prompt_toolkit >= 2}
BuildRequires: %{python_module pyparsing >= 2.2}
BuildRequires: %{python_module setuptools}
BuildRequires: %{python_module six}
-# IPython python2 version requires prompt_toolkit 1 while python3 version requires prompt_toolkit 2
BuildRequires: fdupes
-BuildRequires: python-prompt_toolkit1
BuildRequires: python-rpm-macros
-BuildRequires: python2-futures >= 3.1
-BuildRequires: python3-prompt_toolkit >= 2
# SECTION test requirements
BuildRequires: %{python_module cPyparsing >= 2.2.0.1.1}
BuildRequires: %{python_module jupyter >= 1}
BuildRequires: %{python_module jupyter_console >= 5.2}
-BuildRequires: %{python_module jupyter_ipykernel >= 4.6}
-BuildRequires: %{python_module jupyter_ipython >= 5.4}
+BuildRequires: %{python_module ipykernel >= 4.6}
+BuildRequires: %{python_module ipython >= 5.4}
+BuildRequires: %{python_module mypy >= 0.540}
BuildRequires: %{python_module psutil >= 5}
BuildRequires: %{python_module pytest >= 3}
BuildRequires: %{python_module requests >= 2}
BuildRequires: %{python_module watchdog >= 0.8}
-BuildRequires: python3-mypy >= 0.540
# /SECTION
Requires: python-Pygments >= 2.2
Requires: python-pyparsing >= 2.2
@@ -53,22 +51,16 @@
Recommends: python-cPyparsing >= 2.2.0.1.1
Recommends: python-jupyter >= 1
Recommends: python-jupyter_console >= 5.2
-Recommends: python-jupyter_ipykernel >= 4.6
-Recommends: python-jupyter_ipython >= 5.4
+Recommends: python-ipykernel >= 4.6
+Recommends: python-ipython >= 5.4
Recommends: python-mypy >= 0.540
+Requires: python-prompt_toolkit >= 2
Recommends: python-psutil >= 5
Recommends: python-requests >= 2
Recommends: python-watchdog >= 0.8
-%ifpython2
-Requires: python-futures >= 3.1
-Requires: python-prompt_toolkit1
-%endif
-%ifpython3
-Requires: python-prompt_toolkit >= 2
-%endif
-Requires(post): update-alternatives
-Requires(postun): update-alternatives
+Conflicts: python2-coconut <= 1.4.0
BuildArch: noarch
+
%python_subpackages
%description
@@ -91,23 +83,15 @@
%install
%python_install
%python_expand %fdupes %{buildroot}/%{$python_sitelib}/
-%python_clone -a %{buildroot}%{_bindir}/coconut
-
-%post
-%python_install_alternative coconut
-
-%postun
-%python_uninstall_alternative coconut
%files %{python_files}
%doc README.rst CONTRIBUTING.md DOCS.md FAQ.md HELP.md
%license LICENSE.txt
-%python2_only %{_bindir}/coconut-py2*
-%python3_only %{_bindir}/coconut-py3*
-%python_alternative %{_bindir}/coconut
-%python3_only %{_bindir}/coconut-v1*
-%python3_only %{_bindir}/coconut-release*
-%python3_only %{_bindir}/coconut-run
+%{_bindir}/coconut-py3*
+%{_bindir}/coconut
+%{_bindir}/coconut-v1*
+%{_bindir}/coconut-release*
+%{_bindir}/coconut-run
%{python_sitelib}/coconut/
%{python_sitelib}/coconut-%{version}-py*.egg-info
1
0
Hello community,
here is the log from the commit of package dnf-plugins-core for openSUSE:Factory checked in at 2019-05-24 11:33:13
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/dnf-plugins-core (Old)
and /work/SRC/openSUSE:Factory/.dnf-plugins-core.new.5148 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "dnf-plugins-core"
Fri May 24 11:33:13 2019 rev:8 rq:705103 version:4.0.7
Changes:
--------
--- /work/SRC/openSUSE:Factory/dnf-plugins-core/dnf-plugins-core.changes 2019-04-28 20:12:06.114468873 +0200
+++ /work/SRC/openSUSE:Factory/.dnf-plugins-core.new.5148/dnf-plugins-core.changes 2019-05-24 11:33:16.865369184 +0200
@@ -1,0 +2,12 @@
+Fri May 24 02:56:30 UTC 2019 - Neal Gompa <ngompa13(a)gmail.com>
+
+- Update to version 4.0.7
+ + Fix: copr disable command traceback (rh#1693551)
+ + [doc] state repoid as repo identifier of config-manager (rh#1686779)
+ + Fix download of src when not the latest requested (rh#1649627)
+- Add missing dependencies on dateutil and distro Python modules
+- Drop backported fixes that are part of this release
+ * 0001-Fix-copr-disable-command-traceback-RhBug-1693551.patch
+ * 0002-doc-state-repoid-as-repo-identifier-of-config-manage.patch
+
+-------------------------------------------------------------------
Old:
----
0001-Fix-copr-disable-command-traceback-RhBug-1693551.patch
0002-doc-state-repoid-as-repo-identifier-of-config-manage.patch
dnf-plugins-core-4.0.6.tar.gz
New:
----
dnf-plugins-core-4.0.7.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ dnf-plugins-core.spec ++++++
--- /var/tmp/diff_new_pack.FmWYmb/_old 2019-05-24 11:33:17.989368754 +0200
+++ /var/tmp/diff_new_pack.FmWYmb/_new 2019-05-24 11:33:17.993368753 +0200
@@ -35,7 +35,7 @@
#global prerel rc1
Name: dnf-plugins-core
-Version: 4.0.6
+Version: 4.0.7
Release: 0
Summary: Core Plugins for DNF
License: GPL-2.0+
@@ -43,10 +43,6 @@
Url: https://github.com/rpm-software-management/dnf-plugins-core
Source0: %{url}/archive/%{version}/%{name}-%{version}.tar.gz
-# Backports from upstream
-Patch0001: 0001-Fix-copr-disable-command-traceback-RhBug-1693551.patch
-Patch0002: 0002-doc-state-repoid-as-repo-identifier-of-config-manage.patch
-
BuildArch: noarch
BuildRequires: cmake
@@ -107,6 +103,8 @@
BuildRequires: python3-nose
Requires: python3-dnf >= %{dnf_lowest_compatible}
Requires: python3-hawkey >= %{hawkey_version}
+Requires: python3-dateutil
+Requires: python3-distro
Conflicts: %{name} <= 0.1.5
# let the both python plugin versions be updated simultaneously
++++++ dnf-plugins-core-4.0.6.tar.gz -> dnf-plugins-core-4.0.7.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/dnf-plugins-core-4.0.6/dnf-plugins-core.spec new/dnf-plugins-core-4.0.7/dnf-plugins-core.spec
--- old/dnf-plugins-core-4.0.6/dnf-plugins-core.spec 2019-03-11 11:51:11.000000000 +0100
+++ new/dnf-plugins-core-4.0.7/dnf-plugins-core.spec 2019-05-07 14:43:47.000000000 +0200
@@ -23,7 +23,7 @@
%endif
Name: dnf-plugins-core
-Version: 4.0.6
+Version: 4.0.7
Release: 1%{?dist}
Summary: Core Plugins for DNF
License: GPLv2+
@@ -684,6 +684,11 @@
%endif
%changelog
+* Tue May 07 2019 Pavla Kratochvilova <pkratoch(a)redhat.com> - 4.0.7-1
+- Fix: copr disable command traceback (RhBug:1693551)
+- [doc] state repoid as repo identifier of config-manager (RhBug:1686779)
+- Fix download of src when not the latest requested (RhBug:1649627)
+
* Mon Mar 11 2019 Pavla Kratochvilova <pkratoch(a)redhat.com> - 4.0.6-1
- Use improved config parser that preserves order of data
- [leaves] Show multiply satisfied dependencies as leaves
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/dnf-plugins-core-4.0.6/doc/config_manager.rst new/dnf-plugins-core-4.0.7/doc/config_manager.rst
--- old/dnf-plugins-core-4.0.6/doc/config_manager.rst 2019-03-11 11:51:11.000000000 +0100
+++ new/dnf-plugins-core-4.0.7/doc/config_manager.rst 2019-05-07 14:43:47.000000000 +0200
@@ -26,15 +26,15 @@
Synopsis
--------
-``dnf config-manager [options] <repo>...``
+``dnf config-manager [options] <repoid>...``
---------
Arguments
---------
-``<repo>``
- Display / modify specified repository. If not specified display / modify main DNF configuration.
- Repositories can be specified using globs.
+``<repoid>``
+ Display / modify a repository identified by <repoid>. If not specified, display / modify
+ main DNF configuration. Repositories can be specified using globs.
-------
Options
@@ -71,11 +71,12 @@
``dnf config-manager --dump``
Display main DNF configuration.
-``dnf config-manager repo --dump``
- Display configuration of repo.
+``dnf config-manager <repoid> --dump``
+ Display configuration of a repository identified by <repoid>.
-``dnf config-manager --set-enabled repo``
- Enable repo and make the change permanent.
+``dnf config-manager --set-enabled <repoid>``
+ Enable repository identified by <repoid> and make the change permanent.
-``dnf config-manager --setopt proxy=http://proxy.example.com:3128/ repo1 repo2 --save``
- Update proxy setting in repo1 and repo2 and make the change permanent.
+``dnf config-manager --setopt proxy=http://proxy.example.com:3128/ <repo1> <repo2> --save``
+ Update proxy setting in repositories with repoid <repo1> and <repo2> and make the change
+ permanent.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/dnf-plugins-core-4.0.6/doc/release_notes.rst new/dnf-plugins-core-4.0.7/doc/release_notes.rst
--- old/dnf-plugins-core-4.0.6/doc/release_notes.rst 2019-03-11 11:51:11.000000000 +0100
+++ new/dnf-plugins-core-4.0.7/doc/release_notes.rst 2019-05-07 14:43:47.000000000 +0200
@@ -22,6 +22,18 @@
.. contents::
===================
+4.0.7 Release Notes
+===================
+
+- Fix: copr disable command traceback (RhBug:1693551)
+- [doc] state repoid as repo identifier of config-manager (RhBug:1686779)
+- Fix download of src when not the latest requested (RhBug:1649627)
+
+Bugs fixed in 4.0.7:
+
+* :rhbug:`1693551`
+
+===================
4.0.6 Release Notes
===================
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/dnf-plugins-core-4.0.6/doc/summaries_cache new/dnf-plugins-core-4.0.7/doc/summaries_cache
--- old/dnf-plugins-core-4.0.6/doc/summaries_cache 2019-03-11 11:51:11.000000000 +0100
+++ new/dnf-plugins-core-4.0.7/doc/summaries_cache 2019-05-07 14:43:47.000000000 +0200
@@ -430,5 +430,9 @@
[
1666648,
"dnf download command downloads also a srpm"
+ ],
+ [
+ 1693551,
+ "Problem with dnf copr disable command"
]
]
\ No newline at end of file
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/dnf-plugins-core-4.0.6/plugins/copr.py new/dnf-plugins-core-4.0.7/plugins/copr.py
--- old/dnf-plugins-core-4.0.6/plugins/copr.py 2019-03-11 11:51:11.000000000 +0100
+++ new/dnf-plugins-core-4.0.7/plugins/copr.py 2019-05-07 14:43:47.000000000 +0200
@@ -518,7 +518,7 @@
.format(copr_username, copr_projectname)))
self.base.conf.write_raw_configfile(repo.repofile, repo.id,
- self.base.conf.substitutions, {"enabled": 0})
+ self.base.conf.substitutions, {"enabled": "0"})
@classmethod
def _get_data(cls, f):
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/dnf-plugins-core-4.0.6/plugins/download.py new/dnf-plugins-core-4.0.7/plugins/download.py
--- old/dnf-plugins-core-4.0.6/plugins/download.py 2019-03-11 11:51:11.000000000 +0100
+++ new/dnf-plugins-core-4.0.7/plugins/download.py 2019-05-07 14:43:47.000000000 +0200
@@ -270,13 +270,11 @@
def _get_query_source(self, pkg_spec):
"""Return a query to match a source rpm file name."""
pkg_spec = pkg_spec[:-4] # skip the .rpm
- nevra = hawkey.split_nevra(pkg_spec)
- q = self.base.sack.query()
- q = q.available()
- q = q.latest()
- q = q.filter(name=nevra.name, version=nevra.version,
- release=nevra.release, arch=nevra.arch)
- if len(q.run()) == 0:
- msg = _("No package %s available.") % (pkg_spec)
- raise dnf.exceptions.PackageNotFoundError(msg)
- return q
+ subj = dnf.subject.Subject(pkg_spec)
+ for nevra_obj in subj.get_nevra_possibilities():
+ tmp_query = nevra_obj.to_query(self.base.sack).available()
+ if tmp_query:
+ return tmp_query.latest()
+
+ msg = _("No package %s available.") % (pkg_spec)
+ raise dnf.exceptions.PackageNotFoundError(msg)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/dnf-plugins-core-4.0.6/rel-eng/packages/dnf-plugins-core new/dnf-plugins-core-4.0.7/rel-eng/packages/dnf-plugins-core
--- old/dnf-plugins-core-4.0.6/rel-eng/packages/dnf-plugins-core 2019-03-11 11:51:11.000000000 +0100
+++ new/dnf-plugins-core-4.0.7/rel-eng/packages/dnf-plugins-core 2019-05-07 14:43:47.000000000 +0200
@@ -1 +1 @@
-4.0.6-1 ./
+4.0.7-1 ./
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/dnf-plugins-core-4.0.6/tests/test_download.py new/dnf-plugins-core-4.0.7/tests/test_download.py
--- old/dnf-plugins-core-4.0.6/tests/test_download.py 2019-03-11 11:51:11.000000000 +0100
+++ new/dnf-plugins-core-4.0.7/tests/test_download.py 2019-05-07 14:43:47.000000000 +0200
@@ -271,12 +271,6 @@
finally:
os.remove(rpm_path)
- def test_get_query_source(self):
- pkgs = self.cmd._get_query_source('foo-2.0-1.src.rpm')
- self.assertEqual(len(pkgs), 1)
- self.assertEqual(pkgs[0].arch, 'src')
- self.assertEqual(pkgs[0].reponame, 'test-repo-source')
-
def test_get_packages(self):
pkgs = self.cmd._get_packages(['bar'])
self.assertEqual(len(pkgs), 1)
@@ -299,10 +293,6 @@
self.cmd.base.conf.strict = strict_orig
self.assertEqual(pkgs[0].name, 'bar')
- pkgs = self.cmd._get_packages(['foo-2.0-1.src.rpm'], source=True)
- self.assertEqual(len(pkgs), 1)
- self.assertEqual(pkgs[0].arch, 'src')
- self.assertEqual(pkgs[0].reponame, 'test-repo-source')
def test_download_rpms(self):
pkgs = self.cmd._get_pkg_objs_rpms(['foo'])
@@ -316,17 +306,6 @@
self.assertEqual(locations[1], '/tmp/dnf/foo-2.0-1.noarch.rpm')
self.assertTrue(self.cmd.base.download_packages.called)
- def test_download_source(self):
- pkgs = self.cmd._get_pkg_objs_source(['foo'])
- locations = self.cmd._do_downloads(pkgs)
- self.assertEqual(len(locations), 1)
- self.assertEqual(locations[0], '/tmp/dnf/foo-2.0-1.src.rpm')
- pkgs = self.cmd._get_pkg_objs_source(['foo', 'bar'])
- locations = self.cmd._do_downloads(pkgs)
- self.assertEqual(len(locations), 2)
- self.assertEqual(locations[0], '/tmp/dnf/bar-2.0-1.src.rpm')
- self.assertEqual(locations[1], '/tmp/dnf/foo-2.0-1.src.rpm')
-
def test_download_debuginfo(self):
pkgs = self.cmd._get_pkg_objs_debuginfo(['kernel-PAE'])
locations = self.cmd._do_downloads(pkgs)
1
0
Hello community,
here is the log from the commit of package icinga2 for openSUSE:Factory checked in at 2019-05-24 11:33:09
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/icinga2 (Old)
and /work/SRC/openSUSE:Factory/.icinga2.new.5148 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "icinga2"
Fri May 24 11:33:09 2019 rev:18 rq:705093 version:2.10.5
Changes:
--------
--- /work/SRC/openSUSE:Factory/icinga2/icinga2.changes 2019-03-21 09:53:31.646785174 +0100
+++ /work/SRC/openSUSE:Factory/.icinga2.new.5148/icinga2.changes 2019-05-24 11:33:11.341371293 +0200
@@ -1,0 +2,20 @@
+Thu May 23 20:23:57 UTC 2019 - ecsos(a)opensuse.org
+
+- update to 2.10.5
+ * Core
+ - Fix crashes with logrotate signals #6737 (thanks Elias Ohm)
+ * API
+ - Fix crashes and problems with permission filters from recent
+ Namespace introduction #6785 (thanks Elias Ohm) #6874 (backported from 2.11)
+ - Reduce log spam with locked connections (real fix is the network stack rewrite in 2.11) #6877
+ * Cluster
+ - Fix problems with replay log rotation and storage #6932 (thanks Peter Eckel)
+ * IDO DB
+ - Fix that reload shutdown deactivates hosts and hostgroups (introduced in 2.9) #7157
+ * Documentation
+ - Improve the REST API chapter: Unix timestamp handling, filters, unify POST requests with filters in the body
+ - Better layout for the features chapter, specifically metrics and events
+ - Split object types into monitoring, runtime, features
+ - Add technical concepts for cluster messages
+
+-------------------------------------------------------------------
Old:
----
v2.10.4.tar.gz
New:
----
v2.10.5.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ icinga2.spec ++++++
--- /var/tmp/diff_new_pack.FaKcPS/_old 2019-05-24 11:33:12.337370913 +0200
+++ /var/tmp/diff_new_pack.FaKcPS/_new 2019-05-24 11:33:12.341370912 +0200
@@ -12,7 +12,7 @@
# license that conforms to the Open Source Definition (Version 1.9)
# published by the Open Source Initiative.
-# Please submit bugfixes or comments via http://bugs.opensuse.org/
+# Please submit bugfixes or comments via https://bugs.opensuse.org/
#
@@ -86,7 +86,7 @@
%else
%endif # suse
Name: icinga2
-Version: 2.10.4
+Version: 2.10.5
Release: %{revision}%{?dist}
Url: https://www.icinga.com/
Source: https://github.com/Icinga/%{name}/archive/v%{version}.tar.gz
++++++ v2.10.4.tar.gz -> v2.10.5.tar.gz ++++++
++++ 16651 lines of diff (skipped)
1
0
Hello community,
here is the log from the commit of package v4l2loopback for openSUSE:Factory checked in at 2019-05-24 11:33:06
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/v4l2loopback (Old)
and /work/SRC/openSUSE:Factory/.v4l2loopback.new.5148 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "v4l2loopback"
Fri May 24 11:33:06 2019 rev:6 rq:705074 version:0.12.1
Changes:
--------
--- /work/SRC/openSUSE:Factory/v4l2loopback/v4l2loopback.changes 2019-01-24 14:15:37.711208975 +0100
+++ /work/SRC/openSUSE:Factory/.v4l2loopback.new.5148/v4l2loopback.changes 2019-05-24 11:33:08.165372507 +0200
@@ -1,0 +2,6 @@
+Thu May 23 16:51:39 UTC 2019 - Luigi Baldoni <aloisio(a)gmx.com>
+
+- Added v4l2loopback-no_deprecated_function.patch (fix build with
+ newer kernels)
+
+-------------------------------------------------------------------
New:
----
v4l2loopback-no_deprecated_function.patch
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ v4l2loopback.spec ++++++
--- /var/tmp/diff_new_pack.T4IfMg/_old 2019-05-24 11:33:08.905372224 +0200
+++ /var/tmp/diff_new_pack.T4IfMg/_new 2019-05-24 11:33:08.909372222 +0200
@@ -25,6 +25,8 @@
URL: https://github.com/umlaeute/v4l2loopback
Source: https://github.com/umlaeute/v4l2loopback/archive/v%{version}.tar.gz#/%{name…
Source1: preamble
+# PATCH-FIX-UPSTREAM v4l2loopback-no_deprecated_function.patch
+Patch0: v4l2loopback-no_deprecated_function.patch
BuildRequires: %{kernel_module_package_buildreqs}
BuildRequires: gcc
BuildRequires: help2man
@@ -47,6 +49,7 @@
%prep
%setup -q
+%patch0 -p1
set -- *
mkdir source
mv "$@" source/
++++++ v4l2loopback-no_deprecated_function.patch ++++++
>From 0b8feb80fdef9a415d8250bca1790b3ff23e8391 Mon Sep 17 00:00:00 2001
From: Theodore Cipicchio <okready(a)users.noreply.github.com>
Date: Thu, 25 Apr 2019 21:51:11 -0700
Subject: [PATCH] Replace v4l2_get_timestamp with ktime_get_ts(64)
v4l2_get_timestamp is being removed in Linux 5.1. This replaces its use
with equivalent code (ktime_get_ts64 is used in favor of ktime_get_ts
with supported kernel versions, as the latter is considered deprecated).
Closes: https://github.com/umlaeute/v4l2loopback/issues/214
---
v4l2loopback.c | 20 +++++++++++++++++---
1 file changed, 17 insertions(+), 3 deletions(-)
diff --git a/v4l2loopback.c b/v4l2loopback.c
index 322ce17..42d611f 100644
--- a/v4l2loopback.c
+++ b/v4l2loopback.c
@@ -134,6 +134,20 @@ void *v4l2l_vzalloc(unsigned long size)
# define v4l2l_vzalloc vzalloc
#endif
+static inline void v4l2l_get_timestamp(struct timeval *tv) {
+ /* ktime_get_ts is considered deprecated, so use ktime_get_ts64 if possible */
+#if LINUX_VERSION_CODE < KERNEL_VERSION(3, 17, 0)
+ struct timespec ts;
+ ktime_get_ts(&ts);
+#else
+ struct timespec64 ts;
+ ktime_get_ts64(&ts);
+#endif
+
+ tv->tv_sec = (time_t)ts.tv_sec;
+ tv->tv_usec = (suseconds_t)(ts.tv_nsec / NSEC_PER_USEC);
+}
+
/* module constants
* can be overridden during he build process using something like
@@ -1506,7 +1520,7 @@ static int vidioc_qbuf(struct file *file, void *private_data, struct v4l2_buffer
case V4L2_BUF_TYPE_VIDEO_OUTPUT:
dprintkrw("output QBUF pos: %d index: %d\n", dev->write_position, index);
if (buf->timestamp.tv_sec == 0 && buf->timestamp.tv_usec == 0)
- v4l2_get_timestamp(&b->buffer.timestamp);
+ v4l2l_get_timestamp(&b->buffer.timestamp);
else
b->buffer.timestamp = buf->timestamp;
b->buffer.bytesused = buf->bytesused;
@@ -1933,7 +1947,7 @@ static ssize_t v4l2_loopback_write(struct file *file,
count);
return -EFAULT;
}
- v4l2_get_timestamp(&b->timestamp);
+ v4l2l_get_timestamp(&b->timestamp);
b->bytesused = count;
b->sequence = dev->write_position;
buffer_written(dev, &dev->buffers[write_index]);
@@ -2038,7 +2052,7 @@ static void init_buffers(struct v4l2_loopback_device *dev)
b->timestamp.tv_usec = 0;
b->type = V4L2_BUF_TYPE_VIDEO_CAPTURE;
- v4l2_get_timestamp(&b->timestamp);
+ v4l2l_get_timestamp(&b->timestamp);
}
dev->timeout_image_buffer = dev->buffers[0];
dev->timeout_image_buffer.buffer.m.offset = MAX_BUFFERS * buffer_size;
1
0
Hello community,
here is the log from the commit of package python-nltk for openSUSE:Factory checked in at 2019-05-24 11:33:03
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-nltk (Old)
and /work/SRC/openSUSE:Factory/.python-nltk.new.5148 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-nltk"
Fri May 24 11:33:03 2019 rev:4 rq:705020 version:3.4.1
Changes:
--------
--- /work/SRC/openSUSE:Factory/python-nltk/python-nltk.changes 2019-02-24 17:14:08.276464045 +0100
+++ /work/SRC/openSUSE:Factory/.python-nltk.new.5148/python-nltk.changes 2019-05-24 11:33:04.737373816 +0200
@@ -1,0 +2,12 @@
+Thu May 23 12:41:31 UTC 2019 - pgajdos(a)suse.com
+
+- version update to 3.4.1
+ * add chomsky_normal_form for CFGs
+ * add meteor score
+ * add minimum edit/Levenshtein distance based alignment function
+ * allow access to collocation list via text.collocation_list()
+ * support corenlp server options
+ * drop support for Python 3.4
+ * other minor fixes
+
+-------------------------------------------------------------------
Old:
----
nltk-3.4.zip
New:
----
nltk-3.4.1.zip
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ python-nltk.spec ++++++
--- /var/tmp/diff_new_pack.nCypzI/_old 2019-05-24 11:33:05.437373548 +0200
+++ /var/tmp/diff_new_pack.nCypzI/_new 2019-05-24 11:33:05.441373547 +0200
@@ -21,7 +21,7 @@
%define pyname nltk
Name: python-nltk
-Version: 3.4
+Version: 3.4.1
Release: 0
Summary: Natural Language Toolkit
License: Apache-2.0
1
0
Hello community,
here is the log from the commit of package python-QDarkStyle for openSUSE:Factory checked in at 2019-05-24 11:33:00
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-QDarkStyle (Old)
and /work/SRC/openSUSE:Factory/.python-QDarkStyle.new.5148 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-QDarkStyle"
Fri May 24 11:33:00 2019 rev:2 rq:705019 version:2.6.8
Changes:
--------
--- /work/SRC/openSUSE:Factory/python-QDarkStyle/python-QDarkStyle.changes 2019-02-24 17:10:34.516502142 +0100
+++ /work/SRC/openSUSE:Factory/.python-QDarkStyle.new.5148/python-QDarkStyle.changes 2019-05-24 11:33:02.409374705 +0200
@@ -1,0 +2,18 @@
+Thu May 23 12:14:36 UTC 2019 - pgajdos(a)suse.com
+
+- version update to 2.6.8
+ - Fix double border in QtabWidget for pyqt5
+ - Fix widgets border in QTabWidget as QLabel #141, #123, #126
+ - Fix QTab scroller buttons background #136
+ - Update color from images, fix #127
+ - Add retina resolution @2x, fix #140
+ - Intermediate version before merge PR #142 adding scripts
+ - Fix combobox indicator and padding #132
+ - Fix PyQtGraph plot axes covered by padding #134
+ - Update authors
+ - Fix tabbed bordeless frames and add more examples, #123, #126
+ - Add feedback to pressed buttons, #133
+ - Change future warning to pending deprecation for developers, #125 in v2.x
+ - Fix hover in qtabwidget, #128
+
+-------------------------------------------------------------------
Old:
----
QDarkStyle-2.6.5.tar.gz
New:
----
QDarkStyle-2.6.8.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ python-QDarkStyle.spec ++++++
--- /var/tmp/diff_new_pack.PCboba/_old 2019-05-24 11:33:03.273374375 +0200
+++ /var/tmp/diff_new_pack.PCboba/_new 2019-05-24 11:33:03.285374371 +0200
@@ -12,26 +12,28 @@
# license that conforms to the Open Source Definition (Version 1.9)
# published by the Open Source Initiative.
-# Please submit bugfixes or comments via http://bugs.opensuse.org/
+# Please submit bugfixes or comments via https://bugs.opensuse.org/
+#
%{?!python_module:%define python_module() python-%{**} python3-%{**}}
Name: python-QDarkStyle
-Version: 2.6.5
+Version: 2.6.8
Release: 0
-License: MIT
Summary: A dark stylesheet for Python and Qt applications
-Url: https://github.com/ColinDuquesnoy/QDarkStyleSheet
+License: MIT
Group: Development/Languages/Python
+Url: https://github.com/ColinDuquesnoy/QDarkStyleSheet
Source: https://github.com/ColinDuquesnoy/QDarkStyleSheet/archive/%{version}.tar.gz…
-BuildRequires: python-rpm-macros
-BuildRequires: python3-pyside2
-BuildRequires: %{python_module pytest}
+BuildRequires: %{python_module QtPy}
BuildRequires: %{python_module pytest-qt}
+BuildRequires: %{python_module pytest}
BuildRequires: %{python_module qt5-devel}
BuildRequires: %{python_module setuptools}
-BuildRequires: %{python_module QtPy}
BuildRequires: fdupes
+BuildRequires: python-rpm-macros
+BuildRequires: python3-pyside2
+Requires: python-setuptools
BuildArch: noarch
%python_subpackages
++++++ QDarkStyle-2.6.5.tar.gz -> QDarkStyle-2.6.8.tar.gz ++++++
++++ 19730 lines of diff (skipped)
1
0
Hello community,
here is the log from the commit of package clementine for openSUSE:Factory checked in at 2019-05-24 11:32:53
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/clementine (Old)
and /work/SRC/openSUSE:Factory/.clementine.new.5148 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "clementine"
Fri May 24 11:32:53 2019 rev:49 rq:705015 version:1.3.1+git20190423
Changes:
--------
--- /work/SRC/openSUSE:Factory/clementine/clementine.changes 2019-03-28 22:48:41.135054753 +0100
+++ /work/SRC/openSUSE:Factory/.clementine.new.5148/clementine.changes 2019-05-24 11:33:00.673375368 +0200
@@ -1,0 +2,14 @@
+Wed May 22 10:03:04 UTC 2019 - plater <davejplater(a)gmail.com>
+
+- Update to qt5 branch snapshot 1.3.1+git20190423.
+- Added cherrypicked patches to bring qt5 branch to master's state:
+ 0001-Fix-gst_buffer_unref-assertion-in-chromaprinter.patch
+ 0001-Add-error-handling-path-for-async-song-loading.patch
+ 0001-Fixes-for-APE-filetype.patch
+ 0001-Simplify-some-statements.patch and
+ 0001-Set-non-zero-minimum-for-fade-times.patch.
+- Upstream changes:
+ *Revert "Blacklist all NVidia drivers"
+ *setFirstSectionMovable() in playlistview.cpp
+
+-------------------------------------------------------------------
Old:
----
clementine-1.3.1+git20190213.tar.gz
New:
----
0001-Add-error-handling-path-for-async-song-loading.patch
0001-Fix-gst_buffer_unref-assertion-in-chromaprinter.patch
0001-Fixes-for-APE-filetype.patch
0001-Set-non-zero-minimum-for-fade-times.patch
0001-Simplify-some-statements.patch
clementine-1.3.1+git20190423.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ clementine.spec ++++++
--- /var/tmp/diff_new_pack.gJYtYC/_old 2019-05-24 11:33:01.789374942 +0200
+++ /var/tmp/diff_new_pack.gJYtYC/_new 2019-05-24 11:33:01.797374938 +0200
@@ -12,11 +12,11 @@
# license that conforms to the Open Source Definition (Version 1.9)
# published by the Open Source Initiative.
-# Please submit bugfixes or comments via http://bugs.opensuse.org/
+# Please submit bugfixes or comments via https://bugs.opensuse.org/
#
-%define rev 36cc5b82f4daf5c2d4e93dc8072665e5a3ca622b
+%define rev 3b76fa62752f25b445ee2a71f02c0c9d7581735a
%bcond_without git
@@ -28,7 +28,7 @@
%bcond_without qt5
Name: clementine
-Version: 1.3.1+git20190213
+Version: 1.3.1+git20190423
Release: 0
Summary: A music player inspired by Amarok 1.4
License: GPL-3.0-or-later
@@ -56,7 +56,12 @@
Patch12: 0001-Fix-potential-use-of-streamer-element-after-deletion.patch
Patch13: 0001-Free-decoder-bin-if-error-occurs-during-setup.patch
Patch14: 0001-Fix-several-gstreamer-object-leaks.patch
-
+#PATCH-FIX-GIT to 2019-04-27
+Patch15: 0001-Fix-gst_buffer_unref-assertion-in-chromaprinter.patch
+Patch16: 0001-Add-error-handling-path-for-async-song-loading.patch
+Patch17: 0001-Fixes-for-APE-filetype.patch
+Patch18: 0001-Simplify-some-statements.patch
+Patch19: 0001-Set-non-zero-minimum-for-fade-times.patch
%if 0%{?suse_version} > 1325
BuildRequires: libboost_headers-devel
%else
++++++ 0001-Add-error-handling-path-for-async-song-loading.patch ++++++
>From babff78025cba7e2f82cf905f14eb0db8090cb2a Mon Sep 17 00:00:00 2001
From: Jim Broadus <jbroadus(a)gmail.com>
Date: Sun, 7 Apr 2019 14:18:11 -0700
Subject: [PATCH] Add error handling path for async song loading.
Async song loading can fail without user feedback. This change adds return codes
to these async load functions. It will now produce an error dialog in simple
scenarios (test case is user selecting a file that is not readable). Other cases,
such as directories and playlists, aren't yet covered.
---
src/core/songloader.cpp | 28 +++++++++++++++++++---------
src/core/songloader.h | 8 ++++----
src/playlist/songloaderinserter.cpp | 12 ++++++++++--
3 files changed, 33 insertions(+), 15 deletions(-)
diff --git a/src/core/songloader.cpp b/src/core/songloader.cpp
index 677fc26b5..0a28149c9 100644
--- a/src/core/songloader.cpp
+++ b/src/core/songloader.cpp
@@ -130,9 +130,12 @@ SongLoader::Result SongLoader::Load(const QUrl& url) {
return BlockingLoadRequired;
}
-void SongLoader::LoadFilenamesBlocking() {
+SongLoader::Result SongLoader::LoadFilenamesBlocking() {
if (preload_func_) {
- preload_func_();
+ return preload_func_();
+ } else {
+ qLog(Error) << "Preload function was not set for blocking operation";
+ return Error;
}
}
@@ -207,18 +210,21 @@ SongLoader::Result SongLoader::LoadLocal(const QString& filename) {
return BlockingLoadRequired;
}
-void SongLoader::LoadLocalAsync(const QString& filename) {
+SongLoader::Result SongLoader::LoadLocalAsync(const QString& filename) {
// First check to see if it's a directory - if so we will load all the songs
// inside right away.
if (QFileInfo(filename).isDir()) {
LoadLocalDirectory(filename);
- return;
+ return Success;
}
// It's a local file, so check if it looks like a playlist.
// Read the first few bytes.
QFile file(filename);
- if (!file.open(QIODevice::ReadOnly)) return;
+ if (!file.open(QIODevice::ReadOnly)) {
+ qLog(Error) << "Could not open file " << filename;
+ return Error;
+ }
QByteArray data(file.read(PlaylistParser::kMagicSize));
ParserBase* parser = playlist_parser_->ParserForMagic(data);
@@ -234,7 +240,7 @@ void SongLoader::LoadLocalAsync(const QString& filename) {
// It's a playlist!
LoadPlaylist(parser, filename);
- return;
+ return Success;
}
// Check if it's a cue file
@@ -249,7 +255,7 @@ void SongLoader::LoadLocalAsync(const QString& filename) {
for (Song song : song_list) {
if (song.is_valid()) songs_ << song;
}
- return;
+ return Success;
}
// Assume it's just a normal file
@@ -257,6 +263,9 @@ void SongLoader::LoadLocalAsync(const QString& filename) {
song.InitFromFilePartial(filename);
if (song.is_valid()) {
songs_ << song;
+ return Success;
+ } else {
+ return Error;
}
}
@@ -374,7 +383,7 @@ void SongLoader::StopTypefind() {
emit LoadRemoteFinished();
}
-void SongLoader::LoadRemote() {
+SongLoader::Result SongLoader::LoadRemote() {
qLog(Debug) << "Loading remote file" << url_;
// It's not a local file so we have to fetch it to see what it is. We use
@@ -399,7 +408,7 @@ void SongLoader::LoadRemote() {
if (!source) {
qLog(Warning) << "Couldn't create gstreamer source element for"
<< url_.toString();
- return;
+ return Error;
}
// Create the other elements and link them up
@@ -430,6 +439,7 @@ void SongLoader::LoadRemote() {
// Wait until loading is finished
loop.exec();
+ return Success;
}
void SongLoader::TypeFound(GstElement*, uint, GstCaps* caps, void* self) {
diff --git a/src/core/songloader.h b/src/core/songloader.h
index 494a4fc9d..0f32378e4 100644
--- a/src/core/songloader.h
+++ b/src/core/songloader.h
@@ -72,7 +72,7 @@ class SongLoader : public QObject {
// Loads the files with only filenames. When finished, songs() contains a
// complete list of all Song objects, but without metadata. This method is
// blocking, do not call it from the UI thread.
- void LoadFilenamesBlocking();
+ Result LoadFilenamesBlocking();
// Completely load songs previously loaded with LoadFilenamesBlocking(). When
// finished, the Song objects in songs() contain metadata now. This method is
// blocking, do not call it from the UI thread.
@@ -101,7 +101,7 @@ signals:
};
Result LoadLocal(const QString& filename);
- void LoadLocalAsync(const QString& filename);
+ Result LoadLocalAsync(const QString& filename);
void EffectiveSongLoad(Song* song);
Result LoadLocalPartial(const QString& filename);
void LoadLocalDirectory(const QString& filename);
@@ -109,7 +109,7 @@ signals:
void AddAsRawStream();
- void LoadRemote();
+ Result LoadRemote();
bool LoadRemotePlaylist(const QUrl& url);
// GStreamer callbacks
@@ -138,7 +138,7 @@ signals:
CueParser* cue_parser_;
// For async loads
- std::function<void()> preload_func_;
+ std::function<Result()> preload_func_;
int timeout_;
State state_;
bool success_;
diff --git a/src/playlist/songloaderinserter.cpp b/src/playlist/songloaderinserter.cpp
index d6ebca740..ffa83e59a 100644
--- a/src/playlist/songloaderinserter.cpp
+++ b/src/playlist/songloaderinserter.cpp
@@ -134,15 +134,23 @@ void SongLoaderInserter::AsyncLoad() {
int async_load_id = task_manager_->StartTask(tr("Loading tracks"));
task_manager_->SetTaskProgress(async_load_id, async_progress,
pending_.count());
+ bool first_loaded = false;
for (int i = 0; i < pending_.count(); ++i) {
SongLoader* loader = pending_[i];
- loader->LoadFilenamesBlocking();
+ SongLoader::Result res = loader->LoadFilenamesBlocking();
+
task_manager_->SetTaskProgress(async_load_id, ++async_progress);
- if (i == 0) {
+
+ if (res == SongLoader::Error) {
+ emit Error(tr("Error loading %1").arg(loader->url().toString()));
+ continue;
+ }
+ if (!first_loaded) {
// Load everything from the first song. It'll start playing as soon as
// we emit PreloadFinished, so it needs to have the duration set to show
// properly in the UI.
loader->LoadMetadataBlocking();
+ first_loaded = true;
}
songs_ << loader->songs();
}
--
2.16.4
++++++ 0001-Fix-gst_buffer_unref-assertion-in-chromaprinter.patch ++++++
>From 8094957e09a43e0dcbaebf36d01b48922119b2c4 Mon Sep 17 00:00:00 2001
From: Jonas Kvinge <jonas(a)jkvinge.net>
Date: Fri, 26 Apr 2019 20:40:42 +0200
Subject: [PATCH] Fix gst_buffer_unref assertion in chromaprinter
---
src/musicbrainz/chromaprinter.cpp | 14 +++++++++-----
1 file changed, 9 insertions(+), 5 deletions(-)
Index: Clementine-3b76fa62752f25b445ee2a71f02c0c9d7581735a/src/musicbrainz/chromaprinter.cpp
===================================================================
--- Clementine-3b76fa62752f25b445ee2a71f02c0c9d7581735a.orig/src/musicbrainz/chromaprinter.cpp 2019-05-22 12:25:58.153436956 +0200
+++ Clementine-3b76fa62752f25b445ee2a71f02c0c9d7581735a/src/musicbrainz/chromaprinter.cpp 2019-05-22 12:26:34.126826663 +0200
@@ -208,12 +208,16 @@ GstFlowReturn Chromaprinter::NewBufferCa
Chromaprinter* me = reinterpret_cast<Chromaprinter*>(self);
GstSample* sample = gst_app_sink_pull_sample(app_sink);
+ if (!sample) return GST_FLOW_ERROR;
GstBuffer* buffer = gst_sample_get_buffer(sample);
- GstMapInfo map;
- gst_buffer_map(buffer, &map, GST_MAP_READ);
- me->buffer_.write(reinterpret_cast<const char*>(map.data), map.size);
- gst_buffer_unmap(buffer, &map);
- gst_buffer_unref(buffer);
+ if (buffer) {
+ GstMapInfo map;
+ if (gst_buffer_map(buffer, &map, GST_MAP_READ)) {
+ me->buffer_.write(reinterpret_cast<const char*>(map.data), map.size);
+ gst_buffer_unmap(buffer, &map);
+ }
+ }
+ gst_sample_unref(sample);
return GST_FLOW_OK;
}
++++++ 0001-Fix-several-gstreamer-object-leaks.patch ++++++
--- /var/tmp/diff_new_pack.gJYtYC/_old 2019-05-24 11:33:01.837374923 +0200
+++ /var/tmp/diff_new_pack.gJYtYC/_new 2019-05-24 11:33:01.841374922 +0200
@@ -17,11 +17,11 @@
src/engines/gstenginepipeline.cpp | 32 ++++++++++++++++++++------------
1 file changed, 20 insertions(+), 12 deletions(-)
-diff --git a/src/engines/gstenginepipeline.cpp b/src/engines/gstenginepipeline.cpp
-index 7f12c2628..17ddd6089 100644
---- a/src/engines/gstenginepipeline.cpp
-+++ b/src/engines/gstenginepipeline.cpp
-@@ -417,10 +417,13 @@ bool GstEnginePipeline::Init() {
+Index: Clementine-3b76fa62752f25b445ee2a71f02c0c9d7581735a/src/engines/gstenginepipeline.cpp
+===================================================================
+--- Clementine-3b76fa62752f25b445ee2a71f02c0c9d7581735a.orig/src/engines/gstenginepipeline.cpp 2019-05-22 12:26:00.917543757 +0200
++++ Clementine-3b76fa62752f25b445ee2a71f02c0c9d7581735a/src/engines/gstenginepipeline.cpp 2019-05-22 12:26:10.025895666 +0200
+@@ -424,10 +424,13 @@ bool GstEnginePipeline::Init() {
gst_element_link(probe_converter, probe_sink);
// Link the outputs of tee to the queues on each path.
@@ -39,7 +39,7 @@
// Link replaygain elements if enabled.
if (rg_enabled_) {
-@@ -454,12 +457,14 @@ bool GstEnginePipeline::Init() {
+@@ -461,12 +464,14 @@ bool GstEnginePipeline::Init() {
gst_caps_unref(caps);
// Add probes and handlers.
@@ -60,7 +60,7 @@
MaybeLinkDecodeToAudio();
-@@ -519,8 +524,10 @@ bool GstEnginePipeline::InitFromUrl(const QUrl& url, qint64 end_nanosec) {
+@@ -526,8 +531,10 @@ bool GstEnginePipeline::InitFromUrl(cons
GstEnginePipeline::~GstEnginePipeline() {
if (pipeline_) {
@@ -73,7 +73,7 @@
g_source_remove(bus_cb_id_);
gst_element_set_state(pipeline_, GST_STATE_NULL);
gst_object_unref(GST_OBJECT(pipeline_));
-@@ -1011,6 +1018,7 @@ void GstEnginePipeline::SourceSetupCallback(GstURIDecodeBin* bin,
+@@ -1018,6 +1025,7 @@ void GstEnginePipeline::SourceSetupCallb
g_object_set(element, "ssl-strict", TRUE, nullptr);
#endif
}
@@ -81,6 +81,3 @@
}
void GstEnginePipeline::TransitionToNext() {
---
-2.16.4
-
++++++ 0001-Fixes-for-APE-filetype.patch ++++++
>From bd89a1d2ded7177888779b9bc55f32e85b271ef5 Mon Sep 17 00:00:00 2001
From: "James D. Smith" <smithjd15(a)gmail.com>
Date: Thu, 14 Feb 2019 17:33:33 -0700
Subject: [PATCH] Fixes for APE filetype.
---
ext/libclementine-remote/remotecontrolmessages.proto | 1 +
src/core/mpris2.cpp | 1 +
src/core/song.cpp | 3 +++
src/library/libraryquery.cpp | 1 +
4 files changed, 6 insertions(+)
diff --git a/ext/libclementine-remote/remotecontrolmessages.proto b/ext/libclementine-remote/remotecontrolmessages.proto
index 141b78f5d..2389a5a26 100644
--- a/ext/libclementine-remote/remotecontrolmessages.proto
+++ b/ext/libclementine-remote/remotecontrolmessages.proto
@@ -109,6 +109,7 @@ message SongMetadata {
WAVPACK = 14;
SPC = 15;
VGM = 16;
+ APE = 17;
STREAM = 99;
}
diff --git a/src/core/mpris2.cpp b/src/core/mpris2.cpp
index 9f9d4737f..7056d5bcb 100644
--- a/src/core/mpris2.cpp
+++ b/src/core/mpris2.cpp
@@ -238,6 +238,7 @@ QStringList Mpris2::SupportedMimeTypes() const {
<< "audio/ogg"
<< "audio/vnd.rn-realaudio"
<< "audio/vorbis"
+ << "audio/x-ape"
<< "audio/x-flac"
<< "audio/x-mp3"
<< "audio/x-mpeg"
diff --git a/src/core/song.cpp b/src/core/song.cpp
index df68a8cc4..01b320fe9 100644
--- a/src/core/song.cpp
+++ b/src/core/song.cpp
@@ -456,6 +456,8 @@ QString Song::TextForFiletype(FileType type) {
return QObject::tr("SNES SPC700");
case Song::Type_VGM:
return QObject::tr("VGM");
+ case Song::Type_APE:
+ return QObject::tr("Monkey's Audio");
case Song::Type_Stream:
return QObject::tr("Stream");
@@ -469,6 +471,7 @@ QString Song::TextForFiletype(FileType type) {
bool Song::IsFileLossless() const {
switch (filetype()) {
case Song::Type_Aiff:
+ case Song::Type_APE:
case Song::Type_Flac:
case Song::Type_OggFlac:
case Song::Type_Wav:
diff --git a/src/library/libraryquery.cpp b/src/library/libraryquery.cpp
index 4a44689b0..0ebc3ddb0 100644
--- a/src/library/libraryquery.cpp
+++ b/src/library/libraryquery.cpp
@@ -46,6 +46,7 @@ const QMap<QString, Song::FileType> kFiletypeId = QMap<QString, Song::FileType>(
{"cdda", Song::Type_Cdda},
{"spc700", Song::Type_Spc},
{"vgm", Song::Type_VGM},
+ {"ape", Song::Type_APE},
{"stream", Song::Type_Stream},
{"unknown", Song::Type_Unknown}});
--
2.16.4
++++++ 0001-Set-non-zero-minimum-for-fade-times.patch ++++++
>From cc295a4c4c4a5e53b8e734cb495b19ae60687022 Mon Sep 17 00:00:00 2001
From: Jim Broadus <jbroadus(a)gmail.com>
Date: Sun, 7 Apr 2019 21:07:54 -0700
Subject: [PATCH] Set non-zero minimum for fade times.
QTimeLine duration must be greater than 0. If set to 0, a default of 1000ms will
be used. To avoid this, enforce a minimum of 1ms for pause and cross fade values
if those fades are enabled.
---
src/ui/playbacksettingspage.ui | 6 ++++++
1 file changed, 6 insertions(+)
diff --git a/src/ui/playbacksettingspage.ui b/src/ui/playbacksettingspage.ui
index d2b405b66..f43a2cd55 100644
--- a/src/ui/playbacksettingspage.ui
+++ b/src/ui/playbacksettingspage.ui
@@ -88,6 +88,9 @@
<property name="suffix">
<string> ms</string>
</property>
+ <property name="minimum">
+ <number>1</number>
+ </property>
<property name="maximum">
<number>10000</number>
</property>
@@ -139,6 +142,9 @@
<property name="suffix">
<string> ms</string>
</property>
+ <property name="minimum">
+ <number>1</number>
+ </property>
<property name="maximum">
<number>10000</number>
</property>
--
2.16.4
++++++ 0001-Simplify-some-statements.patch ++++++
>From be827f4f7fe01da4b791d4a88f43870e8850940b Mon Sep 17 00:00:00 2001
From: Filip Gawin <filip.gawin(a)zoho.com>
Date: Fri, 22 Feb 2019 18:44:39 +0100
Subject: [PATCH] Simplify some statements
---
src/core/commandlineoptions.cpp | 5 ++---
src/core/mergedproxymodel.cpp | 6 ++----
src/core/utilities.cpp | 4 +---
src/devices/cddasongloader.cpp | 2 +-
src/internet/core/internetmodel.cpp | 8 +++-----
src/internet/core/internetshowsettingspage.cpp | 2 +-
src/internet/podcasts/gpoddertoptagsmodel.cpp | 2 +-
src/internet/podcasts/podcastdiscoverymodel.cpp | 3 +--
src/internet/subsonic/subsonicservice.cpp | 2 +-
src/networkremote/incomingdataparser.cpp | 4 ++--
src/playlist/playlistlistcontainer.cpp | 6 +-----
src/playlist/playlistview.cpp | 2 +-
src/ripper/ripper.cpp | 5 +----
src/ui/albumcoverchoicecontroller.cpp | 5 +----
src/widgets/nowplayingwidget.cpp | 3 +--
15 files changed, 20 insertions(+), 39 deletions(-)
diff --git a/src/core/commandlineoptions.cpp b/src/core/commandlineoptions.cpp
index b47c1c717..00089ac71 100644
--- a/src/core/commandlineoptions.cpp
+++ b/src/core/commandlineoptions.cpp
@@ -310,9 +310,8 @@ bool CommandlineOptions::Parse() {
bool CommandlineOptions::is_empty() const {
return player_action_ == Player_None && set_volume_ == -1 &&
volume_modifier_ == 0 && seek_to_ == -1 && seek_by_ == 0 &&
- play_track_at_ == -1 && show_osd_ == false &&
- toggle_pretty_osd_ == false && urls_.isEmpty() &&
- delete_current_track_ == false;
+ play_track_at_ == -1 && !show_osd_ && !toggle_pretty_osd_ &&
+ urls_.isEmpty() && !delete_current_track_;
}
bool CommandlineOptions::contains_play_options() const {
diff --git a/src/core/mergedproxymodel.cpp b/src/core/mergedproxymodel.cpp
index 8c210d391..97a151cc9 100644
--- a/src/core/mergedproxymodel.cpp
+++ b/src/core/mergedproxymodel.cpp
@@ -505,10 +505,8 @@ void MergedProxyModel::LayoutChanged() {
}
bool MergedProxyModel::IsKnownModel(const QAbstractItemModel* model) const {
- if (model == this || model == sourceModel() ||
- merge_points_.contains(const_cast<QAbstractItemModel*>(model)))
- return true;
- return false;
+ return model == this || model == sourceModel() ||
+ merge_points_.contains(const_cast<QAbstractItemModel*>(model));
}
QModelIndexList MergedProxyModel::mapFromSource(
diff --git a/src/core/utilities.cpp b/src/core/utilities.cpp
index fc300a005..b78008b2b 100644
--- a/src/core/utilities.cpp
+++ b/src/core/utilities.cpp
@@ -270,9 +270,7 @@ bool RemoveRecursive(const QString& path) {
if (!QFile::remove(path + "/" + child)) return false;
}
- if (!dir.rmdir(path)) return false;
-
- return true;
+ return dir.rmdir(path);
}
bool CopyRecursive(const QString& source, const QString& destination) {
diff --git a/src/devices/cddasongloader.cpp b/src/devices/cddasongloader.cpp
index 19b669bd8..54f204f4e 100644
--- a/src/devices/cddasongloader.cpp
+++ b/src/devices/cddasongloader.cpp
@@ -193,7 +193,7 @@ void CddaSongLoader::AudioCDTagsLoaded(
qobject_cast<MusicBrainzClient*>(sender());
musicbrainz_client->deleteLater();
SongList songs;
- if (results.size() == 0) return;
+ if (results.empty()) return;
int track_number = 1;
for (const MusicBrainzClient::Result& ret : results) {
Song song;
diff --git a/src/internet/core/internetmodel.cpp b/src/internet/core/internetmodel.cpp
index 756d48073..f49c9683f 100644
--- a/src/internet/core/internetmodel.cpp
+++ b/src/internet/core/internetmodel.cpp
@@ -351,11 +351,9 @@ void InternetModel::UpdateServices() {
bool setting_val = s.value(service_name).toBool();
// Only update if values are different
- if (setting_val == true &&
- shown_services_[internet_service].shown == false) {
+ if (setting_val && !shown_services_[internet_service].shown) {
ShowService(internet_service);
- } else if (setting_val == false &&
- shown_services_[internet_service].shown == true) {
+ } else if (!setting_val && shown_services_[internet_service].shown) {
HideService(internet_service);
}
}
@@ -378,7 +376,7 @@ int InternetModel::FindItemPosition(const QString& text) {
}
void InternetModel::ShowService(InternetService* service) {
- if (shown_services_[service].shown != true) {
+ if (!shown_services_[service].shown) {
QStandardItem* item = shown_services_[service].item;
int pos = FindItemPosition(item->text());
invisibleRootItem()->insertRow(pos, item);
diff --git a/src/internet/core/internetshowsettingspage.cpp b/src/internet/core/internetshowsettingspage.cpp
index 4c271b170..5a4b67629 100644
--- a/src/internet/core/internetshowsettingspage.cpp
+++ b/src/internet/core/internetshowsettingspage.cpp
@@ -50,7 +50,7 @@ void InternetShowSettingsPage::Load() {
item->setIcon(0, service_it.value().item->icon());
Qt::CheckState check_state =
- service_it.value().shown == true ? Qt::Checked : Qt::Unchecked;
+ service_it.value().shown ? Qt::Checked : Qt::Unchecked;
item->setData(0, Qt::CheckStateRole, check_state);
/* We have to store the constant name of the service */
item->setData(1, Qt::UserRole, service_it.key()->name());
diff --git a/src/internet/podcasts/gpoddertoptagsmodel.cpp b/src/internet/podcasts/gpoddertoptagsmodel.cpp
index b1926b09d..6fc4b7139 100644
--- a/src/internet/podcasts/gpoddertoptagsmodel.cpp
+++ b/src/internet/podcasts/gpoddertoptagsmodel.cpp
@@ -40,7 +40,7 @@ bool GPodderTopTagsModel::hasChildren(const QModelIndex& parent) const {
bool GPodderTopTagsModel::canFetchMore(const QModelIndex& parent) const {
if (parent.isValid() && parent.data(Role_Type).toInt() == Type_Folder &&
- parent.data(Role_HasLazyLoaded).toBool() == false) {
+ !parent.data(Role_HasLazyLoaded).toBool()) {
return true;
}
diff --git a/src/internet/podcasts/podcastdiscoverymodel.cpp b/src/internet/podcasts/podcastdiscoverymodel.cpp
index 076562d90..eb911fd21 100644
--- a/src/internet/podcasts/podcastdiscoverymodel.cpp
+++ b/src/internet/podcasts/podcastdiscoverymodel.cpp
@@ -38,8 +38,7 @@ PodcastDiscoveryModel::PodcastDiscoveryModel(Application* app, QObject* parent)
QVariant PodcastDiscoveryModel::data(const QModelIndex& index, int role) const {
if (index.isValid() && role == Qt::DecorationRole &&
- QStandardItemModel::data(index, Role_StartedLoadingImage).toBool() ==
- false) {
+ !QStandardItemModel::data(index, Role_StartedLoadingImage).toBool()) {
const QUrl image_url =
QStandardItemModel::data(index, Role_ImageUrl).toUrl();
if (image_url.isValid()) {
diff --git a/src/internet/subsonic/subsonicservice.cpp b/src/internet/subsonic/subsonicservice.cpp
index 1970d5931..9243fd587 100644
--- a/src/internet/subsonic/subsonicservice.cpp
+++ b/src/internet/subsonic/subsonicservice.cpp
@@ -481,7 +481,7 @@ void SubsonicLibraryScanner::OnGetAlbumListFinished(QNetworkReply* reply,
if (albums_added > 0) {
// Non-empty reply means potentially more albums to fetch
GetAlbumList(offset + kAlbumChunkSize);
- } else if (album_queue_.size() == 0) {
+ } else if (album_queue_.empty()) {
// Empty reply and no albums means an empty Subsonic server
scanning_ = false;
emit ScanFinished();
diff --git a/src/networkremote/incomingdataparser.cpp b/src/networkremote/incomingdataparser.cpp
index a4c8ebc12..c8dcb8a11 100644
--- a/src/networkremote/incomingdataparser.cpp
+++ b/src/networkremote/incomingdataparser.cpp
@@ -268,7 +268,7 @@ void IncomingDataParser::InsertUrls(const pb::remote::Message& msg) {
const pb::remote::RequestInsertUrls& request = msg.request_insert_urls();
// Insert plain urls without metadata
- if (request.urls().size() > 0) {
+ if (!request.urls().empty()) {
QList<QUrl> urls;
for (auto it = request.urls().begin(); it != request.urls().end(); ++it) {
std::string s = *it;
@@ -281,7 +281,7 @@ void IncomingDataParser::InsertUrls(const pb::remote::Message& msg) {
}
// Add songs with metadata if present
- if (request.songs().size() > 0) {
+ if (!request.songs().empty()) {
SongList songs;
for (int i = 0; i < request.songs().size(); i++) {
songs << CreateSongFromProtobuf(request.songs(i));
diff --git a/src/playlist/playlistlistcontainer.cpp b/src/playlist/playlistlistcontainer.cpp
index c5d6c1298..322a9ced6 100644
--- a/src/playlist/playlistlistcontainer.cpp
+++ b/src/playlist/playlistlistcontainer.cpp
@@ -128,11 +128,7 @@ class PlaylistListFilterProxyModel : public QSortFilterProxyModel {
}
//accept if any of the children is accepted on it's own merits
- if (hasAcceptedChildren(source_row, source_parent)) {
- return true;
- }
-
- return false;
+ return hasAcceptedChildren(source_row, source_parent);
}
};
diff --git a/src/playlist/playlistview.cpp b/src/playlist/playlistview.cpp
index 062ba4e2d..1686b55ca 100644
--- a/src/playlist/playlistview.cpp
+++ b/src/playlist/playlistview.cpp
@@ -1133,7 +1133,7 @@ void PlaylistView::ReloadSettings() {
// set_background_image when it is not needed, as this will cause the fading
// animation to start again. This also avoid to do useless
// "force_background_redraw".
- if (background_initialized_ == false ||
+ if (!background_initialized_ ||
background_image_filename != background_image_filename_ ||
background_type != background_image_type_ ||
blur_radius_ != blur_radius || opacity_level_ != opacity_level) {
diff --git a/src/ripper/ripper.cpp b/src/ripper/ripper.cpp
index b67350a2c..240e452a8 100644
--- a/src/ripper/ripper.cpp
+++ b/src/ripper/ripper.cpp
@@ -104,10 +104,7 @@ bool Ripper::CheckCDIOIsValid() {
}
bool Ripper::MediaChanged() const {
- if (cdio_ && cdio_get_media_changed(cdio_))
- return true;
- else
- return false;
+ return cdio_ && cdio_get_media_changed(cdio_);
}
void Ripper::Start() {
diff --git a/src/ui/albumcoverchoicecontroller.cpp b/src/ui/albumcoverchoicecontroller.cpp
index c00cd5919..8bb9cf317 100644
--- a/src/ui/albumcoverchoicecontroller.cpp
+++ b/src/ui/albumcoverchoicecontroller.cpp
@@ -347,10 +347,7 @@ bool AlbumCoverChoiceController::CanAcceptDrag(const QDragEnterEvent* e) {
const QString suffix = QFileInfo(url.toLocalFile()).suffix().toLower();
if (IsKnownImageExtension(suffix)) return true;
}
- if (e->mimeData()->hasImage()) {
- return true;
- }
- return false;
+ return e->mimeData()->hasImage();
}
QString AlbumCoverChoiceController::SaveCover(Song* song, const QDropEvent* e) {
diff --git a/src/widgets/nowplayingwidget.cpp b/src/widgets/nowplayingwidget.cpp
index 502a7801d..c508626c9 100644
--- a/src/widgets/nowplayingwidget.cpp
+++ b/src/widgets/nowplayingwidget.cpp
@@ -110,8 +110,7 @@ NowPlayingWidget::NowPlayingWidget(QWidget* parent)
fit_cover_width_action_ = menu_->addAction(tr("Fit cover to width"));
fit_cover_width_action_->setCheckable(true);
- fit_cover_width_action_->setEnabled((mode_ != SmallSongDetails) ? true
- : false);
+ fit_cover_width_action_->setEnabled(mode_ != SmallSongDetails);
connect(fit_cover_width_action_, SIGNAL(toggled(bool)),
SLOT(FitCoverWidth(bool)));
fit_cover_width_action_->setChecked(fit_width_);
--
2.16.4
++++++ clementine-1.3.1+git20190213.tar.gz -> clementine-1.3.1+git20190423.tar.gz ++++++
/work/SRC/openSUSE:Factory/clementine/clementine-1.3.1+git20190213.tar.gz /work/SRC/openSUSE:Factory/.clementine.new.5148/clementine-1.3.1+git20190423.tar.gz differ: char 13, line 1
1
0
Hello community,
here is the log from the commit of package usbguard for openSUSE:Factory checked in at 2019-05-24 11:32:49
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/usbguard (Old)
and /work/SRC/openSUSE:Factory/.usbguard.new.5148 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "usbguard"
Fri May 24 11:32:49 2019 rev:6 rq:705009 version:0.7.4
Changes:
--------
--- /work/SRC/openSUSE:Factory/usbguard/usbguard.changes 2019-01-21 10:56:50.667548986 +0100
+++ /work/SRC/openSUSE:Factory/.usbguard.new.5148/usbguard.changes 2019-05-24 11:32:51.593378836 +0200
@@ -1,0 +2,6 @@
+Wed May 22 13:38:28 UTC 2019 - Christophe Giboudeaux <christophe(a)krop.fr>
+
+- Run spec-cleaner
+- Add the missing systemd build requirement.
+
+-------------------------------------------------------------------
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ usbguard.spec ++++++
--- /var/tmp/diff_new_pack.T6d11K/_old 2019-05-24 11:32:52.569378464 +0200
+++ /var/tmp/diff_new_pack.T6d11K/_new 2019-05-24 11:32:52.573378461 +0200
@@ -17,9 +17,7 @@
%global _hardened_build 1
-
%define lname libusbguard0
-
Name: usbguard
Version: 0.7.4
Release: 0
@@ -35,8 +33,6 @@
Source3: usbguard-daemon.conf
Source4: usbguard-rpmlintrc
Patch0: usbguard-applet-qt_desktop_menu_categories.patch
-%{?systemd_requires}
-
BuildRequires: asciidoc
BuildRequires: aspell
BuildRequires: audit-devel
@@ -58,20 +54,23 @@
BuildRequires: libxml2-devel
BuildRequires: libxslt-devel
BuildRequires: pegtl-devel
+BuildRequires: pkgconfig
BuildRequires: polkit-devel
#BuildRequires: spdlog-static
BuildRequires: protobuf-devel
+BuildRequires: pkgconfig(systemd)
+%{?systemd_requires}
%description
The USBGuard software framework helps to protect your computer against rogue USB
devices by implementing basic whitelisting/blacklisting capabilities based on
USB device attributes.
-%package -n %lname
+%package -n %{lname}
Summary: Library for implementing USB device usage policy
Group: System/Libraries
-%description -n %lname
+%description -n %{lname}
The USBGuard software framework helps to protect your computer against rogue USB
devices by implementing basic whitelisting/blacklisting capabilities based on
USB device attributes.
@@ -79,7 +78,7 @@
%package devel
Summary: Development files for %{name}
Group: Development/Libraries/C and C++
-Requires: %lname = %{version}
+Requires: %{lname} = %{version}
Requires: %{name} = %{version}
Requires: libstdc++-devel
Requires: pkgconfig
@@ -108,7 +107,7 @@
for interacting with the USBGuard daemon component.
%prep
-%setup -q -n usbguard-%version
+%setup -q -n usbguard-%{version}
%patch0 -p1
%build
@@ -161,7 +160,6 @@
%postun -n libusbguard0 -p /sbin/ldconfig
%files
-%defattr(-,root,root,-)
%doc README.adoc CHANGELOG.md
%license LICENSE
%{_sbindir}/usbguard-daemon
@@ -172,35 +170,31 @@
%config(noreplace) %attr(0600,-,-) %{_sysconfdir}/usbguard/usbguard-daemon.conf
%config(noreplace) %attr(0600,-,-) %{_sysconfdir}/usbguard/rules.conf
%{_unitdir}/usbguard.service
-%{_datadir}/man/man8/usbguard-daemon.8.gz
-%{_datadir}/man/man5/usbguard-daemon.conf.5.gz
-%{_datadir}/man/man5/usbguard-rules.conf.5.gz
+%{_mandir}/man8/usbguard-daemon.8%{?ext_man}
+%{_mandir}/man5/usbguard-daemon.conf.5%{?ext_man}
+%{_mandir}/man5/usbguard-rules.conf.5%{?ext_man}
%{_datadir}/bash-completion/completions/usbguard
%dir %{_datadir}/zsh
%dir %{_datadir}/zsh/site-functions
%{_datadir}/zsh/site-functions/_usbguard
-%files -n %lname
-%defattr(-,root,root,-)
+%files -n %{lname}
%license LICENSE
%{_libdir}/*.so.*
%files devel
-%defattr(-,root,root,-)
%{_includedir}/*
%{_libdir}/*.so
%{_libdir}/pkgconfig/*.pc
%files tools
-%defattr(-,root,root,-)
%{_bindir}/usbguard
%{_bindir}/usbguard-rule-parser
-%{_datadir}/man/man1/usbguard.1.gz
+%{_mandir}/man1/usbguard.1%{?ext_man}
%files applet-qt
-%defattr(-,root,root,-)
%{_bindir}/usbguard-applet-qt
-%{_mandir}/man1/usbguard-applet-qt.1.gz
+%{_mandir}/man1/usbguard-applet-qt.1%{?ext_man}
%{_datadir}/applications/usbguard-applet-qt.desktop
%dir %{_datadir}/icons/hicolor
%dir %{_datadir}/icons/hicolor/scalable
1
0
Hello community,
here is the log from the commit of package obs-service-set_version for openSUSE:Factory checked in at 2019-05-24 11:32:46
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/obs-service-set_version (Old)
and /work/SRC/openSUSE:Factory/.obs-service-set_version.new.5148 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "obs-service-set_version"
Fri May 24 11:32:46 2019 rev:37 rq:705000 version:0.5.11
Changes:
--------
--- /work/SRC/openSUSE:Factory/obs-service-set_version/obs-service-set_version.changes 2019-05-13 14:51:51.730988565 +0200
+++ /work/SRC/openSUSE:Factory/.obs-service-set_version.new.5148/obs-service-set_version.changes 2019-05-24 11:32:46.937380615 +0200
@@ -1,0 +2,18 @@
+Thu May 16 15:13:14 UTC 2019 - John Whately <john+OpenSuse(a)whately.me>
+
+- Modified .spec file to better suit Fedora OS (let's just assume all Fedora versions has python 3)
+
+-------------------------------------------------------------------
+Thu May 16 13:11:28 UTC 2019 - FSchreiner(a)suse.com
+
+- Update to version 0.5.11:
+ * try to fix set_version:157:13: E117 over-indented (comment)
+
+-------------------------------------------------------------------
+Tue May 14 13:33:02 UTC 2019 - Adrian Schröter <adrian(a)suse.de>
+
+- enable test suite by default
+ * if it does not build, it can also not be executed on the distro
+- fix requires for SLE 12 distro
+
+-------------------------------------------------------------------
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ obs-service-set_version.spec ++++++
--- /var/tmp/diff_new_pack.Zz0XkS/_old 2019-05-24 11:32:47.581380368 +0200
+++ /var/tmp/diff_new_pack.Zz0XkS/_new 2019-05-24 11:32:47.585380367 +0200
@@ -1,7 +1,7 @@
#
# spec file for package obs-service-set_version
#
-# Copyright (c) 2018 SUSE LINUX GmbH, Nuernberg, Germany.
+# Copyright (c) 2019 SUSE LINUX GmbH, Nuernberg, Germany.
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@@ -16,12 +16,14 @@
#
-%if 0%{?suse_version} > 1315
%bcond_without obs_scm_testsuite
+%define service set_version
+
+%if 0%{?suse_version} > 1315 || 0%{?fedora_version}
+%define use_python python3
%else
-%bcond_with obs_scm_testsuite
+%define use_python python
%endif
-%define service set_version
Name: obs-service-%{service}
Version: 0.5.11
@@ -31,21 +33,24 @@
Group: Development/Tools/Building
Url: https://github.com/openSUSE/obs-service-%{service}
Source: %{name}-%{version}.tar.gz
+BuildRoot: %{_tmppath}/%{name}-%{version}-build
+BuildArch: noarch
+
%if %{with obs_scm_testsuite}
-BuildRequires: python3-ddt
-BuildRequires: python3-flake8
+BuildRequires: %{use_python}-ddt
+BuildRequires: %{use_python}-flake8
+BuildRequires: %{use_python}-packaging
%endif
+
%if 0%{?suse_version}
%if 0%{?suse_version} > 1315
-Recommends: python3-packaging
Requires: python3-base
%else
-Recommends: python3-packaging
+Requires: python
%endif
+Recommends: %{use_python}-packaging
%endif
-Requires: sed
-BuildRoot: %{_tmppath}/%{name}-%{version}-build
-BuildArch: noarch
+
%description
This is a source service for openSUSE Build Service.
@@ -57,21 +62,11 @@
%setup -q
%build
-#%if 0%{?suse_version} > 1315
-#sed -i -e "1 s,#!/usr/bin/python$,#!/usr/bin/python3," set_version
-#%endif
-
-#%if 0%{?is_Fedora_Rawhide}
-#sed -i -e "1 s,#!/usr/bin/python$,#!/usr/bin/python3," set_version
-#%endif
-
-#%if 0%{?is_Fedora_30}
-#sed -i -e ""1 s,#!/usr/bin/python$,#!/usr/bin/python3," set_version
-#%endif
+sed -i -e "1 s,#!/usr/bin/python$,#!/usr/bin/%{use_python}," set_version
%if %{with obs_scm_testsuite}
%check
-make test PYTHON=python3
+make test PYTHON=%{use_python}
%endif
%install
1
0
Hello community,
here is the log from the commit of package perl-Starman for openSUSE:Factory checked in at 2019-05-24 11:32:42
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/perl-Starman (Old)
and /work/SRC/openSUSE:Factory/.perl-Starman.new.5148 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "perl-Starman"
Fri May 24 11:32:42 2019 rev:2 rq:704998 version:0.4015
Changes:
--------
--- /work/SRC/openSUSE:Factory/perl-Starman/perl-Starman.changes 2016-03-09 15:17:04.000000000 +0100
+++ /work/SRC/openSUSE:Factory/.perl-Starman.new.5148/perl-Starman.changes 2019-05-24 11:32:46.145380917 +0200
@@ -1,0 +2,9 @@
+Tue May 21 05:26:48 UTC 2019 - Stephan Kulow <coolo(a)suse.com>
+
+- updated to 0.4015
+ see /usr/share/doc/packages/perl-Starman/Changes
+
+ 0.4015 2019-05-20 18:43:46 PDT
+ - Fixed a bug incorrectly handling content body of '0' (olsonanl) #133
+
+-------------------------------------------------------------------
Old:
----
Starman-0.4014.tar.gz
New:
----
Starman-0.4015.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ perl-Starman.spec ++++++
--- /var/tmp/diff_new_pack.HFapdV/_old 2019-05-24 11:32:46.637380729 +0200
+++ /var/tmp/diff_new_pack.HFapdV/_new 2019-05-24 11:32:46.645380726 +0200
@@ -1,7 +1,7 @@
#
# spec file for package perl-Starman
#
-# Copyright (c) 2015 SUSE LINUX GmbH, Nuernberg, Germany.
+# Copyright (c) 2019 SUSE LINUX GmbH, Nuernberg, Germany.
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@@ -12,19 +12,19 @@
# license that conforms to the Open Source Definition (Version 1.9)
# published by the Open Source Initiative.
-# Please submit bugfixes or comments via http://bugs.opensuse.org/
+# Please submit bugfixes or comments via https://bugs.opensuse.org/
#
Name: perl-Starman
-Version: 0.4014
+Version: 0.4015
Release: 0
%define cpan_name Starman
Summary: High-performance preforking PSGI/Plack web server
-License: Artistic-1.0 or GPL-1.0+
+License: Artistic-1.0 OR GPL-1.0-or-later
Group: Development/Libraries/Perl
-Url: http://search.cpan.org/dist/Starman/
-Source0: http://www.cpan.org/authors/id/M/MI/MIYAGAWA/%{cpan_name}-%{version}.tar.gz
+Url: https://metacpan.org/release/%{cpan_name}
+Source0: https://cpan.metacpan.org/authors/id/M/MI/MIYAGAWA/%{cpan_name}-%{version}.…
Source1: cpanspec.yml
BuildArch: noarch
BuildRoot: %{_tmppath}/%{name}-%{version}-build
@@ -35,7 +35,7 @@
BuildRequires: perl(HTTP::Parser::XS)
BuildRequires: perl(HTTP::Status)
BuildRequires: perl(LWP::UserAgent)
-BuildRequires: perl(Module::Build::Tiny) >= 0.039
+BuildRequires: perl(Module::Build::Tiny) >= 0.034
BuildRequires: perl(Net::Server) >= 2.007
BuildRequires: perl(Plack) >= 0.9971
BuildRequires: perl(Test::Requires)
@@ -56,55 +56,53 @@
* High Performance
- Uses the fast XS/C HTTP header parser
+Uses the fast XS/C HTTP header parser
* Preforking
- Spawns workers preforked like most high performance UNIX servers do.
- Starman also reaps dead children and automatically restarts the worker
- pool.
+Spawns workers preforked like most high performance UNIX servers do.
+Starman also reaps dead children and automatically restarts the worker
+pool.
* Signals
- Supports 'HUP' for graceful worker restarts, and 'TTIN'/'TTOU' to
- dynamically increase or decrease the number of worker processes, as well
- as 'QUIT' to gracefully shutdown the worker processes.
+Supports 'HUP' for graceful worker restarts, and 'TTIN'/'TTOU' to
+dynamically increase or decrease the number of worker processes, as well as
+'QUIT' to gracefully shutdown the worker processes.
* Superdaemon aware
- Supports the Server::Starter manpage for hot deploy and graceful
- restarts.
+Supports Server::Starter for hot deploy and graceful restarts.
* Multiple interfaces and UNIX Domain Socket support
- Able to listen on multiple interfaces including UNIX sockets.
+Able to listen on multiple interfaces including UNIX sockets.
* Small memory footprint
- Preloading the applications with '--preload-app' command line option
- enables copy-on-write friendly memory management. Also, the minimum
- memory usage Starman requires for the master process is 7MB and children
- (workers) is less than 3.0MB.
+Preloading the applications with '--preload-app' command line option
+enables copy-on-write friendly memory management. Also, the minimum memory
+usage Starman requires for the master process is 7MB and children (workers)
+is less than 3.0MB.
* PSGI compatible
- Can run any PSGI applications and frameworks
+Can run any PSGI applications and frameworks
* HTTP/1.1 support
- Supports chunked requests and responses, keep-alive and pipeline
- requests.
+Supports chunked requests and responses, keep-alive and pipeline requests.
* UNIX only
- This server does not support Win32.
+This server does not support Win32.
%prep
%setup -q -n %{cpan_name}-%{version}
-find . -type f -print0 | xargs -0 chmod 644
+find . -type f ! -name \*.pl -print0 | xargs -0 chmod 644
%build
-%{__perl} Build.PL --installdirs=vendor
+perl Build.PL --installdirs=vendor
./Build build --flags=%{?_smp_mflags}
%check
@@ -116,6 +114,7 @@
%files -f %{name}.files
%defattr(-,root,root,755)
-%doc Changes LICENSE README
+%doc Changes README script
+%license LICENSE
%changelog
++++++ Starman-0.4014.tar.gz -> Starman-0.4015.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Starman-0.4014/Build.PL new/Starman-0.4015/Build.PL
--- old/Starman-0.4014/Build.PL 2015-06-03 21:01:03.000000000 +0200
+++ new/Starman-0.4015/Build.PL 2019-05-21 03:43:51.000000000 +0200
@@ -1,7 +1,7 @@
-# This Build.PL for Starman was generated by Dist::Zilla::Plugin::ModuleBuildTiny 0.010.
+# This Build.PL for Starman was generated by Dist::Zilla::Plugin::ModuleBuildTiny 0.015.
use strict;
use warnings;
use 5.008001;
-use Module::Build::Tiny 0.039;
+use Module::Build::Tiny 0.034;
Build_PL();
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Starman-0.4014/Changes new/Starman-0.4015/Changes
--- old/Starman-0.4014/Changes 2015-06-03 21:01:03.000000000 +0200
+++ new/Starman-0.4015/Changes 2019-05-21 03:43:51.000000000 +0200
@@ -1,5 +1,8 @@
Revision history for Perl extension Starman
+0.4015 2019-05-20 18:43:46 PDT
+ - Fixed a bug incorrectly handling content body of '0' (olsonanl) #133
+
0.4014 2015-06-03 12:01:00 PDT
- Treat ECONNRESET like EPIPE (i.e. ignore), not as a fatal error #114 (Tim Bunce)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Starman-0.4014/MANIFEST new/Starman-0.4015/MANIFEST
--- old/Starman-0.4014/MANIFEST 2015-06-03 21:01:03.000000000 +0200
+++ new/Starman-0.4015/MANIFEST 2019-05-21 03:43:51.000000000 +0200
@@ -1,4 +1,4 @@
-# This file was automatically generated by Dist::Zilla::Plugin::Manifest v5.036.
+# This file was automatically generated by Dist::Zilla::Plugin::Manifest v6.012.
Build.PL
Changes
LICENSE
@@ -14,6 +14,7 @@
lib/Starman/Server.pm
script/starman
t/00_compile.t
+t/author-pod-syntax.t
t/chunked_req.t
t/chunked_termination.t
t/chunked_zero_length.t
@@ -23,8 +24,8 @@
t/no_chunked_head.t
t/rand.psgi
t/release-findbin.t
-t/release-pod-syntax.t
t/release-rand.t
+t/single_zero.t
t/ssl.t
t/ssl_ca.pem
t/ssl_key.pem
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Starman-0.4014/META.json new/Starman-0.4015/META.json
--- old/Starman-0.4014/META.json 2015-06-03 21:01:03.000000000 +0200
+++ new/Starman-0.4015/META.json 2019-05-21 03:43:51.000000000 +0200
@@ -4,7 +4,7 @@
"Tatsuhiko Miyagawa <miyagawa(a)bulknews.net>"
],
"dynamic_config" : 0,
- "generated_by" : "Dist::Zilla version 5.036, Dist::Milla version v1.0.15, CPAN::Meta::Converter version 2.150001",
+ "generated_by" : "Dist::Milla version v1.0.20, Dist::Zilla version 6.012, CPAN::Meta::Converter version 2.143240",
"license" : [
"perl_5"
],
@@ -15,23 +15,26 @@
"name" : "Starman",
"no_index" : {
"directory" : [
- "t",
- "xt",
+ "eg",
+ "examples",
"inc",
"share",
- "eg",
- "examples"
+ "t",
+ "xt"
]
},
"prereqs" : {
"configure" : {
"requires" : {
- "Module::Build::Tiny" : "0.039"
+ "Module::Build::Tiny" : "0.034"
+ },
+ "suggests" : {
+ "JSON::PP" : "2.27300"
}
},
"develop" : {
"requires" : {
- "Dist::Milla" : "v1.0.15",
+ "Dist::Milla" : "v1.0.20",
"Test::Pod" : "1.41"
}
},
@@ -72,7 +75,7 @@
"web" : "https://github.com/miyagawa/Starman"
}
},
- "version" : "0.4014",
+ "version" : "0.4015",
"x_contributors" : [
"Adam Guthrie <adam.guthrie(a)dvlgames.com>",
"Alex Vandiver <alex(a)chmrr.net>",
@@ -81,6 +84,7 @@
"Audrey Tang <audreyt(a)audreyt.org>",
"Chia-liang Kao <clkao(a)clkao.org>",
"cho45 <cho45(a)lowreal.net>",
+ "Damyan Ivanov <dmn(a)debian.org>",
"David Steinbrunner <dsteinbrunner(a)pobox.com>",
"Graham Barr <gbarr(a)pobox.com>",
"Grant McLean <grant(a)catalyst.net.nz>",
@@ -94,10 +98,14 @@
"Perlover <perlover(a)perlover.com>",
"Peter Makholm <peter(a)makholm.net>",
"Piotr Roszatycki <piotr.roszatycki(a)gmail.com>",
+ "Robert Olson <olson(a)mcs.anl.gov>",
"Robert Sedlacek <r.sedlacek(a)shadowcat.co.uk>",
- "Slobodan Mišković <slobodan(a)miskovic.ca>",
+ "Slobodan Mi\u0161kovi\u0107 <slobodan(a)miskovic.ca>",
"spleenjack <spleenjack(a)gmail.com>",
"Tim Bunce <Tim.Bunce(a)pobox.com>"
- ]
+ ],
+ "x_generated_by_perl" : "v5.20.1",
+ "x_serialization_backend" : "Cpanel::JSON::XS version 4.09",
+ "x_static_install" : 1
}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Starman-0.4014/META.yml new/Starman-0.4015/META.yml
--- old/Starman-0.4014/META.yml 2015-06-03 21:01:03.000000000 +0200
+++ new/Starman-0.4015/META.yml 2019-05-21 03:43:51.000000000 +0200
@@ -7,9 +7,9 @@
Test::More: '0'
Test::Requires: '0'
configure_requires:
- Module::Build::Tiny: '0.039'
+ Module::Build::Tiny: '0.034'
dynamic_config: 0
-generated_by: 'Dist::Zilla version 5.036, Dist::Milla version v1.0.15, CPAN::Meta::Converter version 2.150001'
+generated_by: 'Dist::Milla version v1.0.20, Dist::Zilla version 6.012, CPAN::Meta::Converter version 2.143240'
license: perl
meta-spec:
url: http://module-build.sourceforge.net/META-spec-v1.4.html
@@ -17,12 +17,12 @@
name: Starman
no_index:
directory:
- - t
- - xt
- - inc
- - share
- eg
- examples
+ - inc
+ - share
+ - t
+ - xt
requires:
Data::Dump: '0'
HTTP::Date: '0'
@@ -37,7 +37,7 @@
bugtracker: https://github.com/miyagawa/Starman/issues
homepage: https://github.com/miyagawa/Starman
repository: https://github.com/miyagawa/Starman.git
-version: '0.4014'
+version: '0.4015'
x_contributors:
- 'Adam Guthrie <adam.guthrie(a)dvlgames.com>'
- 'Alex Vandiver <alex(a)chmrr.net>'
@@ -46,6 +46,7 @@
- 'Audrey Tang <audreyt(a)audreyt.org>'
- 'Chia-liang Kao <clkao(a)clkao.org>'
- 'cho45 <cho45(a)lowreal.net>'
+ - 'Damyan Ivanov <dmn(a)debian.org>'
- 'David Steinbrunner <dsteinbrunner(a)pobox.com>'
- 'Graham Barr <gbarr(a)pobox.com>'
- 'Grant McLean <grant(a)catalyst.net.nz>'
@@ -59,7 +60,11 @@
- 'Perlover <perlover(a)perlover.com>'
- 'Peter Makholm <peter(a)makholm.net>'
- 'Piotr Roszatycki <piotr.roszatycki(a)gmail.com>'
+ - 'Robert Olson <olson(a)mcs.anl.gov>'
- 'Robert Sedlacek <r.sedlacek(a)shadowcat.co.uk>'
- 'Slobodan Mišković <slobodan(a)miskovic.ca>'
- 'spleenjack <spleenjack(a)gmail.com>'
- 'Tim Bunce <Tim.Bunce(a)pobox.com>'
+x_generated_by_perl: v5.20.1
+x_serialization_backend: 'YAML::Tiny version 1.73'
+x_static_install: 1
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Starman-0.4014/lib/Starman/Server.pm new/Starman-0.4015/lib/Starman/Server.pm
--- old/Starman-0.4014/lib/Starman/Server.pm 2015-06-03 21:01:03.000000000 +0200
+++ new/Starman-0.4015/lib/Starman/Server.pm 2019-05-21 03:43:51.000000000 +0200
@@ -301,7 +301,7 @@
if ( $self->{client}->{keepalive} ) {
# If we still have data in the input buffer it may be a pipelined request
- if ( $self->{client}->{inputbuf} ) {
+ if ( $self->{client}->{inputbuf} ne '' ) {
if ( $self->{client}->{inputbuf} =~ /^(?:GET|HEAD)/ ) {
if ( DEBUG ) {
warn "Pipelined GET/HEAD request in input buffer: "
@@ -344,7 +344,7 @@
# Do we have a full header in the buffer?
# This is before sysread so we don't read if we have a pipelined request
# waiting in the buffer
- last if defined $self->{client}->{inputbuf} && $self->{client}->{inputbuf} =~ /$CR?$LF$CR?$LF/s;
+ last if $self->{client}->{inputbuf} ne '' && $self->{client}->{inputbuf} =~ /$CR?$LF$CR?$LF/s;
# If not, read some data
my $read = sysread $self->{server}->{client}, my $buf, CHUNKSIZE;
@@ -404,7 +404,7 @@
my($self, $env) = @_;
my $get_chunk = sub {
- if ($self->{client}->{inputbuf}) {
+ if ($self->{client}->{inputbuf} ne '') {
my $chunk = delete $self->{client}->{inputbuf};
return ($chunk, length $chunk);
}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Starman-0.4014/lib/Starman.pm new/Starman-0.4015/lib/Starman.pm
--- old/Starman-0.4014/lib/Starman.pm 2015-06-03 21:01:03.000000000 +0200
+++ new/Starman-0.4015/lib/Starman.pm 2019-05-21 03:43:51.000000000 +0200
@@ -2,7 +2,7 @@
use strict;
use 5.008_001;
-our $VERSION = '0.4014';
+our $VERSION = '0.4015';
1;
__END__
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Starman-0.4014/t/author-pod-syntax.t new/Starman-0.4015/t/author-pod-syntax.t
--- old/Starman-0.4014/t/author-pod-syntax.t 1970-01-01 01:00:00.000000000 +0100
+++ new/Starman-0.4015/t/author-pod-syntax.t 2019-05-21 03:43:51.000000000 +0200
@@ -0,0 +1,15 @@
+#!perl
+
+BEGIN {
+ unless ($ENV{AUTHOR_TESTING}) {
+ print qq{1..0 # SKIP these tests are for testing by the author\n};
+ exit
+ }
+}
+
+# This file was automatically generated by Dist::Zilla::Plugin::PodSyntaxTests.
+use strict; use warnings;
+use Test::More;
+use Test::Pod 1.41;
+
+all_pod_files_ok();
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Starman-0.4014/t/release-findbin.t new/Starman-0.4015/t/release-findbin.t
--- old/Starman-0.4014/t/release-findbin.t 2015-06-03 21:01:03.000000000 +0200
+++ new/Starman-0.4015/t/release-findbin.t 2019-05-21 03:43:51.000000000 +0200
@@ -1,8 +1,8 @@
BEGIN {
unless ($ENV{RELEASE_TESTING}) {
- require Test::More;
- Test::More::plan(skip_all => 'these tests are for release candidate testing');
+ print qq{1..0 # SKIP these tests are for release candidate testing\n};
+ exit
}
}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Starman-0.4014/t/release-pod-syntax.t new/Starman-0.4015/t/release-pod-syntax.t
--- old/Starman-0.4014/t/release-pod-syntax.t 2015-06-03 21:01:03.000000000 +0200
+++ new/Starman-0.4015/t/release-pod-syntax.t 1970-01-01 01:00:00.000000000 +0100
@@ -1,14 +0,0 @@
-#!perl
-
-BEGIN {
- unless ($ENV{RELEASE_TESTING}) {
- require Test::More;
- Test::More::plan(skip_all => 'these tests are for release candidate testing');
- }
-}
-
-# This file was automatically generated by Dist::Zilla::Plugin::PodSyntaxTests.
-use Test::More;
-use Test::Pod 1.41;
-
-all_pod_files_ok();
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Starman-0.4014/t/release-rand.t new/Starman-0.4015/t/release-rand.t
--- old/Starman-0.4014/t/release-rand.t 2015-06-03 21:01:03.000000000 +0200
+++ new/Starman-0.4015/t/release-rand.t 2019-05-21 03:43:51.000000000 +0200
@@ -1,8 +1,8 @@
BEGIN {
unless ($ENV{RELEASE_TESTING}) {
- require Test::More;
- Test::More::plan(skip_all => 'these tests are for release candidate testing');
+ print qq{1..0 # SKIP these tests are for release candidate testing\n};
+ exit
}
}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Starman-0.4014/t/single_zero.t new/Starman-0.4015/t/single_zero.t
--- old/Starman-0.4014/t/single_zero.t 1970-01-01 01:00:00.000000000 +0100
+++ new/Starman-0.4015/t/single_zero.t 2019-05-21 03:43:51.000000000 +0200
@@ -0,0 +1,32 @@
+use strict;
+use Plack::Test;
+use Plack::Request;
+use HTTP::Request;
+use Test::More;
+
+$Plack::Test::Impl = "Server";
+$ENV{PLACK_SERVER} = 'Starman';
+
+my $app = sub {
+ my $env = shift;
+ my $req = Plack::Request->new($env);
+ is $req->content, "0";
+ return sub {
+ my $response = shift;
+ my $writer = $response->([ 200, [ 'Content-Type', 'text/plain' ]]);
+ $writer->write("ok");
+ $writer->close;
+ }
+};
+
+test_psgi $app, sub {
+ my $cb = shift;
+
+ my $req = HTTP::Request->new(POST => "http://localhost/");
+ $req->content('0');
+ my $res = $cb->($req);
+
+ is $res->content, "ok";
+};
+
+done_testing;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Starman-0.4014/t/ssl_ca.pem new/Starman-0.4015/t/ssl_ca.pem
--- old/Starman-0.4014/t/ssl_ca.pem 2015-06-03 21:01:03.000000000 +0200
+++ new/Starman-0.4015/t/ssl_ca.pem 2019-05-21 03:43:51.000000000 +0200
@@ -1,16 +1,21 @@
-----BEGIN CERTIFICATE-----
-MIICeDCCAeGgAwIBAgIJAOslSqlwsHjtMA0GCSqGSIb3DQEBBQUAMFQxCzAJBgNV
-BAYTAkFVMRMwEQYDVQQIDApTb21lLVN0YXRlMQ0wCwYDVQQHDARQZXJsMQ0wCwYD
-VQQKDARDUEFOMRIwEAYDVQQDDAlUd2lnZ3kgQ0EwIBcNMTMwNjI0MTI0ODM2WhgP
-MjExMzA1MzExMjQ4MzZaMFQxCzAJBgNVBAYTAkFVMRMwEQYDVQQIDApTb21lLVN0
-YXRlMQ0wCwYDVQQHDARQZXJsMQ0wCwYDVQQKDARDUEFOMRIwEAYDVQQDDAlUd2ln
-Z3kgQ0EwgZ8wDQYJKoZIhvcNAQEBBQADgY0AMIGJAoGBAM/DNSFrSL7lXuU0jf8m
-QoYcCX9FktOKQxDLbxRxwtHDhglBB8CuiMV+BbS5FrPbQr4nSgE2oJwpnwhuWrHN
-WVdaw+jphfaqKyH+EoS1HVvuTE+EuBvddjBOX05y9ep8dXj70VOBPFR5ak/eZ9Ak
-T24rGMIPoi98mXPDjH+P4UerAgMBAAGjUDBOMB0GA1UdDgQWBBRmjcVGMIxIobtv
-mBA3fueMBktkbDAfBgNVHSMEGDAWgBRmjcVGMIxIobtvmBA3fueMBktkbDAMBgNV
-HRMEBTADAQH/MA0GCSqGSIb3DQEBBQUAA4GBAJWVQFrrBKWd3dZOMYZoubvOoaMu
-lF18SThy0d0BB4KJ0smimQw/AG+yI/lEGjQZqNzPg/QO8DboFn2RATWEbnjUKln1
-Y7bEBgKQOoOvjXzoLrcNjUwHcYInSkkSiogW5Fif3cwrpNesbyT+6yck3eKV9dDs
-20Sk95QANMswpEsy
+MIIDazCCAlOgAwIBAgIUIiI/iRVTq/tVgh0aRA5NdV00hWIwDQYJKoZIhvcNAQEL
+BQAwRTELMAkGA1UEBhMCQVUxEzARBgNVBAgMClNvbWUtU3RhdGUxDTALBgNVBAoM
+BENQQU4xEjAQBgNVBAMMCVR3aWdneSBDQTAeFw0xODEwMjkyMDAyMDJaFw0yOTEw
+MTEyMDAyMDJaMEUxCzAJBgNVBAYTAkFVMRMwEQYDVQQIDApTb21lLVN0YXRlMQ0w
+CwYDVQQKDARDUEFOMRIwEAYDVQQDDAlUd2lnZ3kgQ0EwggEiMA0GCSqGSIb3DQEB
+AQUAA4IBDwAwggEKAoIBAQDBFop2+rRjBb5ljDQf9Nf6RLuGblKkQHlTX0IyWjB2
+LMOs8hjvQTcGcj1F4K1C6R6enapyo3oHy3VRXwncFcuIkGsblCiQe7N5eDxXDm3S
+/OnGit7e4wWXT//Jz4UPqb5E2egE2/UD9vNiMgpLlBtcpocs4ftG9zcAfc30Iti+
++0cY9Xj+2PidGNLGTnLVxBHgcMAuVl56Bln++t4zhzMULnmDLZRn7A4Y2hgASwgi
+/pEOzhDaotUA3UWxHT5ji3zowYFPEaeCrLaVIhLB03t1kyKI37gyzdQLvfb8zgSV
+dQfTuUJg3xALQ5SwkJ3YkkB88kzx1a5WmznRU+B0hX8PAgMBAAGjUzBRMB0GA1Ud
+DgQWBBR6irOqu7DaNMbdFDxkwJbO/ghaoTAfBgNVHSMEGDAWgBR6irOqu7DaNMbd
+FDxkwJbO/ghaoTAPBgNVHRMBAf8EBTADAQH/MA0GCSqGSIb3DQEBCwUAA4IBAQBD
+3G4sUS6Oves6Ov/l1qPri02dTF5KZIvnn7PX4vTGq022/q1tRd5tL9uwttSutb6i
+5/iqL9JMz1/ExJk4LN5y3Zl7jf5a8wg8Tm/7Wu8gfbSn6ChgbfWcwcrje5ImgsHN
+evwgQxm2WgXkiqvpnvOramCYSwEyhEBX89hJWaBkuSKuDa/rPpjQrce3DbzzQT3C
+LOiHppZk5rOyOLLGoZYwWbS2+MfQKz6dQmSrMWwwk5CamPGCDvj1Cwmh/hMY2dNq
+lzSeT7YFThqDv0XhQxTFhkvXOK8xrQuGLvCFIYGZYbNAd2gCguY5lBELJFJHfBFD
+3hn7L7wx4M++rOqlCLPm
-----END CERTIFICATE-----
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Starman-0.4014/t/ssl_key.pem new/Starman-0.4015/t/ssl_key.pem
--- old/Starman-0.4014/t/ssl_key.pem 2015-06-03 21:01:03.000000000 +0200
+++ new/Starman-0.4015/t/ssl_key.pem 2019-05-21 03:43:51.000000000 +0200
@@ -1,32 +1,48 @@
------BEGIN RSA PRIVATE KEY-----
-MIICXQIBAAKBgQC97L0abgahu40RdF5tZtfs3bnXdDrOvUi2Aaqmxrth/LXFpwJh
-YjILdtBO2/OwVsV8Srb56LtiYMMCISLI2TdFo9rtRX+1947hBrHAyREdJCZG2oOK
-GjSVK8Ew4/ITGn7PcY553WPG00UBURaXCHj4XolFdJkzJ898ZOfjieJbKwIDAQAB
-AoGAYKl7uVbkQy5cZtTONmoQXXqf2jtKruwBdLi2bPlaZ02iCf2tJXk/tTv8WxZx
-GX+gNVkldV3w+On8djn9JTIAgayhFqUpRnnH0QUDYaOeSBMwJ15Lh7FnxgOubtZ9
-Nybw0n2i1+7NnzQWW8Hbg0q0xUrPvQM+6ofXMcILNEhruiECQQDylZMJakDkHCGb
-25j2VLg1KyPXfsSXInbtAOYPHGWWnwPlai5aajNqJaEVWoggMeCqWQ+ncixHL2AP
-ruy4yVzbAkEAyG2g+yVqnU/tf9j/e7uLcXBoG0HRk94ntHWYWX8w2z0yWcaaC4g5
-OUuVzaJuIx8dDIMaBJjnGNrMASCxd+Aj8QJBAI7BVPkabTuQDnsw3LBBpPGtBHeh
-Y0Fph8DrYXeNB39+7oUIWmTc0IrrwALX9vmzQHoe1SZ9+u6dQ5OXJjmMTjcCQQCt
-3UPfeTbCHjrFQ+VkXW16S2tT8cWvAvDof3ZYdJhaJv0NmdW5mUMiq6nYx0XJW80k
-NHoWcNlP20VK2SR5+8rRAkBIUFfBtGlHLwzjC/GXqf8avU+pjmT1bmJrWbJIG6dg
-NZpy7goBxUin0lyP3/+INgbbuBhVGmCfIXmFhQTADO+6
------END RSA PRIVATE KEY-----
+-----BEGIN PRIVATE KEY-----
+MIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQDqNpja2Nj0nyhL
+LIxILjRoLt7Z8rp96/G7pxgoQ5USJr5y2gx7FfKnalF+UEJdZgjNcIkWWm8aybBI
+tKXcmFH0axWMGZXsQdNdw2tzWzj8dkiWGpdyMLMBFLlihofyXApHl7oeg+kFCVpA
+3ov11Z6p10vVKTd7Do+AAcfsVv/RUJWPS4a+ETQMRzk9xYO6GKt80f0RRkv/VAu1
+yvmEfaZAtKhUFrqbKQmISdIjkDbjoWgXc0Lg7NCcf1p7mNBh6UjxCqxo0M++EtPD
+7adO+5DsI7LuoLF5Gsj1DBRITkJvGNBROz0S982XROebyDo5NOcIIjipns1A2wUb
+QrPD83ifAgMBAAECggEAEHxZVAYxdz6AspHnKel+rNqnuwWX1Oc3s7K2Q5dGNene
+O+1XNY687sXQCKkTksls0zEZpSYmbedGbkew6Q8bra2f7aWbZO7ZNt9bf9oq77JP
+t6kVgeclomzYA7Ree1O5MYLfiehVDZKz9J71kQ9BRMkvwEhPbG0A8sytSthw10XH
+UTcr+WBs2MhHTzPHkNon/lea8543aq+ccHwx69E0GKnixIE+wVPYBgwf1ZSdOiHh
+iPEknoYgzLUbq2etcWfGf9OzEulPsLYvHf/FsU85DmHr78LuBaJJHnw/gD4G/uCk
+U9iW0K9pnB8dQVdjIB4Qms1yPkdnzSlZYjKZpDhAWQKBgQD/Co0iZpizUkwB4WjJ
+yboM7CmW/lxoQQ0OgIwFP2Bqy5GK42//MT50z14V7LMkod1ZjYF7DGuWzhZ8mzAH
+OqUiYVj3vd61J6to4aZ3YGYy9Wn2DQE0YCv0tNQ2Hy5H5X0my55kVhBKGuWuz8gV
+bcLzGcCgxTh+g4QVRCrnbgWybQKBgQDrGABPVYGXd9Lr6nsYW2FKrxdtuEfJKppH
+2Ai2co7WBPtpcm0rQrQQpkQlVr+dLQEs9couZ2o7l10GeIC2cmUQjT3IDqZDirOR
+DfWD5FJO8kmCL1Lqx8gbaJk1GDmas838LtKVvWQjyD/YmSGU3gaHgCompDYFrSBp
+Av2dAhTPuwKBgDgM1pWf3KFUTdX/9uqaBeR/JmjDwAU9fqQYRi2FDyiJUpQmhd+c
+r/A1/qRs37YGSMI8oh8rzJ1Y74I1DOoZzl7u7AGOXdqMPFSReuczbWJ3ovDrTL94
+/1AJSbYXRjGQ0t9q0oWUkIHoxV+U1JE5DSYmG7p5fX/4YVfXImK4QFJFAoGBAI3G
+zLELbPrOrWnO3+theHwUublWkBw2UBKRqzd0QMW6/W+rLUEQmg0MaD5oYWhFctcN
+Z5+yiDNl5hj35Q+iT2a69w5GH2jOJdqNo4ml0SmBHmmfZo7marx0yShm8p5kXw39
+osvhCpo1sqNKPiFMAH4JAeKJ13Z24PvTbOUaEzjvAoGAMMlBaOHyhOUtcNwjg12C
+IpSZiStcQFOPgOb+4lO6MKyQaU4yp8Y6yXZGuBfZDdYKxXc7g9pGPEu7wYE8JX4a
+xcixJrkvbq8kMbbS2GcStrDohPAgmptdhHGR00+jGN1EnK40a0nKrFii0RwvucxW
+FYizcklNMPmFOHuJQopwG+g=
+-----END PRIVATE KEY-----
-----BEGIN CERTIFICATE-----
-MIICtzCCAiCgAwIBAgIBATANBgkqhkiG9w0BAQUFADBUMQswCQYDVQQGEwJBVTET
-MBEGA1UECAwKU29tZS1TdGF0ZTENMAsGA1UEBwwEUGVybDENMAsGA1UECgwEQ1BB
-TjESMBAGA1UEAwwJVHdpZ2d5IENBMCAXDTEzMDYyNDE0MDkxN1oYDzIxMTMwNTMx
-MTQwOTE3WjBbMQswCQYDVQQGEwJBVTETMBEGA1UECAwKU29tZS1TdGF0ZTENMAsG
-A1UEBwwEUGVybDEUMBIGA1UECgwLVHdpZ2d5OjpUTFMxEjAQBgNVBAMMCWxvY2Fs
-aG9zdDCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEAvey9Gm4GobuNEXRebWbX
-7N2513Q6zr1ItgGqpsa7Yfy1xacCYWIyC3bQTtvzsFbFfEq2+ei7YmDDAiEiyNk3
-RaPa7UV/tfeO4QaxwMkRHSQmRtqDiho0lSvBMOPyExp+z3GOed1jxtNFAVEWlwh4
-+F6JRXSZMyfPfGTn44niWysCAwEAAaOBjzCBjDAJBgNVHRMEAjAAMBEGCWCGSAGG
-+EIBAQQEAwIGQDAsBglghkgBhvhCAQ0EHxYdT3BlblNTTCBHZW5lcmF0ZWQgQ2Vy
-dGlmaWNhdGUwHQYDVR0OBBYEFNEyv4THaOchG4iWvGnWYv13FdBTMB8GA1UdIwQY
-MBaAFGaNxUYwjEihu2+YEDd+54wGS2RsMA0GCSqGSIb3DQEBBQUAA4GBAIG24tBn
-rAOJUCcFUVSPbVdhxvjWjuzN5NRuhJyPRc2dEoZeQ2A7gP0znPnoelTOrKfduf04
-cMsMNAUVNyMnGY3BdHl9ShsbCq8RmFzogB1oT0vV2iyQIdp1+L4ll8z+E/waNBR7
-TIbJDA86rCs5lQ3kL8q7ZBIFNApsoAM+b3z1
+MIIDTjCCAjagAwIBAgIUIiI/iRVTq/tVgh0aRA5NdV00hWQwDQYJKoZIhvcNAQEL
+BQAwRTELMAkGA1UEBhMCQVUxEzARBgNVBAgMClNvbWUtU3RhdGUxDTALBgNVBAoM
+BENQQU4xEjAQBgNVBAMMCVR3aWdneSBDQTAeFw0xODEwMjkyMDE3MDhaFw0yOTEw
+MTEyMDE3MDhaMFsxCzAJBgNVBAYTAkFVMRMwEQYDVQQIDApTb21lLVN0YXRlMQ0w
+CwYDVQQHDARQZXJsMRQwEgYDVQQKDAtUd2lnZ3k6OlRMUzESMBAGA1UEAwwJbG9j
+YWxob3N0MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA6jaY2tjY9J8o
+SyyMSC40aC7e2fK6fevxu6cYKEOVEia+ctoMexXyp2pRflBCXWYIzXCJFlpvGsmw
+SLSl3JhR9GsVjBmV7EHTXcNrc1s4/HZIlhqXcjCzARS5YoaH8lwKR5e6HoPpBQla
+QN6L9dWeqddL1Sk3ew6PgAHH7Fb/0VCVj0uGvhE0DEc5PcWDuhirfNH9EUZL/1QL
+tcr5hH2mQLSoVBa6mykJiEnSI5A246FoF3NC4OzQnH9ae5jQYelI8QqsaNDPvhLT
+w+2nTvuQ7COy7qCxeRrI9QwUSE5CbxjQUTs9EvfNl0Tnm8g6OTTnCCI4qZ7NQNsF
+G0Kzw/N4nwIDAQABoyAwHjAJBgNVHRMEAjAAMBEGCWCGSAGG+EIBAQQEAwIGQDAN
+BgkqhkiG9w0BAQsFAAOCAQEAVOEsMwoWZozYM102nwwRDveaqsLmQUIq6CfAQ1tC
+6WtxtV3ZpydfRJauwNEa1tPtWn7RrqHttZwwG5YD8TvxqJvX18nJXQz8GUef2L65
+ZxPoiZOd+pL7eB9P7Hscyp2q76JWJDd0j86QMoL8P9MqZ6J1z4UgoeaDVX1YDRe9
+WBtgI+sy4O+v1uPHNv1yT3mG4cTrc8PKFh5G9KmqMAAqha9HslaEWHwz7mXJxOS0
+PegBGFjjIw/S6XV5kf7ZLbBnZDRKah9BPxL/K8lmZnBReAJaNMVkE/1KA/5aNp4J
+3m9c4DXL+svrQim8nFG3TizjbPkmuRnts5+jwSe5IB3bvQ==
-----END CERTIFICATE-----
1
0
Hello community,
here is the log from the commit of package perl-Test-Spelling for openSUSE:Factory checked in at 2019-05-24 11:32:38
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/perl-Test-Spelling (Old)
and /work/SRC/openSUSE:Factory/.perl-Test-Spelling.new.5148 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "perl-Test-Spelling"
Fri May 24 11:32:38 2019 rev:13 rq:704997 version:0.23
Changes:
--------
--- /work/SRC/openSUSE:Factory/perl-Test-Spelling/perl-Test-Spelling.changes 2019-04-28 20:14:53.786364671 +0200
+++ /work/SRC/openSUSE:Factory/.perl-Test-Spelling.new.5148/perl-Test-Spelling.changes 2019-05-24 11:32:40.725382986 +0200
@@ -1,0 +2,13 @@
+Wed May 22 05:27:48 UTC 2019 - Stephan Kulow <coolo(a)suse.com>
+
+- updated to 0.23
+ see /usr/share/doc/packages/perl-Test-Spelling/Changes
+
+ 0.23 2019-05-21
+ - Fixed some documentation errors (Mohammad S Anwar)
+ - Added unicode support (Kivanc Yazan, GH PR#10)
+ - Bump Perl prereq to 5.8 now that we support unicode
+ - Don't inherit from Exporter (Olivier Mengué, GH PR#9)
+ - Bump Exporter prereq to 5.57
+
+-------------------------------------------------------------------
Old:
----
Test-Spelling-0.22.tar.gz
New:
----
Test-Spelling-0.23.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ perl-Test-Spelling.spec ++++++
--- /var/tmp/diff_new_pack.AQjXla/_old 2019-05-24 11:32:41.629382641 +0200
+++ /var/tmp/diff_new_pack.AQjXla/_new 2019-05-24 11:32:41.633382640 +0200
@@ -17,7 +17,7 @@
Name: perl-Test-Spelling
-Version: 0.22
+Version: 0.23
Release: 0
%define cpan_name Test-Spelling
Summary: Check for spelling errors in POD files
++++++ Test-Spelling-0.22.tar.gz -> Test-Spelling-0.23.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Test-Spelling-0.22/Changes new/Test-Spelling-0.23/Changes
--- old/Test-Spelling-0.22/Changes 2019-04-25 00:41:13.000000000 +0200
+++ new/Test-Spelling-0.23/Changes 2019-05-22 02:44:53.000000000 +0200
@@ -1,5 +1,12 @@
Revision history for Test-Spelling
+0.23 2019-05-21
+ - Fixed some documentation errors (Mohammad S Anwar)
+ - Added unicode support (Kivanc Yazan, GH PR#10)
+ - Bump Perl prereq to 5.8 now that we support unicode
+ - Don't inherit from Exporter (Olivier Mengué, GH PR#9)
+ - Bump Exporter prereq to 5.57
+
0.22 2019-04-24
- Zero-code-change release encompassing everything from 0.21
- Resolves RT#120425 . in @INC should no longer be an issue
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Test-Spelling-0.22/MANIFEST new/Test-Spelling-0.23/MANIFEST
--- old/Test-Spelling-0.22/MANIFEST 2019-04-25 00:41:13.000000000 +0200
+++ new/Test-Spelling-0.23/MANIFEST 2019-05-22 02:44:53.000000000 +0200
@@ -16,6 +16,7 @@
t/corpus/good-pod.pm
t/corpus/no-pod.pm
t/corpus/stopword.pm
+t/corpus/unicode-pod.pm
t/fake_checker.t
t/load.t
t/stopword.t
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Test-Spelling-0.22/META.json new/Test-Spelling-0.23/META.json
--- old/Test-Spelling-0.22/META.json 2019-04-25 00:41:13.000000000 +0200
+++ new/Test-Spelling-0.23/META.json 2019-05-22 02:44:53.000000000 +0200
@@ -32,6 +32,9 @@
"configure" : {
"requires" : {
"ExtUtils::MakeMaker" : "0"
+ },
+ "suggests" : {
+ "JSON::PP" : "2.27300"
}
},
"develop" : {
@@ -54,7 +57,7 @@
},
"runtime" : {
"requires" : {
- "Exporter" : "0",
+ "Exporter" : "5.57",
"File::Spec" : "0",
"IPC::Run3" : "0",
"Pod::Spell" : "0",
@@ -62,7 +65,7 @@
"Test::Builder" : "0",
"Text::Wrap" : "0",
"base" : "0",
- "perl" : "5.006",
+ "perl" : "5.008",
"strict" : "0",
"warnings" : "0"
}
@@ -84,7 +87,7 @@
"provides" : {
"Test::Spelling" : {
"file" : "lib/Test/Spelling.pm",
- "version" : "0.22"
+ "version" : "0.23"
}
},
"release_status" : "stable",
@@ -99,7 +102,7 @@
"web" : "https://github.com/genio/test-spelling"
}
},
- "version" : "0.22",
+ "version" : "0.23",
"x_Dist_Zilla" : {
"perl" : {
"version" : "5.026001"
@@ -196,7 +199,7 @@
}
},
"name" : "@Starter/MakeMaker::Awesome",
- "version" : "0.47"
+ "version" : "0.48"
},
{
"class" : "Dist::Zilla::Plugin::Manifest",
@@ -304,7 +307,7 @@
"meta_noindex" : 1
},
"Dist::Zilla::Role::ModuleMetadata" : {
- "Module::Metadata" : "1.000033",
+ "Module::Metadata" : "1.000036",
"version" : "0.006"
}
},
@@ -340,7 +343,7 @@
"class" : "Dist::Zilla::Plugin::Git::Contributors",
"config" : {
"Dist::Zilla::Plugin::Git::Contributors" : {
- "git_version" : "2.19.1",
+ "git_version" : "2.20.1",
"include_authors" : 0,
"include_releaser" : 1,
"order_by" : "name",
@@ -370,7 +373,7 @@
"changelog" : "Changes"
},
"Dist::Zilla::Role::Git::Repo" : {
- "git_version" : "2.19.1",
+ "git_version" : "2.20.1",
"repo_root" : "."
}
},
@@ -393,7 +396,7 @@
"changelog" : "Changes"
},
"Dist::Zilla::Role::Git::Repo" : {
- "git_version" : "2.19.1",
+ "git_version" : "2.20.1",
"repo_root" : "."
},
"Dist::Zilla::Role::Git::StringFormatter" : {
@@ -410,12 +413,12 @@
"branch" : null,
"changelog" : "Changes",
"signed" : 0,
- "tag" : "v0.22",
+ "tag" : "v0.23",
"tag_format" : "v%V",
"tag_message" : "v%V"
},
"Dist::Zilla::Role::Git::Repo" : {
- "git_version" : "2.19.1",
+ "git_version" : "2.20.1",
"repo_root" : "."
},
"Dist::Zilla::Role::Git::StringFormatter" : {
@@ -435,7 +438,7 @@
"remotes_must_exist" : 1
},
"Dist::Zilla::Role::Git::Repo" : {
- "git_version" : "2.19.1",
+ "git_version" : "2.20.1",
"repo_root" : "."
}
},
@@ -580,7 +583,10 @@
"David Golden <dagolden(a)cpan.org>",
"Karen Etheridge <ether(a)cpan.org>",
"Kent Fredric <kentfredric(a)gmail.com>",
+ "Kivanc Yazan <kivancyazan(a)gmail.com>",
+ "Mohammad S Anwar <mohammad.anwar(a)yahoo.com>",
"Olaf Alders <olaf(a)wundersolutions.com>",
+ "Olivier Mengu\u00e9 <dolmen(a)cpan.org>",
"Randy Stauner <randy(a)magnificent-tears.com>",
"Shawn M Moore <sartak(a)cpan.org>",
"Thomas Sibley <trs(a)bestpractical.com>"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Test-Spelling-0.22/META.yml new/Test-Spelling-0.23/META.yml
--- old/Test-Spelling-0.22/META.yml 2019-04-25 00:41:13.000000000 +0200
+++ new/Test-Spelling-0.23/META.yml 2019-05-22 02:44:53.000000000 +0200
@@ -29,9 +29,9 @@
provides:
Test::Spelling:
file: lib/Test/Spelling.pm
- version: '0.22'
+ version: '0.23'
requires:
- Exporter: '0'
+ Exporter: '5.57'
File::Spec: '0'
IPC::Run3: '0'
Pod::Spell: '0'
@@ -39,14 +39,14 @@
Test::Builder: '0'
Text::Wrap: '0'
base: '0'
- perl: '5.006'
+ perl: '5.008'
strict: '0'
warnings: '0'
resources:
bugtracker: https://github.com/genio/test-spelling/issues
homepage: https://github.com/genio/test-spelling
repository: https://github.com/genio/test-spelling.git
-version: '0.22'
+version: '0.23'
x_Dist_Zilla:
perl:
version: '5.026001'
@@ -123,7 +123,7 @@
default_jobs: 1
version: '6.012'
name: '@Starter/MakeMaker::Awesome'
- version: '0.47'
+ version: '0.48'
-
class: Dist::Zilla::Plugin::Manifest
name: '@Starter/Manifest'
@@ -206,7 +206,7 @@
inherit_version: '1'
meta_noindex: '1'
Dist::Zilla::Role::ModuleMetadata:
- Module::Metadata: '1.000033'
+ Module::Metadata: '1.000036'
version: '0.006'
name: '@Starter/MetaProvides::Package'
version: '2.004003'
@@ -233,7 +233,7 @@
class: Dist::Zilla::Plugin::Git::Contributors
config:
Dist::Zilla::Plugin::Git::Contributors:
- git_version: 2.19.1
+ git_version: 2.20.1
include_authors: 0
include_releaser: 1
order_by: name
@@ -256,7 +256,7 @@
allow_dirty_match: []
changelog: Changes
Dist::Zilla::Role::Git::Repo:
- git_version: 2.19.1
+ git_version: 2.20.1
repo_root: .
name: '@Git/Check'
version: '2.046'
@@ -273,7 +273,7 @@
allow_dirty_match: []
changelog: Changes
Dist::Zilla::Role::Git::Repo:
- git_version: 2.19.1
+ git_version: 2.20.1
repo_root: .
Dist::Zilla::Role::Git::StringFormatter:
time_zone: local
@@ -286,11 +286,11 @@
branch: ~
changelog: Changes
signed: 0
- tag: v0.22
+ tag: v0.23
tag_format: v%V
tag_message: v%V
Dist::Zilla::Role::Git::Repo:
- git_version: 2.19.1
+ git_version: 2.20.1
repo_root: .
Dist::Zilla::Role::Git::StringFormatter:
time_zone: local
@@ -304,7 +304,7 @@
- origin
remotes_must_exist: 1
Dist::Zilla::Role::Git::Repo:
- git_version: 2.19.1
+ git_version: 2.20.1
repo_root: .
name: '@Git/Push'
version: '2.046'
@@ -416,7 +416,10 @@
- 'David Golden <dagolden(a)cpan.org>'
- 'Karen Etheridge <ether(a)cpan.org>'
- 'Kent Fredric <kentfredric(a)gmail.com>'
+ - 'Kivanc Yazan <kivancyazan(a)gmail.com>'
+ - 'Mohammad S Anwar <mohammad.anwar(a)yahoo.com>'
- 'Olaf Alders <olaf(a)wundersolutions.com>'
+ - 'Olivier Mengué <dolmen(a)cpan.org>'
- 'Randy Stauner <randy(a)magnificent-tears.com>'
- 'Shawn M Moore <sartak(a)cpan.org>'
- 'Thomas Sibley <trs(a)bestpractical.com>'
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Test-Spelling-0.22/Makefile.PL new/Test-Spelling-0.23/Makefile.PL
--- old/Test-Spelling-0.22/Makefile.PL 2019-04-25 00:41:13.000000000 +0200
+++ new/Test-Spelling-0.23/Makefile.PL 2019-05-22 02:44:53.000000000 +0200
@@ -1,5 +1,5 @@
# This Makefile.PL for Test-Spelling was generated by
-# Dist::Zilla::Plugin::MakeMaker::Awesome 0.47.
+# Dist::Zilla::Plugin::MakeMaker::Awesome 0.48.
# Don't edit it but the dist.ini and plugins used to construct it.
use strict;
@@ -20,7 +20,7 @@
"LICENSE" => "perl",
"NAME" => "Test::Spelling",
"PREREQ_PM" => {
- "Exporter" => 0,
+ "Exporter" => "5.57",
"File::Spec" => 0,
"IPC::Run3" => 0,
"Pod::Spell" => 0,
@@ -39,14 +39,14 @@
"strict" => 0,
"warnings" => 0
},
- "VERSION" => "0.22",
+ "VERSION" => "0.23",
"test" => {
"TESTS" => "t/*.t"
}
);
my %FallbackPrereqs = (
- "Exporter" => 0,
+ "Exporter" => "5.57",
"ExtUtils::MakeMaker" => 0,
"File::Spec" => 0,
"IPC::Run3" => 0,
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Test-Spelling-0.22/README new/Test-Spelling-0.23/README
--- old/Test-Spelling-0.22/README 2019-04-25 00:41:13.000000000 +0200
+++ new/Test-Spelling-0.23/README 2019-05-22 02:44:53.000000000 +0200
@@ -56,7 +56,7 @@
FUNCTIONS
all_pod_files_spelling_ok( [@files/@directories] )
- Checks all the files for POD spelling. It gathers all_pod_files() on
+ Checks all the files for POD spelling. It gathers "all_pod_files" on
each file/directory, and declares a "plan" in Test::More for you (one
test for each file), so you must not call "plan" yourself.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Test-Spelling-0.22/cpanfile new/Test-Spelling-0.23/cpanfile
--- old/Test-Spelling-0.22/cpanfile 2019-04-25 00:41:13.000000000 +0200
+++ new/Test-Spelling-0.23/cpanfile 2019-05-22 02:44:53.000000000 +0200
@@ -1,9 +1,9 @@
on 'runtime' => sub {
- requires 'perl' => '5.006';
+ requires 'perl' => '5.008';
requires 'strict';
requires 'warnings';
requires 'base';
- requires 'Exporter';
+ requires 'Exporter' => '5.57';
requires 'File::Spec';
requires 'IPC::Run3';
requires 'Pod::Spell';
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Test-Spelling-0.22/lib/Test/Spelling.pm new/Test-Spelling-0.23/lib/Test/Spelling.pm
--- old/Test-Spelling-0.22/lib/Test/Spelling.pm 2019-04-25 00:41:13.000000000 +0200
+++ new/Test-Spelling-0.23/lib/Test/Spelling.pm 2019-05-22 02:44:53.000000000 +0200
@@ -1,9 +1,9 @@
package Test::Spelling;
-use 5.006;
+
use strict;
use warnings;
-use base 'Exporter';
+use Exporter qw(import);
use Pod::Spell;
use Test::Builder;
use Text::Wrap;
@@ -11,7 +11,7 @@
use IPC::Run3;
use Symbol 'gensym';
-our $VERSION = '0.22';
+our $VERSION = '0.23';
our @EXPORT = qw(
pod_file_spelling_ok
@@ -101,9 +101,10 @@
my $document = '';
open my $handle, '>', \$document;
+ open my $infile, '<:encoding(UTF-8)', $file;
# save digested POD to the string $document
- get_pod_parser()->parse_from_file($file, $handle);
+ get_pod_parser()->parse_from_filehandle($infile, $handle);
my @words = _get_spellcheck_results($document);
@@ -321,7 +322,7 @@
=head2 all_pod_files_spelling_ok( [@files/@directories] )
-Checks all the files for POD spelling. It gathers L<all_pod_files()> on each
+Checks all the files for POD spelling. It gathers L</all_pod_files> on each
file/directory, and declares a L<Test::More/plan> for you (one test for each
file), so you must not call C<plan> yourself.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Test-Spelling-0.22/t/00-report-prereqs.dd new/Test-Spelling-0.23/t/00-report-prereqs.dd
--- old/Test-Spelling-0.22/t/00-report-prereqs.dd 2019-04-25 00:41:13.000000000 +0200
+++ new/Test-Spelling-0.23/t/00-report-prereqs.dd 2019-05-22 02:44:53.000000000 +0200
@@ -7,6 +7,9 @@
'configure' => {
'requires' => {
'ExtUtils::MakeMaker' => '0'
+ },
+ 'suggests' => {
+ 'JSON::PP' => '2.27300'
}
},
'develop' => {
@@ -29,7 +32,7 @@
},
'runtime' => {
'requires' => {
- 'Exporter' => '0',
+ 'Exporter' => '5.57',
'File::Spec' => '0',
'IPC::Run3' => '0',
'Pod::Spell' => '0',
@@ -37,7 +40,7 @@
'Test::Builder' => '0',
'Text::Wrap' => '0',
'base' => '0',
- 'perl' => '5.006',
+ 'perl' => '5.008',
'strict' => '0',
'warnings' => '0'
}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Test-Spelling-0.22/t/basic.t new/Test-Spelling-0.23/t/basic.t
--- old/Test-Spelling-0.22/t/basic.t 2019-04-25 00:41:13.000000000 +0200
+++ new/Test-Spelling-0.23/t/basic.t 2019-05-22 02:44:53.000000000 +0200
@@ -1,6 +1,7 @@
use Test::Tester;
use Test::More;
use Test::Spelling;
+use utf8;
BEGIN {
if (!has_working_spellchecker()) {
@@ -24,5 +25,12 @@
diag => "Errors:\n incorectly",
});
+add_stopwords("ünıçöđé");
+
+check_test(sub { pod_file_spelling_ok('t/corpus/unicode-pod.pm', 'unicode pod has no errors') }, {
+ ok => 1,
+ name => 'unicode pod has no errors',
+});
+
done_testing;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Test-Spelling-0.22/t/corpus/unicode-pod.pm new/Test-Spelling-0.23/t/corpus/unicode-pod.pm
--- old/Test-Spelling-0.22/t/corpus/unicode-pod.pm 1970-01-01 01:00:00.000000000 +0100
+++ new/Test-Spelling-0.23/t/corpus/unicode-pod.pm 2019-05-22 02:44:53.000000000 +0200
@@ -0,0 +1,16 @@
+package Unicode::Pod;
+use strict;
+use warnings;
+
+sub foo {}
+
+1;
+
+__END__
+
+=head1 NAME
+
+UTF8::Pod - POD with ünıçöđé
+
+=END
+
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Test-Spelling-0.22/xt/author/pod-spell.t new/Test-Spelling-0.23/xt/author/pod-spell.t
--- old/Test-Spelling-0.22/xt/author/pod-spell.t 2019-04-25 00:41:13.000000000 +0200
+++ new/Test-Spelling-0.23/xt/author/pod-spell.t 2019-05-22 02:44:53.000000000 +0200
@@ -11,6 +11,7 @@
all_pod_files_spelling_ok( qw( bin lib ) );
__DATA__
Alders
+Anwar
Brohman
CPAN
Chase
@@ -21,8 +22,12 @@
Ivan
Karen
Kent
+Kivanc
+Mengué
+Mohammad
Moore
Olaf
+Olivier
Randy
Shawn
Sibley
@@ -32,15 +37,19 @@
Thomas
Tubert
Whitener
+Yazan
brian
capoeirab
dagolden
+dolmen
ether
foy
github
itub
kentfredric
+kivancyazan
lib
+mohammad
olaf
preprocessing
randy
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Test-Spelling-0.22/xt/release/changes_has_content.t new/Test-Spelling-0.23/xt/release/changes_has_content.t
--- old/Test-Spelling-0.22/xt/release/changes_has_content.t 2019-04-25 00:41:13.000000000 +0200
+++ new/Test-Spelling-0.23/xt/release/changes_has_content.t 2019-05-22 02:44:53.000000000 +0200
@@ -2,7 +2,7 @@
note 'Checking Changes';
my $changes_file = 'Changes';
-my $newver = '0.22';
+my $newver = '0.23';
my $trial_token = '-TRIAL';
my $encoding = 'UTF-8';
1
0
Hello community,
here is the log from the commit of package perl-CPAN-Perl-Releases for openSUSE:Factory checked in at 2019-05-24 11:32:35
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/perl-CPAN-Perl-Releases (Old)
and /work/SRC/openSUSE:Factory/.perl-CPAN-Perl-Releases.new.5148 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "perl-CPAN-Perl-Releases"
Fri May 24 11:32:35 2019 rev:76 rq:704996 version:4.04
Changes:
--------
--- /work/SRC/openSUSE:Factory/perl-CPAN-Perl-Releases/perl-CPAN-Perl-Releases.changes 2019-05-20 10:30:33.789873194 +0200
+++ /work/SRC/openSUSE:Factory/.perl-CPAN-Perl-Releases.new.5148/perl-CPAN-Perl-Releases.changes 2019-05-24 11:32:37.373384267 +0200
@@ -1,0 +2,6 @@
+Thu May 23 05:03:07 UTC 2019 - Stephan Kulow <coolo(a)suse.com>
+
+- updated to 4.04
+ see /usr/share/doc/packages/perl-CPAN-Perl-Releases/Changes
+
+-------------------------------------------------------------------
Old:
----
CPAN-Perl-Releases-4.02.tar.gz
New:
----
CPAN-Perl-Releases-4.04.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ perl-CPAN-Perl-Releases.spec ++++++
--- /var/tmp/diff_new_pack.LHHbhI/_old 2019-05-24 11:32:38.113383984 +0200
+++ /var/tmp/diff_new_pack.LHHbhI/_new 2019-05-24 11:32:38.117383983 +0200
@@ -17,7 +17,7 @@
Name: perl-CPAN-Perl-Releases
-Version: 4.02
+Version: 4.04
Release: 0
%define cpan_name CPAN-Perl-Releases
Summary: Mapping Perl releases on CPAN to the location of the tarballs
++++++ CPAN-Perl-Releases-4.02.tar.gz -> CPAN-Perl-Releases-4.04.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/CPAN-Perl-Releases-4.02/Changes new/CPAN-Perl-Releases-4.04/Changes
--- old/CPAN-Perl-Releases-4.02/Changes 2019-05-17 22:49:21.000000000 +0200
+++ new/CPAN-Perl-Releases-4.04/Changes 2019-05-22 13:25:48.000000000 +0200
@@ -1,8 +1,18 @@
==================================================
-Changes from 2014-05-18 00:00:00 +0000 to present.
+Changes from 2014-05-23 00:00:00 +0000 to present.
==================================================
-----------------------------------------
+version 4.04 at 2019-05-22 11:19:39 +0000
+-----------------------------------------
+
+ Change: 4309dbcf704b41a4a28db0f35799a2082f4428b6
+ Author: Chris 'BinGOs' Williams <chris(a)bingosnet.co.uk>
+ Date : 2019-05-22 12:19:39 +0000
+
+ Updated for v5.30.0
+
+-----------------------------------------
version 4.02 at 2019-05-17 20:48:49 +0000
-----------------------------------------
@@ -1192,16 +1202,6 @@
Updated for v5.20.0
------------------------------------------
-version 1.70 at 2014-05-19 12:08:57 +0000
------------------------------------------
-
- Change: b71b39bb96500373db858cabb11668d44f3b7837
- Author: Chris 'BinGOs' Williams <chris(a)bingosnet.co.uk>
- Date : 2014-05-19 13:08:57 +0000
-
- Updated for v5.20.0-RC1
-
=================================================
-Plus 83 releases after 2014-05-18 00:00:00 +0000.
+Plus 84 releases after 2014-05-23 00:00:00 +0000.
=================================================
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/CPAN-Perl-Releases-4.02/META.json new/CPAN-Perl-Releases-4.04/META.json
--- old/CPAN-Perl-Releases-4.02/META.json 2019-05-17 22:49:21.000000000 +0200
+++ new/CPAN-Perl-Releases-4.04/META.json 2019-05-22 13:25:48.000000000 +0200
@@ -54,7 +54,7 @@
"web" : "https://github.com/bingos/cpan-perl-releases"
}
},
- "version" : "4.02",
+ "version" : "4.04",
"x_generated_by_perl" : "v5.26.3",
"x_serialization_backend" : "Cpanel::JSON::XS version 4.11"
}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/CPAN-Perl-Releases-4.02/META.yml new/CPAN-Perl-Releases-4.04/META.yml
--- old/CPAN-Perl-Releases-4.02/META.yml 2019-05-17 22:49:21.000000000 +0200
+++ new/CPAN-Perl-Releases-4.04/META.yml 2019-05-22 13:25:48.000000000 +0200
@@ -21,6 +21,6 @@
resources:
homepage: https://github.com/bingos/cpan-perl-releases
repository: https://github.com/bingos/cpan-perl-releases.git
-version: '4.02'
+version: '4.04'
x_generated_by_perl: v5.26.3
x_serialization_backend: 'YAML::Tiny version 1.73'
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/CPAN-Perl-Releases-4.02/Makefile.PL new/CPAN-Perl-Releases-4.04/Makefile.PL
--- old/CPAN-Perl-Releases-4.02/Makefile.PL 2019-05-17 22:49:21.000000000 +0200
+++ new/CPAN-Perl-Releases-4.04/Makefile.PL 2019-05-22 13:25:48.000000000 +0200
@@ -26,7 +26,7 @@
"IPC::Open3" => 0,
"Test::More" => "0.47"
},
- "VERSION" => "4.02",
+ "VERSION" => "4.04",
"test" => {
"TESTS" => "t/*.t"
}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/CPAN-Perl-Releases-4.02/README new/CPAN-Perl-Releases-4.04/README
--- old/CPAN-Perl-Releases-4.02/README 2019-05-17 22:49:21.000000000 +0200
+++ new/CPAN-Perl-Releases-4.04/README 2019-05-22 13:25:48.000000000 +0200
@@ -5,7 +5,7 @@
VERSION
- version 4.02
+ version 4.04
SYNOPSIS
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/CPAN-Perl-Releases-4.02/dist.ini new/CPAN-Perl-Releases-4.04/dist.ini
--- old/CPAN-Perl-Releases-4.02/dist.ini 2019-05-17 22:49:21.000000000 +0200
+++ new/CPAN-Perl-Releases-4.04/dist.ini 2019-05-22 13:25:48.000000000 +0200
@@ -1,5 +1,5 @@
name = CPAN-Perl-Releases
-version = 4.02
+version = 4.04
author = Chris Williams <chris(a)bingosnet.co.uk>
license = Perl_5
copyright_holder = Chris Williams
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/CPAN-Perl-Releases-4.02/lib/CPAN/Perl/Releases.pm new/CPAN-Perl-Releases-4.04/lib/CPAN/Perl/Releases.pm
--- old/CPAN-Perl-Releases-4.02/lib/CPAN/Perl/Releases.pm 2019-05-17 22:49:21.000000000 +0200
+++ new/CPAN-Perl-Releases-4.04/lib/CPAN/Perl/Releases.pm 2019-05-22 13:25:48.000000000 +0200
@@ -1,5 +1,5 @@
package CPAN::Perl::Releases;
-$CPAN::Perl::Releases::VERSION = '4.02';
+$CPAN::Perl::Releases::VERSION = '4.04';
#ABSTRACT: Mapping Perl releases on CPAN to the location of the tarballs
use strict;
@@ -239,6 +239,7 @@
"5.29.10" => { id => 'XSAWYERX' },
"5.30.0-RC1" => { id => 'XSAWYERX' },
"5.30.0-RC2" => { id => 'XSAWYERX' },
+"5.30.0" => { id => 'XSAWYERX' },
};
sub perl_tarballs {
@@ -307,7 +308,7 @@
=head1 VERSION
-version 4.02
+version 4.04
=head1 SYNOPSIS
1
0
Hello community,
here is the log from the commit of package perl-Mojo-RabbitMQ-Client for openSUSE:Factory checked in at 2019-05-24 11:32:30
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/perl-Mojo-RabbitMQ-Client (Old)
and /work/SRC/openSUSE:Factory/.perl-Mojo-RabbitMQ-Client.new.5148 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "perl-Mojo-RabbitMQ-Client"
Fri May 24 11:32:30 2019 rev:8 rq:704993 version:0.2.2
Changes:
--------
--- /work/SRC/openSUSE:Factory/perl-Mojo-RabbitMQ-Client/perl-Mojo-RabbitMQ-Client.changes 2018-08-22 14:21:33.790523633 +0200
+++ /work/SRC/openSUSE:Factory/.perl-Mojo-RabbitMQ-Client.new.5148/perl-Mojo-RabbitMQ-Client.changes 2019-05-24 11:32:34.133385504 +0200
@@ -1,0 +2,9 @@
+Thu May 23 11:50:37 UTC 2019 - Stephan Kulow <coolo(a)suse.com>
+
+- update to 0.2.2
+
+ 0.2.2 2019-05-23T11:20:22Z
+ - Minor documentation fixes #32 (@sjn)
+ - fix around 30 memory leaks #31 (@kraih)
+
+-------------------------------------------------------------------
Old:
----
Mojo-RabbitMQ-Client-0.2.1.tar.gz
New:
----
Mojo-RabbitMQ-Client-0.2.2.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ perl-Mojo-RabbitMQ-Client.spec ++++++
--- /var/tmp/diff_new_pack.EjGX7g/_old 2019-05-24 11:32:34.613385321 +0200
+++ /var/tmp/diff_new_pack.EjGX7g/_new 2019-05-24 11:32:34.613385321 +0200
@@ -1,7 +1,7 @@
#
# spec file for package perl-Mojo-RabbitMQ-Client
#
-# Copyright (c) 2018 SUSE LINUX GmbH, Nuernberg, Germany.
+# Copyright (c) 2019 SUSE LINUX GmbH, Nuernberg, Germany.
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@@ -12,18 +12,18 @@
# license that conforms to the Open Source Definition (Version 1.9)
# published by the Open Source Initiative.
-# Please submit bugfixes or comments via http://bugs.opensuse.org/
+# Please submit bugfixes or comments via https://bugs.opensuse.org/
#
Name: perl-Mojo-RabbitMQ-Client
-Version: 0.2.1
+Version: 0.2.2
Release: 0
%define cpan_name Mojo-RabbitMQ-Client
Summary: Mojo::IOLoop based RabbitMQ client
License: Artistic-2.0
Group: Development/Libraries/Perl
-Url: http://search.cpan.org/dist/Mojo-RabbitMQ-Client/
+Url: https://metacpan.org/release/%{cpan_name}
Source0: https://cpan.metacpan.org/authors/id/S/SE/SEBAPOD/%{cpan_name}-%{version}.t…
Source1: cpanspec.yml
BuildArch: noarch
@@ -55,7 +55,7 @@
%setup -q -n %{cpan_name}-%{version}
%build
-%{__perl} Build.PL --installdirs=vendor
+perl Build.PL --installdirs=vendor
./Build build --flags=%{?_smp_mflags}
%check
++++++ Mojo-RabbitMQ-Client-0.2.1.tar.gz -> Mojo-RabbitMQ-Client-0.2.2.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Mojo-RabbitMQ-Client-0.2.1/Changes new/Mojo-RabbitMQ-Client-0.2.2/Changes
--- old/Mojo-RabbitMQ-Client-0.2.1/Changes 2018-07-29 16:17:46.000000000 +0200
+++ new/Mojo-RabbitMQ-Client-0.2.2/Changes 2019-05-23 13:20:25.000000000 +0200
@@ -1,3 +1,6 @@
+0.2.2 2019-05-23T11:20:22Z
+ - Minor documentation fixes #32 (@sjn)
+ - fix around 30 memory leaks #31 (@kraih)
0.2.1 2018-07-29T14:17:43Z
- Fixed POD syntax, spelling & grammar errors #27,#28 (@gregoa)
- Fixed POD error #26 (@manwar)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Mojo-RabbitMQ-Client-0.2.1/META.json new/Mojo-RabbitMQ-Client-0.2.2/META.json
--- old/Mojo-RabbitMQ-Client-0.2.1/META.json 2018-07-29 16:17:46.000000000 +0200
+++ new/Mojo-RabbitMQ-Client-0.2.2/META.json 2019-05-23 13:20:25.000000000 +0200
@@ -59,7 +59,7 @@
"provides" : {
"Mojo::RabbitMQ::Client" : {
"file" : "lib/Mojo/RabbitMQ/Client.pm",
- "version" : "v0.2.1"
+ "version" : "v0.2.2"
},
"Mojo::RabbitMQ::Client::Channel" : {
"file" : "lib/Mojo/RabbitMQ/Client/Channel.pm"
@@ -91,12 +91,13 @@
"web" : "https://github.com/inway/mojo-rabbitmq-client"
}
},
- "version" : "0.2.1",
+ "version" : "0.2.2",
"x_contributors" : [
"Christopher Rasch-Olsen Raa <christopher(a)stix.no>",
"Mohammad S Anwar <Mohammad.Anwar(a)yahoo.com>",
"Patrick Goldmann <patrick.goldmann(a)googlemail.com>",
"Richard Lippmann <lippmann(a)findus-internet-opac.de>",
+ "Salve J. Nilsen <sjn(a)cpan.org>",
"Sebastian Podjasek <sebastian(a)podjasek.pl>",
"Sebastian Riedel <kraihx(a)gmail.com>",
"Stephan Kulow <coolo(a)suse.de>",
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Mojo-RabbitMQ-Client-0.2.1/META.yml new/Mojo-RabbitMQ-Client-0.2.2/META.yml
--- old/Mojo-RabbitMQ-Client-0.2.1/META.yml 2018-07-29 16:17:46.000000000 +0200
+++ new/Mojo-RabbitMQ-Client-0.2.2/META.yml 2019-05-23 13:20:25.000000000 +0200
@@ -27,7 +27,7 @@
provides:
Mojo::RabbitMQ::Client:
file: lib/Mojo/RabbitMQ/Client.pm
- version: v0.2.1
+ version: v0.2.2
Mojo::RabbitMQ::Client::Channel:
file: lib/Mojo/RabbitMQ/Client/Channel.pm
Mojo::RabbitMQ::Client::Consumer:
@@ -50,12 +50,13 @@
bugtracker: https://github.com/inway/mojo-rabbitmq-client/issues
homepage: https://github.com/inway/mojo-rabbitmq-client
repository: git://github.com/inway/mojo-rabbitmq-client.git
-version: 0.2.1
+version: 0.2.2
x_contributors:
- 'Christopher Rasch-Olsen Raa <christopher(a)stix.no>'
- 'Mohammad S Anwar <Mohammad.Anwar(a)yahoo.com>'
- 'Patrick Goldmann <patrick.goldmann(a)googlemail.com>'
- 'Richard Lippmann <lippmann(a)findus-internet-opac.de>'
+ - 'Salve J. Nilsen <sjn(a)cpan.org>'
- 'Sebastian Podjasek <sebastian(a)podjasek.pl>'
- 'Sebastian Riedel <kraihx(a)gmail.com>'
- 'Stephan Kulow <coolo(a)suse.de>'
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Mojo-RabbitMQ-Client-0.2.1/README.md new/Mojo-RabbitMQ-Client-0.2.2/README.md
--- old/Mojo-RabbitMQ-Client-0.2.1/README.md 2018-07-29 16:17:46.000000000 +0200
+++ new/Mojo-RabbitMQ-Client-0.2.2/README.md 2019-05-23 13:20:25.000000000 +0200
@@ -192,15 +192,6 @@
Sets user password for authorization, by default it's not defined.
-## pass
-
-```perl
-my $pass = $client->pass;
-$client = $client->pass('secret')
-```
-
-Sets user password for authorization, by default it's not defined.
-
## host
```perl
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Mojo-RabbitMQ-Client-0.2.1/inc/Module/AutoInstall.pm new/Mojo-RabbitMQ-Client-0.2.2/inc/Module/AutoInstall.pm
--- old/Mojo-RabbitMQ-Client-0.2.1/inc/Module/AutoInstall.pm 2018-07-29 16:17:46.000000000 +0200
+++ new/Mojo-RabbitMQ-Client-0.2.2/inc/Module/AutoInstall.pm 2019-05-23 13:20:25.000000000 +0200
@@ -8,7 +8,7 @@
use vars qw{$VERSION};
BEGIN {
- $VERSION = '0.2.1';
+ $VERSION = '0.2.2';
}
# special map on pre-defined feature sets
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Mojo-RabbitMQ-Client-0.2.1/lib/Mojo/RabbitMQ/Client/Channel.pm new/Mojo-RabbitMQ-Client-0.2.2/lib/Mojo/RabbitMQ/Client/Channel.pm
--- old/Mojo-RabbitMQ-Client-0.2.1/lib/Mojo/RabbitMQ/Client/Channel.pm 2018-07-29 16:17:46.000000000 +0200
+++ new/Mojo-RabbitMQ-Client-0.2.2/lib/Mojo/RabbitMQ/Client/Channel.pm 2019-05-23 13:20:25.000000000 +0200
@@ -1,10 +1,11 @@
package Mojo::RabbitMQ::Client::Channel;
use Mojo::Base 'Mojo::EventEmitter';
-use Mojo::Promise;
+use Mojo::Promise;
use Mojo::RabbitMQ::Client::LocalQueue;
use Mojo::RabbitMQ::Client::Method;
use Mojo::RabbitMQ::Client::Method::Publish;
+use Scalar::Util qw(isweak weaken);
use constant DEBUG => $ENV{MOJO_RABBITMQ_DEBUG} // 0;
@@ -125,6 +126,7 @@
for my $consumer_tag (keys %{$self->consumer_cbs}) {
my $method = $self->cancel(consumer_tag => $consumer_tag);
+ weaken $self unless isweak $self;
$method->on(
success => sub {
$self->_close();
@@ -178,8 +180,14 @@
sub _prepare_method {
my $self = shift;
- return Mojo::RabbitMQ::Client::Method->new(client => $self->client, channel => $self)
- ->setup(@_);
+ my $method = Mojo::RabbitMQ::Client::Method->new(
+ client => $self->client,
+ channel => $self
+ );
+ weaken $method->{channel};
+ weaken $method->{client};
+
+ return $method->setup(@_);
}
sub declare_exchange {
@@ -207,6 +215,7 @@
my $promise = Mojo::Promise->new;
my $method = $self->declare_exchange(@_);
+ weaken $self;
$method->on('success' => sub { shift; $promise->resolve($self, @_) });
$method->on('error' => sub { shift; $promise->reject($self, @_) });
$method->deliver;
@@ -235,6 +244,7 @@
my $promise = Mojo::Promise->new;
my $method = $self->delete_exchange(@_);
+ weaken $self;
$method->on('success' => sub { shift; $promise->resolve($self, @_) });
$method->on('error' => sub { shift; $promise->reject($self, @_) });
$method->deliver;
@@ -268,6 +278,7 @@
my $promise = Mojo::Promise->new;
my $method = $self->declare_queue(@_);
+ weaken $self;
$method->on('success' => sub { shift; $promise->resolve($self, @_) });
$method->on('error' => sub { shift; $promise->reject($self, @_) });
$method->deliver;
@@ -321,6 +332,7 @@
my $promise = Mojo::Promise->new;
my $method = $self->unbind_queue(@_);
+ weaken $self;
$method->on('success' => sub { shift; $promise->resolve($self, @_) });
$method->on('error' => sub { shift; $promise->reject($self, @_) });
$method->deliver;
@@ -348,6 +360,7 @@
my $promise = Mojo::Promise->new;
my $method = $self->purge_queue(@_);
+ weaken $self;
$method->on('success' => sub { shift; $promise->resolve($self, @_) });
$method->on('error' => sub { shift; $promise->reject($self, @_) });
$method->deliver;
@@ -377,6 +390,7 @@
my $promise = Mojo::Promise->new;
my $method = $self->delete_queue(@_);
+ weaken $self;
$method->on('success' => sub { shift; $promise->resolve($self, @_) });
$method->on('error' => sub { shift; $promise->reject($self, @_) });
$method->deliver;
@@ -400,7 +414,11 @@
my $method = Mojo::RabbitMQ::Client::Method::Publish->new(
client => $self->client,
channel => $self
- )->setup(@_);
+ );
+ weaken $method->{client};
+ weaken $method->{channel};
+ $method->setup(@_);
+ weaken $self;
$method->on('success' => sub { shift; $promise->resolve($self, @_) });
$method->on('error' => sub { shift; $promise->reject($self, @_) });
$method->deliver;
@@ -425,6 +443,7 @@
warn "-- Basic::ConsumeOk\n" if DEBUG;
}
);
+ weaken $self;
$method->on(
success => sub {
my $this = shift;
@@ -451,6 +470,7 @@
warn "-- Basic::CancelOk\n" if DEBUG;
}
);
+ weaken $self;
$method->on(
success => sub {
my $this = shift;
@@ -473,6 +493,7 @@
},
[qw(Basic::GetOk Basic::GetEmpty)]
);
+ weaken $self;
$method->on(
success => sub {
warn "-- Basic::GetOk|GetEmpty\n" if DEBUG;
@@ -501,6 +522,7 @@
my $promise = Mojo::Promise->new;
my $method = $self->get(@_);
+ weaken $self;
$method->on('message' => sub { shift; $promise->resolve($self, @_) });
$method->on('empty' => sub { shift; $promise->resolve($self, @_) });
$method->on('error' => sub { shift; $promise->reject($self, @_) });
@@ -539,6 +561,7 @@
my $promise = Mojo::Promise->new;
my $method = $self->ack(@_);
+ weaken $self;
$method->on('success' => sub { shift; $promise->resolve($self, @_) });
$method->on('error' => sub { shift; $promise->reject($self, @_) });
$method->deliver;
@@ -693,7 +716,7 @@
...
});
-Emitted when channel gets closed, C<<$frame>> contains close reason.
+Emitted when channel gets closed, C<$frame> contains close reason.
=head1 ATTRIBUTES
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Mojo-RabbitMQ-Client-0.2.1/lib/Mojo/RabbitMQ/Client/Consumer.pm new/Mojo-RabbitMQ-Client-0.2.2/lib/Mojo/RabbitMQ/Client/Consumer.pm
--- old/Mojo-RabbitMQ-Client-0.2.1/lib/Mojo/RabbitMQ/Client/Consumer.pm 2018-07-29 16:17:46.000000000 +0200
+++ new/Mojo-RabbitMQ-Client-0.2.2/lib/Mojo/RabbitMQ/Client/Consumer.pm 2019-05-23 13:20:25.000000000 +0200
@@ -1,6 +1,8 @@
package Mojo::RabbitMQ::Client::Consumer;
use Mojo::Base 'Mojo::EventEmitter';
+
use Mojo::Promise;
+use Scalar::Util 'weaken';
require Mojo::RabbitMQ::Client;
use constant DEBUG => $ENV{MOJO_RABBITMQ_DEBUG} // 0;
@@ -17,6 +19,7 @@
my $promise = Mojo::Promise->new()->resolve();
+ weaken $self;
unless ($self->client) {
$promise = $promise->then(
sub {
@@ -26,13 +29,13 @@
$self->client($client);
# Catch all client related errors
- $self->client->catch(sub { $client_promise->reject(@_) });
+ $self->client->catch(sub { $client_promise->reject($_[1]) });
# When connection is in Open state, open new channel
$client->on(
open => sub {
warn "-- client open\n" if DEBUG;
- $client_promise->resolve(@_);
+ $client_promise->resolve;
}
);
$client->on('close' => sub { shift; $self->emit('close', @_) });
@@ -53,7 +56,7 @@
my $channel_promise = Mojo::Promise->new;
my $channel = Mojo::RabbitMQ::Client::Channel->new();
- $channel->catch(sub { $channel_promise->reject(@_) });
+ $channel->catch(sub { $channel_promise->reject($_[1]) });
$channel->on(close => sub { warn 'Channel closed: ' . $_[1]->method_frame->reply_text; });
$channel->on(
@@ -63,7 +66,7 @@
$self->channel($channel);
$channel->qos(%{$self->defaults->{qos}})->deliver;
- $channel_promise->resolve();
+ $channel_promise->resolve;
}
);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Mojo-RabbitMQ-Client-0.2.1/lib/Mojo/RabbitMQ/Client/Publisher.pm new/Mojo-RabbitMQ-Client-0.2.2/lib/Mojo/RabbitMQ/Client/Publisher.pm
--- old/Mojo-RabbitMQ-Client-0.2.1/lib/Mojo/RabbitMQ/Client/Publisher.pm 2018-07-29 16:17:46.000000000 +0200
+++ new/Mojo-RabbitMQ-Client-0.2.2/lib/Mojo/RabbitMQ/Client/Publisher.pm 2019-05-23 13:20:25.000000000 +0200
@@ -1,7 +1,9 @@
package Mojo::RabbitMQ::Client::Publisher;
use Mojo::Base -base;
+
use Mojo::Promise;
use Mojo::JSON qw(encode_json);
+use Scalar::Util 'weaken';
require Mojo::RabbitMQ::Client;
use constant DEBUG => $ENV{MOJO_RABBITMQ_DEBUG} // 0;
@@ -25,8 +27,9 @@
%args = (@_);
}
- my $promise = Mojo::Promise->new()->resolve();
+ my $promise = Mojo::Promise->new()->resolve;
+ weaken $self;
unless ($self->client) {
$promise = $promise->then(
sub {
@@ -37,13 +40,13 @@
$self->client($client);
# Catch all client related errors
- $self->client->catch(sub { $client_promise->reject(@_) });
+ $self->client->catch(sub { $client_promise->reject($_[1]) });
# When connection is in Open state, open new channel
$self->client->on(
open => sub {
warn "-- client open\n" if DEBUG;
- $client_promise->resolve(@_);
+ $client_promise->resolve;
}
);
@@ -64,7 +67,7 @@
my $channel = Mojo::RabbitMQ::Client::Channel->new();
- $channel->catch(sub { $channel_promise->reject(@_) });
+ $channel->catch(sub { $channel_promise->reject($_[1]) });
$channel->on(
open => sub {
@@ -73,7 +76,7 @@
warn "-- channel opened\n" if DEBUG;
- $channel_promise->resolve();
+ $channel_promise->resolve;
}
);
$channel->on(close => sub { warn 'Channel closed: ' . $_[1]->method_frame->reply_text; });
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Mojo-RabbitMQ-Client-0.2.1/lib/Mojo/RabbitMQ/Client.pm new/Mojo-RabbitMQ-Client-0.2.2/lib/Mojo/RabbitMQ/Client.pm
--- old/Mojo-RabbitMQ-Client-0.2.1/lib/Mojo/RabbitMQ/Client.pm 2018-07-29 16:17:46.000000000 +0200
+++ new/Mojo-RabbitMQ-Client-0.2.2/lib/Mojo/RabbitMQ/Client.pm 2019-05-23 13:20:25.000000000 +0200
@@ -1,5 +1,6 @@
package Mojo::RabbitMQ::Client;
use Mojo::Base 'Mojo::EventEmitter';
+
use Carp qw(croak confess);
use Mojo::URL;
use Mojo::Home;
@@ -8,7 +9,7 @@
use Mojo::Promise;
use Mojo::Util qw(url_unescape dumper);
use List::Util qw(none);
-use Scalar::Util qw(blessed);
+use Scalar::Util qw(blessed weaken);
use File::Basename 'dirname';
use File::ShareDir qw(dist_file);
@@ -20,7 +21,7 @@
require Mojo::RabbitMQ::Client::Consumer;
require Mojo::RabbitMQ::Client::Publisher;
-our $VERSION = "0.2.1";
+our $VERSION = "0.2.2";
use constant DEBUG => $ENV{MOJO_RABBITMQ_DEBUG} // 0;
@@ -125,6 +126,7 @@
}
$self->channels->{$id} = $channel->id($id)->client($self);
+ weaken $channel->{client};
return $channel;
}
@@ -135,9 +137,9 @@
my $promise = Mojo::Promise->new;
my $channel = Mojo::RabbitMQ::Client::Channel->new();
- $channel->catch(sub { $promise->reject(@_) });
+ $channel->catch(sub { $promise->reject(@_); undef $promise });
$channel->on(close => sub { warn "Channel closed" });
- $channel->on(open => sub { $promise->resolve(@_) });
+ $channel->on(open => sub { $promise->resolve(@_); undef $promise });
$self->open_channel($channel);
@@ -746,13 +748,6 @@
=head2 pass
- my $pass = $client->pass;
- $client = $client->pass('secret')
-
-Sets user password for authorization, by default it's not defined.
-
-=head2 pass
-
my $pass = $client->pass;
$client = $client->pass('secret')
1
0
Hello community,
here is the log from the commit of package python-pytest4 for openSUSE:Factory checked in at 2019-05-24 11:32:28
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-pytest4 (Old)
and /work/SRC/openSUSE:Factory/.python-pytest4.new.5148 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-pytest4"
Fri May 24 11:32:28 2019 rev:3 rq:704982 version:4.5.0
Changes:
--------
--- /work/SRC/openSUSE:Factory/python-pytest4/python-pytest4.changes 2019-05-06 21:17:13.613068918 +0200
+++ /work/SRC/openSUSE:Factory/.python-pytest4.new.5148/python-pytest4.changes 2019-05-24 11:32:29.613387231 +0200
@@ -1,0 +2,47 @@
+Thu May 23 10:06:51 UTC 2019 - Ondřej Súkup <mimi.vx(a)gmail.com>
+
+- update to 4.5.0
+- drop 4dbb56146a1fe0bf70df801582f0abde4ef4e64c.patch - upstream merged
+ * A warning is now emitted when unknown marks are used as a decorator
+ * Show XFail reason as part of JUnitXML message field
+ * Messages from crash reports are displayed within test summaries now
+ * New flag --strict-markers that triggers an error when unknown markers
+ * Assertion failure messages for sequences and dicts contain the number
+ of different items now.
+ * Improve reporting with --lf and --ff
+ * The --cache-show option/action accepts an optional glob to show only
+ matching cache entries.
+ * Standard input (stdin) can be given to pytester’s Testdir.run() and Testdir.popen().
+ * he -r option learnt about A to display all reports (including passed ones)
+ in the short test summary.
+ * The short test summary is displayed after passes with output (-rP).
+ * The --last-failed (--lf) option got smarter and will now skip entire files
+ if all tests of that test file have passed in previous runs, greatly speeding up collection.
+ * Introduce new specific warning PytestWarning subclasses to make it easier
+ to filter warnings based on the class, rather than on the message
+ * New record_testsuite_property session-scoped fixture allows users to log
+ <property> tags at the testsuite level with the junitxml plugin.
+ * --fixtures now also shows fixture scope for scopes other than "function".
+ * Deselected items from plugins using pytest_collect_modifyitems as a hookwrapper
+ are correctly reported now.
+ * With usage errors exitstatus is set to EXIT_USAGEERROR in the pytest_sessionfinish
+ hook now as expected.
+ * outcome.exit is not used with EOF in the pdb wrapper anymore, but only with quit.
+ * logging.raiseExceptions is not set to False anymore.
+ * pytest now depends on wcwidth to properly track unicode character sizes for more
+ precise terminal output.
+ * pytester’s Testdir.popen() uses stdout and stderr via keyword arguments with
+ defaults now (subprocess.PIPE).
+ * The code for the short test summary in the terminal was moved to the terminal plugin.
+ * Improved validation of kwargs for various methods in the pytester plugin.
+ * record_property now emits a PytestWarning when used with junit_family=xunit2:
+ the fixture generates property tags as children of testcase, which is not permitted
+ according to the most recent schema.
+ * Fix crash caused by error in __repr__ function with both showlocals
+ and verbose output enabled.
+ * Eliminate core dependency on ‘terminal’ plugin.
+ * Doc: pytest_ignore_collect, pytest_collect_directory, pytest_collect_file
+ and pytest_pycollect_makemodule hooks’s ‘path’ parameter documented type is now py.path.local
+ * Improve help for --runxfail flag.
+
+-------------------------------------------------------------------
Old:
----
4dbb56146a1fe0bf70df801582f0abde4ef4e64c.patch
pytest-4.4.1.tar.gz
New:
----
pytest-4.5.0.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ python-pytest4.spec ++++++
--- /var/tmp/diff_new_pack.SfTLgk/_old 2019-05-24 11:32:30.437386916 +0200
+++ /var/tmp/diff_new_pack.SfTLgk/_new 2019-05-24 11:32:30.437386916 +0200
@@ -26,14 +26,13 @@
%bcond_with test
%endif
Name: python-pytest4%{psuffix}
-Version: 4.4.1
+Version: 4.5.0
Release: 0
Summary: Python testing tool with autodiscovery and detailed asserts
License: MIT
Group: Development/Languages/Python
URL: https://github.com/pytest-dev/pytest
Source: https://files.pythonhosted.org/packages/source/p/pytest/pytest-%{version}.t…
-Patch0: 4dbb56146a1fe0bf70df801582f0abde4ef4e64c.patch
BuildRequires: %{python_module setuptools >= 40.0}
BuildRequires: %{python_module setuptools_scm}
BuildRequires: fdupes
@@ -41,10 +40,11 @@
Requires: python-atomicwrites >= 1.0
Requires: python-attrs >= 17.4.0
Requires: python-more-itertools >= 4.0.0
-Requires: python-pluggy >= 0.7
+Requires: python-pluggy >= 0.11
Requires: python-py >= 1.5.0
Requires: python-setuptools
Requires: python-six >= 1.10.0
+Requires: python-wcwidth
Requires(post): update-alternatives
Requires(postun): update-alternatives
Conflicts: python-pytest < 4.0
@@ -82,7 +82,6 @@
%prep
%setup -q -n pytest-%{version}
-%patch0 -p1
%build
%python_build
++++++ pytest-4.4.1.tar.gz -> pytest-4.5.0.tar.gz ++++++
++++ 7121 lines of diff (skipped)
1
0
Hello community,
here is the log from the commit of package python-QtPy for openSUSE:Factory checked in at 2019-05-24 11:32:25
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-QtPy (Old)
and /work/SRC/openSUSE:Factory/.python-QtPy.new.5148 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-QtPy"
Fri May 24 11:32:25 2019 rev:9 rq:704981 version:1.7.1
Changes:
--------
--- /work/SRC/openSUSE:Factory/python-QtPy/python-QtPy.changes 2019-03-20 13:20:47.989321869 +0100
+++ /work/SRC/openSUSE:Factory/.python-QtPy.new.5148/python-QtPy.changes 2019-05-24 11:32:27.101388191 +0200
@@ -1,0 +2,8 @@
+Thu May 23 10:34:57 UTC 2019 - pgajdos(a)suse.com
+
+- version update to 1.7.1
+ * Skip testing PyQt4 and PySide in Python 3.5
+ * Trivial maintenance tweaks
+ * Avoid deprecated "from collections import MutableMapping"
+
+-------------------------------------------------------------------
Old:
----
QtPy-1.7.0.tar.gz
New:
----
QtPy-1.7.1.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ python-QtPy.spec ++++++
--- /var/tmp/diff_new_pack.9XuiNc/_old 2019-05-24 11:32:27.713387956 +0200
+++ /var/tmp/diff_new_pack.9XuiNc/_new 2019-05-24 11:32:27.713387956 +0200
@@ -18,7 +18,7 @@
%{?!python_module:%define python_module() python-%{**} python3-%{**}}
Name: python-QtPy
-Version: 1.7.0
+Version: 1.7.1
Release: 0
Summary: Abstraction layer on top of Qt bindings
License: MIT
++++++ QtPy-1.7.0.tar.gz -> QtPy-1.7.1.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/QtPy-1.7.0/CHANGELOG.md new/QtPy-1.7.1/CHANGELOG.md
--- old/QtPy-1.7.0/CHANGELOG.md 2019-03-16 11:43:01.000000000 +0100
+++ new/QtPy-1.7.1/CHANGELOG.md 2019-05-05 09:51:49.000000000 +0200
@@ -1,5 +1,20 @@
# History of changes
+## Version 1.7.1 (2019-05-05)
+
+
+### Pull Requests Merged
+
+* [PR 189](https://github.com/spyder-ide/qtpy/pull/189) - PR: Skip testing PyQt4 and PySide in Python 3.5
+* [PR 188](https://github.com/spyder-ide/qtpy/pull/188) - PR: Trivial maintenance tweaks
+* [PR 187](https://github.com/spyder-ide/qtpy/pull/187) - PR: Avoid deprecated "from collections import MutableMapping"
+
+In this release 3 pull requests were closed.
+
+
+----
+
+
## Version 1.7.0 (2019-03-16)
### New features
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/QtPy-1.7.0/PKG-INFO new/QtPy-1.7.1/PKG-INFO
--- old/QtPy-1.7.0/PKG-INFO 2019-03-16 11:45:49.000000000 +0100
+++ new/QtPy-1.7.1/PKG-INFO 2019-05-05 09:54:16.000000000 +0200
@@ -1,6 +1,6 @@
Metadata-Version: 2.1
Name: QtPy
-Version: 1.7.0
+Version: 1.7.1
Summary: Provides an abstraction layer on top of the various Qt bindings (PyQt5, PyQt4 and PySide) and additional custom QWidgets.
Home-page: https://github.com/spyder-ide/qtpy
Author: Colin Duquesnoy, The Spyder Development Team
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/QtPy-1.7.0/QtPy.egg-info/PKG-INFO new/QtPy-1.7.1/QtPy.egg-info/PKG-INFO
--- old/QtPy-1.7.0/QtPy.egg-info/PKG-INFO 2019-03-16 11:45:48.000000000 +0100
+++ new/QtPy-1.7.1/QtPy.egg-info/PKG-INFO 2019-05-05 09:54:15.000000000 +0200
@@ -1,6 +1,6 @@
Metadata-Version: 2.1
Name: QtPy
-Version: 1.7.0
+Version: 1.7.1
Summary: Provides an abstraction layer on top of the various Qt bindings (PyQt5, PyQt4 and PySide) and additional custom QWidgets.
Home-page: https://github.com/spyder-ide/qtpy
Author: Colin Duquesnoy, The Spyder Development Team
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/QtPy-1.7.0/qtpy/_version.py new/QtPy-1.7.1/qtpy/_version.py
--- old/QtPy-1.7.0/qtpy/_version.py 2019-03-16 11:44:31.000000000 +0100
+++ new/QtPy-1.7.1/qtpy/_version.py 2019-05-05 09:53:12.000000000 +0200
@@ -1,2 +1,2 @@
-version_info = (1, 7, 0)
+version_info = (1, 7, 1)
__version__ = '.'.join(map(str, version_info))
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/QtPy-1.7.0/qtpy/compat.py new/QtPy-1.7.1/qtpy/compat.py
--- old/QtPy-1.7.0/qtpy/compat.py 2017-01-02 21:13:51.000000000 +0100
+++ new/QtPy-1.7.1/qtpy/compat.py 2019-05-05 09:50:01.000000000 +0200
@@ -1,196 +1,196 @@
-# -*- coding: utf-8 -*-
-#
-# Copyright © 2009- The Spyder Development Team
-# Licensed under the terms of the MIT License
-
-"""
-Compatibility functions
-"""
-
-from __future__ import print_function
-import sys
-import collections
-
-from . import PYQT4
-from .QtWidgets import QFileDialog
-from .py3compat import is_text_string, to_text_string, TEXT_TYPES
-
-
-# =============================================================================
-# QVariant conversion utilities
-# =============================================================================
-PYQT_API_1 = False
-if PYQT4:
- import sip
- try:
- PYQT_API_1 = sip.getapi('QVariant') == 1 # PyQt API #1
- except AttributeError:
- # PyQt <v4.6
- PYQT_API_1 = True
-
- def to_qvariant(pyobj=None):
- """Convert Python object to QVariant
- This is a transitional function from PyQt API #1 (QVariant exist)
- to PyQt API #2 and Pyside (QVariant does not exist)"""
- if PYQT_API_1:
- # PyQt API #1
- from PyQt4.QtCore import QVariant
- return QVariant(pyobj)
- else:
- # PyQt API #2
- return pyobj
-
- def from_qvariant(qobj=None, convfunc=None):
- """Convert QVariant object to Python object
- This is a transitional function from PyQt API #1 (QVariant exist)
- to PyQt API #2 and Pyside (QVariant does not exist)"""
- if PYQT_API_1:
- # PyQt API #1
- assert isinstance(convfunc, collections.Callable)
- if convfunc in TEXT_TYPES or convfunc is to_text_string:
- return convfunc(qobj.toString())
- elif convfunc is bool:
- return qobj.toBool()
- elif convfunc is int:
- return qobj.toInt()[0]
- elif convfunc is float:
- return qobj.toDouble()[0]
- else:
- return convfunc(qobj)
- else:
- # PyQt API #2
- return qobj
-else:
- def to_qvariant(obj=None): # analysis:ignore
- """Convert Python object to QVariant
- This is a transitional function from PyQt API#1 (QVariant exist)
- to PyQt API#2 and Pyside (QVariant does not exist)"""
- return obj
-
- def from_qvariant(qobj=None, pytype=None): # analysis:ignore
- """Convert QVariant object to Python object
- This is a transitional function from PyQt API #1 (QVariant exist)
- to PyQt API #2 and Pyside (QVariant does not exist)"""
- return qobj
-
-
-# =============================================================================
-# Wrappers around QFileDialog static methods
-# =============================================================================
-def getexistingdirectory(parent=None, caption='', basedir='',
- options=QFileDialog.ShowDirsOnly):
- """Wrapper around QtGui.QFileDialog.getExistingDirectory static method
- Compatible with PyQt >=v4.4 (API #1 and #2) and PySide >=v1.0"""
- # Calling QFileDialog static method
- if sys.platform == "win32":
- # On Windows platforms: redirect standard outputs
- _temp1, _temp2 = sys.stdout, sys.stderr
- sys.stdout, sys.stderr = None, None
- try:
- result = QFileDialog.getExistingDirectory(parent, caption, basedir,
- options)
- finally:
- if sys.platform == "win32":
- # On Windows platforms: restore standard outputs
- sys.stdout, sys.stderr = _temp1, _temp2
- if not is_text_string(result):
- # PyQt API #1
- result = to_text_string(result)
- return result
-
-
-def _qfiledialog_wrapper(attr, parent=None, caption='', basedir='',
- filters='', selectedfilter='', options=None):
- if options is None:
- options = QFileDialog.Options(0)
- try:
- # PyQt <v4.6 (API #1)
- from .QtCore import QString
- except ImportError:
- # PySide or PyQt >=v4.6
- QString = None # analysis:ignore
- tuple_returned = True
- try:
- # PyQt >=v4.6
- func = getattr(QFileDialog, attr+'AndFilter')
- except AttributeError:
- # PySide or PyQt <v4.6
- func = getattr(QFileDialog, attr)
- if QString is not None:
- selectedfilter = QString()
- tuple_returned = False
-
- # Calling QFileDialog static method
- if sys.platform == "win32":
- # On Windows platforms: redirect standard outputs
- _temp1, _temp2 = sys.stdout, sys.stderr
- sys.stdout, sys.stderr = None, None
- try:
- result = func(parent, caption, basedir,
- filters, selectedfilter, options)
- except TypeError:
- # The selectedfilter option (`initialFilter` in Qt) has only been
- # introduced in Jan. 2010 for PyQt v4.7, that's why we handle here
- # the TypeError exception which will be raised with PyQt v4.6
- # (see Issue 960 for more details)
- result = func(parent, caption, basedir, filters, options)
- finally:
- if sys.platform == "win32":
- # On Windows platforms: restore standard outputs
- sys.stdout, sys.stderr = _temp1, _temp2
-
- # Processing output
- if tuple_returned:
- # PySide or PyQt >=v4.6
- output, selectedfilter = result
- else:
- # PyQt <v4.6 (API #1)
- output = result
- if QString is not None:
- # PyQt API #1: conversions needed from QString/QStringList
- selectedfilter = to_text_string(selectedfilter)
- if isinstance(output, QString):
- # Single filename
- output = to_text_string(output)
- else:
- # List of filenames
- output = [to_text_string(fname) for fname in output]
-
- # Always returns the tuple (output, selectedfilter)
- return output, selectedfilter
-
-
-def getopenfilename(parent=None, caption='', basedir='', filters='',
- selectedfilter='', options=None):
- """Wrapper around QtGui.QFileDialog.getOpenFileName static method
- Returns a tuple (filename, selectedfilter) -- when dialog box is canceled,
- returns a tuple of empty strings
- Compatible with PyQt >=v4.4 (API #1 and #2) and PySide >=v1.0"""
- return _qfiledialog_wrapper('getOpenFileName', parent=parent,
- caption=caption, basedir=basedir,
- filters=filters, selectedfilter=selectedfilter,
- options=options)
-
-
-def getopenfilenames(parent=None, caption='', basedir='', filters='',
- selectedfilter='', options=None):
- """Wrapper around QtGui.QFileDialog.getOpenFileNames static method
- Returns a tuple (filenames, selectedfilter) -- when dialog box is canceled,
- returns a tuple (empty list, empty string)
- Compatible with PyQt >=v4.4 (API #1 and #2) and PySide >=v1.0"""
- return _qfiledialog_wrapper('getOpenFileNames', parent=parent,
- caption=caption, basedir=basedir,
- filters=filters, selectedfilter=selectedfilter,
- options=options)
-
-
-def getsavefilename(parent=None, caption='', basedir='', filters='',
- selectedfilter='', options=None):
- """Wrapper around QtGui.QFileDialog.getSaveFileName static method
- Returns a tuple (filename, selectedfilter) -- when dialog box is canceled,
- returns a tuple of empty strings
- Compatible with PyQt >=v4.4 (API #1 and #2) and PySide >=v1.0"""
- return _qfiledialog_wrapper('getSaveFileName', parent=parent,
- caption=caption, basedir=basedir,
- filters=filters, selectedfilter=selectedfilter,
- options=options)
+# -*- coding: utf-8 -*-
+#
+# Copyright © 2009- The Spyder Development Team
+# Licensed under the terms of the MIT License
+
+"""
+Compatibility functions
+"""
+
+from __future__ import print_function
+import sys
+import collections
+
+from . import PYQT4
+from .QtWidgets import QFileDialog
+from .py3compat import is_text_string, to_text_string, TEXT_TYPES
+
+
+# =============================================================================
+# QVariant conversion utilities
+# =============================================================================
+PYQT_API_1 = False
+if PYQT4:
+ import sip
+ try:
+ PYQT_API_1 = sip.getapi('QVariant') == 1 # PyQt API #1
+ except AttributeError:
+ # PyQt <v4.6
+ PYQT_API_1 = True
+
+ def to_qvariant(pyobj=None):
+ """Convert Python object to QVariant
+ This is a transitional function from PyQt API #1 (QVariant exist)
+ to PyQt API #2 and Pyside (QVariant does not exist)"""
+ if PYQT_API_1:
+ # PyQt API #1
+ from PyQt4.QtCore import QVariant
+ return QVariant(pyobj)
+ else:
+ # PyQt API #2
+ return pyobj
+
+ def from_qvariant(qobj=None, convfunc=None):
+ """Convert QVariant object to Python object
+ This is a transitional function from PyQt API #1 (QVariant exist)
+ to PyQt API #2 and Pyside (QVariant does not exist)"""
+ if PYQT_API_1:
+ # PyQt API #1
+ assert isinstance(convfunc, collections.Callable)
+ if convfunc in TEXT_TYPES or convfunc is to_text_string:
+ return convfunc(qobj.toString())
+ elif convfunc is bool:
+ return qobj.toBool()
+ elif convfunc is int:
+ return qobj.toInt()[0]
+ elif convfunc is float:
+ return qobj.toDouble()[0]
+ else:
+ return convfunc(qobj)
+ else:
+ # PyQt API #2
+ return qobj
+else:
+ def to_qvariant(obj=None): # analysis:ignore
+ """Convert Python object to QVariant
+ This is a transitional function from PyQt API#1 (QVariant exist)
+ to PyQt API#2 and Pyside (QVariant does not exist)"""
+ return obj
+
+ def from_qvariant(qobj=None, pytype=None): # analysis:ignore
+ """Convert QVariant object to Python object
+ This is a transitional function from PyQt API #1 (QVariant exist)
+ to PyQt API #2 and Pyside (QVariant does not exist)"""
+ return qobj
+
+
+# =============================================================================
+# Wrappers around QFileDialog static methods
+# =============================================================================
+def getexistingdirectory(parent=None, caption='', basedir='',
+ options=QFileDialog.ShowDirsOnly):
+ """Wrapper around QtGui.QFileDialog.getExistingDirectory static method
+ Compatible with PyQt >=v4.4 (API #1 and #2) and PySide >=v1.0"""
+ # Calling QFileDialog static method
+ if sys.platform == "win32":
+ # On Windows platforms: redirect standard outputs
+ _temp1, _temp2 = sys.stdout, sys.stderr
+ sys.stdout, sys.stderr = None, None
+ try:
+ result = QFileDialog.getExistingDirectory(parent, caption, basedir,
+ options)
+ finally:
+ if sys.platform == "win32":
+ # On Windows platforms: restore standard outputs
+ sys.stdout, sys.stderr = _temp1, _temp2
+ if not is_text_string(result):
+ # PyQt API #1
+ result = to_text_string(result)
+ return result
+
+
+def _qfiledialog_wrapper(attr, parent=None, caption='', basedir='',
+ filters='', selectedfilter='', options=None):
+ if options is None:
+ options = QFileDialog.Options(0)
+ try:
+ # PyQt <v4.6 (API #1)
+ from .QtCore import QString
+ except ImportError:
+ # PySide or PyQt >=v4.6
+ QString = None # analysis:ignore
+ tuple_returned = True
+ try:
+ # PyQt >=v4.6
+ func = getattr(QFileDialog, attr+'AndFilter')
+ except AttributeError:
+ # PySide or PyQt <v4.6
+ func = getattr(QFileDialog, attr)
+ if QString is not None:
+ selectedfilter = QString()
+ tuple_returned = False
+
+ # Calling QFileDialog static method
+ if sys.platform == "win32":
+ # On Windows platforms: redirect standard outputs
+ _temp1, _temp2 = sys.stdout, sys.stderr
+ sys.stdout, sys.stderr = None, None
+ try:
+ result = func(parent, caption, basedir,
+ filters, selectedfilter, options)
+ except TypeError:
+ # The selectedfilter option (`initialFilter` in Qt) has only been
+ # introduced in Jan. 2010 for PyQt v4.7, that's why we handle here
+ # the TypeError exception which will be raised with PyQt v4.6
+ # (see Issue 960 for more details)
+ result = func(parent, caption, basedir, filters, options)
+ finally:
+ if sys.platform == "win32":
+ # On Windows platforms: restore standard outputs
+ sys.stdout, sys.stderr = _temp1, _temp2
+
+ # Processing output
+ if tuple_returned:
+ # PySide or PyQt >=v4.6
+ output, selectedfilter = result
+ else:
+ # PyQt <v4.6 (API #1)
+ output = result
+ if QString is not None:
+ # PyQt API #1: conversions needed from QString/QStringList
+ selectedfilter = to_text_string(selectedfilter)
+ if isinstance(output, QString):
+ # Single filename
+ output = to_text_string(output)
+ else:
+ # List of filenames
+ output = [to_text_string(fname) for fname in output]
+
+ # Always returns the tuple (output, selectedfilter)
+ return output, selectedfilter
+
+
+def getopenfilename(parent=None, caption='', basedir='', filters='',
+ selectedfilter='', options=None):
+ """Wrapper around QtGui.QFileDialog.getOpenFileName static method
+ Returns a tuple (filename, selectedfilter) -- when dialog box is canceled,
+ returns a tuple of empty strings
+ Compatible with PyQt >=v4.4 (API #1 and #2) and PySide >=v1.0"""
+ return _qfiledialog_wrapper('getOpenFileName', parent=parent,
+ caption=caption, basedir=basedir,
+ filters=filters, selectedfilter=selectedfilter,
+ options=options)
+
+
+def getopenfilenames(parent=None, caption='', basedir='', filters='',
+ selectedfilter='', options=None):
+ """Wrapper around QtGui.QFileDialog.getOpenFileNames static method
+ Returns a tuple (filenames, selectedfilter) -- when dialog box is canceled,
+ returns a tuple (empty list, empty string)
+ Compatible with PyQt >=v4.4 (API #1 and #2) and PySide >=v1.0"""
+ return _qfiledialog_wrapper('getOpenFileNames', parent=parent,
+ caption=caption, basedir=basedir,
+ filters=filters, selectedfilter=selectedfilter,
+ options=options)
+
+
+def getsavefilename(parent=None, caption='', basedir='', filters='',
+ selectedfilter='', options=None):
+ """Wrapper around QtGui.QFileDialog.getSaveFileName static method
+ Returns a tuple (filename, selectedfilter) -- when dialog box is canceled,
+ returns a tuple of empty strings
+ Compatible with PyQt >=v4.4 (API #1 and #2) and PySide >=v1.0"""
+ return _qfiledialog_wrapper('getSaveFileName', parent=parent,
+ caption=caption, basedir=basedir,
+ filters=filters, selectedfilter=selectedfilter,
+ options=options)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/QtPy-1.7.0/qtpy/py3compat.py new/QtPy-1.7.1/qtpy/py3compat.py
--- old/QtPy-1.7.0/qtpy/py3compat.py 2016-01-14 20:29:48.000000000 +0100
+++ new/QtPy-1.7.1/qtpy/py3compat.py 2019-05-05 09:50:01.000000000 +0200
@@ -1,261 +1,261 @@
-# -*- coding: utf-8 -*-
-#
-# Copyright © 2012-2013 Pierre Raybaut
-# Licensed under the terms of the MIT License
-# (see spyderlib/__init__.py for details)
-
-"""
-spyderlib.py3compat
--------------------
-
-Transitional module providing compatibility functions intended to help
-migrating from Python 2 to Python 3.
-
-This module should be fully compatible with:
- * Python >=v2.6
- * Python 3
-"""
-
-from __future__ import print_function
-
-import sys
-import os
-
-PY2 = sys.version[0] == '2'
-PY3 = sys.version[0] == '3'
-
-
-# =============================================================================
-# Data types
-# =============================================================================
-if PY2:
- # Python 2
- TEXT_TYPES = (str, unicode)
- INT_TYPES = (int, long)
-else:
- # Python 3
- TEXT_TYPES = (str,)
- INT_TYPES = (int,)
-NUMERIC_TYPES = tuple(list(INT_TYPES) + [float, complex])
-
-
-# =============================================================================
-# Renamed/Reorganized modules
-# =============================================================================
-if PY2:
- # Python 2
- import __builtin__ as builtins
- import ConfigParser as configparser
- try:
- import _winreg as winreg
- except ImportError:
- pass
- from sys import maxint as maxsize
- try:
- import CStringIO as io
- except ImportError:
- import StringIO as io
- try:
- import cPickle as pickle
- except ImportError:
- import pickle
- from UserDict import DictMixin as MutableMapping
- import thread as _thread
- import repr as reprlib
-else:
- # Python 3
- import builtins
- import configparser
- try:
- import winreg
- except ImportError:
- pass
- from sys import maxsize
- import io
- import pickle
- from collections import MutableMapping
- import _thread
- import reprlib
-
-
-# =============================================================================
-# Strings
-# =============================================================================
-if PY2:
- # Python 2
- import codecs
-
- def u(obj):
- """Make unicode object"""
- return codecs.unicode_escape_decode(obj)[0]
-else:
- # Python 3
- def u(obj):
- """Return string as it is"""
- return obj
-
-
-def is_text_string(obj):
- """Return True if `obj` is a text string, False if it is anything else,
- like binary data (Python 3) or QString (Python 2, PyQt API #1)"""
- if PY2:
- # Python 2
- return isinstance(obj, basestring)
- else:
- # Python 3
- return isinstance(obj, str)
-
-
-def is_binary_string(obj):
- """Return True if `obj` is a binary string, False if it is anything else"""
- if PY2:
- # Python 2
- return isinstance(obj, str)
- else:
- # Python 3
- return isinstance(obj, bytes)
-
-
-def is_string(obj):
- """Return True if `obj` is a text or binary Python string object,
- False if it is anything else, like a QString (Python 2, PyQt API #1)"""
- return is_text_string(obj) or is_binary_string(obj)
-
-
-def is_unicode(obj):
- """Return True if `obj` is unicode"""
- if PY2:
- # Python 2
- return isinstance(obj, unicode)
- else:
- # Python 3
- return isinstance(obj, str)
-
-
-def to_text_string(obj, encoding=None):
- """Convert `obj` to (unicode) text string"""
- if PY2:
- # Python 2
- if encoding is None:
- return unicode(obj)
- else:
- return unicode(obj, encoding)
- else:
- # Python 3
- if encoding is None:
- return str(obj)
- elif isinstance(obj, str):
- # In case this function is not used properly, this could happen
- return obj
- else:
- return str(obj, encoding)
-
-
-def to_binary_string(obj, encoding=None):
- """Convert `obj` to binary string (bytes in Python 3, str in Python 2)"""
- if PY2:
- # Python 2
- if encoding is None:
- return str(obj)
- else:
- return obj.encode(encoding)
- else:
- # Python 3
- return bytes(obj, 'utf-8' if encoding is None else encoding)
-
-
-# =============================================================================
-# Function attributes
-# =============================================================================
-def get_func_code(func):
- """Return function code object"""
- if PY2:
- # Python 2
- return func.func_code
- else:
- # Python 3
- return func.__code__
-
-
-def get_func_name(func):
- """Return function name"""
- if PY2:
- # Python 2
- return func.func_name
- else:
- # Python 3
- return func.__name__
-
-
-def get_func_defaults(func):
- """Return function default argument values"""
- if PY2:
- # Python 2
- return func.func_defaults
- else:
- # Python 3
- return func.__defaults__
-
-
-# =============================================================================
-# Special method attributes
-# =============================================================================
-def get_meth_func(obj):
- """Return method function object"""
- if PY2:
- # Python 2
- return obj.im_func
- else:
- # Python 3
- return obj.__func__
-
-
-def get_meth_class_inst(obj):
- """Return method class instance"""
- if PY2:
- # Python 2
- return obj.im_self
- else:
- # Python 3
- return obj.__self__
-
-
-def get_meth_class(obj):
- """Return method class"""
- if PY2:
- # Python 2
- return obj.im_class
- else:
- # Python 3
- return obj.__self__.__class__
-
-
-# =============================================================================
-# Misc.
-# =============================================================================
-if PY2:
- # Python 2
- input = raw_input
- getcwd = os.getcwdu
- cmp = cmp
- import string
- str_lower = string.lower
- from itertools import izip_longest as zip_longest
-else:
- # Python 3
- input = input
- getcwd = os.getcwd
-
- def cmp(a, b):
- return (a > b) - (a < b)
- str_lower = str.lower
- from itertools import zip_longest
-
-
-def qbytearray_to_str(qba):
- """Convert QByteArray object to str in a way compatible with Python 2/3"""
- return str(bytes(qba.toHex().data()).decode())
-
-
-if __name__ == '__main__':
- pass
+# -*- coding: utf-8 -*-
+#
+# Copyright © 2012-2013 Pierre Raybaut
+# Licensed under the terms of the MIT License
+# (see spyderlib/__init__.py for details)
+
+"""
+spyderlib.py3compat
+-------------------
+
+Transitional module providing compatibility functions intended to help
+migrating from Python 2 to Python 3.
+
+This module should be fully compatible with:
+ * Python >=v2.6
+ * Python 3
+"""
+
+from __future__ import print_function
+
+import sys
+import os
+
+PY2 = sys.version_info[0] == 2
+PY3 = sys.version_info[0] == 3
+PY33 = PY3 and sys.version_info[1] >= 3
+
+
+# =============================================================================
+# Data types
+# =============================================================================
+if PY2:
+ # Python 2
+ TEXT_TYPES = (str, unicode)
+ INT_TYPES = (int, long)
+else:
+ # Python 3
+ TEXT_TYPES = (str,)
+ INT_TYPES = (int,)
+NUMERIC_TYPES = tuple(list(INT_TYPES) + [float, complex])
+
+
+# =============================================================================
+# Renamed/Reorganized modules
+# =============================================================================
+if PY2:
+ # Python 2
+ import __builtin__ as builtins
+ import ConfigParser as configparser
+ try:
+ import _winreg as winreg
+ except ImportError:
+ pass
+ from sys import maxint as maxsize
+ try:
+ import CStringIO as io
+ except ImportError:
+ import StringIO as io
+ try:
+ import cPickle as pickle
+ except ImportError:
+ import pickle
+ from UserDict import DictMixin as MutableMapping
+ import thread as _thread
+ import repr as reprlib
+else:
+ # Python 3
+ import builtins
+ import configparser
+ try:
+ import winreg
+ except ImportError:
+ pass
+ from sys import maxsize
+ import io
+ import pickle
+ if PY33:
+ from collections.abc import MutableMapping
+ else:
+ from collections import MutableMapping
+ import _thread
+ import reprlib
+
+
+# =============================================================================
+# Strings
+# =============================================================================
+if PY2:
+ # Python 2
+ import codecs
+
+ def u(obj):
+ """Make unicode object"""
+ return codecs.unicode_escape_decode(obj)[0]
+else:
+ # Python 3
+ def u(obj):
+ """Return string as it is"""
+ return obj
+
+
+def is_text_string(obj):
+ """Return True if `obj` is a text string, False if it is anything else,
+ like binary data (Python 3) or QString (Python 2, PyQt API #1)"""
+ if PY2:
+ # Python 2
+ return isinstance(obj, basestring)
+ else:
+ # Python 3
+ return isinstance(obj, str)
+
+
+def is_binary_string(obj):
+ """Return True if `obj` is a binary string, False if it is anything else"""
+ if PY2:
+ # Python 2
+ return isinstance(obj, str)
+ else:
+ # Python 3
+ return isinstance(obj, bytes)
+
+
+def is_string(obj):
+ """Return True if `obj` is a text or binary Python string object,
+ False if it is anything else, like a QString (Python 2, PyQt API #1)"""
+ return is_text_string(obj) or is_binary_string(obj)
+
+
+def is_unicode(obj):
+ """Return True if `obj` is unicode"""
+ if PY2:
+ # Python 2
+ return isinstance(obj, unicode)
+ else:
+ # Python 3
+ return isinstance(obj, str)
+
+
+def to_text_string(obj, encoding=None):
+ """Convert `obj` to (unicode) text string"""
+ if PY2:
+ # Python 2
+ if encoding is None:
+ return unicode(obj)
+ else:
+ return unicode(obj, encoding)
+ else:
+ # Python 3
+ if encoding is None:
+ return str(obj)
+ elif isinstance(obj, str):
+ # In case this function is not used properly, this could happen
+ return obj
+ else:
+ return str(obj, encoding)
+
+
+def to_binary_string(obj, encoding=None):
+ """Convert `obj` to binary string (bytes in Python 3, str in Python 2)"""
+ if PY2:
+ # Python 2
+ if encoding is None:
+ return str(obj)
+ else:
+ return obj.encode(encoding)
+ else:
+ # Python 3
+ return bytes(obj, 'utf-8' if encoding is None else encoding)
+
+
+# =============================================================================
+# Function attributes
+# =============================================================================
+def get_func_code(func):
+ """Return function code object"""
+ if PY2:
+ # Python 2
+ return func.func_code
+ else:
+ # Python 3
+ return func.__code__
+
+
+def get_func_name(func):
+ """Return function name"""
+ if PY2:
+ # Python 2
+ return func.func_name
+ else:
+ # Python 3
+ return func.__name__
+
+
+def get_func_defaults(func):
+ """Return function default argument values"""
+ if PY2:
+ # Python 2
+ return func.func_defaults
+ else:
+ # Python 3
+ return func.__defaults__
+
+
+# =============================================================================
+# Special method attributes
+# =============================================================================
+def get_meth_func(obj):
+ """Return method function object"""
+ if PY2:
+ # Python 2
+ return obj.im_func
+ else:
+ # Python 3
+ return obj.__func__
+
+
+def get_meth_class_inst(obj):
+ """Return method class instance"""
+ if PY2:
+ # Python 2
+ return obj.im_self
+ else:
+ # Python 3
+ return obj.__self__
+
+
+def get_meth_class(obj):
+ """Return method class"""
+ if PY2:
+ # Python 2
+ return obj.im_class
+ else:
+ # Python 3
+ return obj.__self__.__class__
+
+
+# =============================================================================
+# Misc.
+# =============================================================================
+if PY2:
+ # Python 2
+ input = raw_input
+ getcwd = os.getcwdu
+ cmp = cmp
+ import string
+ str_lower = string.lower
+ from itertools import izip_longest as zip_longest
+else:
+ # Python 3
+ input = input
+ getcwd = os.getcwd
+
+ def cmp(a, b):
+ return (a > b) - (a < b)
+ str_lower = str.lower
+ from itertools import zip_longest
+
+
+def qbytearray_to_str(qba):
+ """Convert QByteArray object to str in a way compatible with Python 2/3"""
+ return str(bytes(qba.toHex().data()).decode())
1
0
Hello community,
here is the log from the commit of package borgbackup for openSUSE:Factory checked in at 2019-05-24 11:32:22
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/borgbackup (Old)
and /work/SRC/openSUSE:Factory/.borgbackup.new.5148 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "borgbackup"
Fri May 24 11:32:22 2019 rev:22 rq:704976 version:1.1.10
Changes:
--------
--- /work/SRC/openSUSE:Factory/borgbackup/borgbackup.changes 2019-03-10 09:40:45.796098827 +0100
+++ /work/SRC/openSUSE:Factory/.borgbackup.new.5148/borgbackup.changes 2019-05-24 11:32:23.813389446 +0200
@@ -1,0 +2,80 @@
+Thu May 23 09:40:02 UTC 2019 - Hans-Peter Jansen <hpj(a)urpla.net>
+
+- Update to version 1.1.10 (2019-05-16)
+ + Compatibility notes:
+ * When upgrading from borg 1.0.x to 1.1.x, please note:
+ * read all the compatibility notes for 1.1.0*, starting from
+ 1.1.0b1.
+ * borg upgrade: you do not need to and you also should not run
+ it.
+ * borg might ask some security-related questions once after
+ upgrading. You can answer them either manually or via
+ environment variable. One known case is if you use
+ unencrypted repositories, then it will ask about a unknown
+ unencrypted repository one time.
+ * your first backup with 1.1.x might be significantly slower
+ (it might completely read, chunk, hash a lot files) - this is
+ due to the --files-cache mode change (and happens every time
+ you change mode). You can avoid the one-time slowdown by
+ using the pre-1.1.0rc4-compatible mode (but that is less safe
+ for detecting changed files than the default). See the
+ --files-cache docs for details.
+ + Fixes:
+ * extract: hang on partial extraction with ssh: repo, when
+ hardlink master is not matched/extracted and borg hangs on
+ related slave hardlink, #4350
+ * lrucache: regularly remove old FDs, #4427
+ * avoid stale filehandle issues, #3265
+ * freebsd: make xattr platform code api compatible with linux,
+ #3952
+ * use whitelist approach for borg serve, #4097
+ * borg command shall terminate with rc 2 for ImportErrors,
+ #4424
+ * create: only run stat_simple_attrs() once, this increases
+ backup with lots of unchanged files performance by ~ 5%.
+ * prune: fix incorrect borg prune --stats output with --dry-
+ run, #4373
+ * key export: emit user-friendly error if repo key is exported
+ to a directory, #4348
+ + New features:
+ * bundle latest supported msgpack-python release (0.5.6),
+ remove msgpack-python from setup.py install_requires - by
+ default we use the bundled code now. optionally, we still
+ support using an external msgpack (see hints in setup.py),
+ but this requires solid requirements management within
+ distributions and is not recommended. borgbackup will break
+ if you upgrade msgpack to an unsupported version.
+ * display msgpack version as part of sysinfo (e.g. in
+ tracebacks)
+ * timestamp for borg delete --info added, #4359
+ * enable placeholder usage in --comment and --glob-archives,
+ #4559, #4495
+ + Other:
+ * serve: do not check python/libc for borg serve, #4483
+ * shell completions: borg diff second archive
+ * release scripts: signing binaries with Qubes OS support
+ * testing:
+ * vagrant: upgrade openbsd box to 6.4
+ * travis-ci: lock test env to py 3.4 compatible versions, #4343
+ * get rid of confusing coverage warning, #2069
+ * rename test_mount_hardlinks to test_fuse_mount_hardlinks, so
+ both can be excluded by "not test_fuse".
+ * pure-py msgpack warning shall not make a lot of tests fail,
+ #4558
+ * docs:
+ * add "SSH Configuration" section to "borg serve", #3988, #636,
+ #4485
+ * README: new URL for funding options
+ * add a sample logging.conf in docs/misc, #4380
+ * elaborate on append-only mode docs, #3504
+ * installation: added Alpine Linux to distribution list, #4415
+ * usage.html: only modify window.location when redirecting,
+ #4133
+ * add msgpack license to docs/3rd_party/msgpack
+ * vagrant / binary builds:
+ * use python 3.5.7 for builds
+ * use osxfuse 3.8.3
+- remove msgpack patch fix-msgpack-requirement.patch and borg_msgpack
+ build conditional, since msgpack is bundled now (yeah!)
+
+-------------------------------------------------------------------
Old:
----
borgbackup-1.1.9.tar.gz
borgbackup-1.1.9.tar.gz.asc
fix-msgpack-requirement.patch
New:
----
borgbackup-1.1.10.tar.gz
borgbackup-1.1.10.tar.gz.asc
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ borgbackup.spec ++++++
--- /var/tmp/diff_new_pack.rDmd1M/_old 2019-05-24 11:32:24.549389165 +0200
+++ /var/tmp/diff_new_pack.rDmd1M/_new 2019-05-24 11:32:24.549389165 +0200
@@ -18,8 +18,6 @@
%if 0%{?suse_version} >= 1500
-# deal with renamed python-msgpack package
-%bcond_without borg_msgpack
# use new compression libs (lz4, zstd)
%bcond_without borg_newcompr
# run tests (may fail without former conditionals)
@@ -27,14 +25,13 @@
# use sphinx guzzle theme
%bcond_without borg_guzzle
%else
-%bcond_with borg_msgpack
%bcond_with borg_newcompr
%bcond_with borg_test
%bcond_with borg_guzzle
%endif
Name: borgbackup
-Version: 1.1.9
+Version: 1.1.10
Release: 0
Summary: Deduplicating backup program with compression and authenticated encryption
License: BSD-3-Clause
@@ -43,13 +40,10 @@
Source0: https://github.com/borgbackup/borg/releases/download/%{version}/borgbackup-…
Source1: https://github.com/borgbackup/borg/releases/download/%{version}/borgbackup-…
Source2: %{name}.keyring
-# PATCH-FIX-OPENSUSE fix-msgpack-requirement.patch <alarrosa(a)suse.com>
-# deal with msgpack package rename fallout
-Patch1: fix-msgpack-requirement.patch
# PATCH-FIX-OPENSUSE borgbackup-1.1.4-sphinx-default-theme.patch <hpj(a)urpla.net>
# python3-guzzle_sphinx_theme isn't available everywhere,
# fall back to Sphinx default theme for older distributions
-Patch2: borgbackup-1.1.4-sphinx-default-theme.patch
+Patch0: borgbackup-1.1.4-sphinx-default-theme.patch
# build dependencies
BuildRequires: bash
@@ -57,6 +51,7 @@
BuildRequires: bash-completion
%endif
BuildRequires: fish
+BuildRequires: gcc-c++
BuildRequires: libacl-devel
%if %{with borg_newcompr}
BuildRequires: liblz4-devel >= 1.7.0
@@ -65,11 +60,6 @@
BuildRequires: openssl-devel >= 1.0.0
BuildRequires: python3 >= 3.4
BuildRequires: python3-Cython
-%if %{with borg_msgpack}
-Requires: python3-msgpack >= 0.4.6
-%else
-Requires: python3-msgpack-python >= 0.4.6
-%endif
BuildRequires: python3-setuptools
BuildRequires: python3-setuptools_scm
BuildRequires: python3-sphinx_rtd_theme
@@ -81,11 +71,6 @@
%if %{with borg_guzzle}
BuildRequires: python3-guzzle_sphinx_theme
%endif
-%if %{with borg_msgpack}
-BuildRequires: python3-msgpack >= 0.4.6
-%else
-BuildRequires: python3-msgpack-python >= 0.4.6
-%endif
# testing requirements
%if %{with borg_test}
@@ -165,12 +150,8 @@
%prep
%setup -q
-%if %{with borg_msgpack}
-# fix msgpack requirement
-%patch1 -p1
-%endif
%if ! %{with borg_guzzle}
-%patch2 -p1
+%patch0 -p1
%endif
# a single test is failing: test_non_ascii_acl - which is a rather esoteric check
# that cannot be tripped with openSUSE, because user- and group-ids have to be
++++++ borgbackup-1.1.9.tar.gz -> borgbackup-1.1.10.tar.gz ++++++
++++ 28397 lines of diff (skipped)
1
0