openSUSE Commits
Threads by month
- ----- 2024 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2023 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2022 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2021 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2020 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2019 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2018 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2017 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2016 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2015 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2014 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2013 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2012 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2011 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2010 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2009 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2008 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2007 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2006 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
November 2018
- 1 participants
- 1606 discussions
Hello community,
here is the log from the commit of package 000product for openSUSE:Factory checked in at 2018-11-28 11:15:48
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/000product (Old)
and /work/SRC/openSUSE:Factory/.000product.new.19453 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "000product"
Wed Nov 28 11:15:48 2018 rev:699 rq: version:unknown
Changes:
--------
New Changes file:
NO CHANGES FILE!!!
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
_service:product_converter:openSUSE-Addon-NonOss-ftp-ftp-i586_x86_64.kiwi: same change
_service:product_converter:openSUSE-Addon-NonOss-release.spec: same change
++++++ _service:product_converter:openSUSE-Tumbleweed-Kubic-dvd5-dvd-x86_64.kiwi ++++++
--- /var/tmp/diff_new_pack.3ujy85/_old 2018-11-28 11:16:17.946655469 +0100
+++ /var/tmp/diff_new_pack.3ujy85/_new 2018-11-28 11:16:17.950655463 +0100
@@ -1,4 +1,4 @@
-<image name="OBS__openSUSE-Tumbleweed-Kubic___20181127" schemaversion="4.1">
+<image name="OBS__openSUSE-Tumbleweed-Kubic___20181128" schemaversion="4.1">
<description type="system">
<author>The SUSE Team</author>
<contact>build(a)opensuse.org</contact>
@@ -35,9 +35,9 @@
<productvar name="SEPARATE_MEDIA">true</productvar>
<productvar name="SHA1OPT">-x -2</productvar>
<productvar name="VENDOR">openSUSE</productvar>
- <productvar name="VERSION">20181127</productvar>
+ <productvar name="VERSION">20181128</productvar>
<productinfo name="CONTENTSTYLE">11</productinfo>
- <productinfo name="DISTRO">cpe:/o:opensuse:opensuse-tumbleweed-kubic:20181127,openSUSE Tumbleweed Kubic</productinfo>
+ <productinfo name="DISTRO">cpe:/o:opensuse:opensuse-tumbleweed-kubic:20181128,openSUSE Tumbleweed Kubic</productinfo>
<productinfo name="LINGUAS">en_US </productinfo>
<productinfo name="VENDOR">openSUSE</productinfo>
<productoption name="INI_DIR">/usr/share/kiwi/modules/plugins/suse-tumbleweed</productoption>
++++++ _service:product_converter:openSUSE-Tumbleweed-Kubic-release.spec ++++++
--- /var/tmp/diff_new_pack.3ujy85/_old 2018-11-28 11:16:17.978655423 +0100
+++ /var/tmp/diff_new_pack.3ujy85/_new 2018-11-28 11:16:17.986655413 +0100
@@ -17,7 +17,7 @@
Name: openSUSE-Tumbleweed-Kubic-release
-Version: 20181127
+Version: 20181128
Release: 0
Summary: openSUSE Tumbleweed Kubic
License: GPL-2.0-or-later
@@ -38,9 +38,9 @@
ExclusiveArch: %ix86 x86_64 ppc64le s390x aarch64
Provides: %name-%version
Provides: product() = openSUSE-Tumbleweed-Kubic
-Provides: product(openSUSE-Tumbleweed-Kubic) = 20181127-0
+Provides: product(openSUSE-Tumbleweed-Kubic) = 20181128-0
Provides: product-label() = openSUSE%20Tumbleweed%20Kubic
-Provides: product-cpeid() = cpe%3A%2Fo%3Aopensuse%3Aopensuse%2Dtumbleweed%2Dkubic%3A20181127
+Provides: product-cpeid() = cpe%3A%2Fo%3Aopensuse%3Aopensuse%2Dtumbleweed%2Dkubic%3A20181128
Provides: product-url(releasenotes) = http%3A%2F%2Fdoc.opensuse.org%2Frelease%2Dnotes%2Fx86_64%2FopenSUSE%2FTumbleweed%2Frelease%2Dnotes%2DopenSUSE.rpm
Provides: product-endoflife()
Requires: product_flavor(openSUSE-Tumbleweed-Kubic)
@@ -61,7 +61,7 @@
Group: System/Fhs
Provides: product_flavor()
Provides: flavor(dvd)
-Provides: product_flavor(openSUSE-Tumbleweed-Kubic) = 20181127-0
+Provides: product_flavor(openSUSE-Tumbleweed-Kubic) = 20181128-0
Summary: openSUSE Tumbleweed Kubic
%description dvd
@@ -123,11 +123,11 @@
<product schemeversion="0">
<vendor>openSUSE</vendor>
<name>openSUSE-Tumbleweed-Kubic</name>
- <version>20181127</version>
+ <version>20181128</version>
<release>0</release>
<endoflife></endoflife>
<arch>%{_target_cpu}</arch>
- <cpeid>cpe:/o:opensuse:opensuse-tumbleweed-kubic:20181127</cpeid>
+ <cpeid>cpe:/o:opensuse:opensuse-tumbleweed-kubic:20181128</cpeid>
<productline>openSUSE-Tumbleweed-Kubic</productline>
<register>
<pool>
_service:product_converter:openSUSE-cd-mini-x86_64.kiwi: same change
_service:product_converter:openSUSE-dvd5-dvd-i586.kiwi: same change
_service:product_converter:openSUSE-dvd5-dvd-x86_64.kiwi: same change
_service:product_converter:openSUSE-ftp-ftp-i586_x86_64.kiwi: same change
_service:product_converter:openSUSE-release.spec: same change
openSUSE-Tumbleweed-Kubic-release.spec: same change
openSUSE-release.spec: same change
++++++ openSUSE-Tumbleweed-Kubic.product ++++++
--- /var/tmp/diff_new_pack.3ujy85/_old 2018-11-28 11:16:18.546654632 +0100
+++ /var/tmp/diff_new_pack.3ujy85/_new 2018-11-28 11:16:18.554654621 +0100
@@ -6,7 +6,7 @@
<name>openSUSE-Tumbleweed-Kubic</name>
<releasepkgname>openSUSE-Tumbleweed-Kubic-release</releasepkgname>
<endoflife/>
- <version>20181127</version>
+ <version>20181128</version>
<!-- release is no longer optional -->
<release>0</release>
<productline>openSUSE-Tumbleweed-Kubic</productline>
1
0
Hello community,
here is the log from the commit of package nextcloud for openSUSE:Factory checked in at 2018-11-28 11:15:42
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/nextcloud (Old)
and /work/SRC/openSUSE:Factory/.nextcloud.new.19453 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "nextcloud"
Wed Nov 28 11:15:42 2018 rev:21 rq:652247 version:14.0.4
Changes:
--------
--- /work/SRC/openSUSE:Factory/nextcloud/nextcloud.changes 2018-11-26 10:31:24.656950290 +0100
+++ /work/SRC/openSUSE:Factory/.nextcloud.new.19453/nextcloud.changes 2018-11-28 11:15:48.138697025 +0100
@@ -1,0 +2,6 @@
+Tue Nov 27 22:51:28 UTC 2018 - ecsos(a)opensuse.org
+
+- Fix warning for /.well-known/{caldav,carddav} in overview
+ security & setup warning.
+
+-------------------------------------------------------------------
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ apache_secure_data ++++++
--- /var/tmp/diff_new_pack.wHCvDq/_old 2018-11-28 11:15:49.182695569 +0100
+++ /var/tmp/diff_new_pack.wHCvDq/_new 2018-11-28 11:15:49.186695563 +0100
@@ -20,3 +20,6 @@
# just in case if .htaccess gets disabled
Require all denied
</Directory>
+
+Redirect 301 /.well-known/carddav /nextcloud/remote.php/dav
+Redirect 301 /.well-known/caldav /nextcloud/remote.php/dav
1
0
Hello community,
here is the log from the commit of package virt-manager for openSUSE:Factory checked in at 2018-11-28 11:15:35
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/virt-manager (Old)
and /work/SRC/openSUSE:Factory/.virt-manager.new.19453 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "virt-manager"
Wed Nov 28 11:15:35 2018 rev:185 rq:652243 version:2.0.0
Changes:
--------
--- /work/SRC/openSUSE:Factory/virt-manager/virt-manager.changes 2018-11-10 16:59:40.607731638 +0100
+++ /work/SRC/openSUSE:Factory/.virt-manager.new.19453/virt-manager.changes 2018-11-28 11:15:42.486704910 +0100
@@ -1,0 +2,8 @@
+Tue Nov 27 13:13:15 MST 2018 - carnold(a)suse.com
+
+- bsc#1116990 - [virt-install] internal error: libxenlight failed
+ to create new domain 'sles-11-sp4-64-pv-def-net'. Fix reversed
+ logic when testing for i386.
+ virtinst-use-xenpae-kernel-for-32bit.patch
+
+-------------------------------------------------------------------
@@ -69,0 +78,6 @@
+
+-------------------------------------------------------------------
+Mon Oct 15 06:41:55 UTC 2018 - Klaus Kämpf <kkaempf(a)suse.com>
+
+- Remove hard dependency on openSUSE branding by changing it to a
+ recommends
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ virt-manager.spec ++++++
--- /var/tmp/diff_new_pack.BSVw8u/_old 2018-11-28 11:15:43.618703331 +0100
+++ /var/tmp/diff_new_pack.BSVw8u/_new 2018-11-28 11:15:43.618703331 +0100
@@ -97,7 +97,7 @@
Requires: virt-manager-common = %{verrel}
%if 0%{?is_opensuse} == 1
# virtman-desktop.patch changes the icon to be yast-vm-management, which is provided by yast2-branding
-Requires: yast2-branding-openSUSE
+Recommends: yast2-branding-openSUSE
%endif
%if %{with_guestfs}
++++++ virtinst-use-xenpae-kernel-for-32bit.patch ++++++
--- /var/tmp/diff_new_pack.BSVw8u/_old 2018-11-28 11:15:43.774703113 +0100
+++ /var/tmp/diff_new_pack.BSVw8u/_new 2018-11-28 11:15:43.774703113 +0100
@@ -15,14 +15,14 @@
- self._kernel_paths.append(
- ("boot/%s/vmlinuz-xen" % tree_arch,
- "boot/%s/initrd-xen" % tree_arch))
-+ if self.arch == "i386":
-+ self._kernel_paths.append(
-+ ("boot/%s/vmlinuz-xen" % tree_arch,
-+ "boot/%s/initrd-xen" % tree_arch))
-+ else:
++ if tree_arch == "i386":
+ self._kernel_paths.append(
+ ("boot/%s/vmlinuz-xenpae" % tree_arch,
+ "boot/%s/initrd-xenpae" % tree_arch))
++ else:
++ self._kernel_paths.append(
++ ("boot/%s/vmlinuz-xen" % tree_arch,
++ "boot/%s/initrd-xen" % tree_arch))
if (tree_arch == "s390x" and
(self._os_variant == "sles11" or self._os_variant == "sled11")):
1
0
Hello community,
here is the log from the commit of package dkimproxy for openSUSE:Factory checked in at 2018-11-28 11:15:28
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/dkimproxy (Old)
and /work/SRC/openSUSE:Factory/.dkimproxy.new.19453 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "dkimproxy"
Wed Nov 28 11:15:28 2018 rev:19 rq:652242 version:1.4.1
Changes:
--------
--- /work/SRC/openSUSE:Factory/dkimproxy/dkimproxy.changes 2012-11-28 10:13:16.000000000 +0100
+++ /work/SRC/openSUSE:Factory/.dkimproxy.new.19453/dkimproxy.changes 2018-11-28 11:15:35.186715097 +0100
@@ -1,0 +2,6 @@
+Tue Nov 27 16:32:27 UTC 2018 - varkoly(a)suse.com
+
+- bsc#1116007 - Please convert SysV init scripts by dkimproxy into
+ native systemd services
+
+-------------------------------------------------------------------
New:
----
dkimproxy-in.service
dkimproxy-out.service
dkimproxy.sysconfig
dkimproxy_env.sh
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ dkimproxy.spec ++++++
--- /var/tmp/diff_new_pack.44McMD/_old 2018-11-28 11:15:39.454709140 +0100
+++ /var/tmp/diff_new_pack.44McMD/_new 2018-11-28 11:15:39.470709118 +0100
@@ -1,7 +1,7 @@
#
# spec file for package dkimproxy
#
-# Copyright (c) 2012 SUSE LINUX Products GmbH, Nuernberg, Germany.
+# Copyright (c) 2018 SUSE LINUX GmbH, Nuernberg, Germany.
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@@ -12,13 +12,24 @@
# license that conforms to the Open Source Definition (Version 1.9)
# published by the Open Source Initiative.
-# Please submit bugfixes or comments via http://bugs.opensuse.org/
+# Please submit bugfixes or comments via https://bugs.opensuse.org/
#
+%if %{undefined _fillupdir}
+%define _fillupdir /var/adm/fillup-templates/
+%endif
+#
+# sysvinit -- build for SysVinit and not for systemd
+#
+%if %{undefined systemd_requires}
+%global with_sysvinit 1
+%endif
+%bcond_with sysvinit
+
%define dkimproxy_prefix /usr/share/dkimproxy
Summary: DKIMproxy is an SMTP-proxy that implements the DKIM and DomainKeys standards
-License: GPL-2.0
+License: GPL-2.0-only
Group: Productivity/Networking/Email/Utilities
Name: dkimproxy
@@ -26,7 +37,16 @@
Release: 0
Url: http://dkimproxy.sourceforge.net/
Source: %{name}-%{version}.tar.gz
+%if %{with sysvinit}
Source1: %{name}.init
+%else
+Source2: %{name}.sysconfig
+Source3: %{name}-in.service
+Source4: %{name}-out.service
+Source5: %{name}_env.sh
+%define services %{name}-in.service %{name}-out.service
+%endif
+
Patch0: dkimproxy-1.4.1-avoid-perl-provides.diff
BuildRoot: %{_tmppath}/%{name}-%{version}-build
BuildArch: noarch
@@ -60,9 +80,19 @@
%install
%makeinstall
chmod 644 $( find %{buildroot}/%{dkimproxy_prefix} -name "*.pm" )
-mkdir -p %{buildroot}{%{_sbindir},/etc/init.d}
-install -m755 %{SOURCE1} %{buildroot}/etc/init.d/%{name}
-ln -sf ../../etc/init.d/%{name} %{buildroot}/usr/sbin/rc%{name}
+%if %{with sysvinit}
+ mkdir -p %{buildroot}{%{_sbindir},/etc/init.d}
+ install -m755 %{SOURCE1} %{buildroot}/etc/init.d/%{name}
+ ln -sf ../../etc/init.d/%{name} %{buildroot}/usr/sbin/rc%{name}
+%else
+ mkdir -p %{buildroot}%{_fillupdir}
+ mkdir -p %{buildroot}%{_unitdir}
+ mkdir -p %{buildroot}%{_libexecdir}/%{name}
+ install -m 0644 %{S:2} %{buildroot}%{_fillupdir}/sysconfig.%{name}
+ install -m 0644 %{S:3} %{buildroot}%{_unitdir}/
+ install -m 0644 %{S:4} %{buildroot}%{_unitdir}/
+ install -m 0755 %{S:5} %{buildroot}%{_libexecdir}/%{name}
+%endif
# ---------------------------------------------------------------------------
### Clean up buildroot
find %{buildroot} -name .packlist -exec %{__rm} {} \;
@@ -74,24 +104,45 @@
%pre
/usr/sbin/groupadd -r dkim 2> /dev/null || :
/usr/sbin/useradd -r -g dkim -s /bin/false -c "DKIMproxy Daemon" -d /var/spool/dkim dkim 2> /dev/null || :
-# ---------------------------------------------------------------------------
+%if %{without sysvinit}
+%service_add_pre %services
+%endif
%preun
+%if %{with sysvinit}
%stop_on_removal %{name}
-# ---------------------------------------------------------------------------
+%else
+%service_del_preun %services
+%endif
%post
+%if %{without sysvinit}
+%service_add_post %services
+%{fillup_only}
+%endif
%postun
+%if %{with sysvinit}
%restart_on_update %{name}
%insserv_cleanup
+%else
+%service_del_postun %services
+%endif
%files
%defattr(-, root, root, 0755)
-%doc AUTHORS ChangeLog COPYING INSTALL NEWS README TODO smtpprox.ChangeLog smtpprox.README smtpprox.TODO
+%doc AUTHORS ChangeLog INSTALL NEWS README TODO smtpprox.ChangeLog smtpprox.README smtpprox.TODO
+%license COPYING
%{dkimproxy_prefix}
+%if %{with sysvinit}
%{_sbindir}/rcdkimproxy
%config /etc/init.d/%{name}
+%else
+%{_fillupdir}/sysconfig.%{name}
+%{_unitdir}/%{name}-in.service
+%{_unitdir}/%{name}-out.service
+%{_libexecdir}/%{name}/
+%endif
# ---------------------------------------------------------------------------
%changelog
++++++ dkimproxy-in.service ++++++
# This file is part of package dkimproxy.
#
# Copyright (c) 2018 SuSE LINUX Products GmbH, Germany.
# Author: Peter Varkoly
# Please send feedback to http://www.suse.de/feedback
#
# Description:
#
# Used to start the DKIMproxy. This is an SMTP-proxy
# that implements the DKIM and DomainKeys standards
#
[Unit]
Description=Inbound DKIM-proxy (dkimproxy.in)
After=remote-fs.target
[Service]
PreExecStart=/usr/lib/dkimproxy/dkimproxy_env.sh
EnvironmentFile=/run/sysconfig/dkimproxy
PIDFile=/run/dkimporxy_in.pid
ExecStart=/usr/share/dkimproxy/bin/dkimproxy.in --hostname=$FQHN --conf_file=$DKIMPROXY_IN_CFG --user=$DKIMPROXY_USER --group=$DKIMPROXY_GROUP --daemonize
++++++ dkimproxy-out.service ++++++
# This file is part of package dkimproxy.
#
# Copyright (c) 2018 SuSE LINUX Products GmbH, Germany.
# Author: Peter Varkoly
# Please send feedback to http://www.suse.de/feedback
#
# Description:
#
# Used to start the DKIMproxy. This is an SMTP-proxy
# that implements the DKIM and DomainKeys standards
#
[Unit]
Description=Outbound DKIM-proxy (dkimproxy.out)
After=remote-fs.target
[Service]
EnvironmentFile=/etc/sysconfig/dkimproxy
PIDFile=/run/dkimporxy_out.pid
ExecStart=/usr/share/dkimproxy/bin/dkimproxy.out --conf_file=$DKIMPROXY_OUT_CFG --user=$DKIMPROXY_USER --group=$DKIMPROXY_GROUP --daemonize
++++++ dkimproxy.sysconfig ++++++
## Path: Network/Mail/DKIMProxy
## Description: Basic configuration of the DKIMProxy
## Type: string
## Default: "dkim"
#
DKIMPROXY_USER=dkim
## Description: Basic configuration of the DKIMProxy
## Type: string
## Default: "dkim"
#
DKIMPROXY_GROUP=dkim
## Description: Basic configuration of the DKIMProxy
## Type: string
## Default: "dkim"
#
DKIMPROXY_IN_CFG="/usr/share/dkimproxy/etc/dkimproxy_in.conf"
## Description: Basic configuration of the DKIMProxy
## Type: string
## Default: "dkim"
#
DKIMPROXY_OUT_CFG="/usr/share/dkimproxy/etc/dkimproxy_out.conf"
++++++ dkimproxy_env.sh ++++++
#!/bin/sh
# extract configuration from /etc/sysconfig/dkimproxy and write
# environment to /run/sysconfig/dkimproxy to be used by
# systemd unit files.
if [ -r /etc/sysconfig/dkimproxy ]; then
cat /etc/sysconfig/dkimproxy > /run/sysconfig/dkimproxy
fi
echo "#Fully qualified hostanme" >> /run/sysconfig/dkimproxy
echo "HFQHN=$( hostname -f )" >> /run/sysconfig/dkimproxy
1
0
Hello community,
here is the log from the commit of package PlayOnLinux for openSUSE:Factory checked in at 2018-11-28 11:15:24
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/PlayOnLinux (Old)
and /work/SRC/openSUSE:Factory/.PlayOnLinux.new.19453 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "PlayOnLinux"
Wed Nov 28 11:15:24 2018 rev:6 rq:652223 version:4.3.3
Changes:
--------
--- /work/SRC/openSUSE:Factory/PlayOnLinux/PlayOnLinux.changes 2018-07-04 23:56:23.935808211 +0200
+++ /work/SRC/openSUSE:Factory/.PlayOnLinux.new.19453/PlayOnLinux.changes 2018-11-28 11:15:27.554725749 +0100
@@ -1,0 +2,12 @@
+Tue Nov 27 18:15:23 UTC 2018 - ecsos(a)opensuse.org
+
+- Update to 4.3.3
+ * Linux: Fix HDPI support
+ * Compatibility with OSX < Mojave
+- Changes from 4.3
+ * Various fix on OSX
+ * Phoenicis (POL 5) winebuild compatibility. POL 4 winebuilds
+ will be deprecated.
+ (See https://github.com/PhoenicisOrg/phoenicis-winebuild)
+
+-------------------------------------------------------------------
Old:
----
PlayOnLinux_4.2.12.tar.gz
New:
----
PlayOnLinux_4.3.3.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ PlayOnLinux.spec ++++++
--- /var/tmp/diff_new_pack.mVdEwT/_old 2018-11-28 11:15:31.234720612 +0100
+++ /var/tmp/diff_new_pack.mVdEwT/_new 2018-11-28 11:15:31.246720595 +0100
@@ -18,7 +18,7 @@
Name: PlayOnLinux
%define _name playonlinux
-Version: 4.2.12
+Version: 4.3.3
Release: 0
Summary: Play your Windows games on GNU/Linux
License: GPL-3.0-only
@@ -37,6 +37,7 @@
Requires: dbus-1-python
Requires: gettext
Requires: icoutils
+Requires: jq
# Remove when p7zip-full is in all products
%if 0%{suse_version} > 1500
Requires: p7zip-full
@@ -65,6 +66,9 @@
%setup -q -n %{_name}
%patch0 -p1
%patch10 -p1
+# rpmlint
+find . -type f -exec sed -i -e 's|\/usr\/bin\/env python|\/usr\/bin\/python|g' {} \;
+find . -type f -exec sed -i -e 's|\/usr\/bin\/env bash|\/bin\/bash|g' {} \;
%build
# Nothing to build.
++++++ PlayOnLinux_4.2.12.tar.gz -> PlayOnLinux_4.3.3.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/playonlinux/CHANGELOG.md new/playonlinux/CHANGELOG.md
--- old/playonlinux/CHANGELOG.md 2017-06-19 21:03:38.000000000 +0200
+++ new/playonlinux/CHANGELOG.md 2018-11-20 23:04:47.000000000 +0100
@@ -1,3 +1,11 @@
+# 4.3.3
+* Linux: Fix HDPI support
+* Compatibility with OSX < Mojave
+
+# 4.3
+* Various fix on OSX
+* Phoenicis (POL 5) winebuild compatibility. POL 4 winebuilds will be deprecated. (See https://github.com/PhoenicisOrg/phoenicis-winebuild)
+
# 4.2.11
* Fix POL_SetupWindow_download clobbering $FILENAME
* Fix small typo in first use "send report" message
@@ -138,11 +146,11 @@
* Corefonts are now managed as any other POL_Call package. (Debian.lib is consequently no longer needed)
* Removing installation process of missing gecko and mono at startup. It should not happen anymore
* Cleaner way to save panel position
-* Fix a bug in GetSettings() where the value contain the equal ('=') character
+* Fix a bug in GetSettings() where the value contain the equal ('=') character
* PlayOnMac does no longer need a reboot after installing XQuartz
* PlayOnMac does no longer popup a warning before xterm is installed
-* Removing IRC
-* Icones install can now be bigger than 22x22
+* Removing IRC
+* Icones install can now be bigger than 22x22
# 4.2.2
@@ -161,7 +169,7 @@
(http://www.playonlinux.com/en/topic-10442-New_Warning_Message_on_startup.ht…)
* wine-mono download support
* Fix POL_SetupWindow_message typo (not enough video memory message) (#2790)
-* POL_LoadVar_Device: refacto POL_DetectVideoCards;
+* POL_LoadVar_Device: refacto POL_DetectVideoCards;
Let user choose when there's more than one known videocard present
* Add link to download page in side panel when version is not up-to-date (#2677)
Not sure it's visible enough, could be improved.
@@ -176,11 +184,11 @@
scripts in $POL_USER_ROOT/configurations/function_overrides/ override function
scripts by the same name. This feature disables bug reporting.
* Fix website login when username contains spaces (#3573)
-* "Run an .exe in this virtual disk" sets current directory to program's
+* "Run an .exe in this virtual disk" sets current directory to program's
directory (#1855)
* fix "wineserver not found" in interactive use of POL_Wine_Direct3D /
POL_Wine_X11Drv / POL_Wine_DirectSound / POL_Wine_DirectInput
-* Remove use of os.system() from mainwindow.py and configure.py
+* Remove use of os.system() from mainwindow.py and configure.py
(less overhead, less quoting nightmare)
* Add missing POL_Wine_AutoSetVersionEnv before wineserver calls
@@ -276,7 +284,7 @@
# 4.1.5
-* POL_Debug_* cookie forgotten
+* POL_Debug_* cookie forgotten
* Bug in update process
# 4.1.4
@@ -287,7 +295,7 @@
* Clickable links on install window
* Better (and clearer) debug windows
* Small fix for OSX 10.8
-* NEW: PlayOnLinux --run supports extensions!
+* NEW: PlayOnLinux --run supports extensions!
* POL_Shortcut_Document : Researches
* New POL_SetupWindow_browse GUI
* POL_SetupWindow_browse supports filters
@@ -334,7 +342,7 @@
# 4.1.1
Fixes to critial problem
-* Removing optirun support which makes wine hang
+* Removing optirun support which makes wine hang
* UTF8 problem with files association
# 4.1.0
@@ -360,7 +368,7 @@
* Local var problems
* POL_Lnk_Read to read .lnk files
* New screenshot system
-* Bugfix
+* Bugfix
* Arch problem
* Pre run command should not be shown for prefixes
* Fix TRANSLATORS files, some names did not appear.
@@ -411,7 +419,7 @@
* Bug 732 : text color
* Writting POL_WGET everywhere
* unset WINEARCH
-* When installing a patched Wine, deploy Gecko for the non-patched version
+* When installing a patched Wine, deploy Gecko for the non-patched version
* Report "patched Wine version" in prefix logs only when it's true
* POL_ExtractIcon, POL_ExtractBiggestIcon: can also extract icons from .ico files
* Removed dependency upon curl by posting to pastebin with wget (bug #670)
@@ -450,7 +458,7 @@
recreated if user choose to delete it)
* Title in IRC close confirm box
* wineprefixcreate should no longer exist!
- POL needs to run it on OLD POL versions,
+ POL needs to run it on OLD POL versions,
but should NOT run in on recent ones.
* Bugfix in requiredversion
* SelectPrefix make the directory
@@ -485,7 +493,7 @@
* Title on dialog boxes
* OpenGL detection
* Removing Offline POL (no longer supported)
-* rm "*" message removed (Don't worry, it was controled)
+* rm "*" message removed (Don't worry, it was controled)
* POL_Shortcut(): Possibly to use path instead of executable
* POL_Shortcut_InsertBeforeWine: made sure the commands are not interpreted
before insertion. Even \n is no longer interpreted, to insert several lines,
@@ -569,7 +577,7 @@
* POL_Functions fixed.
* Update of Capture.
* Variouses fixes.
-
+
# 4.0.2
* External shortcuts fixed.
@@ -701,8 +709,8 @@
* playonlinux-cmd
* playonlinux-pkg
* Plugins: Capture
-* Removing some unused files plus cleaning some files.
-* Update copyright header.
+* Removing some unused files plus cleaning some files.
+* Update copyright header.
# 3.8.1
@@ -740,7 +748,7 @@
* Added POL_SetupWindow_auto_shortcut which will replace POL_SetupWindow_make_shortcut
* Added POL_SetupError function
* install.py is fully compatible with offline mode plugin
-* Some bugs corrected in wine version management
+* Some bugs corrected in wine version management
# 3.7.6
@@ -821,7 +829,7 @@
# 3.2
-* PlayOnLinux's game configurator is remade.
+* PlayOnLinux's game configurator is remade.
* The scriptor has the possibility to make a configurator for each script in ~/.PlayOnLinux/configurations/configurators/script_name
* The irc chat is removed
* GLSL bug corrected
@@ -835,13 +843,13 @@
# 3.1.2
-* PlayOnLinux install menu is faster
+* PlayOnLinux install menu is faster
* Low connection can read the descriptions
# 3.1.1
* Description box in install menu has become an html box. Now, it's possible to underline or bold words in the description of a game.
-* Descriptions are downloaded when the user clic on the name of the game, and no more when PlayOnLinux repositories are refreshed.
+* Descriptions are downloaded when the user clic on the name of the game, and no more when PlayOnLinux repositories are refreshed.
* Users can edit the description of a game on the website when they send a script.
* PlayOnLinux repositories refreshing has become faster
* A bug corrected in folders like "Applications Data". Now, it has the same name for every languages do avoid problems.
@@ -878,7 +886,7 @@
* New GUIs
* POL is is .po files
* New wine version support GUI
-* Minor corrections in IRC
+* Minor corrections in IRC
* A lot of new fonction
* Use_WineVersion function
@@ -913,18 +921,18 @@
# 2.6
* A lot of improvement in IRC chat
-* An Option GUI
+* An Option GUI
* A lot of settings added
-# 2.5
+# 2.5
-* IRC Chat integrated
+* IRC Chat integrated
* Lynx dependances does exists any more
* Install menu bug fixed
# 2.3
-* New install menu
+* New install menu
* Lot of bugs fixed
# 2.2.1
@@ -939,7 +947,7 @@
* New menu more user friendly
* Autorun automated installer
* Community and workonlinux doesn't exists anymore
-* Ask_For_cdrom improved
+* Ask_For_cdrom improved
* Fixed bugs in package manager
* Lot of translations
* Lot of commands translated in english
@@ -953,7 +961,7 @@
* Hungarian translation
* .pol package manager
* A new logo
-* LiveInstall is called "Manual installation"
+* LiveInstall is called "Manual installation"
* Bug corrected in icons installation
* Wine GIT in wineversion menu
@@ -1002,7 +1010,7 @@
# 2.0.2
-* Wine GIT added
+* Wine GIT added
* Wine Booster 2 Added
# 2.0.1
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/playonlinux/Makefile new/playonlinux/Makefile
--- old/playonlinux/Makefile 2017-06-19 21:03:38.000000000 +0200
+++ new/playonlinux/Makefile 2018-11-20 23:04:47.000000000 +0100
@@ -24,6 +24,7 @@
CC = gcc $(CFLAGS)
PYTHON = python2 -m py_compile
GZIP = gzip
+SHELL := /bin/bash
PREFIX ?= /usr
DESTDIR ?= # root dir
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/playonlinux/bash/install_wver new/playonlinux/bash/install_wver
--- old/playonlinux/bash/install_wver 2017-06-19 21:03:38.000000000 +0200
+++ new/playonlinux/bash/install_wver 2018-11-20 23:04:47.000000000 +0100
@@ -15,16 +15,17 @@
# You should have received a copy of the GNU General Public License along
# with this program; if not, write to the Free Software Foundation, Inc.,
-# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
[ "$PLAYONLINUX" = "" ] && exit 0
-source "$PLAYONLINUX/lib/sources"
+source "$PLAYONLINUX/lib/sources"
POL_SetupWindow_Init
[ "$2" = "" ] && POL_System_SetArch "auto" || POL_System_SetArch "$2"
-version=$1
+[ "$3" = "" ] && distribution="upstream" || distribution="$3"
+version="$1"
TITLE="Wine $version ($2) installer"
POL_SetupWindow_free_presentation "Wine $1" "$(eval_gettext "This wizard will help you to install Wine: ")$version ($2) $(eval_gettext 'on the $APPLICATION_TITLE environment.')"
-POL_Wine_InstallVersion "$1"
+POL_Wine_InstallVersion "$1" "$3"
POL_SetupWindow_Close
-exit 0
\ No newline at end of file
+exit 0
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/playonlinux/bash/startup_after_server new/playonlinux/bash/startup_after_server
--- old/playonlinux/bash/startup_after_server 2017-06-19 21:03:38.000000000 +0200
+++ new/playonlinux/bash/startup_after_server 2018-11-20 23:04:47.000000000 +0100
@@ -24,13 +24,13 @@
source "$PLAYONLINUX/lib/sources"
-export XQUARTZ_VERSION="2.7.7"
+export XQUARTZ_VERSION="2.7.11"
install_x11()
{
- XQuartzUrl="http://xquartz.macosforge.org/downloads/SL/XQuartz-$XQUARTZ_VERSION.dmg"
+ XQuartzUrl="http://dl.bintray.com/xquartz/downloads/XQuartz-$XQUARTZ_VERSION.dmg"
FilePrefix="XQuartz"
STEP_TITLE="XQuartz"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/playonlinux/lib/wine.lib new/playonlinux/lib/wine.lib
--- old/playonlinux/lib/wine.lib 2017-06-19 21:03:38.000000000 +0200
+++ new/playonlinux/lib/wine.lib 2018-11-20 23:04:47.000000000 +0100
@@ -15,7 +15,7 @@
# You should have received a copy of the GNU General Public License along
# with this program; if not, write to the Free Software Foundation, Inc.,
-# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
# wine.lib
# --------
@@ -513,7 +513,7 @@
NoErrors="True"
shift
fi
-
+
if [ ! "$(POL_Config_Read NO_FSCHECK)" = "TRUE" ]; then
if [ "$1" = "start" ]; then
if [ "$2" = "/unix" ]; then
@@ -569,7 +569,7 @@
errors=$?
fi
else
- # FIXME
+ # FIXME
$BEFORE_WINE $(POL_Config_Read BEFORE_WINE) wine "$@" 2> "$WINEPREFIX/playonlinux.log" > "$WINEPREFIX/playonlinux.log"
errors=$?
fi
@@ -597,7 +597,7 @@
else
touch "$WINEPREFIX/playonlinux.cfg" 2> /dev/null
fi
-
+
## In fact it's a bad idea
#if [ "$(POL_Config_PrefixRead ARCH)" = "x86" ]; then ## Comme ca, pas de conflits
# export WINEARCH=win32
@@ -658,6 +658,19 @@
# Install a wineversion
# Usage: POL_Wine_InstallVersion [VERSION]
[ ! "$1" = "" ] && export POL_WINEVERSION="$1"
+ [ ! "$2" = "" ] && export POL_WINEDISTRIBUTION="$2" || export POL_WINEDISTRIBUTION="upstream"
+
+ if [[ "$POL_WINEVERSION" == *"-staging"* ]]; then
+ POL_WINEVERSION="${POL_WINEVERSION/-staging/}"
+ POL_WINEDISTRIBUTION="staging"
+ else
+ POL_WINEVERSION_INSTALL="$POL_WINEVERSION"
+ fi
+
+ if [ "$POL_WINEDISTRIBUTION" == "staging" ]; then
+ POL_WINEVERSION_INSTALL="$POL_WINEVERSION-staging"
+ fi
+
[ "$POL_WINEVERSION" = "" ] && POL_Debug_Fatal "No POL_WINEVERSION set"
[ "$POL_ARCH" = "" ] && POL_System_SetArch "auto"
POL_Debug_Message "Installing wine version path: $POL_WINEVERSION, $POL_ARCH"
@@ -670,7 +683,15 @@
touch "$WINEDIR/installing"
if [ ! -e "$WINEDIR/$POL_WINEVERSION" ]
then
- WINE_ADDRESS=$($POL_WGET "$WINE_SITE/$WINE_SECTION.lst" -O- | grep ";$POL_WINEVERSION;" | tail -n 1 | cut -d ";" -f1)
+ POL_Debug_Message "Wine site: $WINE_SITE"
+ echo $POL_WGET "$WINE_SITE" -O-
+ WINEDATA="$($POL_WGET "$WINE_SITE" -O- |jq -r ".[] | select(.name==\"$POL_WINEDISTRIBUTION-$ARCH_PREFIX-$POL_ARCH\") | .packages | .[] | select(.version==\"$POL_WINEVERSION\")")"
+ POL_Debug_Message "Winebuild data: $WINEDATA"
+
+ WINE_ADDRESS="$(echo "$WINEDATA" | jq '.url' -r)"
+ POL_Debug_Message "Wine address found: $WINE_ADDRESS"
+ #WINE_ADDRESS=$($POL_WGET "$WINE_SITE/$WINE_SECTION.lst" -O- | grep ";$POL_WINEVERSION;" | tail -n 1 | cut -d ";" -f1)
+
if [ "$WINE_ADDRESS" = "" ] && [ "$POL_ARCH" = "amd64" ]
then
POL_Debug_Warning "Wine $1 amd64 does not exist. Switching to x86"
@@ -685,11 +706,12 @@
fi
cd "$POL_USER_ROOT/tmp"
- POL_SetupWindow_download "$(eval_gettext "Downloading Wine: ")$POL_WINEVERSION" "$TITLE" "$WINE_SITE/$WINE_SECTION/$WINE_ADDRESS"
+ filename="$PWD/PlayOnLinux-wine-$POL_WINEVERSION-$POL_WINEDISTRIBUTION-$ARCH_PREFIX-$POL_ARCH.tar.gz"
+ POL_SetupWindow_download "$(eval_gettext "Downloading Wine: ")$POL_WINEVERSION" "$TITLE" "$WINE_ADDRESS"
POL_SetupWindow_wait_next_signal "$(eval_gettext "Downloading Wine: ")$POL_WINEVERSION" "$TITLE"
sleep 1
- sha1=$($POL_WGET "$WINE_SITE/$WINE_SECTION/$WINE_ADDRESS.sha1" -O- | awk '{print $1}')
- sha1_file=$(shasum "./$WINE_ADDRESS" | awk '{print $1}')
+ sha1="$(echo "$WINEDATA" | jq '.sha1sum' -r)"
+ sha1_file=$(shasum "$filename" | awk '{print $1}')
echo "Server sha1 : $sha1"
echo "Client sha1 : $sha1_file"
@@ -698,16 +720,19 @@
POL_SetupWindow_message "$(eval_gettext 'The download seems to have failed.')" "$TITLE"
else
POL_SetupWindow_wait "$(eval_gettext 'Extracting Wine...')" "$TITLE"
- bash "$PLAYONLINUX/playonlinux-pkg" -i "$PWD/$WINE_ADDRESS"
+ mkdir -p "$POL_USER_ROOT/wine/$ARCH_PREFIX-$POL_ARCH/$POL_WINEVERSION_INSTALL"
+ cd "$POL_USER_ROOT/wine/$ARCH_PREFIX-$POL_ARCH/$POL_WINEVERSION_INSTALL"
+ tar -xvf "$filename"
fi
- rm "$WINE_ADDRESS"
- POL_Wine_Install_resources gecko "$POL_WINEVERSION" "$POL_ARCH"
- POL_Wine_Install_resources mono "$POL_WINEVERSION" "$POL_ARCH"
+ rm "$filename"
+ # POL_Wine_Install_resources gecko "$POL_WINEVERSION" "$POL_ARCH"
+ # POL_Wine_Install_resources mono "$POL_WINEVERSION" "$POL_ARCH"
fi
fi
rm "$WINEDIR/installing"
-
+
}
+
POL_Wine_InstallCDROM()
{
POL_Wine_InstallCDROMCustom "$1" "$CDROM"
@@ -753,7 +778,7 @@
resourceamd64="$(cut -d ';' -f3 <<< $found)"
md5x86="$(cut -d ';' -f4 <<< $found)"
md5amd64="$(cut -d ';' -f5 <<< $found)"
-
+
cd "$resource_dir"
if [ "$resourcex86" ]; then
if [ -e "$resourcex86" ]; then
@@ -763,7 +788,7 @@
POL_Download "$(resource_download_url $resource x86 $resourcex86)" "$md5x86"
fi
fi
-
+
if [ "$arch" = "amd64" ]; then
if [ "$resourceamd64" ]; then
if [ -e "$resourceamd64" ]; then
@@ -832,6 +857,8 @@
POL_Wine_InstallVersion "$POL_WINEVERSION"
fi
export PATH="$WINEDIR/$POL_WINEVERSION/bin/:$PATH"
+ export DYLD_FALLBACK_LIBRARY_PATH="$WINEDIR/$POL_WINEVERSION/lib/"
+ export FREETYPE_PROPERTIES="truetype:interpreter-version=35"
export LD_LIBRARY_PATH="$WINEDIR/$POL_WINEVERSION/lib/:$WINEDIR/$POL_WINEVERSION/lib64/:$LD_LIBRARY_PATH"
[ "$POL_OS" = "FreeBSD" ] && export LD_32_LIBRARY_PATH="$WINEDIR/$POL_WINEVERSION/lib/:$LD_32_LIBRARY_PATH"
fi
@@ -886,7 +913,7 @@
else
POL_Debug_Message "No version specified. Using system version ($(wine --version))"
fi
-
+
POL_Debug_Message "Creating prefix ($POL_WINEVERSION)..."
[ "$POL_ARCH" = "" ] && POL_System_SetArch "auto"
[ "$WINEPREFIX" = "" ] && POL_Debug_Fatal "WINEPREFIX is not set!"
@@ -951,10 +978,10 @@
fi
POL_Debug_Message "Setting WINEARCH to $WINEARCH"
fi
-
+
wine wineboot
POL_Debug_InitPrefix
-
+
if [ -e "$WINEPREFIX/drive_c/windows/syswow64" ] # It is a 64 bits prefix
then
POL_Config_PrefixWrite "ARCH" "amd64"
@@ -973,9 +1000,9 @@
POL_Config_PrefixWrite "ARCH" "$POL_ARCH"
POL_Config_PrefixWrite "VERSION" "$POL_WINEVERSION"
POL_Wine_AutoSetVersionEnv
-
+
POL_Debug_InitPrefix
-
+
which wineprefixcreate && [ "$(POL_MD5_file "$(which wineprefixcreate)")" != "5c0ee90682746e811698a53415b4765d" ] && [ ! "$(which wineprefixcreate | grep $APPLICATION_TITLE)" = "" ] && wine wineprefixcreate
wine wineboot
fi
@@ -1110,28 +1137,28 @@
# Lock bash commands until wine is exited
# Usage : POL_Wine_WaitBefore [Program title] (--allow-kill)
SOFTNAME="$1"
- if [ "$2" = "--allow-kill" ]
+ if [ "$2" = "--allow-kill" ]
then
allowKill="true"
else
allowKill="false"
fi
-
+
[ "$1" = "" ] && message="$(eval_gettext "Please wait...")" || message="$(eval_gettext 'Please wait while $SOFTNAME is installed...')"
-
+
if [ "$allowKill" = "true" ]
then
POL_SetupWindow_wait_button "$message" "$TITLE" "$(eval_gettext 'Install is done')" "wineserver -k" "$(eval_gettext 'Be careful! This will kill install process. If it is not finished, you will have to reinstall $SOFTNAME')"
else
POL_SetupWindow_wait "$message" "$TITLE"
fi
-
+
}
POL_Wine_WaitExit ()
{
# Lock bash commands until wine is exited
# Usage : POL_Wine_WaitExit (--force-input) [Program title] (--allow-kill)
- if [ "$1" = "--force-input" ]
+ if [ "$1" = "--force-input" ]
then
forceInput="true"
shift
@@ -1140,13 +1167,13 @@
fi
SOFTNAME="$1"
- if [ "$2" = "--allow-kill" ]
+ if [ "$2" = "--allow-kill" ]
then
allowKill="true"
else
allowKill="false"
fi
-
+
[ "$1" = "" ] && message="$(eval_gettext "Please wait...")" || message="$(eval_gettext 'Please wait while $SOFTNAME is installed...')"
if [ "$allowKill" = "true" ]
then
@@ -1177,11 +1204,11 @@
}
POL_Wine_GetBaseName()
{
- perl -e '$release=$ARGV[0]; $release =~ s/^([0-9]+\.[0-9]+(\.[0-9]+)?(-rc[0-9]+)?)-?.*$/$1/; print "$release\n"' "$1"
+ perl -e '$release=$ARGV[0]; $release =~ s/^([0-9]+\.[0-9]+(\.[0-9]+)?(-rc[0-9]+)?)-?.*$/$1/; print "$release\n"' "$1"
}
POL_Wine_GetPatchName()
{
- perl -e '$release=$ARGV[0]; $release =~ s/^[0-9]+\.[0-9]+(\.[0-9]+)?(-rc[0-9]+)?-?//; print "$release\n"' "$1"
+ perl -e '$release=$ARGV[0]; $release =~ s/^[0-9]+\.[0-9]+(\.[0-9]+)?(-rc[0-9]+)?-?//; print "$release\n"' "$1"
}
POL_Lnk_Read()
{
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/playonlinux/python/guiv3.py new/playonlinux/python/guiv3.py
--- old/playonlinux/python/guiv3.py 2017-06-19 21:03:38.000000000 +0200
+++ new/playonlinux/python/guiv3.py 2018-11-20 23:04:47.000000000 +0100
@@ -23,7 +23,7 @@
import lib.Variables as Variables
import lib.lng, lib.playonlinux as playonlinux
lib.lng.Lang()
-urllib.URLopener.version = Variables.userAgent # Arg ...
+urllib.URLopener.version = Variables.userAgent # Arg ...
class Download(threading.Thread):
def __init__(self, url, local):
@@ -45,7 +45,7 @@
def download(self):
try:
urllib.urlretrieve(self.url, self.local, reporthook = self.onHook)
- except:
+ except Exception as e:
self.failed = True
self.finished = True
@@ -83,7 +83,7 @@
if(Arg3 == "protect"):
self.ProtectedWindow = True
self.oldfichier = ""
-
+
self.make_gui()
wx.EVT_CLOSE(self, self.Cancel)
@@ -101,7 +101,7 @@
self.panel = wx.Panel(self, -1, pos=(0,0), size=((520, 398+Variables.windows_add_size)))
self.header = wx.Panel(self.panel, -1, style=Variables.widget_borders, size=(522,65))
self.header.SetBackgroundColour((255,255,255))
- self.footer = wx.Panel(self.panel, -1, size=(522,45), pos=(-1,358), style=Variables.widget_borders)
+ self.footer = wx.Panel(self.panel, -1, size=(522,45), pos=(-1,358))
# Panels
self.MainPanel = wx.Panel(self.panel, -1, pos=(150,0), size=(370,356))
@@ -123,7 +123,7 @@
self.titre = wx.StaticText(self.header, -1, "",pos=(20,30), size=(340,356),style=wx.ST_NO_AUTORESIZE)
self.titre.SetForegroundColour((0,0,0)) # For dark themes
- self.texteP = wx.StaticText(self.MainPanel, -1, "",pos=(5,50))
+ self.texteP = wx.StaticText(self.MainPanel, -1, "",pos=(5,50),size=(340, 500))
self.texteP.SetForegroundColour((0,0,0)) # For dark themes
self.titreP = wx.StaticText(self.MainPanel, -1,"",pos=(5,5), size=(340,356))
@@ -135,7 +135,7 @@
# Buttons
-
+
if(os.environ["POL_OS"] != "Mac"):
self.CancelButton = wx.Button(self.footer, wx.ID_CANCEL, _("Cancel"), pos=(430,0),size=(85,37))
@@ -143,11 +143,11 @@
else:
self.CancelButton = wx.Button(self.footer, wx.ID_CANCEL, _("Cancel"), pos=(420,-3),size=(85,37))
self.NextButton = wx.Button(self.footer, wx.ID_FORWARD, _("Next"), pos=(330,-3),size=(85,37))
-
+
if(self.ProtectedWindow == True):
self.CancelButton.Enable(False)
-
-
+
+
self.InfoScript = wx.StaticBitmap(self.footer, -1, wx.Bitmap(os.environ['PLAYONLINUX']+"/resources/images/setups/about.png"), pos=(10,8))
self.InfoScript.Hide()
self.script_ID = 0
@@ -165,8 +165,8 @@
self.YesButton = wx.Button(self.footer, wx.ID_YES, _("Yes"), pos=(340,0), size=(85,37))
else:
self.NoButton = wx.Button(self.footer, wx.ID_NO, _("No"), pos=(420,-3),size=(85,37))
- self.YesButton = wx.Button(self.footer, wx.ID_YES, _("Yes"), pos=(330,-3), size=(85,37))
-
+ self.YesButton = wx.Button(self.footer, wx.ID_YES, _("Yes"), pos=(330,-3), size=(85,37))
+
self.browse = wx.Button(self.panel, 103, _("Browse"), size=(130,40))
self.browse_text = wx.StaticText(self.panel, -1, "")
self.browse_image = wx.StaticBitmap(self.panel, -1, wx.Bitmap(os.environ['PLAYONLINUX']+"/etc/playonlinux.png"))
@@ -186,16 +186,16 @@
self.gauge = wx.Gauge(self.panel, -1, 50, size=(375, 20))
self.WaitButton = wx.Button(self.panel, 310, "", size=(250,25))
-
-
+
+
self.animation = wx.StaticBitmap(self.panel, -1, self.GetLoaderFromAngle(1), (228,170))
self.current_angle = 1
-
+
self.images = wx.ImageList(22, 22)
self.MenuGames = wx.TreeCtrl(self.panel, 111, style=wx.TR_HIDE_ROOT|wx.TR_FULL_ROW_HIGHLIGHT|Variables.widget_borders, pos=(25,105),size=(460,220))
self.MenuGames.SetImageList(self.images)
self.MenuGames.SetSpacing(0)
-
+
# Login
self.login = wx.StaticText(self.panel, -1, _("Login: "),pos=(20,120),size=(460,20))
@@ -223,19 +223,19 @@
self.Result = ""
self.animation.Show()
self.footer.Hide()
-
+
# Set the timer
self.timer = wx.Timer(self, 3)
self.Bind(wx.EVT_TIMER, self.TimerAction, self.timer)
self.timer.Start(100)
self.Timer_downloading = False
self.Timer_animate = True
-
+
def GetLoaderFromAngle(self, angle):
if(angle >= 1 and angle <= 12):
image = wx.Image(Variables.playonlinux_env+"/resources/images/setups/wait/"+str(angle)+".png")
return image.ConvertToBitmap()
-
+
def Destroy_all(self):
self.footer.Show()
self.Result = None
@@ -280,13 +280,13 @@
self.debugZone.Hide()
self.Refresh()
-
+
def getResult(self):
if(self.Result == None):
return False
else:
return self.Result
-
+
def TimerAction(self, event):
## If the setup window is downloading a file, it is a good occasion to update the progress bar
if(self.Timer_downloading == True):
@@ -298,12 +298,12 @@
# may be -1 on older FTP servers which do not return a file size in response to a retrieval request
if self.downloader.taille_fichier >= 0:
self.gauge.SetRange(self.downloader.taille_fichier)
-
+
try:
self.gauge.SetValue(downloaded)
except wx._core.PyAssertionError:
pass
-
+
tailleFichierB = self.downloader.taille_fichier / 1048576.0
tailleFichierN = str(round(tailleFichierB, 1))
else:
@@ -322,7 +322,7 @@
if(self.Timer_animate == True):
self.current_angle = ((self.current_angle + 1) % 12)
self.animation.SetBitmap(self.GetLoaderFromAngle(self.current_angle + 1))
-
+
### Theses methods command the window. There are called directly by the server
def POL_SetupWindow_message(self, message, title):
self.Destroy_all()
@@ -347,7 +347,7 @@
wx.EVT_BUTTON(self, wx.ID_FORWARD, self.release)
self.DrawImage()
-
+
def POL_SetupWindow_SetID(self, script_id):
self.InfoScript.Show()
self.script_ID = script_id
@@ -407,7 +407,7 @@
self.texte_bis.Show()
self.SendBash()
- def POL_SetupWindow_download(self, message, title, url, localfile):
+ def POL_SetupWindow_download(self, message, title, url, localfile):
self.Destroy_all()
self.DrawDefault(message, title)
self.space = message.count("\\n")+1
@@ -436,20 +436,20 @@
self.DrawDefault(message, title)
self.NextButton.Enable(False)
-
+
self.space = message.count("\\n")+1
self.gauge.SetPosition((70,95+self.space*16))
self.gauge.Show()
-
+
self.DrawCancel()
self.DrawNext()
self.NextButton.Enable(False)
self.SendBash()
-
+
def POL_SetupWindow_wait_b(self, message, title, button_value, command, alert):
- self.POL_SetupWindow_wait(message, title)
+ self.POL_SetupWindow_wait(message, title)
self.WaitButton.Show()
- self.WaitButton.SetLabel(button_value)
+ self.WaitButton.SetLabel(button_value)
self.space = message.count("\\n")+1
self.WaitButton.SetPosition((135,115+self.space*16))
self.Bind(wx.EVT_BUTTON, lambda event:
@@ -667,7 +667,7 @@
self.texte_panel.SetLabel(open(filetoread,"r").read())
except:
self.texte_panel.SetLabel("E. File not found")
-
+
self.texte_panel.Wrap(400)
self.texte_panel.Show()
@@ -749,7 +749,7 @@
self.release_yes(event)
else:
self.release_no(event)
-
+
def release_login(self, event):
self.SendBash(self.loginbox.GetValue().encode("utf-8","replace")+"~"+self.passbox.GetValue().encode("utf-8","replace"))
self.NextButton.Enable(False)
@@ -781,7 +781,7 @@
self.SendBash("Ok")
self.NextButton.Enable(False)
- def release_menugame(self,event):
+ def release_menugame(self,event):
self.SendBash(self.MenuGames.GetItemText(self.MenuGames.GetSelection()).encode("utf-8","replace"))
self.NextButton.Enable(False)
@@ -837,7 +837,7 @@
def add_menu_icons(self, items, cut, icon_list, icon_folder):
elements = items.split(cut)
icons = icon_list.split(cut)
-
+
#self.games.sort()
self.images.RemoveAll()
self.MenuGames.DeleteAllItems()
@@ -876,12 +876,12 @@
if(self.FileDialog.GetPath() != ""):
filePath = self.FileDialog.GetPath().encode("utf-8","replace")
filePathBaseName = filePath.split("/")[filePath.count("/")]
- self.champ.SetValue(filePath)
+ self.champ.SetValue(filePath)
self.NextButton.Enable(True)
self.browse_text.Show()
self.browse_text.SetLabel(filePathBaseName)
self.browse_text.SetPosition(((520-self.browse_text.GetSize()[0])/2,180))
-
+
if(".exe" in filePathBaseName and os.path.getsize(filePath) <= 30*1024*1024):
try:
tmpPath = os.environ['POL_USER_ROOT']+"/tmp/browse"+self.bash_pid+".png"
@@ -896,11 +896,11 @@
browse_image = wx.Image(os.environ['PLAYONLINUX']+"/etc/playonlinux.png")
else:
browse_image = wx.Image(os.environ['PLAYONLINUX']+"/etc/playonlinux.png")
-
+
if(browse_image.GetWidth() >= 48):
browse_image.Rescale(48,48,wx.IMAGE_QUALITY_HIGH)
browse_image = browse_image.ConvertToBitmap()
-
+
self.browse_image.SetBitmap(browse_image)
self.browse_image.SetPosition(((520-self.browse_image.GetSize()[0])/2,220))
self.browse_image.Show()
@@ -937,4 +937,3 @@
self.MenuGames.Show()
self.Menu.Hide()
self.Refresh()
-
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/playonlinux/python/lib/Variables.py new/playonlinux/python/lib/Variables.py
--- old/playonlinux/python/lib/Variables.py 2017-06-19 21:03:38.000000000 +0200
+++ new/playonlinux/python/lib/Variables.py 2018-11-20 23:04:47.000000000 +0100
@@ -4,6 +4,7 @@
import os, random, sys, string
import wx, lib.playonlinux as playonlinux
+from lib.dpiFetcher import dpiFetcher
# Un ptit check
try:
@@ -16,9 +17,8 @@
os.environ["POL_PORT"] = "0"
os.environ["PLAYONLINUX"] = os.path.realpath(os.path.realpath(__file__)+"/../../../")
os.environ["SITE"] = "http://repository.playonlinux.com"
-os.environ["VERSION"] = "4.2.12"
+os.environ["VERSION"] = "4.3.3"
os.environ["POL_ID"] = str(random.randint(1, 100000000))
-os.environ["WINE_SITE"] = "http://wine.playonlinux.com/binaries"
os.environ["GECKO_SITE"] = "http://wine.playonlinux.com/gecko"
os.environ["MONO_SITE"] = "http://wine.playonlinux.com/mono"
homedir = os.environ["HOME"]
@@ -33,25 +33,27 @@
os.environ["PLAYONMAC"] = os.environ["PLAYONLINUX"]
os.environ["POL_USER_ROOT"] = os.environ["HOME"]+"/Library/PlayOnMac/"
os.environ["APPLICATION_TITLE"] = "PlayOnMac"
+ os.environ["WINE_SITE"] = "https://phoenicis.playonlinux.com/index.php/wine?os=darwin"
os.environ["POL_DNS"] = "playonmac.com"
windows_add_size = 20;
windows_add_playonmac = 1;
widget_borders = wx.SIMPLE_BORDER
os_name = "darwin"
- os.environ["POL_WGET"] = "wget --prefer-family=IPv4 -q"
+ os.environ["POL_WGET"] = "wget --prefer-family=IPv4 -q --no-check-certificate"
# Variables PlayOnLinux
if os.environ["POL_OS"] == "Linux":
os.environ["POL_USER_ROOT"] = os.environ["HOME"]+"/.PlayOnLinux/"
os.environ["APPLICATION_TITLE"] = "PlayOnLinux"
os.environ["POL_DNS"] = "playonlinux.com"
+ os.environ["WINE_SITE"] = "https://phoenicis.playonlinux.com/index.php/wine?os=linux"
if playonlinux.VersionLower(wx.VERSION_STRING, "3.0.0"):
windows_add_size = 0
windows_add_playonmac = 0
else:
- windows_add_size = 25
+ windows_add_size = dpiFetcher().fetch_extra_pixel()
windows_add_playonmac = 0
-
+
widget_borders = wx.RAISED_BORDER
os_name = "linux"
try:
@@ -64,10 +66,11 @@
os.environ["POL_WGET"] = "env LD_LIBRARY_PATH=\"\" wget -q"
else:
os.environ["POL_WGET"] = "env LD_LIBRARY_PATH=\"\" wget --prefer-family=IPv4 -q"
-
+
if os.environ["POL_OS"] == "FreeBSD":
os.environ["POL_USER_ROOT"] = os.environ["HOME"]+"/.PlayOnBSD/"
os.environ["APPLICATION_TITLE"] = "PlayOnBSD"
+ os.environ["WINE_SITE"] = "https://phoenicis.playonlinux.com/index.php/wine?os=freebsd"
os.environ["POL_DNS"] = "playonlinux.com"
windows_add_size = 0
windows_add_playonmac = 0
@@ -77,14 +80,14 @@
os.environ["POL_WGET"] = "wget -q"
else:
os.environ["POL_WGET"] = "wget --prefer-family=IPv4 -q"
-
-
+
+
os.environ["POL_CURL"] = "curl"
archi = string.split(os.environ["MACHTYPE"], "-")
archi = archi[0]
-if archi == "x86_64" and os.environ["POL_OS"] == "Linux":
+if archi == "x86_64":
os.environ["AMD64_COMPATIBLE"] = "True"
else:
os.environ["AMD64_COMPATIBLE"] = "False"
@@ -134,7 +137,7 @@
os.environ["LD_32_PATH_ORIGIN"] = os.environ["LD_32_LIBRARY_PATH"]
except KeyError:
os.environ["LD_32_PATH_ORIGIN"] = ""
-
+
os.environ["DYLDPATH_ORIGIN"] = os.environ["DYLD_LIBRARY_PATH"]
playonlinux_env = os.environ["PLAYONLINUX"]
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/playonlinux/python/lib/dpiFetcher.py new/playonlinux/python/lib/dpiFetcher.py
--- old/playonlinux/python/lib/dpiFetcher.py 1970-01-01 01:00:00.000000000 +0100
+++ new/playonlinux/python/lib/dpiFetcher.py 2018-11-20 23:04:47.000000000 +0100
@@ -0,0 +1,16 @@
+import subprocess
+
+class dpiFetcher():
+ def fetchDPI(self):
+ try:
+ process = subprocess.Popen("xrdb -query|grep Xft.dpi|awk '{print $2}'", stdout=subprocess.PIPE, shell=True)
+ (output, err) = process.communicate()
+ return int(output)
+ except ValueError:
+ return 96
+
+ # Should be fixed as possible...
+ def fetch_extra_pixel(self):
+ factor = self.fetchDPI() / 96
+ print(factor)
+ return 68.75 * factor - 50
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/playonlinux/python/mainwindow.py new/playonlinux/python/mainwindow.py
--- old/playonlinux/python/mainwindow.py 2017-06-19 21:03:38.000000000 +0200
+++ new/playonlinux/python/mainwindow.py 2018-11-20 23:04:47.000000000 +0100
@@ -87,7 +87,7 @@
self.sendPercentage(int(line))
except ValueError:
pass
-
+
self.updating = False
if(playonlinux.VersionLower(os.environ["VERSION"],self.WebVersion)):
self.sendToStatusBar(_('An updated version of {0} is available').format(os.environ["APPLICATION_TITLE"])+" ("+self.WebVersion+")",False)
@@ -116,8 +116,8 @@
def __init__(self, frame):
wx.aui.AuiManager.__init__(self, frame)
self.startPerspective = self.SavePerspective()
-
-
+
+
def _getPerspectiveName(self):
name = self.SavePerspective().split("=")
name = name[1].split(";")
@@ -126,15 +126,15 @@
def getPerspective(self):
return self.SavePerspective().replace(self._getPerspectiveName(),"PERSPECTIVE_NAME")
-
+
def savePosition(self):
playonlinux.SetSettings("PANEL_PERSPECTIVE", self.getPerspective())
-
+
def restorePosition(self):
self.startPerspective = self.SavePerspective()
-
+
self.Update()
-
+
try:
setting = playonlinux.GetSettings("PANEL_PERSPECTIVE")
if(setting.count("Actions") < 2 or setting.count("dock_size") < 2 or not "PERSPECTIVE_NAME" in setting):
@@ -143,19 +143,19 @@
setting = setting.replace("PERSPECTIVE_NAME",self._getPerspectiveName())
if(setting != ""):
self.LoadPerspective(setting)
-
+
except wx._core.PyAssertionError:
self.LoadPerspective(self.startPerspective)
-
-
+
+
self.Update()
-
+
def AddPane(self, data, settings):
wx.aui.AuiManager.AddPane(self, data, settings)
-
+
def Destroy(self):
self.savePosition()
-
+
class MainWindow(wx.Frame):
def __init__(self,parent,id,title):
@@ -171,7 +171,7 @@
self.updater = POLWeb()
self.updater.start()
- # These lists contain the dock links and images
+ # These lists contain the dock links and images
self.menuElem = {}
self.menuImage = {}
@@ -230,9 +230,9 @@
self._mgr = PanelManager(self)
self._mgr.AddPane(self.list_game, wx.CENTER)
self._mgr.AddPane(self.menu_gauche, wx.aui.AuiPaneInfo().Name('Actions').Caption('Actions').Left().BestSize((200,400)).Floatable(True).CloseButton(False).TopDockable(False).BottomDockable(False))
-
-
-
+
+
+
self.filemenu = wx.Menu()
### On MacOS X, preference is always on the main menu
if(os.environ["POL_OS"] == "Mac"):
@@ -275,7 +275,7 @@
self.expertmenu.Append(108, _("Run a local script"))
self.expertmenu.Append(109, _("{0} console").format(os.environ["APPLICATION_TITLE"]))
-
+
self.expertmenu.Append(115, _('Close all {0} software').format(os.environ["APPLICATION_TITLE"]))
self.expertmenu.AppendSeparator()
@@ -337,7 +337,7 @@
self.option_item_p = wx.MenuItem(self.pluginsmenu, 214, _("Plugin manager"))
self.option_item_p.SetBitmap(wx.Bitmap(Variables.playonlinux_env+"/etc/onglet/package-x-generic.png"))
-
+
self.pluginsmenu.AppendItem(self.option_item_p)
@@ -370,7 +370,7 @@
self.menubar.Append(self.help_menu, "&Help")
#self.menubar.Append(self.help_menu, _("About"))
-
+
self.SetMenuBar(self.menubar)
iconSize = (32,32)
@@ -386,7 +386,7 @@
self.toolbar.AddSeparator()
self.toolbar.AddLabelTool(121, _("Configure"), wx.Bitmap(Variables.playonlinux_env+"/resources/images/toolbar/configure.png"))
- try:
+ try:
self.toolbar.AddStretchableSpace()
self.SpaceHack = False
except:
@@ -452,14 +452,14 @@
wx.EVT_MENU(self, 402, self.runSupport)
wx.EVT_MENU(self, 403, self.runSupport)
wx.EVT_MENU(self, 404, self.runSupport)
-
+
# PlayOnLinux main timer
self.timer = wx.Timer(self, 1)
self.Bind(wx.EVT_TIMER, self.TimerAction, self.timer)
self.timer.Start(1000)
self.Timer_LastShortcutList = None
self.Timer_LastIconList = None
-
+
# SetupWindow timer. The server is in another thread and GUI must be run from the main thread
self.SetupWindowTimer = wx.Timer(self, 2)
self.Bind(wx.EVT_TIMER, self.SetupWindowAction, self.SetupWindowTimer)
@@ -482,7 +482,7 @@
def ResizeWindow(self, e):
self.UpdateGaugePos()
self.UpdateSearchHackSize()
-
+
def UpdateSearchHackSize(self):
if(self.SpaceHack == True):
self.dirtyHack.SetLabel("")
@@ -500,7 +500,7 @@
while(self.SetupWindowTimer_action != None):
time.sleep(0.1)
self.SetupWindowTimer_action = recvData
-
+
def SetupWindow_TimerRestart(self, time):
if(time != self.SetupWindowTimer_delay):
self.SetupWindowTimer.Stop()
@@ -518,7 +518,7 @@
def TimerAction(self, event):
self.StatusRead()
-
+
# We read shortcut folder to see if it has to be rescanned
currentShortcuts = os.path.getmtime(Variables.playonlinux_rep+"/shortcuts")
currentIcons = os.path.getmtime(Variables.playonlinux_rep+"/icones/32")
@@ -572,7 +572,7 @@
self.installFrame.Refresh()
except:
pass
-
+
if(self.updater.sendAlertStr != self.sendAlertStr):
wx.MessageBox(self.updater.sendAlertStr, os.environ["APPLICATION_TITLE"], wx.OK|wx.CENTER, self)
self.sendAlertStr = self.updater.sendAlertStr
@@ -648,26 +648,26 @@
url = urlPrefix+"/forums.html"
if(urlId == 4):
url = urlPrefix+"/bugs.html"
-
+
if(urlId == 5):
if(os.environ["POL_OS"] == "Mac"):
url = "https://twitter.com/PlayOnMac"
else:
url = "https://twitter.com/PlayOnLinux"
-
+
if(urlId == 6):
if(os.environ["POL_OS"] == "Mac"):
url = "http://plus.google.com/u/0/105992880311102680198"
else:
url = "https://plus.google.com/+playonlinux"
-
+
if(urlId == 7):
if(os.environ["POL_OS"] == "Mac"):
url = "https://www.facebook.com/playonmac"
else:
url = "https://www.facebook.com/playonlinux"
-
-
+
+
playonlinux.POL_Open(url)
def iconDisplay(self, event):
@@ -779,13 +779,13 @@
self.menuGaucheAddLink("pol_prgm_kill", _("Close"), i,Variables.playonlinux_env+"/resources/images/menu/media-playback-stop.png",self.RKill)
i+=1
self.menuGaucheAddLink("pol_prgm_rundebug", _("Debug"), i,Variables.playonlinux_env+"/resources/images/menu/bug.png",self.RunDebug)
-
+
game_exec = self.GetSelectedProgram()
game_log = playonlinux.getLog(game_exec)
if(game_log):
i+=1
self.menuGaucheAddLink("pol_prgm_reportproblem", _("Send a feedback"), i,Variables.playonlinux_env+"/resources/images/menu/bug.png",self.sendfeedback)
-
+
i+=1
self.menuGaucheAddLink("pol_prgm_configure", _("Configure"), i,Variables.playonlinux_env+"/resources/images/menu/run.png",self.Configure)
i+=1
@@ -860,8 +860,8 @@
#self.menuElem[id].SetNormalColour(wx.Colour(0,0,0))
#self.menuElem[id].SetVisitedColour(wx.Colour(0,0,0))
#self.menuElem[id].SetHoverColour(wx.Colour(100,100,100))
-
-
+
+
if(evt != None):
wx.lib.hyperlink.EVT_HYPERLINK_LEFT(self, 10000+pos, evt)
@@ -874,12 +874,12 @@
def Reload(self, event):
self.games = os.listdir(Variables.playonlinux_rep+"shortcuts/")
self.games.sort(key=str.upper)
-
+
try:
self.games.remove(".DS_Store")
except:
pass
-
+
self.list_game.DeleteAllItems()
self.images.RemoveAll()
root = self.list_game.AddRoot("")
@@ -903,7 +903,7 @@
self.images.Add(self.bitmap)
except:
pass
-
+
item = self.list_game.AppendItem(root, game, self.i)
self.i += 1
self.generate_menu(None)
@@ -1020,7 +1020,7 @@
def GetSelectedProgram(self):
return self.list_game.GetItemText(self.list_game.GetSelection()).encode("utf-8","replace")
-
+
def Run(self, event, s_debug=False):
game_exec = self.GetSelectedProgram()
@@ -1109,7 +1109,7 @@
playonlinux.SetSettings("MAINWINDOW_HEIGHT",str(self.SizeToSave[1]-Variables.windows_add_playonmac*56))
playonlinux.SetSettings("MAINWINDOW_X",str(self.PositionToSave[0]))
playonlinux.SetSettings("MAINWINDOW_Y",str(self.PositionToSave[1]))
-
+
self._mgr.Destroy()
self.POLDie()
@@ -1147,7 +1147,7 @@
subprocess.call(["bash", Variables.playonlinux_env+"/bash/startup"])
self.systemCheck()
-
+
for f in sys.argv[1:]:
self.MacOpenFile(f)
if(".exe" in f or ".EXE" in f):
@@ -1165,7 +1165,7 @@
# Gui Server
self.POLServer = gui_server.gui_server(self.frame)
self.POLServer.start()
-
+
i = 0
while(os.environ["POL_PORT"] == "0"):
time.sleep(0.01)
@@ -1173,12 +1173,12 @@
wx.MessageBox(_("{0} is not able to start PlayOnLinux Setup Window server.").format(os.environ["APPLICATION_TITLE"]),_("Error"))
os._exit(0)
break
- i+=1
+ i+=1
subprocess.Popen(["bash", Variables.playonlinux_env + "/bash/startup_after_server"])
-
+
self.SetTopWindow(self.frame)
self.frame.Show(True)
-
+
return True
def _executableFound(self, executable):
@@ -1263,7 +1263,7 @@
self.singleCheckFatal("convert", package="ImageMagick")
self.singleCheckFatal("wget", package="Wget")
self.singleCheckFatal("curl", package="cURL")
-
+
self.singleCheckFatal("gpg", package="GnuPG")
# FIXME: now that PoL can use a range of terminal emulators, xterm is no longer
@@ -1275,10 +1275,11 @@
self.singleCheck("wrestool", package="icoutils")
self.singleCheck("wine", package="Wine")
self.singleCheck("unzip", package="InfoZIP")
+ self.singleCheck("jq", package="jq")
self.singleCheck("7z", package="P7ZIP full") # p7zip-full on Debian
if(os.environ["POL_OS"] == "FreeBSD"):
self.singleCheck("gsed", package="GNU Sed")
-
+
def BringWindowToFront(self):
try: # it's possible for this event to come when the frame is closed
self.GetTopWindow().Raise()
@@ -1314,7 +1315,7 @@
subprocess.Popen(["bash", Variables.playonlinux_env + "/bash/playonlinux-pkg", "-i", filename])
else:
playonlinux.open_document(filename,file_extension.lower())
-
+
def MacOpenURL(self, url):
if(os.environ["POL_OS"] == "Mac" and not "playonmac://" in url):
wx.MessageBox(_("You are trying to open a script design for {0}! It might not work as expected").format("PlayOnLinux or PlayOnBSD"), os.environ["APPLICATION_TITLE"])
@@ -1322,7 +1323,7 @@
wx.MessageBox(_("You are trying to open a script design for {0}! It might not work as expected").format("PlayOnMac or PlayOnBSD"), os.environ["APPLICATION_TITLE"])
if(os.environ["POL_OS"] == "FreeBSD" and not "playonbsd://" in url):
wx.MessageBox(_("You are trying to open a script design for {0}! It might not work as expected").format("PlayOnMac or PlayOnLinux"), os.environ["APPLICATION_TITLE"])
-
+
subprocess.Popen(["bash", Variables.playonlinux_env + "/bash/playonlinux-url_handler", url])
def MacReopenApp(self):
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/playonlinux/python/wine_versions.py new/playonlinux/python/wine_versions.py
--- old/playonlinux/python/wine_versions.py 2017-06-19 21:03:38.000000000 +0200
+++ new/playonlinux/python/wine_versions.py 2018-11-20 23:04:47.000000000 +0100
@@ -18,7 +18,7 @@
# with this program; if not, write to the Free Software Foundation, Inc.,
# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
-import wxversion, os, getopt, sys, urllib, signal, socket, codecs, string, shutil, time, urllib, urllib2
+import wxversion, os, getopt, sys, urllib, signal, socket, codecs, string, shutil, time, urllib, urllib2, json
import subprocess
import wx, wx.animate
@@ -125,34 +125,42 @@
self.thread_running = True
while(self.thread_running):
if(self.thread_message == "get"):
- wfolder = os_pref+"-"+self.architecture
try :
+ url = os.environ["WINE_SITE"]
+ wfolder = "-".join([os_pref, self.architecture])
+
- url = os.environ["WINE_SITE"]+"/"+wfolder+".lst"
-
- #print(url)
-
req = urllib2.Request(url, None, {'User-Agent': Variables.userAgent})
handle = urllib2.urlopen(req, timeout = 5)
time.sleep(1)
- available_versions = handle.read()
- available_versions = string.split(available_versions,"\n")
-
- self.i = 0
+ available_distributions = json.loads(handle.read())
self.versions_ = []
- while(self.i < len(available_versions) - 1):
- informations = string.split(available_versions[self.i], ";")
- version = informations[1]
- package = informations[0]
- sha1sum = informations[2]
- if(not os.path.exists(Variables.playonlinux_rep+"/wine/"+wfolder+"/"+version)):
- self.versions_.append(version)
- self.i += 1
+ for distribution in available_distributions:
+ if(distribution["name"] == "-".join(["upstream", os_pref, self.architecture])):
+ for package in distribution["packages"]:
+ version = package["version"]
+ packageUrl = package["url"]
+ sha1sum = package["sha1sum"]
+ if(not os.path.exists(Variables.playonlinux_rep+"/wine/"+wfolder+"/"+version)):
+ self.versions_.append(version)
+ else:
+ print("Directory: %s exists" % (Variables.playonlinux_rep+"/wine/"+wfolder+"/"+version))
+ elif(distribution["name"] == "-".join(["staging", os_pref, self.architecture])):
+ for package in distribution["packages"]:
+ version = package["version"]
+ if(not os.path.exists(Variables.playonlinux_rep+"/wine/"+wfolder+"/"+version+"-staging")):
+ self.versions_.append(version+"-staging")
+ else:
+ print("Directory: %s exists" % (Variables.playonlinux_rep+"/wine/"+wfolder+"/"+version+"-staging"))
+ else:
+ print(distribution["name"] + " does not match")
+
+ self.versions_.sort(key=keynat)
self.versions_.reverse()
self.versions = self.versions_[:]
-
self.thread_message = "Ok"
- except :
+ except Exception, e:
+ print(e)
time.sleep(1)
self.thread_message = "Err"
self.versions = ["Wine packages website is unavailable"]
@@ -197,14 +205,14 @@
self.list_ver_installed[arch].SetSpacing(0);
wx.StaticText(self.panelFenp[arch], -1, _("Installed Wine versions: "),(395,10))
wx.StaticText(self.panelFenp[arch], -1, _("Available Wine versions: "),(5,10))
-
+
if(os.environ["POL_OS"] == "Mac"):
self.button_rm[arch] = wx.Button(self.panelFenp[arch], 108+add, "<", pos=(333, 175), size=(50,30))
self.button_in[arch] = wx.Button(self.panelFenp[arch], 109+add, ">", pos=(333, 125), size=(50,30))
else:
self.button_rm[arch] = wx.Button(self.panelFenp[arch], 108+add, "<", pos=(340, 175), size=(50,30))
self.button_in[arch] = wx.Button(self.panelFenp[arch], 109+add, ">", pos=(340, 125), size=(50,30))
-
+
self.button_rm[arch].Enable(False)
self.button_in[arch].Enable(False)
self.AddPage(self.panelFenp[arch], _("Wine versions")+" ("+arch+")", imageId=0)
@@ -334,7 +342,7 @@
message += "\n" + _('This version is CURRENTLY IN USE')
if(wx.YES == wx.MessageBox(message.decode("utf-8","replace"), os.environ["APPLICATION_TITLE"], style=wx.YES_NO | wx.ICON_QUESTION)):
shutil.rmtree(Variables.playonlinux_rep+"/wine/"+os_pref+"-"+arch+"/"+version)
-
+
def install32(self, event):
self.install_common(event, "x86")
@@ -395,7 +403,7 @@
root2 = self.onglets.list_ver_installed[arch].AddRoot("")
wfolder = os_pref+"-"+arch
-
+
used_version = self.checkVersionUse(arch) # Get the set of wine version used by wineprefix
installed_versions = os.listdir(Variables.playonlinux_rep+"/wine/"+wfolder)
1
0
Hello community,
here is the log from the commit of package matomo for openSUSE:Factory checked in at 2018-11-28 11:15:18
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/matomo (Old)
and /work/SRC/openSUSE:Factory/.matomo.new.19453 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "matomo"
Wed Nov 28 11:15:18 2018 rev:8 rq:652221 version:3.7.0
Changes:
--------
--- /work/SRC/openSUSE:Factory/matomo/matomo.changes 2018-11-26 10:32:32.996870216 +0100
+++ /work/SRC/openSUSE:Factory/.matomo.new.19453/matomo.changes 2018-11-28 11:15:23.482731433 +0100
@@ -1,0 +2,6 @@
+Tue Nov 27 17:55:29 UTC 2018 - ecsos(a)opensuse.org
+
+- Remove %config from service files. Changes must not do in system
+ location, user must do this changes in /etc/systemd/system.
+
+-------------------------------------------------------------------
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ matomo.spec ++++++
--- /var/tmp/diff_new_pack.65zIyQ/_old 2018-11-28 11:15:24.402730149 +0100
+++ /var/tmp/diff_new_pack.65zIyQ/_new 2018-11-28 11:15:24.406730143 +0100
@@ -160,8 +160,8 @@
%config(noreplace) %{ap_sysconfdir}/conf.d/%{name}.conf
%config(noreplace) %{_sysconfdir}/logrotate.d/%{name}
%config(noreplace) %{_sysconfdir}/cron.d/%{name}-archive
-%config(noreplace) %{_unitdir}/%{name}-archive.service
-%config(noreplace) %{_unitdir}/%{name}-archive.timer
+%{_unitdir}/%{name}-archive.service
+%{_unitdir}/%{name}-archive.timer
%dir %attr(0750,%{ap_usr},%{ap_grp}) %{_sysconfdir}/%{name}
%dir %attr(0750,%{ap_usr},%{ap_grp}) %{_sysconfdir}/%{name}/environment
%defattr(640,%{ap_usr},%{ap_grp},750)
++++++ matomo.rpmlintrc ++++++
--- /var/tmp/diff_new_pack.65zIyQ/_old 2018-11-28 11:15:24.666729780 +0100
+++ /var/tmp/diff_new_pack.65zIyQ/_new 2018-11-28 11:15:24.674729769 +0100
@@ -2,8 +2,6 @@
addFilter("hidden-file-or-dir")
addFilter("macro-in-comment")
addFilter("suse-missing-rclink matomo-archive")
-addFilter("non-etc-or-var-file-marked-as-conffile /usr/lib/systemd/system/matomo-archive.service")
-addFilter("non-etc-or-var-file-marked-as-conffile /usr/lib/systemd/system/matomo-archive.timer")
addFilter("zero-length /srv/www/matomo/plugins/Morpheus/stylesheets/base/font.css")
addFilter("pem-certificate")
addFilter("non-conffile-in-etc /etc/matomo/environment/dev.php")
1
0
Hello community,
here is the log from the commit of package openssl-ibmca for openSUSE:Factory checked in at 2018-11-28 11:15:16
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/openssl-ibmca (Old)
and /work/SRC/openSUSE:Factory/.openssl-ibmca.new.19453 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "openssl-ibmca"
Wed Nov 28 11:15:16 2018 rev:32 rq:652214 version:2.0.2
Changes:
--------
--- /work/SRC/openSUSE:Factory/openssl-ibmca/openssl-ibmca.changes 2018-11-22 13:25:06.822025747 +0100
+++ /work/SRC/openSUSE:Factory/.openssl-ibmca.new.19453/openssl-ibmca.changes 2018-11-28 11:15:18.262738722 +0100
@@ -1,0 +2,7 @@
+Tue Nov 27 17:55:19 UTC 2018 - mpost(a)suse.com
+
+- Upgraded to version 2.0.2 (Fate#325688)
+ * openssl-ibmca 2.0.2
+ Fix doing rsa-me, altough rsa-crt would be possible.
+
+-------------------------------------------------------------------
Old:
----
openssl-ibmca-2.0.1.tar.gz
New:
----
openssl-ibmca-2.0.2.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ openssl-ibmca.spec ++++++
--- /var/tmp/diff_new_pack.UQG4c1/_old 2018-11-28 11:15:20.050736225 +0100
+++ /var/tmp/diff_new_pack.UQG4c1/_new 2018-11-28 11:15:20.050736225 +0100
@@ -17,7 +17,7 @@
Name: openssl-ibmca
-Version: 2.0.1
+Version: 2.0.2
Release: 0
Summary: The IBMCA OpenSSL dynamic engine
License: Apache-2.0
++++++ openssl-ibmca-2.0.1.tar.gz -> openssl-ibmca-2.0.2.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/openssl-ibmca-2.0.1/ChangeLog new/openssl-ibmca-2.0.2/ChangeLog
--- old/openssl-ibmca-2.0.1/ChangeLog 2018-11-15 16:49:56.000000000 +0100
+++ new/openssl-ibmca-2.0.2/ChangeLog 2018-11-27 15:38:37.000000000 +0100
@@ -1,3 +1,6 @@
+* openssl-ibmca 2.0.2
+- Fix doing rsa-me, altough rsa-crt would be possible.
+
* openssl-ibmca 2.0.1
- Dont fail when a libica symbol cannot be resolved.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/openssl-ibmca-2.0.1/configure.ac new/openssl-ibmca-2.0.2/configure.ac
--- old/openssl-ibmca-2.0.1/configure.ac 2018-11-15 16:49:56.000000000 +0100
+++ new/openssl-ibmca-2.0.2/configure.ac 2018-11-27 15:38:37.000000000 +0100
@@ -2,7 +2,7 @@
# Process this file with autoconf to produce a configure script.
# See autoconf and autoscan online documentation for details.
-AC_INIT([openssl-ibmca], [2.0.1], [opencryptoki-users(a)lists.sf.net]
+AC_INIT([openssl-ibmca], [2.0.2], [opencryptoki-users(a)lists.sf.net]
AC_CONFIG_SRCDIR([src/e_ibmca.c]) # sanity check
AC_CONFIG_MACRO_DIR([m4])
AC_CONFIG_AUX_DIR([build-aux])
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/openssl-ibmca-2.0.1/openssl-ibmca.spec new/openssl-ibmca-2.0.2/openssl-ibmca.spec
--- old/openssl-ibmca-2.0.1/openssl-ibmca.spec 2018-11-15 16:49:56.000000000 +0100
+++ new/openssl-ibmca-2.0.2/openssl-ibmca.spec 2018-11-27 15:38:37.000000000 +0100
@@ -1,7 +1,7 @@
%global enginesdir %(pkg-config --variable=enginesdir libcrypto)
Name: openssl-ibmca
-Version: 2.0.1
+Version: 2.0.2
Release: 1%{?dist}
Summary: An IBMCA OpenSSL dynamic engine
@@ -44,6 +44,9 @@
%{_mandir}/man5/ibmca.5*
%changelog
+* Tue Nov 27 2018 Patrick Steuer <patrick.steuer(a)de.ibm.com> 2.0.2
+- Update Version
+
* Thu Nov 08 2018 Patrick Steuer <patrick.steuer(a)de.ibm.com> 2.0.1
- Update Version
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/openssl-ibmca-2.0.1/src/Makefile.am new/openssl-ibmca-2.0.2/src/Makefile.am
--- old/openssl-ibmca-2.0.1/src/Makefile.am 2018-11-15 16:49:56.000000000 +0100
+++ new/openssl-ibmca-2.0.2/src/Makefile.am 2018-11-27 15:38:37.000000000 +0100
@@ -1,4 +1,4 @@
-VERSION = 2:0:0
+VERSION = 2:0:2
lib_LTLIBRARIES=ibmca.la
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/openssl-ibmca-2.0.1/src/ibmca_rsa.c new/openssl-ibmca-2.0.2/src/ibmca_rsa.c
--- old/openssl-ibmca-2.0.1/src/ibmca_rsa.c 2018-11-15 16:49:56.000000000 +0100
+++ new/openssl-ibmca-2.0.2/src/ibmca_rsa.c 2018-11-27 15:38:37.000000000 +0100
@@ -309,7 +309,7 @@
RSA_get0_key(rsa, &n, NULL, &d);
RSA_get0_factors(rsa, &p, &q);
RSA_get0_crt_params(rsa, &dmp1, &dmq1, &iqmp);
- if (!p || !q || !dmp1 || !dmq1 || iqmp) {
+ if (!p || !q || !dmp1 || !dmq1 || !iqmp) {
if (!d || !n) {
IBMCAerr(IBMCA_F_IBMCA_RSA_MOD_EXP, IBMCA_R_MISSING_KEY_COMPONENTS);
goto err;
1
0
Hello community,
here is the log from the commit of package peazip for openSUSE:Factory checked in at 2018-11-28 11:15:12
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/peazip (Old)
and /work/SRC/openSUSE:Factory/.peazip.new.19453 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "peazip"
Wed Nov 28 11:15:12 2018 rev:6 rq:652209 version:6.6.1
Changes:
--------
--- /work/SRC/openSUSE:Factory/peazip/peazip.changes 2018-10-29 14:59:04.306031602 +0100
+++ /work/SRC/openSUSE:Factory/.peazip.new.19453/peazip.changes 2018-11-28 11:15:16.182741626 +0100
@@ -1,0 +2,6 @@
+Tue Nov 27 16:58:19 UTC 2018 - Guillaume GARDET <guillaume.gardet(a)opensuse.org>
+
+- Add patch to fix build on aarch64:
+ * peazip-fix_aarch64.patch
+
+-------------------------------------------------------------------
New:
----
peazip-fix_aarch64.patch
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ peazip.spec ++++++
--- /var/tmp/diff_new_pack.IooMhF/_old 2018-11-28 11:15:17.234740157 +0100
+++ /var/tmp/diff_new_pack.IooMhF/_new 2018-11-28 11:15:17.234740157 +0100
@@ -28,6 +28,8 @@
Source1: altconf.txt
Source2: https://sourceforge.net/projects/peazip/files/%{version}/peazip_help.pdf
Patch0: peazip-desktop.patch
+# PATCH-FIX-UPSTREAM: https://sourceforge.net/p/peazip/tickets/492/
+Patch1: peazip-fix_aarch64.patch
# PATCH-FIX-OPENSUSE peazip-build_PIE.patch -- aloisio(a)gmx.com
Patch2: peazip-build_PIE.patch
# PATCH-FIX-OPENSUSE peazip-help_path.patch set correct path for the pdf guide -- aloisio(a)gmx.com
@@ -83,6 +85,7 @@
%prep
%setup -q -n %{name}-%{version}.src
%patch0
+%patch1 -p1
%patch2 -p1
%patch3 -p1
%patch4 -p1
++++++ peazip-fix_aarch64.patch ++++++
diff -purN peazip-6.6.1.src.orig/rmd160.pas peazip-6.6.1.src/rmd160.pas
--- peazip-6.6.1.src.orig/rmd160.pas 2018-11-27 15:51:25.463922229 +0100
+++ peazip-6.6.1.src/rmd160.pas 2018-11-27 15:55:25.321937426 +0100
@@ -125,7 +125,7 @@ implementation
{$ifdef FPC}
- {$ifndef CPUARM}
+ {$if not(defined(CPUARM)) and not(defined(CPUAARCH64))}
{$asmmode intel}
{$endif}
{$endif}
diff -purN peazip-6.6.1.src.orig/tsc.pas peazip-6.6.1.src/tsc.pas
--- peazip-6.6.1.src.orig/tsc.pas 2018-11-27 15:51:25.463922229 +0100
+++ peazip-6.6.1.src/tsc.pas 2018-11-27 16:05:25.150978582 +0100
@@ -95,7 +95,7 @@ function _CheckRDTSC: boolean;
implementation
-{$ifdef CPUARM}
+{$if defined(CPUARM) or defined(CPUAARCH64)}
{$ifdef WINCE}
1
0
Hello community,
here is the log from the commit of package apache-rex for openSUSE:Factory checked in at 2018-11-28 11:15:09
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/apache-rex (Old)
and /work/SRC/openSUSE:Factory/.apache-rex.new.19453 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "apache-rex"
Wed Nov 28 11:15:09 2018 rev:9 rq:652195 version:20181127
Changes:
--------
--- /work/SRC/openSUSE:Factory/apache-rex/apache-rex.changes 2018-09-24 13:12:35.101777908 +0200
+++ /work/SRC/openSUSE:Factory/.apache-rex.new.19453/apache-rex.changes 2018-11-28 11:15:11.874747643 +0100
@@ -1,0 +2,28 @@
+Tue Nov 27 11:13:49 UTC 2018 - Petr Gajdos <pgajdos(a)suse.com>
+
+- added mod_php-basic
+- modules can be given as a regular expression, e. g. 'mod_php[5,7]'
+
+-------------------------------------------------------------------
+Fri Nov 9 15:22:02 UTC 2018 - Petr Gajdos <pgajdos(a)suse.com>
+
+- do not run mod_ssl-verify-server-OCSPStapling when curl does
+ not support --cert-status
+
+-------------------------------------------------------------------
+Fri Nov 2 20:13:20 UTC 2018 - Petr Gajdos <pgajdos(a)suse.com>
+
+- ssl refactoring
+- amended:
+ * mod_ssl-basic
+ * mod_ssl-SSLCryptoDevice
+ * mod_ssl-verify-client
+- moved:
+ * mod_ssl-CRL to mod_ssl-verify-client-CRL
+- new:
+ * mod_ssl-verify-client-OCSP
+ * mod_ssl-verify-server-CRL
+ * mod_ssl-verify-server-OCSP
+ * mod_ssl-verify-server-OCSPStapling
+
+-------------------------------------------------------------------
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ apache-rex.spec ++++++
--- /var/tmp/diff_new_pack.1YGKv5/_old 2018-11-28 11:15:12.698746492 +0100
+++ /var/tmp/diff_new_pack.1YGKv5/_new 2018-11-28 11:15:12.702746486 +0100
@@ -12,7 +12,7 @@
# license that conforms to the Open Source Definition (Version 1.9)
# published by the Open Source Initiative.
-# Please submit bugfixes or comments via http://bugs.opensuse.org/
+# Please submit bugfixes or comments via https://bugs.opensuse.org/
#
@@ -25,7 +25,7 @@
%define macros_file macros.apache-rex
Name: apache-rex
-Version: 20180913
+Version: 20181127
Release: 0
Summary: Script for Apache HTTPD Runnable Examples
License: Apache-2.0
++++++ apache-rex.tar.bz2 ++++++
++++ 3260 lines of diff (skipped)
1
0
Hello community,
here is the log from the commit of package sysstat for openSUSE:Factory checked in at 2018-11-28 11:15:00
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/sysstat (Old)
and /work/SRC/openSUSE:Factory/.sysstat.new.19453 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "sysstat"
Wed Nov 28 11:15:00 2018 rev:78 rq:652184 version:12.0.2
Changes:
--------
--- /work/SRC/openSUSE:Factory/sysstat/sysstat.changes 2018-11-13 17:50:24.267556774 +0100
+++ /work/SRC/openSUSE:Factory/.sysstat.new.19453/sysstat.changes 2018-11-28 11:15:09.950750331 +0100
@@ -1,0 +2,10 @@
+Tue Nov 27 13:02:58 UTC 2018 - Pedro Monreal Gonzalez <pmonrealgonzalez(a)suse.com>
+
+- Security fixes:
+ * The remap_struct function in sa_common.c has an out-of-bounds
+ read during a memmove call [CVE-2018-19416, bsc#1117001]
+ * The remap_struct function in sa_common.c has an out-of-bounds read
+ during a memset call [CVE-2018-19517, bsc#1117260]
+ * Added patch sysstat-12.0.2-CVE-2018-19416-and-CVE-2018-19517.patch
+
+-------------------------------------------------------------------
New:
----
sysstat-12.0.2-CVE-2018-19416-and-CVE-2018-19517.patch
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ sysstat.spec ++++++
--- /var/tmp/diff_new_pack.c8MxZF/_old 2018-11-28 11:15:10.742749224 +0100
+++ /var/tmp/diff_new_pack.c8MxZF/_new 2018-11-28 11:15:10.742749224 +0100
@@ -33,6 +33,8 @@
# PATCH-FIX-OPENSUSE should be upstreamed
# use getpagesize() instead of kb_shift for hugetable archs
Patch2: sysstat-8.0.4-pagesize.diff
+# PATCH-FIX-UPSTREAM CVE-2018-19416 CVE-2018-19517 bsc#1117001 bsc#1117260
+Patch3: sysstat-12.0.2-CVE-2018-19416-and-CVE-2018-19517.patch
BuildRequires: findutils
BuildRequires: pkgconfig
BuildRequires: sed
@@ -71,6 +73,7 @@
%setup -q
%patch0 -p1
%patch2 -p1
+%patch3 -p1
cp %{SOURCE1} %{SOURCE2} %{SOURCE4} .
# remove date and time from objects
find ./ -name \*.c -exec sed -i -e 's: " compiled " __DATE__ " " __TIME__::g' {} \;
++++++ sysstat-12.0.2-CVE-2018-19416-and-CVE-2018-19517.patch ++++++
>From fbc691eaaa10d0bcea6741d5a223dc3906106548 Mon Sep 17 00:00:00 2001
From: Sebastien GODARD <sysstat(a)users.noreply.github.com>
Date: Mon, 26 Nov 2018 14:32:05 +0100
Subject: [PATCH] Fix #196 and #199: Out of bound reads security issues
Check args before calling memmove() and memset() in remap_struct()
function to avoid out of bound reads which would possibly lead to
unknown code execution and/or sadf command crash.
Signed-off-by: Sebastien GODARD <sysstat(a)users.noreply.github.com>
---
sa.h | 5 ++--
sa_common.c | 66 ++++++++++++++++++++++++++++++++++++-----------------
sadf.c | 2 +-
sar.c | 13 ++++++-----
4 files changed, 56 insertions(+), 30 deletions(-)
Index: sysstat-12.0.2/sa.h
===================================================================
--- sysstat-12.0.2.orig/sa.h
+++ sysstat-12.0.2/sa.h
@@ -1355,11 +1355,11 @@ void read_file_stat_bunch
__nr_t read_nr_value
(int, char *, struct file_magic *, int, int, int);
int read_record_hdr
- (int, void *, struct record_header *, struct file_header *, int, int);
+ (int, void *, struct record_header *, struct file_header *, int, int, size_t);
void reallocate_all_buffers
(struct activity *, __nr_t);
void remap_struct
- (unsigned int [], unsigned int [], void *, unsigned int, unsigned int);
+ (unsigned int [], unsigned int [], void *, unsigned int, unsigned int, size_t);
void replace_nonprintable_char
(int, char *);
int sa_fread
Index: sysstat-12.0.2/sa_common.c
===================================================================
--- sysstat-12.0.2.orig/sa_common.c
+++ sysstat-12.0.2/sa_common.c
@@ -1280,12 +1280,14 @@ void swap_struct(unsigned int types_nr[]
* @f_size Size of the structure containing statistics. This is the
* size of the structure *read from file*.
* @g_size Size of the structure expected by current sysstat version.
+ * @b_size Size of the buffer pointed by @ps.
***************************************************************************
*/
void remap_struct(unsigned int gtypes_nr[], unsigned int ftypes_nr[],
- void *ps, unsigned int f_size, unsigned int g_size)
+ void *ps, unsigned int f_size, unsigned int g_size, size_t b_size)
{
int d;
+ size_t n;
/* Sanity check */
if (MAP_SIZE(ftypes_nr) > f_size)
@@ -1294,10 +1296,14 @@ void remap_struct(unsigned int gtypes_nr
/* Remap [unsigned] long fields */
d = gtypes_nr[0] - ftypes_nr[0];
if (d) {
+ n = MINIMUM(f_size - ftypes_nr[0] * ULL_ALIGNMENT_WIDTH,
+ g_size - gtypes_nr[0] * ULL_ALIGNMENT_WIDTH);
+ if ((ftypes_nr[0] * ULL_ALIGNMENT_WIDTH >= b_size) ||
+ (gtypes_nr[0] * ULL_ALIGNMENT_WIDTH + n > b_size) ||
+ (ftypes_nr[0] * ULL_ALIGNMENT_WIDTH + n > b_size))
+ return;
memmove(((char *) ps) + gtypes_nr[0] * ULL_ALIGNMENT_WIDTH,
- ((char *) ps) + ftypes_nr[0] * ULL_ALIGNMENT_WIDTH,
- MINIMUM(f_size - ftypes_nr[0] * ULL_ALIGNMENT_WIDTH,
- g_size - gtypes_nr[0] * ULL_ALIGNMENT_WIDTH));
+ ((char *) ps) + ftypes_nr[0] * ULL_ALIGNMENT_WIDTH, n);
if (d > 0) {
memset(((char *) ps) + ftypes_nr[0] * ULL_ALIGNMENT_WIDTH,
0, d * ULL_ALIGNMENT_WIDTH);
@@ -1306,14 +1312,21 @@ void remap_struct(unsigned int gtypes_nr
/* Remap [unsigned] int fields */
d = gtypes_nr[1] - ftypes_nr[1];
if (d) {
+ n = MINIMUM(f_size - ftypes_nr[0] * ULL_ALIGNMENT_WIDTH
+ - ftypes_nr[1] * UL_ALIGNMENT_WIDTH,
+ g_size - gtypes_nr[0] * ULL_ALIGNMENT_WIDTH
+ - gtypes_nr[1] * UL_ALIGNMENT_WIDTH);
+ if ((gtypes_nr[0] * ULL_ALIGNMENT_WIDTH +
+ ftypes_nr[1] * UL_ALIGNMENT_WIDTH >= b_size) ||
+ (gtypes_nr[0] * ULL_ALIGNMENT_WIDTH +
+ gtypes_nr[1] * UL_ALIGNMENT_WIDTH + n > b_size) ||
+ (gtypes_nr[0] * ULL_ALIGNMENT_WIDTH +
+ ftypes_nr[1] * UL_ALIGNMENT_WIDTH + n > b_size))
+ return;
memmove(((char *) ps) + gtypes_nr[0] * ULL_ALIGNMENT_WIDTH
+ gtypes_nr[1] * UL_ALIGNMENT_WIDTH,
((char *) ps) + gtypes_nr[0] * ULL_ALIGNMENT_WIDTH
- + ftypes_nr[1] * UL_ALIGNMENT_WIDTH,
- MINIMUM(f_size - ftypes_nr[0] * ULL_ALIGNMENT_WIDTH
- - ftypes_nr[1] * UL_ALIGNMENT_WIDTH,
- g_size - gtypes_nr[0] * ULL_ALIGNMENT_WIDTH
- - gtypes_nr[1] * UL_ALIGNMENT_WIDTH));
+ + ftypes_nr[1] * UL_ALIGNMENT_WIDTH, n);
if (d > 0) {
memset(((char *) ps) + gtypes_nr[0] * ULL_ALIGNMENT_WIDTH
+ ftypes_nr[1] * UL_ALIGNMENT_WIDTH,
@@ -1323,18 +1336,28 @@ void remap_struct(unsigned int gtypes_nr
/* Remap possible fields (like strings of chars) following int fields */
d = gtypes_nr[2] - ftypes_nr[2];
if (d) {
+ n = MINIMUM(f_size - ftypes_nr[0] * ULL_ALIGNMENT_WIDTH
+ - ftypes_nr[1] * UL_ALIGNMENT_WIDTH
+ - ftypes_nr[2] * U_ALIGNMENT_WIDTH,
+ g_size - gtypes_nr[0] * ULL_ALIGNMENT_WIDTH
+ - gtypes_nr[1] * UL_ALIGNMENT_WIDTH
+ - gtypes_nr[2] * U_ALIGNMENT_WIDTH);
+ if ((gtypes_nr[0] * ULL_ALIGNMENT_WIDTH +
+ gtypes_nr[1] * UL_ALIGNMENT_WIDTH +
+ ftypes_nr[2] * U_ALIGNMENT_WIDTH >= b_size) ||
+ (gtypes_nr[0] * ULL_ALIGNMENT_WIDTH +
+ gtypes_nr[1] * UL_ALIGNMENT_WIDTH +
+ gtypes_nr[2] * U_ALIGNMENT_WIDTH + n > b_size) ||
+ (gtypes_nr[0] * ULL_ALIGNMENT_WIDTH +
+ gtypes_nr[1] * UL_ALIGNMENT_WIDTH +
+ ftypes_nr[2] * U_ALIGNMENT_WIDTH + n > b_size))
+ return;
memmove(((char *) ps) + gtypes_nr[0] * ULL_ALIGNMENT_WIDTH
+ gtypes_nr[1] * UL_ALIGNMENT_WIDTH
+ gtypes_nr[2] * U_ALIGNMENT_WIDTH,
((char *) ps) + gtypes_nr[0] * ULL_ALIGNMENT_WIDTH
+ gtypes_nr[1] * UL_ALIGNMENT_WIDTH
- + ftypes_nr[2] * U_ALIGNMENT_WIDTH,
- MINIMUM(f_size - ftypes_nr[0] * ULL_ALIGNMENT_WIDTH
- - ftypes_nr[1] * UL_ALIGNMENT_WIDTH
- - ftypes_nr[2] * U_ALIGNMENT_WIDTH,
- g_size - gtypes_nr[0] * ULL_ALIGNMENT_WIDTH
- - gtypes_nr[1] * UL_ALIGNMENT_WIDTH
- - gtypes_nr[2] * U_ALIGNMENT_WIDTH));
+ + ftypes_nr[2] * U_ALIGNMENT_WIDTH, n);
if (d > 0) {
memset(((char *) ps) + gtypes_nr[0] * ULL_ALIGNMENT_WIDTH
+ gtypes_nr[1] * UL_ALIGNMENT_WIDTH
@@ -1396,6 +1419,7 @@ int sa_fread(int ifd, void *buffer, size
* @endian_mismatch
* TRUE if data read from file don't match current machine's
* endianness.
+ * @b_size @buffer size.
*
* OUT:
* @record_hdr Record header for current sample.
@@ -1405,7 +1429,8 @@ int sa_fread(int ifd, void *buffer, size
***************************************************************************
*/
int read_record_hdr(int ifd, void *buffer, struct record_header *record_hdr,
- struct file_header *file_hdr, int arch_64, int endian_mismatch)
+ struct file_header *file_hdr, int arch_64, int endian_mismatch,
+ size_t b_size)
{
if (sa_fread(ifd, buffer, (size_t) file_hdr->rec_size, SOFT_SIZE))
/* End of sa data file */
@@ -1413,7 +1438,7 @@ int read_record_hdr(int ifd, void *buffe
/* Remap record header structure to that expected by current version */
remap_struct(rec_types_nr, file_hdr->rec_types_nr, buffer,
- file_hdr->rec_size, RECORD_HEADER_SIZE);
+ file_hdr->rec_size, RECORD_HEADER_SIZE, b_size);
memcpy(record_hdr, buffer, RECORD_HEADER_SIZE);
/* Normalize endianness */
@@ -1622,7 +1647,7 @@ void read_file_stat_bunch(struct activit
for (j = 0; j < (nr_value * act[p]->nr2); j++) {
remap_struct(act[p]->gtypes_nr, act[p]->ftypes_nr,
(char *) act[p]->buf[curr] + j * act[p]->msize,
- act[p]->fsize, act[p]->msize);
+ act[p]->fsize, act[p]->msize, act[p]->msize);
}
}
}
@@ -1804,7 +1829,7 @@ void check_file_actlst(int *ifd, char *d
* then copy its contents to the expected structure.
*/
remap_struct(hdr_types_nr, file_magic->hdr_types_nr, buffer,
- file_magic->header_size, FILE_HEADER_SIZE);
+ file_magic->header_size, FILE_HEADER_SIZE, file_magic->header_size);
memcpy(file_hdr, buffer, FILE_HEADER_SIZE);
free(buffer);
buffer = NULL;
@@ -1853,7 +1878,7 @@ void check_file_actlst(int *ifd, char *d
* then copy its contents to the expected structure.
*/
remap_struct(act_types_nr, file_hdr->act_types_nr, buffer,
- file_hdr->act_size, FILE_ACTIVITY_SIZE);
+ file_hdr->act_size, FILE_ACTIVITY_SIZE, file_hdr->act_size);
memcpy(fal, buffer, FILE_ACTIVITY_SIZE);
/* Normalize endianness for file_activity structures */
Index: sysstat-12.0.2/sadf.c
===================================================================
--- sysstat-12.0.2.orig/sadf.c
+++ sysstat-12.0.2/sadf.c
@@ -232,7 +232,7 @@ int read_next_sample(int ifd, int action
/* Read current record */
if (read_record_hdr(ifd, rec_hdr_tmp, &record_hdr[curr], &file_hdr,
- arch_64, endian_mismatch))
+ arch_64, endian_mismatch, sizeof(rec_hdr_tmp)))
/* End of sa file */
return TRUE;
Index: sysstat-12.0.2/sar.c
===================================================================
--- sysstat-12.0.2.orig/sar.c
+++ sysstat-12.0.2/sar.c
@@ -727,6 +727,7 @@ void read_sadc_stat_bunch(int curr)
* @endian_mismatch
* TRUE if file's data don't match current machine's endianness.
* @arch_64 TRUE if file's data come from a 64 bit machine.
+ * @b_size Size of @rec_hdr_tmp buffer.
*
* OUT:
* @curr Index in array for next sample statistics.
@@ -740,7 +741,7 @@ void handle_curr_act_stats(int ifd, off_
int rows, unsigned int act_id, int *reset,
struct file_activity *file_actlst, char *file,
struct file_magic *file_magic, void *rec_hdr_tmp,
- int endian_mismatch, int arch_64)
+ int endian_mismatch, int arch_64, size_t b_size)
{
int p, reset_cd;
unsigned long lines = 0;
@@ -774,7 +775,7 @@ void handle_curr_act_stats(int ifd, off_
* Start with reading current sample's record header.
*/
*eosaf = read_record_hdr(ifd, rec_hdr_tmp, &record_hdr[*curr],
- &file_hdr, arch_64, endian_mismatch);
+ &file_hdr, arch_64, endian_mismatch, b_size);
rtype = record_hdr[*curr].record_type;
if (!*eosaf && (rtype != R_RESTART) && (rtype != R_COMMENT)) {
@@ -1003,7 +1004,7 @@ void read_stats_from_file(char from_file
*/
do {
if (read_record_hdr(ifd, rec_hdr_tmp, &record_hdr[0], &file_hdr,
- arch_64, endian_mismatch)) {
+ arch_64, endian_mismatch, sizeof(rec_hdr_tmp))) {
/* End of sa data file */
return;
}
@@ -1069,7 +1070,7 @@ void read_stats_from_file(char from_file
handle_curr_act_stats(ifd, fpos, &curr, &cnt, &eosaf, rows,
act[p]->id, &reset, file_actlst,
from_file, &file_magic, rec_hdr_tmp,
- endian_mismatch, arch_64);
+ endian_mismatch, arch_64, sizeof(rec_hdr_tmp));
}
else {
unsigned int optf, msk;
@@ -1083,7 +1084,7 @@ void read_stats_from_file(char from_file
handle_curr_act_stats(ifd, fpos, &curr, &cnt, &eosaf,
rows, act[p]->id, &reset, file_actlst,
from_file, &file_magic, rec_hdr_tmp,
- endian_mismatch, arch_64);
+ endian_mismatch, arch_64, sizeof(rec_hdr_tmp));
act[p]->opt_flags = optf;
}
}
@@ -1095,7 +1096,7 @@ void read_stats_from_file(char from_file
do {
/* Read next record header */
eosaf = read_record_hdr(ifd, rec_hdr_tmp, &record_hdr[curr],
- &file_hdr, arch_64, endian_mismatch);
+ &file_hdr, arch_64, endian_mismatch, sizeof(rec_hdr_tmp));
rtype = record_hdr[curr].record_type;
if (!eosaf && (rtype != R_RESTART) && (rtype != R_COMMENT)) {
1
0