openSUSE Commits
Threads by month
- ----- 2024 -----
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2023 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2022 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2021 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2020 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2019 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2018 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2017 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2016 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2015 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2014 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2013 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2012 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2011 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2010 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2009 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2008 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2007 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2006 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
October 2022
- 1 participants
- 2855 discussions
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package trytond_country for openSUSE:Factory checked in at 2022-10-25 11:20:26
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/trytond_country (Old)
and /work/SRC/openSUSE:Factory/.trytond_country.new.2275 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "trytond_country"
Tue Oct 25 11:20:26 2022 rev:13 rq:1031061 version:6.0.3
Changes:
--------
--- /work/SRC/openSUSE:Factory/trytond_country/trytond_country.changes 2022-03-18 16:42:57.785216839 +0100
+++ /work/SRC/openSUSE:Factory/.trytond_country.new.2275/trytond_country.changes 2022-10-25 11:20:49.610245618 +0200
@@ -1,0 +2,6 @@
+Tue Oct 18 06:49:47 UTC 2022 - Axel Braun <axel.braun(a)gmx.de>
+
+- Version 6.0.3 - Bugfix Release
+ 001_pycountry.diff adapted
+
+-------------------------------------------------------------------
Old:
----
trytond_country-6.0.2.tar.gz
trytond_country-6.0.2.tar.gz.asc
New:
----
trytond_country-6.0.3.tar.gz
trytond_country-6.0.3.tar.gz.asc
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ trytond_country.spec ++++++
--- /var/tmp/diff_new_pack.XhIqLR/_old 2022-10-25 11:20:50.070246637 +0200
+++ /var/tmp/diff_new_pack.XhIqLR/_new 2022-10-25 11:20:50.078246655 +0200
@@ -19,7 +19,7 @@
%define majorver 6.0
Name: trytond_country
-Version: %{majorver}.2
+Version: %{majorver}.3
Release: 0
Summary: The "country" module for the Tryton ERP system
License: GPL-3.0-only
++++++ 001_pycountry.diff ++++++
--- /var/tmp/diff_new_pack.XhIqLR/_old 2022-10-25 11:20:50.106246717 +0200
+++ /var/tmp/diff_new_pack.XhIqLR/_new 2022-10-25 11:20:50.114246735 +0200
@@ -2,7 +2,7 @@
index ff5eceb4da725156b204060e9d1b9f26b89aa1c5..1e8e76671099672eb5baffd84dd6d1694f547de6 100644
--- a/country.py
+++ b/country.py
-@@ -94,6 +94,7 @@ class Subdivision(DeactivableMixin, ModelSQL, ModelView):
+@@ -98,6 +98,7 @@ class Subdivision(DeactivableMixin, ModelSQL, ModelView):
code = fields.Char('Code', required=True, select=True,
help="The ISO code of the subdivision.")
type = fields.Selection([
@@ -10,7 +10,7 @@
('administration', 'Administration'),
('administrative area', 'Administrative area'),
('administrative atoll', 'Administrative atoll'),
-@@ -198,7 +199,7 @@ class Subdivision(DeactivableMixin, ModelSQL, ModelView):
+@@ -202,7 +202,7 @@ class Subdivision(DeactivableMixin, ModelSQL, ModelView):
('unitary authority (england)', 'Unitary authority (england)'),
('unitary authority (wales)', 'Unitary authority (wales)'),
('zone', 'zone'),
@@ -19,7 +19,7 @@
parent = fields.Many2One('country.subdivision', 'Parent',
domain=[
('country', '=', Eval('country', -1)),
-@@ -220,10 +221,15 @@ class Subdivision(DeactivableMixin, ModelSQL, ModelView):
+@@ -224,10 +225,15 @@ class Subdivision(DeactivableMixin, ModelSQL, ModelView):
super().__register__(module_name)
@@ -34,7 +34,7 @@
+
@classmethod
def search_rec_name(cls, name, clause):
- return ['OR',
+ if clause[1].startswith('!') or clause[1].startswith('not '):
diff --git a/scripts/import_countries.py b/scripts/import_countries.py
index 626e1ceee8c38496b83127d119709db6208a3bf6..85c5906581c2138ac720ab52927b3c054523543a 100755
--- a/scripts/import_countries.py
++++++ trytond_country-6.0.2.tar.gz -> trytond_country-6.0.3.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/trytond_country-6.0.2/.hgtags new/trytond_country-6.0.3/.hgtags
--- old/trytond_country-6.0.2/.hgtags 2022-02-01 18:27:52.000000000 +0100
+++ new/trytond_country-6.0.3/.hgtags 2022-10-18 00:02:21.000000000 +0200
@@ -26,3 +26,4 @@
03c59ac61fa475a5e6a543fad8009f5aa0c48805 6.0.0
7f84dfb12257d2917850c7529aea6c3826aa7229 6.0.1
e032e8ef499744dfe254fdb72e123136d778b048 6.0.2
+4f73ca18f70b06d8b1a85ec10cc2e7b0d2b17b79 6.0.3
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/trytond_country-6.0.2/CHANGELOG new/trytond_country-6.0.3/CHANGELOG
--- old/trytond_country-6.0.2/CHANGELOG 2022-02-01 18:27:52.000000000 +0100
+++ new/trytond_country-6.0.3/CHANGELOG 2022-10-18 00:02:20.000000000 +0200
@@ -1,3 +1,6 @@
+Version 6.0.3 - 2022-10-17
+* Bug fixes (see mercurial logs for details)
+
Version 6.0.2 - 2022-02-01
* Bug fixes (see mercurial logs for details)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/trytond_country-6.0.2/PKG-INFO new/trytond_country-6.0.3/PKG-INFO
--- old/trytond_country-6.0.2/PKG-INFO 2022-02-01 18:27:53.971003500 +0100
+++ new/trytond_country-6.0.3/PKG-INFO 2022-10-18 00:02:22.320822200 +0200
@@ -1,28 +1,17 @@
Metadata-Version: 2.1
Name: trytond_country
-Version: 6.0.2
+Version: 6.0.3
Summary: Tryton module with countries
Home-page: http://www.tryton.org/
+Download-URL: http://downloads.tryton.org/6.0/
Author: Tryton
Author-email: bugs(a)tryton.org
License: GPL-3
-Download-URL: http://downloads.tryton.org/6.0/
Project-URL: Bug Tracker, https://bugs.tryton.org/
Project-URL: Documentation, https://docs.tryton.org/projects/modules-country/
Project-URL: Forum, https://www.tryton.org/forum
Project-URL: Source Code, https://hg.tryton.org/modules/country
-Description: ##############
- Country Module
- ##############
-
- The *Country Module* provides the basic features needed to handle data
- related to countries, their subdivisions, and their postal codes.
- It also provides some scripts that are used to load standard countries,
- subdivisions, and selected countries' postal codes into Tryton.
-
-
Keywords: tryton country
-Platform: UNKNOWN
Classifier: Development Status :: 5 - Production/Stable
Classifier: Environment :: Plugins
Classifier: Framework :: Tryton
@@ -63,3 +52,14 @@
Requires-Python: >=3.6
Provides-Extra: data
Provides-Extra: GeoNames
+License-File: LICENSE
+
+##############
+Country Module
+##############
+
+The *Country Module* provides the basic features needed to handle data
+related to countries, their subdivisions, and their postal codes.
+It also provides some scripts that are used to load standard countries,
+subdivisions, and selected countries' postal codes into Tryton.
+
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/trytond_country-6.0.2/country.py new/trytond_country-6.0.3/country.py
--- old/trytond_country-6.0.2/country.py 2021-05-03 16:34:04.000000000 +0200
+++ new/trytond_country-6.0.3/country.py 2022-09-15 22:27:40.000000000 +0200
@@ -51,10 +51,14 @@
@classmethod
def search_rec_name(cls, name, clause):
+ if clause[1].startswith('!') or clause[1].startswith('not '):
+ bool_op = 'AND'
+ else:
+ bool_op = 'OR'
code_value = clause[2]
if clause[1].endswith('like'):
code_value = lstrip_wildcard(clause[2])
- return ['OR',
+ return [bool_op,
('name',) + tuple(clause[1:]),
('code', clause[1], code_value) + tuple(clause[3:]),
('code3', clause[1], code_value) + tuple(clause[3:]),
@@ -226,9 +230,16 @@
@classmethod
def search_rec_name(cls, name, clause):
- return ['OR',
+ if clause[1].startswith('!') or clause[1].startswith('not '):
+ bool_op = 'AND'
+ else:
+ bool_op = 'OR'
+ code_value = clause[2]
+ if clause[1].endswith('like'):
+ code_value = lstrip_wildcard(clause[2])
+ return [bool_op,
('name',) + tuple(clause[1:]),
- ('code',) + tuple(clause[1:]),
+ ('code', clause[1], code_value) + tuple(clause[3:]),
]
@classmethod
@@ -293,7 +304,10 @@
bool_op = 'AND'
else:
bool_op = 'OR'
+ code_value = clause[2]
+ if clause[1].endswith('like'):
+ code_value = lstrip_wildcard(clause[2])
return [bool_op,
- ('postal_code',) + tuple(clause[1:]),
+ ('postal_code', clause[1], code_value) + tuple(clause[3:]),
('city',) + tuple(clause[1:]),
]
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/trytond_country-6.0.2/tryton.cfg new/trytond_country-6.0.3/tryton.cfg
--- old/trytond_country-6.0.2/tryton.cfg 2021-07-21 08:28:47.000000000 +0200
+++ new/trytond_country-6.0.3/tryton.cfg 2022-02-01 18:28:01.000000000 +0100
@@ -1,5 +1,5 @@
[tryton]
-version=6.0.2
+version=6.0.3
depends:
ir
res
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/trytond_country-6.0.2/trytond_country.egg-info/PKG-INFO new/trytond_country-6.0.3/trytond_country.egg-info/PKG-INFO
--- old/trytond_country-6.0.2/trytond_country.egg-info/PKG-INFO 2022-02-01 18:27:53.000000000 +0100
+++ new/trytond_country-6.0.3/trytond_country.egg-info/PKG-INFO 2022-10-18 00:02:21.000000000 +0200
@@ -1,28 +1,17 @@
Metadata-Version: 2.1
Name: trytond-country
-Version: 6.0.2
+Version: 6.0.3
Summary: Tryton module with countries
Home-page: http://www.tryton.org/
+Download-URL: http://downloads.tryton.org/6.0/
Author: Tryton
Author-email: bugs(a)tryton.org
License: GPL-3
-Download-URL: http://downloads.tryton.org/6.0/
Project-URL: Bug Tracker, https://bugs.tryton.org/
Project-URL: Documentation, https://docs.tryton.org/projects/modules-country/
Project-URL: Forum, https://www.tryton.org/forum
Project-URL: Source Code, https://hg.tryton.org/modules/country
-Description: ##############
- Country Module
- ##############
-
- The *Country Module* provides the basic features needed to handle data
- related to countries, their subdivisions, and their postal codes.
- It also provides some scripts that are used to load standard countries,
- subdivisions, and selected countries' postal codes into Tryton.
-
-
Keywords: tryton country
-Platform: UNKNOWN
Classifier: Development Status :: 5 - Production/Stable
Classifier: Environment :: Plugins
Classifier: Framework :: Tryton
@@ -63,3 +52,14 @@
Requires-Python: >=3.6
Provides-Extra: data
Provides-Extra: GeoNames
+License-File: LICENSE
+
+##############
+Country Module
+##############
+
+The *Country Module* provides the basic features needed to handle data
+related to countries, their subdivisions, and their postal codes.
+It also provides some scripts that are used to load standard countries,
+subdivisions, and selected countries' postal codes into Tryton.
+
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/trytond_country-6.0.2/trytond_country.egg-info/entry_points.txt new/trytond_country-6.0.3/trytond_country.egg-info/entry_points.txt
--- old/trytond_country-6.0.2/trytond_country.egg-info/entry_points.txt 2022-02-01 18:27:53.000000000 +0100
+++ new/trytond_country-6.0.3/trytond_country.egg-info/entry_points.txt 2022-10-18 00:02:21.000000000 +0200
@@ -1,7 +1,6 @@
+[console_scripts]
+trytond_import_countries = trytond.modules.country.scripts.import_countries:run [data]
+trytond_import_postal_codes = trytond.modules.country.scripts.import_postal_codes:run [GeoNames]
- [trytond.modules]
- country = trytond.modules.country
- [console_scripts]
- trytond_import_countries = trytond.modules.country.scripts.import_countries:run [data]
- trytond_import_postal_codes = trytond.modules.country.scripts.import_postal_codes:run [GeoNames]
-
\ No newline at end of file
+[trytond.modules]
+country = trytond.modules.country
++++++ trytond_country.keyring ++++++
--- /var/tmp/diff_new_pack.XhIqLR/_old 2022-10-25 11:20:50.254247045 +0200
+++ /var/tmp/diff_new_pack.XhIqLR/_new 2022-10-25 11:20:50.258247054 +0200
@@ -14,124 +14,124 @@
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
-SJEwBQJe9uu9BQkOuOxBAAoJEG/1Cv4DSJEw+dIQAIdEr1LKJTeTsXUdyhZR/jL8
-l7/VgKe7qds6h6vPaUhMArVclvX2fgvs+KEOxEJ300E2E1Ppfqb0K8sKZi80hFMh
-3Ew2bVZAcpUUus395Zmdly30ferFF2vcB7vMbL/Xqv7ojRvGlWzjTeWPYYBJ3Vui
-ioX3EZ02aiTRoSQZDw/2DCKfAfXM/O4uxcc6uedGD+7gz7zlEn2Nr/fB+mOCHvOf
-/X6lpWn+yWQo7zJtpTfxXJs8Y7/th1RNPlqyG2y1hzRX+klLFBqgbr4WquT2U5Yi
-b6y+j1X+Ihv8MalfOoabqS6lEz1mmDIi10ejIg9FiNEYfRJiSm2Nz/i2+Iu39pnR
-I88Mtk8JxWQVgrYPBhdyGOii+4MnF9pp/aY0FjS+cO/u/tUzjWUDkGGcruiRiNuk
-EcMF9E/WULoHWcms7q/89aXymh5M0TUfNua0OaZtFkFh7V4KPLclsfWoSDxajrvN
-BTgkBOhdoFP9pb2oH/gbctx+HmetPKQUz/cs3Ao9ZMwjljHKMvkB4LETz9jDnGkU
-FGKC+SDP+8EcDIK+cPjEzUg39JP+0XhMLqVbl9kLumclIepUHlByUk2KOC22f2Cd
-HCFGyiHmL6Iew/p1Y7NgZ6Z5nL7Aox9God6jSlRPsa0SjQGz90qX5sEGX6PWvIL3
-t8uamhY8TTl0bmaa5ycitCZDw6lkcmljIEtyaWVyIDxrcmllci5jZWRyaWNAZ21h
+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
-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
+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
-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
-Ccrl4p6GykuYzR5Rvxbg0XRoY0uoTQPhMQbBMBqF+ELMDeXvJdpDZfrIbNGbGKts
-Rsizp03ixISq6tp2OaHaYE0ZUDCwGkMMGzxTrOtA4qw0k29HEWs8B+sII99fU52n
-dGT2y7uCZv572GcDdJ37SWiARK27qV0Hl3LM2OpR/6Y3dY2Xd7Wx2pcXkRk+xbAI
-hlMsPLgQr+KWaWBQnhiT2q99AegLda4zzfOPx1OYwHkdybUexJTDiy8KlgIQ75j1
-pkLeTKfu7MNZmZel7cxoDtuJUCPEbaARIdVrDK43L57uf+5kjtcHc+PplGMbCH8U
-O8hj3o7LzHTfDPkxqfVhj8CmYvK8WrHwYwqiRq3VzQVGb8Op4cTDMWv0+a8Ix4KX
-orUcU+hBFao4TfgiXnaKqkVcjpJ7CxXSw1vIIyjDTG8/MkSYoJAox4j6DYYTkNKG
-ohPCXrIyd1o/gG7voe3P6yHQiLJpA0dO5X/EeykYktRqaMyDXDU7L5gLmgO0HEPD
+AgEAAh4BAheAFiEEfFpDYPbfgaupH9VNb/UK/gNIkTAFAmGZE+gFCRFbFGwACgkQ
+b/UK/gNIkTC+fhAAsLgQmprtG3LuKZeOCNAIy+yivfFtYrWQFoOKmFRdH93GVGkO
+10jbuZOzr4iLyAaV04TvPOVGP2xmBPr1L+XLon6Y5f5sF9qSc4LvyJb2WwjLz+Na
+OeB0B/IM7l3/Y0lYsonwZ1u/D61GeA6rRGDbuWGDIek+x24E7g2GJMW9K3VdS0BR
+WqQ3V5aeq1H9eGBtLukmyyqTvWqvlTaIPsTuaAN7LTlCbZCGrUvZIQnxOHqVsYg1
+NFtOjcYTTVsRCS0tTbsHLryzoJxYT71LoXEcP7qgSxYXHTxWlyGNxjBVFRbwIhF/
+czJQm7tTpg9sS00FDWocOQKJ5otqwSMzVOBBBKYE1mYhWLaiO8Vxjjs2AHPchcdP
+QyZ9jnh6QpFogsCkyXamDq27LyATtnkNQj6A0OmldmtJY/fsSAUWiFd1lkw4oQA9
+Y184ubBVRf61lce/YNh+iq3KEYW2lnz+86ZNVOkmwz++BwMkeoSCCv4rZvaQD6f0
+4xMyetLjxL11x6Cctp3bR1KKFf7IRnSiPn0WpLhi0sLn7+ZKZ9zdNFoWM1tdHXsT
+2+eT9bHq2PJgfha/7krqCyCWsgppDe4cFHHUqy+XlhYRj3Nc/Wu1rLXbfHFZ2ZjP
+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
-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
+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
-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
+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
-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
+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
-BRYDAgEAAh4BAheAFiEEfFpDYPbfgaupH9VNb/UK/gNIkTAFAl72674FCQ647EEA
-CgkQb/UK/gNIkTDf2w/9FGpPcHHB9wkpC/qn9QKlaGvMaz3LPIrBr8bnNwhkrcMe
-gAWWqe6yDka42z6JQptqr152nEfXLId4JBdxJgeTHeccwkB4lq9565Iv0LnCiko+
-yIOZp4k+wyLxYImuCFo9+MTYtcwhDzEZ2LoAvcgHqlIrkLbqGKwhMi5Erx5DUsuH
-q7cZLX77saz1TGS3OPOqWkLJ6oRdKoVTC19oylT+oznBSK2GSBvi1LSyXeXMm2OH
-3MCnrnExgCZZM51Q4t3aPK8e3mfvhZbV4PMakN65ypBThNjuVknX3A8D2rgmSoiX
-CEGFQ4rjZktbMTMR+I9BCJH+/yjiRTYSpu8MbOdJeduehnEQn/GBaTgekjHvF5pc
-GQa4wxJWLUcjMIIJAKILCgGxzrGRR23ItEdPKgQamOCkUpmTQZ0lN43vhoAPYo1B
-BRwf8DaPIIrMMBVJYIgtti0i65A5zudrgX4ogTmazF/pWHJxcf6ApvIpsZndvmYx
-1bCGyk2PF5x6ANrJa7T9zoFQ1Q2Z92A7lhNsT0Y6TuTwGX8JeiY81offOmaP3rE4
-MvfDaANNVXsdj72My4XEdXZoUmHwVn86eD002Nk/7bs1GovmhYX8l3m6zi+BzG9G
-wpCbaggrKYpEPbtbPBj2Ox+xOqTy6zGoDm5keiqNn/iAgGe0kKM45DsJ251UJIu0
+BRYDAgEAAh4BAheAFiEEfFpDYPbfgaupH9VNb/UK/gNIkTAFAmGZE+gFCRFbFGwA
+CgkQb/UK/gNIkTChRRAArzGSxUDBSts4/1kMDNeL4Z5FqQ74qxOL3bNkCV33TPTt
+mvX4PUZyw+M/9uBtIZ/s+ChHkzqYvVFQn97GtKq/Ui6/x/iQJfJ9HOXMqst5cgOc
+h3ozTwK6WkJxSRPPT05FdySKv4SC4rAZjOd0alxmx8byWfpuOpgZhjH7H1OvmdIO
+V2fKmsGB0PaOCUnCOwzThxLVzSpp04M88OSvivdw1hdFLfp6ad9ED8s9udgbJ8lI
+n4g28g6lWzCKWilww9LKaBW1ZYcCZjraYE2cZ2c2/NI/Wq//TS1sHfmD7zhLy1O2
+zNq1aHBu/smkHEEZaOVDte3IMsSxYngbgVGIbxKeW6vAoABIGuyb3qVWKeCA9Aog
+ojgwSJlsRJNqO4ln0xiJzZIPfjFNqQS0bGmhN84cbDB4QPo2xhL7SoEzixH9PABU
+g9PwOvrusjJBP7KCESzf+oNPSQw9pgv85zuHSHYtVYGU3xiJ4vuFJ+hsKK9xWbjI
+YPgyvEQAII8nM7e2dHR3SUB1jvPtBG9ERN5JH8+bjmejY3kJFbxd6ESdeUrBpPKa
+tFDfykgOpae2boaXsezvwa1YNA4P+6z631u9Wudai27806OTNGtWjJLrkTy5Mfro
+aju1bl1kc06+pqqwN7b8IiQf9Uab6geloFpslO5swvVML7GaFSy4Gp3e72/heUu0
HEPDqWRyaWMgS3JpZXIgPGNlZEBrcmllci5tZT6JAlQEEwEIAD4CGwMFCwkIBwMF
-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
+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
@@ -142,178 +142,45 @@
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
-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
-zSbRs7nlht45Bqpc9qfCy6ZAhMXioV9dPNS5Ks7ptlXI/KPnzQjXIstXNokC5QQY
-AQgADwUCVOCIEQIbAgUJAeEzgADKCRBv9Qr+A0iRML8gBBkRCABmBQJU4IgRXxSA
-AAAAAC4AKGlzc3Vlci1mcHJAbm90YXRpb25zLm9wZW5wZ3AuZmlmdGhob3JzZW1h
-bi5uZXQ2NjkwRjMzNkFGOEVCMUNBMEU4RjQ5MzJEQTYyQzFGQjRDNUEyODU1AAoJ
-ENpiwftMWihVypABAPqcuF+W4D+kJu9hfw0iSEe/mKPBb+psiu6sc+DUO1pdAP9o
-IICFihOdlol3DJtdLbXP+CpEF7LxkSjnKUYyoM8hyLS1D/0elCJIOD7JU5k3mDQI
-H7HyhPYANC9MG4Y4fbB8/P+LCshbPVhmk54FSLDuysSdwJPQKs623uMcZmuLS6gQ
-ULFVntV44Gd/AwyFeeIFyylUHDAD52s5ZGG7gQVp69jYWOX8uXKCeedJz0+DUarw
-w7OX42QYZ+BPY3lAfqxjeEsTUMM4KjHXPOpVygpKzCuE0gbBVlpLS0kTcPLbHW1W
-Qp66OAvMx3oEYvYmUNPFkI1vhmmFhpg7uxSTx6dM25H1KHmgKCJTx7oHwUxCvYqV
-DItQaaT2uCWasPx8OB7j5FxIG89+hoVKPo3gSWrX37cqLOHDod2e9XM6cNrSyOk/
-OiThb2gSc8A4f0JxdlW1VXbpZj6eBdA4teLSqPWzbJPy00REbh2WOqMqRgmMPle9
-rhbDAPfOeLJ1yk0vS57nrCW9oy73Ftrprmd6eEJKX/UPt1hwJdqWISSosyJrCR9u
-CnqXcrZkTq0cSfAYwzP/KLHHbwUG+OZ5VrB8ryfI/SXTvfeF5ZGyXfkziSdL7pcv
-+k7K62hrok+F7Asz4bMO3dAmuAMX+RJGve7JLRAWYo/cDHfeWrbmE/aamBAGr+hH
-V7HoSlziWIPtWihqNSNBOrlVQGFvLp4taHfgYCO8EIBfWN6DiLSK3BEyx+k8t/hF
-MZG8xDK+qz1tlkYak0IEzHg+47kDLgRWviSIEQgA/TRS8Ajg/OqhxyG5O23bSIQ3
-XIH8eoXMzqRKXb4S/9dUUhrsZWNHWRH+E1Z6OQNHSPaisnEbhZogcEzhEF154ZAy
-EPKU7xWthXWC7cy3+bZFmQofyOLOb0tMl04oa+aacVOFQKTJFmvzswbqoL/9cF2O
-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
-=wmme
+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
+o6gpfk7rYtA=
+=Wn5f
-----END PGP PUBLIC KEY BLOCK-----
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package trytond_stock for openSUSE:Factory checked in at 2022-10-25 11:20:25
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/trytond_stock (Old)
and /work/SRC/openSUSE:Factory/.trytond_stock.new.2275 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "trytond_stock"
Tue Oct 25 11:20:25 2022 rev:31 rq:1031039 version:6.0.17
Changes:
--------
--- /work/SRC/openSUSE:Factory/trytond_stock/trytond_stock.changes 2022-09-08 14:24:02.514722629 +0200
+++ /work/SRC/openSUSE:Factory/.trytond_stock.new.2275/trytond_stock.changes 2022-10-25 11:20:48.674243543 +0200
@@ -1,0 +2,5 @@
+Tue Oct 18 06:49:30 UTC 2022 - Axel Braun <axel.braun(a)gmx.de>
+
+- Version 6.0.17 - Bugfix Release
+
+-------------------------------------------------------------------
Old:
----
trytond_stock-6.0.16.tar.gz
trytond_stock-6.0.16.tar.gz.asc
New:
----
trytond_stock-6.0.17.tar.gz
trytond_stock-6.0.17.tar.gz.asc
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ trytond_stock.spec ++++++
--- /var/tmp/diff_new_pack.Q6jwhF/_old 2022-10-25 11:20:49.218244749 +0200
+++ /var/tmp/diff_new_pack.Q6jwhF/_new 2022-10-25 11:20:49.222244757 +0200
@@ -19,7 +19,7 @@
%define majorver 6.0
Name: trytond_stock
-Version: %{majorver}.16
+Version: %{majorver}.17
Release: 0
Summary: The "stock" module for the Tryton ERP system
License: GPL-3.0-only
++++++ trytond_stock-6.0.16.tar.gz -> trytond_stock-6.0.17.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/trytond_stock-6.0.16/.hgtags new/trytond_stock-6.0.17/.hgtags
--- old/trytond_stock-6.0.16/.hgtags 2022-09-06 23:34:32.000000000 +0200
+++ new/trytond_stock-6.0.17/.hgtags 2022-10-17 23:54:07.000000000 +0200
@@ -40,3 +40,4 @@
3688ec9159b359be2fbb3b3de8a8fce97e9effb6 6.0.14
0dd8675f2ca761e2f461cb96ba36ec5b841404b2 6.0.15
95767dcfed28d7257ca79b81157006aa8cd78c51 6.0.16
+27b7111d95687f65648992b8c2bc09fdbc24aebe 6.0.17
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/trytond_stock-6.0.16/CHANGELOG new/trytond_stock-6.0.17/CHANGELOG
--- old/trytond_stock-6.0.16/CHANGELOG 2022-09-06 23:34:31.000000000 +0200
+++ new/trytond_stock-6.0.17/CHANGELOG 2022-10-17 23:54:07.000000000 +0200
@@ -1,3 +1,6 @@
+Version 6.0.17 - 2022-10-17
+* Bug fixes (see mercurial logs for details)
+
Version 6.0.16 - 2022-09-06
* Bug fixes (see mercurial logs for details)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/trytond_stock-6.0.16/PKG-INFO new/trytond_stock-6.0.17/PKG-INFO
--- old/trytond_stock-6.0.16/PKG-INFO 2022-09-06 23:34:33.722890100 +0200
+++ new/trytond_stock-6.0.17/PKG-INFO 2022-10-17 23:54:09.393700000 +0200
@@ -1,6 +1,6 @@
Metadata-Version: 2.1
Name: trytond_stock
-Version: 6.0.16
+Version: 6.0.17
Summary: Tryton module for stock and inventory
Home-page: http://www.tryton.org/
Download-URL: http://downloads.tryton.org/6.0/
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/trytond_stock-6.0.16/icons/tryton-shipment-in.svg new/trytond_stock-6.0.17/icons/tryton-shipment-in.svg
--- old/trytond_stock-6.0.16/icons/tryton-shipment-in.svg 2021-10-29 01:41:16.000000000 +0200
+++ new/trytond_stock-6.0.17/icons/tryton-shipment-in.svg 2022-10-12 19:42:05.000000000 +0200
@@ -1 +1 @@
-<svg xmlns="http://www.w3.org/2000/svg" height="24" viewBox="0 0 24 24" width="24" style="transform: scale(-1,1)"><path d="M0 0h24v24H0z" fill="none"/><path d="M20 8h-3V4H3c-1.1 0-2 .9-2 2v11h2c0 1.66 1.34 3 3 3s3-1.34 3-3h6c0 1.66 1.34 3 3 3s3-1.34 3-3h2v-5l-3-4zM6 18.5c-.83 0-1.5-.67-1.5-1.5s.67-1.5 1.5-1.5 1.5.67 1.5 1.5-.67 1.5-1.5 1.5zm13.5-9l1.96 2.5H17V9.5h2.5zm-1.5 9c-.83 0-1.5-.67-1.5-1.5s.67-1.5 1.5-1.5 1.5.67 1.5 1.5-.67 1.5-1.5 1.5z"/></svg>
+<svg xmlns="http://www.w3.org/2000/svg" height="24" viewBox="0 0 24 24" width="24"><path d="M0 0h24v24H0z" fill="none"/><path d="M4 8h3V4h14c1.1 0 2 .9 2 2v11h-2c0 1.66-1.34 3-3 3s-3-1.34-3-3H9c0 1.66-1.34 3-3 3s-3-1.34-3-3H1v-5zm14 10.5c.83 0 1.5-.67 1.5-1.5s-.67-1.5-1.5-1.5-1.5.67-1.5 1.5.67 1.5 1.5 1.5zm-13.5-9L2.54 12H7V9.5zm1.5 9c.83 0 1.5-.67 1.5-1.5s-.67-1.5-1.5-1.5-1.5.67-1.5 1.5.67 1.5 1.5 1.5z"/></svg>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/trytond_stock-6.0.16/move.py new/trytond_stock-6.0.17/move.py
--- old/trytond_stock-6.0.16/move.py 2022-08-29 23:35:31.000000000 +0200
+++ new/trytond_stock-6.0.17/move.py 2022-10-12 19:42:05.000000000 +0200
@@ -320,7 +320,8 @@
'from_location', 'to_location', 'company', 'currency'])
cls._deny_modify_done_cancel = (cls._deny_modify_assigned
| set(['planned_date', 'effective_date', 'state']))
- cls._allow_modify_closed_period = {'cost_price', 'unit_price'}
+ cls._allow_modify_closed_period = {
+ 'cost_price', 'unit_price', 'unit_price_updated'}
t = cls.__table__()
cls._sql_constraints += [
@@ -473,7 +474,7 @@
return True
if from_type in {'storage', 'drop'} and to_type == 'supplier':
return True
- if from_type == 'customer' and to_type == {'storage', 'drop'}:
+ if from_type == 'customer' and to_type in {'storage', 'drop'}:
return True
return False
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/trytond_stock-6.0.16/product.py new/trytond_stock-6.0.17/product.py
--- old/trytond_stock-6.0.16/product.py 2022-03-25 19:23:46.000000000 +0100
+++ new/trytond_stock-6.0.17/product.py 2022-10-05 13:20:11.000000000 +0200
@@ -861,7 +861,7 @@
& move.to_location.in_(
warehouse.select(warehouse.id))))
& ((date_column < today) & (move.state == 'done')
- | (date_column >= today)),
+ | (date_column >= today) & (move.state != 'cancelled')),
with_=warehouse))
@classmethod
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/trytond_stock-6.0.16/stock_reporting_margin.py new/trytond_stock-6.0.17/stock_reporting_margin.py
--- old/trytond_stock-6.0.16/stock_reporting_margin.py 2022-06-24 09:55:53.000000000 +0200
+++ new/trytond_stock-6.0.17/stock_reporting_margin.py 2022-10-12 19:42:05.000000000 +0200
@@ -89,7 +89,7 @@
query=Currency.currency_rate_sql())
from_item = (move
- .join(currency_rate,
+ .join(currency_rate, type_='LEFT',
condition=(move.currency == currency_rate.currency)
& (currency_rate.start_date <= move.effective_date)
& ((currency_rate.end_date == Null)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/trytond_stock-6.0.16/tryton.cfg new/trytond_stock-6.0.17/tryton.cfg
--- old/trytond_stock-6.0.16/tryton.cfg 2022-07-01 23:18:47.000000000 +0200
+++ new/trytond_stock-6.0.17/tryton.cfg 2022-09-06 23:34:44.000000000 +0200
@@ -1,5 +1,5 @@
[tryton]
-version=6.0.16
+version=6.0.17
depends:
company
currency
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/trytond_stock-6.0.16/trytond_stock.egg-info/PKG-INFO new/trytond_stock-6.0.17/trytond_stock.egg-info/PKG-INFO
--- old/trytond_stock-6.0.16/trytond_stock.egg-info/PKG-INFO 2022-09-06 23:34:32.000000000 +0200
+++ new/trytond_stock-6.0.17/trytond_stock.egg-info/PKG-INFO 2022-10-17 23:54:08.000000000 +0200
@@ -1,6 +1,6 @@
Metadata-Version: 2.1
Name: trytond-stock
-Version: 6.0.16
+Version: 6.0.17
Summary: Tryton module for stock and inventory
Home-page: http://www.tryton.org/
Download-URL: http://downloads.tryton.org/6.0/
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package trytond_purchase for openSUSE:Factory checked in at 2022-10-25 11:20:24
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/trytond_purchase (Old)
and /work/SRC/openSUSE:Factory/.trytond_purchase.new.2275 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "trytond_purchase"
Tue Oct 25 11:20:24 2022 rev:23 rq:1031038 version:6.0.9
Changes:
--------
--- /work/SRC/openSUSE:Factory/trytond_purchase/trytond_purchase.changes 2022-08-05 19:52:50.621741164 +0200
+++ /work/SRC/openSUSE:Factory/.trytond_purchase.new.2275/trytond_purchase.changes 2022-10-25 11:20:47.914241858 +0200
@@ -1,0 +2,5 @@
+Tue Oct 18 06:49:41 UTC 2022 - Axel Braun <axel.braun(a)gmx.de>
+
+- Version 6.0.9 - Bugfix Release
+
+-------------------------------------------------------------------
Old:
----
trytond_purchase-6.0.8.tar.gz
trytond_purchase-6.0.8.tar.gz.asc
New:
----
trytond_purchase-6.0.9.tar.gz
trytond_purchase-6.0.9.tar.gz.asc
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ trytond_purchase.spec ++++++
--- /var/tmp/diff_new_pack.68OkZR/_old 2022-10-25 11:20:48.346242816 +0200
+++ /var/tmp/diff_new_pack.68OkZR/_new 2022-10-25 11:20:48.354242834 +0200
@@ -17,7 +17,7 @@
%define majorver 6.0
Name: trytond_purchase
-Version: %{majorver}.8
+Version: %{majorver}.9
Release: 0
Summary: The "purchase" module for the Tryton ERP system
License: GPL-3.0
++++++ trytond_purchase-6.0.8.tar.gz -> trytond_purchase-6.0.9.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/trytond_purchase-6.0.8/.hgtags new/trytond_purchase-6.0.9/.hgtags
--- old/trytond_purchase-6.0.8/.hgtags 2022-08-03 23:52:46.000000000 +0200
+++ new/trytond_purchase-6.0.9/.hgtags 2022-10-17 23:59:40.000000000 +0200
@@ -32,3 +32,4 @@
c517d4067ca5cef9b6eb07e6de4e466eae69b95c 6.0.6
a0051c17a0717756b5607b9b0bf4947bc590c924 6.0.7
71321aef73ceef792e178a8071ae6605615b7cfe 6.0.8
+1b10f0afea95bcd6b97b0548b9b2dac130a1163e 6.0.9
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/trytond_purchase-6.0.8/CHANGELOG new/trytond_purchase-6.0.9/CHANGELOG
--- old/trytond_purchase-6.0.8/CHANGELOG 2022-08-03 23:52:45.000000000 +0200
+++ new/trytond_purchase-6.0.9/CHANGELOG 2022-10-17 23:59:39.000000000 +0200
@@ -1,3 +1,6 @@
+Version 6.0.9 - 2022-10-17
+* Bug fixes (see mercurial logs for details)
+
Version 6.0.8 - 2022-08-03
* Bug fixes (see mercurial logs for details)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/trytond_purchase-6.0.8/PKG-INFO new/trytond_purchase-6.0.9/PKG-INFO
--- old/trytond_purchase-6.0.8/PKG-INFO 2022-08-03 23:52:51.862031700 +0200
+++ new/trytond_purchase-6.0.9/PKG-INFO 2022-10-17 23:59:41.801936900 +0200
@@ -1,6 +1,6 @@
Metadata-Version: 2.1
Name: trytond_purchase
-Version: 6.0.8
+Version: 6.0.9
Summary: Tryton module for purchase
Home-page: http://www.tryton.org/
Download-URL: http://downloads.tryton.org/6.0/
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/trytond_purchase-6.0.8/purchase.py new/trytond_purchase-6.0.9/purchase.py
--- old/trytond_purchase-6.0.8/purchase.py 2022-07-17 00:02:38.000000000 +0200
+++ new/trytond_purchase-6.0.9/purchase.py 2022-10-12 19:41:46.000000000 +0200
@@ -706,12 +706,9 @@
if Transaction().context.get('modify_header'):
attributes.extend([
('//group[@id="states"]', 'states', {'invisible': True}),
- ('//group[@id="amount_buttons"]',
- 'states', {'invisible': True}),
- ('//page[@name="invoices"]',
- 'states', {'invisible': True}),
- ('//page[@name="shipments"]',
- 'states', {'invisible': True}),
+ ('//group[@id="amount"]', 'states', {'invisible': True}),
+ ('//group[@id="links"]', 'states', {'invisible': True}),
+ ('//group[@id="buttons"]', 'states', {'invisible': True}),
])
return attributes
@@ -891,6 +888,17 @@
purchase=purchase.rec_name))
super(Purchase, cls).delete(purchases)
+ def on_change(self, fieldnames):
+ pool = Pool()
+ ModelData = pool.get('ir.model.data')
+ context = Transaction().context
+ wizard_modify_header_id = ModelData.get_id(
+ 'purchase', 'wizard_modify_header')
+ if (len(fieldnames) > 1
+ and context.get('action_id') == wizard_modify_header_id):
+ return []
+ return super().on_change(fieldnames)
+
@classmethod
@ModelView.button
@Workflow.transition('cancelled')
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/trytond_purchase-6.0.8/tryton.cfg new/trytond_purchase-6.0.9/tryton.cfg
--- old/trytond_purchase-6.0.8/tryton.cfg 2022-06-03 19:21:29.000000000 +0200
+++ new/trytond_purchase-6.0.9/tryton.cfg 2022-08-03 23:53:09.000000000 +0200
@@ -1,5 +1,5 @@
[tryton]
-version=6.0.8
+version=6.0.9
depends:
account
account_invoice
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/trytond_purchase-6.0.8/trytond_purchase.egg-info/PKG-INFO new/trytond_purchase-6.0.9/trytond_purchase.egg-info/PKG-INFO
--- old/trytond_purchase-6.0.8/trytond_purchase.egg-info/PKG-INFO 2022-08-03 23:52:50.000000000 +0200
+++ new/trytond_purchase-6.0.9/trytond_purchase.egg-info/PKG-INFO 2022-10-17 23:59:41.000000000 +0200
@@ -1,6 +1,6 @@
Metadata-Version: 2.1
Name: trytond-purchase
-Version: 6.0.8
+Version: 6.0.9
Summary: Tryton module for purchase
Home-page: http://www.tryton.org/
Download-URL: http://downloads.tryton.org/6.0/
++++++ trytond_purchase.keyring ++++++
--- /var/tmp/diff_new_pack.68OkZR/_old 2022-10-25 11:20:48.502243162 +0200
+++ /var/tmp/diff_new_pack.68OkZR/_new 2022-10-25 11:20:48.506243170 +0200
@@ -14,124 +14,124 @@
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
-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
+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
-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
+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
-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
-Ccrl4p6GykuYzR5Rvxbg0XRoY0uoTQPhMQbBMBqF+ELMDeXvJdpDZfrIbNGbGKts
-Rsizp03ixISq6tp2OaHaYE0ZUDCwGkMMGzxTrOtA4qw0k29HEWs8B+sII99fU52n
-dGT2y7uCZv572GcDdJ37SWiARK27qV0Hl3LM2OpR/6Y3dY2Xd7Wx2pcXkRk+xbAI
-hlMsPLgQr+KWaWBQnhiT2q99AegLda4zzfOPx1OYwHkdybUexJTDiy8KlgIQ75j1
-pkLeTKfu7MNZmZel7cxoDtuJUCPEbaARIdVrDK43L57uf+5kjtcHc+PplGMbCH8U
-O8hj3o7LzHTfDPkxqfVhj8CmYvK8WrHwYwqiRq3VzQVGb8Op4cTDMWv0+a8Ix4KX
-orUcU+hBFao4TfgiXnaKqkVcjpJ7CxXSw1vIIyjDTG8/MkSYoJAox4j6DYYTkNKG
-ohPCXrIyd1o/gG7voe3P6yHQiLJpA0dO5X/EeykYktRqaMyDXDU7L5gLmgO0HEPD
+AgEAAh4BAheAFiEEfFpDYPbfgaupH9VNb/UK/gNIkTAFAmGZE+gFCRFbFGwACgkQ
+b/UK/gNIkTC+fhAAsLgQmprtG3LuKZeOCNAIy+yivfFtYrWQFoOKmFRdH93GVGkO
+10jbuZOzr4iLyAaV04TvPOVGP2xmBPr1L+XLon6Y5f5sF9qSc4LvyJb2WwjLz+Na
+OeB0B/IM7l3/Y0lYsonwZ1u/D61GeA6rRGDbuWGDIek+x24E7g2GJMW9K3VdS0BR
+WqQ3V5aeq1H9eGBtLukmyyqTvWqvlTaIPsTuaAN7LTlCbZCGrUvZIQnxOHqVsYg1
+NFtOjcYTTVsRCS0tTbsHLryzoJxYT71LoXEcP7qgSxYXHTxWlyGNxjBVFRbwIhF/
+czJQm7tTpg9sS00FDWocOQKJ5otqwSMzVOBBBKYE1mYhWLaiO8Vxjjs2AHPchcdP
+QyZ9jnh6QpFogsCkyXamDq27LyATtnkNQj6A0OmldmtJY/fsSAUWiFd1lkw4oQA9
+Y184ubBVRf61lce/YNh+iq3KEYW2lnz+86ZNVOkmwz++BwMkeoSCCv4rZvaQD6f0
+4xMyetLjxL11x6Cctp3bR1KKFf7IRnSiPn0WpLhi0sLn7+ZKZ9zdNFoWM1tdHXsT
+2+eT9bHq2PJgfha/7krqCyCWsgppDe4cFHHUqy+XlhYRj3Nc/Wu1rLXbfHFZ2ZjP
+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
-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
+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
-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
+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
-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
+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
-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
+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
-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
+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
@@ -142,178 +142,45 @@
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
-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
-zSbRs7nlht45Bqpc9qfCy6ZAhMXioV9dPNS5Ks7ptlXI/KPnzQjXIstXNokC5QQY
-AQgADwUCVOCIEQIbAgUJAeEzgADKCRBv9Qr+A0iRML8gBBkRCABmBQJU4IgRXxSA
-AAAAAC4AKGlzc3Vlci1mcHJAbm90YXRpb25zLm9wZW5wZ3AuZmlmdGhob3JzZW1h
-bi5uZXQ2NjkwRjMzNkFGOEVCMUNBMEU4RjQ5MzJEQTYyQzFGQjRDNUEyODU1AAoJ
-ENpiwftMWihVypABAPqcuF+W4D+kJu9hfw0iSEe/mKPBb+psiu6sc+DUO1pdAP9o
-IICFihOdlol3DJtdLbXP+CpEF7LxkSjnKUYyoM8hyLS1D/0elCJIOD7JU5k3mDQI
-H7HyhPYANC9MG4Y4fbB8/P+LCshbPVhmk54FSLDuysSdwJPQKs623uMcZmuLS6gQ
-ULFVntV44Gd/AwyFeeIFyylUHDAD52s5ZGG7gQVp69jYWOX8uXKCeedJz0+DUarw
-w7OX42QYZ+BPY3lAfqxjeEsTUMM4KjHXPOpVygpKzCuE0gbBVlpLS0kTcPLbHW1W
-Qp66OAvMx3oEYvYmUNPFkI1vhmmFhpg7uxSTx6dM25H1KHmgKCJTx7oHwUxCvYqV
-DItQaaT2uCWasPx8OB7j5FxIG89+hoVKPo3gSWrX37cqLOHDod2e9XM6cNrSyOk/
-OiThb2gSc8A4f0JxdlW1VXbpZj6eBdA4teLSqPWzbJPy00REbh2WOqMqRgmMPle9
-rhbDAPfOeLJ1yk0vS57nrCW9oy73Ftrprmd6eEJKX/UPt1hwJdqWISSosyJrCR9u
-CnqXcrZkTq0cSfAYwzP/KLHHbwUG+OZ5VrB8ryfI/SXTvfeF5ZGyXfkziSdL7pcv
-+k7K62hrok+F7Asz4bMO3dAmuAMX+RJGve7JLRAWYo/cDHfeWrbmE/aamBAGr+hH
-V7HoSlziWIPtWihqNSNBOrlVQGFvLp4taHfgYCO8EIBfWN6DiLSK3BEyx+k8t/hF
-MZG8xDK+qz1tlkYak0IEzHg+47kDLgRWviSIEQgA/TRS8Ajg/OqhxyG5O23bSIQ3
-XIH8eoXMzqRKXb4S/9dUUhrsZWNHWRH+E1Z6OQNHSPaisnEbhZogcEzhEF154ZAy
-EPKU7xWthXWC7cy3+bZFmQofyOLOb0tMl04oa+aacVOFQKTJFmvzswbqoL/9cF2O
-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
-=wmme
+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
+o6gpfk7rYtA=
+=Wn5f
-----END PGP PUBLIC KEY BLOCK-----
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package trytond for openSUSE:Factory checked in at 2022-10-25 11:20:22
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/trytond (Old)
and /work/SRC/openSUSE:Factory/.trytond.new.2275 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "trytond"
Tue Oct 25 11:20:22 2022 rev:73 rq:1031037 version:6.0.22
Changes:
--------
--- /work/SRC/openSUSE:Factory/trytond/trytond.changes 2022-08-18 16:49:42.397521269 +0200
+++ /work/SRC/openSUSE:Factory/.trytond.new.2275/trytond.changes 2022-10-25 11:20:46.818239430 +0200
@@ -1,0 +2,10 @@
+Tue Oct 18 06:49:59 UTC 2022 - Axel Braun <axel.braun(a)gmx.de>
+
+- Version 6.0.22 - Bugfix Release
+
+-------------------------------------------------------------------
+Wed Oct 12 10:39:49 UTC 2022 - Axel Braun <axel.braun(a)gmx.de>
+
+- dependency on graphviz added
+
+-------------------------------------------------------------------
Old:
----
trytond-6.0.21.tar.gz
trytond-6.0.21.tar.gz.asc
New:
----
trytond-6.0.22.tar.gz
trytond-6.0.22.tar.gz.asc
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ trytond.spec ++++++
--- /var/tmp/diff_new_pack.ODZU3A/_old 2022-10-25 11:20:47.370240654 +0200
+++ /var/tmp/diff_new_pack.ODZU3A/_new 2022-10-25 11:20:47.378240671 +0200
@@ -20,7 +20,7 @@
%define majorver 6.0
%define base_name tryton
Name: trytond
-Version: %{majorver}.21
+Version: %{majorver}.22
Release: 0
Summary: An Enterprise Resource Planning (ERP) system
License: GPL-3.0-or-later
@@ -45,6 +45,7 @@
BuildRequires: python3-setuptools
BuildRequires: python3-wrapt
+Requires: graphviz
Requires: html2text
Requires: libreoffice-pyuno
Requires: python3-Genshi
++++++ tryton-server.README.openSUSE ++++++
--- /var/tmp/diff_new_pack.ODZU3A/_old 2022-10-25 11:20:47.454240839 +0200
+++ /var/tmp/diff_new_pack.ODZU3A/_new 2022-10-25 11:20:47.458240849 +0200
@@ -173,7 +173,7 @@
As result you will have a bare Tryton database with the base modules installed.
-See: http://doc.tryton.org/4.2/trytond/doc/topics/configuration.html
+See: https://docs.tryton.org/projects/server/en/latest/topics/configuration.html…
Installation of the Webfrontend for tryton (sao) from source
------------------------------------------------------------
++++++ trytond-6.0.21.tar.gz -> trytond-6.0.22.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/trytond-6.0.21/.hgtags new/trytond-6.0.22/.hgtags
--- old/trytond-6.0.21/.hgtags 2022-08-17 23:30:27.000000000 +0200
+++ new/trytond-6.0.22/.hgtags 2022-10-17 23:36:12.000000000 +0200
@@ -45,3 +45,4 @@
2973349bc8ca02dc5aba4fbf6a2e4ba270af9780 6.0.19
9d5f5e04e2b0105bf4ca644bf98811d267054514 6.0.20
221212011e95b8004c93ec76d21f5ffa12e866ee 6.0.21
+3ff41e43408ddccd4ce91170b6536a2f5cd0112b 6.0.22
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/trytond-6.0.21/CHANGELOG new/trytond-6.0.22/CHANGELOG
--- old/trytond-6.0.21/CHANGELOG 2022-08-17 23:30:26.000000000 +0200
+++ new/trytond-6.0.22/CHANGELOG 2022-10-17 23:36:11.000000000 +0200
@@ -1,3 +1,6 @@
+Version 6.0.22 - 2022-10-17
+* Bug fixes (see mercurial logs for details)
+
Version 6.0.21 - 2022-08-17
* Bug fixes (see mercurial logs for details)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/trytond-6.0.21/PKG-INFO new/trytond-6.0.22/PKG-INFO
--- old/trytond-6.0.21/PKG-INFO 2022-08-17 23:30:29.119511600 +0200
+++ new/trytond-6.0.22/PKG-INFO 2022-10-17 23:36:14.451380700 +0200
@@ -1,6 +1,6 @@
Metadata-Version: 2.1
Name: trytond
-Version: 6.0.21
+Version: 6.0.22
Summary: Tryton server
Home-page: http://www.tryton.org/
Download-URL: http://downloads.tryton.org/6.0/
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/trytond-6.0.21/trytond/__init__.py new/trytond-6.0.22/trytond/__init__.py
--- old/trytond-6.0.21/trytond/__init__.py 2022-07-01 23:06:25.000000000 +0200
+++ new/trytond-6.0.22/trytond/__init__.py 2022-08-17 23:30:42.000000000 +0200
@@ -7,7 +7,7 @@
from lxml import etree, objectify
-__version__ = "6.0.21"
+__version__ = "6.0.22"
os.environ['TZ'] = 'UTC'
if hasattr(time, 'tzset'):
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/trytond-6.0.21/trytond/cache.py new/trytond-6.0.22/trytond/cache.py
--- old/trytond-6.0.21/trytond/cache.py 2022-04-14 23:25:02.000000000 +0200
+++ new/trytond-6.0.22/trytond/cache.py 2022-09-29 16:53:09.000000000 +0200
@@ -347,15 +347,18 @@
@classmethod
def _listen(cls, dbname):
- database = backend.Database(dbname)
- if not database.has_channel():
- raise NotImplementedError
-
- logger.info("listening on channel '%s' of '%s'", cls._channel, dbname)
- conn = database.get_connection(autocommit=True)
- pid = os.getpid()
current_thread = threading.current_thread()
+ pid = os.getpid()
+ conn = None
try:
+ database = backend.Database(dbname)
+ if not database.has_channel():
+ raise NotImplementedError
+
+ logger.info(
+ "listening on channel '%s' of '%s'", cls._channel, dbname)
+ conn = database.get_connection(autocommit=True)
+
cursor = conn.cursor()
cursor.execute('LISTEN "%s"' % cls._channel)
current_thread.listening = True
@@ -381,7 +384,8 @@
"cache listener on '%s' crashed", dbname, exc_info=True)
raise
finally:
- database.put_connection(conn)
+ if conn:
+ database.put_connection(conn)
with cls._listener_lock[pid]:
if cls._listener.get((pid, dbname)) == current_thread:
del cls._listener[pid, dbname]
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/trytond-6.0.21/trytond/model/fields/function.py new/trytond-6.0.22/trytond/model/fields/function.py
--- old/trytond-6.0.21/trytond/model/fields/function.py 2022-04-14 23:25:02.000000000 +0200
+++ new/trytond-6.0.22/trytond/model/fields/function.py 2022-10-12 19:40:58.000000000 +0200
@@ -153,6 +153,18 @@
return 'names' in signature.parameters
+for name in [
+ 'string', 'help', 'domain', 'states', 'depends', 'display_depends',
+ 'edition_depends', 'validation_depends', 'context']:
+ def getter(name):
+ return lambda self: getattr(self._field, name)
+
+ def setter(name):
+ return lambda self, value: setattr(self._field, name, value)
+
+ setattr(Function, name, property(getter(name), setter(name)))
+
+
class MultiValue(Function):
def __init__(self, field, loading='lazy'):
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/trytond-6.0.21/trytond/tests/test_cache.py new/trytond-6.0.22/trytond/tests/test_cache.py
--- old/trytond-6.0.21/trytond/tests/test_cache.py 2022-04-14 23:25:02.000000000 +0200
+++ new/trytond-6.0.22/trytond/tests/test_cache.py 2022-09-29 16:53:09.000000000 +0200
@@ -225,6 +225,10 @@
class LRUDictTransactionTestCase(unittest.TestCase):
"Test LRUDictTransaction"
+ @classmethod
+ def setUpClass(cls):
+ activate_module('tests')
+
@with_transaction()
def test_init(self):
"Test init set to transaction counter"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/trytond-6.0.21/trytond/wizard/wizard.py new/trytond-6.0.22/trytond/wizard/wizard.py
--- old/trytond-6.0.21/trytond/wizard/wizard.py 2022-04-14 23:25:02.000000000 +0200
+++ new/trytond-6.0.22/trytond/wizard/wizard.py 2022-09-29 16:53:09.000000000 +0200
@@ -97,13 +97,12 @@
if '.' in field_name:
continue
field = Model_._fields[field_name]
- field_rec_name = field_name + '.rec_name'
- if (value
- and field._type == 'many2one'
- and field_rec_name not in defaults):
+ if value and field._type == 'many2one':
Target = pool.get(field.model_name)
if 'rec_name' in Target._fields:
- defaults[field_rec_name] = Target(value).rec_name
+ defaults.setdefault(
+ field_name + '.', {})['rec_name'] = Target(
+ value).rec_name
return defaults
def get_buttons(self, wizard, state_name):
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/trytond-6.0.21/trytond.egg-info/PKG-INFO new/trytond-6.0.22/trytond.egg-info/PKG-INFO
--- old/trytond-6.0.21/trytond.egg-info/PKG-INFO 2022-08-17 23:30:28.000000000 +0200
+++ new/trytond-6.0.22/trytond.egg-info/PKG-INFO 2022-10-17 23:36:13.000000000 +0200
@@ -1,6 +1,6 @@
Metadata-Version: 2.1
Name: trytond
-Version: 6.0.21
+Version: 6.0.22
Summary: Tryton server
Home-page: http://www.tryton.org/
Download-URL: http://downloads.tryton.org/6.0/
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package tryton for openSUSE:Factory checked in at 2022-10-25 11:20:21
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/tryton (Old)
and /work/SRC/openSUSE:Factory/.tryton.new.2275 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "tryton"
Tue Oct 25 11:20:21 2022 rev:7 rq:1031036 version:6.0.19
Changes:
--------
--- /work/SRC/openSUSE:Factory/tryton/tryton.changes 2022-09-08 14:24:03.418724715 +0200
+++ /work/SRC/openSUSE:Factory/.tryton.new.2275/tryton.changes 2022-10-25 11:20:45.614236761 +0200
@@ -1,0 +2,5 @@
+Tue Oct 18 06:50:12 UTC 2022 - Axel Braun <axel.braun(a)gmx.de>
+
+- Version 6.0.19 - Bugfix Release
+
+-------------------------------------------------------------------
Old:
----
tryton-6.0.18.tar.gz
New:
----
tryton-6.0.19.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ tryton.spec ++++++
--- /var/tmp/diff_new_pack.0afvn6/_old 2022-10-25 11:20:46.066237763 +0200
+++ /var/tmp/diff_new_pack.0afvn6/_new 2022-10-25 11:20:46.070237772 +0200
@@ -19,7 +19,7 @@
%define majorver 6.0
Name: tryton
-Version: %{majorver}.18
+Version: %{majorver}.19
Release: 0
Summary: The client of the Tryton application platform
License: GPL-3.0-or-later
++++++ tryton-6.0.18.tar.gz -> tryton-6.0.19.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tryton-6.0.18/.hgtags new/tryton-6.0.19/.hgtags
--- old/tryton-6.0.18/.hgtags 2022-09-06 23:27:42.000000000 +0200
+++ new/tryton-6.0.19/.hgtags 2022-10-17 23:40:06.000000000 +0200
@@ -42,3 +42,4 @@
d1f3f6a0d5722332cddd2cb0837a266e5f5a1881 6.0.16
dd458525c9d4c92eca991b832f06ec46a639c3a4 6.0.17
40c3f7f6d487197698ac644ef28fa09dbce7e46a 6.0.18
+bd7b3f9a3c2f9cda09c2d5f89ed1c1f92dd78ff3 6.0.19
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tryton-6.0.18/CHANGELOG new/tryton-6.0.19/CHANGELOG
--- old/tryton-6.0.18/CHANGELOG 2022-09-06 23:27:41.000000000 +0200
+++ new/tryton-6.0.19/CHANGELOG 2022-10-17 23:40:05.000000000 +0200
@@ -1,3 +1,6 @@
+Version 6.0.19 - 2022-10-17
+* Bug fixes (see mercurial logs for details)
+
Version 6.0.18 - 2022-09-06
* Bug fixes (see mercurial logs for details)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tryton-6.0.18/PKG-INFO new/tryton-6.0.19/PKG-INFO
--- old/tryton-6.0.18/PKG-INFO 2022-09-06 23:27:44.124251000 +0200
+++ new/tryton-6.0.19/PKG-INFO 2022-10-17 23:40:07.634959200 +0200
@@ -1,6 +1,6 @@
Metadata-Version: 2.1
Name: tryton
-Version: 6.0.18
+Version: 6.0.19
Summary: Tryton desktop client
Home-page: http://www.tryton.org/
Download-URL: http://downloads.tryton.org/6.0/
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tryton-6.0.18/tryton/__init__.py new/tryton-6.0.19/tryton/__init__.py
--- old/tryton-6.0.18/tryton/__init__.py 2022-08-17 23:38:54.000000000 +0200
+++ new/tryton-6.0.19/tryton/__init__.py 2022-09-06 23:27:56.000000000 +0200
@@ -1,6 +1,6 @@
# This file is part of Tryton. The COPYRIGHT file at the top level of
# this repository contains the full copyright notices and license terms.
-__version__ = "6.0.18"
+__version__ = "6.0.19"
import gi
import locale
Binary files old/tryton-6.0.18/tryton/data/locale/bg/LC_MESSAGES/tryton.mo and new/tryton-6.0.19/tryton/data/locale/bg/LC_MESSAGES/tryton.mo differ
Binary files old/tryton-6.0.18/tryton/data/locale/ca/LC_MESSAGES/tryton.mo and new/tryton-6.0.19/tryton/data/locale/ca/LC_MESSAGES/tryton.mo differ
Binary files old/tryton-6.0.18/tryton/data/locale/cs/LC_MESSAGES/tryton.mo and new/tryton-6.0.19/tryton/data/locale/cs/LC_MESSAGES/tryton.mo differ
Binary files old/tryton-6.0.18/tryton/data/locale/de/LC_MESSAGES/tryton.mo and new/tryton-6.0.19/tryton/data/locale/de/LC_MESSAGES/tryton.mo differ
Binary files old/tryton-6.0.18/tryton/data/locale/es/LC_MESSAGES/tryton.mo and new/tryton-6.0.19/tryton/data/locale/es/LC_MESSAGES/tryton.mo differ
Binary files old/tryton-6.0.18/tryton/data/locale/es_419/LC_MESSAGES/tryton.mo and new/tryton-6.0.19/tryton/data/locale/es_419/LC_MESSAGES/tryton.mo differ
Binary files old/tryton-6.0.18/tryton/data/locale/et/LC_MESSAGES/tryton.mo and new/tryton-6.0.19/tryton/data/locale/et/LC_MESSAGES/tryton.mo differ
Binary files old/tryton-6.0.18/tryton/data/locale/fa/LC_MESSAGES/tryton.mo and new/tryton-6.0.19/tryton/data/locale/fa/LC_MESSAGES/tryton.mo differ
Binary files old/tryton-6.0.18/tryton/data/locale/fi/LC_MESSAGES/tryton.mo and new/tryton-6.0.19/tryton/data/locale/fi/LC_MESSAGES/tryton.mo differ
Binary files old/tryton-6.0.18/tryton/data/locale/fr/LC_MESSAGES/tryton.mo and new/tryton-6.0.19/tryton/data/locale/fr/LC_MESSAGES/tryton.mo differ
Binary files old/tryton-6.0.18/tryton/data/locale/hu/LC_MESSAGES/tryton.mo and new/tryton-6.0.19/tryton/data/locale/hu/LC_MESSAGES/tryton.mo differ
Binary files old/tryton-6.0.18/tryton/data/locale/id/LC_MESSAGES/tryton.mo and new/tryton-6.0.19/tryton/data/locale/id/LC_MESSAGES/tryton.mo differ
Binary files old/tryton-6.0.18/tryton/data/locale/it/LC_MESSAGES/tryton.mo and new/tryton-6.0.19/tryton/data/locale/it/LC_MESSAGES/tryton.mo differ
Binary files old/tryton-6.0.18/tryton/data/locale/ja_JP/LC_MESSAGES/tryton.mo and new/tryton-6.0.19/tryton/data/locale/ja_JP/LC_MESSAGES/tryton.mo differ
Binary files old/tryton-6.0.18/tryton/data/locale/lo/LC_MESSAGES/tryton.mo and new/tryton-6.0.19/tryton/data/locale/lo/LC_MESSAGES/tryton.mo differ
Binary files old/tryton-6.0.18/tryton/data/locale/lt/LC_MESSAGES/tryton.mo and new/tryton-6.0.19/tryton/data/locale/lt/LC_MESSAGES/tryton.mo differ
Binary files old/tryton-6.0.18/tryton/data/locale/nl/LC_MESSAGES/tryton.mo and new/tryton-6.0.19/tryton/data/locale/nl/LC_MESSAGES/tryton.mo differ
Binary files old/tryton-6.0.18/tryton/data/locale/pl/LC_MESSAGES/tryton.mo and new/tryton-6.0.19/tryton/data/locale/pl/LC_MESSAGES/tryton.mo differ
Binary files old/tryton-6.0.18/tryton/data/locale/pt/LC_MESSAGES/tryton.mo and new/tryton-6.0.19/tryton/data/locale/pt/LC_MESSAGES/tryton.mo differ
Binary files old/tryton-6.0.18/tryton/data/locale/ro/LC_MESSAGES/tryton.mo and new/tryton-6.0.19/tryton/data/locale/ro/LC_MESSAGES/tryton.mo differ
Binary files old/tryton-6.0.18/tryton/data/locale/ru/LC_MESSAGES/tryton.mo and new/tryton-6.0.19/tryton/data/locale/ru/LC_MESSAGES/tryton.mo differ
Binary files old/tryton-6.0.18/tryton/data/locale/sl/LC_MESSAGES/tryton.mo and new/tryton-6.0.19/tryton/data/locale/sl/LC_MESSAGES/tryton.mo differ
Binary files old/tryton-6.0.18/tryton/data/locale/tr/LC_MESSAGES/tryton.mo and new/tryton-6.0.19/tryton/data/locale/tr/LC_MESSAGES/tryton.mo differ
Binary files old/tryton-6.0.18/tryton/data/locale/zh_CN/LC_MESSAGES/tryton.mo and new/tryton-6.0.19/tryton/data/locale/zh_CN/LC_MESSAGES/tryton.mo differ
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tryton-6.0.18/tryton/gui/window/view_form/view/form_gtk/calendar_.py new/tryton-6.0.19/tryton/gui/window/view_form/view/form_gtk/calendar_.py
--- old/tryton-6.0.18/tryton/gui/window/view_form/view/form_gtk/calendar_.py 2021-11-02 18:52:43.000000000 +0100
+++ new/tryton-6.0.19/tryton/gui/window/view_form/view/form_gtk/calendar_.py 2022-10-12 19:40:57.000000000 +0200
@@ -14,6 +14,7 @@
class Date(Widget):
+ _changed_signal = 'date-changed'
def __init__(self, view, attrs, _entry=DateEntry):
super(Date, self).__init__(view, attrs)
@@ -24,8 +25,7 @@
self.real_entry.connect('key_press_event', self.sig_key_press)
self.real_entry.connect('activate', self.sig_activate)
self.real_entry.connect('changed', lambda _: self.send_modified())
- self.real_entry.connect('focus-out-event',
- lambda x, y: self._focus_out())
+ self.entry.connect(self._changed_signal, self.changed)
self.widget.pack_start(self.entry, expand=False, fill=False, padding=0)
@property
@@ -52,6 +52,13 @@
return field_value != self.get_value()
return False
+ def changed(self, widget):
+ def focus_out():
+ if widget.props.window:
+ self._focus_out()
+ # Must be deferred because it triggers a display of the form
+ GLib.idle_add(focus_out)
+
def sig_key_press(self, widget, event):
self.send_modified()
@@ -81,9 +88,10 @@
class Time(Date):
+ _changed_signal = 'time-changed'
+
def __init__(self, view, attrs):
super(Time, self).__init__(view, attrs, _entry=TimeEntry)
- self.entry.connect('time-changed', self.changed)
def _set_editable(self, value):
self.entry.set_sensitive(value)
@@ -108,17 +116,10 @@
format_ = '%X'
self.entry.props.format = format_
- def changed(self, combobox):
- def focus_out():
- if combobox.props.window:
- self._focus_out()
- # Only when changed from pop list
- if not combobox.get_child().has_focus():
- # Must be deferred because it triggers a display of the form
- GLib.idle_add(focus_out)
-
class DateTime(Date):
+ _changed_signal = 'datetime-changed'
+
def __init__(self, view, attrs):
Widget.__init__(self, view, attrs)
@@ -132,7 +133,6 @@
child.connect('key_press_event', self.sig_key_press)
child.connect('activate', self.sig_activate)
child.connect('changed', lambda _: self.send_modified())
- child.connect('focus-out-event', lambda x, y: self._focus_out())
self.widget.pack_start(self.entry, expand=False, fill=False, padding=0)
@classmethod
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tryton-6.0.18/tryton/gui/window/view_form/view/list_gtk/widget.py new/tryton-6.0.19/tryton/gui/window/view_form/view/list_gtk/widget.py
--- old/tryton-6.0.18/tryton/gui/window/view_form/view/list_gtk/widget.py 2022-08-13 19:00:08.000000000 +0200
+++ new/tryton-6.0.19/tryton/gui/window/view_form/view/list_gtk/widget.py 2022-09-29 16:53:09.000000000 +0200
@@ -1303,11 +1303,17 @@
store = self.view.treeview.get_model()
record = store.get_value(store.get_iter(path), 0)
+ if self.view.record and self.view.record != record:
+ widget.stop_emission_by_name('clicked')
+ return True
+
state_changes = record.expr_eval(
self.attrs.get('states', {}))
if state_changes.get('invisible') \
or state_changes.get('readonly'):
return True
+
+ self.view.treeview.set_cursor(path)
widget.handler_block_by_func(self.button_clicked)
try:
self.view.screen.button(self.attrs)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/tryton-6.0.18/tryton.egg-info/PKG-INFO new/tryton-6.0.19/tryton.egg-info/PKG-INFO
--- old/tryton-6.0.18/tryton.egg-info/PKG-INFO 2022-09-06 23:27:43.000000000 +0200
+++ new/tryton-6.0.19/tryton.egg-info/PKG-INFO 2022-10-17 23:40:06.000000000 +0200
@@ -1,6 +1,6 @@
Metadata-Version: 2.1
Name: tryton
-Version: 6.0.18
+Version: 6.0.19
Summary: Tryton desktop client
Home-page: http://www.tryton.org/
Download-URL: http://downloads.tryton.org/6.0/
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package maildir-utils for openSUSE:Factory checked in at 2022-10-25 11:20:20
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/maildir-utils (Old)
and /work/SRC/openSUSE:Factory/.maildir-utils.new.2275 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "maildir-utils"
Tue Oct 25 11:20:20 2022 rev:37 rq:1031034 version:1.8.11
Changes:
--------
--- /work/SRC/openSUSE:Factory/maildir-utils/maildir-utils.changes 2022-09-15 22:59:56.413342414 +0200
+++ /work/SRC/openSUSE:Factory/.maildir-utils.new.2275/maildir-utils.changes 2022-10-25 11:20:44.718234775 +0200
@@ -1,0 +2,11 @@
+Tue Oct 25 06:47:09 UTC 2022 - Michael Vetter <mvetter(a)suse.com>
+
+- Update to 1.8.11:
+ * Use fake message-ids when empty
+ * Add explicit check for charconv header
+ * Fix outdated doc for mime part actions
+ * mu-view: be clearer when no text-body found
+ * Fix mu4e-header-thread-first-child-prefix copy-pasta
+ * Ensure mime-parts are utf8
+
+-------------------------------------------------------------------
Old:
----
mu-1.8.10.tar.xz
New:
----
mu-1.8.11.tar.xz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ maildir-utils.spec ++++++
--- /var/tmp/diff_new_pack.YbVdrE/_old 2022-10-25 11:20:45.206235857 +0200
+++ /var/tmp/diff_new_pack.YbVdrE/_new 2022-10-25 11:20:45.214235874 +0200
@@ -17,7 +17,7 @@
Name: maildir-utils
-Version: 1.8.10
+Version: 1.8.11
Release: 0
Summary: Maildir indexer and searcher
License: GPL-3.0-or-later
++++++ mu-1.8.10.tar.xz -> mu-1.8.11.tar.xz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/mu-1.8.10/configure.ac new/mu-1.8.11/configure.ac
--- old/mu-1.8.10/configure.ac 2022-09-14 22:34:44.000000000 +0200
+++ new/mu-1.8.11/configure.ac 2022-10-24 22:19:15.000000000 +0200
@@ -15,7 +15,7 @@
## Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
AC_PREREQ([2.68])
-AC_INIT([mu],[1.8.10],[https://github.com/djcb/mu/issues],[mu])
+AC_INIT([mu],[1.8.11],[https://github.com/djcb/mu/issues],[mu])
AC_COPYRIGHT([Copyright (C) 2008-2022 Dirk-Jan C. Binnema])
AC_CONFIG_HEADERS([config.h])
AC_CONFIG_SRCDIR([mu/mu.cc])
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/mu-1.8.10/lib/message/mu-fields.cc new/mu-1.8.11/lib/message/mu-fields.cc
--- old/mu-1.8.10/lib/message/mu-fields.cc 2022-09-14 22:34:44.000000000 +0200
+++ new/mu-1.8.11/lib/message/mu-fields.cc 2022-10-24 22:19:15.000000000 +0200
@@ -105,7 +105,7 @@
++flagnum;
if (flagnum > 1) {
- //g_warning("invalid field %*s", STR_V(field.name));
+ //g_warning("invalid field %*.s", STR_V(field.name));
return false;
}
}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/mu-1.8.10/lib/message/mu-message.cc new/mu-1.8.11/lib/message/mu-message.cc
--- old/mu-1.8.10/lib/message/mu-message.cc 2022-09-14 22:34:44.000000000 +0200
+++ new/mu-1.8.11/lib/message/mu-message.cc 2022-10-24 22:19:15.000000000 +0200
@@ -638,7 +638,10 @@
const auto path{doc.string_value(Field::Id::Path)};
const auto refs{mime_msg.references()};
- const auto message_id{mime_msg.message_id().value_or(fake_message_id(path))};
+ const auto& raw_message_id = mime_msg.message_id();
+ const auto message_id = raw_message_id.has_value() && !raw_message_id->empty()
+ ? *raw_message_id
+ : fake_message_id(path);
process_message(mime_msg, path, priv);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/mu-1.8.10/lib/message/mu-mime-object.cc new/mu-1.8.11/lib/message/mu-mime-object.cc
--- old/mu-1.8.10/lib/message/mu-mime-object.cc 2022-09-14 22:34:44.000000000 +0200
+++ new/mu-1.8.11/lib/message/mu-mime-object.cc 2022-10-24 22:19:15.000000000 +0200
@@ -477,10 +477,22 @@
return static_cast<size_t>(g_mime_stream_length(stream));
}
-
Option<std::string>
MimePart::to_string() const noexcept
{
+ /*
+ * easy case: text. this automatically handles conversion to utf-8.
+ */
+ if (GMIME_IS_TEXT_PART(self())) {
+ if (char* txt{g_mime_text_part_get_text(GMIME_TEXT_PART(self()))}; !txt)
+ return Nothing;
+ else
+ return to_string_gchar(std::move(txt)/*consumes*/);
+ }
+
+ /*
+ * harder case: read from stream manually
+ */
GMimeDataWrapper *wrapper{g_mime_part_get_content(self())};
if (!wrapper) { /* this happens with invalid mails */
g_debug("failed to create data wrapper");
@@ -493,7 +505,6 @@
return Nothing;
}
-
ssize_t buflen{g_mime_data_wrapper_write_to_stream(wrapper, stream)};
if (buflen <= 0) { /* empty buffer, not an error */
g_object_unref(stream);
@@ -513,9 +524,11 @@
buffer.resize(buflen);
return buffer;
+
}
+
Result<size_t>
MimePart::to_file(const std::string& path, bool overwrite) const noexcept
{
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/mu-1.8.10/lib/message/test-mu-message.cc new/mu-1.8.11/lib/message/test-mu-message.cc
--- old/mu-1.8.10/lib/message/test-mu-message.cc 2022-09-14 22:34:44.000000000 +0200
+++ new/mu-1.8.11/lib/message/test-mu-message.cc 2022-10-24 22:19:15.000000000 +0200
@@ -856,6 +856,163 @@
static void
+test_message_outlook_body()
+{
+ constexpr auto msgtext =
+R"x(Received: from vu-ex2.activedir.vu.lt (172.16.159.219) by
+ vu-ex1.activedir.vu.lt (172.16.159.218) with Microsoft SMTP Server
+ (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.1118.9
+ via Mailbox Transport; Fri, 27 May 2022 11:40:05 +0300
+Received: from vu-ex2.activedir.vu.lt (172.16.159.219) by
+ vu-ex2.activedir.vu.lt (172.16.159.219) with Microsoft SMTP Server
+ (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
+ 15.2.1118.9; Fri, 27 May 2022 11:40:05 +0300
+Received: from vu-ex2.activedir.vu.lt ([172.16.159.219]) by
+ vu-ex2.activedir.vu.lt ([172.16.159.219]) with mapi id 15.02.1118.009; Fri,
+ 27 May 2022 11:40:05 +0300
+From: =?windows-1257?Q?XXXXXXXXXX= <XXXXXXXXXX>
+To: <XXXXXXXXXX(a)XXXXXXXXXX.com>
+Subject: =?windows-1257?Q?Pra=F0ymas?=
+Thread-Topic: =?windows-1257?Q?Pra=F0ymas?=
+Thread-Index: AQHYcaRi3ejPSLxkl0uTFDto7z2OcA==
+Date: Fri, 27 May 2022 11:40:05 +0300
+Message-ID: <5c2cd378af634e929a6cc69da1e66b9d(a)XX.vu.lt>
+Accept-Language: en-US, lt-LT
+Content-Language: en-US
+X-MS-Has-Attach:
+Content-Type: text/html; charset="windows-1257"
+Content-Transfer-Encoding: quoted-printable
+MIME-Version: 1.0
+X-TUID: 1vFQ9RPwwg/u
+
+<html>
+<head>
+<meta http-equiv=3D"Content-Type" content=3D"text/html; charset=3Dwindows-1=
+257">
+<style type=3D"text/css" style=3D"display:none;"><!-- P {margin-top:0;margi=
+n-bottom:0;} --></style>
+</head>
+<body dir=3D"ltr">
+<div id=3D"divtagdefaultwrapper" style=3D"font-size:12pt;color:#000000;font=
+-family:Calibri,Helvetica,sans-serif;" dir=3D"ltr">
+<p>Laba diena visiems,</p>
+<p>Trumpai.</p>
+<p>D=EBl leidimo ar neleidimo ginti darb=E0: ed=EBstytojo paskyroje spaud=
+=FEiate ikon=E0 "ra=F0to darbai", atidar=E6 susiraskite =E1ra=F0=
+=E0 "tvirtinti / netvirtinti", pa=FEym=EBkite vien=E0 i=F0 j=F8.&=
+nbsp;</p>
+<p><br>
+</p>
+<p>=D0=E1 darb=E0 privalu atlikti, kad paskui nekilt=F8 problem=F8 studentu=
+i =E1vedant =E1vertinim=E0.</p>
+<p><br>
+</p>
+<p>Jei neleid=FEiate ginti darbo, pra=F0au informuoti mane ir komisijos sek=
+retori=F8. </p>
+<p><br>
+</p>
+<p>Vis=E0 tolesn=E6 informacij=E0 atsi=F8siu artimiausiu metu (stengsiuosi =
+=F0iandien vakare).</p>
+<p><br>
+</p>
+<p>Pagarbiai.</p>
+<p><br>
+</p>
+<p><br>
+</p>
+<div id=3D"Signature">
+<div id=3D"divtagdefaultwrapper" dir=3D"ltr" style=3D"font-family: Calibri,=
+ Helvetica, sans-serif, EmojiFont, "Apple Color Emoji", "Seg=
+oe UI Emoji", NotoColorEmoji, "Segoe UI Symbol", "Andro=
+id Emoji", EmojiSymbols;">
+<p style=3D"color:rgb(0,0,0); font-size:12pt"><br>
+</p>
+<p style=3D"color:rgb(0,0,0); font-size:12pt"><br>
+</p>
+<p style=3D"color:rgb(0,0,0); font-size:12pt"><br>
+</p>
+<p style=3D"color:rgb(0,0,0); font-size:12pt"><span style=3D"font-size:10pt=
+; background-color:rgb(255,255,255); color:rgb(0,111,201)"><br>
+</span></p>
+<p style=3D"color:rgb(0,0,0); font-size:12pt"><span style=3D"font-size:10pt=
+; background-color:rgb(255,255,255); color:rgb(0,111,201)">XXXXXXXXXX</span></p>
+<p style=3D""><font color=3D"#006fc9"><span style=3D"font-size:13.3333px"><=
+/span></font></p>
+<span style=3D"font-size:10pt; background-color:rgb(255,255,255); color:rgb=
+(0,111,201); font-size:10pt"></span>
+<p style=3D""><font color=3D"#006fc9"><span style=3D"font-size:13.3333px">XXXXXXXXXX</span></font></p>
+<p style=3D""><font color=3D"#006fc9"><span style=3D"font-size:13.3333px">XXXXXXXXXX</span></font></p>
+<p style=3D""><font color=3D"#006fc9"><span style=3D"font-size:13.3333px">XXXXXXXXXX</span></font></p>
+<p style=3D""><br>
+</p>
+<p style=3D""><br>
+</p>
+</div>
+</div>
+</div>
+</body>
+</html>
+)x";
+ g_test_bug("2349");
+
+ auto message{Message::make_from_text(
+ msgtext,
+ "/home/test/Maildir/inbox/cur/162342449279256.77777_1.evergrey:2,S")};
+ g_assert_true(!!message);
+
+ assert_equal(message->subject(), "Pra��ymas");
+ g_assert_true(message->priority() == Priority::Normal);
+
+ g_assert_false(!!message->body_text());
+ g_assert_true(!!message->body_html());
+ g_assert_cmpuint(message->body_html()->find("<p>Pagarbiai.</p>"), ==, 935);
+}
+
+
+static void
+test_message_message_id()
+{
+ constexpr const auto msg1 =
+R"(From: "Mu Test" <mu(a)djcbsoftware.nl>
+To: mu(a)djcbsoftware.nl
+Message-ID: <87lew9xddt.fsf(a)djcbsoftware.nl>
+
+abc
+)";
+
+ constexpr const auto msg2 =
+R"(From: "Mu Test" <mu(a)djcbsoftware.nl>
+To: mu(a)djcbsoftware.nl
+
+abc
+)";
+
+ constexpr const auto msg3 =
+R"(From: "Mu Test" <mu(a)djcbsoftware.nl>
+To: mu(a)djcbsoftware.nl
+Message-ID:
+
+abc
+)";
+
+ const auto m1{Message::make_from_text(msg1, "/foo/cur/m123:2,S")};
+ assert_valid_result(m1);
+
+ const auto m2{Message::make_from_text(msg2, "/foo/cur/m456:2,S")};
+ assert_valid_result(m2);
+ const auto m3{Message::make_from_text(msg3, "/foo/cur/m789:2,S")};
+ assert_valid_result(m3);
+
+ assert_equal(m1->message_id(), "87lew9xddt.fsf(a)djcbsoftware.nl");
+
+ /* both with absent and empty message-id, generate "random" fake one,
+ * which must end in @mu.id */
+ g_assert_true(g_str_has_suffix(m2->message_id().c_str(), "@mu.id"));
+ g_assert_true(g_str_has_suffix(m3->message_id().c_str(), "@mu.id"));
+}
+
+
+static void
test_message_fail ()
{
{
@@ -898,6 +1055,10 @@
test_message_calendar);
g_test_add_func("/message/message/references",
test_message_references);
+ g_test_add_func("/message/message/outlook-body",
+ test_message_outlook_body);
+ g_test_add_func("/message/message/message-id",
+ test_message_message_id);
g_test_add_func("/message/message/fail",
test_message_fail);
g_test_add_func("/message/message/sanitize-maildir",
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/mu-1.8.10/lib/tests/test-mu-msg.cc new/mu-1.8.11/lib/tests/test-mu-msg.cc
--- old/mu-1.8.10/lib/tests/test-mu-msg.cc 2022-09-14 22:34:44.000000000 +0200
+++ new/mu-1.8.11/lib/tests/test-mu-msg.cc 2022-10-24 22:19:15.000000000 +0200
@@ -48,8 +48,8 @@
for (auto&& contact: contacts) {
if (g_test_verbose())
g_message("{ \"%s\", \"%s\"},\n", contact.name.c_str(), contact.email.c_str());
- // assert_equal(contact.name, expected.at(n).first);
- // assert_equal(contact.email, expected.at(n).second);
+ assert_equal(contact.name, expected.at(n).first);
+ assert_equal(contact.email, expected.at(n).second);
++n;
}
g_print("\n");
@@ -186,7 +186,7 @@
.value()};
assert_contacts_equal(msg.to(), { { "Helmut Kr��ger", "hk(a)testmu.xxx"}});
- assert_contacts_equal(msg.from(), { { "M��", "testmu(a)testmu.xxx"}});
+ assert_contacts_equal(msg.from(), { { "M��", "testmu(a)testmu.xx"}});
assert_equal(msg.subject(), "Mot��rhead");
assert_equal(msg.from().at(0).display_name(), "M�� <testmu(a)testmu.xx>");
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/mu-1.8.10/lib/tests/test-mu-store-query.cc new/mu-1.8.11/lib/tests/test-mu-store-query.cc
--- old/mu-1.8.10/lib/tests/test-mu-store-query.cc 2022-09-14 22:34:44.000000000 +0200
+++ new/mu-1.8.11/lib/tests/test-mu-store-query.cc 2022-10-24 22:19:15.000000000 +0200
@@ -449,6 +449,73 @@
}
+static void
+test_body_matricula()
+{
+ const TestMap test_msgs = {{
+{
+"basic/cur/matricula-msg:2,S",
+R"(From: XXX <XX(a)XX.com>
+Subject:
+ =?iso-8859-1?Q?EF_-_Pago_matr=EDcula_de_la_matr=EDcula_de_inscripci=F3n_a?=
+Date: Thu, 4 Aug 2022 14:29:41 +0000
+Message-ID:
+ <VE1PR03MB5471882920DE08CFE44D97A0FE9F9(a)VE1PR03MB5471.eurprd03.prod.outlook.com>
+Accept-Language: es-AR, es-ES, en-US
+Content-Language: es-AR
+X-MS-Has-Attach: yes
+Content-Type: multipart/mixed;
+ boundary="_004_VE1PR03MB5471882920DE08CFE44D97A0FE9F9VE1PR03MB5471eurp_"
+MIME-Version: 1.0
+X-OriginatorOrg: ef.com
+X-MS-Exchange-CrossTenant-AuthAs: Internal
+X-MS-Exchange-CrossTenant-AuthSource: VE1PR03MB5471.eurprd03.prod.outlook.com
+
+--_004_VE1PR03MB5471882920DE08CFE44D97A0FE9F9VE1PR03MB5471eurp_
+Content-Type: multipart/alternative;
+ boundary="_000_VE1PR03MB5471882920DE08CFE44D97A0FE9F9VE1PR03MB5471eurp_"
+
+--_000_VE1PR03MB5471882920DE08CFE44D97A0FE9F9VE1PR03MB5471eurp_
+Content-Type: text/plain; charset="iso-8859-1"
+Content-Transfer-Encoding: quoted-printable
+
+Buenas tardes Familia,
+
+
+Espero que est=E9n muy bien.
+
+
+
+Ya cargamos en sistema su pre inscripci=F3n para el curso
+
+
+Quedamos atentos ante cualquier consulta que surja.
+
+Saludos,
+)"},
+}};
+ TempDir tdir;
+ auto store{make_test_store(tdir.path(), test_msgs, {})};
+
+ /* i.e., non-utf8 text parts were not converted */
+ g_test_bug("2333");
+
+ // matches
+ for (auto&& expr: {
+ "subject:matr��cula",
+ "subject:matricula",
+ "body:atentos",
+ "body:inscripci��n"
+ }) {
+
+ if (g_test_verbose())
+ g_message("query: '%s'", expr);
+ auto qr = store.run_query(expr);
+ assert_valid_result(qr);
+ g_assert_false(qr->empty());
+ g_assert_cmpuint(qr->size(), ==, 1);
+ }
+}
int
main(int argc, char* argv[])
@@ -464,6 +531,8 @@
test_dups_related);
g_test_add_func("/store/query/related-missing-root",
test_related_missing_root);
+ g_test_add_func("/store/query/body-matricula",
+ test_body_matricula);
return g_test_run();
}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/mu-1.8.10/meson.build new/mu-1.8.11/meson.build
--- old/mu-1.8.10/meson.build 2022-09-14 22:34:44.000000000 +0200
+++ new/mu-1.8.11/meson.build 2022-10-24 22:19:15.000000000 +0200
@@ -18,7 +18,7 @@
# project setup
#
project('mu', ['c', 'cpp'],
- version: '1.8.10',
+ version: '1.8.11',
meson_version: '>= 0.52.0', # debian 10
license: 'GPL-3.0-or-later',
default_options : [
@@ -77,6 +77,10 @@
endif
endforeach
+# some clang don't have charconv, but we need it.
+# https://github.com/djcb/mu/issues/2347
+cxx.check_header('charconv', required:true)
+
################################################################################
# config.h setup
#
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/mu-1.8.10/mu/mu-cmd.cc new/mu-1.8.11/mu/mu-cmd.cc
--- old/mu-1.8.10/mu/mu-cmd.cc 2022-09-14 22:34:44.000000000 +0200
+++ new/mu-1.8.11/mu/mu-cmd.cc 2022-10-24 22:19:15.000000000 +0200
@@ -111,11 +111,11 @@
if (!body || body->empty()) {
if (any_of(message.flags() & Flags::Encrypted)) {
color_maybe(MU_COLOR_CYAN);
- g_print("[No body found; "
+ g_print("[No text body found; "
"message has encrypted parts]\n");
} else {
color_maybe(MU_COLOR_MAGENTA);
- g_print("[No body found]\n");
+ g_print("[No text body found]\n");
}
color_maybe(MU_COLOR_DEFAULT);
return;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/mu-1.8.10/mu/mu.cc new/mu-1.8.11/mu/mu.cc
--- old/mu-1.8.10/mu/mu.cc 2022-09-14 22:34:44.000000000 +0200
+++ new/mu-1.8.11/mu/mu.cc 2022-10-24 22:19:15.000000000 +0200
@@ -1,5 +1,5 @@
/*
-** Copyright (C) 2008-2021 Dirk-Jan C. Binnema <djcb(a)djcbsoftware.nl>
+** Copyright (C) 2008-2022 Dirk-Jan C. Binnema <djcb(a)djcbsoftware.nl>
**
** This program is free software; you can redistribute it and/or modify it
** under the terms of the GNU General Public License as published by the
@@ -34,7 +34,7 @@
show_version(void)
{
const char* blurb = "mu (mail indexer/searcher) version " VERSION "\n"
- "Copyright (C) 2008-2021 Dirk-Jan C. Binnema\n"
+ "Copyright (C) 2008-2022 Dirk-Jan C. Binnema\n"
"License GPLv3+: GNU GPL version 3 or later "
"<http://gnu.org/licenses/gpl.html>.\n"
"This is free software: you are free to change "
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/mu-1.8.10/mu4e/mu4e-headers.el new/mu-1.8.11/mu4e/mu4e-headers.el
--- old/mu-1.8.10/mu4e/mu4e-headers.el 2022-09-14 22:34:44.000000000 +0200
+++ new/mu-1.8.11/mu4e/mu4e-headers.el 2022-10-24 22:19:15.000000000 +0200
@@ -256,7 +256,7 @@
(defvar mu4e-headers-thread-child-prefix '("|>" . "��� ")
"Prefix for messages in sub threads that do have a following sibling.")
(defvar mu4e-headers-thread-first-child-prefix '("o " . "��� ")
- "Prefix for messages in sub threads that do not have a following sibling.")
+ "Prefix for the first child messages in a sub thread.")
(defvar mu4e-headers-thread-last-child-prefix '("L" . "��� ")
"Prefix for messages in sub threads that do not have a following sibling.")
(defvar mu4e-headers-thread-connection-prefix '("|" . "��� ")
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/mu-1.8.10/mu4e/mu4e.texi new/mu-1.8.11/mu4e/mu4e.texi
--- old/mu-1.8.10/mu4e/mu4e.texi 2022-09-14 22:34:44.000000000 +0200
+++ new/mu-1.8.11/mu4e/mu4e.texi 2022-10-24 22:19:15.000000000 +0200
@@ -2677,7 +2677,7 @@
* Defining actions::How to create an action
* Headers view actions::Doing things with message headers
* Message view actions::Doing things with messages
-* Attachment actions::Doing things with attachments
+* MIME-part actions::Doing things with MIME-parts such as attachments
* Example actions::Some more examples
@end menu
@@ -2711,7 +2711,7 @@
actions@footnote{Instead of defining the functions separately, you can
obviously also add a @code{lambda}-function directly to the list; however,
separate functions are easier to change}, either @code{mu4e-headers-actions},
-@code{mu4e-view-actions} or @code{mu4e-view-attachment-actions}. The
+@code{mu4e-view-actions} or @code{mu4e-view-mime-part-actions}. The
format@footnote{Note, the format of the actions has changed since version
0.9.8.4, and you must change your configuration to use the new format;
@t{mu4e} warns you when you are using the old format.} of each action is a
@@ -2767,16 +2767,16 @@
us the e-mail address of the first in the list. @t{From:}-fields rarely
have more that one address.
-@node Attachment actions
-@section Attachment actions
+@node MIME-part actions
+@section MIME-part actions
-Finally, let's define an attachment action. As mentioned, attachment-action
-functions receive @emph{2} arguments, the message and the attachment number to
-use.
-
-The following example action counts the number of lines in an attachment, and
-defines @key{n} as its shortcut key (the @key{n} is prefixed to the
-description).
+Finally, let's define a MIME-part action. As mentioned, MIME-part
+functions receive @emph{2} arguments, the message and the attachment
+number to use.
+
+The following example action counts the number of lines in an
+attachment, and defines @key{n} as its shortcut key (the @key{n} is
+prefixed to the description).
@lisp
(defun count-lines-in-attachment (msg attachnum)
@@ -2784,7 +2784,7 @@
(mu4e-view-pipe-attachment msg attachnum "wc -l"))
;; defining 'n' as the shortcut
-(add-to-list 'mu4e-view-attachment-actions
+(add-to-list 'mu4e-view-mime-part-actions
'("ncount lines" . count-lines-in-attachment) t)
@end lisp
@@ -2828,7 +2828,7 @@
see @ref{Message view actions}
@item Add a new kind of mark for use in the headers view
- see @ref{Adding a new kind of mark}
-@item Apply a function to an attachment --- see @ref{Attachment actions}
+@item Apply a function to a MIME-part --- see @ref{MIME-part actions}
@item Custom function to mark certain messages ---
see @ref{Custom mark functions}
@item Using various @emph{mode}-hooks, @code{mu4e-compose-pre-hook} (see
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package solaar for openSUSE:Factory checked in at 2022-10-25 11:20:19
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/solaar (Old)
and /work/SRC/openSUSE:Factory/.solaar.new.2275 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "solaar"
Tue Oct 25 11:20:19 2022 rev:21 rq:1031003 version:1.1.6
Changes:
--------
--- /work/SRC/openSUSE:Factory/solaar/solaar.changes 2022-09-15 22:59:52.573331573 +0200
+++ /work/SRC/openSUSE:Factory/.solaar.new.2275/solaar.changes 2022-10-25 11:20:43.530232141 +0200
@@ -1,0 +2,12 @@
+Tue Oct 25 05:42:18 UTC 2022 - asn(a)cryptomilk.org
+
+- Update to version 1.1.6:
+ * release 1.1.6
+ * docs: mention that fn-swap is saved on some devices
+ * docs: add Dell-branded mouse and keyboard
+ * ui: only update remaining pairings after sucessful pairing
+ * listener: check for presence of status attribute when resuming
+ * Update Croatian translation
+ * po: update Polish translation
+
+-------------------------------------------------------------------
Old:
----
Solaar-1.1.5.obscpio
New:
----
Solaar-1.1.6.obscpio
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ solaar.spec ++++++
--- /var/tmp/diff_new_pack.WvgpTo/_old 2022-10-25 11:20:44.210233648 +0200
+++ /var/tmp/diff_new_pack.WvgpTo/_new 2022-10-25 11:20:44.218233666 +0200
@@ -21,7 +21,7 @@
%define skip_python2 1
%define skip_python36 1
Name: solaar
-Version: 1.1.5
+Version: 1.1.6
Release: 0
Summary: Linux devices manager for the Logitech Unifying Receiver
License: GPL-2.0-or-later
@@ -129,6 +129,7 @@
%{_datadir}/icons/hicolor/scalable/apps/solaar.svg
%{_datadir}/metainfo/io.github.pwr_solaar.solaar.metainfo.xml
%{python_sitelib}/hidapi
+%{python_sitelib}/hid_parser
%{python_sitelib}/logitech_receiver
%{python_sitelib}/keysyms
%{python_sitelib}/solaar
++++++ Solaar-1.1.5.obscpio -> Solaar-1.1.6.obscpio ++++++
++++ 8866 lines of diff (skipped)
++++++ Solaar.obsinfo ++++++
--- /var/tmp/diff_new_pack.WvgpTo/_old 2022-10-25 11:20:44.558234420 +0200
+++ /var/tmp/diff_new_pack.WvgpTo/_new 2022-10-25 11:20:44.562234429 +0200
@@ -1,5 +1,5 @@
name: Solaar
-version: 1.1.5
-mtime: 1663196639
-commit: 35672619f0bd3b018a1332c904400adc8e6ca475
+version: 1.1.6
+mtime: 1666655919
+commit: 9ce0fd7060a1d3b8e0ab4b3a70027ddc00c075db
++++++ _service ++++++
--- /var/tmp/diff_new_pack.WvgpTo/_old 2022-10-25 11:20:44.582234473 +0200
+++ /var/tmp/diff_new_pack.WvgpTo/_new 2022-10-25 11:20:44.590234491 +0200
@@ -3,8 +3,8 @@
<param name="url">https://github.com/pwr-Solaar/Solaar</param>
<param name="scm">git</param>
<param name="exclude">.git</param>
- <param name="revision">1.1.5</param>
- <param name="version">1.1.5</param>
+ <param name="revision">1.1.6</param>
+ <param name="version">1.1.6</param>
<param name="changesgenerate">enable</param>
</service>
<service name="tar" mode="buildtime" />
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package netgen for openSUSE:Factory checked in at 2022-10-25 11:20:17
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/netgen (Old)
and /work/SRC/openSUSE:Factory/.netgen.new.2275 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "netgen"
Tue Oct 25 11:20:17 2022 rev:9 rq:1030983 version:6.2.2204
Changes:
--------
--- /work/SRC/openSUSE:Factory/netgen/netgen.changes 2022-09-13 15:11:06.448932875 +0200
+++ /work/SRC/openSUSE:Factory/.netgen.new.2275/netgen.changes 2022-10-25 11:20:42.254229313 +0200
@@ -1,0 +2,15 @@
+Thu Oct 20 20:07:36 UTC 2022 - Stefan Br��ns <stefan.bruens(a)rwth-aachen.de>
+
+- Use Catch2 < 3.0. Unfortunately Catch2 3.x is API
+ incompatible with Catch2 2.x.
+- Add 0001-fix-building-with-new-ffmpeg.patch
+
+-------------------------------------------------------------------
+Tue Sep 13 21:47:18 UTC 2022 - Stefan Br��ns <stefan.bruens(a)rwth-aachen.de>
+
+- update to version 6.2.2204
+ * no changelog provided
+- Split nggui library package, to avoid pulling in otherwise
+ unneeded dependencies.
+
+-------------------------------------------------------------------
Old:
----
netgen-6.2.2203.tar.gz
New:
----
0001-fix-building-with-new-ffmpeg.patch
netgen-6.2.2204.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ netgen.spec ++++++
--- /var/tmp/diff_new_pack.SsKkSm/_old 2022-10-25 11:20:42.866230670 +0200
+++ /var/tmp/diff_new_pack.SsKkSm/_new 2022-10-25 11:20:42.870230679 +0200
@@ -23,7 +23,7 @@
%bcond_with pytest
Name: netgen
-Version: 6.2.2203
+Version: 6.2.2204
Release: 0
Summary: Automatic 3D tetrahedral mesh generator
License: LGPL-2.1-only
@@ -48,8 +48,11 @@
Patch10: 0001-Fix-netgen-executable-and-library-RUNPATHs.patch
# PATCH-FIX-OPENSUSE
Patch11: 0001-Ignore-invalid-unknown-types-in-pybind11-docstrings.patch
+# PATCH-FIX-UPSTREAM
+Patch12: 0001-fix-building-with-new-ffmpeg.patch
%if %{with opencascade}
BuildRequires: occt-devel
+BuildRequires: (pkgconfig(catch2) >= 2.13.4 with pkgconfig(catch2) < 3)
BuildRequires: pkgconfig(fontconfig)
BuildRequires: pkgconfig(xi)
%endif
@@ -66,7 +69,6 @@
BuildRequires: python3-pytest
BuildRequires: python3-pytest-check
%endif
-BuildRequires: pkgconfig(catch2)
BuildRequires: pkgconfig(gl)
BuildRequires: pkgconfig(glu)
BuildRequires: pkgconfig(icu-uc)
@@ -81,12 +83,10 @@
BuildRequires: openmpi-devel
%endif
%if %{with ffmpeg}
-# Limit to ffmpeg-4 and older, see upstream issue
-# https://github.com/NGSolve/netgen/issues/112
-BuildRequires: pkgconfig(libavcodec) <= 58.134.100
-BuildRequires: pkgconfig(libavformat) <= 58.76.100
-BuildRequires: pkgconfig(libavutil) <= 56.70.100
-BuildRequires: pkgconfig(libswscale) <= 5.9.100
+BuildRequires: pkgconfig(libavcodec)
+BuildRequires: pkgconfig(libavformat)
+BuildRequires: pkgconfig(libavutil)
+BuildRequires: pkgconfig(libswscale)
%endif
BuildRequires: xz
# x86 (32bit) is no longer supported upstream. Also exclude other 32 bit archs
@@ -110,6 +110,15 @@
%description -n netgen-libs
NETGEN mesh generator shared libraries.
+%package -n netgen-gui-libs
+Summary: NETGEN mesher library - GUI part
+Group: System/Libraries
+Conflicts: netgen-libs < 6.2.2204
+Provides: %{name}:%{_libdir}/netgen/libnggui.so
+
+%description -n netgen-gui-libs
+GUI support for NETGEN mesh generator shared libraries.
+
%package devel
Summary: Development files for netgen
# Should not depend on the netgen binary, but the cmake config is broken
@@ -213,7 +222,11 @@
%files -n netgen-libs
%dir %{_libdir}/netgen
-%{_libdir}/netgen/*.so
+%{_libdir}/netgen/libngcore.so
+%{_libdir}/netgen/libnglib.so
+
+%files -n netgen-gui-libs
+%{_libdir}/netgen/libnggui.so
%files -n python3-%{name}
%{python3_sitearch}/netgen
++++++ 0001-fix-building-with-new-ffmpeg.patch ++++++
From 1cf85fa3e79524cea3bcf7743a95584ae95a3bda Mon Sep 17 00:00:00 2001
From: Christopher Lackner <clackner(a)cerbsim.com>
Date: Wed, 14 Sep 2022 10:14:08 +0200
Subject: [PATCH] fix building with new ffmpeg
---
ng/encoding.hpp | 5 +++--
1 file changed, 3 insertions(+), 2 deletions(-)
diff --git a/ng/encoding.hpp b/ng/encoding.hpp
index 66261989..9ea2ffb5 100644
--- a/ng/encoding.hpp
+++ b/ng/encoding.hpp
@@ -5,6 +5,7 @@
extern "C" {
#include <libavutil/avassert.h>
+#include <libavcodec/avcodec.h>
#include <libavutil/channel_layout.h>
#include <libavutil/opt.h>
#include <libavutil/mathematics.h>
@@ -137,11 +138,11 @@ class Mpeg {
// oc->preload= (int)(0.5*AV_TIME_BASE);
oc->max_delay= (int)(0.7*AV_TIME_BASE);
- fmt = oc->oformat;
+ fmt = (AVOutputFormat*) oc->oformat;
if (fmt->video_codec != AV_CODEC_ID_NONE) {
/* find the encoder */
- video_codec = avcodec_find_encoder(fmt->video_codec);
+ video_codec = (AVCodec*) avcodec_find_encoder(fmt->video_codec);
if (!(video_codec)) {
cerr << "Could not find encoder for '" << avcodec_get_name(fmt->video_codec) << "'" << endl;
return 1;
--
2.37.3
++++++ netgen-6.2.2203.tar.gz -> netgen-6.2.2204.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/netgen-6.2.2203/CMakeLists.txt new/netgen-6.2.2204/CMakeLists.txt
--- old/netgen-6.2.2203/CMakeLists.txt 2022-05-07 20:40:40.000000000 +0200
+++ new/netgen-6.2.2204/CMakeLists.txt 2022-08-10 09:03:10.000000000 +0200
@@ -248,7 +248,7 @@
if(USE_GUI)
target_include_directories(nggui PRIVATE ${ZLIB_INCLUDE_DIRS})
endif(USE_GUI)
-target_link_libraries(nglib PUBLIC ${ZLIB_LIBRARIES})
+target_link_libraries(nglib PRIVATE ${ZLIB_LIBRARIES})
#######################################################################
if(WIN32)
@@ -407,9 +407,9 @@
endif()
endif()
message(STATUS "OCC DIRS ${OpenCASCADE_INCLUDE_DIR}")
- if(WIN32)
+ if(WIN32 AND USE_GUI)
target_link_libraries(nggui PRIVATE ${OCC_LIBRARIES})
- endif(WIN32)
+ endif(WIN32 AND USE_GUI)
endif (USE_OCC)
#######################################################################
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/netgen-6.2.2203/libsrc/core/python_ngcore_export.cpp new/netgen-6.2.2204/libsrc/core/python_ngcore_export.cpp
--- old/netgen-6.2.2203/libsrc/core/python_ngcore_export.cpp 2022-05-07 20:40:40.000000000 +0200
+++ new/netgen-6.2.2204/libsrc/core/python_ngcore_export.cpp 2022-08-10 09:03:10.000000000 +0200
@@ -240,7 +240,10 @@
class ParallelContextManager {
int num_threads;
public:
- ParallelContextManager() : num_threads(0) {};
+ ParallelContextManager() : num_threads(0) {
+ TaskManager::SetPajeTrace(0);
+ PajeTrace::SetMaxTracefileSize(0);
+ };
ParallelContextManager(size_t pajesize) : num_threads(0) {
TaskManager::SetPajeTrace(pajesize > 0);
PajeTrace::SetMaxTracefileSize(pajesize);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/netgen-6.2.2203/libsrc/csg/csgeom.cpp new/netgen-6.2.2204/libsrc/csg/csgeom.cpp
--- old/netgen-6.2.2203/libsrc/csg/csgeom.cpp 2022-05-07 20:40:40.000000000 +0200
+++ new/netgen-6.2.2204/libsrc/csg/csgeom.cpp 2022-08-10 09:03:10.000000000 +0200
@@ -417,7 +417,7 @@
& identpoints & boundingbox & isidenticto & ideps
& filename & spline_surfaces & splinecurves2d & splinecurves3d & surf2prim;
if(archive.Input())
- FindIdenticSurfaces(1e-6);
+ FindIdenticSurfaces(1e-8 * MaxSize());
}
void CSGeometry :: SaveSurfaces (ostream & out) const
@@ -949,6 +949,7 @@
{
int inv;
int nsurf = GetNSurf();
+ identicsurfaces.DeleteData();
isidenticto.SetSize(nsurf);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/netgen-6.2.2203/libsrc/csg/python_csg.cpp new/netgen-6.2.2204/libsrc/csg/python_csg.cpp
--- old/netgen-6.2.2203/libsrc/csg/python_csg.cpp 2022-05-07 20:40:40.000000000 +0200
+++ new/netgen-6.2.2204/libsrc/csg/python_csg.cpp 2022-08-10 09:03:10.000000000 +0200
@@ -676,7 +676,7 @@
.def("Draw", FunctionPointer
([] (shared_ptr<CSGeometry> self)
{
- self->FindIdenticSurfaces(1e-6);
+ self->FindIdenticSurfaces(1e-8 * self->MaxSize());
self->CalcTriangleApproximation(0.01, 20);
ng_geometry = self;
})
@@ -706,8 +706,8 @@
auto surf = csg_geo->GetSurface(i);
surfnames.push_back(surf->GetBCName());
}
- csg_geo->FindIdenticSurfaces(1e-6);
- csg_geo->CalcTriangleApproximation(0.01,100);
+ csg_geo->FindIdenticSurfaces(1e-8 * csg_geo->MaxSize());
+ csg_geo->CalcTriangleApproximation(0.01,20);
auto nto = csg_geo->GetNTopLevelObjects();
size_t np = 0;
size_t ntrig = 0;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/netgen-6.2.2203/libsrc/gprim/spline.hpp new/netgen-6.2.2204/libsrc/gprim/spline.hpp
--- old/netgen-6.2.2203/libsrc/gprim/spline.hpp 2022-05-07 20:40:40.000000000 +0200
+++ new/netgen-6.2.2204/libsrc/gprim/spline.hpp 2022-08-10 09:03:10.000000000 +0200
@@ -188,12 +188,12 @@
mutable double proj_latest_t;
public:
///
- SplineSeg3 (const GeomPoint<D> & ap1,
+ DLL_HEADER SplineSeg3 (const GeomPoint<D> & ap1,
const GeomPoint<D> & ap2,
const GeomPoint<D> & ap3,
string bcname="default",
double maxh=1e99);
- SplineSeg3 (const GeomPoint<D> & ap1,
+ DLL_HEADER SplineSeg3 (const GeomPoint<D> & ap1,
const GeomPoint<D> & ap2,
const GeomPoint<D> & ap3,
double aweight,
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/netgen-6.2.2203/libsrc/meshing/basegeom.cpp new/netgen-6.2.2204/libsrc/meshing/basegeom.cpp
--- old/netgen-6.2.2203/libsrc/meshing/basegeom.cpp 2022-05-07 20:40:40.000000000 +0200
+++ new/netgen-6.2.2204/libsrc/meshing/basegeom.cpp 2022-08-10 09:03:10.000000000 +0200
@@ -785,6 +785,8 @@
{
auto & face = *faces[k];
FaceDescriptor fd(k+1, face.domin+1, face.domout+1, k+1);
+ if(face.properties.col)
+ fd.SetSurfColour(*face.properties.col);
mesh.AddFaceDescriptor(fd);
mesh.SetBCName(k, face.properties.GetName());
if(face.primary == &face)
@@ -974,6 +976,12 @@
}
xbool do_invert = maybe;
+ if(dst.identifications[0].type == Identifications::PERIODIC)
+ {
+ auto other = static_cast<GeometryFace*>(dst.primary);
+ if(dst.domin != other->domout && dst.domout != other->domin)
+ do_invert = true;
+ }
// now insert mapped surface elements
for(auto sei : mesh.SurfaceElements().Range())
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/netgen-6.2.2203/libsrc/meshing/boundarylayer.cpp new/netgen-6.2.2204/libsrc/meshing/boundarylayer.cpp
--- old/netgen-6.2.2203/libsrc/meshing/boundarylayer.cpp 2022-05-07 20:40:40.000000000 +0200
+++ new/netgen-6.2.2204/libsrc/meshing/boundarylayer.cpp 2022-08-10 09:03:10.000000000 +0200
@@ -194,7 +194,8 @@
ArrayMem<Point<3>, 4> BoundaryLayerTool :: GetMappedFace( SurfaceElementIndex sei, int face )
{
- if(face == -1) return GetMappedFace(sei);
+ if(face == -1) return GetFace(sei);
+ if(face == -2) return GetMappedFace(sei);
const auto & sel = mesh[sei];
auto np = sel.GetNP();
auto pi0 = sel[face % np];
@@ -210,23 +211,25 @@
Vec<3> BoundaryLayerTool :: getEdgeTangent(PointIndex pi, int edgenr)
{
Vec<3> tangent = 0.0;
+ ArrayMem<PointIndex,2> pts;
for(auto segi : topo.GetVertexSegments(pi))
{
auto & seg = mesh[segi];
- if(seg.edgenr != edgenr)
+ if(seg.edgenr != edgenr+1)
continue;
PointIndex other = seg[0]+seg[1]-pi;
- tangent += mesh[other] - mesh[pi];
+ if(!pts.Contains(other))
+ pts.Append(other);
}
+ if(pts.Size() != 2)
+ throw Exception("Something went wrong in getEdgeTangent!");
+ tangent = mesh[pts[1]] - mesh[pts[0]];
return tangent.Normalize();
}
void BoundaryLayerTool :: LimitGrowthVectorLengths()
{
static Timer tall("BoundaryLayerTool::LimitGrowthVectorLengths"); RegionTimer rtall(tall);
- height = 0.0;
- for (auto h : params.heights)
- height += h;
limits.SetSize(np);
limits = 1.0;
@@ -320,7 +323,7 @@
const auto & sel = mesh[sei];
if(sel.PNums().Contains(pi))
return false;
- auto face = GetFace(sei);
+ auto face = GetMappedFace(sei, -2);
double lam_ = 999;
bool is_bl_sel = params.surfid.Contains(sel.GetIndex());
@@ -464,6 +467,8 @@
auto np = mesh.GetNP();
BitArray is_point_on_bl_surface(np+1);
is_point_on_bl_surface.Clear();
+ BitArray is_point_on_other_surface(np+1);
+ is_point_on_other_surface.Clear();
Array<Vec<3>, PointIndex> normals(np);
for(auto pi : Range(growthvectors))
normals[pi] = growthvectors[pi];
@@ -474,20 +479,33 @@
{
auto facei = mesh[sei].GetIndex();
if(facei < nfd_old && !params.surfid.Contains(facei))
- continue;
- for(auto pi : mesh[sei].PNums())
- if(mesh[pi].Type() == SURFACEPOINT)
+ {
+ for(auto pi : mesh[sei].PNums())
+ if(mesh[pi].Type() == SURFACEPOINT)
+ is_point_on_other_surface.SetBitAtomic(pi);
+ }
+ else
+ {
+ for(auto pi : mesh[sei].PNums())
+ if(mesh[pi].Type() == SURFACEPOINT)
is_point_on_bl_surface.SetBitAtomic(pi);
+ }
}
});
Array<PointIndex> points;
for(PointIndex pi : mesh.Points().Range())
+ {
if(is_point_on_bl_surface[pi])
{
points.Append(pi);
growthvectors[pi] = 0.0;
}
+ if(is_point_on_other_surface[pi])
+ {
+ points.Append(pi);
+ }
+ }
// smooth tangential part of growth vectors from edges to surface elements
RegionTimer rtsmooth(tsmooth);
@@ -511,7 +529,10 @@
auto gw_other = growthvectors[pi1];
auto normal_other = getNormal(mesh[sei]);
auto tangent_part = gw_other - (gw_other*normal_other)*normal_other;
- new_gw += tangent_part;
+ if(is_point_on_bl_surface[pi])
+ new_gw += tangent_part;
+ else
+ new_gw += gw_other;
}
}
@@ -533,6 +554,10 @@
//for(auto & seg : mesh.LineSegments())
//seg.edgenr = seg.epgeominfo[1].edgenr;
+ height = 0.0;
+ for (auto h : params.heights)
+ height += h;
+
max_edge_nr = -1;
for(const auto& seg : mesh.LineSegments())
if(seg.edgenr > max_edge_nr)
@@ -777,7 +802,7 @@
// interpolate tangential component of growth vector along edge
for(auto edgenr : Range(max_edge_nr))
{
- if(!is_edge_moved[edgenr+1]) continue;
+ // if(!is_edge_moved[edgenr+1]) continue;
// build sorted list of edge
Array<PointIndex> points;
@@ -785,6 +810,9 @@
double edge_len = 0.;
auto is_end_point = [&] (PointIndex pi)
{
+ // if(mesh[pi].Type() == FIXEDPOINT)
+ // return true;
+ // return false;
auto segs = topo.GetVertexSegments(pi);
auto first_edgenr = mesh[segs[0]].edgenr;
for(auto segi : segs)
@@ -792,17 +820,31 @@
return true;
return false;
};
+
+ bool any_grows = false;
+
for(const auto& seg : segments)
{
- if(seg.edgenr-1 == edgenr && is_end_point(seg[0]))
+ if(seg.edgenr-1 == edgenr)
{
- points.Append(seg[0]);
- points.Append(seg[1]);
- edge_len += (mesh[seg[1]] - mesh[seg[0]]).Length();
- break;
+ if(growthvectors[seg[0]].Length2() != 0 ||
+ growthvectors[seg[1]].Length2() != 0)
+ any_grows = true;
+ if(points.Size() == 0 && is_end_point(seg[0]))
+ {
+ points.Append(seg[0]);
+ points.Append(seg[1]);
+ edge_len += (mesh[seg[1]] - mesh[seg[0]]).Length();
+ }
}
}
+ if(!any_grows)
+ continue;
+
+ if(!points.Size())
+ throw Exception("Could not find startpoint for edge " + ToString(edgenr));
+
while(true)
{
bool point_found = false;
@@ -831,17 +873,28 @@
break;
if(!point_found)
{
- cout << "points = " << points << endl;
throw Exception(string("Could not find connected list of line segments for edge ") + edgenr);
}
}
+ if(growthvectors[points[0]].Length2() == 0 &&
+ growthvectors[points.Last()].Length2() == 0)
+ continue;
+
// tangential part of growth vectors
auto t1 = (mesh[points[1]]-mesh[points[0]]).Normalize();
auto gt1 = growthvectors[points[0]] * t1 * t1;
auto t2 = (mesh[points.Last()]-mesh[points[points.Size()-2]]).Normalize();
auto gt2 = growthvectors[points.Last()] * t2 * t2;
+ if(!is_edge_moved[edgenr+1])
+ {
+ if(growthvectors[points[0]] * (mesh[points[1]] - mesh[points[0]]) < 0)
+ gt1 = 0.;
+ if(growthvectors[points.Last()] * (mesh[points[points.Size()-2]] - mesh[points.Last()]) < 0)
+ gt2 = 0.;
+ }
+
double len = 0.;
for(size_t i = 1; i < points.Size()-1; i++)
{
@@ -1262,7 +1315,9 @@
auto in_surface_direction = ProjectGrowthVectorsOnSurface();
InterpolateGrowthVectors();
- LimitGrowthVectorLengths();
+
+ if(params.limit_growth_vectors)
+ LimitGrowthVectorLengths();
FixVolumeElements();
InsertNewElements(segmap, in_surface_direction);
SetDomInOut();
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/netgen-6.2.2203/libsrc/meshing/boundarylayer.hpp new/netgen-6.2.2204/libsrc/meshing/boundarylayer.hpp
--- old/netgen-6.2.2203/libsrc/meshing/boundarylayer.hpp 2022-05-07 20:40:40.000000000 +0200
+++ new/netgen-6.2.2204/libsrc/meshing/boundarylayer.hpp 2022-08-10 09:03:10.000000000 +0200
@@ -18,6 +18,7 @@
BitArray domains;
bool outside = false; // set the boundary layer on the outside
bool grow_edges = false;
+ bool limit_growth_vectors = true;
Array<size_t> project_boundaries;
};
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/netgen-6.2.2203/libsrc/meshing/meshclass.cpp new/netgen-6.2.2204/libsrc/meshing/meshclass.cpp
--- old/netgen-6.2.2203/libsrc/meshing/meshclass.cpp 2022-05-07 20:40:40.000000000 +0200
+++ new/netgen-6.2.2204/libsrc/meshing/meshclass.cpp 2022-08-10 09:03:10.000000000 +0200
@@ -1660,10 +1660,6 @@
clusters -> Update();
}
- auto geo = geometryregister.LoadFromMeshFile (infile);
- if(geo)
- geometry = geo;
-
SetNextMajorTimeStamp();
// PrintMemInfo (cout);
}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/netgen-6.2.2203/libsrc/meshing/meshclass.hpp new/netgen-6.2.2204/libsrc/meshing/meshclass.hpp
--- old/netgen-6.2.2203/libsrc/meshing/meshclass.hpp 2022-05-07 20:40:40.000000000 +0200
+++ new/netgen-6.2.2204/libsrc/meshing/meshclass.hpp 2022-08-10 09:03:10.000000000 +0200
@@ -384,7 +384,7 @@
DLL_HEADER int GetNDomains() const;
///
int GetDimension() const { return dimension; }
- void SetDimension (int dim); // { dimension = dim; }
+ DLL_HEADER void SetDimension (int dim); // { dimension = dim; }
/// sets internal tables
DLL_HEADER void CalcSurfacesOfNode ();
@@ -478,7 +478,7 @@
return lochfunc[0];
return lochfunc[layer-1];
}
- void SetLocalH(shared_ptr<LocalH> loch, int layer=1);
+ DLL_HEADER void SetLocalH(shared_ptr<LocalH> loch, int layer=1);
///
bool LocalHFunctionGenerated(int layer=1) const { return (lochfunc[layer-1] != NULL); }
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/netgen-6.2.2203/libsrc/meshing/meshfunc.cpp new/netgen-6.2.2204/libsrc/meshing/meshfunc.cpp
--- old/netgen-6.2.2203/libsrc/meshing/meshfunc.cpp 2022-05-07 20:40:40.000000000 +0200
+++ new/netgen-6.2.2204/libsrc/meshing/meshfunc.cpp 2022-08-10 09:03:10.000000000 +0200
@@ -201,6 +201,7 @@
return;
NgArray<int, PointIndex::BASE> map;
+ std::set<std::tuple<int,int,int>> hex_faces;
for(auto identnr : Range(1,nmax+1))
{
if(identifications.GetType(identnr) != Identifications::CLOSESURFACES)
@@ -211,6 +212,15 @@
for(auto & sel : mesh.OpenElements())
{
+ // For quads: check if this open element is already closed by a hex
+ // this happends when we have identifications in two directions
+ if(sel.GetNP() == 4)
+ {
+ Element2d face = sel;
+ face.NormalizeNumbering();
+ if(hex_faces.count({face[0], face[1], face[2]}))
+ continue;
+ }
bool is_mapped = true;
for(auto pi : sel.PNums())
if(!PointIndex(map[pi]).IsValid())
@@ -235,21 +245,26 @@
if(pis.size() < 2*np)
continue;
- bool is_domout = md.domain == mesh.GetFaceDescriptor(sel.GetIndex()).DomainOut();
-
// check if new element is inside current domain
auto p0 = mesh[sel[0]];
- Vec<3> n = Cross(mesh[sel[1]] - p0, mesh[sel[2]] - p0 );
- n = is_domout ? n : -n;
+ Vec<3> n = -Cross(mesh[sel[1]] - p0, mesh[sel[2]] - p0 );
if(n*(mesh[el[np]]-p0) < 0.0)
continue;
- if(is_domout)
- el.Invert();
-
el.SetIndex(md.domain);
mesh.AddVolumeElement(el);
+ if(el.NP()==8)
+ {
+ // remember all adjacent faces of the new hex (to skip corresponding openelements accordingly)
+ for(auto facei : Range(1,7))
+ {
+ Element2d face;
+ el.GetFace(facei, face);
+ face.NormalizeNumbering();
+ hex_faces.insert({face[0], face[1], face[2]});
+ }
+ }
}
}
}
@@ -571,17 +586,25 @@
auto md = DivideMesh(mesh3d, mp);
+ try
+ {
ParallelFor( md.Range(), [&](int i)
{
if (mp.checkoverlappingboundary)
if (md[i].mesh->CheckOverlappingBoundary())
throw NgException ("Stop meshing since boundary mesh is overlapping");
-
+
if(md[i].mesh->GetGeometry()->GetGeomType() == Mesh::GEOM_OCC)
- FillCloseSurface( md[i] );
+ FillCloseSurface( md[i] );
CloseOpenQuads( md[i] );
MeshDomain(md[i]);
}, md.Size());
+ }
+ catch(...)
+ {
+ MergeMeshes(mesh3d, md);
+ return MESHING3_GIVEUP;
+ }
MergeMeshes(mesh3d, md);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/netgen-6.2.2203/libsrc/meshing/meshtype.hpp new/netgen-6.2.2204/libsrc/meshing/meshtype.hpp
--- old/netgen-6.2.2203/libsrc/meshing/meshtype.hpp 2022-05-07 20:40:40.000000000 +0200
+++ new/netgen-6.2.2204/libsrc/meshing/meshtype.hpp 2022-08-10 09:03:10.000000000 +0200
@@ -1172,7 +1172,7 @@
void SetDomainIn (int di) { domin = di; }
void SetDomainOut (int dom) { domout = dom; }
void SetBCProperty (int bc) { bcprop = bc; }
- void SetBCName (string * bcn); // { bcname = bcn; }
+ DLL_HEADER void SetBCName (string * bcn); // { bcname = bcn; }
void SetBCName (const string & bcn) { bcname = bcn; }
// Philippose - 06/07/2009
// Set the surface colour
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/netgen-6.2.2203/libsrc/meshing/netrule3.cpp new/netgen-6.2.2204/libsrc/meshing/netrule3.cpp
--- old/netgen-6.2.2203/libsrc/meshing/netrule3.cpp 2022-05-07 20:40:40.000000000 +0200
+++ new/netgen-6.2.2204/libsrc/meshing/netrule3.cpp 2022-08-10 09:03:10.000000000 +0200
@@ -77,6 +77,7 @@
fzbox.SetPoint (transfreezone.Elem(1));
for (i = 2; i <= freezone.Size(); i++)
fzbox.AddPoint (transfreezone.Elem(i));
+ fzbox.IncreaseRel(1e-8);
// MARK(setfz3);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/netgen-6.2.2203/libsrc/meshing/python_mesh.cpp new/netgen-6.2.2204/libsrc/meshing/python_mesh.cpp
--- old/netgen-6.2.2203/libsrc/meshing/python_mesh.cpp 2022-05-07 20:40:40.000000000 +0200
+++ new/netgen-6.2.2204/libsrc/meshing/python_mesh.cpp 2022-08-10 09:03:10.000000000 +0200
@@ -1196,14 +1196,16 @@
string material,
variant<string, int> domain, bool outside,
optional<string> project_boundaries,
- bool grow_edges)
+ bool grow_edges, bool limit_growth_vectors)
{
BoundaryLayerParameters blp;
+ BitArray boundaries(self.GetNFD()+1);
+ boundaries.Clear();
if(int* bc = get_if<int>(&boundary); bc)
{
for (int i = 1; i <= self.GetNFD(); i++)
if(self.GetFaceDescriptor(i).BCProperty() == *bc)
- blp.surfid.Append (i);
+ boundaries.SetBit(i);
}
else
{
@@ -1213,19 +1215,29 @@
auto& fd = self.GetFaceDescriptor(i);
if(regex_match(fd.GetBCName(), pattern))
{
+ boundaries.SetBit(i);
auto dom_pattern = get_if<string>(&domain);
// only add if adjacent to domain
if(dom_pattern)
{
regex pattern(*dom_pattern);
- if((fd.DomainIn() > 0 && regex_match(self.GetMaterial(fd.DomainIn()), pattern)) || (fd.DomainOut() > 0 && regex_match(self.GetMaterial(fd.DomainOut()), pattern)))
- blp.surfid.Append(i);
+ bool mat1_match = fd.DomainIn() > 0 && regex_match(self.GetMaterial(fd.DomainIn()), pattern);
+ bool mat2_match = fd.DomainOut() > 0 && regex_match(self.GetMaterial(fd.DomainOut()), pattern);
+ // if boundary is inner or outer remove from list
+ if(mat1_match == mat2_match)
+ boundaries.Clear(i);
+ // if((fd.DomainIn() > 0 && regex_match(self.GetMaterial(fd.DomainIn()), pattern)) || (fd.DomainOut() > 0 && regex_match(self.GetMaterial(fd.DomainOut()), pattern)))
+ // boundaries.Clear(i);
+ // blp.surfid.Append(i);
}
- else
- blp.surfid.Append(i);
+ // else
+ // blp.surfid.Append(i);
}
}
}
+ for(int i = 1; i<=self.GetNFD(); i++)
+ if(boundaries.Test(i))
+ blp.surfid.Append(i);
blp.new_mat = material;
if(project_boundaries.has_value())
@@ -1265,12 +1277,13 @@
blp.outside = outside;
blp.grow_edges = grow_edges;
+ blp.limit_growth_vectors = limit_growth_vectors;
GenerateBoundaryLayer (self, blp);
self.UpdateTopology();
}, py::arg("boundary"), py::arg("thickness"), py::arg("material"),
py::arg("domains") = ".*", py::arg("outside") = false,
- py::arg("project_boundaries")=nullopt, py::arg("grow_edges")=true,
+ py::arg("project_boundaries")=nullopt, py::arg("grow_edges")=true, py::arg("limit_growth_vectors") = true,
R"delimiter(
Add boundary layer to mesh.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/netgen-6.2.2203/libsrc/occ/occgeom.cpp new/netgen-6.2.2204/libsrc/occ/occgeom.cpp
--- old/netgen-6.2.2203/libsrc/occ/occgeom.cpp 2022-05-07 20:40:40.000000000 +0200
+++ new/netgen-6.2.2204/libsrc/occ/occgeom.cpp 2022-08-10 09:03:10.000000000 +0200
@@ -1589,7 +1589,11 @@
if(ar.Output())
{
std::stringstream ss;
+#if OCC_VERSION_HEX < 0x070600
BRepTools::Write(shape, ss);
+#else
+ BRepTools::Write(shape, ss, false, false, TopTools_FormatVersion_VERSION_1);
+#endif
ar << ss.str();
}
else
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/netgen-6.2.2203/libsrc/occ/python_occ.cpp new/netgen-6.2.2204/libsrc/occ/python_occ.cpp
--- old/netgen-6.2.2203/libsrc/occ/python_occ.cpp 2022-05-07 20:40:40.000000000 +0200
+++ new/netgen-6.2.2204/libsrc/occ/python_occ.cpp 2022-08-10 09:03:10.000000000 +0200
@@ -26,6 +26,7 @@
namespace netgen
{
extern std::shared_ptr<NetgenGeometry> ng_geometry;
+ extern std::shared_ptr<Mesh> mesh;
}
static string occparameter_description = R"delimiter(
@@ -272,7 +273,10 @@
SetGlobalMesh(mesh);
auto result = geo->GenerateMesh(mesh, mp);
if(result != 0)
- throw Exception("Meshing failed!");
+ {
+ netgen::mesh = mesh; // keep mesh for debugging
+ throw Exception("Meshing failed!");
+ }
ng_geometry = geo;
if (comm.Size() > 1)
mesh->Distribute();
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/netgen-6.2.2203/libsrc/occ/python_occ_basic.cpp new/netgen-6.2.2204/libsrc/occ/python_occ_basic.cpp
--- old/netgen-6.2.2203/libsrc/occ/python_occ_basic.cpp 2022-05-07 20:40:40.000000000 +0200
+++ new/netgen-6.2.2204/libsrc/occ/python_occ_basic.cpp 2022-08-10 09:03:10.000000000 +0200
@@ -76,6 +76,8 @@
.def_property("x", [](gp_Vec&p) { return p.X(); }, [](gp_Vec&p,double x) { p.SetX(x); })
.def_property("y", [](gp_Vec&p) { return p.Y(); }, [](gp_Vec&p,double y) { p.SetY(y); })
.def_property("z", [](gp_Vec&p) { return p.Z(); }, [](gp_Vec&p,double z) { p.SetZ(z); })
+ .def("Norm", [](const gp_Vec& v)
+ { return v.Magnitude(); })
.def("__str__", [] (const gp_Vec & p) {
stringstream str;
str << "(" << p.X() << ", " << p.Y() << ", " << p.Z() << ")";
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/netgen-6.2.2203/libsrc/occ/python_occ_shapes.cpp new/netgen-6.2.2204/libsrc/occ/python_occ_shapes.cpp
--- old/netgen-6.2.2203/libsrc/occ/python_occ_shapes.cpp 2022-05-07 20:40:40.000000000 +0200
+++ new/netgen-6.2.2204/libsrc/occ/python_occ_shapes.cpp 2022-08-10 09:03:10.000000000 +0200
@@ -769,7 +769,7 @@
trafo.SetTranslation(v);
BRepBuilderAPI_Transform builder(shape, trafo, true);
PropagateProperties(builder, shape, occ2ng(trafo));
- return builder.Shape();
+ return CastShape(builder.Shape());
// version 2: change location
// ...
}, py::arg("v"), "copy shape, and translate copy by vector 'v'")
@@ -1177,15 +1177,18 @@
std::vector<double> p[3];
std::vector<double> n[3];
- py::list names, colors;
+ py::list names, colors, solid_names;
+ std::vector<std::vector<int>> solid_face_map;
int index = 0;
Box<3> box(Box<3>::EMPTY_BOX);
+ TopTools_IndexedMapOfShape fmap;
for (TopExp_Explorer e(shape, TopAbs_FACE); e.More(); e.Next())
{
TopoDS_Face face = TopoDS::Face(e.Current());
// Handle(TopoDS_Face) face = e.Current();
+ fmap.Add(face);
ExtractFaceData(face, index, p, n, box);
auto & props = OCCGeometry::global_shape_properties[face.TShape()];
if(props.col)
@@ -1204,6 +1207,19 @@
index++;
}
+ for(auto& solid : GetSolids(shape))
+ {
+ std::vector<int> faces;
+ for(auto& face : GetFaces(solid))
+ faces.push_back(fmap.FindIndex(face)-1);
+ solid_face_map.push_back(move(faces));
+ auto& props = OCCGeometry::global_shape_properties[solid.TShape()];
+ if(props.name)
+ solid_names.append(*props.name);
+ else
+ solid_names.append("");
+ }
+
std::vector<double> edge_p[2];
py::list edge_names, edge_colors;
index = 0;
@@ -1263,6 +1279,7 @@
data["autoscale"] = false;
data["colors"] = colors;
data["names"] = names;
+ data["solid_names"] = solid_names;
py::list edges;
edges.append(edge_p[0]);
@@ -1270,6 +1287,7 @@
data["edges"] = edges;
data["edge_names"] = edge_names;
data["edge_colors"] = edge_colors;
+ data["solid_face_map"] = solid_face_map;
return data;
})
;
@@ -1544,6 +1562,7 @@
};
py::class_<ListOfShapes> (m, "ListOfShapes")
+ .def(py::init<vector<TopoDS_Shape>>())
.def("__iter__", [](ListOfShapes &s) {
return py::make_iterator(ListOfShapesIterator(&*s.begin()),
ListOfShapesIterator(&*s.end()));
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/netgen-6.2.2203/libsrc/stlgeom/meshstlsurface.cpp new/netgen-6.2.2204/libsrc/stlgeom/meshstlsurface.cpp
--- old/netgen-6.2.2203/libsrc/stlgeom/meshstlsurface.cpp 2022-05-07 20:40:40.000000000 +0200
+++ new/netgen-6.2.2204/libsrc/stlgeom/meshstlsurface.cpp 2022-08-10 09:03:10.000000000 +0200
@@ -106,7 +106,7 @@
<< ", trig2 = " << trig2
<< ", trig2b = " << trig2b << endl;
- if (trig1 <= 0 || trig2 <= 0 || trig1b <= 0 || trig2b <= 0)
+ if (trig1 <= 0 || trig2 < 0 || trig1b <= 0 || trig2b < 0)
{
cout << "negative trigs, "
<< ", trig1 = " << trig1
@@ -177,10 +177,13 @@
mesh.AddSegment (seg);
+ if(trig2 != 0)
+ {
Segment seg2;
seg2[0] = p2 + PointIndex::BASE-1;;
seg2[1] = p1 + PointIndex::BASE-1;;
seg2.si = geom.GetTriangle(trig2).GetFaceNum();
+
seg2.edgenr = i;
seg2.epgeominfo[0].edgenr = i;
@@ -219,8 +222,8 @@
(*testout) << "Get GeomInfo PROBLEM" << endl;
}
*/
-
mesh.AddSegment (seg2);
+ }
}
}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/netgen-6.2.2203/libsrc/stlgeom/python_stl.cpp new/netgen-6.2.2204/libsrc/stlgeom/python_stl.cpp
--- old/netgen-6.2.2203/libsrc/stlgeom/python_stl.cpp 2022-05-07 20:40:40.000000000 +0200
+++ new/netgen-6.2.2204/libsrc/stlgeom/python_stl.cpp 2022-08-10 09:03:10.000000000 +0200
@@ -9,7 +9,7 @@
using namespace netgen;
namespace netgen
{
- //extern shared_ptr<Mesh> mesh;
+ extern shared_ptr<Mesh> mesh;
extern shared_ptr<NetgenGeometry> ng_geometry;
}
@@ -125,11 +125,12 @@
{
py::class_<STLGeometry,shared_ptr<STLGeometry>, NetgenGeometry> (m,"STLGeometry")
.def(py::init<>())
- .def(py::init<>([](const string& filename)
+ .def(py::init<>([](const string& filename, bool surface)
{
ifstream ist(filename);
- return shared_ptr<STLGeometry>(STLGeometry::Load(ist));
- }), py::arg("filename"),
+ return shared_ptr<STLGeometry>(STLGeometry::Load(ist,
+ surface));
+ }), py::arg("filename"), py::arg("surface")=false,
py::call_guard<py::gil_scoped_release>())
.def(NGSPickle<STLGeometry>())
.def("_visualizationData", [](shared_ptr<STLGeometry> stl_geo)
@@ -203,7 +204,10 @@
SetGlobalMesh(mesh);
auto result = STLMeshingDummy(geo.get(), mesh, mp, stlparam);
if(result != 0)
- throw Exception("Meshing failed!");
+ {
+ netgen::mesh = mesh;
+ throw Exception("Meshing failed!");
+ }
return mesh;
}, py::arg("mp") = nullptr,
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/netgen-6.2.2203/libsrc/stlgeom/stlgeom.cpp new/netgen-6.2.2204/libsrc/stlgeom/stlgeom.cpp
--- old/netgen-6.2.2203/libsrc/stlgeom/stlgeom.cpp 2022-05-07 20:40:40.000000000 +0200
+++ new/netgen-6.2.2204/libsrc/stlgeom/stlgeom.cpp 2022-08-10 09:03:10.000000000 +0200
@@ -2578,7 +2578,7 @@
for (int i = 1; i <= GetNTE(); i++)
{
STLTopEdge & edge = GetTopEdge (i);
- double cosang =
+ double cosang = edge.TrigNum(2) == 0 ? 1. :
GetTriangle(edge.TrigNum(1)).Normal() *
GetTriangle(edge.TrigNum(2)).Normal();
edge.SetCosAngle (cosang);
@@ -2611,6 +2611,8 @@
for (int i = 1; i <= edgedata->Size(); i++)
{
STLTopEdge & sed = edgedata->Elem(i);
+ if(sed.TrigNum(2) == 0)
+ sed.SetStatus(ED_CONFIRMED);
if (sed.GetStatus() == ED_CANDIDATE ||
sed.GetStatus() == ED_UNDEFINED)
{
@@ -3187,7 +3189,7 @@
ng1 = trig.GeomNormal(points);
ng1 /= (ng1.Length() + 1e-24);
- for (int j = 1; j <= 3; j++)
+ for (int j = 1; j <= NONeighbourTrigs(i); j++)
{
int nbt = NeighbourTrig (i, j);
@@ -3261,7 +3263,7 @@
STLTrigId t = chart.GetChartTrig1(j);
const STLTriangle& tt = GetTriangle(t);
- for (int k = 1; k <= 3; k++)
+ for (int k = 1; k <= NONeighbourTrigs(t); k++)
{
STLTrigId nt = NeighbourTrig(t,k);
if (GetChartNr(nt) != i && !TrigIsInOC(nt,i))
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/netgen-6.2.2203/libsrc/stlgeom/stlgeomchart.cpp new/netgen-6.2.2204/libsrc/stlgeom/stlgeomchart.cpp
--- old/netgen-6.2.2203/libsrc/stlgeom/stlgeomchart.cpp 2022-05-07 20:40:40.000000000 +0200
+++ new/netgen-6.2.2204/libsrc/stlgeom/stlgeomchart.cpp 2022-08-10 09:03:10.000000000 +0200
@@ -238,7 +238,7 @@
*/
//find overlapping charts exacter (fast, too):
- for (int k = 1; k <= 3; k++)
+ for (int k = 1; k <= NONeighbourTrigs(nt); k++)
{
int nnt = NeighbourTrig(nt,k);
if (GetMarker(nnt) != chartnum)
@@ -387,7 +387,7 @@
// NgProfiler::StartTimer (timer4a);
if (spiralcheckon && !isdirtytrig)
- for (int k = 1; k <= 3; k++)
+ for (int k = 1; k <= NONeighbourTrigs(nt); k++)
{
// NgProfiler::StartTimer (timer4b);
STLTrigId nnt = NeighbourTrig(nt,k);
@@ -695,7 +695,7 @@
{
STLTrigId t = chart.GetChartTrig1(j);
const STLTriangle& tt = GetTriangle(t);
- for (int k = 1; k <= 3; k++)
+ for (int k = 1; k <= NONeighbourTrigs(t); k++)
{
STLTrigId nt = NeighbourTrig(t,k);
if (GetChartNr(nt) != chartnum)
@@ -756,7 +756,7 @@
STLTrigId t = chart.GetChartTrig1(j);
const STLTriangle& tt = GetTriangle(t);
- for (int k = 1; k <= 3; k++)
+ for (int k = 1; k <= NONeighbourTrigs(t); k++)
{
STLTrigId nt = NeighbourTrig(t,k);
if (GetChartNr(nt) != chartnum && outercharttrigs[nt] != chartnum)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/netgen-6.2.2203/libsrc/stlgeom/stlgeommesh.cpp new/netgen-6.2.2204/libsrc/stlgeom/stlgeommesh.cpp
--- old/netgen-6.2.2203/libsrc/stlgeom/stlgeommesh.cpp 2022-05-07 20:40:40.000000000 +0200
+++ new/netgen-6.2.2204/libsrc/stlgeom/stlgeommesh.cpp 2022-08-10 09:03:10.000000000 +0200
@@ -1169,7 +1169,7 @@
{
int t = chart.GetChartTrig1(j);
tt = GetTriangle(t);
- for (int k = 1; k <= 3; k++)
+ for (int k = 1; k <= NONeighbourTrigs(t); k++)
{
int nt = NeighbourTrig(t,k);
if (GetChartNr(nt) != chartnum)
@@ -1495,6 +1495,9 @@
if (multithread.terminate)
return 0;
+ if(stlgeometry->IsSurfaceSTL())
+ return 0;
+
if (mparam.perfstepsstart <= MESHCONST_MESHVOLUME &&
mparam.perfstepsend >= MESHCONST_MESHVOLUME)
{
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/netgen-6.2.2203/libsrc/stlgeom/stltopology.cpp new/netgen-6.2.2204/libsrc/stlgeom/stltopology.cpp
--- old/netgen-6.2.2203/libsrc/stlgeom/stltopology.cpp 2022-05-07 20:40:40.000000000 +0200
+++ new/netgen-6.2.2204/libsrc/stlgeom/stltopology.cpp 2022-08-10 09:03:10.000000000 +0200
@@ -338,7 +338,7 @@
}
-STLGeometry * STLTopology ::Load (istream & ist)
+STLGeometry * STLTopology ::Load (istream & ist, bool surface)
{
// Check if the file starts with "solid". If not, the file is binary
{
@@ -457,6 +457,7 @@
PrintWarning("File has normal vectors which differ extremely from geometry->correct with stldoctor!!!");
}
+ geom->surface = surface;
geom->InitSTLGeometry(readtrigs);
return geom;
}
@@ -650,6 +651,7 @@
}
}
+ if(!surface)
for (int i = 1; i <= ne; i++)
{
const STLTopEdge & edge = GetTopEdge (i);
@@ -668,9 +670,12 @@
const STLTriangle & t = GetTriangle (i);
for (int j = 1; j <= 3; j++)
{
- const STLTriangle & nbt = GetTriangle (t.NBTrigNum(j));
- if (!t.IsNeighbourFrom (nbt))
- orientation_ok = 0;
+ if(t.NBTrigNum(j) != 0)
+ {
+ const STLTriangle & nbt = GetTriangle (t.NBTrigNum(j));
+ if (!t.IsNeighbourFrom (nbt))
+ orientation_ok = 0;
+ }
}
}
}
@@ -801,7 +806,8 @@
neighbourtrigs.SetSize(GetNT());
for (int i = 1; i <= GetNT(); i++)
for (int k = 1; k <= 3; k++)
- AddNeighbourTrig (i, GetTriangle(i).NBTrigNum(k));
+ if(GetTriangle(i).NBTrigNum(k) != 0)
+ AddNeighbourTrig (i, GetTriangle(i).NBTrigNum(k));
}
else
{
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/netgen-6.2.2203/libsrc/stlgeom/stltopology.hpp new/netgen-6.2.2204/libsrc/stlgeom/stltopology.hpp
--- old/netgen-6.2.2203/libsrc/stlgeom/stltopology.hpp 2022-05-07 20:40:40.000000000 +0200
+++ new/netgen-6.2.2204/libsrc/stlgeom/stltopology.hpp 2022-08-10 09:03:10.000000000 +0200
@@ -120,7 +120,12 @@
STLTriangle (const STLPointId * apts);
- STLTriangle () {pts[0]=0;pts[1]=0;pts[2]=0;}
+ STLTriangle ()
+ {
+ pts[0]=0;pts[1]=0;pts[2]=0;
+ nbtrigs[0][0] = nbtrigs[0][1] = nbtrigs[0][2] = 0.;
+ nbtrigs[1][0] = nbtrigs[1][1] = nbtrigs[1][2] = 0.;
+ }
void DoArchive(Archive& ar)
{
@@ -282,6 +287,7 @@
Array<STLTriangle, STLTrigId> trias;
NgArray<STLTopEdge> topedges;
Array<Point<3>, STLPointId> points;
+ bool surface = false;
// mapping of sorted pair of points to topedge
INDEX_2_HASHTABLE<int> * ht_topedges;
@@ -313,13 +319,15 @@
virtual ~STLTopology();
static STLGeometry * LoadNaomi (istream & ist);
- static STLGeometry * Load (istream & ist);
+ static STLGeometry * Load (istream & ist, bool surface=false);
static STLGeometry * LoadBinary (istream & ist);
void Save (const filesystem::path & filename) const;
void SaveBinary (const filesystem::path & filename, const char* aname) const;
void SaveSTLE (const filesystem::path & filename) const; // stores trigs and edges
+ bool IsSurfaceSTL() const { return surface; }
+
virtual void DoArchive(Archive& ar)
{
ar & trias & points & boundingbox & pointtol;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/netgen-6.2.2203/libsrc/visualization/vsfieldlines.cpp new/netgen-6.2.2204/libsrc/visualization/vsfieldlines.cpp
--- old/netgen-6.2.2203/libsrc/visualization/vsfieldlines.cpp 2022-05-07 20:40:40.000000000 +0200
+++ new/netgen-6.2.2204/libsrc/visualization/vsfieldlines.cpp 2022-08-10 09:03:10.000000000 +0200
@@ -260,7 +260,7 @@
double phaser=1.0;
double phasei=0.0;
- std::function eval_func = [&](int elnr, const double * lami, Vec<3> & vec)
+ std::function<bool(int, const double *, Vec<3> &)> eval_func = [&](int elnr, const double * lami, Vec<3> & vec)
{
double values[6] = {0., 0., 0., 0., 0., 0.};
bool drawelem;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/netgen-6.2.2203/libsrc/visualization/vssolution.cpp new/netgen-6.2.2204/libsrc/visualization/vssolution.cpp
--- old/netgen-6.2.2203/libsrc/visualization/vssolution.cpp 2022-05-07 20:40:40.000000000 +0200
+++ new/netgen-6.2.2204/libsrc/visualization/vssolution.cpp 2022-08-10 09:03:10.000000000 +0200
@@ -795,12 +795,24 @@
static double oldrad = 0;
mesh->GetBox (pmin, pmax, -1);
- center = Center (pmin, pmax);
+ if(vispar.use_center_coords && zoomall == 2)
+ {
+ center.X() = vispar.centerx;
+ center.Y() = vispar.centery;
+ center.Z() = vispar.centerz;
+ }
+ else if(selpoint >= 1 && zoomall == 2)
+ center = mesh->Point(selpoint);
+ else if(vispar.centerpoint >= 1 && zoomall == 2)
+ center = mesh->Point(vispar.centerpoint);
+ else
+ center = Center (pmin, pmax);
rad = 0.5 * Dist (pmin, pmax);
+ if(rad == 0) rad = 1e-6;
glEnable (GL_NORMALIZE);
- if (rad > 1.5 * oldrad ||
+ if (rad > 1.2 * oldrad ||
mesh->GetMajorTimeStamp() > surfeltimestamp ||
zoomall)
{
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/netgen-6.2.2203/ng/occgeom.tcl new/netgen-6.2.2204/ng/occgeom.tcl
--- old/netgen-6.2.2203/ng/occgeom.tcl 2022-05-07 20:40:40.000000000 +0200
+++ new/netgen-6.2.2204/ng/occgeom.tcl 2022-08-10 09:03:10.000000000 +0200
@@ -101,7 +101,7 @@
set nrfaces [expr [llength $faces]]
if {$nrfaces >= 2} {
#$hlist add ErrorFaces -itemtype text -text "Faces with surface meshing error"
- $w.tree insert {} -id ErrorFaces -text "Faces with surface meshing error"
+ $w.tree insert {} end -id "ErrorFaces" -text "Faces with surface meshing error"
#$w.mtre open ErrorFaces
$w.tree item ErrorFaces -open true
set i [expr 0]
@@ -109,12 +109,12 @@
set entity [lindex $faces [expr $i]]
set myroot [string range $entity 0 [string last / $entity]-1]
if { [string length $myroot] == 0 } {
- set myroot ErrorFaces
- }
+ set myroot "ErrorFaces"
+ }
incr i 1
set entityname [lindex $faces [expr $i]]
#$hlist add ErrorFaces/$entity -text $entityname -data $entityname
- $w.tree insert {myroot} end -id $entity -text $entityname -value 0
+ $w.tree insert $myroot end -id $entity -text $entityname -value 0
incr i 1
}
}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/netgen-6.2.2203/ng/onetcl.cpp new/netgen-6.2.2204/ng/onetcl.cpp
--- old/netgen-6.2.2203/ng/onetcl.cpp 2022-05-07 20:40:40.000000000 +0200
+++ new/netgen-6.2.2204/ng/onetcl.cpp 2022-08-10 09:03:10.000000000 +0200
@@ -3992,18 +3992,18 @@
,"set faces [Ng_OCCCommand getunmeshedfaceinfo]\n"
,"set nrfaces [expr [llength $faces]]\n"
,"if {$nrfaces >= 2} {\n"
-,"$w.tree insert {} -id ErrorFaces -text \"Faces with surface meshing error\"\n"
+,"$w.tree insert {} end -id \"ErrorFaces\" -text \"Faces with surface meshing error\"\n"
,"$w.tree item ErrorFaces -open true\n"
,"set i [expr 0]\n"
,"while {$i < $nrfaces} {\n"
,"set entity [lindex $faces [expr $i]]\n"
,"set myroot [string range $entity 0 [string last / $entity]-1]\n"
,"if { [string length $myroot] == 0 } {\n"
-,"set myroot ErrorFaces\n"
+,"set myroot \"ErrorFaces\"\n"
,"}\n"
,"incr i 1\n"
,"set entityname [lindex $faces [expr $i]]\n"
-,"$w.tree insert {myroot} end -id $entity -text $entityname -value 0\n"
+,"$w.tree insert $myroot end -id $entity -text $entityname -value 0\n"
,"incr i 1\n"
,"}\n"
,"}\n"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/netgen-6.2.2203/python/__init__.py new/netgen-6.2.2204/python/__init__.py
--- old/netgen-6.2.2203/python/__init__.py 2022-05-07 20:40:40.000000000 +0200
+++ new/netgen-6.2.2204/python/__init__.py 2022-08-10 09:03:10.000000000 +0200
@@ -6,7 +6,8 @@
_netgen_lib_dir=os.path.realpath(os.path.join(os.path.dirname(__file__),'..',config.NETGEN_PYTHON_RPATH))
if sys.platform.startswith('win'):
- if sys.version >= '3.8':
+ v = sys.version_info
+ if v.major == 3 and v.minor >= 8:
os.add_dll_directory(_netgen_bin_dir)
else:
os.environ['PATH'] += ';'+_netgen_bin_dir
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/netgen-6.2.2203/python/gui.py new/netgen-6.2.2204/python/gui.py
--- old/netgen-6.2.2203/python/gui.py 2022-05-07 20:40:40.000000000 +0200
+++ new/netgen-6.2.2204/python/gui.py 2022-08-10 09:03:10.000000000 +0200
@@ -30,6 +30,13 @@
win.tk.eval( netgen.libngpy._meshing._ngscript)
+ try:
+ from IPython import get_ipython
+ ipython = get_ipython()
+ ipython.magic('gui tk')
+ except:
+ pass
+
def _Redraw(*args, **kwargs):
if libngpy._meshing._Redraw(*args, **kwargs):
import netgen
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/netgen-6.2.2203/rules/pyramidrules2.rls new/netgen-6.2.2204/rules/pyramidrules2.rls
--- old/netgen-6.2.2203/rules/pyramidrules2.rls 2022-05-07 20:40:40.000000000 +0200
+++ new/netgen-6.2.2204/rules/pyramidrules2.rls 2022-08-10 09:03:10.000000000 +0200
@@ -163,6 +163,69 @@
endrule
+rule "pyramid with one trig, left"
+
+quality 20
+
+mappoints
+(0, 0, 0);
+(1, 0, 0);
+(1, 1, 0);
+(0, 1, 0);
+(0.5, 0.5, -0.5);
+
+mapfaces
+(1, 2, 3, 4) del;
+(3, 2, 5) del;
+
+newpoints
+
+newfaces
+(1, 2, 5);
+(3, 4, 5);
+(4, 1, 5);
+
+elements
+(1, 2, 3, 4, 5);
+
+freezone2
+{ 1 P1 };
+{ 1 P2 };
+{ 1 P3 };
+{ 1 P4 };
+{ 1 P5 };
+{ 0.34 P1, 0.34 P2, 0.34 P5, -0.01 P3 };
+{ 0.34 P3, 0.34 P4, 0.34 P5, -0.02 P1 };
+{ 0.34 P1, 0.34 P4, 0.34 P5, -0.02 P2 };
+
+freezonelimit
+{ 1 P1 };
+{ 1 P2 };
+{ 1 P3 };
+{ 1 P4 };
+{ 1 P5 };
+{ 0.333 P1, 0.333 P2, 0.334 P5, 0 P3 };
+{ 0.333 P3, 0.333 P4, 0.334 P5, 0 P1 };
+{ 0.333 P1, 0.333 P4, 0.334 P5, 0 P2 };
+
+orientations
+(1, 2, 3, 5);
+(1, 3, 4, 5);
+
+
+freeset
+1 2 3 5;
+freeset
+1 3 4 5;
+freeset
+1 2 5 6;
+freeset
+3 4 5 7;
+freeset
+1 4 5 8;
+endrule
+
+
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/netgen-6.2.2203/tests/build_pip.sh new/netgen-6.2.2204/tests/build_pip.sh
--- old/netgen-6.2.2203/tests/build_pip.sh 2022-05-07 20:40:40.000000000 +0200
+++ new/netgen-6.2.2204/tests/build_pip.sh 2022-08-10 09:03:10.000000000 +0200
@@ -14,12 +14,12 @@
$PYDIR/pip install -U pytest-check numpy wheel scikit-build
rm -rf _skbuild
- $PYDIR/pip wheel --use-feature=in-tree-build .
+ $PYDIR/pip wheel .
auditwheel repair netgen_mesher*-cp${pyversion}-*.whl
rm netgen_mesher-*.whl
rm -rf _skbuild
- NETGEN_ARCH=avx2 $PYDIR/pip wheel --use-feature=in-tree-build .
+ NETGEN_ARCH=avx2 $PYDIR/pip wheel .
auditwheel repair netgen_mesher_avx2*-cp${pyversion}-*.whl
rm netgen_mesher_avx2-*.whl
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/netgen-6.2.2203/tests/pytest/test_boundarylayer.py new/netgen-6.2.2204/tests/pytest/test_boundarylayer.py
--- old/netgen-6.2.2203/tests/pytest/test_boundarylayer.py 2022-05-07 20:40:40.000000000 +0200
+++ new/netgen-6.2.2204/tests/pytest/test_boundarylayer.py 2022-08-10 09:03:10.000000000 +0200
@@ -124,8 +124,9 @@
assert ngs.Integrate(1, mesh.Materials("layer")) == pytest.approx(0.0016)
assert ngs.Integrate(1, mesh.Materials("air")) == pytest.approx(0.9664 if outside else 0.968)
+# not working yet
@pytest.mark.parametrize("outside", [True, False])
-def test_with_inner_corner(outside, capfd):
+def _test_with_inner_corner(outside, capfd):
geo = CSGeometry()
core_thickness = 0.1
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package sonic-visualiser for openSUSE:Factory checked in at 2022-10-25 11:20:16
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/sonic-visualiser (Old)
and /work/SRC/openSUSE:Factory/.sonic-visualiser.new.2275 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "sonic-visualiser"
Tue Oct 25 11:20:16 2022 rev:14 rq:1030981 version:4.5
Changes:
--------
--- /work/SRC/openSUSE:Factory/sonic-visualiser/sonic-visualiser.changes 2022-04-19 09:58:43.439600107 +0200
+++ /work/SRC/openSUSE:Factory/.sonic-visualiser.new.2275/sonic-visualiser.changes 2022-10-25 11:20:41.522227692 +0200
@@ -1,0 +2,5 @@
+Tue Oct 25 00:41:40 UTC 2022 - Konstantin Voinov <kv(a)kott.no-ip.biz>
+
+- Add patch sonic-visualiser-Fix-build-failure.patch
+
+-------------------------------------------------------------------
New:
----
sonic-visualiser-Fix-build-failure.patch
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ sonic-visualiser.spec ++++++
--- /var/tmp/diff_new_pack.vESgeS/_old 2022-10-25 11:20:42.058228879 +0200
+++ /var/tmp/diff_new_pack.vESgeS/_new 2022-10-25 11:20:42.062228888 +0200
@@ -33,6 +33,7 @@
Source1: %{name}.xml
# PATCH-FIX-OPENSUSE sonic-visualiser-system-dataquay.patch aloisio(a)gmx.com -- force use of system libdataquay
Patch0: sonic-visualiser-system-dataquay.patch
+Patch1: sonic-visualiser-Fix-build-failure.patch
BuildRequires: capnproto
BuildRequires: dssi
BuildRequires: flac
@@ -123,6 +124,8 @@
%patch0 -p1
%endif
+%patch1 -p1
+
# required with capnproto 0.7.0
for x in *.pr* config* Makefile* ; do perl -i -p -e 's/c\+\+11/c++14/g' "$x" ; done
++++++ sonic-visualiser-Fix-build-failure.patch ++++++
From 865fbe253cde8e966709bb11dc8c441ceb3891ed Mon Sep 17 00:00:00 2001
From: Chris Cannam <cannam(a)all-day-breakfast.com>
Date: Fri, 29 Jul 2022 13:31:37 +0100
Subject: [PATCH] Fix build failure
---
meson.build | 1 +
1 file changed, 1 insertion(+)
diff --git a/meson.build b/meson.build
index 59a635f..35fc470 100644
--- a/meson.build
+++ b/meson.build
@@ -138,6 +138,7 @@ if system == 'linux'
server_dependencies = [
capnp_dep,
sord_dep,
+ serd_dep,
dl_dep,
]
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package gzdoom for openSUSE:Factory checked in at 2022-10-25 11:20:14
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/gzdoom (Old)
and /work/SRC/openSUSE:Factory/.gzdoom.new.2275 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "gzdoom"
Tue Oct 25 11:20:14 2022 rev:26 rq:1030979 version:4.8.2
Changes:
--------
--- /work/SRC/openSUSE:Factory/gzdoom/gzdoom.changes 2022-07-26 19:44:28.167387418 +0200
+++ /work/SRC/openSUSE:Factory/.gzdoom.new.2275/gzdoom.changes 2022-10-25 11:20:40.766226016 +0200
@@ -1,0 +2,5 @@
+Mon Oct 24 23:24:06 UTC 2022 - Jan Engelhardt <jengelh(a)inai.de>
+
+- Update gzdoom-vulkan.patch for glslang-11.12.
+
+-------------------------------------------------------------------
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ gzdoom.spec ++++++
--- /var/tmp/diff_new_pack.cF1nMa/_old 2022-10-25 11:20:41.354227319 +0200
+++ /var/tmp/diff_new_pack.cF1nMa/_new 2022-10-25 11:20:41.358227327 +0200
@@ -50,7 +50,7 @@
BuildRequires: pkgconfig(vpx)
BuildRequires: pkgconfig(zlib)
%if 0%{?suse_version} >= 1550
-BuildRequires: glslang-devel
+BuildRequires: glslang-devel >= 11.10
BuildRequires: pkgconfig(vulkan) >= 1.2.162
%else
Provides: bundled(glslang) = 11.10.0
++++++ gzdoom-vulkan.patch ++++++
--- /var/tmp/diff_new_pack.cF1nMa/_old 2022-10-25 11:20:41.398227416 +0200
+++ /var/tmp/diff_new_pack.cF1nMa/_new 2022-10-25 11:20:41.406227435 +0200
@@ -6,13 +6,13 @@
---
CMakeLists.txt | 4 +---
src/CMakeLists.txt | 2 +-
- src/common/rendering/vulkan/system/vk_builders.cpp | 1 +
- 3 files changed, 3 insertions(+), 4 deletions(-)
+ src/common/rendering/vulkan/system/vk_builders.cpp | 4 ++++
+ 3 files changed, 6 insertions(+), 4 deletions(-)
-Index: gzdoom-g4.8.1/CMakeLists.txt
+Index: gzdoom-g4.8.2/CMakeLists.txt
===================================================================
---- gzdoom-g4.8.1.orig/CMakeLists.txt
-+++ gzdoom-g4.8.1/CMakeLists.txt
+--- gzdoom-g4.8.2.orig/CMakeLists.txt
++++ gzdoom-g4.8.2/CMakeLists.txt
@@ -325,9 +325,7 @@ option(FORCE_INTERNAL_ASMJIT "Use intern
mark_as_advanced( FORCE_INTERNAL_ASMJIT )
@@ -24,10 +24,10 @@
endif()
add_subdirectory( libraries/discordrpc EXCLUDE_FROM_ALL )
-Index: gzdoom-g4.8.1/src/CMakeLists.txt
+Index: gzdoom-g4.8.2/src/CMakeLists.txt
===================================================================
---- gzdoom-g4.8.1.orig/src/CMakeLists.txt
-+++ gzdoom-g4.8.1/src/CMakeLists.txt
+--- gzdoom-g4.8.2.orig/src/CMakeLists.txt
++++ gzdoom-g4.8.2/src/CMakeLists.txt
@@ -368,7 +368,7 @@ add_custom_target( revision_check ALL
set( PROJECT_LIBRARIES ${PROJECT_LIBRARIES} "${ZLIB_LIBRARIES}" "${JPEG_LIBRARIES}" "${BZIP2_LIBRARIES}" "${CMAKE_DL_LIBS}" "${DRPC_LIBRARIES}")
@@ -37,10 +37,10 @@
endif()
# ZMUSIC
-Index: gzdoom-g4.8.1/src/common/rendering/vulkan/system/vk_builders.cpp
+Index: gzdoom-g4.8.2/src/common/rendering/vulkan/system/vk_builders.cpp
===================================================================
---- gzdoom-g4.8.1.orig/src/common/rendering/vulkan/system/vk_builders.cpp
-+++ gzdoom-g4.8.1/src/common/rendering/vulkan/system/vk_builders.cpp
+--- gzdoom-g4.8.2.orig/src/common/rendering/vulkan/system/vk_builders.cpp
++++ gzdoom-g4.8.2/src/common/rendering/vulkan/system/vk_builders.cpp
@@ -25,6 +25,7 @@
#include "renderstyle.h"
#include <ShaderLang.h>
@@ -49,4 +49,14 @@
static const TBuiltInResource DefaultTBuiltInResource = {
/* .MaxLights = */ 32,
+@@ -119,6 +120,9 @@ static const TBuiltInResource DefaultTBu
+ /* .maxTaskWorkGroupSizeY_NV = */ 1,
+ /* .maxTaskWorkGroupSizeZ_NV = */ 1,
+ /* .maxMeshViewCountNV = */ 4,
++#if GLSLANG_VERSION_MAJOR == 11 && GLSLANG_VERSION_MINOR >= 12
++ 256, 256, 128, 128, 128, 128, 128, 128, 4,
++#endif
+ /* .maxDualSourceDrawBuffersEXT = */ 1,
+
+ /* .limits = */ {
1
0