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 2016
- 1 participants
- 1494 discussions
Hello community,
here is the log from the commit of package MozillaThunderbird for openSUSE:13.2:Update checked in at 2016-11-25 19:54:01
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:13.2:Update/MozillaThunderbird (Old)
and /work/SRC/openSUSE:13.2:Update/.MozillaThunderbird.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "MozillaThunderbird"
Changes:
--------
New Changes file:
NO CHANGES FILE!!!
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ _link ++++++
--- /var/tmp/diff_new_pack.Q1OcuG/_old 2016-11-25 19:54:02.000000000 +0100
+++ /var/tmp/diff_new_pack.Q1OcuG/_new 2016-11-25 19:54:02.000000000 +0100
@@ -1 +1 @@
-<link package='MozillaThunderbird.5690' cicount='copy' />
+<link package='MozillaThunderbird.5900' cicount='copy' />
1
0
25 Nov '16
Hello community,
here is the log from the commit of package MozillaThunderbird.5900 for openSUSE:13.2:Update checked in at 2016-11-25 19:53:24
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:13.2:Update/MozillaThunderbird.5900 (Old)
and /work/SRC/openSUSE:13.2:Update/.MozillaThunderbird.5900.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "MozillaThunderbird.5900"
Changes:
--------
New Changes file:
--- /dev/null 2016-10-27 01:54:32.792041256 +0200
+++ /work/SRC/openSUSE:13.2:Update/.MozillaThunderbird.5900.new/MozillaThunderbird.changes 2016-11-25 19:53:25.000000000 +0100
@@ -0,0 +1,2648 @@
+-------------------------------------------------------------------
+Sat Nov 19 14:20:05 UTC 2016 - astieger(a)suse.com
+
+- Mozilla Thunderbird 45.5.0 (boo#1009026)
+- Changed behavior:
+ * Changed recipient address entry: Arrow-keys now copy the pop-up
+ value to the input field. Mouse-hovered pop-up value can no
+ longer be confirmed with tab or enter key. This restores the
+ behavior of Thunderbird 24.
+ * Support changes to character limit in Twitter
+- Bugs fixed:
+ * Reply with selected text containing quote resulted in wrong
+ quoting level indication
+ * Email invitation might not be displayed when description
+ contains non-ASCII characters
+ * Attempting to sort messages on the Date field whilst a quick
+ filter is applied got stuck on sort descending
+ * Mail address display at header pane displayed incorrectly if
+ the address contains UTF-8 according to RFC 6532
+
+-------------------------------------------------------------------
+Sat Oct 1 07:12:08 UTC 2016 - wr(a)rosenauer.org
+
+- update to Thunderbird 45.4.0 (boo#999701)
+ * Display name was truncated if no separating space before email
+ address.
+ * Recipient addresses were shown in wrong color in some circumstances.
+ * Additional spaces were inserted when drafts were edited.
+ * Mail saved as template copied In-Reply-To and References from
+ original email.
+ * Threading broken when editing message draft, due to loss of Message-ID
+ * "Apply columns to..." did not honor special folders
+
+-------------------------------------------------------------------
+Tue Aug 30 06:55:14 UTC 2016 - wr(a)rosenauer.org
+
+- update to Thunderbird 45.3.0 (boo#991809)
+ * Disposition-Notification-To could not be used in
+ mail.compose.other.header
+ * "edit as new message" on a received message pre-filled the sender
+ as the composing identity.
+ * Certain messages caused corruption of the drafts summary database.
+ security fixes:
+ * MFSA 2016-62/CVE-2016-2836
+ Miscellaneous memory safety hazards
+ * MFSA 2016-63/CVE-2016-2830 (bmo#1255270)
+ Favicon network connection can persist when page is closed
+ * MFSA 2016-64/CVE-2016-2838 (bmo#1279814)
+ Buffer overflow rendering SVG with bidirectional content
+ * MFSA 2016-65/CVE-2016-2839 (bmo#1275339)
+ Cairo rendering crash due to memory allocation issue with FFmpeg 0.10
+ * MFSA 2016-67/CVE-2016-5252 (bmo#1268854)
+ Stack underflow during 2D graphics rendering
+ * MFSA 2016-70/CVE-2016-5254 (bmo#1266963)
+ Use-after-free when using alt key and toplevel menus
+ * MFSA 2016-72/CVE-2016-5258 (bmo#1279146)
+ Use-after-free in DTLS during WebRTC session shutdown
+ * MFSA 2016-73/CVE-2016-5259 (bmo#1282992)
+ Use-after-free in service workers with nested sync events
+ * MFSA 2016-76/CVE-2016-5262 (bmo#1277475)
+ Scripts on marquee tag can execute in sandboxed iframes
+ * MFSA 2016-77/CVE-2016-2837 (bmo#1274637)
+ Buffer overflow in ClearKey Content Decryption Module (CDM)
+ during video playback
+ * MFSA 2016-78/CVE-2016-5263 (bmo#1276897)
+ Type confusion in display transformation
+ * MFSA 2016-79/CVE-2016-5264 (bmo#1286183)
+ Use-after-free when applying SVG effects
+ * MFSA 2016-80/CVE-2016-5265 (bmo#1278013)
+ Same-origin policy violation using local HTML file and saved shortcut file
+
+-------------------------------------------------------------------
+Fri Aug 5 13:47:12 UTC 2016 - pcerny(a)suse.com
+
+- Fix for possible buffer overrun (bsc#990856)
+ CVE-2016-6354 (bmo#1292534)
+ [mozilla-flex_buffer_overrun.patch]
+
+-------------------------------------------------------------------
+Thu Jul 21 11:50:27 UTC 2016 - mailaender(a)opensuse.org
+
+- add a screenshot to appdata.xml
+
+-------------------------------------------------------------------
+Thu Jun 30 09:18:14 UTC 2016 - wr(a)rosenauer.org
+
+- update to Thunderbird 45.2 (boo#983549)
+ Security fixes:
+ * CVE-2016-2818, CVE-2016-2815: Memory safety bugs (MFSA2016-49)
+- drop mozilla-flexible-array-member-in-union.patch, upstream
+
+-------------------------------------------------------------------
+Fri Jun 24 14:10:58 UTC 2016 - wr(a)rosenauer.org
+
+- mozilla-binutils-visibility.patch to fix build issues with
+ gcc/binutils combination used in Leap 42.2 (boo#984637)
+
+-------------------------------------------------------------------
+Thu Jun 23 10:15:51 UTC 2016 - wr(a)rosenauer.org
+
+- build with -fno-delete-null-pointer-checks for Tumbleweed/gcc6
+ as long as underlying issues have been addressed upstream
+ (boo#986162)
+
+-------------------------------------------------------------------
+Mon Jun 13 20:28:01 UTC 2016 - agraf(a)suse.com
+
+- Fix running on 48bit va aarch64 (bsc#984126)
+ - Add patch mozilla-aarch64-48bit-va.patch
+
+-------------------------------------------------------------------
+Fri May 27 12:51:23 UTC 2016 - wr(a)rosenauer.org
+
+- update to Thunderbird 45.1.1
+ * When entering members into a mailing list, the enter key
+ dismissed the panel instead of just moving onto the next line
+ * Email without HTML elements was sent as HTML, despite
+ "Delivery Format: Auto-detect" option
+ * Options applied to a template were lost when the template was used
+ * Contacts could not be deleted when they were found through a search
+ * Views from global searches did not respect
+ "mail.threadpane.use_correspondents"
+
+-------------------------------------------------------------------
+Wed May 25 18:20:24 UTC 2016 - badshah400(a)gmail.com
+
+- The conditional testing for gcc was failing for different
+ openSUSE versions, drop it and apply patches unconditionally.
+
+-------------------------------------------------------------------
+Tue May 24 18:28:31 UTC 2016 - badshah400(a)gmail.com
+
+- Add patches to fix building with gcc >= 6:
+ + mozilla-gcc6.patch: patch taken from fedora's git and is
+ essentially identical to upstream firefox patch:
+ https://hg.mozilla.org/mozilla-central/rev/55212130f19d.
+ + mozilla-flexible-array-member-in-union.patch: patch taken
+ from upstream bmo#1272649.
+
+-------------------------------------------------------------------
+Thu May 12 15:21:45 UTC 2016 - dimstar(a)opensuse.org
+
+- Copy the icons to /usr/share/icons instead of symlinking them:
+ in preparation for containerized apps (e.g. xdg-app) as well as
+ AppStream metadata extraction, there are a couple locations that
+ need to be real files for system integration (.desktop files,
+ icons, mime-type info).
+
+-------------------------------------------------------------------
+Sat May 7 22:19:09 UTC 2016 - wr(a)rosenauer.org
+
+- update to Thunderbird 45.1.0 (boo#977333)
+ * MFSA 2016-39/CVE-2016-2806/CVE-2016-2807 (boo#977375, boo#977376)
+ Miscellaneous memory safety hazards
+
+-------------------------------------------------------------------
+Wed Apr 27 04:26:56 UTC 2016 - badshah400(a)gmail.com
+
+- For openSUSE > 13.2, the build fails for i586 as it goes out of
+ memory. Prevent this from happening by disabing parallel build
+ in this particular case (i.e. do not pass
+ mk_add_options MOZ_MAKE_FLAGS%{?jobs:-j%jobs}).
+
+-------------------------------------------------------------------
+Sat Apr 16 08:11:14 UTC 2016 - wr(a)rosenauer.org
+
+- update to Thunderbird 45.0 (boo#969894)
+ * Add a Correspondents column combining Sender and Recipient
+ * Much better support for XMPP chatrooms and commands
+ * Remote content exceptions: Improved options to add exceptions
+ * Implement option to always use HTML formatting to prevent
+ unexpected format loss when converting messages to plain text
+ * Use OpenStreetmap for maps (even allow the user to choose from
+ list of map services)
+ * Allow spell checking and dictionary selection in the subject line
+ * Allow editing of From when composing a message
+ * Add dropdown in compose to allow specific setting of font size
+ * Return/Enter in composer will now insert a new paragraph by
+ default (shift-Enter will insert a line break)
+ * Allow copying of name and email address from the message header
+ of an email
+ * Mail.ru supports OAuth authentication
+ * MFSA 2016-16/CVE-2016-1952/CVE-2016-1953
+ Miscellaneous memory safety hazards
+ * MFSA 2016-17/CVE-2016-1954 (bmo#1243178)
+ Local file overwriting and potential privilege escalation through
+ CSP reports
+ * MFSA 2016-18/CVE-2016-1955 (bmo#1208946)
+ CSP reports fail to strip location information for embedded iframe pages
+ * MFSA 2016-19/CVE-2016-1956 (bmo#1199923)
+ Linux video memory DOS with Intel drivers
+ * MFSA 2016-20/CVE-2016-1957 (bmo#1227052)
+ Memory leak in libstagefright when deleting an array during MP4
+ processing
+ * MFSA 2016-23/CVE-2016-1960/ZDI-CAN-3545 (bmo#1246014)
+ Use-after-free in HTML5 string parser
+ * MFSA 2016-24/CVE-2016-1961/ZDI-CAN-3574 (bmo#1249377)
++++ 2451 more lines (skipped)
++++ between /dev/null
++++ and /work/SRC/openSUSE:13.2:Update/.MozillaThunderbird.5900.new/MozillaThunderbird.changes
New:
----
MozillaThunderbird.changes
MozillaThunderbird.spec
_constraints
compare-locales.tar.xz
create-tar.sh
find-external-requires.sh
kde.js
l10n-45.5.0.tar.xz
mozilla-aarch64-48bit-va.patch
mozilla-binutils-visibility.patch
mozilla-develdirs.patch
mozilla-flex_buffer_overrun.patch
mozilla-gcc6.patch
mozilla-kde.patch
mozilla-language.patch
mozilla-no-stdcxx-check.patch
mozilla-nongnome-proxies.patch
mozilla.sh.in
suse-default-prefs.js
tb-ssldap.patch
thunderbird-45.5.0-source.tar.xz
thunderbird-rpmlintrc
thunderbird.appdata.xml
thunderbird.desktop
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ MozillaThunderbird.spec ++++++
#
# spec file for package MozillaThunderbird
#
# Copyright (c) 2016 SUSE LINUX GmbH, Nuernberg, Germany.
# 2006-2016 Wolfgang Rosenauer <wr(a)rosenauer.org>
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
# upon. The license for this file, and modifications and additions to the
# file, is the same license as for the pristine package itself (unless the
# license for the pristine package is not an Open Source License, in which
# case the license is the MIT License). An "Open Source License" is a
# license that conforms to the Open Source Definition (Version 1.9)
# published by the Open Source Initiative.
# Please submit bugfixes or comments via http://bugs.opensuse.org/
#
%define mainversion 45.5.0
%define update_channel release
%define releasedate 2016111800
%if %suse_version > 1310
%define gstreamer_ver 1.0
%define gstreamer 1
%else
%define gstreamer_ver 0.10
%endif
%bcond_without mozilla_tb_kde4
%bcond_with mozilla_tb_valgrind
%bcond_without mozilla_tb_optimize_for_size
Name: MozillaThunderbird
BuildRequires: Mesa-devel
BuildRequires: autoconf213
BuildRequires: dbus-1-glib-devel
BuildRequires: fdupes
BuildRequires: gcc-c++
BuildRequires: hunspell-devel
BuildRequires: libXcomposite-devel
BuildRequires: libcurl-devel
BuildRequires: libgnomeui-devel
BuildRequires: libidl-devel
BuildRequires: libnotify-devel
BuildRequires: mozilla-nspr-devel >= 4.12
BuildRequires: mozilla-nss-devel >= 3.21.3
BuildRequires: python
BuildRequires: startup-notification-devel
BuildRequires: unzip
BuildRequires: update-desktop-files
BuildRequires: xorg-x11-libXt-devel
BuildRequires: xz
BuildRequires: yasm
BuildRequires: zip
BuildRequires: pkgconfig(libpulse)
%if %{with mozilla_tb_valgrind}
BuildRequires: pkgconfig(valgrind)
%endif
BuildRequires: pkgconfig(gstreamer-%gstreamer_ver)
BuildRequires: pkgconfig(gstreamer-app-%gstreamer_ver)
BuildRequires: pkgconfig(gstreamer-plugins-base-%gstreamer_ver)
%if 0%{?gstreamer} == 1
Requires: libgstreamer-1_0-0
Recommends: gstreamer-fluendo-mp3
Recommends: gstreamer-plugin-libav
%else
Requires: libgstreamer-0_10-0
Recommends: gstreamer-0_10-fluendo-mp3
Recommends: gstreamer-0_10-plugins-ffmpeg
%endif
Version: %{mainversion}
Release: 0
Provides: thunderbird = %{version}
Provides: appdata()
Provides: appdata(thunderbird.appdata.xml)
%if %{with mozilla_tb_kde4}
# this is needed to match this package with the kde4 helper package without the main package
# having a hard requirement on the kde4 package
%define kde_helper_version 6
Provides: mozilla-kde4-version = %{kde_helper_version}
%endif
Summary: The Stand-Alone Mozilla Mail Component
License: MPL-2.0
Group: Productivity/Networking/Email/Clients
Url: http://www.mozilla.org/products/thunderbird/
Source: thunderbird-%{version}-source.tar.xz
Source1: thunderbird.desktop
Source3: mozilla.sh.in
Source4: l10n-%{version}.tar.xz
#Source5: shipped-locales
Source6: suse-default-prefs.js
Source7: find-external-requires.sh
Source8: thunderbird-rpmlintrc
Source9: thunderbird.appdata.xml
Source10: create-tar.sh
Source11: compare-locales.tar.xz
Source12: kde.js
# Gecko/Toolkit
Patch1: mozilla-language.patch
Patch2: mozilla-nongnome-proxies.patch
Patch3: mozilla-kde.patch
Patch4: mozilla-develdirs.patch
Patch5: mozilla-no-stdcxx-check.patch
Patch6: mozilla-gcc6.patch
Patch8: mozilla-aarch64-48bit-va.patch
Patch9: mozilla-binutils-visibility.patch
# Thunderbird/mail
Patch20: tb-ssldap.patch
# hotfix
Patch150: mozilla-flex_buffer_overrun.patch
BuildRoot: %{_tmppath}/%{name}-%{version}-build
PreReq: coreutils fileutils textutils /bin/sh
Recommends: libcanberra0
### build options
%ifarch aarch64 ppc ppc64 ppc64le s390 s390x ia64 %arm
%define crashreporter 0
%else
%define crashreporter 1
%endif
%define has_system_cairo 0
%define localize 1
### build options end
%define _use_internal_dependency_generator 0
%define __find_requires sh %{SOURCE7}
%global provfind sh -c "grep -v '.so' | %__find_provides"
%global __find_provides %provfind
Requires: mozilla-nspr >= %(rpm -q --queryformat '%{VERSION}' mozilla-nspr)
Requires: mozilla-nss >= %(rpm -q --queryformat '%{VERSION}' mozilla-nss)
Conflicts: thunderbird-esr
%define progname thunderbird
%define progdir %{_prefix}/%_lib/thunderbird
%define libgssapi libgssapi_krb5.so.2
%if %suse_version > 1130
%define desktop_file_name thunderbird
%else
%define desktop_file_name %{name}
%endif
%description
Mozilla Thunderbird is a redesign of the Mozilla Mail component. It is
written using the XUL user interface language and designed to be
cross-platform. It is a stand-alone application instead of part of the
Mozilla application suite.
%if %localize
%package translations-common
Summary: Common translations for MozillaThunderbird
Group: System/Localization
Provides: locale(%{name}:ar;ca;cs;da;de;el;en_GB;es_AR;es_ES;fi;fr;hu;it;ja;ko;nb_NO;nl;pl;pt_BR;pt_PT;ru;sv_SE;zh_CN;zh_TW)
PreReq: %{name} = %{mainversion}
Obsoletes: %{name}-translations < %{version}-%{release}
%description translations-common
This package contains several optional languages for the user interface
of MozillaThunderbird.
%package translations-other
Summary: Extra translations for MozillaThunderbird
Group: System/Localization
Provides: locale(%{name}:ast;be;bg;bn_BD;br;et;eu;fy_NL;ga_IE;gd;gl;he;hr;hy_AM;id;is;lt;nn_NO;pa_IN;rm;ro;si;sk;sl;sq;sr;ta_LK;tr;uk;vi)
PreReq: %{name} = %{mainversion}
Obsoletes: %{name}-translations < %{version}-%{release}
%description translations-other
This package contains several optional languages for the user interface
of MozillaThunderbird.
%endif
%package devel
Summary: Mozilla Thunderbird SDK
Group: Development/Libraries/Other
Requires: mozilla-nspr-devel >= %(rpm -q --queryformat '%{VERSION}' mozilla-nspr-devel)
PreReq: mozilla-nss-devel >= %(rpm -q --queryformat '%{VERSION}' mozilla-nss-devel)
PreReq: %{name} = %{mainversion}
%description devel
Software Development Kit to build plugins/extensions against Thunderbird.
%if %crashreporter
%package buildsymbols
Summary: Breakpad buildsymbols for %{name}
Group: Development/Debug
%description buildsymbols
This subpackage contains the Breakpad created and compatible debugging
symbols meant for upload to Mozilla's crash collector database.
%endif
%prep
%setup -n thunderbird -q -b 4 -b 11
# xulrunner patches
pushd mozilla
%patch1 -p1
%patch2 -p1
%if %{with mozilla_tb_kde4}
%patch3 -p1
%endif
%patch4 -p1
%patch5 -p1
%patch6 -p1
%patch8 -p1
%patch9 -p1
%patch150 -p1
popd
# comm-central patches
%patch20 -p1
%build
# no need to add build time to binaries
modified="$(sed -n '/^----/n;s/ - .*$//;p;q' "%{_sourcedir}/%{name}.changes")"
DATE="\"$(date -d "${modified}" "+%%b %%e %%Y")\""
TIME="\"$(date -d "${modified}" "+%%R")\""
find . -regex ".*\.c\|.*\.cpp\|.*\.h" -exec sed -i "s/__DATE__/${DATE}/g;s/__TIME__/${TIME}/g" {} +
#
%if %{with mozilla_tb_kde4}
kdehelperversion=$(cat mozilla/toolkit/xre/nsKDEUtils.cpp | grep '#define KMOZILLAHELPER_VERSION' | cut -d ' ' -f 3)
if test "$kdehelperversion" != %{kde_helper_version}; then
echo fix kde helper version in the .spec file
exit 1
fi
%endif
export SUSE_ASNEEDED=0
export MOZ_BUILD_DATE=%{releasedate}
export MOZILLA_OFFICIAL=1
export BUILD_OFFICIAL=1
%if %{update_channel} == "esr"
export MOZ_ESR=1
%endif
export CFLAGS="$RPM_OPT_FLAGS -fno-strict-aliasing"
%if 0%{?suse_version} > 1320
export CFLAGS="$CFLAGS -fno-delete-null-pointer-checks"
%endif
%if %{with mozilla_tb_optimize_for_size}
export CFLAGS="$CFLAGS -Os"
%endif
%ifarch ppc64 ppc64le
export CFLAGS="$CFLAGS -mminimal-toc"
%endif
%ifarch %arm
# Limit RAM usage during link
export LDFLAGS="${LDFLAGS} -Wl,--no-keep-memory -Wl,--reduce-memory-overheads"
%endif
export CXXFLAGS="$CFLAGS"
export MOZCONFIG=$RPM_BUILD_DIR/mozconfig
# -g might be part of RPM_OPT_FLAGS, depending on the debuginfo setting in prj config
# gcc lacks a an explicit -noop, so use something similar to make sure -g
# is not forced into CFLAGS
export MOZ_DEBUG_FLAGS="-pipe"
#
cat << EOF > $MOZCONFIG
mk_add_options MOZILLA_OFFICIAL=1
mk_add_options BUILD_OFFICIAL=1
mk_add_options MOZ_MILESTONE_RELEASE=1
%if 0%{?suse_version} > 1320
%ifarch i586
mk_add_options MOZ_MAKE_FLAGS=-j1
%else
mk_add_options MOZ_MAKE_FLAGS=%{?jobs:-j%jobs}
%endif
%endif
mk_add_options MOZ_OBJDIR=$RPM_BUILD_DIR/obj
ac_add_options --enable-application=mail
ac_add_options --enable-calendar
ac_add_options --prefix=%{_prefix}
ac_add_options --libdir=%{progdir}
ac_add_options --includedir=%{_includedir}
ac_add_options --disable-tests
ac_add_options --disable-debug
ac_add_options --enable-optimize
ac_add_options --with-system-nspr
ac_add_options --with-system-nss
ac_add_options --with-system-jpeg
ac_add_options --with-system-zlib
ac_add_options --with-l10n-base=$RPM_BUILD_DIR/l10n
ac_add_options --disable-updater
#ac_add_options --with-system-png # no apng support
ac_add_options --enable-system-hunspell
ac_add_options --disable-installer
ac_add_options --disable-mochitest
ac_add_options --enable-startup-notification
ac_add_options --enable-official-branding
ac_add_options --disable-necko-wifi
ac_add_options --enable-update-channel=%{update_channel}
%if 0%{?gstreamer} == 1
ac_add_options --enable-gstreamer=1.0
%endif
%if %has_system_cairo
ac_add_options --enable-system-cairo
%endif
%if ! %crashreporter
ac_add_options --disable-crashreporter
%endif
# Disable neon for arm as it does not build correctly
%ifarch %arm
ac_add_options --disable-neon
%endif
%if %{with mozilla_tb_valgrind}
ac_add_options --disable-jemalloc
ac_add_options --enable-valgrind
%endif
EOF
make -f client.mk build
%install
cd $RPM_BUILD_DIR/obj
make -C mail/installer STRIP=/bin/true MOZ_PKG_FATAL_WARNINGS=0
# copy tree into RPM_BUILD_ROOT
mkdir -p $RPM_BUILD_ROOT%{progdir}
cp -rf $RPM_BUILD_DIR/obj/dist/thunderbird/* \
$RPM_BUILD_ROOT%{progdir}
%if %{with mozilla_tb_kde4}
# install kde.js
install -m 644 %{SOURCE12} $RPM_BUILD_ROOT%{progdir}/defaults/pref/kde.js
# make sure that instantApply is true by default
# (TODO: mozilla-kde.patch needs to be improved to really not load kde.js in non-KDE envs)
echo 'pref("browser.preferences.instantApply", true);' > $RPM_BUILD_ROOT%{progdir}/defaults/pref/all-thunderbird.js
%endif
# build additional locales
%if %localize
%if 0%{?SOURCE5:1}
cp %SOURCE5 ../thunderbird/mail/locales/shipped-locales
%endif
rm -f %{_tmppath}/translations.*
touch %{_tmppath}/translations.{common,other}
for locale in $(awk '{ print $1; }' ../thunderbird/mail/locales/shipped-locales); do
case $locale in
ja-JP-mac|en-US)
# locales not to be included in translations package
;;
*)
pushd $RPM_BUILD_DIR/compare-locales
PYTHONPATH=lib \
scripts/compare-locales -m ../l10n-merged/$locale \
../thunderbird/mail/locales/l10n.ini ../l10n $locale
popd
LOCALE_MERGEDIR=$RPM_BUILD_DIR/l10n-merged/$locale \
make -C mail/locales langpack-$locale || continue
cp -rL dist/xpi-stage/locale-$locale \
$RPM_BUILD_ROOT%{progdir}/extensions/langpack-$locale(a)thunderbird.mozilla.org
# Lightning
_shipcalendar=0
#for callocale in in $(awk '{ print $1; }' ../thunderbird/calendar/locales/shipped-locales); do
# if [ "$locale" = "$callocale" ]; then
# make -C mail/locales calendar-langpack-$locale || continue
# cp -rL dist/xpi-stage/lightning-$locale \
# $RPM_BUILD_ROOT%{progdir}/extensions/lightning-langpack-$locale(a)thunderbird.mozilla.org
# _shipcalendar=1
# fi
#done
# remove prefs and profile defaults from langpack
rm -rf $RPM_BUILD_ROOT%{progdir}/extensions/langpack-$locale(a)thunderbird.mozilla.org/defaults
# check against the fixed common list and sort into the right filelist
_matched=0
for _match in ar ca cs da de el en-GB es-AR es-CL es-ES fi fr hu it ja ko nb-NO nl pl pt-BR pt-PT ru sv-SE zh-CN zh-TW; do
[ "$_match" = "$locale" ] && _matched=1
done
[ $_matched -eq 1 ] && _l10ntarget=common || _l10ntarget=other
echo %{progdir}/extensions/langpack-$locale(a)thunderbird.mozilla.org \
>> %{_tmppath}/translations.$_l10ntarget
if [ $_shipcalendar -eq 1 ]; then
echo %{progdir}/extensions/lightning-langpack-$locale(a)thunderbird.mozilla.org \
>> %{_tmppath}/translations.$_l10ntarget
fi
esac
done
%endif
# overwrite the mozilla start-script and link it to /usr/bin
mkdir --parents $RPM_BUILD_ROOT%{_bindir}/
sed "s:%%PREFIX:%{_prefix}:g
s:%%PROGDIR:%{progdir}:g
s:%%APPNAME:thunderbird:g
s:%%PROFILE:.thunderbird:g" \
%{SOURCE3} > $RPM_BUILD_ROOT%{progdir}/%{progname}.sh
chmod 755 $RPM_BUILD_ROOT%{progdir}/%{progname}.sh
ln -sf ../..%{progdir}/%{progname}.sh $RPM_BUILD_ROOT%{_bindir}/%{progname}
# freedesktop definition
mkdir -p $RPM_BUILD_ROOT%{_datadir}/applications
install -m 644 %{SOURCE1} \
$RPM_BUILD_ROOT%{_datadir}/applications/%{desktop_file_name}.desktop
# appdata
mkdir -p $RPM_BUILD_ROOT%{_datadir}/appdata
cp %{SOURCE9} $RPM_BUILD_ROOT%{_datadir}/appdata/%{desktop_file_name}.appdata.xml
# apply SUSE defaults
sed -e 's,RPM_VERSION,%{mainversion},g
s,GSSAPI,%{libgssapi},g' \
%{SOURCE6} > suse-default-prefs
cp suse-default-prefs $RPM_BUILD_ROOT%{progdir}/defaults/pref/all-opensuse.js
rm suse-default-prefs
# use correct locale for useragent
cat > $RPM_BUILD_ROOT%{progdir}/defaults/pref/all-l10n.js << EOF
pref("general.useragent.locale", "chrome://global/locale/intl.properties");
EOF
##########
# DEVEL
#
mkdir -p $RPM_BUILD_ROOT%{_includedir}/%{progname}
chmod a+x dist/sdk/bin/*.py
cp -rL dist/sdk/bin/* $RPM_BUILD_ROOT%{_libdir}/%{progname}/
cp -rL dist/sdk/lib/*.a $RPM_BUILD_ROOT%{_libdir}/%{progname}/
cp -rL dist/idl/* $RPM_BUILD_ROOT%{_includedir}/%{progname}/
cp -rL dist/include/* $RPM_BUILD_ROOT%{_includedir}/%{progname}/
#mkdir -p $RPM_BUILD_ROOT%{_libdir}/pkgconfig/
#install -m 755 $RPM_BUILD_DIR/thunderbird/mozilla/build/unix/thunderbird-*.pc \
# $RPM_BUILD_ROOT%{_libdir}/pkgconfig/
#rm $RPM_BUILD_ROOT%{_libdir}/pkgconfig/thunderbird-nss.pc
#ln -sf nss.pc $RPM_BUILD_ROOT%{_libdir}/pkgconfig/thunderbird-nss.pc
#
#
# remove spurious executable bits
find $RPM_BUILD_ROOT/usr/include/%{progname} -type f -exec chmod a-x {} \;
find $RPM_BUILD_ROOT%{_libdir}/%{progname} \
-name "*.js" -o \
-name "*.jsm" -o \
-name "*.rdf" -o \
-name "*.properties" -o \
-name "*.dtd" -o \
-name "*.css" | xargs chmod a-x
# remove mkdir.done files from installed base
find $RPM_BUILD_ROOT%{progdir} -name ".mkdir.done" | xargs rm
#
for size in 16 22 24 32 48 256; do
mkdir -p $RPM_BUILD_ROOT%{_datadir}/icons/hicolor/${size}x${size}/apps/
cp %{buildroot}%{progdir}/chrome/icons/default/default$size.png \
%{buildroot}%{_datadir}/icons/hicolor/${size}x${size}/apps/%{progname}.png
done
%suse_update_desktop_file %{desktop_file_name} Network Email GTK
# excluded files
rm -f $RPM_BUILD_ROOT%{progdir}/thunderbird
rm -f $RPM_BUILD_ROOT%{progdir}/removed-files
rm -f $RPM_BUILD_ROOT%{progdir}/precomplete
rm -f $RPM_BUILD_ROOT%{progdir}/updater
rm -f $RPM_BUILD_ROOT%{progdir}/updater.ini
rm -f $RPM_BUILD_ROOT%{progdir}/update.locale
rm -f $RPM_BUILD_ROOT%{progdir}/dictionaries/en-US*
rm -f $RPM_BUILD_ROOT%{progdir}/nspr-config
# Some sites use different partitions for /usr/(lib|lib64) and /usr/share. Since you
# can't create hardlinks across partitions, we'll do this more than once.
%fdupes $RPM_BUILD_ROOT%{progdir}
%fdupes $RPM_BUILD_ROOT%{_libdir}/mozilla
%fdupes $RPM_BUILD_ROOT%{_datadir}
%fdupes $RPM_BUILD_ROOT%{_includedir}
%if %crashreporter
SYMBOLS_NAME="thunderbird-%{mainversion}-%{release}.%{_arch}-%{suse_version}-symbols"
make buildsymbols \
SYMBOL_INDEX_NAME="$SYMBOLS_NAME.txt" \
SYMBOL_ARCHIVE_BASENAME="$SYMBOLS_NAME"
if [ -e dist/*symbols.zip ]; then
mkdir -p $RPM_BUILD_ROOT%{_datadir}/mozilla/
cp dist/*symbols.zip $RPM_BUILD_ROOT%{_datadir}/mozilla/
fi
%endif
%clean
rm -rf $RPM_BUILD_ROOT
%if %localize
rm -rf %{_tmppath}/translations.*
%endif
%post
%icon_theme_cache_post
exit 0
%postun
%icon_theme_cache_postun
exit 0
%files
%defattr(-,root,root)
%attr(755,root,root) %{progdir}/%{progname}.sh
%dir %{progdir}
%{progdir}/application.ini
%{progdir}/blocklist.xml
%{progdir}/dependentlibs.list
%{progdir}/*.so
%{progdir}/omni.ja
%{progdir}/platform.ini
%{progdir}/plugin-container
%{progdir}/run-mozilla.sh
%{progdir}/thunderbird-bin
# crashreporter files
%if %crashreporter
%{progdir}/crashreporter
%{progdir}/crashreporter.ini
%{progdir}/Throbber-small.gif
%endif
%dir %{progdir}/chrome/
%{progdir}/chrome/icons/
%dir %{progdir}/dictionaries/
%{progdir}/distribution/
%{progdir}/defaults/
%dir %{progdir}/extensions/
%{progdir}/extensions/{972ce4c6-7e08-4474-a285-3208198ce6fd}.xpi
%{progdir}/isp/
%{_datadir}/appdata/
%{_datadir}/applications/%{desktop_file_name}.desktop
%{_datadir}/icons/hicolor/*/apps/%{progname}.png
%{_bindir}/%{progname}
%if %localize
%files translations-common -f %{_tmppath}/translations.common
%defattr(-,root,root)
%files translations-other -f %{_tmppath}/translations.other
%defattr(-,root,root)
%endif
%files devel
%defattr(-,root,root)
%{_libdir}/%{progname}/*.a
%{_libdir}/%{progname}/*.py
%{_libdir}/%{progname}/ply/
%{_libdir}/%{progname}/xpcshell
#%{_libdir}/pkgconfig/*.pc
%{_includedir}/%{progname}/
%if %crashreporter
%files buildsymbols
%defattr(-,root,root)
%{_datadir}/mozilla/
%endif
%changelog
++++++ create-tar.sh ++++++
#!/bin/bash
CHANNEL="esr45"
BRANCH="releases/comm-$CHANNEL"
RELEASE_TAG="THUNDERBIRD_45_5_0_RELEASE"
VERSION="45.5.0"
echo "cloning $BRANCH..."
hg clone http://hg.mozilla.org/$BRANCH thunderbird
pushd thunderbird
hg update -r $RELEASE_TAG
echo "running client.py..."
[ "$RELEASE_TAG" == "default" ] || _extra="--comm-rev=$RELEASE_TAG --mozilla-rev=$RELEASE_TAG"
# temporary!
_extra="--mozilla-repo=http://hg.mozilla.org/releases/mozilla-$CHANNEL $_extra"
python client.py checkout --skip-chatzilla --skip-venkman $_extra
popd
echo "creating archive..."
tar cJf thunderbird-$VERSION-source.tar.xz --exclude=.hgtags --exclude=.hgignore --exclude=.hg --exclude=CVS thunderbird
# l10n
# http://l10n.mozilla.org/dashboard/?tree=tb30x -> shipped-locales
echo "fetching locales..."
if [ -e shipped-locales ]; then
SHIPPED_LOCALES=shipped-locales
else
SHIPPED_LOCALES=thunderbird/mail/locales/shipped-locales
fi
test ! -d l10n && mkdir l10n
for locale in $(awk '{ print $1; }' $SHIPPED_LOCALES); do
case $locale in
ja-JP-mac|en-US)
;;
*)
echo "fetching $locale ..."
hg clone http://hg.mozilla.org/releases/l10n/mozilla-release/$locale l10n/$locale
hg -R l10n/$locale up -C -r $RELEASE_TAG
;;
esac
done
echo "creating l10n archive..."
tar cJf l10n-$VERSION.tar.xz \
--exclude=.hgtags --exclude=.hgignore --exclude=.hg --exclude=browser \
--exclude=suite \
l10n
# compare-locales
hg clone http://hg.mozilla.org/build/compare-locales
tar cJf compare-locales.tar.xz --exclude=.hgtags --exclude=.hgignore --exclude=.hg compare-locales
++++++ find-external-requires.sh ++++++
#!/bin/sh
# Finds requirements provided outside of the current file set
filelist=$( sed "s/[]['\"*?{}]/\\\\\&/g" )
provides=$( echo "$filelist" | /usr/lib/rpm/find-provides )
echo "$filelist" \
| /usr/lib/rpm/find-requires \
| grep -F -v "$provides" \
| sort -u
++++++ kde.js ++++++
pref("browser.preferences.instantApply", false);
++++++ mozilla-aarch64-48bit-va.patch ++++++
# HG changeset patch
# User Zheng Xu <zheng.xu(a)linaro.org>
# Date 1464657720 -7200
# Node ID dfaafbaaa2919a033c4c0abdd5830f4ea413bed6
# Parent 499f16ca85ec48d1896a1633730715f32bd62140
Bug 1143022 - Manually mmap on arm64 to ensure high 17 bits are clear. r=ehoogeveen
There might be 48-bit VA on arm64 depending on kernel configuration.
Manually mmap heap memory to align with the assumption made by JS engine.
diff --git a/js/src/gc/Memory.cpp b/js/src/gc/Memory.cpp
--- a/js/src/gc/Memory.cpp
+++ b/js/src/gc/Memory.cpp
@@ -430,17 +430,17 @@ InitMemorySubsystem()
if (pageSize == 0)
pageSize = allocGranularity = size_t(sysconf(_SC_PAGESIZE));
}
static inline void*
MapMemoryAt(void* desired, size_t length, int prot = PROT_READ | PROT_WRITE,
int flags = MAP_PRIVATE | MAP_ANON, int fd = -1, off_t offset = 0)
{
-#if defined(__ia64__) || (defined(__sparc64__) && defined(__NetBSD__))
+#if defined(__ia64__) || (defined(__sparc64__) && defined(__NetBSD__)) || defined(__aarch64__)
MOZ_ASSERT(0xffff800000000000ULL & (uintptr_t(desired) + length - 1) == 0);
#endif
void* region = mmap(desired, length, prot, flags, fd, offset);
if (region == MAP_FAILED)
return nullptr;
/*
* mmap treats the given address as a hint unless the MAP_FIXED flag is
* used (which isn't usually what you want, as this overrides existing
@@ -480,16 +480,51 @@ MapMemory(size_t length, int prot = PROT
* as out of memory.
*/
if ((uintptr_t(region) + (length - 1)) & 0xffff800000000000) {
if (munmap(region, length))
MOZ_ASSERT(errno == ENOMEM);
return nullptr;
}
return region;
+#elif defined(__aarch64__)
+ /*
+ * There might be similar virtual address issue on arm64 which depends on
+ * hardware and kernel configurations. But the work around is slightly
+ * different due to the different mmap behavior.
+ *
+ * TODO: Merge with the above code block if this implementation works for
+ * ia64 and sparc64.
+ */
+ const uintptr_t start = UINT64_C(0x0000070000000000);
+ const uintptr_t end = UINT64_C(0x0000800000000000);
+ const uintptr_t step = ChunkSize;
+ /*
+ * Optimization options if there are too many retries in practice:
+ * 1. Examine /proc/self/maps to find an available address. This file is
+ * not always available, however. In addition, even if we examine
+ * /proc/self/maps, we may still need to retry several times due to
+ * racing with other threads.
+ * 2. Use a global/static variable with lock to track the addresses we have
+ * allocated or tried.
+ */
+ uintptr_t hint;
+ void* region = MAP_FAILED;
+ for (hint = start; region == MAP_FAILED && hint + length <= end; hint += step) {
+ region = mmap((void*)hint, length, prot, flags, fd, offset);
+ if (region != MAP_FAILED) {
+ if ((uintptr_t(region) + (length - 1)) & 0xffff800000000000) {
+ if (munmap(region, length)) {
+ MOZ_ASSERT(errno == ENOMEM);
+ }
+ region = MAP_FAILED;
+ }
+ }
+ }
+ return region == MAP_FAILED ? nullptr : region;
#else
void* region = MozTaggedAnonymousMmap(nullptr, length, prot, flags, fd, offset, "js-gc-heap");
if (region == MAP_FAILED)
return nullptr;
return region;
#endif
}
diff --git a/js/src/jsapi-tests/testGCAllocator.cpp b/js/src/jsapi-tests/testGCAllocator.cpp
--- a/js/src/jsapi-tests/testGCAllocator.cpp
+++ b/js/src/jsapi-tests/testGCAllocator.cpp
@@ -307,48 +307,72 @@ void* mapMemoryAt(void* desired, size_t
void* mapMemory(size_t length) { return nullptr; }
void unmapPages(void* p, size_t size) { }
#elif defined(XP_UNIX)
void*
mapMemoryAt(void* desired, size_t length)
{
-#if defined(__ia64__) || (defined(__sparc64__) && defined(__NetBSD__))
+#if defined(__ia64__) || (defined(__sparc64__) && defined(__NetBSD__)) || defined(__aarch64__)
MOZ_RELEASE_ASSERT(0xffff800000000000ULL & (uintptr_t(desired) + length - 1) == 0);
#endif
void* region = mmap(desired, length, PROT_READ | PROT_WRITE, MAP_PRIVATE | MAP_ANON, -1, 0);
if (region == MAP_FAILED)
return nullptr;
if (region != desired) {
if (munmap(region, length))
MOZ_RELEASE_ASSERT(errno == ENOMEM);
return nullptr;
}
return region;
}
void*
mapMemory(size_t length)
{
- void* hint = nullptr;
+ int prot = PROT_READ | PROT_WRITE;
+ int flags = MAP_PRIVATE | MAP_ANON;
+ int fd = -1;
+ off_t offset = 0;
+ // The test code must be aligned with the implementation in gc/Memory.cpp.
#if defined(__ia64__) || (defined(__sparc64__) && defined(__NetBSD__))
- hint = (void*)0x0000070000000000ULL;
-#endif
- void* region = mmap(hint, length, PROT_READ | PROT_WRITE, MAP_PRIVATE | MAP_ANON, -1, 0);
+ void* region = mmap((void*)0x0000070000000000, length, prot, flags, fd, offset);
if (region == MAP_FAILED)
return nullptr;
-#if defined(__ia64__) || (defined(__sparc64__) && defined(__NetBSD__))
- if ((uintptr_t(region) + (length - 1)) & 0xffff800000000000ULL) {
+ if ((uintptr_t(region) + (length - 1)) & 0xffff800000000000) {
if (munmap(region, length))
MOZ_RELEASE_ASSERT(errno == ENOMEM);
return nullptr;
}
+ return region;
+#elif defined(__aarch64__)
+ const uintptr_t start = UINT64_C(0x0000070000000000);
+ const uintptr_t end = UINT64_C(0x0000800000000000);
+ const uintptr_t step = ChunkSize;
+ uintptr_t hint;
+ void* region = MAP_FAILED;
+ for (hint = start; region == MAP_FAILED && hint + length <= end; hint += step) {
+ region = mmap((void*)hint, length, prot, flags, fd, offset);
+ if (region != MAP_FAILED) {
+ if ((uintptr_t(region) + (length - 1)) & 0xffff800000000000) {
+ if (munmap(region, length)) {
+ MOZ_RELEASE_ASSERT(errno == ENOMEM);
+ }
+ region = MAP_FAILED;
+ }
+ }
+ }
+ return region == MAP_FAILED ? nullptr : region;
+#else
+ void* region = mmap(nullptr, length, prot, flags, fd, offset);
+ if (region == MAP_FAILED)
+ return nullptr;
+ return region;
#endif
- return region;
}
void
unmapPages(void* p, size_t size)
{
if (munmap(p, size))
MOZ_RELEASE_ASSERT(errno == ENOMEM);
}
++++++ mozilla-binutils-visibility.patch ++++++
# HG changeset patch
# User Wolfgang Rosenauer <wr(a)rosenauer.org>
# Parent 83bc32d997c714b607db1ffa71f02b30e1484a75
From: NetBSD
Subject: Workaround for gcc/binutils combination in Leap 42.2
References:
https://bugzilla.opensuse.org/show_bug.cgi?id=984637
diff --git a/xpcom/components/Module.h b/xpcom/components/Module.h
--- a/xpcom/components/Module.h
+++ b/xpcom/components/Module.h
@@ -120,17 +120,17 @@ struct Module
#if defined(MOZILLA_INTERNAL_API)
# define NSMODULE_NAME(_name) _name##_NSModule
# if defined(_MSC_VER)
# pragma section(".kPStaticModules$M", read)
# pragma comment(linker, "/merge:.kPStaticModules=.rdata")
# define NSMODULE_SECTION __declspec(allocate(".kPStaticModules$M"), dllexport)
# elif defined(__GNUC__)
# if defined(__ELF__)
-# define NSMODULE_SECTION __attribute__((section(".kPStaticModules"), visibility("protected")))
+# define NSMODULE_SECTION __attribute__((section(".kPStaticModules"), visibility("default")))
# elif defined(__MACH__)
# define NSMODULE_SECTION __attribute__((section("__DATA, .kPStaticModules"), visibility("default")))
# elif defined (_WIN32)
# define NSMODULE_SECTION __attribute__((section(".kPStaticModules"), dllexport))
# endif
# endif
# if !defined(NSMODULE_SECTION)
# error Do not know how to define sections.
++++++ mozilla-develdirs.patch ++++++
diff --git a/config/baseconfig.mk b/config/baseconfig.mk
--- a/config/baseconfig.mk
+++ b/config/baseconfig.mk
@@ -1,16 +1,16 @@
# This file is normally included by autoconf.mk, but it is also used
# directly in python/mozbuild/mozbuild/base.py for gmake validation.
# We thus use INCLUDED_AUTOCONF_MK to enable/disable some parts depending
# whether a normal build is happening or whether the check is running.
-includedir := $(includedir)/$(MOZ_APP_NAME)-$(MOZ_APP_VERSION)
-idldir = $(datadir)/idl/$(MOZ_APP_NAME)-$(MOZ_APP_VERSION)
-installdir = $(libdir)/$(MOZ_APP_NAME)-$(MOZ_APP_VERSION)
-sdkdir = $(libdir)/$(MOZ_APP_NAME)-devel-$(MOZ_APP_VERSION)
+includedir := $(includedir)/$(MOZ_APP_NAME)
+idldir = $(datadir)/idl/$(MOZ_APP_NAME)
+installdir = $(libdir)/$(MOZ_APP_NAME)
+sdkdir = $(libdir)/$(MOZ_APP_NAME)-devel
ifeq (.,$(DEPTH))
DIST = dist
else
DIST = $(DEPTH)/dist
endif
# We do magic with OBJ_SUFFIX in config.mk, the following ensures we don't
# manually use it before config.mk inclusion
++++++ mozilla-flex_buffer_overrun.patch ++++++
# HG changeset patch
# Parent c8e8364b303892fdb5a574b96411d2d8f699a15e
Patch lexical parser files generated by flex which may be potentially
exploitable in a buffer overrun. These seem to come from an upstream projects
(CMU Sphinx and ANGLE) so it should be fixed there in the first place.
CVE-2016-6354
https://bugzilla.suse.com/show_bug.cgi?id=990856
diff --git a/gfx/angle/src/compiler/preprocessor/Tokenizer.cpp b/gfx/angle/src/compiler/preprocessor/Tokenizer.cpp
--- a/gfx/angle/src/compiler/preprocessor/Tokenizer.cpp
+++ b/gfx/angle/src/compiler/preprocessor/Tokenizer.cpp
@@ -1375,17 +1375,17 @@ static int yy_get_next_buffer (yyscan_t
if ( YY_CURRENT_BUFFER_LVALUE->yy_buffer_status == YY_BUFFER_EOF_PENDING )
/* don't do the read, it's not guaranteed to return an EOF,
* just force an EOF
*/
YY_CURRENT_BUFFER_LVALUE->yy_n_chars = yyg->yy_n_chars = 0;
else
{
- yy_size_t num_to_read =
+ int num_to_read =
YY_CURRENT_BUFFER_LVALUE->yy_buf_size - number_to_move - 1;
while ( num_to_read <= 0 )
{ /* Not enough room in the buffer - grow it. */
/* just a shorter name for the current buffer */
YY_BUFFER_STATE b = YY_CURRENT_BUFFER_LVALUE;
diff --git a/gfx/angle/src/compiler/translator/glslang_lex.cpp b/gfx/angle/src/compiler/translator/glslang_lex.cpp
--- a/gfx/angle/src/compiler/translator/glslang_lex.cpp
+++ b/gfx/angle/src/compiler/translator/glslang_lex.cpp
@@ -2269,17 +2269,17 @@ static int yy_get_next_buffer (yyscan_t
if ( YY_CURRENT_BUFFER_LVALUE->yy_buffer_status == YY_BUFFER_EOF_PENDING )
/* don't do the read, it's not guaranteed to return an EOF,
* just force an EOF
*/
YY_CURRENT_BUFFER_LVALUE->yy_n_chars = yyg->yy_n_chars = 0;
else
{
- yy_size_t num_to_read =
+ int num_to_read =
YY_CURRENT_BUFFER_LVALUE->yy_buf_size - number_to_move - 1;
while ( num_to_read <= 0 )
{ /* Not enough room in the buffer - grow it. */
/* just a shorter name for the current buffer */
YY_BUFFER_STATE b = YY_CURRENT_BUFFER_LVALUE;
diff --git a/media/sphinxbase/src/libsphinxbase/lm/jsgf_scanner.c b/media/sphinxbase/src/libsphinxbase/lm/jsgf_scanner.c
--- a/media/sphinxbase/src/libsphinxbase/lm/jsgf_scanner.c
+++ b/media/sphinxbase/src/libsphinxbase/lm/jsgf_scanner.c
@@ -1242,17 +1242,17 @@ static int yy_get_next_buffer (yyscan_t
if ( YY_CURRENT_BUFFER_LVALUE->yy_buffer_status == YY_BUFFER_EOF_PENDING )
/* don't do the read, it's not guaranteed to return an EOF,
* just force an EOF
*/
YY_CURRENT_BUFFER_LVALUE->yy_n_chars = yyg->yy_n_chars = 0;
else
{
- yy_size_t num_to_read =
+ int num_to_read =
YY_CURRENT_BUFFER_LVALUE->yy_buf_size - number_to_move - 1;
while ( num_to_read <= 0 )
{ /* Not enough room in the buffer - grow it. */
/* just a shorter name for the current buffer */
YY_BUFFER_STATE b = YY_CURRENT_BUFFER_LVALUE;
++++++ mozilla-gcc6.patch ++++++
diff -up firefox-44.0/nsprpub/config/make-system-wrappers.pl.back firefox-44.0/nsprpub/config/make-system-wrappers.pl
--- firefox-44.0/nsprpub/config/make-system-wrappers.pl.back 2016-01-24 00:23:49.000000000 +0100
+++ firefox-44.0/nsprpub/config/make-system-wrappers.pl 2016-02-02 14:58:45.064112655 +0100
@@ -19,7 +19,9 @@ while (<STDIN>) {
open OUT, ">$output_dir/$_";
print OUT "#pragma GCC system_header\n"; # suppress include_next warning
print OUT "#pragma GCC visibility push(default)\n";
+ print OUT "#define _GLIBCXX_INCLUDE_NEXT_C_HEADERS\n";
print OUT "#include_next \<$_\>\n";
+ print OUT "#undef _GLIBCXX_INCLUDE_NEXT_C_HEADERS\n";
print OUT "#pragma GCC visibility pop\n";
close OUT;
}
diff -up firefox-44.0/mozglue/build/arm.cpp.old firefox-44.0/mozglue/build/arm.cpp
--- firefox-44.0/mozglue/build/arm.cpp.old 2016-02-03 10:07:29.879526500 +0100
+++ firefox-44.0/mozglue/build/arm.cpp 2016-02-03 10:08:11.062697517 +0100
@@ -104,7 +104,9 @@ check_neon(void)
# elif defined(__linux__) || defined(ANDROID)
# include <stdio.h>
+#define _GLIBCXX_INCLUDE_NEXT_C_HEADERS
# include <stdlib.h>
+#undef _GLIBCXX_INCLUDE_NEXT_C_HEADERS
# include <string.h>
enum{
++++++ mozilla-kde.patch ++++++
++++ 3785 lines (skipped)
++++++ mozilla-language.patch ++++++
# HG changeset patch
# User Wolfgang Rosenauer <wr(a)rosenauer.org>
# Parent 5a29924228527f8882c83cf62d470963ea1ce62e
# Parent 55b6ae7fd3ebf28f960031801f1948dfc1bd80d2
Bug 583793 - Firefox interface language set to LANG, ignores LANGUAGE
diff --git a/intl/locale/nsLocaleService.cpp b/intl/locale/nsLocaleService.cpp
--- a/intl/locale/nsLocaleService.cpp
+++ b/intl/locale/nsLocaleService.cpp
@@ -122,16 +122,17 @@ nsLocaleService::nsLocaleService(void)
RefPtr<nsLocale> resultLocale(new nsLocale());
NS_ENSURE_TRUE_VOID(resultLocale);
#ifdef MOZ_WIDGET_QT
const char* lang = QLocale::system().name().toUtf8();
#else
// Get system configuration
const char* lang = getenv("LANG");
+ const char* language = getenv("LANGUAGE");
#endif
nsAutoString xpLocale, platformLocale;
nsAutoString category, category_platform;
int i;
for( i = 0; i < LocaleListLength; i++ ) {
nsresult result;
@@ -158,16 +159,21 @@ nsLocaleService::nsLocaleService(void)
} else {
CopyASCIItoUTF16(lang, platformLocale);
result = nsPosixLocale::GetXPLocale(lang, xpLocale);
}
}
if (NS_FAILED(result)) {
return;
}
+ // LANGUAGE is overriding LC_MESSAGES
+ if (i == LC_MESSAGES && language && *language) {
+ CopyASCIItoUTF16(language, platformLocale);
+ result = nsPosixLocale::GetXPLocale(language, xpLocale);
+ }
resultLocale->AddCategory(category, xpLocale);
resultLocale->AddCategory(category_platform, platformLocale);
}
mSystemLocale = do_QueryInterface(resultLocale);
mApplicationLocale = do_QueryInterface(resultLocale);
#endif // XP_UNIX
++++++ mozilla-no-stdcxx-check.patch ++++++
# HG changeset patch
# User Wolfgang Rosenauer <wr(a)rosenauer.org>
# Parent e96e9b3997ea31024687aaa1e9aa5ccf78bc0ee9
diff --git a/config/config.mk b/config/config.mk
--- a/config/config.mk
+++ b/config/config.mk
@@ -653,17 +653,16 @@ ifeq ($(MOZ_WIDGET_TOOLKIT),android)
# of the linker command line), if libmozglue.so ends up after libc.so, all
# hell breaks loose, so better safe than sorry, and check it's actually the
# case.
CHECK_MOZGLUE_ORDER = @$(TOOLCHAIN_PREFIX)readelf -d $(1) | grep NEEDED | awk '{ libs[$$NF] = ++n } END { if (libs["[libmozglue.so]"] && libs["[libc.so]"] < libs["[libmozglue.so]"]) { print "libmozglue.so must be linked before libc.so"; exit 1 } }'
endif
define CHECK_BINARY
$(call CHECK_GLIBC,$(1))
-$(call CHECK_STDCXX,$(1))
$(call CHECK_TEXTREL,$(1))
$(call LOCAL_CHECKS,$(1))
$(call CHECK_MOZGLUE_ORDER,$(1))
endef
# autoconf.mk sets OBJ_SUFFIX to an error to avoid use before including
# this file
OBJ_SUFFIX := $(_OBJ_SUFFIX)
++++++ mozilla-nongnome-proxies.patch ++++++
From: Wolfgang Rosenauer
Subject: Do not use gconf for proxy settings if not running within Gnome
Index: toolkit/system/unixproxy/nsUnixSystemProxySettings.cpp
===================================================================
RCS file: /cvsroot/mozilla/toolkit/system/unixproxy/nsUnixSystemProxySettings.cpp,v
retrieving revision 1.1
diff --git a/toolkit/system/unixproxy/nsUnixSystemProxySettings.cpp b/toolkit/system/unixproxy/nsUnixSystemProxySettings.cpp
--- a/toolkit/system/unixproxy/nsUnixSystemProxySettings.cpp
+++ b/toolkit/system/unixproxy/nsUnixSystemProxySettings.cpp
@@ -53,23 +53,27 @@ nsUnixSystemProxySettings::GetMainThread
// dbus prevents us from being threadsafe, but this routine should not block anyhow
*aMainThreadOnly = true;
return NS_OK;
}
nsresult
nsUnixSystemProxySettings::Init()
{
- mGSettings = do_GetService(NS_GSETTINGSSERVICE_CONTRACTID);
- if (mGSettings) {
- mGSettings->GetCollectionForSchema(NS_LITERAL_CSTRING("org.gnome.system.proxy"),
- getter_AddRefs(mProxySettings));
- }
- if (!mProxySettings) {
- mGConf = do_GetService(NS_GCONFSERVICE_CONTRACTID);
+ // only use GSettings if that is a GNOME session
+ const char* sessionType = PR_GetEnv("DESKTOP_SESSION");
+ if (sessionType && !strcmp(sessionType, "gnome")) {
+ mGSettings = do_GetService(NS_GSETTINGSSERVICE_CONTRACTID);
+ if (mGSettings) {
+ mGSettings->GetCollectionForSchema(NS_LITERAL_CSTRING("org.gnome.system.proxy"),
+ getter_AddRefs(mProxySettings));
+ }
+ if (!mProxySettings) {
+ mGConf = do_GetService(NS_GCONFSERVICE_CONTRACTID);
+ }
}
return NS_OK;
}
bool
nsUnixSystemProxySettings::IsProxyMode(const char* aMode)
{
++++++ mozilla.sh.in ++++++
#!/bin/sh
#
# ***** BEGIN LICENSE BLOCK *****
# Version: MPL 1.1/GPL 2.0/LGPL 2.1
#
# The contents of this file are subject to the Mozilla Public License Version
# 1.1 (the "License"); you may not use this file except in compliance with
# the License. You may obtain a copy of the License at
# http://www.mozilla.org/MPL/
#
# Software distributed under the License is distributed on an "AS IS" basis,
# WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
# for the specific language governing rights and limitations under the
# License.
#
# The Original Code is mozilla.org Code.
#
# The Initial Developer of the Original Code is
# Netscape Communications Corporation.
# Portions created by the Initial Developer are Copyright (C) 1998
# the Initial Developer. All Rights Reserved.
#
# Contributor(s):
# Wolfgang Rosenauer <wolfgang.rosenauer(a)suse.de>
# <wr(a)rosenauer.org>
#
# Alternatively, the contents of this file may be used under the terms of
# either the GNU General Public License Version 2 or later (the "GPL"), or
# the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
# in which case the provisions of the GPL or the LGPL are applicable instead
# of those above. If you wish to allow use of your version of this file only
# under the terms of either the GPL or the LGPL, and not to allow others to
# use your version of this file under the terms of the MPL, indicate your
# decision by deleting the provisions above and replace them with the notice
# and other provisions required by the GPL or the LGPL. If you do not delete
# the provisions above, a recipient may use your version of this file under
# the terms of any one of the MPL, the GPL or the LGPL.
#
# ***** END LICENSE BLOCK *****
##
## Usage:
##
## $ mozilla [args]
##
## This script is meant to run a mozilla program from the mozilla
## rpm installation.
##
## The script will setup all the environment voodoo needed to make
## mozilla work.
cmdname=`basename $0`
##
## Variables
##
MOZ_DIST_BIN="%PREFIX"
MOZ_DIST_LIB="%PROGDIR"
MOZ_APPNAME="%APPNAME"
MOZ_PROGRAM="$MOZ_DIST_LIB/$MOZ_APPNAME-bin"
MOZ_APP_LAUNCHER="$MOZ_DIST_LIB/$MOZ_APPNAME.sh"
if [ "$0" = "$MOZ_APP_LAUNCHER" ]; then
[ -h "/usr/bin/$MOZ_APPNAME" ] && \
_link=$(readlink -f "/usr/bin/$MOZ_APPNAME")
if [ "$_link" = "$MOZ_APP_LAUNCHER" ]; then
export MOZ_APP_LAUNCHER="/usr/bin/$MOZ_APPNAME"
fi
else
export MOZ_APP_LAUNCHER="/usr/bin/$MOZ_APPNAME"
fi
mozilla_lib=`file $MOZ_PROGRAM`
LIB=lib
echo $mozilla_lib | grep -q -E 'ELF.64-bit.*(x86-64|S/390|PowerPC)' && LIB=lib64
BROWSER_PLUGIN_DIR=/usr/$LIB/browser-plugins
if [ ! -d $BROWSER_PLUGIN_DIR ]; then
BROWSER_PLUGIN_DIR=/opt/netscape/plugins
fi
MOZILLA_FIVE_HOME="$MOZ_DIST_LIB"
export MOZILLA_FIVE_HOME
LD_LIBRARY_PATH=$MOZ_DIST_LIB${LD_LIBRARY_PATH:+:$LD_LIBRARY_PATH}
export LD_LIBRARY_PATH
# needed for SUN Java under Xorg >= 7.2
export LIBXCB_ALLOW_SLOPPY_LOCK=1
##
if [ -z "$MOZ_PLUGIN_PATH" ]; then
export MOZ_PLUGIN_PATH=$BROWSER_PLUGIN_DIR
else
# make sure that BROWSER_PLUGIN_DIR is in MOZ_PLUGIN_PATH
echo "$MOZ_PLUGIN_PATH" | grep "$BROWSER_PLUGIN_DIR" 2>&1 >/dev/null
_retval=$?
if [ ${_retval} -ne 0 ]; then
export MOZ_PLUGIN_PATH=$MOZ_PLUGIN_PATH:$BROWSER_PLUGIN_DIR
fi
fi
# disable Gnome crash dialog (doesn't make sense anyway)
export GNOME_DISABLE_CRASH_DIALOG=1
moz_debug=0
script_args=""
pass_arg_count=0
while [ $# -gt $pass_arg_count ]
do
case "$1" in
-d | --debugger)
moz_debugger=$2;
if [ "${moz_debugger}" != "" ]; then
shift 2
moz_debug=1
else
echo "-d requires an argument"
exit 1
fi
;;
*)
# Move the unrecognized argument to the end of the list.
arg="$1"
shift
set -- "$@" "$arg"
pass_arg_count=`expr $pass_arg_count + 1`
;;
esac
done
if [ $moz_debug -eq 1 ]; then
tmpfile=`mktemp /tmp/mozargs.XXXXXX` || { echo "Cannot create temporary file" >&2; exit 1; }
trap " [ -f \"$tmpfile\" ] && /bin/rm -f -- \"$tmpfile\"" 0 1 2 3 13 15
echo "set args ${1+"$@"}" > $tmpfile
echo "run" >> $tmpfile
echo "$moz_debugger $MOZ_PROGRAM -x $tmpfile"
exec $moz_debugger "$MOZ_PROGRAM" -x $tmpfile
else
exec $MOZ_PROGRAM "$@"
fi
++++++ suse-default-prefs.js ++++++
pref("general.useragent.vendor", "SUSE");
pref("general.useragent.vendorSub", "RPM_VERSION");
pref("font.default", "sans-serif");
pref("font.default.x-western", "sans-serif");
pref("font.name.monospace.x-western", "monospace");
pref("font.name.monospace.x-unicode", "monospace");
pref("network.negotiate-auth.gsslib", "GSSAPI");
pref("print.print_edge_top", 14); // 1/100 of an inch
pref("print.print_edge_left", 16); // 1/100 of an inch
pref("print.print_edge_right", 16); // 1/100 of an inch
pref("print.print_edge_bottom", 14); // 1/100 of an inch
pref("intl.locale.matchOS", true);
// do not disable system-global or app-global extensions
pref("extensions.autoDisableScopes", 3);
pref("extensions.shownSelectionUI", true);
// spellcheck
pref("spellchecker.dictionary_path", "/usr/share/myspell");
++++++ tb-ssldap.patch ++++++
diff --git a/mail/installer/package-manifest.in b/mail/installer/package-manifest.in
--- a/mail/installer/package-manifest.in
+++ b/mail/installer/package-manifest.in
@@ -329,16 +329,17 @@
@RESPATH@/components/mozldap.xpt
@RESPATH@/components/nsAbLDAPAttributeMap.js
@RESPATH@/components/nsAbLDAPAutoCompleteSearch.js
@RESPATH@/components/nsLDAPProtocolHandler.js
@RESPATH@/components/ldapComponents.manifest
@BINPATH@/@DLL_PREFIX@ldap60@DLL_SUFFIX@
@BINPATH@/@DLL_PREFIX@ldif60@DLL_SUFFIX@
@BINPATH@/@DLL_PREFIX@prldap60@DLL_SUFFIX@
+@BINPATH@/@DLL_PREFIX@ssldap60@DLL_SUFFIX@
; download progress for jsdownloads
@RESPATH@/components/DownloadsStartup.js
; Protocol/Content handling
@RESPATH@/components/nsSMTPProtocolHandler.js
@RESPATH@/components/nsSMTPProtocolHandler.manifest
++++++ thunderbird-rpmlintrc ++++++
addFilter("no-jar-manifest")
++++++ thunderbird.desktop ++++++
[Desktop Entry]
Encoding=UTF-8
Name=Thunderbird
GenericName=Mail/News Client
Comment=Mail/News Client
TryExec=thunderbird
Exec=thunderbird %u
Icon=thunderbird
Terminal=false
Type=Application
StartupNotify=true
MimeType=x-scheme-handler/mailto;
1
0
Hello community,
here is the log from the commit of package sddm for openSUSE:Factory checked in at 2016-11-25 12:28:56
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/sddm (Old)
and /work/SRC/openSUSE:Factory/.sddm.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "sddm"
Changes:
--------
--- /work/SRC/openSUSE:Factory/sddm/sddm.changes 2016-11-24 21:18:38.000000000 +0100
+++ /work/SRC/openSUSE:Factory/.sddm.new/sddm.changes 2016-11-25 12:28:58.000000000 +0100
@@ -2,16 +1,0 @@
-Mon Nov 21 20:55:27 UTC 2016 - fabian(a)ritter-vogt.de
-
-- Add various bugfixes from develop branch:
- * 0001-Fix-display-of-user-avatars.-684.patch
- * 0002-Add-a-config-option-to-enable-high-DPI-scaling-701.patch
- * 0003-elarun-Update-date-and-time.patch
- * 0004-Support-Non-Latin-characters-in-theme-settings-708.patch
- * 0005-Cleanup-dangling-pointer-in-SocketServer-725.patch
-
--------------------------------------------------------------------
-Wed Oct 5 07:23:51 UTC 2016 - fabian(a)ritter-vogt.de
-
-- Sync with KDE:Frameworks5:LTS, sort sddm.changes
-- Remove 0001-Fall-back-to-regular-login-when-autologin-fails.patch
-
--------------------------------------------------------------------
@@ -39,51 +22,0 @@
-
--------------------------------------------------------------------
-Mon Aug 29 07:03:56 UTC 2016 - fabian(a)ritter-vogt.de
-
-- Update to 0.14.0:
- - http://hawaiios.org/news/2016/08/28/sddm-0.14.0
- + New sddm.conf option EnableAvatars (useful for slow filesystems)
- + New sddm.conf option UserAuthFile on the XDisplay section
- to change the default Xauthority file name and path.
- + New sddm.conf option SessionLogFile on XDisplay and WaylandDisplay
- sections to change the default user session log location.
- + ComboBox now exposes the arrow background color as
- "arrowColor" property.
- + New "style" theme configuration for QtQuick Controls 2.0.
- + Require Qt 5.6 or better.
- + Enable HiDPI support.
- + Refresh sessions list.
- + Always fallback to an embedded theme if no suitable theme is found.
- - Actually change Qt platform theme.
- - Switch to Wayland session vt only when authentication
- succeeds.
- - Close PAM session.
- - Delete PAM credentials after closing the session.
- * More theme-neutral default user and root avatars
- * REMOVED the "circles" theme. Remember to change it if you had it set!
- * REMOVED the "maui" theme as a standalone theme as it is now
- embedded in the greeter. Remember to change the theme to empty
- if you had it set to "maui".
- * Update Estonian translation.
- * Add Catalan translation from Robert Antoni Buj Gelonch.
- * Add Dutch translation from Eric Hameleers.
- * Add Slovak translation from Martin Minka.
- * Add Swedish translation from Kristoffer Grundström.
- * Add Ukrainian translation from Cherevan Andriy.
- * Add Indian flag from Sanjeev Premi.
-- Refresh patches:
- - sddm-relaxed-auth.diff
- - sddm-service-handle-plymouth.patch
- - sysconfig-support.patch
-- Remove upstream patches:
- - 0001-Add-a-config-option-to-enable-avatars.patch
- - 0002-Use-.face.icon-instead-of-default.face.icon-and-rena.patch
- - root.face.icon.png
- - default.face.icon.png
-- Remove upstreamed patches:
- - add-count-property-to-UserModel.patch
- - add-threshold-to-disable-avatars.patch
- - specify-default-config-entries.patch
-- Revert upstream config section name change (gh#sddm/sddm#680):
- - 0001-Revert-Rename-XDisplay-and-WaylandDisplay-config-sec.patch
-- Use "Current=" instead of "Current=maui"
Old:
----
0001-Fix-display-of-user-avatars.-684.patch
0001-Revert-Rename-XDisplay-and-WaylandDisplay-config-sec.patch
0002-Add-a-config-option-to-enable-high-DPI-scaling-701.patch
0003-elarun-Update-date-and-time.patch
0004-Support-Non-Latin-characters-in-theme-settings-708.patch
0005-Cleanup-dangling-pointer-in-SocketServer-725.patch
sddm-0.14.0.tar.xz
New:
----
0001-Add-a-config-option-to-enable-avatars.patch
0001-Fall-back-to-regular-login-when-autologin-fails.patch
0002-Use-.face.icon-instead-of-default.face.icon-and-rena.patch
add-count-property-to-UserModel.patch
add-threshold-to-disable-avatars.patch
default.face.icon.png
root.face.icon.png
sddm-0.13.0.tar.xz
specify-default-config-entries.patch
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ sddm.spec ++++++
--- /var/tmp/diff_new_pack.ImKTDk/_old 2016-11-25 12:29:00.000000000 +0100
+++ /var/tmp/diff_new_pack.ImKTDk/_new 2016-11-25 12:29:00.000000000 +0100
@@ -20,7 +20,7 @@
%{!?_unitdir: %global _unitdir /usr/lib/systemd/system}
Name: sddm
-Version: 0.14.0
+Version: 0.13.0
Release: 0
Summary: Lightweight QML-based display manager
License: GPL-2.0+
@@ -29,33 +29,39 @@
Source: https://github.com/%{name}/%{name}/releases/download/v%{version}/%{name}-%{…
Source1: %{name}.conf
Source2: X11-displaymanagers-%{name}
-# PATCH-FIX-UPSTREAM 0001-Revert-Rename-XDisplay-and-WaylandDisplay-config-sec.patch -- Revert to 0.13.0 config syntax
-Patch0: 0001-Revert-Rename-XDisplay-and-WaylandDisplay-config-sec.patch
+# default.face.icon.png and root.face.icon.png were part of Patch7 (0002-Use-.face.icon-instead-of-default.face.icon-and-rena.patch), but used as sources since binary patches are not supported
+Source3: default.face.icon.png
+Source4: root.face.icon.png
# PATCH-FIX-OPENSUSE proper_pam.diff -- Use openSUSE pam config
-Patch1: proper_pam.diff
+Patch0: proper_pam.diff
# PATCH-FIX-OPENSUSE create_pid_file.patch -- openSUSE's generic display-manager service doesn't know what to do without a pid file. drop the patch as soon as that sick dinosaur is killed
-Patch2: create_pid_file.patch
+Patch1: create_pid_file.patch
# PATCH-FIX-OPENSUSE sddm-relaxed-auth.diff -- Insert XAUTHLOCALHOSTNAME into users enviroment, so the session handles hostname changes with a single X instance/run
# related patches: libxcb/bug-262309_xcb-xauthlocalhostname.diff, xauth/xauth-tolerant-hostname-changes.diff, kdebase4-workspace/kdm-relaxed-auth.diff
-Patch3: sddm-relaxed-auth.diff
+Patch2: sddm-relaxed-auth.diff
# PATCH-FIX-OPENSUSE sysconfig-support.patch -- Support DISPLAYMANAGER_AUTOLOGIN entry from /etc/sysconfig/displaymanager, the value overwrites
# any entry in sddm.conf/[Autologin]/User. Patch also defaults to plasma5.desktop as default autologin session. This is controlled only by sddm.conf file.
-Patch4: sysconfig-support.patch
+Patch3: sysconfig-support.patch
# PATCH-FIX-OPENSUSE sddm-service-handle-plymouth.patch -- sddm has some rudimentary support for plymouth handling, which only works with plymouth-quit.service
# (the servce is not enabled on openSUSE). For users of sddm.service, we need to issue plymouth quit command by hand in this case
-Patch5: sddm-service-handle-plymouth.patch
+Patch4: sddm-service-handle-plymouth.patch
# PATCH-FIX-OPENSUSE boo949903.patch -- Let sddm also default to plasma5 for last used session (boo#949903)
-Patch6: boo949903.patch
+Patch5: boo949903.patch
+# PATCH-FIX-UPSTREAM 0001-Add-a-config-option-to-enable-avatars.patch -- Add EnableAvatars config option
+Patch6: 0001-Add-a-config-option-to-enable-avatars.patch
+# PATCH-FIX-UPSTREAM 0002-Use-.face.icon-instead-of-default.face.icon-and-rena.patch -- Use new face icons
+Patch7: 0002-Use-.face.icon-instead-of-default.face.icon-and-rena.patch
+# PATCH-FIX-UPSTREAM add-count-property-to-UserModel.patch -- Adds a new property so themes can use it
+Patch8: add-count-property-to-UserModel.patch
+# PATCH-FIX-UPSTREAM specify-default-config-entries.patch -- Specify which config entries are a default and which come from the config file
+Patch9: specify-default-config-entries.patch
+# PATCH-FIX-UPSTREAM add-threshold-to-disable-avatars.patch -- Add a config option/property to define a thershold above which avatars are disabled automatically
+Patch10: add-threshold-to-disable-avatars.patch
# PATCH-FIX-UPSTREAM 0001-Make-the-default-cursor-themed.patch -- Make the default cursor themed
-Patch7: 0001-Make-the-default-cursor-themed.patch
-# Bugfixes from upstream develop branch
-Patch10: 0001-Fix-display-of-user-avatars.-684.patch
-Patch11: 0002-Add-a-config-option-to-enable-high-DPI-scaling-701.patch
-Patch12: 0003-elarun-Update-date-and-time.patch
-Patch13: 0004-Support-Non-Latin-characters-in-theme-settings-708.patch
-Patch14: 0005-Cleanup-dangling-pointer-in-SocketServer-725.patch
+Patch11: 0001-Make-the-default-cursor-themed.patch
+# PATCH-FIX-UPSTREAM 0001-Fall-back-to-regular-login-when-autologin-fails.patch -- Fall back to regular login when autologin fails
+Patch12: 0001-Fall-back-to-regular-login-when-autologin-fails.patch
BuildRequires: cmake
-BuildRequires: extra-cmake-modules >= 1.4.0
BuildRequires: fdupes
BuildRequires: kf5-filesystem
BuildRequires: libqt5-linguist-devel
@@ -64,7 +70,7 @@
BuildRequires: python-docutils
# Autodetect UID_MIN and UID_MAX from /etc/login.defs
BuildRequires: shadow
-BuildRequires: pkgconfig(Qt5Core) >= 5.6.0
+BuildRequires: pkgconfig(Qt5Core)
BuildRequires: pkgconfig(Qt5DBus)
BuildRequires: pkgconfig(Qt5Network)
BuildRequires: pkgconfig(Qt5Quick)
@@ -121,11 +127,13 @@
%patch5 -p1
%patch6 -p1
%patch7 -p1
+%patch8 -p1
+%patch9 -p1
%patch10 -p1
%patch11 -p1
%patch12 -p1
-%patch13 -p1
-%patch14 -p1
+cp %{SOURCE3} data/faces/default.face.icon.png
+cp %{SOURCE4} data/faces/root.face.icon.png
%build
%cmake \
@@ -159,11 +167,6 @@
/usr/sbin/useradd -r -g sddm -s /bin/false -c "SDDM daemon" \
-d /var/lib/sddm sddm 2> /dev/null || :
-%post
-if [ $1 -eq 2 -a -f /etc/sddm.conf ]; then
- sed -i -e 's/^Current=maui$/Current=/g' /etc/sddm.conf
-fi
-
%post branding-openSUSE
if [ $1 -ge 1 -a -f /etc/sddm.conf ]; then
# Upgrade from previous theme name
@@ -178,12 +181,13 @@
%files
%defattr(-,root,root)
-%doc LICENSE* README*
+%doc COPYING* README*
%config(noreplace) %{_sysconfdir}/%{name}.conf
%config %{_sysconfdir}/pam.d/sddm
%config %{_sysconfdir}/pam.d/sddm-autologin
%config %{_sysconfdir}/pam.d/sddm-greeter
%config(noreplace) %{_sysconfdir}/dbus-1/system.d/sddm_org.freedesktop.DisplayManager.conf
+%{_sysconfdir}/pam.d/sddm*
%{_libexecdir}/sddm/
%dir %{_libexecdir}/X11/displaymanagers/
%{_libexecdir}/X11/displaymanagers/%{name}
@@ -203,10 +207,10 @@
%files branding-openSUSE
%defattr(-,root,root)
-%doc LICENSE* README*
+%doc COPYING* README*
%files branding-upstream
%defattr(-,root,root)
-%doc LICENSE* README*
+%doc COPYING* README*
%changelog
++++++ 0001-Add-a-config-option-to-enable-avatars.patch ++++++
>From 17b3db31d9c75a197b3509f786bc646ab6dce17d Mon Sep 17 00:00:00 2001
From: Jerome Leclanche <jerome(a)leclan.ch>
Date: Thu, 5 Nov 2015 17:18:46 +0200
Subject: [PATCH] Add a config option to enable avatars
Closes #281
---
data/man/sddm.conf.rst.in | 7 +++++++
src/common/Configuration.h | 1 +
src/greeter/UserModel.cpp | 25 +++++++++++++++++--------
4 files changed, 26 insertions(+), 8 deletions(-)
diff --git a/data/man/sddm.conf.rst.in b/data/man/sddm.conf.rst.in
index a916e27..18aedf4 100644
--- a/data/man/sddm.conf.rst.in
+++ b/data/man/sddm.conf.rst.in
@@ -60,6 +60,13 @@ OPTIONS
Name of the cursor theme to be set before starting
the display server.
+`EnableAvatars=`
+ When enabled, home directories are searched for ".face.icon" images to
+ display as their avatars. This can be slow on some file systems.
+ When disabled, all avatars will be default. Themes may choose to hide
+ them altogether.
+ Default value is true.
+
[XDisplay] section:
`ServerPath=`
diff --git a/src/common/Configuration.h b/src/common/Configuration.h
index 069fc16..763b74f 100644
--- a/src/common/Configuration.h
+++ b/src/common/Configuration.h
@@ -49,6 +49,7 @@ namespace SDDM {
Entry(FacesDir, QString, _S(DATA_INSTALL_DIR "/faces"), _S("Face icon directory\n"
"The files should be in username.face.icon format"));
Entry(CursorTheme, QString, QString(), _S("Cursor theme"));
+ Entry(EnableAvatars, bool, true, _S("Enable display of custom user avatars"));
);
// TODO: Not absolutely sure if everything belongs here. Xsessions, VT and probably some more seem universal
Section(XDisplay,
diff --git a/src/greeter/UserModel.cpp b/src/greeter/UserModel.cpp
index 5041fab..5c807bc 100644
--- a/src/greeter/UserModel.cpp
+++ b/src/greeter/UserModel.cpp
@@ -81,14 +81,23 @@ namespace SDDM {
user->needsPassword = strcmp(current_pw->pw_passwd, "") != 0;
// search for face icon
- QString userFace = QStringLiteral("%1/.face.icon").arg(user->homeDir);
- QString systemFace = QStringLiteral("%1/%2.face.icon").arg(mainConfig.Theme.FacesDir.get()).arg(user->name);
- if (QFile::exists(userFace))
- user->icon = userFace;
- else if (QFile::exists(systemFace))
- user->icon = systemFace;
- else
- user->icon = QStringLiteral("%1/default.face.icon").arg(mainConfig.Theme.FacesDir.get());
+ QString facesDir = mainConfig.Theme.FacesDir.get();
+ QString defaultFace = QStringLiteral("%1/default.face.icon").arg(facesDir);
+ bool avatarsEnabled = mainConfig.Theme.EnableAvatars.get();
+
+ if (avatarsEnabled) {
+ QString userFace = QStringLiteral("%1/.face.icon").arg(user->homeDir);
+ QString systemFace = QStringLiteral("%1/%2.face.icon").arg(facesDir).arg(user->name);
+
+ if (QFile::exists(userFace))
+ user->icon = userFace;
+ else if (QFile::exists(systemFace))
+ user->icon = systemFace;
+ else
+ user->icon = defaultFace;
+ } else {
+ user->icon = defaultFace;
+ }
// add user
d->users << user;
--
2.6.2
++++++ 0001-Fall-back-to-regular-login-when-autologin-fails.patch ++++++
>From 5f43cbf23a9ec9e3547dfe0f59928d0ac5324db9 Mon Sep 17 00:00:00 2001
From: Jerome Leclanche <jerome(a)leclan.ch>
Date: Thu, 5 Nov 2015 21:28:22 +0200
Subject: [PATCH] Fall back to regular login when autologin fails
Fixes #316
---
src/daemon/Display.cpp | 42 +++++++++++++++++++++++++-----------------
src/daemon/Display.h | 1 +
2 files changed, 26 insertions(+), 17 deletions(-)
diff --git a/src/daemon/Display.cpp b/src/daemon/Display.cpp
index 8de59e5..6bc9965 100644
--- a/src/daemon/Display.cpp
+++ b/src/daemon/Display.cpp
@@ -103,6 +103,29 @@ namespace SDDM {
m_displayServer->start();
}
+ bool Display::attemptAutologin() {
+ Session::Type sessionType = Session::X11Session;
+
+ // determine session type
+ const QString &autologinSession = mainConfig.Autologin.Session.get();
+ if (findSessionEntry(mainConfig.XDisplay.SessionDir.get(), autologinSession)) {
+ sessionType = Session::X11Session;
+ } else if (findSessionEntry(mainConfig.WaylandDisplay.SessionDir.get(), autologinSession)) {
+ sessionType = Session::WaylandSession;
+ } else {
+ qCritical() << "Unable to find autologin session entry" << autologinSession;
+ return false;
+ }
+
+ Session session;
+ session.setTo(sessionType, autologinSession);
+
+ m_auth->setAutologin(true);
+ startAuth(mainConfig.Autologin.User.get(), QString(), session);
+
+ return true;
+ }
+
void Display::displayServerStarted() {
// check flag
if (m_started)
@@ -122,25 +145,10 @@ namespace SDDM {
// set flags
m_started = true;
- // determine session type
- const QString &autologinSession = mainConfig.Autologin.Session.get();
- Session session;
- if (findSessionEntry(mainConfig.XDisplay.SessionDir.get(), autologinSession)) {
- session.setTo(Session::X11Session, autologinSession);
- } else if (findSessionEntry(mainConfig.WaylandDisplay.SessionDir.get(), autologinSession)) {
- session.setTo(Session::WaylandSession, autologinSession);
- } else {
- qCritical() << "Unable to find autologin session entry" << autologinSession;
- emit loginFailed(m_socket);
+ bool success = attemptAutologin();
+ if (success) {
return;
}
-
- // start session
- m_auth->setAutologin(true);
- startAuth(mainConfig.Autologin.User.get(), QString(), session);
-
- // return
- return;
}
// start socket server
diff --git a/src/daemon/Display.h b/src/daemon/Display.h
index dc46463..3d6d6a5 100644
--- a/src/daemon/Display.h
+++ b/src/daemon/Display.h
@@ -60,6 +60,7 @@ namespace SDDM {
void login(QLocalSocket *socket,
const QString &user, const QString &password,
const Session &session);
+ bool attemptAutologin();
void displayServerStarted();
signals:
--
2.10.0
++++++ 0001-Make-the-default-cursor-themed.patch ++++++
--- /var/tmp/diff_new_pack.ImKTDk/_old 2016-11-25 12:29:00.000000000 +0100
+++ /var/tmp/diff_new_pack.ImKTDk/_new 2016-11-25 12:29:00.000000000 +0100
@@ -14,10 +14,10 @@
src/greeter/GreeterApp.cpp | 5 +++++
1 file changed, 5 insertions(+)
-Index: sddm-0.14.0/src/greeter/GreeterApp.cpp
-===================================================================
---- sddm-0.14.0.orig/src/greeter/GreeterApp.cpp
-+++ sddm-0.14.0/src/greeter/GreeterApp.cpp
+diff --git a/src/greeter/GreeterApp.cpp b/src/greeter/GreeterApp.cpp
+index 06d13c5..dfe321f 100644
+--- a/src/greeter/GreeterApp.cpp
++++ b/src/greeter/GreeterApp.cpp
@@ -32,6 +32,7 @@
#include "MessageHandler.h"
@@ -26,9 +26,9 @@
#include <QQuickView>
#include <QQmlContext>
#include <QQmlEngine>
-@@ -211,6 +212,10 @@ namespace SDDM {
- qInfo("Loading %s...", qPrintable(mainScriptUrl.toString()));
- view->setSource(mainScriptUrl);
+@@ -198,6 +199,10 @@ namespace SDDM {
+ // set main script as source
+ view->setSource(QUrl::fromLocalFile(mainScript));
+ // set default cursor
+ QCursor cursor(Qt::ArrowCursor);
@@ -37,3 +37,6 @@
// show
qDebug() << "Adding view for" << screen->name() << screen->geometry();
view->show();
+--
+2.10.0
+
++++++ 0002-Use-.face.icon-instead-of-default.face.icon-and-rena.patch ++++++
>From 58b794bb2a2fd407a08b6c4d9eb4f156823b34f1 Mon Sep 17 00:00:00 2001
From: Jerome Leclanche <jerome(a)leclan.ch>
Date: Thu, 5 Nov 2015 17:37:35 +0200
Subject: [PATCH 1/4] Use .face.icon instead of default.face.icon, and rename
the sources to .png
Touches #174
---
data/CMakeLists.txt | 13 ++++++++++++-
data/faces/README | 3 ++-
data/faces/default.face.icon | Bin 4920 -> 0 bytes
data/faces/default.face.icon.png | Bin 0 -> 4920 bytes
data/faces/root.face.icon | Bin 5111 -> 0 bytes
data/faces/root.face.icon.png | Bin 0 -> 5111 bytes
src/greeter/UserModel.cpp | 2 +-
7 files changed, 15 insertions(+), 3 deletions(-)
delete mode 100644 data/faces/default.face.icon
create mode 100644 data/faces/default.face.icon.png
delete mode 100644 data/faces/root.face.icon
create mode 100644 data/faces/root.face.icon.png
diff --git a/data/CMakeLists.txt b/data/CMakeLists.txt
index 51f37ab..f3b5781 100644
--- a/data/CMakeLists.txt
+++ b/data/CMakeLists.txt
@@ -1,4 +1,3 @@
-install(DIRECTORY "faces" DESTINATION "${DATA_INSTALL_DIR}")
install(DIRECTORY "flags" DESTINATION "${DATA_INSTALL_DIR}")
install(FILES
@@ -8,6 +7,18 @@ install(FILES
)
install(FILES
+ "faces/root.face.icon.png"
+ DESTINATION "${DATA_INSTALL_DIR}/faces"
+ RENAME "root.face.icon"
+)
+
+install(FILES
+ "faces/default.face.icon.png"
+ DESTINATION "${DATA_INSTALL_DIR}/faces"
+ RENAME ".face.icon"
+)
+
+install(FILES
"scripts/Xsession"
"scripts/Xsetup"
"scripts/Xstop"
diff --git a/data/faces/README b/data/faces/README
index be871e1..85479ad 100644
--- a/data/faces/README
+++ b/data/faces/README
@@ -1 +1,2 @@
-This files are directly copied from a KDE installation.
\ No newline at end of file
+These are the default avatars.
+They are installed to `.face.icon` and `root.face.icon`. See ../CMakeLists.txt.
diff --git a/src/greeter/UserModel.cpp b/src/greeter/UserModel.cpp
index 5c807bc..66ab6fb 100644
--- a/src/greeter/UserModel.cpp
+++ b/src/greeter/UserModel.cpp
@@ -82,7 +82,7 @@ namespace SDDM {
// search for face icon
QString facesDir = mainConfig.Theme.FacesDir.get();
- QString defaultFace = QStringLiteral("%1/default.face.icon").arg(facesDir);
+ QString defaultFace = QStringLiteral("%1/.face.icon").arg(facesDir);
bool avatarsEnabled = mainConfig.Theme.EnableAvatars.get();
if (avatarsEnabled) {
--
2.6.2
++++++ add-count-property-to-UserModel.patch ++++++
Index: sddm-0.13.0/src/greeter/UserModel.h
===================================================================
--- sddm-0.13.0.orig/src/greeter/UserModel.h
+++ sddm-0.13.0/src/greeter/UserModel.h
@@ -32,6 +32,7 @@ namespace SDDM {
Q_DISABLE_COPY(UserModel)
Q_PROPERTY(int lastIndex READ lastIndex CONSTANT)
Q_PROPERTY(QString lastUser READ lastUser CONSTANT)
+ Q_PROPERTY(int count READ rowCount CONSTANT)
public:
enum UserRoles {
NameRole = Qt::UserRole + 1,
++++++ add-threshold-to-disable-avatars.patch ++++++
Index: sddm-0.13.0/src/greeter/UserModel.cpp
===================================================================
--- sddm-0.13.0.orig/src/greeter/UserModel.cpp
+++ sddm-0.13.0/src/greeter/UserModel.cpp
@@ -51,6 +51,9 @@ namespace SDDM {
};
UserModel::UserModel(QObject *parent) : QAbstractListModel(parent), d(new UserModelPrivate()) {
+ const QString facesDir = mainConfig.Theme.FacesDir.get();
+ const QString defaultFace = QStringLiteral("%1/.face.icon").arg(facesDir);
+
struct passwd *current_pw;
while ((current_pw = getpwent()) != nullptr) {
@@ -81,23 +84,7 @@ namespace SDDM {
user->needsPassword = strcmp(current_pw->pw_passwd, "") != 0;
// search for face icon
- QString facesDir = mainConfig.Theme.FacesDir.get();
- QString defaultFace = QStringLiteral("%1/.face.icon").arg(facesDir);
- bool avatarsEnabled = mainConfig.Theme.EnableAvatars.get();
-
- if (avatarsEnabled) {
- QString userFace = QStringLiteral("%1/.face.icon").arg(user->homeDir);
- QString systemFace = QStringLiteral("%1/%2.face.icon").arg(facesDir).arg(user->name);
-
- if (QFile::exists(userFace))
- user->icon = userFace;
- else if (QFile::exists(systemFace))
- user->icon = systemFace;
- else
- user->icon = defaultFace;
- } else {
- user->icon = defaultFace;
- }
+ user->icon = defaultFace;
// add user
d->users << user;
@@ -108,10 +95,26 @@ namespace SDDM {
// sort users by username
std::sort(d->users.begin(), d->users.end(), [&](const UserPtr &u1, const UserPtr &u2) { return u1->name < u2->name; });
+ bool avatarsEnabled = mainConfig.Theme.EnableAvatars.get();
+ if (avatarsEnabled && mainConfig.Theme.EnableAvatars.isDefault()) {
+ if (d->users.count() > mainConfig.Theme.DisableAvatarsThreshold.get()) avatarsEnabled=false;
+ }
+
// find out index of the last user
for (int i = 0; i < d->users.size(); ++i) {
- if (d->users.at(i)->name == stateConfig.Last.User.get())
+ UserPtr user { d->users.at(i) };
+ if (user->name == stateConfig.Last.User.get())
d->lastIndex = i;
+
+ if (avatarsEnabled) {
+ const QString userFace = QStringLiteral("%1/.face.icon").arg(user->homeDir);
+ const QString systemFace = QStringLiteral("%1/%2.face.icon").arg(facesDir).arg(user->name);
+
+ if (QFile::exists(userFace))
+ user->icon = userFace;
+ else if (QFile::exists(systemFace))
+ user->icon = systemFace;
+ }
}
}
@@ -165,4 +168,8 @@ namespace SDDM {
// return empty value
return QVariant();
}
+
+ int UserModel::disableAvatarsThreshold() const {
+ return mainConfig.Theme.DisableAvatarsThreshold.get();
+ }
}
Index: sddm-0.13.0/src/common/Configuration.h
===================================================================
--- sddm-0.13.0.orig/src/common/Configuration.h
+++ sddm-0.13.0/src/common/Configuration.h
@@ -50,6 +50,9 @@ namespace SDDM {
"The files should be in username.face.icon format"));
Entry(CursorTheme, QString, QString(), _S("Cursor theme"));
Entry(EnableAvatars, bool, true, _S("Enable display of custom user avatars"));
+ Entry(DisableAvatarsThreshold,int, 7, _S("Number of users to use as threshold\n"
+ "above which avatars are disabled\n"
+ "unless explicitly enabled with EnableAvatars"));
);
// TODO: Not absolutely sure if everything belongs here. Xsessions, VT and probably some more seem universal
Section(XDisplay,
Index: sddm-0.13.0/src/greeter/UserModel.h
===================================================================
--- sddm-0.13.0.orig/src/greeter/UserModel.h
+++ sddm-0.13.0/src/greeter/UserModel.h
@@ -33,6 +33,7 @@ namespace SDDM {
Q_PROPERTY(int lastIndex READ lastIndex CONSTANT)
Q_PROPERTY(QString lastUser READ lastUser CONSTANT)
Q_PROPERTY(int count READ rowCount CONSTANT)
+ Q_PROPERTY(int disableAvatarsThreshold READ disableAvatarsThreshold CONSTANT)
public:
enum UserRoles {
NameRole = Qt::UserRole + 1,
@@ -53,6 +54,7 @@ namespace SDDM {
int rowCount(const QModelIndex &parent = QModelIndex()) const override;
QVariant data(const QModelIndex &index, int role = Qt::DisplayRole) const override;
+ int disableAvatarsThreshold() const;
private:
UserModelPrivate *d { nullptr };
};
++++++ boo949903.patch ++++++
--- /var/tmp/diff_new_pack.ImKTDk/_old 2016-11-25 12:29:00.000000000 +0100
+++ /var/tmp/diff_new_pack.ImKTDk/_new 2016-11-25 12:29:00.000000000 +0100
@@ -1,16 +1,11 @@
-Index: sddm-0.14.0/src/common/Configuration.h
-===================================================================
---- sddm-0.14.0.orig/src/common/Configuration.h
-+++ sddm-0.14.0/src/common/Configuration.h
-@@ -97,8 +97,9 @@ namespace SDDM {
+--- sddm-0.12.0.orig/src/common/Configuration.h 2015-10-11 14:03:22.510105030 +0200
++++ sddm-0.12.0/src/common/Configuration.h 2015-10-11 14:06:02.148109280 +0200
+@@ -90,7 +90,7 @@ namespace SDDM {
Config(StateConfig, []()->QString{auto tmp = getpwnam("sddm"); return tmp ? QString::fromLocal8Bit(tmp->pw_dir) : QStringLiteral(STATE_DIR);}().append(QStringLiteral("/state.conf")),
Section(Last,
-- Entry(Session, QString, QString(), _S("Name of the session for the last logged-in user.\n"
-- "This session will be preselected when the login screen appears."));
-+ Entry(Session, QString, _S("/usr/share/xsessions/plasma5.desktop"), _S("Name of the session for the last logged-in user.\n"
-+ "This session will be preselected when the login screen appears.\n"
-+ "This is Plasma 5 by default"));
- Entry(User, QString, QString(), _S("Name of the last logged-in user.\n"
- "This user will be preselected when the login screen appears"));
+- Entry(Session, QString, QString(), _S("Name of the session file of the last session selected. This session will be preselected when the login screen shows up."));
++ Entry(Session, QString, _S("/usr/share/xsessions/plasma5.desktop"), _S("Name of the session file of the last session selected. This session will be preselected when the login screen shows up."));
+ Entry(User, QString, QString(), _S("Name of the last logged-in user. This username will be preselected/shown when the login screen shows up"));
);
+ );
++++++ sddm-0.14.0.tar.xz -> sddm-0.13.0.tar.xz ++++++
++++ 6197 lines of diff (skipped)
++++++ sddm-relaxed-auth.diff ++++++
--- /var/tmp/diff_new_pack.ImKTDk/_old 2016-11-25 12:29:00.000000000 +0100
+++ /var/tmp/diff_new_pack.ImKTDk/_new 2016-11-25 12:29:00.000000000 +0100
@@ -1,7 +1,7 @@
-Index: sddm-0.14.0/src/daemon/XorgDisplayServer.cpp
-===================================================================
---- sddm-0.14.0.orig/src/daemon/XorgDisplayServer.cpp
-+++ sddm-0.14.0/src/daemon/XorgDisplayServer.cpp
+diff --git a/src/daemon/XorgDisplayServer.cpp b/src/daemon/XorgDisplayServer.cpp
+index b40f718..e060928 100644
+--- a/src/daemon/XorgDisplayServer.cpp
++++ b/src/daemon/XorgDisplayServer.cpp
@@ -281,6 +281,7 @@ namespace SDDM {
// set process environment
QProcessEnvironment env;
@@ -10,11 +10,11 @@
env.insert(QStringLiteral("HOME"), QStringLiteral("/"));
env.insert(QStringLiteral("PATH"), mainConfig.Users.DefaultPath.get());
env.insert(QStringLiteral("XAUTHORITY"), m_authPath);
-Index: sddm-0.14.0/src/helper/Backend.cpp
-===================================================================
---- sddm-0.14.0.orig/src/helper/Backend.cpp
-+++ sddm-0.14.0/src/helper/Backend.cpp
-@@ -27,6 +27,7 @@
+diff --git a/src/helper/Backend.cpp b/src/helper/Backend.cpp
+index 12facb9..a90cfb3 100644
+--- a/src/helper/Backend.cpp
++++ b/src/helper/Backend.cpp
+@@ -26,6 +26,7 @@
#include "UserSession.h"
#include <QtCore/QProcessEnvironment>
@@ -22,11 +22,11 @@
#include <pwd.h>
-@@ -69,6 +70,7 @@ namespace SDDM {
- .arg(QString::fromLocal8Bit(pw->pw_dir))
- .arg(mainConfig.XDisplay.UserAuthFile.get());
- env.insert(QStringLiteral("XAUTHORITY"), value);
-+ env.insert(QStringLiteral("XAUTHLOCALHOSTNAME"), QHostInfo::localHostName());
- }
+@@ -64,6 +65,7 @@ namespace SDDM {
+ env.insert(QStringLiteral("LOGNAME"), QString::fromLocal8Bit(pw->pw_name));
+ if (env.contains(QStringLiteral("DISPLAY")) && !env.contains(QStringLiteral("XAUTHORITY")))
+ env.insert(QStringLiteral("XAUTHORITY"), QStringLiteral("%1/.Xauthority").arg(QString::fromLocal8Bit(pw->pw_dir)));
++ env.insert(QStringLiteral("XAUTHLOCALHOSTNAME"), QHostInfo::localHostName());
// TODO: I'm fairly sure this shouldn't be done for PAM sessions, investigate!
m_app->session()->setProcessEnvironment(env);
+ }
++++++ sddm-service-handle-plymouth.patch ++++++
--- /var/tmp/diff_new_pack.ImKTDk/_old 2016-11-25 12:29:00.000000000 +0100
+++ /var/tmp/diff_new_pack.ImKTDk/_new 2016-11-25 12:29:00.000000000 +0100
@@ -1,12 +1,12 @@
-Index: sddm-0.14.0/services/sddm.service.in
-===================================================================
---- sddm-0.14.0.orig/services/sddm.service.in
-+++ sddm-0.14.0/services/sddm.service.in
-@@ -6,6 +6,7 @@ After=systemd-user-sessions.service gett
+diff --git a/services/sddm.service.in b/services/sddm.service.in
+index b0cea02128f949ceeadae2ecca61faf668ea8728..fffa5c2dfc37acafe1cab2528e3323fca665e699 100644
+--- a/services/sddm.service.in
++++ b/services/sddm.service.in
+@@ -6,6 +6,7 @@ After=systemd-user-sessions.service getty(a)tty1.service plymouth-quit.service
[Service]
ExecStart=@CMAKE_INSTALL_FULL_BINDIR@/sddm
+ExecStartPre=-@CMAKE_INSTALL_FULL_BINDIR@/plymouth quit --retain-splash
Restart=always
+ #PrivateTmp=yes
- [Install]
++++++ sddm.conf ++++++
--- /var/tmp/diff_new_pack.ImKTDk/_old 2016-11-25 12:29:00.000000000 +0100
+++ /var/tmp/diff_new_pack.ImKTDk/_new 2016-11-25 12:29:00.000000000 +0100
@@ -1,5 +1,5 @@
[Theme]
-Current=
+Current=maui
CursorTheme=breeze_cursors
[XDisplay]
++++++ specify-default-config-entries.patch ++++++
Index: sddm-0.13.0/src/common/ConfigReader.cpp
===================================================================
--- sddm-0.13.0.orig/src/common/ConfigReader.cpp
+++ sddm-0.13.0/src/common/ConfigReader.cpp
@@ -186,17 +186,17 @@ namespace SDDM {
* Initialization of the map of nondefault values to be saved
*/
if (section) {
- if (entry && !entry->isDefault())
+ if (entry && !entry->matchesDefault())
remainingEntries.insert(section, entry);
else
for (const ConfigEntryBase *b : section->entries().values())
- if (!b->isDefault())
+ if (!b->matchesDefault())
remainingEntries.insert(section, b);
}
else {
for (const ConfigSection *s : m_sections)
for (const ConfigEntryBase *b : s->entries().values())
- if (!b->isDefault())
+ if (!b->matchesDefault())
remainingEntries.insert(s, b);
}
Index: sddm-0.13.0/src/common/ConfigReader.h
===================================================================
--- sddm-0.13.0.orig/src/common/ConfigReader.h
+++ sddm-0.13.0/src/common/ConfigReader.h
@@ -77,6 +77,7 @@ namespace SDDM {
virtual void setValue(const QString &str) = 0;
virtual QString toConfigShort() const = 0;
virtual QString toConfigFull() const = 0;
+ virtual bool matchesDefault() const = 0;
virtual bool isDefault() const = 0;
};
@@ -107,6 +108,7 @@ namespace SDDM {
m_description(description),
m_default(value),
m_value(value),
+ m_isDefault(true),
m_parent(parent) {
m_parent->m_entries[name] = this;
}
@@ -117,13 +119,19 @@ namespace SDDM {
void set(const T val) {
m_value = val;
+ m_isDefault = false;
}
- bool isDefault() const {
+ bool matchesDefault() const {
return m_value == m_default;
}
+ bool isDefault() const {
+ return m_isDefault;
+ }
+
bool setDefault() {
+ m_isDefault = true;
if (m_value == m_default)
return false;
m_value = m_default;
@@ -147,6 +155,7 @@ namespace SDDM {
// specialised for QString
void setValue(const QString &str) {
+ m_isDefault = false;
QTextStream in(qPrintable(str));
in >> m_value;
}
@@ -167,6 +176,7 @@ namespace SDDM {
const QString m_description;
T m_default;
T m_value;
+ bool m_isDefault;
ConfigSection *m_parent;
};
++++++ sysconfig-support.patch ++++++
--- /var/tmp/diff_new_pack.ImKTDk/_old 2016-11-25 12:29:00.000000000 +0100
+++ /var/tmp/diff_new_pack.ImKTDk/_new 2016-11-25 12:29:00.000000000 +0100
@@ -1,8 +1,8 @@
-Index: sddm-0.14.0/CMakeLists.txt
-===================================================================
---- sddm-0.14.0.orig/CMakeLists.txt
-+++ sddm-0.14.0/CMakeLists.txt
-@@ -160,6 +160,7 @@ set(SESSION_COMMAND "${DATA_
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 43796954d519fda27133dbaed6db50141b8ecf04..3071ea79ebaf9e5c20851f2c2512339f0f06f25c 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -156,6 +156,7 @@ set(SESSION_COMMAND "${DATA_INSTALL_DIR}/scripts/Xsession"
set(WAYLAND_SESSION_COMMAND "${DATA_INSTALL_DIR}/scripts/wayland-session" CACHE PATH "Script to execute when starting the Wayland desktop session")
set(CONFIG_FILE "${CMAKE_INSTALL_FULL_SYSCONFDIR}/sddm.conf" CACHE PATH "Path of the sddm config file")
@@ -10,23 +10,23 @@
set(LOG_FILE "${CMAKE_INSTALL_FULL_LOCALSTATEDIR}/log/sddm.log" CACHE PATH "Path of the sddm log file")
set(DBUS_CONFIG_FILENAME "org.freedesktop.DisplayManager.conf" CACHE STRING "Name of the sddm config file")
set(COMPONENTS_TRANSLATION_DIR "${DATA_INSTALL_DIR}/translations" CACHE PATH "Components translations directory")
-Index: sddm-0.14.0/src/common/Configuration.h
-===================================================================
---- sddm-0.14.0.orig/src/common/Configuration.h
-+++ sddm-0.14.0/src/common/Configuration.h
-@@ -90,7 +90,7 @@ namespace SDDM {
-
+diff --git a/src/common/Configuration.h b/src/common/Configuration.h
+index c9af1b72cd0faee069264719ff26cc7d7cba204c..076e856e5ca592bf1b3dcd48a6511fc2395159a8 100644
+--- a/src/common/Configuration.h
++++ b/src/common/Configuration.h
+@@ -83,7 +83,7 @@ namespace SDDM {
+ );
Section(Autologin,
- Entry(User, QString, QString(), _S("Username for autologin session"));
-- Entry(Session, QString, QString(), _S("Name of session file for autologin session"));
-+ Entry(Session, QString, _S("plasma5.desktop"), _S("Name of session file for autologin session"));
- Entry(Relogin, bool, false, _S("Whether sddm should automatically log back into sessions when they exit"));
+ Entry(User, QString, QString(), _S("Autologin user"));
+- Entry(Session, QString, QString(), _S("Autologin session"));
++ Entry(Session, QString, _S("plasma5.desktop"), _S("Autologin session"));
+ Entry(Relogin, bool, false, _S("Autologin again on session exit"));
);
);
-Index: sddm-0.14.0/src/common/Constants.h.in
-===================================================================
---- sddm-0.14.0.orig/src/common/Constants.h.in
-+++ sddm-0.14.0/src/common/Constants.h.in
+diff --git a/src/common/Constants.h.in b/src/common/Constants.h.in
+index 2be895e730da5affb2cd4f6052918a8ab4b2672a..bb935503c08e8ad617f83f9df73d5c7703737686 100644
+--- a/src/common/Constants.h.in
++++ b/src/common/Constants.h.in
@@ -33,6 +33,7 @@
#define WAYLAND_SESSION_COMMAND "@WAYLAND_SESSION_COMMAND@"
@@ -35,10 +35,10 @@
#define LOG_FILE "@LOG_FILE@"
#define PID_FILE "@PID_FILE@"
#define MINIMUM_VT @MINIMUM_VT@
-Index: sddm-0.14.0/src/daemon/Display.cpp
-===================================================================
---- sddm-0.14.0.orig/src/daemon/Display.cpp
-+++ sddm-0.14.0/src/daemon/Display.cpp
+diff --git a/src/daemon/Display.cpp b/src/daemon/Display.cpp
+index 2b76c6dbe64b3d35a0e6b1849cf10c250ead5f53..0d62358dc515826d18d9eb825a83149cf268ee9d 100644
+--- a/src/daemon/Display.cpp
++++ b/src/daemon/Display.cpp
@@ -35,6 +35,7 @@
#include <QDebug>
#include <QFile>
@@ -47,7 +47,7 @@
#include <pwd.h>
#include <unistd.h>
-@@ -139,8 +140,19 @@ namespace SDDM {
+@@ -114,8 +115,19 @@ namespace SDDM {
// log message
qDebug() << "Display server started.";
1
0
Hello community,
here is the log from the commit of package yast2-dns-server for openSUSE:Factory checked in at 2016-11-25 12:28:31
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/yast2-dns-server (Old)
and /work/SRC/openSUSE:Factory/.yast2-dns-server.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "yast2-dns-server"
Changes:
--------
--- /work/SRC/openSUSE:Factory/yast2-dns-server/yast2-dns-server.changes 2016-08-05 18:18:17.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.yast2-dns-server.new/yast2-dns-server.changes 2016-11-25 12:28:32.000000000 +0100
@@ -1,0 +2,6 @@
+Thu Nov 24 14:13:00 UTC 2016 - igonzalezsosa(a)suse.com
+
+- Remove dead code regarding help messages (bsc#1012048)
+- 3.2.0
+
+-------------------------------------------------------------------
Old:
----
yast2-dns-server-3.1.24.tar.bz2
New:
----
yast2-dns-server-3.2.0.tar.bz2
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ yast2-dns-server.spec ++++++
--- /var/tmp/diff_new_pack.RLmLaN/_old 2016-11-25 12:28:33.000000000 +0100
+++ /var/tmp/diff_new_pack.RLmLaN/_new 2016-11-25 12:28:33.000000000 +0100
@@ -17,7 +17,7 @@
Name: yast2-dns-server
-Version: 3.1.24
+Version: 3.2.0
Release: 0
Url: https://github.com/yast/yast-dns-server
++++++ yast2-dns-server-3.1.24.tar.bz2 -> yast2-dns-server-3.2.0.tar.bz2 ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/yast2-dns-server-3.1.24/CONTRIBUTING.md new/yast2-dns-server-3.2.0/CONTRIBUTING.md
--- old/yast2-dns-server-3.1.24/CONTRIBUTING.md 2016-08-05 14:52:15.000000000 +0200
+++ new/yast2-dns-server-3.2.0/CONTRIBUTING.md 2016-11-25 09:59:10.000000000 +0100
@@ -3,7 +3,7 @@
YaST is an open source project and as such it welcomes all kinds of
contributions. If you decide to contribute, please follow these guidelines to
-ensure the process is effective and pleasant both for you and YaST maintainers.
+ensure the process is effective and pleasant both for you and the YaST maintainers.
There are two main forms of contribution: reporting bugs and performing code
changes.
@@ -17,13 +17,11 @@
registration](https://secure-www.novell.com/selfreg/jsp/createSimpleAccount…
if you don't have an account yet.)
-If you find a problem, please report it either using
-[Bugzilla](https://bugzilla.suse.com/) or GitHub issues. We can't guarantee
-that every bug will be fixed, but we'll try.
-
When creating a bug report, please follow our [bug reporting
guidelines](http://en.opensuse.org/openSUSE:Report_a_YaST_bug).
+We can't guarantee that every bug will be fixed, but we'll try.
+
Code Changes
------------
@@ -44,15 +42,22 @@
to the [Ruby style
guide](https://github.com/SUSE/style-guides/blob/master/Ruby.md).
- 4. Make sure your change didn't break anything by building the RPM package
+ 4. Update the package version (in `packages/*.spec`, usually by
+ `rake version:bump`) and add a new entry to the `package/*.changes` file
+ (by `osc vc package`).
+ For bigger changes or changes which need longer discussion it is advised to
+ add this as a separate last commit so it can be easily updated when another
+ change is merged in the meantime.
+
+ 5. Make sure your change didn't break anything by building the RPM package
(`rake osc:build`). The build process includes running the full testsuite.
- 5. Publish the branch and create a pull request.
+ 6. Publish the branch and create a pull request.
- 6. YaST developers will review your change and possibly point out issues.
+ 7. YaST developers will review your change and possibly point out issues.
Adapt the code under their guidance until they are all resolved.
- 7. Finally, the pull request will get merged or rejected.
+ 8. Finally, the pull request will get merged or rejected.
See also [GitHub's guide on
contributing](https://help.github.com/articles/fork-a-repo).
@@ -60,9 +65,6 @@
If you want to do multiple unrelated changes, use separate branches and pull
requests.
-Do not change the `VERSION` and `*.changes` files as this could lead to
-conflicts.
-
### Commits
Each commit in the pull request should do only one thing, which is clearly
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/yast2-dns-server-3.1.24/package/yast2-dns-server.changes new/yast2-dns-server-3.2.0/package/yast2-dns-server.changes
--- old/yast2-dns-server-3.1.24/package/yast2-dns-server.changes 2016-08-05 14:52:15.000000000 +0200
+++ new/yast2-dns-server-3.2.0/package/yast2-dns-server.changes 2016-11-25 09:59:10.000000000 +0100
@@ -1,4 +1,10 @@
-------------------------------------------------------------------
+Thu Nov 24 14:13:00 UTC 2016 - igonzalezsosa(a)suse.com
+
+- Remove dead code regarding help messages (bsc#1012048)
+- 3.2.0
+
+-------------------------------------------------------------------
Fri Aug 5 09:39:32 UTC 2016 - igonzalezsosa(a)suse.com
- Prevent failures with dejagnu-1.6 (bsc#992333).
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/yast2-dns-server-3.1.24/package/yast2-dns-server.spec new/yast2-dns-server-3.2.0/package/yast2-dns-server.spec
--- old/yast2-dns-server-3.1.24/package/yast2-dns-server.spec 2016-08-05 14:52:15.000000000 +0200
+++ new/yast2-dns-server-3.2.0/package/yast2-dns-server.spec 2016-11-25 09:59:10.000000000 +0100
@@ -17,7 +17,7 @@
Name: yast2-dns-server
-Version: 3.1.24
+Version: 3.2.0
Release: 0
Url: https://github.com/yast/yast-dns-server
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/yast2-dns-server-3.1.24/src/include/dns-server/helps.rb new/yast2-dns-server-3.2.0/src/include/dns-server/helps.rb
--- old/yast2-dns-server-3.1.24/src/include/dns-server/helps.rb 2016-08-05 14:52:15.000000000 +0200
+++ new/yast2-dns-server-3.2.0/src/include/dns-server/helps.rb 2016-11-25 09:59:10.000000000 +0100
@@ -34,37 +34,6 @@
"Abort the save procedure by pressing <b>Abort</b>.\n" +
"An additional dialog informs you whether it is safe to do so.</p>"
),
- # main dialog
- # help 1/4
- "start" => _(
- "<p><b><big>Start DNS Server</big></b><br>\n" +
- "To run the DNS server every time your computer is started, set\n" +
- "<b>Start DNS Server</b>.</p>"
- ),
- # help 2/4
- "chroot" => _(
- "<p><b><big>Chroot Jail</big></b><br>\n" +
- "To run the DNS server in chroot jail, set\n" +
- "<b>Run DNS Server in Chroot Jail</b>. Starting any daemon in a chroot jail\n" +
- "is more secure and strongly recommended.</p>"
- ),
- # help 3/4
- "zones" => _(
- "<p><b><big>Editing DNS Zones</big></b><br>\n" +
- "To edit settings of a DNS zone, choose the appropriate\n" +
- "entry of the table and click <B>Edit</B>.\n" +
- "To add a new DNS zone, use <B>Add</B>. To remove\n" +
- "a configured DNS zone, select it and click <B>Delete</B>.</P>"
- ),
- # help 4/4
- "adv_mbutton" => _(
- "<p><b><big>Advanced Functions</big></b><br>\n" +
- "To edit global options,\n" +
- "adjust firewall settings,\n" +
- "manage the TSIG keys for dynamic updates of the zones,\n" +
- "or display the log of the DNS server,\n" +
- "use <b>Advanced</b>.</p>"
- ),
# zone dialog
# help 1/5
"zone_name" => _(
1
0
Hello community,
here is the log from the commit of package djvusmooth for openSUSE:Factory checked in at 2016-11-25 12:28:27
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/djvusmooth (Old)
and /work/SRC/openSUSE:Factory/.djvusmooth.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "djvusmooth"
Changes:
--------
--- /work/SRC/openSUSE:Factory/djvusmooth/djvusmooth.changes 2016-08-03 11:44:40.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.djvusmooth.new/djvusmooth.changes 2016-11-25 12:28:28.000000000 +0100
@@ -1,0 +2,8 @@
+Tue Nov 22 12:39:02 UTC 2016 - lazy.kent(a)opensuse.org
+
+- Update to 0.2.18.
+ * Improve the setup script:
+ + Fix the “Environment” classifier.
+ * Update bug tracker URLs. The project repo has moved to GitHub.
+
+-------------------------------------------------------------------
Old:
----
djvusmooth-0.2.17.tar.gz
djvusmooth-0.2.17.tar.gz.asc
New:
----
djvusmooth-0.2.18.tar.gz
djvusmooth-0.2.18.tar.gz.asc
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ djvusmooth.spec ++++++
--- /var/tmp/diff_new_pack.VbfpCd/_old 2016-11-25 12:28:29.000000000 +0100
+++ /var/tmp/diff_new_pack.VbfpCd/_new 2016-11-25 12:28:29.000000000 +0100
@@ -17,7 +17,7 @@
Name: djvusmooth
-Version: 0.2.17
+Version: 0.2.18
Release: 0
Summary: Graphical Text Editor for DjVu
License: GPL-2.0
@@ -92,7 +92,7 @@
%{_bindir}/%{name}
%{_datadir}/applications/%{name}.desktop
%{_datadir}/icons/hicolor/*/*/%{name}.png
-%doc %{_mandir}/man?/*
+%{_mandir}/man?/*
%{python_sitelib}/*
%files lang -f %{name}.lang
++++++ djvusmooth-0.2.17.tar.gz -> djvusmooth-0.2.18.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/djvusmooth-0.2.17/PKG-INFO new/djvusmooth-0.2.18/PKG-INFO
--- old/djvusmooth-0.2.17/PKG-INFO 2016-07-15 11:46:05.000000000 +0200
+++ new/djvusmooth-0.2.18/PKG-INFO 2016-11-20 20:42:34.000000000 +0100
@@ -1,6 +1,6 @@
Metadata-Version: 1.1
Name: djvusmooth
-Version: 0.2.17
+Version: 0.2.18
Summary: graphical editor for DjVu
Home-page: http://jwilk.net/software/djvusmooth
Author: Jakub Wilk
@@ -9,7 +9,7 @@
Description: *djvusmooth* is a graphical editor for `DjVu <http://djvu.org>`_ documents.
Platform: UNKNOWN
Classifier: Development Status :: 4 - Beta
-Classifier: Environment :: Console
+Classifier: Environment :: X11 Applications :: GTK
Classifier: Intended Audience :: End Users/Desktop
Classifier: License :: OSI Approved :: GNU General Public License (GPL)
Classifier: Operating System :: OS Independent
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/djvusmooth-0.2.17/doc/changelog new/djvusmooth-0.2.18/doc/changelog
--- old/djvusmooth-0.2.17/doc/changelog 2016-07-15 11:33:35.000000000 +0200
+++ new/djvusmooth-0.2.18/doc/changelog 2016-11-20 20:38:28.000000000 +0100
@@ -1,3 +1,12 @@
+djvusmooth (0.2.18) unstable; urgency=low
+
+ * Improve the setup script:
+ + Fix the “Environment” classifier.
+ * Update bug tracker URLs.
+ The project repo has moved to GitHub.
+
+ -- Jakub Wilk <jwilk(a)jwilk.net> Sun, 20 Nov 2016 20:38:27 +0100
+
djvusmooth (0.2.17) unstable; urgency=low
* Update the XDG Base Directory Specification URL.
@@ -16,7 +25,7 @@
* Remove python-djvulibre version checks.
This fixes compatibility with python-djvulibre ≥ 0.5.
Thanks to Daniel Stender for the bug report.
- https://bitbucket.org/jwilk/djvusmooth/issues/17
+ https://github.com/jwilk/djvusmooth/issues/17
-- Jakub Wilk <jwilk(a)jwilk.net> Tue, 15 Sep 2015 11:12:06 +0200
@@ -29,7 +38,7 @@
* Use HTTPS URLs when they are available, in documentation and code.
* Document that is possible to edit hyperlinks.
Thanks to Janusz S. Bień for the bug report.
- https://bitbucket.org/jwilk/djvusmooth/issue/13
+ https://github.com/jwilk/djvusmooth/issues/13
* Use the notebook widget regardless of wxPython version.
* Don't hardcode path to the binary in the desktop file.
* Add experimental support for wxPython 3.0.
@@ -46,7 +55,7 @@
[ Jakub Wilk ]
* Add “Open recent” submenu.
- https://bitbucket.org/jwilk/djvusmooth/issue/7
+ https://github.com/jwilk/djvusmooth/issues/7
* Do not abort opening a new file if user chose to save the current one.
* Check Python version at runtime.
* Improve the manual page, as per man-pages(7) recommendations:
@@ -71,7 +80,7 @@
djvusmooth (0.2.13) unstable; urgency=low
* Add keyboard shortcuts for “Zoom in” and “Zoom out”.
- https://bitbucket.org/jwilk/djvusmooth/issue/8
+ https://github.com/jwilk/djvusmooth/issues/8
* Fix editing text in external editor: when a zone broader than line without
sub-zones existed, djvusmooth incorrectly skipped it when importing text.
Thanks to Janusz S. Bień for the bug report.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/djvusmooth-0.2.17/doc/djvusmooth.1 new/djvusmooth-0.2.18/doc/djvusmooth.1
--- old/djvusmooth-0.2.17/doc/djvusmooth.1 2016-07-15 11:46:05.000000000 +0200
+++ new/djvusmooth-0.2.18/doc/djvusmooth.1 2016-11-20 20:42:34.000000000 +0100
@@ -3,12 +3,12 @@
.\" Title: djvusmooth
.\" Author: Jakub Wilk <jwilk(a)jwilk.net>
.\" Generator: DocBook XSL Stylesheets v1.79.1 <http://docbook.sf.net/>
-.\" Date: 07/15/2016
+.\" Date: 11/20/2016
.\" Manual: djvusmooth manual
-.\" Source: djvusmooth 0.2.17
+.\" Source: djvusmooth 0.2.18
.\" Language: English
.\"
-.TH "DJVUSMOOTH" "1" 2016\-07\-15 "djvusmooth 0\&.2\&.17" "djvusmooth manual"
+.TH "DJVUSMOOTH" "1" 2016\-11\-20 "djvusmooth 0\&.2\&.18" "djvusmooth manual"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
@@ -106,7 +106,7 @@
.SS "Reporting bugs"
.PP
Please report bugs at:
-\m[blue]\fI\%https://bitbucket.org/jwilk/djvusmooth/issues\fR\m[]
+\m[blue]\fI\%https://github.com/jwilk/djvusmooth/issues\fR\m[]
.SH "SEE ALSO"
.PP
\fBdjvu\fR(1)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/djvusmooth-0.2.17/doc/djvusmooth.xml new/djvusmooth-0.2.18/doc/djvusmooth.xml
--- old/djvusmooth-0.2.17/doc/djvusmooth.xml 2016-02-22 17:34:28.000000000 +0100
+++ new/djvusmooth-0.2.18/doc/djvusmooth.xml 2016-11-20 20:30:49.000000000 +0100
@@ -2,7 +2,7 @@
<!DOCTYPE refentry PUBLIC '-//OASIS//DTD DocBook XML V4.5//EN' 'http://www.docbook.org/xml/4.5/docbookx.dtd'
[
<!ENTITY p 'djvusmooth'>
- <!ENTITY version '0.2.17'>
+ <!ENTITY version '0.2.18'>
]>
<refentry>
@@ -93,7 +93,7 @@
<title>Reporting bugs</title>
<para>
Please report bugs at:
- <ulink url='https://bitbucket.org/jwilk/djvusmooth/issues'/>
+ <ulink url='https://github.com/jwilk/djvusmooth/issues'/>
</para>
</refsection>
</refsection>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/djvusmooth-0.2.17/lib/__init__.py new/djvusmooth-0.2.18/lib/__init__.py
--- old/djvusmooth-0.2.17/lib/__init__.py 2015-10-01 15:38:11.000000000 +0200
+++ new/djvusmooth-0.2.18/lib/__init__.py 2016-11-12 18:37:39.000000000 +0100
@@ -1,4 +1,4 @@
-__version__ = '0.2.17'
+__version__ = '0.2.18'
__author__ = 'Jakub Wilk <jwilk(a)jwilk.net>'
import sys
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/djvusmooth-0.2.17/lib/gui/flatten_text.py new/djvusmooth-0.2.18/lib/gui/flatten_text.py
--- old/djvusmooth-0.2.17/lib/gui/flatten_text.py 2015-08-18 10:06:54.000000000 +0200
+++ new/djvusmooth-0.2.18/lib/gui/flatten_text.py 2016-11-12 18:37:39.000000000 +0100
@@ -39,7 +39,7 @@
self._scope_box = wx.RadioBox(self,
label=(_('Scope') + ':'),
choices=(_('current page'), _('all pages')),
- style = wx.RA_HORIZONTAL
+ style=wx.RA_HORIZONTAL
)
self._zone_box = wx.RadioBox(self,
label=(_('Remove details') + ':'),
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/djvusmooth-0.2.17/lib/gui/maparea_properties.py new/djvusmooth-0.2.18/lib/gui/maparea_properties.py
--- old/djvusmooth-0.2.17/lib/gui/maparea_properties.py 2016-06-17 16:39:16.000000000 +0200
+++ new/djvusmooth-0.2.18/lib/gui/maparea_properties.py 2016-11-12 18:37:39.000000000 +0100
@@ -79,8 +79,8 @@
target_label = wx.StaticText(self, label=(_('Target frame') + ': '))
target_edit = wx.ComboBox(self,
size=(self.DEFAULT_TEXT_WIDTH, -1),
- style = wx.CB_DROPDOWN,
- choices = HTML_TARGETS
+ style=wx.CB_DROPDOWN,
+ choices=HTML_TARGETS
)
if node is not None:
target_edit.SetValue(self._node.target or '')
@@ -256,7 +256,7 @@
opacity_slider = wx.Slider(self,
value=djvu.const.MAPAREA_OPACITY_DEFAULT,
size=(self.DEFAULT_TEXT_WIDTH, -1),
- style = wx.SL_HORIZONTAL | wx.SL_AUTOTICKS | wx.SL_LABELS
+ style=(wx.SL_HORIZONTAL | wx.SL_AUTOTICKS | wx.SL_LABELS)
)
for widget in highlight_color_label, highlight_color_selector, opacity_label, opacity_slider:
highlight_specific_sizer.Add(widget, 0, wx.ALIGN_CENTER_VERTICAL)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/djvusmooth-0.2.17/lib/gui/page.py new/djvusmooth-0.2.18/lib/gui/page.py
--- old/djvusmooth-0.2.17/lib/gui/page.py 2016-06-17 16:34:31.000000000 +0200
+++ new/djvusmooth-0.2.18/lib/gui/page.py 2016-11-12 18:37:39.000000000 +0100
@@ -252,7 +252,7 @@
def _update_node_size(self):
x, y, w, h = self.GetX(), self.GetY(), self.GetWidth(), self.GetHeight()
- screen_rect = x - w//2, y - h//2, w, h
+ screen_rect = (x - w // 2, y - h // 2, w, h)
self._node.rect = self._xform_real_to_screen.inverse(screen_rect)
def OnMovePost(self, dc, x, y, old_x, old_y, display):
@@ -489,11 +489,11 @@
# TODO: something lighter
def _on_shape_selected(self, shape):
- shape.select(notify=False) # in case it was selected elsewhere
+ shape.select(notify=False) # if it was selected elsewhere
self._current_shape = shape
def _on_shape_deselected(self, shape):
- shape.deselect(notify=False) # in case it was selected elsewhere
+ shape.deselect(notify=False) # if it was selected elsewhere
self._current_shape = None
def on_parent_resize(self, event):
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/djvusmooth-0.2.17/lib/text/levenshtein.py new/djvusmooth-0.2.18/lib/text/levenshtein.py
--- old/djvusmooth-0.2.17/lib/text/levenshtein.py 2016-06-17 16:39:16.000000000 +0200
+++ new/djvusmooth-0.2.18/lib/text/levenshtein.py 2016-11-12 18:37:39.000000000 +0100
@@ -51,11 +51,11 @@
d[0][j] = Append(j)
for i in xrange(1, len_s + 1):
for j in xrange(1, len_t + 1):
- subst_cost = int(s[i-1] != t[j-1])
+ subst_cost = int(s[i - 1] != t[j - 1])
d[i][j] = min(
- Delete(d[i-1][j] + 1),
- Insert(d[i][j-1] + 1),
- Substitute(d[i-1][j-1] + subst_cost)
+ Delete(d[i - 1][j] + 1),
+ Insert(d[i][j - 1] + 1),
+ Substitute(d[i - 1][j - 1] + subst_cost)
)
i = len_s
j = len_t
@@ -74,10 +74,10 @@
if s[i] != t[j]:
ops += (i, s[i], t[j],),
elif isinstance(op, Append):
- ops += ((i, '', t[jj]) for jj in xrange(j-1, -1, -1))
+ ops += ((i, '', t[jj]) for jj in xrange(j - 1, -1, -1))
break
elif isinstance(op, Drop):
- ops += ((ii, s[ii], '') for ii in xrange(i-1, -1, -1))
+ ops += ((ii, s[ii], '') for ii in xrange(i - 1, -1, -1))
break
return reversed(ops)
Files old/djvusmooth-0.2.17/locale/es/LC_MESSAGES/djvusmooth.mo and new/djvusmooth-0.2.18/locale/es/LC_MESSAGES/djvusmooth.mo differ
Files old/djvusmooth-0.2.17/locale/pl/LC_MESSAGES/djvusmooth.mo and new/djvusmooth-0.2.18/locale/pl/LC_MESSAGES/djvusmooth.mo differ
Files old/djvusmooth-0.2.17/locale/ru/LC_MESSAGES/djvusmooth.mo and new/djvusmooth-0.2.18/locale/ru/LC_MESSAGES/djvusmooth.mo differ
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/djvusmooth-0.2.17/po/es.po new/djvusmooth-0.2.18/po/es.po
--- old/djvusmooth-0.2.17/po/es.po 2015-11-23 17:31:30.000000000 +0100
+++ new/djvusmooth-0.2.18/po/es.po 2016-11-12 18:37:39.000000000 +0100
@@ -3,7 +3,7 @@
# This file is distributed under the same license as the djvusmooth package.
msgid ""
msgstr ""
-"Project-Id-Version: djvusmooth 0.2.17\n"
+"Project-Id-Version: djvusmooth 0.2.18\n"
"Report-Msgid-Bugs-To: Jakub Wilk <jwilk(a)jwilk.net>\n"
"POT-Creation-Date: 2015-09-15 10:51+0200\n"
"PO-Revision-Date: 2012-05-21 00:20-0500\n"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/djvusmooth-0.2.17/po/pl.po new/djvusmooth-0.2.18/po/pl.po
--- old/djvusmooth-0.2.17/po/pl.po 2016-05-14 16:11:45.000000000 +0200
+++ new/djvusmooth-0.2.18/po/pl.po 2016-11-12 18:37:39.000000000 +0100
@@ -3,7 +3,7 @@
# This file is distributed under the same license as the djvusmooth package.
msgid ""
msgstr ""
-"Project-Id-Version: djvusmooth 0.2.17\n"
+"Project-Id-Version: djvusmooth 0.2.18\n"
"Report-Msgid-Bugs-To: Jakub Wilk <jwilk(a)jwilk.net>\n"
"POT-Creation-Date: 2015-09-15 10:51+0200\n"
"PO-Revision-Date: 2012-10-09 20:41+0200\n"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/djvusmooth-0.2.17/po/ru.po new/djvusmooth-0.2.18/po/ru.po
--- old/djvusmooth-0.2.17/po/ru.po 2015-11-23 17:31:30.000000000 +0100
+++ new/djvusmooth-0.2.18/po/ru.po 2016-11-12 18:37:39.000000000 +0100
@@ -6,7 +6,7 @@
#
msgid ""
msgstr ""
-"Project-Id-Version: djvusmooth 0.2.17\n"
+"Project-Id-Version: djvusmooth 0.2.18\n"
"Report-Msgid-Bugs-To: Jakub Wilk <jwilk(a)jwilk.net>\n"
"POT-Creation-Date: 2015-09-15 10:51+0200\n"
"PO-Revision-Date: 2013-02-21 18:33+0300\n"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/djvusmooth-0.2.17/setup.py new/djvusmooth-0.2.18/setup.py
--- old/djvusmooth-0.2.17/setup.py 2016-06-17 16:39:16.000000000 +0200
+++ new/djvusmooth-0.2.18/setup.py 2016-11-12 18:37:39.000000000 +0100
@@ -24,7 +24,7 @@
classifiers = '''
Development Status :: 4 - Beta
-Environment :: Console
+Environment :: X11 Applications :: GTK
Intended Audience :: End Users/Desktop
License :: OSI Approved :: GNU General Public License (GPL)
Operating System :: OS Independent
1
0
Hello community,
here is the log from the commit of package borgmatic for openSUSE:Factory checked in at 2016-11-25 12:28:20
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/borgmatic (Old)
and /work/SRC/openSUSE:Factory/.borgmatic.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "borgmatic"
Changes:
--------
New Changes file:
--- /dev/null 2016-10-27 01:54:32.792041256 +0200
+++ /work/SRC/openSUSE:Factory/.borgmatic.new/borgmatic.changes 2016-11-25 12:28:21.000000000 +0100
@@ -0,0 +1,10 @@
+-------------------------------------------------------------------
+Sun Oct 30 23:35:27 UTC 2016 - jengelh(a)inai.de
+
+- Trim and wrap description
+
+-------------------------------------------------------------------
+Thu Oct 13 07:35:01 UTC 2016 - alarrosa(a)suse.com
+
+- version 1.0.3-dev: initial build
+
New:
----
README.md
_service
borgmatic-1.0.3hg.135.tar.xz
borgmatic.changes
borgmatic.spec
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ borgmatic.spec ++++++
#
# spec file for package borgmatic
#
# Copyright (c) 2016 SUSE LINUX GmbH, Nuernberg, Germany.
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
# upon. The license for this file, and modifications and additions to the
# file, is the same license as for the pristine package itself (unless the
# license for the pristine package is not an Open Source License, in which
# case the license is the MIT License). An "Open Source License" is a
# license that conforms to the Open Source Definition (Version 1.9)
# published by the Open Source Initiative.
# Please submit bugfixes or comments via http://bugs.opensuse.org/
#
%define version_unconverted 1.0.3hg.135
Name: borgmatic
Version: 1.0.3hg.135
Release: 0
Summary: Automation tool for borgbackup
License: GPL-3.0
Group: Productivity/Archiving/Backup
Url: https://torsion.org/borgmatic/
Source: borgmatic-%{version}.tar.xz
Source1: README.md
BuildArch: noarch
BuildRequires: python3 >= 3.4
BuildRequires: python3-devel
BuildRequires: python3-setuptools
BuildRequires: systemd-devel
# To create the manpage
BuildRequires: pandoc
Requires: borgmatic
# testing requirements
BuildRequires: python3-pytest
BuildRequires: python3-flexmock
BuildRoot: %{_tmppath}/%{name}-%{version}-build
%description
borgmatic is a Python wrapper script for the Borg backup software
that initiates a backup, prunes any old backups according to a
retention policy, and validates backups for consistency. The script
supports specifying your settings in a declarative configuration file
rather than having to put them all on the command-line, and handles
common errors.
%prep
%setup -q
# test_version.py fails because of assert '1.0.3.dev0\n' == '1.0.3-dev\n', so we just remove it
rm borgmatic/tests/integration/test_version.py
# Make sample files use the borgmatic command on /usr/bin, not /usr/local/bin
perl -pi -e "s,PATH=\\$PATH:/usr/local/bin /usr/local/bin/borgmatic,/usr/bin/borgmatic," sample/cron/borgmatic
perl -pi -e "s,/usr/local/bin/borgmatic,/usr/bin/borgmatic," sample/systemd/borgmatic.service
%build
# Create the manpage
pandoc -s -f markdown -t man %{S:1} -o borgmatic.1
%install
python3 setup.py install --prefix=%{_prefix} --root=%{buildroot}
install -d %{buildroot}%{_sysconfdir}/borgmatic
install -m 0644 sample/config sample/excludes %{buildroot}%{_sysconfdir}/borgmatic/
install -d %{buildroot}%{_docdir}/%{name}/sample/cron
install -m 0644 sample/cron/borgmatic %{buildroot}%{_docdir}/%{name}/sample/cron/
install -d %{buildroot}%{_unitdir}/
install -m 0644 sample/systemd/borgmatic* %{buildroot}%{_unitdir}/
install -D -m 0644 borgmatic.1 %{buildroot}%{_mandir}/man1/borgmatic.1
%check
# testing the build is a little awkward, since the original testsuite is based on tox and
# tox tries to create a virtual environment, that we need tight control on in order to get
# it to behave in our build system (offline mode, use site packages). OTOH, without the
# venv, we face problems with setuptools (borg uses pkg_resources to locate the installed
# package), while py.test relies on the usual module handling. <hpj(a)urpla.net>
pyvenv --system-site-packages --without-pip borgmatic-env
source borgmatic-env/bin/activate
python3 setup.py install
LANG=en_US.UTF-8 PYTHONPATH=$(pwd) py.test -v --pyargs borgmatic
%post
%service_add_post borgmatic.service
%pre
%service_add_pre borgmatic.service
%preun
%service_del_preun borgmatic.service
%postun
%service_del_postun borgmatic.service
%files
%defattr(-,root,root,-)
%doc AUTHORS LICENSE NEWS README.md
%config %{_sysconfdir}/borgmatic/config
%config %{_sysconfdir}/borgmatic/excludes
%dir %{_sysconfdir}/borgmatic
%{python3_sitelib}/borgmatic/
%{python3_sitelib}/borgmatic-1.0.3.dev0-py%{py3_ver}.egg-info
%{_unitdir}/borgmatic.service
%{_unitdir}/borgmatic.timer
%{_bindir}/borgmatic
%{_mandir}/man1/borgmatic.1%{ext_man}
%changelog
++++++ README.md ++++++
% borgmatic(1) Automation tool for borgbackup
# NAME
borgmatic - Automation tool for borgbackup
# SYNOPSIS
borgmatic
# DESCRIPTION
borgmatic (formerly atticmatic) is a simple Python wrapper script for the
[Borg](https://borgbackup.readthedocs.org/en/stable/) backup software that
initiates a backup, prunes any old backups according to a retention policy,
and validates backups for consistency. The script supports specifying your
settings in a declarative configuration file rather than having to put them
all on the command-line, and handles common errors.
You can run borgmatic and start a backup simply by invoking it without
arguments. This will also prune any old backups as per the configured retention policy,
and check backups for consistency problems due to things like file damage.
By default, the backup will proceed silently except in the case of errors. But
if you'd like to to get additional information about the progress of the
backup as it proceeds, use the verbosity option:
borgmatic --verbosity 1
Or, for even more progress spew:
borgmatic --verbosity 2
If you'd like to see the available command-line arguments, view the help:
borgmatic --help
# GENERAL
## Overview
Here's an example config file:
```INI
[location]
# Space-separated list of source directories to backup.
# Globs are expanded.
source_directories: /home /etc /var/log/syslog*
# Path to local or remote backup repository.
repository: user@backupserver:sourcehostname.borg
[retention]
# Retention policy for how many backups to keep in each category.
keep_daily: 7
keep_weekly: 4
keep_monthly: 6
[consistency]
# Consistency checks to run, or "disabled" to prevent checks.
checks: repository archives
```
Additionally, exclude patterns can be specified in a separate excludes config
file, one pattern per line.
borgmatic is hosted at <https://torsion.org/borgmatic> with [source code
available](https://torsion.org/hg/borgmatic). It's also mirrored on
[GitHub](https://github.com/witten/borgmatic) and
[BitBucket](https://bitbucket.org/dhelfman/borgmatic) for convenience.
## Setup
To get up and running, follow the [Borg Quick
Start](https://borgbackup.readthedocs.org/en/latest/quickstart.html) to create
a repository on a local or remote host. Note that if you plan to run
borgmatic on a schedule with cron, and you encrypt your Borg repository with
a passphrase instead of a key file, you'll need to set the borgmatic
`encryption_passphrase` configuration variable. See the repository encryption
section of the Quick Start for more info.
If the repository is on a remote host, make sure that your local root user has
key-based ssh access to the desired user account on the remote host.
You can find example configuration files to run borgmatic automatically
from cron or systemd at /usr/share/doc/packages/borgmatic/sample/cron and
/usr/share/doc/packages/borgmatic/sample/systemd.
Lastly, modify the /etc/borgmatic files with your desired configuration.
## Upgrading from atticmatic
borgmatic only supports Borg now and no longer supports Attic. So if you're
an Attic user, consider switching to Borg. See the [Borg upgrade
command](https://borgbackup.readthedocs.io/en/stable/usage.html#borg-upgrade)
for more information. Then, follow the instructions above about setting up
your borgmatic configuration files.
## Autopilot
If you want to run borgmatic automatically, say once a day, the you can
configure a job runner to invoke it periodically.
### systemd
If you're using systemd instead of cron to run jobs, the service files are already installed
and all you have to do is enable and start the borgmatic service:
sudo systemctl enable borgmatic.timer
sudo systemctl start borgmatic.timer
Feel free to modify the timer file based on how frequently you'd like
borgmatic to run.
### cron
If you prefer to use cron, copy the sample file to the cron directory:
sudo cp /usr/share/doc/packages/borgmatic/sample/cron /etc/cron.d/borgmatic
You can modify the cron file if you'd like to run borgmatic more or less frequently.
## Troubleshooting
### Broken pipe with remote repository
When running borgmatic on a large remote repository, you may receive errors
like the following, particularly while "borg check" is validating backups for
consistency:
Write failed: Broken pipe
borg: Error: Connection closed by remote host
This error can be caused by an ssh timeout, which you can rectify by adding
the following to the ~/.ssh/config file on the client:
Host *
ServerAliveInterval 120
This should make the client keep the connection alive while validating
backups.
## Issues and feedback
Got an issue or an idea for a feature enhancement? Check out the [borgmatic
issue tracker](https://tree.taiga.io/project/witten-borgmatic/issues?page=1&status=399951,399952,399955). In
order to create a new issue or comment on an issue, you'll need to [login
first](https://tree.taiga.io/login).
Other questions or comments? Contact <mailto:witten@torsion.org>.
++++++ _service ++++++
<services>
<service name="tar_scm" mode="localonly">
<param name="scm">hg</param>
<param name="url">https://torsion.org/hg/borgmatic/</param>
<param name="filename">borgmatic</param>
<param name="versionformat">1.0.3hg.{rev}</param>
</service>
<service name="recompress" mode="localonly">
<param name="file">*.tar</param>
<param name="compression">xz</param>
</service>
<service name="set_version" mode="localonly"/>
</services>
1
0
Hello community,
here is the log from the commit of package libsrtp for openSUSE:Factory checked in at 2016-11-25 12:27:55
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/libsrtp (Old)
and /work/SRC/openSUSE:Factory/.libsrtp.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "libsrtp"
Changes:
--------
--- /work/SRC/openSUSE:Factory/libsrtp/libsrtp.changes 2016-03-09 15:15:47.000000000 +0100
+++ /work/SRC/openSUSE:Factory/.libsrtp.new/libsrtp.changes 2016-11-25 12:27:56.000000000 +0100
@@ -1,0 +2,5 @@
+Mon Nov 21 23:10:26 UTC 2016 - jengelh(a)inai.de
+
+- Update descriptions
+
+-------------------------------------------------------------------
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ libsrtp.spec ++++++
--- /var/tmp/diff_new_pack.lGDenz/_old 2016-11-25 12:27:57.000000000 +0100
+++ /var/tmp/diff_new_pack.lGDenz/_new 2016-11-25 12:27:57.000000000 +0100
@@ -35,26 +35,24 @@
Obsoletes: srtp < %{version}
%description
-The libSRTP library is an open source implementation of the Secure
-Real-time Transport Protocol (SRTP) originally authored by Cisco
-Systems, Inc.
+libsrtp is an implementation of the Secure Real-time Transport
+Protocol (SRTP) originally authored by Cisco Systems, Inc.
%package -n %{name}%{soname}
Summary: Secure Real-Time Transport Protocol (SRTP) library
Group: System/Libraries
%description -n %{name}%{soname}
-The libSRTP library is an open source implementation of the Secure
-Real-time Transport Protocol (SRTP) originally authored by Cisco
-Systems, Inc.
-
-SRTP is a security profile for RTP that adds confidentiality,
-message authentication, and replay protection to that protocol. It
-is specified in RFC 3711. More information about the SRTP protocol
+libsrtp is an implementation of the Secure Real-time Transport
+Protocol (SRTP) originally authored by Cisco Systems, Inc.
+
+SRTP is a security profile for RTP that adds confidentiality, message
+authentication, and replay protection to that protocol. It is
+specified in RFC 3711. More information about the SRTP protocol
itself can be found on the Secure RTP page.
%package devel
-Summary: Secure Real-Time Transport Protocol (SRTP) library
+Summary: Development files for the Secure Real-Time Transport Protocol (SRTP) library
Group: Development/Libraries/C and C++
Requires: %{name}%{soname} = %{version}
# srtp-devel was last used in openSUSE 13.1.
@@ -62,14 +60,10 @@
Obsoletes: srtp-devel < %{version}
%description devel
-The libSRTP library is an open source implementation of the Secure
-Real-time Transport Protocol (SRTP) originally authored by Cisco
-Systems, Inc.
-
-SRTP is a security profile for RTP that adds confidentiality,
-message authentication, and replay protection to that protocol. It
-is specified in RFC 3711. More information about the SRTP protocol
-itself can be found on the Secure RTP page.
+libsrtp is an implementation of the Secure Real-time Transport
+Protocol (SRTP) originally authored by Cisco Systems, Inc.
+
+This subpackage contains the development headers.
%prep
%setup -q
1
0
Hello community,
here is the log from the commit of package virtualbox for openSUSE:Factory checked in at 2016-11-25 12:27:45
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/virtualbox (Old)
and /work/SRC/openSUSE:Factory/.virtualbox.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "virtualbox"
Changes:
--------
--- /work/SRC/openSUSE:Factory/virtualbox/virtualbox.changes 2016-11-12 12:58:35.000000000 +0100
+++ /work/SRC/openSUSE:Factory/.virtualbox.new/virtualbox.changes 2016-11-25 12:27:49.000000000 +0100
@@ -1,0 +2,27 @@
+Mon Nov 21 22:43:33 UTC 2016 - Larry.Finger(a)lwfinger.net
+
+- Version bump to 5.1.10 (released 2016-11-21 by Oracle)
+
+This is a maintenance release. The following items were fixed and/or added:
+
+ GUI: the USB filter settings dialog should allow to specify the USB revision in hexadecimal format (bug #15400)
+ GUI: fixed crash on certain hosts when pressing certain key combinations (Windows hosts only; bug #15719)
+ GUI: fixed issue with updating the available-geometry on host-screen work-area resize
+ GUI: don't crash / hang on certain environments if accessibility support is enabled
+ GUI: fixed various issues in Unscaled HiDPI Output mode (bug #15707)
+ GUI: extend the VM Input menu with Print Screen-related actions
+ GUI: improved handling of inserting the Guest Additions ISO image by trying all available optical drives rather than only the first one and by not asking the user if he wants to force unmounting (which doesn't work in most cases anyway)
+ API: default to RTC using UTC for Solaris 11 guests
+ Settings: be less restrictive when reading a VM configuration containing a host-only adapter without an interface name
+ Storage: fixed resizing VDI images resulting in an unbootable image under certain circumstances (bug #15983)
+ NAT: fixed several 5.1.8 regressions on Mac OS X and Windows hosts (bug #16084)
+ Audio: fixed a few 5.1.x regressions by using the audio code from 5.0.x until the audio overhaul is completed
+ VBoxManage: fixed documentation of the storagectl command (bug #15971)
+ Build system: another fix for building VirtualBox on systems which default to Python 3
+ Windows hosts: hardening fix for Windows 10 build 14971 (bug #16202)
+ Windows Additions: properly start the VirtualBox guest services even if the guest user name contains special characters (bug #15982)
+ Solaris Additions: fixed preemptible mouse notification callback being executed under a spinlock for Solaris guests
+ Linux hosts / guests: Linux 4.9 fixes (bugs #16155 and #16064)
+ Linux Additions: fixed Linux kernel module override rule (thanks Mark Furneaux)
+
+-------------------------------------------------------------------
Old:
----
VirtualBox-5.1.8-patched.tar.bz2
New:
----
VirtualBox-5.1.10-patched.tar.bz2
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ virtualbox.spec ++++++
--- /var/tmp/diff_new_pack.Z08wuc/_old 2016-11-25 12:27:53.000000000 +0100
+++ /var/tmp/diff_new_pack.Z08wuc/_new 2016-11-25 12:27:53.000000000 +0100
@@ -19,7 +19,7 @@
%define _vbox_instdir %{_libexecdir}/virtualbox
%define _udevrulesdir %{_libexecdir}/udev/rules.d
Name: virtualbox
-Version: 5.1.8
+Version: 5.1.10
Release: 0
Summary: VirtualBox is an Emulator
License: GPL-2.0+
++++++ UserManual.pdf ++++++
(binary differes)
++++++ VirtualBox-5.1.8-patched.tar.bz2 -> VirtualBox-5.1.10-patched.tar.bz2 ++++++
/work/SRC/openSUSE:Factory/virtualbox/VirtualBox-5.1.8-patched.tar.bz2 /work/SRC/openSUSE:Factory/.virtualbox.new/VirtualBox-5.1.10-patched.tar.bz2 differ: char 11, line 1
++++++ gcc5-real-support.patch ++++++
--- /var/tmp/diff_new_pack.Z08wuc/_old 2016-11-25 12:27:53.000000000 +0100
+++ /var/tmp/diff_new_pack.Z08wuc/_new 2016-11-25 12:27:53.000000000 +0100
@@ -1,21 +1,21 @@
-Index: VirtualBox-5.1.2/Config.kmk
+Index: VirtualBox-5.1.10/Config.kmk
===================================================================
---- VirtualBox-5.1.2.orig/Config.kmk
-+++ VirtualBox-5.1.2/Config.kmk
-@@ -2542,7 +2542,7 @@ else
- # The reason for this hack is that the windows kmk_ash cannot deal with $((1+1)).
+--- VirtualBox-5.1.10.orig/Config.kmk
++++ VirtualBox-5.1.10/Config.kmk
+@@ -2479,7 +2479,7 @@ else
# Some versions of gcc (e.g. openSUSE11) return only major.minor on `gcc -dumpversion`.
+ # gcc-5 of openSUSE42.1 only returns the major version on `gcc -dumpversion`!
VBOX_GCC_VERSION = $(shell \
-- $(1) -dumpversion | $(SED_EXT) 's|\([0-9]\)\.\([0-9]\)\.\{0,1\}\([0-9]\{0,1\}\).*|$$(int-add $$(int-mul 10000, \1), $$(int-mul 100, \2), $$(firstword \3 0))|' )
+- $(1) -dumpversion | $(SED_EXT) 's|\([0-9]\)\.\{0,1\}\([0-9]\{0,1\}\)\.\{0,1\}\([0-9]\{0,1\}\).*|$$(int-add $$(int-mul 10000, \1), $$(int-mul 100, $$(firstword \2 0)), $$(firstword \3 0))|' )
+ $(1) -dumpversion | $(SED_EXT) 's|\([0-9]\)\.\{0,1\}\([0-9]\{0,1\}\)\.\{0,1\}\([0-9]\{0,1\}\).*|$$(int-add $$(int-mul 10000, \1), $$(int-mul 100, $$(firstword \2 0)), $$(firstword \3 0))|' )
endif
# Find MinGW cross compilers for EFI on non-windows systems. We need to probe
-Index: VirtualBox-5.1.2/configure
+Index: VirtualBox-5.1.10/configure
===================================================================
---- VirtualBox-5.1.2.orig/configure
-+++ VirtualBox-5.1.2/configure
-@@ -431,8 +431,13 @@ check_gcc()
+--- VirtualBox-5.1.10.orig/configure
++++ VirtualBox-5.1.10/configure
+@@ -433,8 +433,13 @@ check_gcc()
log_failure "cannot execute '$CXX -dumpversion'"
fail really
fi
++++++ vbox_fix_4.9_api_changes.patch ++++++
--- /var/tmp/diff_new_pack.Z08wuc/_old 2016-11-25 12:27:53.000000000 +0100
+++ /var/tmp/diff_new_pack.Z08wuc/_new 2016-11-25 12:27:53.000000000 +0100
@@ -1,14 +1,18 @@
-Index: VirtualBox-5.1.8/src/VBox/Additions/linux/sharedfolders/dirops.c
+Index: VirtualBox-5.1.10/src/VBox/Additions/linux/sharedfolders/dirops.c
===================================================================
---- VirtualBox-5.1.8.orig/src/VBox/Additions/linux/sharedfolders/dirops.c
-+++ VirtualBox-5.1.8/src/VBox/Additions/linux/sharedfolders/dirops.c
-@@ -747,8 +747,14 @@ static int sf_rmdir(struct inode *parent
- * @param new_dentry new directory cache entry
+--- VirtualBox-5.1.10.orig/src/VBox/Additions/linux/sharedfolders/dirops.c
++++ VirtualBox-5.1.10/src/VBox/Additions/linux/sharedfolders/dirops.c
+@@ -748,12 +748,18 @@ static int sf_rmdir(struct inode *parent
+ * @param flags flags
* @returns 0 on success, Linux error code otherwise
*/
+#if LINUX_VERSION_CODE < KERNEL_VERSION(4, 9, 0)
static int sf_rename(struct inode *old_parent, struct dentry *old_dentry,
- struct inode *new_parent, struct dentry *new_dentry)
+ struct inode *new_parent, struct dentry *new_dentry
+ #if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 9, 0)
+ , unsigned flags
+ #endif
+ )
+#else
+static int sf_rename(struct inode *old_parent, struct dentry *old_dentry,
+ struct inode *new_parent, struct dentry *new_dentry,
@@ -17,10 +21,10 @@
{
int err = 0, rc = VINF_SUCCESS;
struct sf_glob_info *sf_g = GET_GLOB_INFO(old_parent->i_sb);
-Index: VirtualBox-5.1.8/src/VBox/Additions/linux/drm/vbox_ttm.c
+Index: VirtualBox-5.1.10/src/VBox/Additions/linux/drm/vbox_ttm.c
===================================================================
---- VirtualBox-5.1.8.orig/src/VBox/Additions/linux/drm/vbox_ttm.c
-+++ VirtualBox-5.1.8/src/VBox/Additions/linux/drm/vbox_ttm.c
+--- VirtualBox-5.1.10.orig/src/VBox/Additions/linux/drm/vbox_ttm.c
++++ VirtualBox-5.1.10/src/VBox/Additions/linux/drm/vbox_ttm.c
@@ -221,7 +221,8 @@ static int vbox_bo_move(struct ttm_buffe
struct ttm_mem_reg *new_mem)
{
@@ -29,12 +33,12 @@
+#if LINUX_VERSION_CODE < KERNEL_VERSION(4, 8, 0) || \
+ LINUX_VERSION_CODE >= KERNEL_VERSION(4, 9, 0)
r = ttm_bo_move_memcpy(bo, evict, no_wait_gpu, new_mem);
- #else
+ #elif LINUX_VERSION_CODE < KERNEL_VERSION(4, 9, 0)
r = ttm_bo_move_memcpy(bo, evict, interruptible, no_wait_gpu, new_mem);
-Index: VirtualBox-5.1.8/src/VBox/Runtime/r0drv/linux/memobj-r0drv-linux.c
+Index: VirtualBox-5.1.10/src/VBox/Runtime/r0drv/linux/memobj-r0drv-linux.c
===================================================================
---- VirtualBox-5.1.8.orig/src/VBox/Runtime/r0drv/linux/memobj-r0drv-linux.c
-+++ VirtualBox-5.1.8/src/VBox/Runtime/r0drv/linux/memobj-r0drv-linux.c
+--- VirtualBox-5.1.10.orig/src/VBox/Runtime/r0drv/linux/memobj-r0drv-linux.c
++++ VirtualBox-5.1.10/src/VBox/Runtime/r0drv/linux/memobj-r0drv-linux.c
@@ -1045,7 +1045,27 @@ DECLHIDDEN(int) rtR0MemObjNativeLockUser
/*
* Get user pages.
1
0
Hello community,
here is the log from the commit of package cairomm for openSUSE:Factory checked in at 2016-11-25 12:27:30
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/cairomm (Old)
and /work/SRC/openSUSE:Factory/.cairomm.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "cairomm"
Changes:
--------
--- /work/SRC/openSUSE:Factory/cairomm/cairomm.changes 2016-06-03 16:33:56.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.cairomm.new/cairomm.changes 2016-11-25 12:27:33.000000000 +0100
@@ -1,0 +2,11 @@
+Sun Nov 20 17:57:31 UTC 2016 - zaitor(a)opensuse.org
+
+- Update to version 1.12.2:
+ + Remove new API that was not meant to be added in 1.12.1.
+- Changes from version 1.12.1:
+ + C++11:
+ - Use nullptr instead of 0.
+ - Use override keyword on destructors.
+ - Make operator bool() explicit.
+
+-------------------------------------------------------------------
Old:
----
cairomm-1.12.0.tar.gz
New:
----
cairomm-1.12.2.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ cairomm.spec ++++++
--- /var/tmp/diff_new_pack.s5ickn/_old 2016-11-25 12:27:34.000000000 +0100
+++ /var/tmp/diff_new_pack.s5ickn/_new 2016-11-25 12:27:34.000000000 +0100
@@ -17,7 +17,7 @@
Name: cairomm
-Version: 1.12.0
+Version: 1.12.2
Release: 0
Summary: C++ Interface for Cairo
License: LGPL-2.1+
++++++ cairomm-1.12.0.tar.gz -> cairomm-1.12.2.tar.gz ++++++
++++ 28170 lines of diff (skipped)
1
0
Hello community,
here is the log from the commit of package gnome-boxes for openSUSE:Factory checked in at 2016-11-25 12:27:10
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/gnome-boxes (Old)
and /work/SRC/openSUSE:Factory/.gnome-boxes.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "gnome-boxes"
Changes:
--------
--- /work/SRC/openSUSE:Factory/gnome-boxes/gnome-boxes.changes 2016-11-10 13:09:35.000000000 +0100
+++ /work/SRC/openSUSE:Factory/.gnome-boxes.new/gnome-boxes.changes 2016-11-25 12:27:11.000000000 +0100
@@ -1,0 +2,9 @@
+Tue Nov 22 10:33:06 UTC 2016 - zaitor(a)opensuse.org
+
+- Update to version 3.22.3:
+ + Fix thread leaks.
+ + Fix issue of primary window closing along with last secondary
+ window.
+ + Updated translations.
+
+-------------------------------------------------------------------
Old:
----
gnome-boxes-3.22.2.tar.xz
New:
----
gnome-boxes-3.22.3.tar.xz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ gnome-boxes.spec ++++++
--- /var/tmp/diff_new_pack.NOCQNT/_old 2016-11-25 12:27:12.000000000 +0100
+++ /var/tmp/diff_new_pack.NOCQNT/_new 2016-11-25 12:27:12.000000000 +0100
@@ -18,7 +18,7 @@
Name: gnome-boxes
-Version: 3.22.2
+Version: 3.22.3
Release: 0
Summary: A simple GNOME 3 application to access remote or virtual systems
License: LGPL-2.0+
++++++ gnome-boxes-3.22.2.tar.xz -> gnome-boxes-3.22.3.tar.xz ++++++
++++ 195246 lines of diff (skipped)
1
0