summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
author Patrick J Volkerding <volkerdi@slackware.com>2020-02-15 02:42:28 +0000
committer Eric Hameleers <alien@slackware.com>2020-02-15 08:59:47 +0100
commit7cde3ca9e7c5de666cc607e737f984a52f94e021 (patch)
tree9625b6c02d0dad1e8cc40f9713b2c1d4919d011a
parentbea4af160dc640549e07144b9a0dddf09b569861 (diff)
downloadcurrent-7cde3ca9e7c5de666cc607e737f984a52f94e021.tar.gz
current-7cde3ca9e7c5de666cc607e737f984a52f94e021.tar.xz
Sat Feb 15 02:42:28 UTC 202020200215024228
a/kernel-generic-5.4.20-x86_64-1.txz: Upgraded. a/kernel-huge-5.4.20-x86_64-1.txz: Upgraded. a/kernel-modules-5.4.20-x86_64-1.txz: Upgraded. a/shadow-4.8.1-x86_64-3.txz: Rebuilt. a/util-linux-2.35.1-x86_64-3.txz: Rebuilt. d/kernel-headers-5.4.20-x86-1.txz: Upgraded. k/kernel-source-5.4.20-noarch-1.txz: Upgraded. l/ConsoleKit2-1.2.1-x86_64-2.txz: Rebuilt. l/dconf-editor-3.34.4-x86_64-1.txz: Upgraded. l/libxkbcommon-0.10.0-x86_64-1.txz: Added. l/openal-soft-1.19.1-x86_64-1.txz: Added. l/qt5-5.13.2-x86_64-1.txz: Added. Thanks to alienBOB. n/openssh-8.2p1-x86_64-1.txz: Upgraded. Potentially incompatible changes: * ssh(1), sshd(8): the removal of "ssh-rsa" from the accepted CASignatureAlgorithms list. * ssh(1), sshd(8): this release removes diffie-hellman-group14-sha1 from the default key exchange proposal for both the client and server. * ssh-keygen(1): the command-line options related to the generation and screening of safe prime numbers used by the diffie-hellman-group-exchange-* key exchange algorithms have changed. Most options have been folded under the -O flag. * sshd(8): the sshd listener process title visible to ps(1) has changed to include information about the number of connections that are currently attempting authentication and the limits configured by MaxStartups. x/mesa-19.3.4-x86_64-2.txz: Rebuilt. Reverted "[PATCH] swr: Fix GCC 4.9 checks." which makes X fail to start with an illegal instruction on some hardware. isolinux/initrd.img: Rebuilt. kernels/*: Upgraded. testing/packages/PAM/ConsoleKit2-1.2.1-x86_64-2_pam.txz: Rebuilt. Rebuilt with --disable-libcgmanager to fix setting limits on PAM. Thanks to gattocarlo. testing/packages/PAM/openssh-8.2p1-x86_64-1_pam.txz: Upgraded. testing/packages/PAM/shadow-4.8.1-x86_64-3_pam.txz: Rebuilt. Moved some of the /etc/pam.d/ file to the util-linux package where they more properly belong. testing/packages/PAM/util-linux-2.35.1-x86_64-3_pam.txz: Rebuilt. Added some /etc/pam.d/ files previously in the shadow package. Changed /etc/pam.d/{chfn,chsh} and made chfn/chsh setuid root to fix them. Added /etc/pam.d/{runuser,runuser-l}. usb-and-pxe-installers/usbboot.img: Rebuilt.
-rw-r--r--ChangeLog.rss59
-rw-r--r--ChangeLog.txt47
-rw-r--r--FILELIST.TXT460
-rw-r--r--README.initrd14
-rw-r--r--isolinux/message.txt2
-rw-r--r--kernels/VERSIONS.TXT2
-rwxr-xr-xrecompress.sh2
-rw-r--r--slackware64/a/maketag6
-rw-r--r--slackware64/a/maketag.ez6
-rw-r--r--slackware64/k/maketag2
-rw-r--r--slackware64/k/maketag.ez2
-rw-r--r--slackware64/l/maketag9
-rw-r--r--slackware64/l/maketag.ez9
-rw-r--r--slackware64/l/tagfile3
-rw-r--r--source/a/shadow/doinst.sh27
-rw-r--r--source/a/shadow/pam.d/chfn4
-rw-r--r--source/a/shadow/pam.d/chsh4
-rwxr-xr-xsource/a/shadow/shadow.SlackBuild2
-rw-r--r--source/a/util-linux/doinst.sh6
-rw-r--r--source/a/util-linux/pam.d/chfn6
-rw-r--r--source/a/util-linux/pam.d/chsh6
-rw-r--r--source/a/util-linux/pam.d/login (renamed from source/a/shadow/pam.d/login)0
-rw-r--r--source/a/util-linux/pam.d/runuser5
-rw-r--r--source/a/util-linux/pam.d/runuser-l4
-rw-r--r--source/a/util-linux/pam.d/su (renamed from source/a/shadow/pam.d/su)0
-rw-r--r--source/a/util-linux/pam.d/su-l (renamed from source/a/shadow/pam.d/su-l)0
-rwxr-xr-xsource/a/util-linux/util-linux.SlackBuild21
-rw-r--r--source/k/kernel-configs/config-generic-5.4.20 (renamed from source/k/kernel-configs/config-generic-5.4.19)2
-rw-r--r--source/k/kernel-configs/config-generic-5.4.20.x64 (renamed from source/k/kernel-configs/config-generic-5.4.19.x64)2
-rw-r--r--source/k/kernel-configs/config-generic-smp-5.4.20-smp (renamed from source/k/kernel-configs/config-generic-smp-5.4.19-smp)2
-rw-r--r--source/k/kernel-configs/config-huge-5.4.20 (renamed from source/k/kernel-configs/config-huge-5.4.19)2
-rw-r--r--source/k/kernel-configs/config-huge-5.4.20.x64 (renamed from source/k/kernel-configs/config-huge-5.4.19.x64)2
-rw-r--r--source/k/kernel-configs/config-huge-smp-5.4.20-smp (renamed from source/k/kernel-configs/config-huge-smp-5.4.19-smp)2
-rwxr-xr-xsource/l/ConsoleKit2/ConsoleKit2.SlackBuild5
-rwxr-xr-xsource/l/libxkbcommon/libxkbcommon.SlackBuild130
-rw-r--r--source/l/libxkbcommon/slack-desc19
-rw-r--r--source/l/openal-soft/.deps1
-rw-r--r--source/l/openal-soft/.url2
-rw-r--r--source/l/openal-soft/doinst.sh13
-rwxr-xr-xsource/l/openal-soft/openal-soft.SlackBuild137
-rw-r--r--source/l/openal-soft/slack-desc19
-rw-r--r--source/l/qt5/.deps2
-rw-r--r--source/l/qt5/.url1
-rw-r--r--source/l/qt5/doinst.sh9
-rw-r--r--source/l/qt5/patches/platformplugin-install-path-fix.patch15
-rw-r--r--source/l/qt5/patches/qt5.alsa.patch11
-rw-r--r--source/l/qt5/patches/qt5.cr206850.patch43
-rw-r--r--source/l/qt5/patches/qt5.cve-2020-0569.patch29
-rw-r--r--source/l/qt5/patches/qt5.cve-2020-0570.patch48
-rw-r--r--source/l/qt5/patches/qt5.delayed_highlight.patch72
-rw-r--r--source/l/qt5/patches/qt5.glibc224.patch33
-rw-r--r--source/l/qt5/patches/qt5.mysql.h.diff11
-rw-r--r--source/l/qt5/patches/qt5.private-includes.patch53
-rw-r--r--source/l/qt5/patches/qt5.pulseaudio.diff12
-rw-r--r--source/l/qt5/patches/qt5.qlockfile-deadlock.patch116
-rw-r--r--source/l/qt5/patches/qt5.qt5uitoolsconfig.patch17
-rw-r--r--source/l/qt5/patches/qt5.qtbase_cmake_isystem_includes.patch14
-rw-r--r--source/l/qt5/patches/qt5.qtbug-49061.patch80
-rw-r--r--source/l/qt5/patches/qt5.qtbug-49452.patch58
-rw-r--r--source/l/qt5/patches/qt5.qtbug-51621.patch39
-rw-r--r--source/l/qt5/patches/qt5.qtbug-51648.patch88
-rw-r--r--source/l/qt5/patches/qt5.qtbug-51649.patch159
-rw-r--r--source/l/qt5/patches/qt5.qtbug-51676.patch126
-rw-r--r--source/l/qt5/patches/qt5.qtbug-51890.patch82
-rw-r--r--source/l/qt5/patches/qt5.qtbug-51927.patch185
-rw-r--r--source/l/qt5/patches/qt5.qtbug-53237.patch90
-rw-r--r--source/l/qt5/patches/qt5.qtbug-55583.patch41
-rw-r--r--source/l/qt5/patches/qt5.qtbug-60558.patch32
-rw-r--r--source/l/qt5/patches/qt5.qtbug-61140.patch101
-rw-r--r--source/l/qt5/patches/qt5.qtbug-66103.patch172
-rw-r--r--source/l/qt5/patches/qt5.qtbug-69310.patch37
-rw-r--r--source/l/qt5/patches/qt5.qtbug-76255.patch35
-rw-r--r--source/l/qt5/patches/qt5.qtbug-77037.patch89
-rw-r--r--source/l/qt5/patches/qt5.qtbug-77364.patch13
-rw-r--r--source/l/qt5/patches/qt5.webengine_gcc8.patch26
-rw-r--r--source/l/qt5/patches/qt5.whandle.patch24
-rw-r--r--source/l/qt5/patches/qtbase-qxcbwindow.patch97
-rw-r--r--source/l/qt5/patches/qtbase-zlib-compression.patch41
-rw-r--r--source/l/qt5/profile.d/qt5.csh17
-rw-r--r--source/l/qt5/profile.d/qt5.sh17
-rwxr-xr-xsource/l/qt5/qt5.SlackBuild341
-rw-r--r--source/l/qt5/slack-desc19
-rw-r--r--source/n/openssh/openssh.tcp_wrappers.diff31
-rw-r--r--source/n/openssh/openssh.url1
-rw-r--r--source/x/mesa/0001-swr-Fix-GCC-4.9-checks.patch58
-rwxr-xr-xsource/x/mesa/mesa.SlackBuild11
-rw-r--r--testing/packages/PAM/ConsoleKit2-1.2.1-x86_64-2_pam.txt (renamed from testing/packages/PAM/ConsoleKit2-1.2.1-x86_64-1_pam.txt)0
-rw-r--r--testing/packages/PAM/openssh-8.2p1-x86_64-1_pam.txt (renamed from testing/packages/PAM/openssh-8.1p1-x86_64-1_pam.txt)0
-rw-r--r--testing/packages/PAM/shadow-4.8.1-x86_64-3_pam.txt (renamed from testing/packages/PAM/shadow-4.8.1-x86_64-2_pam.txt)0
-rw-r--r--testing/packages/PAM/util-linux-2.35.1-x86_64-3_pam.txt (renamed from testing/packages/PAM/util-linux-2.35.1-x86_64-2_pam.txt)0
90 files changed, 3373 insertions, 269 deletions
diff --git a/ChangeLog.rss b/ChangeLog.rss
index bd204b005..c21b67416 100644
--- a/ChangeLog.rss
+++ b/ChangeLog.rss
@@ -11,10 +11,65 @@
<description>Tracking Slackware development in git.</description>
<language>en-us</language>
<id xmlns="http://www.w3.org/2005/Atom">urn:uuid:c964f45e-6732-11e8-bbe5-107b4450212f</id>
- <pubDate>Thu, 13 Feb 2020 20:17:58 GMT</pubDate>
- <lastBuildDate>Fri, 14 Feb 2020 07:59:43 GMT</lastBuildDate>
+ <pubDate>Sat, 15 Feb 2020 02:42:28 GMT</pubDate>
+ <lastBuildDate>Sat, 15 Feb 2020 07:59:41 GMT</lastBuildDate>
<generator>maintain_current_git.sh v 1.11</generator>
<item>
+ <title>Sat, 15 Feb 2020 02:42:28 GMT</title>
+ <pubDate>Sat, 15 Feb 2020 02:42:28 GMT</pubDate>
+ <link>https://git.slackware.nl/current/tag/?h=20200215024228</link>
+ <guid isPermaLink="false">20200215024228</guid>
+ <description>
+ <![CDATA[<pre>
+a/kernel-generic-5.4.20-x86_64-1.txz: Upgraded.
+a/kernel-huge-5.4.20-x86_64-1.txz: Upgraded.
+a/kernel-modules-5.4.20-x86_64-1.txz: Upgraded.
+a/shadow-4.8.1-x86_64-3.txz: Rebuilt.
+a/util-linux-2.35.1-x86_64-3.txz: Rebuilt.
+d/kernel-headers-5.4.20-x86-1.txz: Upgraded.
+k/kernel-source-5.4.20-noarch-1.txz: Upgraded.
+l/ConsoleKit2-1.2.1-x86_64-2.txz: Rebuilt.
+l/dconf-editor-3.34.4-x86_64-1.txz: Upgraded.
+l/libxkbcommon-0.10.0-x86_64-1.txz: Added.
+l/openal-soft-1.19.1-x86_64-1.txz: Added.
+l/qt5-5.13.2-x86_64-1.txz: Added.
+ Thanks to alienBOB.
+n/openssh-8.2p1-x86_64-1.txz: Upgraded.
+ Potentially incompatible changes:
+ * ssh(1), sshd(8): the removal of "ssh-rsa" from the accepted
+ CASignatureAlgorithms list.
+ * ssh(1), sshd(8): this release removes diffie-hellman-group14-sha1
+ from the default key exchange proposal for both the client and
+ server.
+ * ssh-keygen(1): the command-line options related to the generation
+ and screening of safe prime numbers used by the
+ diffie-hellman-group-exchange-* key exchange algorithms have
+ changed. Most options have been folded under the -O flag.
+ * sshd(8): the sshd listener process title visible to ps(1) has
+ changed to include information about the number of connections that
+ are currently attempting authentication and the limits configured
+ by MaxStartups.
+x/mesa-19.3.4-x86_64-2.txz: Rebuilt.
+ Reverted "[PATCH] swr: Fix GCC 4.9 checks." which makes X fail to start with
+ an illegal instruction on some hardware.
+isolinux/initrd.img: Rebuilt.
+kernels/*: Upgraded.
+testing/packages/PAM/ConsoleKit2-1.2.1-x86_64-2_pam.txz: Rebuilt.
+ Rebuilt with --disable-libcgmanager to fix setting limits on PAM.
+ Thanks to gattocarlo.
+testing/packages/PAM/openssh-8.2p1-x86_64-1_pam.txz: Upgraded.
+testing/packages/PAM/shadow-4.8.1-x86_64-3_pam.txz: Rebuilt.
+ Moved some of the /etc/pam.d/ file to the util-linux package where they
+ more properly belong.
+testing/packages/PAM/util-linux-2.35.1-x86_64-3_pam.txz: Rebuilt.
+ Added some /etc/pam.d/ files previously in the shadow package.
+ Changed /etc/pam.d/{chfn,chsh} and made chfn/chsh setuid root to fix them.
+ Added /etc/pam.d/{runuser,runuser-l}.
+usb-and-pxe-installers/usbboot.img: Rebuilt.
+ </pre>]]>
+ </description>
+ </item>
+ <item>
<title>Thu, 13 Feb 2020 20:17:58 GMT</title>
<pubDate>Thu, 13 Feb 2020 20:17:58 GMT</pubDate>
<link>https://git.slackware.nl/current/tag/?h=20200213201758</link>
diff --git a/ChangeLog.txt b/ChangeLog.txt
index b5c28fa68..22ffa83fb 100644
--- a/ChangeLog.txt
+++ b/ChangeLog.txt
@@ -1,3 +1,50 @@
+Sat Feb 15 02:42:28 UTC 2020
+a/kernel-generic-5.4.20-x86_64-1.txz: Upgraded.
+a/kernel-huge-5.4.20-x86_64-1.txz: Upgraded.
+a/kernel-modules-5.4.20-x86_64-1.txz: Upgraded.
+a/shadow-4.8.1-x86_64-3.txz: Rebuilt.
+a/util-linux-2.35.1-x86_64-3.txz: Rebuilt.
+d/kernel-headers-5.4.20-x86-1.txz: Upgraded.
+k/kernel-source-5.4.20-noarch-1.txz: Upgraded.
+l/ConsoleKit2-1.2.1-x86_64-2.txz: Rebuilt.
+l/dconf-editor-3.34.4-x86_64-1.txz: Upgraded.
+l/libxkbcommon-0.10.0-x86_64-1.txz: Added.
+l/openal-soft-1.19.1-x86_64-1.txz: Added.
+l/qt5-5.13.2-x86_64-1.txz: Added.
+ Thanks to alienBOB.
+n/openssh-8.2p1-x86_64-1.txz: Upgraded.
+ Potentially incompatible changes:
+ * ssh(1), sshd(8): the removal of "ssh-rsa" from the accepted
+ CASignatureAlgorithms list.
+ * ssh(1), sshd(8): this release removes diffie-hellman-group14-sha1
+ from the default key exchange proposal for both the client and
+ server.
+ * ssh-keygen(1): the command-line options related to the generation
+ and screening of safe prime numbers used by the
+ diffie-hellman-group-exchange-* key exchange algorithms have
+ changed. Most options have been folded under the -O flag.
+ * sshd(8): the sshd listener process title visible to ps(1) has
+ changed to include information about the number of connections that
+ are currently attempting authentication and the limits configured
+ by MaxStartups.
+x/mesa-19.3.4-x86_64-2.txz: Rebuilt.
+ Reverted "[PATCH] swr: Fix GCC 4.9 checks." which makes X fail to start with
+ an illegal instruction on some hardware.
+isolinux/initrd.img: Rebuilt.
+kernels/*: Upgraded.
+testing/packages/PAM/ConsoleKit2-1.2.1-x86_64-2_pam.txz: Rebuilt.
+ Rebuilt with --disable-libcgmanager to fix setting limits on PAM.
+ Thanks to gattocarlo.
+testing/packages/PAM/openssh-8.2p1-x86_64-1_pam.txz: Upgraded.
+testing/packages/PAM/shadow-4.8.1-x86_64-3_pam.txz: Rebuilt.
+ Moved some of the /etc/pam.d/ file to the util-linux package where they
+ more properly belong.
+testing/packages/PAM/util-linux-2.35.1-x86_64-3_pam.txz: Rebuilt.
+ Added some /etc/pam.d/ files previously in the shadow package.
+ Changed /etc/pam.d/{chfn,chsh} and made chfn/chsh setuid root to fix them.
+ Added /etc/pam.d/{runuser,runuser-l}.
+usb-and-pxe-installers/usbboot.img: Rebuilt.
++--------------------------+
Thu Feb 13 20:17:58 UTC 2020
a/sysvinit-scripts-2.1-noarch-29.txz: Rebuilt.
rc.S: make /var/run a bind mount to /run. Thanks to Robby Workman.
diff --git a/FILELIST.TXT b/FILELIST.TXT
index c52dd41bc..d9db3be47 100644
--- a/FILELIST.TXT
+++ b/FILELIST.TXT
@@ -1,35 +1,35 @@
-Thu Feb 13 20:29:30 UTC 2020
+Sat Feb 15 02:55:48 UTC 2020
Here is the file list for this directory. If you are using a
mirror site and find missing or extra files in the disk
subdirectories, please have the archive administrator refresh
the mirror.
-drwxr-xr-x 12 root root 4096 2020-02-13 20:17 .
+drwxr-xr-x 12 root root 4096 2020-02-15 02:42 .
-rw-r--r-- 1 root root 10064 2016-06-30 18:39 ./ANNOUNCE.14_2
-rw-r--r-- 1 root root 14975 2020-02-08 21:06 ./CHANGES_AND_HINTS.TXT
--rw-r--r-- 1 root root 950490 2020-02-12 22:10 ./CHECKSUMS.md5
--rw-r--r-- 1 root root 163 2020-02-12 22:10 ./CHECKSUMS.md5.asc
+-rw-r--r-- 1 root root 950549 2020-02-13 20:30 ./CHECKSUMS.md5
+-rw-r--r-- 1 root root 163 2020-02-13 20:30 ./CHECKSUMS.md5.asc
-rw-r--r-- 1 root root 17976 1994-06-10 02:28 ./COPYING
-rw-r--r-- 1 root root 35147 2007-06-30 04:21 ./COPYING3
-rw-r--r-- 1 root root 19573 2016-06-23 20:08 ./COPYRIGHT.TXT
-rw-r--r-- 1 root root 616 2006-10-02 04:37 ./CRYPTO_NOTICE.TXT
--rw-r--r-- 1 root root 803519 2020-02-13 20:17 ./ChangeLog.txt
+-rw-r--r-- 1 root root 805823 2020-02-15 02:42 ./ChangeLog.txt
drwxr-xr-x 3 root root 4096 2013-03-20 22:17 ./EFI
-drwxr-xr-x 2 root root 4096 2020-02-12 00:43 ./EFI/BOOT
+drwxr-xr-x 2 root root 4096 2020-02-15 01:59 ./EFI/BOOT
-rw-r--r-- 1 root root 1417216 2019-07-05 18:54 ./EFI/BOOT/bootx64.efi
-rw-r--r-- 1 root root 78 2013-09-23 20:35 ./EFI/BOOT/grub-embedded.cfg
-rw-r--r-- 1 root root 893 2018-04-17 21:17 ./EFI/BOOT/grub.cfg
--rw-r--r-- 2 root root 10025344 2020-02-11 20:10 ./EFI/BOOT/huge.s
--rw-r--r-- 2 root root 44173976 2020-02-12 00:41 ./EFI/BOOT/initrd.img
+-rw-r--r-- 2 root root 10029440 2020-02-15 01:13 ./EFI/BOOT/huge.s
+-rw-r--r-- 2 root root 44174660 2020-02-15 01:56 ./EFI/BOOT/initrd.img
-rwxr-xr-x 1 root root 2504 2019-07-05 18:54 ./EFI/BOOT/make-grub.sh
-rw-r--r-- 1 root root 10722 2013-09-21 19:02 ./EFI/BOOT/osdetect.cfg
-rw-r--r-- 1 root root 1273 2013-08-12 21:08 ./EFI/BOOT/tools.cfg
--rw-r--r-- 1 root root 1248537 2020-02-12 22:10 ./FILELIST.TXT
+-rw-r--r-- 1 root root 1248613 2020-02-13 20:29 ./FILELIST.TXT
-rw-r--r-- 1 root root 1572 2012-08-29 18:27 ./GPG-KEY
--rw-r--r-- 1 root root 736256 2020-02-13 20:27 ./PACKAGES.TXT
+-rw-r--r-- 1 root root 738056 2020-02-15 02:53 ./PACKAGES.TXT
-rw-r--r-- 1 root root 8564 2016-06-28 21:33 ./README.TXT
--rw-r--r-- 1 root root 3629 2020-02-11 23:40 ./README.initrd
+-rw-r--r-- 1 root root 3629 2020-02-15 01:26 ./README.initrd
-rw-r--r-- 1 root root 34412 2017-12-01 17:44 ./README_CRYPT.TXT
-rw-r--r-- 1 root root 8751 2016-06-28 21:44 ./README_LVM.TXT
-rw-r--r-- 1 root root 19658 2013-06-18 04:34 ./README_RAID.TXT
@@ -761,16 +761,16 @@ drwxr-xr-x 2 root root 4096 2019-10-18 18:28 ./extra/xv
-rw-r--r-- 1 root root 233 2018-04-13 18:00 ./extra/xv/xv-3.10a-x86_64-9.txt
-rw-r--r-- 1 root root 953308 2018-04-13 18:00 ./extra/xv/xv-3.10a-x86_64-9.txz
-rw-r--r-- 1 root root 163 2018-04-13 18:00 ./extra/xv/xv-3.10a-x86_64-9.txz.asc
-drwxr-xr-x 3 root root 4096 2020-02-12 00:42 ./isolinux
+drwxr-xr-x 3 root root 4096 2020-02-15 01:57 ./isolinux
-rw-r--r-- 1 root root 6183 2017-11-18 18:47 ./isolinux/README.TXT
-rw-r--r-- 1 root root 788 2007-03-17 19:50 ./isolinux/README_SPLIT.TXT
-rw-r--r-- 1 root root 1474560 2019-07-05 18:54 ./isolinux/efiboot.img
-rw-r--r-- 1 root root 574 2013-10-24 00:19 ./isolinux/f2.txt
--rw-r--r-- 2 root root 44173976 2020-02-12 00:41 ./isolinux/initrd.img
+-rw-r--r-- 2 root root 44174660 2020-02-15 01:56 ./isolinux/initrd.img
-rw-r--r-- 1 root root 50 2003-01-18 00:02 ./isolinux/iso.sort
-rw-r--r-- 1 root root 24576 2016-05-27 20:36 ./isolinux/isolinux.bin
-rw-r--r-- 1 root root 578 2013-03-27 03:29 ./isolinux/isolinux.cfg
--rw-r--r-- 1 root root 682 2020-02-11 23:40 ./isolinux/message.txt
+-rw-r--r-- 1 root root 682 2020-02-15 01:26 ./isolinux/message.txt
drwxr-xr-x 2 root root 4096 2003-03-17 07:31 ./isolinux/sbootmgr
-rwxr-xr-x 1 root root 36064 1995-05-12 01:23 ./isolinux/sbootmgr/RAWRITE.EXE
-rw-r--r-- 1 root root 2138 1997-12-01 01:21 ./isolinux/sbootmgr/RAWRITE12.DOC
@@ -781,12 +781,12 @@ lrwxrwxrwx 1 root root 11 2009-08-23 23:37 ./isolinux/sbootmgr/RAWRITE13
-rw-r--r-- 1 root root 1291 2003-03-17 07:31 ./isolinux/sbootmgr/README.TXT
-rw-r--r-- 1 root root 110592 2003-03-16 08:38 ./isolinux/sbootmgr/sbootmgr.dsk
-rw-r--r-- 1 root root 3024 2018-03-03 01:37 ./isolinux/setpkg
-drwxr-xr-x 5 root root 4096 2020-02-11 23:40 ./kernels
--rw-r--r-- 1 root root 36 2020-02-11 23:40 ./kernels/VERSIONS.TXT
-drwxr-xr-x 2 root root 4096 2020-02-11 20:10 ./kernels/huge.s
--rw-r--r-- 1 root root 1080807 2020-02-11 20:10 ./kernels/huge.s/System.map.gz
--rw-r--r-- 2 root root 10025344 2020-02-11 20:10 ./kernels/huge.s/bzImage
--rw-r--r-- 1 root root 199131 2020-02-11 17:59 ./kernels/huge.s/config
+drwxr-xr-x 5 root root 4096 2020-02-15 01:26 ./kernels
+-rw-r--r-- 1 root root 36 2020-02-15 01:26 ./kernels/VERSIONS.TXT
+drwxr-xr-x 2 root root 4096 2020-02-15 01:13 ./kernels/huge.s
+-rw-r--r-- 1 root root 1080783 2020-02-15 01:13 ./kernels/huge.s/System.map.gz
+-rw-r--r-- 2 root root 10029440 2020-02-15 01:13 ./kernels/huge.s/bzImage
+-rw-r--r-- 1 root root 199131 2020-02-14 23:08 ./kernels/huge.s/config
drwxr-xr-x 2 root root 4096 2011-03-25 03:15 ./kernels/memtest
-rw-r--r-- 1 root root 60 2011-03-24 00:19 ./kernels/memtest/README
-rw-r--r-- 1 root root 150024 2013-10-17 04:15 ./kernels/memtest/memtest
@@ -831,13 +831,13 @@ drwxr-xr-x 2 root root 4096 2012-09-20 18:06 ./patches
-rw-r--r-- 1 root root 575 2012-09-20 18:06 ./patches/FILE_LIST
-rw-r--r-- 1 root root 14 2012-09-20 18:06 ./patches/MANIFEST.bz2
-rw-r--r-- 1 root root 224 2012-09-20 18:06 ./patches/PACKAGES.TXT
-drwxr-xr-x 18 root root 4096 2020-02-13 20:27 ./slackware64
--rw-r--r-- 1 root root 291769 2020-02-13 20:27 ./slackware64/CHECKSUMS.md5
--rw-r--r-- 1 root root 163 2020-02-13 20:27 ./slackware64/CHECKSUMS.md5.asc
--rw-r--r-- 1 root root 363424 2020-02-13 20:25 ./slackware64/FILE_LIST
--rw-r--r-- 1 root root 3699242 2020-02-13 20:25 ./slackware64/MANIFEST.bz2
+drwxr-xr-x 18 root root 4096 2020-02-15 02:54 ./slackware64
+-rw-r--r-- 1 root root 292390 2020-02-15 02:54 ./slackware64/CHECKSUMS.md5
+-rw-r--r-- 1 root root 163 2020-02-15 02:54 ./slackware64/CHECKSUMS.md5.asc
+-rw-r--r-- 1 root root 364184 2020-02-15 02:51 ./slackware64/FILE_LIST
+-rw-r--r-- 1 root root 3785645 2020-02-15 02:52 ./slackware64/MANIFEST.bz2
lrwxrwxrwx 1 root root 15 2009-08-23 23:34 ./slackware64/PACKAGES.TXT -> ../PACKAGES.TXT
-drwxr-xr-x 2 root root 28672 2020-02-13 20:24 ./slackware64/a
+drwxr-xr-x 2 root root 28672 2020-02-15 02:51 ./slackware64/a
-rw-r--r-- 1 root root 327 2018-06-24 18:44 ./slackware64/a/aaa_base-14.2-x86_64-5.txt
-rw-r--r-- 1 root root 10820 2018-06-24 18:44 ./slackware64/a/aaa_base-14.2-x86_64-5.txz
-rw-r--r-- 1 root root 163 2018-06-24 18:44 ./slackware64/a/aaa_base-14.2-x86_64-5.txz.asc
@@ -990,15 +990,15 @@ drwxr-xr-x 2 root root 28672 2020-02-13 20:24 ./slackware64/a
-rw-r--r-- 1 root root 422 2020-02-08 19:55 ./slackware64/a/kernel-firmware-20200207_6f89735-noarch-1.txt
-rw-r--r-- 1 root root 97158700 2020-02-08 19:55 ./slackware64/a/kernel-firmware-20200207_6f89735-noarch-1.txz
-rw-r--r-- 1 root root 163 2020-02-08 19:55 ./slackware64/a/kernel-firmware-20200207_6f89735-noarch-1.txz.asc
--rw-r--r-- 1 root root 624 2020-02-11 20:11 ./slackware64/a/kernel-generic-5.4.19-x86_64-1.txt
--rw-r--r-- 1 root root 6912208 2020-02-11 20:11 ./slackware64/a/kernel-generic-5.4.19-x86_64-1.txz
--rw-r--r-- 1 root root 163 2020-02-11 20:11 ./slackware64/a/kernel-generic-5.4.19-x86_64-1.txz.asc
--rw-r--r-- 1 root root 636 2020-02-11 20:10 ./slackware64/a/kernel-huge-5.4.19-x86_64-1.txt
--rw-r--r-- 1 root root 10639480 2020-02-11 20:10 ./slackware64/a/kernel-huge-5.4.19-x86_64-1.txz
--rw-r--r-- 1 root root 163 2020-02-11 20:10 ./slackware64/a/kernel-huge-5.4.19-x86_64-1.txz.asc
--rw-r--r-- 1 root root 567 2020-02-11 20:20 ./slackware64/a/kernel-modules-5.4.19-x86_64-1.txt
--rw-r--r-- 1 root root 43074272 2020-02-11 20:20 ./slackware64/a/kernel-modules-5.4.19-x86_64-1.txz
--rw-r--r-- 1 root root 163 2020-02-11 20:20 ./slackware64/a/kernel-modules-5.4.19-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 624 2020-02-15 01:15 ./slackware64/a/kernel-generic-5.4.20-x86_64-1.txt
+-rw-r--r-- 1 root root 6913888 2020-02-15 01:15 ./slackware64/a/kernel-generic-5.4.20-x86_64-1.txz
+-rw-r--r-- 1 root root 163 2020-02-15 01:15 ./slackware64/a/kernel-generic-5.4.20-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 636 2020-02-15 01:13 ./slackware64/a/kernel-huge-5.4.20-x86_64-1.txt
+-rw-r--r-- 1 root root 10641460 2020-02-15 01:13 ./slackware64/a/kernel-huge-5.4.20-x86_64-1.txz
+-rw-r--r-- 1 root root 163 2020-02-15 01:13 ./slackware64/a/kernel-huge-5.4.20-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 567 2020-02-15 01:23 ./slackware64/a/kernel-modules-5.4.20-x86_64-1.txt
+-rw-r--r-- 1 root root 43071552 2020-02-15 01:23 ./slackware64/a/kernel-modules-5.4.20-x86_64-1.txz
+-rw-r--r-- 1 root root 163 2020-02-15 01:23 ./slackware64/a/kernel-modules-5.4.20-x86_64-1.txz.asc
-rw-r--r-- 1 root root 508 2019-12-30 18:09 ./slackware64/a/kmod-26-x86_64-3.txt
-rw-r--r-- 1 root root 108312 2019-12-30 18:09 ./slackware64/a/kmod-26-x86_64-3.txz
-rw-r--r-- 1 root root 163 2019-12-30 18:09 ./slackware64/a/kmod-26-x86_64-3.txz.asc
@@ -1035,8 +1035,8 @@ drwxr-xr-x 2 root root 28672 2020-02-13 20:24 ./slackware64/a
-rw-r--r-- 1 root root 405 2019-01-11 20:05 ./slackware64/a/lzlib-1.11-x86_64-1.txt
-rw-r--r-- 1 root root 56396 2019-01-11 20:05 ./slackware64/a/lzlib-1.11-x86_64-1.txz
-rw-r--r-- 1 root root 163 2019-01-11 20:05 ./slackware64/a/lzlib-1.11-x86_64-1.txz.asc
--rw-r--r-- 1 root root 9157 2020-02-11 23:40 ./slackware64/a/maketag
--rw-r--r-- 1 root root 9157 2020-02-11 23:40 ./slackware64/a/maketag.ez
+-rw-r--r-- 1 root root 9157 2020-02-15 01:26 ./slackware64/a/maketag
+-rw-r--r-- 1 root root 9157 2020-02-15 01:26 ./slackware64/a/maketag.ez
-rw-r--r-- 1 root root 591 2020-01-11 19:31 ./slackware64/a/mcelog-168-x86_64-1.txt
-rw-r--r-- 1 root root 342928 2020-01-11 19:31 ./slackware64/a/mcelog-168-x86_64-1.txz
-rw-r--r-- 1 root root 163 2020-01-11 19:31 ./slackware64/a/mcelog-168-x86_64-1.txz.asc
@@ -1109,9 +1109,9 @@ drwxr-xr-x 2 root root 28672 2020-02-13 20:24 ./slackware64/a
-rw-r--r-- 1 root root 406 2020-01-15 17:44 ./slackware64/a/sed-4.8-x86_64-1.txt
-rw-r--r-- 1 root root 249488 2020-01-15 17:44 ./slackware64/a/sed-4.8-x86_64-1.txz
-rw-r--r-- 1 root root 163 2020-01-15 17:44 ./slackware64/a/sed-4.8-x86_64-1.txz.asc
--rw-r--r-- 1 root root 422 2020-02-12 02:19 ./slackware64/a/shadow-4.8.1-x86_64-2.txt
--rw-r--r-- 1 root root 1503668 2020-02-12 02:19 ./slackware64/a/shadow-4.8.1-x86_64-2.txz
--rw-r--r-- 1 root root 163 2020-02-12 02:19 ./slackware64/a/shadow-4.8.1-x86_64-2.txz.asc
+-rw-r--r-- 1 root root 422 2020-02-15 01:50 ./slackware64/a/shadow-4.8.1-x86_64-3.txt
+-rw-r--r-- 1 root root 1503020 2020-02-15 01:50 ./slackware64/a/shadow-4.8.1-x86_64-3.txz
+-rw-r--r-- 1 root root 163 2020-02-15 01:50 ./slackware64/a/shadow-4.8.1-x86_64-3.txz.asc
-rw-r--r-- 1 root root 623 2018-04-13 13:12 ./slackware64/a/sharutils-4.15.2-x86_64-2.txt
-rw-r--r-- 1 root root 264912 2018-04-13 13:12 ./slackware64/a/sharutils-4.15.2-x86_64-2.txz
-rw-r--r-- 1 root root 163 2018-04-13 13:12 ./slackware64/a/sharutils-4.15.2-x86_64-2.txz.asc
@@ -1139,7 +1139,7 @@ drwxr-xr-x 2 root root 28672 2020-02-13 20:24 ./slackware64/a
-rw-r--r-- 1 root root 378 2020-02-13 18:42 ./slackware64/a/sysvinit-scripts-2.1-noarch-29.txt
-rw-r--r-- 1 root root 22380 2020-02-13 18:42 ./slackware64/a/sysvinit-scripts-2.1-noarch-29.txz
-rw-r--r-- 1 root root 163 2020-02-13 18:42 ./slackware64/a/sysvinit-scripts-2.1-noarch-29.txz.asc
--rw-r--r-- 1 root root 1418 2020-02-11 23:40 ./slackware64/a/tagfile
+-rw-r--r-- 1 root root 1418 2020-02-15 01:26 ./slackware64/a/tagfile
-rw-r--r-- 1 root root 395 2019-02-23 18:03 ./slackware64/a/tar-1.32-x86_64-1.txt
-rw-r--r-- 1 root root 844396 2019-02-23 18:03 ./slackware64/a/tar-1.32-x86_64-1.txz
-rw-r--r-- 1 root root 163 2019-02-23 18:03 ./slackware64/a/tar-1.32-x86_64-1.txz.asc
@@ -1173,9 +1173,9 @@ drwxr-xr-x 2 root root 28672 2020-02-13 20:24 ./slackware64/a
-rw-r--r-- 1 root root 350 2018-04-13 13:13 ./slackware64/a/utempter-1.1.6-x86_64-3.txt
-rw-r--r-- 1 root root 15656 2018-04-13 13:13 ./slackware64/a/utempter-1.1.6-x86_64-3.txz
-rw-r--r-- 1 root root 163 2018-04-13 13:13 ./slackware64/a/utempter-1.1.6-x86_64-3.txz.asc
--rw-r--r-- 1 root root 354 2020-02-13 19:25 ./slackware64/a/util-linux-2.35.1-x86_64-2.txt
--rw-r--r-- 1 root root 2613792 2020-02-13 19:25 ./slackware64/a/util-linux-2.35.1-x86_64-2.txz
--rw-r--r-- 1 root root 163 2020-02-13 19:25 ./slackware64/a/util-linux-2.35.1-x86_64-2.txz.asc
+-rw-r--r-- 1 root root 354 2020-02-14 21:48 ./slackware64/a/util-linux-2.35.1-x86_64-3.txt
+-rw-r--r-- 1 root root 2612796 2020-02-14 21:48 ./slackware64/a/util-linux-2.35.1-x86_64-3.txz
+-rw-r--r-- 1 root root 163 2020-02-14 21:48 ./slackware64/a/util-linux-2.35.1-x86_64-3.txz.asc
-rw-r--r-- 1 root root 579 2018-04-13 13:14 ./slackware64/a/which-2.21-x86_64-2.txt
-rw-r--r-- 1 root root 29812 2018-04-13 13:14 ./slackware64/a/which-2.21-x86_64-2.txz
-rw-r--r-- 1 root root 163 2018-04-13 13:14 ./slackware64/a/which-2.21-x86_64-2.txz.asc
@@ -1440,7 +1440,7 @@ drwxr-xr-x 2 root root 20480 2020-02-11 04:57 ./slackware64/ap
-rw-r--r-- 1 root root 506 2020-01-07 20:18 ./slackware64/ap/zsh-5.7.1-x86_64-2.txt
-rw-r--r-- 1 root root 3000108 2020-01-07 20:18 ./slackware64/ap/zsh-5.7.1-x86_64-2.txz
-rw-r--r-- 1 root root 163 2020-01-07 20:18 ./slackware64/ap/zsh-5.7.1-x86_64-2.txz.asc
-drwxr-xr-x 2 root root 20480 2020-02-13 20:25 ./slackware64/d
+drwxr-xr-x 2 root root 20480 2020-02-15 02:51 ./slackware64/d
-rw-r--r-- 1 root root 360 2019-12-30 00:49 ./slackware64/d/Cython-0.29.14-x86_64-2.txt
-rw-r--r-- 1 root root 3295652 2019-12-30 00:49 ./slackware64/d/Cython-0.29.14-x86_64-2.txz
-rw-r--r-- 1 root root 163 2019-12-30 00:49 ./slackware64/d/Cython-0.29.14-x86_64-2.txz.asc
@@ -1542,9 +1542,9 @@ drwxr-xr-x 2 root root 20480 2020-02-13 20:25 ./slackware64/d
-rw-r--r-- 1 root root 279 2018-04-13 13:53 ./slackware64/d/intltool-0.51.0-x86_64-4.txt
-rw-r--r-- 1 root root 48112 2018-04-13 13:53 ./slackware64/d/intltool-0.51.0-x86_64-4.txz
-rw-r--r-- 1 root root 163 2018-04-13 13:53 ./slackware64/d/intltool-0.51.0-x86_64-4.txz.asc
--rw-r--r-- 1 root root 332 2020-02-11 20:21 ./slackware64/d/kernel-headers-5.4.19-x86-1.txt
--rw-r--r-- 1 root root 964156 2020-02-11 20:21 ./slackware64/d/kernel-headers-5.4.19-x86-1.txz
--rw-r--r-- 1 root root 163 2020-02-11 20:21 ./slackware64/d/kernel-headers-5.4.19-x86-1.txz.asc
+-rw-r--r-- 1 root root 332 2020-02-15 01:24 ./slackware64/d/kernel-headers-5.4.20-x86-1.txt
+-rw-r--r-- 1 root root 964056 2020-02-15 01:24 ./slackware64/d/kernel-headers-5.4.20-x86-1.txz
+-rw-r--r-- 1 root root 163 2020-02-15 01:24 ./slackware64/d/kernel-headers-5.4.20-x86-1.txz.asc
-rw-r--r-- 1 root root 498 2019-09-25 19:06 ./slackware64/d/libtool-2.4.6-x86_64-12.txt
-rw-r--r-- 1 root root 428440 2019-09-25 19:06 ./slackware64/d/libtool-2.4.6-x86_64-12.txz
-rw-r--r-- 1 root root 163 2019-09-25 19:06 ./slackware64/d/libtool-2.4.6-x86_64-12.txz.asc
@@ -1662,15 +1662,15 @@ drwxr-xr-x 2 root root 4096 2016-04-01 21:41 ./slackware64/f
-rw-r--r-- 1 root root 1075 2018-03-01 07:54 ./slackware64/f/maketag
-rw-r--r-- 1 root root 1075 2018-03-01 07:54 ./slackware64/f/maketag.ez
-rw-r--r-- 1 root root 32 2018-03-01 07:54 ./slackware64/f/tagfile
-drwxr-xr-x 2 root root 4096 2020-02-12 05:16 ./slackware64/k
+drwxr-xr-x 2 root root 4096 2020-02-15 02:51 ./slackware64/k
-rwxr-xr-x 1 root root 2897 2009-06-24 22:06 ./slackware64/k/install-packages
-rw-r--r-- 1 root root 446 2006-09-18 10:41 ./slackware64/k/install.end
--rw-r--r-- 1 root root 317 2020-02-11 20:05 ./slackware64/k/kernel-source-5.4.19-noarch-1.txt
--rw-r--r-- 1 root root 109877148 2020-02-11 20:05 ./slackware64/k/kernel-source-5.4.19-noarch-1.txz
--rw-r--r-- 1 root root 163 2020-02-11 20:05 ./slackware64/k/kernel-source-5.4.19-noarch-1.txz.asc
--rw-r--r-- 1 root root 1170 2020-02-11 23:41 ./slackware64/k/maketag
--rw-r--r-- 1 root root 1170 2020-02-11 23:41 ./slackware64/k/maketag.ez
--rw-r--r-- 1 root root 18 2020-02-11 23:41 ./slackware64/k/tagfile
+-rw-r--r-- 1 root root 317 2020-02-15 01:09 ./slackware64/k/kernel-source-5.4.20-noarch-1.txt
+-rw-r--r-- 1 root root 109885512 2020-02-15 01:09 ./slackware64/k/kernel-source-5.4.20-noarch-1.txz
+-rw-r--r-- 1 root root 163 2020-02-15 01:09 ./slackware64/k/kernel-source-5.4.20-noarch-1.txz.asc
+-rw-r--r-- 1 root root 1170 2020-02-15 01:27 ./slackware64/k/maketag
+-rw-r--r-- 1 root root 1170 2020-02-15 01:27 ./slackware64/k/maketag.ez
+-rw-r--r-- 1 root root 18 2020-02-15 01:27 ./slackware64/k/tagfile
drwxr-xr-x 2 root root 45056 2020-02-07 22:39 ./slackware64/kde
-rw-r--r-- 1 root root 319 2018-06-02 22:05 ./slackware64/kde/amarok-2.9.0-x86_64-3.txt
-rw-r--r-- 1 root root 47003780 2018-06-02 22:05 ./slackware64/kde/amarok-2.9.0-x86_64-3.txz
@@ -2511,10 +2511,10 @@ drwxr-xr-x 2 root root 20480 2016-03-10 03:11 ./slackware64/kdei
-rw-r--r-- 1 root root 7544 2018-03-01 07:54 ./slackware64/kdei/maketag
-rw-r--r-- 1 root root 7544 2018-03-01 07:54 ./slackware64/kdei/maketag.ez
-rw-r--r-- 1 root root 1500 2018-03-01 07:54 ./slackware64/kdei/tagfile
-drwxr-xr-x 2 root root 69632 2020-02-13 20:24 ./slackware64/l
--rw-r--r-- 1 root root 338 2020-02-08 04:38 ./slackware64/l/ConsoleKit2-1.2.1-x86_64-1.txt
--rw-r--r-- 1 root root 190880 2020-02-08 04:38 ./slackware64/l/ConsoleKit2-1.2.1-x86_64-1.txz
--rw-r--r-- 1 root root 163 2020-02-08 04:38 ./slackware64/l/ConsoleKit2-1.2.1-x86_64-1.txz.asc
+drwxr-xr-x 2 root root 69632 2020-02-15 02:50 ./slackware64/l
+-rw-r--r-- 1 root root 338 2020-02-14 21:43 ./slackware64/l/ConsoleKit2-1.2.1-x86_64-2.txt
+-rw-r--r-- 1 root root 190928 2020-02-14 21:43 ./slackware64/l/ConsoleKit2-1.2.1-x86_64-2.txz
+-rw-r--r-- 1 root root 163 2020-02-14 21:43 ./slackware64/l/ConsoleKit2-1.2.1-x86_64-2.txz.asc
-rw-r--r-- 1 root root 329 2018-04-13 14:14 ./slackware64/l/GConf-3.2.6-x86_64-4.txt
-rw-r--r-- 1 root root 930172 2018-04-13 14:14 ./slackware64/l/GConf-3.2.6-x86_64-4.txz
-rw-r--r-- 1 root root 163 2018-04-13 14:14 ./slackware64/l/GConf-3.2.6-x86_64-4.txz.asc
@@ -2638,9 +2638,9 @@ drwxr-xr-x 2 root root 69632 2020-02-13 20:24 ./slackware64/l
-rw-r--r-- 1 root root 268 2019-12-10 17:59 ./slackware64/l/dconf-0.34.0-x86_64-2.txt
-rw-r--r-- 1 root root 107132 2019-12-10 17:59 ./slackware64/l/dconf-0.34.0-x86_64-2.txz
-rw-r--r-- 1 root root 163 2019-12-10 17:59 ./slackware64/l/dconf-0.34.0-x86_64-2.txz.asc
--rw-r--r-- 1 root root 386 2020-01-07 20:04 ./slackware64/l/dconf-editor-3.34.3-x86_64-1.txt
--rw-r--r-- 1 root root 562192 2020-01-07 20:04 ./slackware64/l/dconf-editor-3.34.3-x86_64-1.txz
--rw-r--r-- 1 root root 163 2020-01-07 20:04 ./slackware64/l/dconf-editor-3.34.3-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 386 2020-02-14 19:32 ./slackware64/l/dconf-editor-3.34.4-x86_64-1.txt
+-rw-r--r-- 1 root root 567736 2020-02-14 19:32 ./slackware64/l/dconf-editor-3.34.4-x86_64-1.txz
+-rw-r--r-- 1 root root 163 2020-02-14 19:32 ./slackware64/l/dconf-editor-3.34.4-x86_64-1.txz.asc
-rw-r--r-- 1 root root 649 2019-07-26 17:59 ./slackware64/l/desktop-file-utils-0.24-x86_64-1.txt
-rw-r--r-- 1 root root 54356 2019-07-26 17:59 ./slackware64/l/desktop-file-utils-0.24-x86_64-1.txz
-rw-r--r-- 1 root root 163 2019-07-26 17:59 ./slackware64/l/desktop-file-utils-0.24-x86_64-1.txz.asc
@@ -3165,6 +3165,9 @@ drwxr-xr-x 2 root root 69632 2020-02-13 20:24 ./slackware64/l
-rw-r--r-- 1 root root 233 2019-01-03 19:59 ./slackware64/l/libwpg-0.3.3-x86_64-1.txt
-rw-r--r-- 1 root root 141100 2019-01-03 19:59 ./slackware64/l/libwpg-0.3.3-x86_64-1.txz
-rw-r--r-- 1 root root 163 2019-01-03 19:59 ./slackware64/l/libwpg-0.3.3-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 586 2020-02-15 01:58 ./slackware64/l/libxkbcommon-0.10.0-x86_64-1.txt
+-rw-r--r-- 1 root root 252864 2020-02-15 01:58 ./slackware64/l/libxkbcommon-0.10.0-x86_64-1.txz
+-rw-r--r-- 1 root root 163 2020-02-15 01:58 ./slackware64/l/libxkbcommon-0.10.0-x86_64-1.txz.asc
-rw-r--r-- 1 root root 291 2018-04-13 15:07 ./slackware64/l/libxklavier-5.4-x86_64-2.txt
-rw-r--r-- 1 root root 75356 2018-04-13 15:07 ./slackware64/l/libxklavier-5.4-x86_64-2.txz
-rw-r--r-- 1 root root 163 2018-04-13 15:07 ./slackware64/l/libxklavier-5.4-x86_64-2.txz.asc
@@ -3189,8 +3192,8 @@ drwxr-xr-x 2 root root 69632 2020-02-13 20:24 ./slackware64/l
-rw-r--r-- 1 root root 272 2018-04-13 15:08 ./slackware64/l/lzo-2.10-x86_64-2.txt
-rw-r--r-- 1 root root 85468 2018-04-13 15:08 ./slackware64/l/lzo-2.10-x86_64-2.txz
-rw-r--r-- 1 root root 163 2018-04-13 15:08 ./slackware64/l/lzo-2.10-x86_64-2.txz.asc
--rw-r--r-- 1 root root 23460 2020-01-11 21:55 ./slackware64/l/maketag
--rw-r--r-- 1 root root 23460 2020-01-11 21:55 ./slackware64/l/maketag.ez
+-rw-r--r-- 1 root root 23667 2020-02-15 02:38 ./slackware64/l/maketag
+-rw-r--r-- 1 root root 23667 2020-02-15 02:38 ./slackware64/l/maketag.ez
-rw-r--r-- 1 root root 520 2018-09-12 19:31 ./slackware64/l/media-player-info-24-noarch-1.txt
-rw-r--r-- 1 root root 20680 2018-09-12 19:31 ./slackware64/l/media-player-info-24-noarch-1.txz
-rw-r--r-- 1 root root 163 2018-09-12 19:31 ./slackware64/l/media-player-info-24-noarch-1.txz.asc
@@ -3227,6 +3230,9 @@ drwxr-xr-x 2 root root 69632 2020-02-13 20:24 ./slackware64/l
-rw-r--r-- 1 root root 459 2019-12-01 18:26 ./slackware64/l/oniguruma-6.9.4-x86_64-1.txt
-rw-r--r-- 1 root root 216072 2019-12-01 18:26 ./slackware64/l/oniguruma-6.9.4-x86_64-1.txz
-rw-r--r-- 1 root root 163 2019-12-01 18:26 ./slackware64/l/oniguruma-6.9.4-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 463 2020-02-15 01:59 ./slackware64/l/openal-soft-1.19.1-x86_64-1.txt
+-rw-r--r-- 1 root root 672480 2020-02-15 01:59 ./slackware64/l/openal-soft-1.19.1-x86_64-1.txz
+-rw-r--r-- 1 root root 163 2020-02-15 01:59 ./slackware64/l/openal-soft-1.19.1-x86_64-1.txz.asc
-rw-r--r-- 1 root root 456 2018-04-17 08:07 ./slackware64/l/openexr-2.2.0-x86_64-3.txt
-rw-r--r-- 1 root root 3001648 2018-04-17 08:07 ./slackware64/l/openexr-2.2.0-x86_64-3.txz
-rw-r--r-- 1 root root 163 2018-04-17 08:07 ./slackware64/l/openexr-2.2.0-x86_64-3.txz.asc
@@ -3368,6 +3374,9 @@ drwxr-xr-x 2 root root 69632 2020-02-13 20:24 ./slackware64/l
-rw-r--r-- 1 root root 545 2018-04-17 08:10 ./slackware64/l/qt-gstreamer-1.2.0-x86_64-2.txt
-rw-r--r-- 1 root root 249828 2018-04-17 08:10 ./slackware64/l/qt-gstreamer-1.2.0-x86_64-2.txz
-rw-r--r-- 1 root root 163 2018-04-17 08:10 ./slackware64/l/qt-gstreamer-1.2.0-x86_64-2.txz.asc
+-rw-r--r-- 1 root root 275 2020-02-13 01:49 ./slackware64/l/qt5-5.13.2-x86_64-1.txt
+-rw-r--r-- 1 root root 88473400 2020-02-13 01:49 ./slackware64/l/qt5-5.13.2-x86_64-1.txz
+-rw-r--r-- 1 root root 163 2020-02-13 01:49 ./slackware64/l/qt5-5.13.2-x86_64-1.txz.asc
-rw-r--r-- 1 root root 487 2018-04-13 15:21 ./slackware64/l/qtscriptgenerator-0.2.0-x86_64-3.txt
-rw-r--r-- 1 root root 4415492 2018-04-13 15:21 ./slackware64/l/qtscriptgenerator-0.2.0-x86_64-3.txz
-rw-r--r-- 1 root root 163 2018-04-13 15:21 ./slackware64/l/qtscriptgenerator-0.2.0-x86_64-3.txz.asc
@@ -3437,7 +3446,7 @@ drwxr-xr-x 2 root root 69632 2020-02-13 20:24 ./slackware64/l
-rw-r--r-- 1 root root 356 2018-04-13 15:23 ./slackware64/l/t1lib-5.1.2-x86_64-4.txt
-rw-r--r-- 1 root root 515556 2018-04-13 15:23 ./slackware64/l/t1lib-5.1.2-x86_64-4.txz
-rw-r--r-- 1 root root 163 2018-04-13 15:23 ./slackware64/l/t1lib-5.1.2-x86_64-4.txz.asc
--rw-r--r-- 1 root root 4292 2020-01-11 21:54 ./slackware64/l/tagfile
+-rw-r--r-- 1 root root 4333 2020-02-15 02:38 ./slackware64/l/tagfile
-rw-r--r-- 1 root root 339 2018-04-17 09:07 ./slackware64/l/taglib-1.11.1-x86_64-3.txt
-rw-r--r-- 1 root root 355744 2018-04-17 09:07 ./slackware64/l/taglib-1.11.1-x86_64-3.txz
-rw-r--r-- 1 root root 163 2018-04-17 09:07 ./slackware64/l/taglib-1.11.1-x86_64-3.txz.asc
@@ -3483,7 +3492,7 @@ drwxr-xr-x 2 root root 69632 2020-02-13 20:24 ./slackware64/l
-rw-r--r-- 1 root root 463 2019-12-29 18:55 ./slackware64/l/zstd-1.4.4-x86_64-2.txt
-rw-r--r-- 1 root root 405812 2019-12-29 18:55 ./slackware64/l/zstd-1.4.4-x86_64-2.txz
-rw-r--r-- 1 root root 163 2019-12-29 18:55 ./slackware64/l/zstd-1.4.4-x86_64-2.txz.asc
-drwxr-xr-x 2 root root 36864 2020-02-13 20:25 ./slackware64/n
+drwxr-xr-x 2 root root 36864 2020-02-15 02:51 ./slackware64/n
-rw-r--r-- 1 root root 357 2020-02-12 17:54 ./slackware64/n/ModemManager-1.12.6-x86_64-1.txt
-rw-r--r-- 1 root root 1767108 2020-02-12 17:54 ./slackware64/n/ModemManager-1.12.6-x86_64-1.txz
-rw-r--r-- 1 root root 163 2020-02-12 17:54 ./slackware64/n/ModemManager-1.12.6-x86_64-1.txz.asc
@@ -3803,9 +3812,9 @@ drwxr-xr-x 2 root root 36864 2020-02-13 20:25 ./slackware64/n
-rw-r--r-- 1 root root 535 2019-09-18 18:31 ./slackware64/n/openobex-1.7.2-x86_64-3.txt
-rw-r--r-- 1 root root 172048 2019-09-18 18:31 ./slackware64/n/openobex-1.7.2-x86_64-3.txz
-rw-r--r-- 1 root root 163 2019-09-18 18:31 ./slackware64/n/openobex-1.7.2-x86_64-3.txz.asc
--rw-r--r-- 1 root root 672 2019-10-09 16:33 ./slackware64/n/openssh-8.1p1-x86_64-1.txt
--rw-r--r-- 1 root root 790960 2019-10-09 16:33 ./slackware64/n/openssh-8.1p1-x86_64-1.txz
--rw-r--r-- 1 root root 163 2019-10-09 16:33 ./slackware64/n/openssh-8.1p1-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 672 2020-02-15 01:32 ./slackware64/n/openssh-8.2p1-x86_64-1.txt
+-rw-r--r-- 1 root root 835956 2020-02-15 01:32 ./slackware64/n/openssh-8.2p1-x86_64-1.txz
+-rw-r--r-- 1 root root 163 2020-02-15 01:32 ./slackware64/n/openssh-8.2p1-x86_64-1.txz.asc
-rw-r--r-- 1 root root 559 2019-09-11 19:04 ./slackware64/n/openssl-1.1.1d-x86_64-1.txt
-rw-r--r-- 1 root root 3953588 2019-09-11 19:04 ./slackware64/n/openssl-1.1.1d-x86_64-1.txz
-rw-r--r-- 1 root root 163 2019-09-11 19:04 ./slackware64/n/openssl-1.1.1d-x86_64-1.txz.asc
@@ -3966,7 +3975,7 @@ drwxr-xr-x 2 root root 4096 2019-11-22 22:16 ./slackware64/tcl
-rw-r--r-- 1 root root 227 2019-11-22 21:51 ./slackware64/tcl/tk-8.6.10-x86_64-1.txt
-rw-r--r-- 1 root root 1780348 2019-11-22 21:51 ./slackware64/tcl/tk-8.6.10-x86_64-1.txz
-rw-r--r-- 1 root root 163 2019-11-22 21:51 ./slackware64/tcl/tk-8.6.10-x86_64-1.txz.asc
-drwxr-xr-x 2 root root 65536 2020-02-13 20:25 ./slackware64/x
+drwxr-xr-x 2 root root 65536 2020-02-15 02:51 ./slackware64/x
-rw-r--r-- 1 root root 257 2018-04-13 16:03 ./slackware64/x/anthy-9100h-x86_64-2.txt
-rw-r--r-- 1 root root 5074404 2018-04-13 16:03 ./slackware64/x/anthy-9100h-x86_64-2.txz
-rw-r--r-- 1 root root 163 2018-04-13 16:03 ./slackware64/x/anthy-9100h-x86_64-2.txz.asc
@@ -4328,9 +4337,9 @@ drwxr-xr-x 2 root root 65536 2020-02-13 20:25 ./slackware64/x
-rw-r--r-- 1 root root 163 2019-03-17 18:40 ./slackware64/x/makedepend-1.0.6-x86_64-1.txz.asc
-rw-r--r-- 1 root root 22454 2019-10-28 20:14 ./slackware64/x/maketag
-rw-r--r-- 1 root root 22454 2019-10-28 20:14 ./slackware64/x/maketag.ez
--rw-r--r-- 1 root root 362 2020-02-13 20:16 ./slackware64/x/mesa-19.3.4-x86_64-1.txt
--rw-r--r-- 1 root root 14888548 2020-02-13 20:16 ./slackware64/x/mesa-19.3.4-x86_64-1.txz
--rw-r--r-- 1 root root 163 2020-02-13 20:16 ./slackware64/x/mesa-19.3.4-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 362 2020-02-14 19:22 ./slackware64/x/mesa-19.3.4-x86_64-2.txt
+-rw-r--r-- 1 root root 14822012 2020-02-14 19:22 ./slackware64/x/mesa-19.3.4-x86_64-2.txz
+-rw-r--r-- 1 root root 163 2020-02-14 19:22 ./slackware64/x/mesa-19.3.4-x86_64-2.txz.asc
-rw-r--r-- 1 root root 425 2018-04-13 06:03 ./slackware64/x/mkcomposecache-1.2.1-x86_64-3.txt
-rw-r--r-- 1 root root 9448 2018-04-13 06:03 ./slackware64/x/mkcomposecache-1.2.1-x86_64-3.txz
-rw-r--r-- 1 root root 163 2018-04-13 06:03 ./slackware64/x/mkcomposecache-1.2.1-x86_64-3.txz.asc
@@ -5064,13 +5073,13 @@ drwxr-xr-x 2 root root 4096 2019-02-17 23:51 ./slackware64/y
-rw-r--r-- 1 root root 1147 2018-03-01 07:55 ./slackware64/y/maketag
-rw-r--r-- 1 root root 1147 2018-03-01 07:55 ./slackware64/y/maketag.ez
-rw-r--r-- 1 root root 14 2018-03-01 07:55 ./slackware64/y/tagfile
-drwxr-xr-x 19 root root 4096 2020-02-13 20:29 ./source
--rw-r--r-- 1 root root 480833 2020-02-13 20:29 ./source/CHECKSUMS.md5
--rw-r--r-- 1 root root 163 2020-02-13 20:29 ./source/CHECKSUMS.md5.asc
--rw-r--r-- 1 root root 677665 2020-02-13 20:28 ./source/FILE_LIST
--rw-r--r-- 1 root root 18346528 2020-02-13 20:28 ./source/MANIFEST.bz2
+drwxr-xr-x 19 root root 4096 2020-02-15 02:55 ./source
+-rw-r--r-- 1 root root 484666 2020-02-15 02:55 ./source/CHECKSUMS.md5
+-rw-r--r-- 1 root root 163 2020-02-15 02:55 ./source/CHECKSUMS.md5.asc
+-rw-r--r-- 1 root root 682896 2020-02-15 02:55 ./source/FILE_LIST
+-rw-r--r-- 1 root root 20130684 2020-02-15 02:55 ./source/MANIFEST.bz2
-rw-r--r-- 1 root root 1314 2006-10-02 04:40 ./source/README.TXT
-drwxr-xr-x 112 root root 4096 2020-02-06 23:25 ./source/a
+drwxr-xr-x 112 root root 4096 2020-02-14 22:31 ./source/a
-rw-r--r-- 1 root root 1034 2019-05-04 17:56 ./source/a/FTBFSlog
drwxr-xr-x 2 root root 4096 2018-06-24 18:43 ./source/a/aaa_base
-rw-r--r-- 1 root root 11115 2018-06-24 18:43 ./source/a/aaa_base/_aaa_base.tar.gz
@@ -5621,18 +5630,18 @@ drwxr-xr-x 2 root root 4096 2019-09-29 23:48 ./source/a/mdadm
-rw-r--r-- 1 root root 801 2018-10-26 13:00 ./source/a/mdadm/mdadm-4.1.tar.sign
-rw-r--r-- 1 root root 440756 2018-10-26 13:00 ./source/a/mdadm/mdadm-4.1.tar.xz
-rwxr-xr-x 1 root root 4067 2019-09-29 23:48 ./source/a/mdadm/mdadm.SlackBuild
--rw-r--r-- 1 root root 50 2018-11-08 00:31 ./source/a/mdadm/mdadm.url
--rw-r--r-- 1 root root 923 2018-02-27 06:13 ./source/a/mdadm/slack-desc
-drwxr-xr-x 2 root root 4096 2019-09-29 23:48 ./source/a/minicom
--rw-r--r-- 1 root root 503 2008-09-30 10:20 ./source/a/minicom/config.sub-x86_64.diff.gz
--rw-r--r-- 1 root root 290 2011-02-01 21:44 ./source/a/minicom/doinst.sh.gz
--rw-r--r-- 1 root root 30271 2009-11-23 17:02 ./source/a/minicom/lrzsz_0.12.21-5.diff.gz
--rw-r--r-- 1 root root 287790 1999-09-19 19:01 ./source/a/minicom/lrzsz_0.12.21.orig.tar.gz
--rw-r--r-- 1 root root 476912 2017-04-18 09:57 ./source/a/minicom/minicom-2.7.1.tar.xz
--rwxr-xr-x 1 root root 5318 2019-09-29 23:48 ./source/a/minicom/minicom.SlackBuild
--rw-r--r-- 1 root root 570 2004-09-04 21:17 ./source/a/minicom/minicom.users.gz
--rw-r--r-- 1 root root 829 2018-02-27 06:13 ./source/a/minicom/slack-desc
-drwxr-xr-x 2 root root 4096 2019-12-15 18:10 ./source/a/mkinitrd
+-rw-r--r-- 1 root root 50 2018-11-08 00:31 ./source/a/mdadm/mdadm.url
+-rw-r--r-- 1 root root 923 2018-02-27 06:13 ./source/a/mdadm/slack-desc
+drwxr-xr-x 2 root root 4096 2019-09-29 23:48 ./source/a/minicom
+-rw-r--r-- 1 root root 503 2008-09-30 10:20 ./source/a/minicom/config.sub-x86_64.diff.gz
+-rw-r--r-- 1 root root 290 2011-02-01 21:44 ./source/a/minicom/doinst.sh.gz
+-rw-r--r-- 1 root root 30271 2009-11-23 17:02 ./source/a/minicom/lrzsz_0.12.21-5.diff.gz
+-rw-r--r-- 1 root root 287790 1999-09-19 19:01 ./source/a/minicom/lrzsz_0.12.21.orig.tar.gz
+-rw-r--r-- 1 root root 476912 2017-04-18 09:57 ./source/a/minicom/minicom-2.7.1.tar.xz
+-rwxr-xr-x 1 root root 5318 2019-09-29 23:48 ./source/a/minicom/minicom.SlackBuild
+-rw-r--r-- 1 root root 570 2004-09-04 21:17 ./source/a/minicom/minicom.users.gz
+-rw-r--r-- 1 root root 829 2018-02-27 06:13 ./source/a/minicom/slack-desc
+drwxr-xr-x 2 root root 4096 2019-12-15 18:10 ./source/a/mkinitrd
-rw-r--r-- 1 root root 468 2019-12-15 18:10 ./source/a/mkinitrd/0001-Fix-LUKSTRIM-with-C-T-and-UUID.patch.gz
-rw-r--r-- 1 root root 3752 2012-06-12 13:27 ./source/a/mkinitrd/README.initrd
-rw-r--r-- 1 root root 2699 2012-07-06 04:14 ./source/a/mkinitrd/_initrd-tree.tar.gz
@@ -5820,29 +5829,24 @@ drwxr-xr-x 2 root root 4096 2020-01-15 17:43 ./source/a/sed
-rw-r--r-- 1 root root 833 2020-01-15 04:12 ./source/a/sed/sed-4.8.tar.xz.sig
-rwxr-xr-x 1 root root 3825 2019-09-29 23:48 ./source/a/sed/sed.SlackBuild
-rw-r--r-- 1 root root 857 2018-02-27 06:13 ./source/a/sed/slack-desc
-drwxr-xr-x 3 root root 4096 2020-02-06 23:39 ./source/a/shadow
+drwxr-xr-x 3 root root 4096 2020-02-15 01:47 ./source/a/shadow
-rw-r--r-- 1 root root 1071 2020-01-25 18:57 ./source/a/shadow/HOME_MODE.xml.gz
-rw-r--r-- 1 root root 16202 2019-04-02 20:18 ./source/a/shadow/adduser
--rw-r--r-- 1 root root 653 2020-02-06 23:39 ./source/a/shadow/doinst.sh.gz
+-rw-r--r-- 1 root root 664 2020-02-15 01:47 ./source/a/shadow/doinst.sh.gz
-rw-r--r-- 1 root root 3703 2020-01-26 18:31 ./source/a/shadow/login.defs.pam.gz
-rw-r--r-- 1 root root 4863 2020-01-25 19:34 ./source/a/shadow/login.defs.shadow.gz
-drwxr-xr-x 2 root root 4096 2020-01-27 19:30 ./source/a/shadow/pam.d
+drwxr-xr-x 2 root root 4096 2020-02-14 20:30 ./source/a/shadow/pam.d
-rw-r--r-- 1 root root 103 2020-01-14 05:51 ./source/a/shadow/pam.d/chage
--rw-r--r-- 1 root root 103 2020-01-14 05:51 ./source/a/shadow/pam.d/chfn
-rw-r--r-- 1 root root 103 2020-01-14 05:51 ./source/a/shadow/pam.d/chgpasswd
-rw-r--r-- 1 root root 103 2020-01-14 05:51 ./source/a/shadow/pam.d/chpasswd
--rw-r--r-- 1 root root 103 2020-01-14 05:51 ./source/a/shadow/pam.d/chsh
-rw-r--r-- 1 root root 103 2020-01-14 05:51 ./source/a/shadow/pam.d/groupadd
-rw-r--r-- 1 root root 103 2020-01-14 05:51 ./source/a/shadow/pam.d/groupdel
-rw-r--r-- 1 root root 103 2020-01-14 05:51 ./source/a/shadow/pam.d/groupmems
-rw-r--r-- 1 root root 103 2020-01-14 05:51 ./source/a/shadow/pam.d/groupmod
--rw-r--r-- 1 root root 323 2020-01-14 05:51 ./source/a/shadow/pam.d/login
-rw-r--r-- 1 root root 103 2020-01-14 05:51 ./source/a/shadow/pam.d/newusers
-rw-r--r-- 1 root root 155 2018-11-08 20:32 ./source/a/shadow/pam.d/other
-rw-r--r-- 1 root root 127 2020-01-14 05:51 ./source/a/shadow/pam.d/passwd
-rw-r--r-- 1 root root 231 2018-11-15 20:59 ./source/a/shadow/pam.d/postlogin
--rw-r--r-- 1 root root 427 2020-01-14 05:51 ./source/a/shadow/pam.d/su
--rw-r--r-- 1 root root 137 2018-11-12 18:10 ./source/a/shadow/pam.d/su-l
-rw-r--r-- 1 root root 2556 2020-02-10 22:54 ./source/a/shadow/pam.d/system-auth
-rw-r--r-- 1 root root 103 2020-01-14 05:51 ./source/a/shadow/pam.d/useradd
-rw-r--r-- 1 root root 103 2020-01-14 05:51 ./source/a/shadow/pam.d/userdel
@@ -5850,7 +5854,7 @@ drwxr-xr-x 2 root root 4096 2020-01-27 19:30 ./source/a/shadow/pam.d
-rw-r--r-- 1 root root 1611196 2020-01-24 21:43 ./source/a/shadow/shadow-4.8.1.tar.xz
-rw-r--r-- 1 root root 488 2020-01-24 21:45 ./source/a/shadow/shadow-4.8.1.tar.xz.asc
-rw-r--r-- 1 root root 734 2013-12-14 21:05 ./source/a/shadow/shadow.CVE-2005-4890.relax.diff.gz
--rwxr-xr-x 1 root root 7609 2020-02-12 02:15 ./source/a/shadow/shadow.SlackBuild
+-rwxr-xr-x 1 root root 7609 2020-02-14 20:19 ./source/a/shadow/shadow.SlackBuild
-rw-r--r-- 1 root root 522 2020-02-06 23:30 ./source/a/shadow/shadow.login.display.short.hostname.diff.gz
-rw-r--r-- 1 root root 39 2019-06-17 02:57 ./source/a/shadow/shadow.url
-rw-r--r-- 1 root root 876 2018-11-09 20:31 ./source/a/shadow/slack-desc
@@ -6009,14 +6013,22 @@ drwxr-xr-x 2 root root 4096 2019-09-29 23:48 ./source/a/utempter
-rw-r--r-- 1 root root 198 2010-11-04 14:14 ./source/a/utempter/libutempter-1.1.6.tar.bz2.asc
-rw-r--r-- 1 root root 806 2018-02-27 06:13 ./source/a/utempter/slack-desc
-rwxr-xr-x 1 root root 4159 2019-09-29 23:48 ./source/a/utempter/utempter.SlackBuild
-drwxr-xr-x 2 root root 4096 2020-02-13 19:22 ./source/a/util-linux
+drwxr-xr-x 3 root root 4096 2020-02-14 20:29 ./source/a/util-linux
-rw-r--r-- 1 root root 53236 2011-07-12 20:47 ./source/a/util-linux/adjtimex_1.29-2.2.diff.gz
-rw-r--r-- 1 root root 85551 2010-04-17 03:32 ./source/a/util-linux/adjtimex_1.29.orig.tar.gz
-rw-r--r-- 1 root root 434 2014-10-30 15:31 ./source/a/util-linux/bsdstrings-util-linux_overflow.diff.gz
-rw-r--r-- 1 root root 4513 2009-05-30 01:25 ./source/a/util-linux/bsdstrings.tar.gz
-rw-r--r-- 1 root root 3054 2015-02-10 20:38 ./source/a/util-linux/ddate.1
-rw-r--r-- 1 root root 10917 2015-02-10 20:38 ./source/a/util-linux/ddate.c
--rw-r--r-- 1 root root 363 2020-02-13 19:22 ./source/a/util-linux/doinst.sh.gz
+-rw-r--r-- 1 root root 427 2020-02-14 20:29 ./source/a/util-linux/doinst.sh.gz
+drwxr-xr-x 2 root root 4096 2020-02-14 20:25 ./source/a/util-linux/pam.d
+-rw-r--r-- 1 root root 192 2020-02-14 20:24 ./source/a/util-linux/pam.d/chfn
+-rw-r--r-- 1 root root 192 2020-02-14 20:24 ./source/a/util-linux/pam.d/chsh
+-rw-r--r-- 1 root root 323 2020-01-14 05:51 ./source/a/util-linux/pam.d/login
+-rw-r--r-- 1 root root 143 2020-02-14 20:21 ./source/a/util-linux/pam.d/runuser
+-rw-r--r-- 1 root root 105 2020-02-14 20:23 ./source/a/util-linux/pam.d/runuser-l
+-rw-r--r-- 1 root root 427 2020-01-14 05:51 ./source/a/util-linux/pam.d/su
+-rw-r--r-- 1 root root 137 2018-11-12 18:10 ./source/a/util-linux/pam.d/su-l
-rw-r--r-- 1 root root 483 2019-01-08 18:50 ./source/a/util-linux/rc.setterm
-rw-r--r-- 1 root root 1266 2009-05-30 01:25 ./source/a/util-linux/scsi_ioctl.h
-rw-r--r-- 1 root root 52437 2009-05-30 01:25 ./source/a/util-linux/setserial-2.17.tar.gz
@@ -6026,7 +6038,7 @@ drwxr-xr-x 2 root root 4096 2020-02-13 19:22 ./source/a/util-linux
-rw-r--r-- 1 root root 170 2020-02-13 19:17 ./source/a/util-linux/su.default
-rw-r--r-- 1 root root 833 2020-01-31 09:49 ./source/a/util-linux/util-linux-2.35.1.tar.sign
-rw-r--r-- 1 root root 5138360 2020-01-31 09:49 ./source/a/util-linux/util-linux-2.35.1.tar.xz
--rwxr-xr-x 1 root root 10983 2020-02-13 19:22 ./source/a/util-linux/util-linux.SlackBuild
+-rwxr-xr-x 1 root root 11563 2020-02-14 22:29 ./source/a/util-linux/util-linux.SlackBuild
-rw-r--r-- 1 root root 275 2019-01-02 21:53 ./source/a/util-linux/util-linux.do.not.list.ram.devices.diff.gz
-rw-r--r-- 1 root root 335 2014-07-03 08:34 ./source/a/util-linux/util-linux.fdisk-no-solaris.diff.gz
-rw-r--r-- 1 root root 10292 2009-05-30 01:25 ./source/a/util-linux/ziptool-1.4.0.tar.xz
@@ -7057,21 +7069,21 @@ drwxr-xr-x 2 root root 4096 2020-02-07 21:59 ./source/installer/sources/n
-rw-r--r-- 1 root root 1520160 2020-02-07 10:24 ./source/installer/sources/nano/nano-4.8.tar.xz
-rw-r--r-- 1 root root 833 2020-02-07 10:24 ./source/installer/sources/nano/nano-4.8.tar.xz.sig
-rw-r--r-- 1 root root 16894 2012-09-03 20:53 ./source/installer/usbimg2disk.sh
-drwxr-xr-x 4 root root 4096 2020-02-11 18:00 ./source/k
+drwxr-xr-x 4 root root 4096 2020-02-14 22:51 ./source/k
-rwxr-xr-x 1 root root 7861 2019-12-27 22:39 ./source/k/build-all-kernels.sh
-drwxr-xr-x 2 root root 4096 2020-02-11 17:59 ./source/k/kernel-configs
--rw-r--r-- 1 root root 197559 2020-02-11 17:57 ./source/k/kernel-configs/config-generic-5.4.19
--rw-r--r-- 1 root root 199131 2020-02-11 17:59 ./source/k/kernel-configs/config-generic-5.4.19.x64
--rw-r--r-- 1 root root 199236 2020-02-11 17:56 ./source/k/kernel-configs/config-generic-smp-5.4.19-smp
--rw-r--r-- 1 root root 197559 2020-02-11 17:57 ./source/k/kernel-configs/config-huge-5.4.19
--rw-r--r-- 1 root root 199131 2020-02-11 17:59 ./source/k/kernel-configs/config-huge-5.4.19.x64
--rw-r--r-- 1 root root 199236 2020-02-11 17:57 ./source/k/kernel-configs/config-huge-smp-5.4.19-smp
+drwxr-xr-x 2 root root 4096 2020-02-14 23:09 ./source/k/kernel-configs
+-rw-r--r-- 1 root root 197559 2020-02-14 22:56 ./source/k/kernel-configs/config-generic-5.4.20
+-rw-r--r-- 1 root root 199131 2020-02-14 23:09 ./source/k/kernel-configs/config-generic-5.4.20.x64
+-rw-r--r-- 1 root root 199236 2020-02-14 22:55 ./source/k/kernel-configs/config-generic-smp-5.4.20-smp
+-rw-r--r-- 1 root root 197559 2020-02-14 22:56 ./source/k/kernel-configs/config-huge-5.4.20
+-rw-r--r-- 1 root root 199131 2020-02-14 23:08 ./source/k/kernel-configs/config-huge-5.4.20.x64
+-rw-r--r-- 1 root root 199236 2020-02-14 22:55 ./source/k/kernel-configs/config-huge-smp-5.4.20-smp
-rwxr-xr-x 1 root root 7416 2019-11-15 20:12 ./source/k/kernel-generic.SlackBuild
-rwxr-xr-x 1 root root 3779 2019-09-29 23:48 ./source/k/kernel-headers.SlackBuild
-rwxr-xr-x 1 root root 5979 2019-11-15 20:12 ./source/k/kernel-modules.SlackBuild
-rwxr-xr-x 1 root root 7952 2019-11-15 18:40 ./source/k/kernel-source.SlackBuild
--rw-r--r-- 1 root root 989 2020-02-11 12:42 ./source/k/linux-5.4.19.tar.sign
--rw-r--r-- 1 root root 109480508 2020-02-11 12:42 ./source/k/linux-5.4.19.tar.xz
+-rw-r--r-- 1 root root 989 2020-02-14 21:57 ./source/k/linux-5.4.20.tar.sign
+-rw-r--r-- 1 root root 109485940 2020-02-14 21:57 ./source/k/linux-5.4.20.tar.xz
drwxr-xr-x 2 root root 4096 2018-03-05 18:29 ./source/k/slack-desc
-rw-r--r-- 1 root root 1138 2018-02-27 06:16 ./source/k/slack-desc/slack-desc.kernel-generic-smp.i686
-rw-r--r-- 1 root root 1041 2018-02-27 06:16 ./source/k/slack-desc/slack-desc.kernel-generic.i586
@@ -8243,10 +8255,10 @@ drwxr-xr-x 2 root root 4096 2018-02-27 06:35 ./source/kdei/kde-l10n/slack
-rw-r--r-- 1 root root 648 2018-02-27 06:35 ./source/kdei/kde-l10n/slack-desc/slack-desc.kde-l10n-wa
-rw-r--r-- 1 root root 698 2018-02-27 06:37 ./source/kdei/kde-l10n/slack-desc/slack-desc.kde-l10n-zh_CN
-rw-r--r-- 1 root root 687 2018-02-27 06:37 ./source/kdei/kde-l10n/slack-desc/slack-desc.kde-l10n-zh_TW
-drwxr-xr-x 321 root root 12288 2020-02-12 17:33 ./source/l
+drwxr-xr-x 324 root root 12288 2020-02-15 02:30 ./source/l
drwxr-xr-x 2 root root 4096 2019-09-30 05:45 ./source/l/ConsoleKit2
-rw-r--r-- 1 root root 711364 2018-11-17 13:31 ./source/l/ConsoleKit2/ConsoleKit2-1.2.1.tar.xz
--rwxr-xr-x 1 root root 5411 2020-02-07 03:21 ./source/l/ConsoleKit2/ConsoleKit2.SlackBuild
+-rwxr-xr-x 1 root root 5454 2020-02-14 20:58 ./source/l/ConsoleKit2/ConsoleKit2.SlackBuild
-rw-r--r-- 1 root root 353 2010-09-28 03:52 ./source/l/ConsoleKit2/doinst.sh.gz
-rw-r--r-- 1 root root 572 2018-11-29 20:31 ./source/l/ConsoleKit2/rc.consolekit
-rw-r--r-- 1 root root 796 2018-02-27 06:12 ./source/l/ConsoleKit2/slack-desc
@@ -8453,8 +8465,8 @@ drwxr-xr-x 2 root root 4096 2020-01-14 18:21 ./source/l/dbus-python
-rw-r--r-- 1 root root 50 2018-02-03 23:41 ./source/l/dbus-python/dbus-python.url
-rw-r--r-- 1 root root 699 2018-02-27 06:12 ./source/l/dbus-python/slack-desc
drwxr-xr-x 2 root root 4096 2019-09-29 23:48 ./source/l/dconf
-drwxr-xr-x 2 root root 4096 2020-01-07 20:03 ./source/l/dconf-editor
--rw-r--r-- 1 root root 562092 2020-01-06 17:38 ./source/l/dconf-editor/dconf-editor-3.34.3.tar.xz
+drwxr-xr-x 2 root root 4096 2020-02-14 19:31 ./source/l/dconf-editor
+-rw-r--r-- 1 root root 568388 2020-02-14 04:34 ./source/l/dconf-editor/dconf-editor-3.34.4.tar.xz
-rwxr-xr-x 1 root root 4223 2019-09-29 23:48 ./source/l/dconf-editor/dconf-editor.SlackBuild
-rw-r--r-- 1 root root 222 2018-06-10 04:12 ./source/l/dconf-editor/doinst.sh.gz
-rw-r--r-- 1 root root 878 2018-02-27 06:12 ./source/l/dconf-editor/slack-desc
@@ -9385,6 +9397,10 @@ drwxr-xr-x 2 root root 4096 2019-09-29 23:48 ./source/l/libwpg
-rw-r--r-- 1 root root 328664 2019-01-01 18:25 ./source/l/libwpg/libwpg-0.3.3.tar.xz
-rwxr--r-- 1 root root 3824 2019-09-29 23:48 ./source/l/libwpg/libwpg.SlackBuild
-rw-r--r-- 1 root root 719 2018-02-27 06:12 ./source/l/libwpg/slack-desc
+drwxr-xr-x 2 root root 4096 2020-02-12 22:56 ./source/l/libxkbcommon
+-rw-r--r-- 1 root root 383788 2020-01-18 21:15 ./source/l/libxkbcommon/libxkbcommon-0.10.0.tar.xz
+-rwxr-xr-x 1 root root 4061 2020-02-12 22:56 ./source/l/libxkbcommon/libxkbcommon.SlackBuild
+-rw-r--r-- 1 root root 1079 2020-02-12 22:48 ./source/l/libxkbcommon/slack-desc
drwxr-xr-x 2 root root 4096 2019-09-29 23:48 ./source/l/libxklavier
-rw-r--r-- 1 root root 318336 2013-04-23 23:05 ./source/l/libxklavier/libxklavier-5.4.tar.xz
-rwxr-xr-x 1 root root 3932 2019-09-29 23:48 ./source/l/libxklavier/libxklavier.SlackBuild
@@ -9537,6 +9553,13 @@ drwxr-xr-x 2 root root 4096 2019-12-01 18:25 ./source/l/oniguruma
-rw-r--r-- 1 root root 544871 2019-11-29 04:38 ./source/l/oniguruma/onig-6.9.4.tar.lz
-rwxr-xr-x 1 root root 4087 2019-12-01 18:26 ./source/l/oniguruma/oniguruma.SlackBuild
-rw-r--r-- 1 root root 916 2019-12-01 18:11 ./source/l/oniguruma/slack-desc
+drwxr-xr-x 2 root root 4096 2020-02-12 22:38 ./source/l/openal-soft
+-rw-r--r-- 1 root root 10 2019-02-10 13:40 ./source/l/openal-soft/.deps
+-rw-r--r-- 1 root root 72 2019-01-12 16:12 ./source/l/openal-soft/.url
+-rw-r--r-- 1 root root 275 2020-02-12 22:38 ./source/l/openal-soft/doinst.sh.gz
+-rw-r--r-- 1 root root 517780 2018-10-11 22:05 ./source/l/openal-soft/openal-soft-1.19.1.tar.lz
+-rwxr-xr-- 1 root root 4451 2020-02-12 22:37 ./source/l/openal-soft/openal-soft.SlackBuild
+-rw-r--r-- 1 root root 923 2020-02-12 22:30 ./source/l/openal-soft/slack-desc
drwxr-xr-x 2 root root 4096 2019-09-29 23:48 ./source/l/openexr
-rw-r--r-- 1 root root 12388072 2014-11-29 16:18 ./source/l/openexr/openexr-2.2.0.tar.xz
-rw-r--r-- 1 root root 949 2017-10-01 18:38 ./source/l/openexr/openexr.CVE-2017-9110-to-9116.patch.gz
@@ -9835,6 +9858,51 @@ drwxr-xr-x 2 root root 4096 2019-09-29 23:48 ./source/l/qt/qtwebkit
-rw-r--r-- 1 root root 76 2015-04-27 12:03 ./source/l/qt/qtwebkit/qtwebkit.url
-rw-r--r-- 1 root root 989 2018-02-27 06:12 ./source/l/qt/qtwebkit/slack-desc
-rw-r--r-- 1 root root 713 2018-11-29 19:17 ./source/l/qt/slack-desc
+drwxr-xr-x 4 root root 4096 2020-02-13 23:40 ./source/l/qt5
+-rw-r--r-- 1 root root 20 2019-09-09 18:46 ./source/l/qt5/.deps
+-rw-r--r-- 1 root root 95 2019-11-08 16:32 ./source/l/qt5/.url
+-rw-r--r-- 1 root root 319 2013-12-17 17:08 ./source/l/qt5/doinst.sh
+drwxr-xr-x 2 root root 4096 2020-01-18 11:52 ./source/l/qt5/patches
+-rw-r--r-- 1 root root 742 2014-05-19 12:21 ./source/l/qt5/patches/platformplugin-install-path-fix.patch
+-rw-r--r-- 1 root root 588 2016-04-11 10:45 ./source/l/qt5/patches/qt5.alsa.patch
+-rw-r--r-- 1 root root 1598 2018-02-23 20:42 ./source/l/qt5/patches/qt5.cr206850.patch
+-rw-r--r-- 1 root root 1104 2020-01-18 11:48 ./source/l/qt5/patches/qt5.cve-2020-0569.patch
+-rw-r--r-- 1 root root 2511 2020-01-18 11:53 ./source/l/qt5/patches/qt5.cve-2020-0570.patch
+-rw-r--r-- 1 root root 2713 2019-02-02 18:17 ./source/l/qt5/patches/qt5.delayed_highlight.patch
+-rw-r--r-- 1 root root 1123 2016-09-04 14:19 ./source/l/qt5/patches/qt5.glibc224.patch
+-rw-r--r-- 1 root root 417 2017-06-17 20:15 ./source/l/qt5/patches/qt5.mysql.h.diff
+-rw-r--r-- 1 root root 2026 2018-06-13 14:48 ./source/l/qt5/patches/qt5.private-includes.patch
+-rw-r--r-- 1 root root 468 2014-12-13 11:02 ./source/l/qt5/patches/qt5.pulseaudio.diff
+-rw-r--r-- 1 root root 4742 2015-05-26 15:18 ./source/l/qt5/patches/qt5.qlockfile-deadlock.patch
+-rw-r--r-- 1 root root 1237 2019-07-09 17:40 ./source/l/qt5/patches/qt5.qt5uitoolsconfig.patch
+-rw-r--r-- 1 root root 779 2019-05-07 11:30 ./source/l/qt5/patches/qt5.qtbase_cmake_isystem_includes.patch
+-rw-r--r-- 1 root root 3206 2017-01-19 13:58 ./source/l/qt5/patches/qt5.qtbug-49061.patch
+-rw-r--r-- 1 root root 2462 2016-08-16 13:45 ./source/l/qt5/patches/qt5.qtbug-49452.patch
+-rw-r--r-- 1 root root 1876 2016-04-14 08:48 ./source/l/qt5/patches/qt5.qtbug-51621.patch
+-rw-r--r-- 1 root root 3050 2016-04-11 07:57 ./source/l/qt5/patches/qt5.qtbug-51648.patch
+-rw-r--r-- 1 root root 7387 2016-04-11 07:58 ./source/l/qt5/patches/qt5.qtbug-51649.patch
+-rw-r--r-- 1 root root 5790 2016-04-11 07:59 ./source/l/qt5/patches/qt5.qtbug-51676.patch
+-rw-r--r-- 1 root root 3058 2016-04-11 19:06 ./source/l/qt5/patches/qt5.qtbug-51890.patch
+-rw-r--r-- 1 root root 7723 2016-12-04 13:38 ./source/l/qt5/patches/qt5.qtbug-51927.patch
+-rw-r--r-- 1 root root 3425 2016-08-16 13:47 ./source/l/qt5/patches/qt5.qtbug-53237.patch
+-rw-r--r-- 1 root root 1812 2017-01-19 13:59 ./source/l/qt5/patches/qt5.qtbug-55583.patch
+-rw-r--r-- 1 root root 1306 2017-06-17 18:56 ./source/l/qt5/patches/qt5.qtbug-60558.patch
+-rw-r--r-- 1 root root 3402 2017-06-17 18:55 ./source/l/qt5/patches/qt5.qtbug-61140.patch
+-rw-r--r-- 1 root root 6993 2018-02-06 15:35 ./source/l/qt5/patches/qt5.qtbug-66103.patch
+-rw-r--r-- 1 root root 1462 2019-02-02 18:18 ./source/l/qt5/patches/qt5.qtbug-69310.patch
+-rw-r--r-- 1 root root 1421 2019-09-10 18:32 ./source/l/qt5/patches/qt5.qtbug-76255.patch
+-rw-r--r-- 1 root root 4901 2019-10-16 13:40 ./source/l/qt5/patches/qt5.qtbug-77037.patch
+-rw-r--r-- 1 root root 584 2019-09-09 18:50 ./source/l/qt5/patches/qt5.qtbug-77364.patch
+-rw-r--r-- 1 root root 1369 2018-09-21 13:48 ./source/l/qt5/patches/qt5.webengine_gcc8.patch
+-rw-r--r-- 1 root root 1073 2016-02-07 21:56 ./source/l/qt5/patches/qt5.whandle.patch
+-rw-r--r-- 1 root root 4563 2019-06-30 14:05 ./source/l/qt5/patches/qtbase-qxcbwindow.patch
+-rw-r--r-- 1 root root 1611 2019-06-30 14:01 ./source/l/qt5/patches/qtbase-zlib-compression.patch
+drwxr-xr-x 2 root root 4096 2013-12-17 17:08 ./source/l/qt5/profile.d
+-rw-r--r-- 1 root root 550 2013-12-17 17:08 ./source/l/qt5/profile.d/qt5.csh
+-rw-r--r-- 1 root root 436 2013-12-17 17:08 ./source/l/qt5/profile.d/qt5.sh
+-rw-r--r-- 1 root root 500830260 2019-10-31 05:19 ./source/l/qt5/qt-everywhere-src-5.13.2.tar.xz
+-rwxr-xr-x 1 root root 11475 2020-02-12 23:28 ./source/l/qt5/qt5.SlackBuild
+-rw-r--r-- 1 root root 726 2020-02-12 23:09 ./source/l/qt5/slack-desc
drwxr-xr-x 2 root root 4096 2019-09-29 23:48 ./source/l/qtscriptgenerator
-rw-r--r-- 1 root root 564 2009-06-05 09:21 ./source/l/qtscriptgenerator/include-everything.patch.gz
-rw-r--r-- 1 root root 278728 2012-01-23 11:42 ./source/l/qtscriptgenerator/qtscriptgenerator-src-0.2.0.tar.xz
@@ -10794,12 +10862,13 @@ drwxr-xr-x 2 root root 4096 2019-09-29 23:48 ./source/n/openobex
-rw-r--r-- 1 root root 99552 2016-04-07 21:06 ./source/n/openobex/openobex-1.7.2-Source.tar.xz
-rwxr-xr-x 1 root root 4517 2019-09-29 23:48 ./source/n/openobex/openobex.SlackBuild
-rw-r--r-- 1 root root 991 2018-02-27 06:13 ./source/n/openobex/slack-desc
-drwxr-xr-x 2 root root 4096 2020-02-07 03:05 ./source/n/openssh
+drwxr-xr-x 2 root root 4096 2020-02-15 01:30 ./source/n/openssh
-rw-r--r-- 1 root root 593 2020-02-07 03:05 ./source/n/openssh/doinst.sh.gz
--rw-r--r-- 1 root root 1625894 2019-10-25 02:28 ./source/n/openssh/openssh-8.1p1.tar.gz
--rw-r--r-- 1 root root 683 2019-10-25 02:28 ./source/n/openssh/openssh-8.1p1.tar.gz.asc
+-rw-r--r-- 1 root root 1701197 2020-02-14 00:52 ./source/n/openssh/openssh-8.2p1.tar.gz
+-rw-r--r-- 1 root root 683 2020-02-14 00:52 ./source/n/openssh/openssh-8.2p1.tar.gz.asc
-rwxr-xr-x 1 root root 6281 2020-02-07 08:28 ./source/n/openssh/openssh.SlackBuild
--rw-r--r-- 1 root root 1663 2019-04-18 20:13 ./source/n/openssh/openssh.tcp_wrappers.diff.gz
+-rw-r--r-- 1 root root 1661 2020-02-15 01:30 ./source/n/openssh/openssh.tcp_wrappers.diff.gz
+-rw-r--r-- 1 root root 54 2020-02-14 19:40 ./source/n/openssh/openssh.url
-rw-r--r-- 1 root root 1814 2017-07-18 06:51 ./source/n/openssh/rc.sshd
-rw-r--r-- 1 root root 1127 2018-02-27 06:13 ./source/n/openssh/slack-desc
-rw-r--r-- 1 root root 318 2017-07-18 18:45 ./source/n/openssh/sshd.default
@@ -11313,14 +11382,15 @@ drwxr-xr-x 2 root root 4096 2019-09-29 23:48 ./source/x/m17n-lib
-rw-r--r-- 1 root root 749501 2018-02-08 14:02 ./source/x/m17n-lib/m17n-lib-1.8.0.tar.lz
-rwxr-xr-x 1 root root 5622 2019-09-29 23:48 ./source/x/m17n-lib/m17n-lib.SlackBuild
-rw-r--r-- 1 root root 870 2018-02-27 06:13 ./source/x/m17n-lib/slack-desc
-drwxr-xr-x 3 root root 4096 2020-02-13 19:45 ./source/x/mesa
+drwxr-xr-x 3 root root 4096 2020-02-14 19:17 ./source/x/mesa
+-rw-r--r-- 1 root root 1078 2020-02-14 19:17 ./source/x/mesa/0001-swr-Fix-GCC-4.9-checks.patch.gz
-rw-r--r-- 1 root root 352 2008-03-10 07:13 ./source/x/mesa/README.GIT
-rw-r--r-- 1 root root 388 2018-12-07 19:28 ./source/x/mesa/doinst.sh.gz
-rwxr-xr-x 1 root root 720 2015-12-11 03:09 ./source/x/mesa/get-mesa.sh
-rw-r--r-- 1 root root 11968288 2020-02-13 19:21 ./source/x/mesa/mesa-19.3.4.tar.xz
-rw-r--r-- 1 root root 119 2020-02-13 19:21 ./source/x/mesa/mesa-19.3.4.tar.xz.sig
-rw-r--r-- 1 root root 7206679 2018-02-23 08:54 ./source/x/mesa/mesa-demos-8.4.0.tar.lz
--rwxr-xr-x 1 root root 6445 2019-10-09 19:22 ./source/x/mesa/mesa.SlackBuild
+-rwxr-xr-x 1 root root 6603 2020-02-14 19:18 ./source/x/mesa/mesa.SlackBuild
-rw-r--r-- 1 root root 78 2010-10-01 04:23 ./source/x/mesa/mesa.url
drwxr-xr-x 2 root root 4096 2018-03-22 06:30 ./source/x/mesa/patches
-rw-r--r-- 1 root root 814 2019-09-25 19:15 ./source/x/mesa/slack-desc
@@ -12362,57 +12432,57 @@ drwxr-xr-x 2 root root 4096 2020-01-19 19:11 ./source/x/x11/src/driver
-rw-r--r-- 1 root root 290104 2016-11-17 04:29 ./source/x/x11/src/driver/xf86-input-keyboard-1.9.0.tar.xz
-rw-r--r-- 1 root root 308644 2019-08-12 02:38 ./source/x/x11/src/driver/xf86-input-libinput-0.29.0.tar.xz
-rw-r--r-- 1 root root 318204 2018-06-19 04:36 ./source/x/x11/src/driver/xf86-input-mouse-1.9.3.tar.xz
--rw-r--r-- 1 root root 229120 2011-06-28 00:52 ./source/x/x11/src/driver/xf86-input-penmount-1.5.0.tar.xz
--rw-r--r-- 1 root root 427964 2018-05-29 03:19 ./source/x/x11/src/driver/xf86-input-synaptics-1.9.1.tar.xz
--rw-r--r-- 1 root root 258876 2015-06-25 10:30 ./source/x/x11/src/driver/xf86-input-vmmouse-13.1.0.tar.xz
--rw-r--r-- 1 root root 239316 2015-04-20 01:44 ./source/x/x11/src/driver/xf86-input-void-1.4.1.tar.xz
--rw-r--r-- 1 root root 566360 2019-12-23 01:14 ./source/x/x11/src/driver/xf86-input-wacom-0.39.0.tar.xz
--rw-r--r-- 1 root root 374444 2019-10-11 15:22 ./source/x/x11/src/driver/xf86-video-amdgpu-19.1.0.tar.xz
--rw-r--r-- 1 root root 291852 2019-02-07 04:05 ./source/x/x11/src/driver/xf86-video-apm-1.3.0.tar.xz
--rw-r--r-- 1 root root 240392 2012-07-17 06:17 ./source/x/x11/src/driver/xf86-video-ark-0.7.5.tar.xz
--rw-r--r-- 1 root root 295864 2015-08-19 01:37 ./source/x/x11/src/driver/xf86-video-ast-1.1.5.tar.xz
--rw-r--r-- 1 root root 752532 2019-10-15 16:18 ./source/x/x11/src/driver/xf86-video-ati-19.1.0.tar.xz
--rw-r--r-- 1 root root 346004 2019-02-16 00:01 ./source/x/x11/src/driver/xf86-video-chips-1.4.0.tar.xz
--rw-r--r-- 1 root root 281712 2015-05-06 21:03 ./source/x/x11/src/driver/xf86-video-cirrus-1.5.3.tar.xz
--rw-r--r-- 1 root root 253412 2016-12-14 21:03 ./source/x/x11/src/driver/xf86-video-dummy-0.3.8.tar.xz
--rw-r--r-- 1 root root 583520 2019-09-20 16:18 ./source/x/x11/src/driver/xf86-video-geode-2.11.20.tar.xz
--rw-r--r-- 1 root root 341732 2017-01-17 22:35 ./source/x/x11/src/driver/xf86-video-glint-1.2.9.tar.xz
--rw-r--r-- 1 root root 288836 2018-12-07 23:49 ./source/x/x11/src/driver/xf86-video-i128-1.4.0.tar.xz
--rw-r--r-- 1 root root 281288 2018-12-06 23:27 ./source/x/x11/src/driver/xf86-video-i740-1.4.0.tar.xz
--rw-r--r-- 1 root root 962628 2020-01-19 19:09 ./source/x/x11/src/driver/xf86-video-intel-20191209_f66d3954.tar.xz
--rw-r--r-- 1 root root 481316 2018-05-18 16:52 ./source/x/x11/src/driver/xf86-video-mach64-6.9.6.tar.xz
--rw-r--r-- 1 root root 396464 2018-12-08 01:15 ./source/x/x11/src/driver/xf86-video-mga-2.0.0.tar.xz
--rw-r--r-- 1 root root 292376 2018-12-25 05:26 ./source/x/x11/src/driver/xf86-video-neomagic-1.3.0.tar.xz
--rw-r--r-- 1 root root 540684 2019-01-29 04:42 ./source/x/x11/src/driver/xf86-video-nouveau-1.0.16.tar.xz
--rw-r--r-- 1 root root 347036 2017-01-17 22:41 ./source/x/x11/src/driver/xf86-video-nv-2.1.21.tar.xz
--rw-r--r-- 1 root root 267328 2015-10-08 18:50 ./source/x/x11/src/driver/xf86-video-omap-0.4.4.tar.xz
--rw-r--r-- 1 root root 438104 2017-03-07 11:28 ./source/x/x11/src/driver/xf86-video-openchrome-0.6.0.tar.xz
--rw-r--r-- 1 root root 433076 2018-10-23 04:12 ./source/x/x11/src/driver/xf86-video-r128-6.12.0.tar.xz
--rw-r--r-- 1 root root 311808 2018-05-18 16:56 ./source/x/x11/src/driver/xf86-video-rendition-4.2.7.tar.xz
--rw-r--r-- 1 root root 288116 2019-07-25 18:19 ./source/x/x11/src/driver/xf86-video-s3-0.7.0.tar.xz
--rw-r--r-- 1 root root 310464 2019-02-08 02:53 ./source/x/x11/src/driver/xf86-video-s3virge-1.11.0.tar.xz
--rw-r--r-- 1 root root 94456 2019-03-17 18:30 ./source/x/x11/src/driver/xf86-video-savage-20190128_8579718.tar.xz
--rw-r--r-- 1 root root 339820 2017-01-17 22:43 ./source/x/x11/src/driver/xf86-video-siliconmotion-1.7.9.tar.xz
--rw-r--r-- 1 root root 611060 2019-12-03 19:22 ./source/x/x11/src/driver/xf86-video-sis-0.12.0.tar.xz
--rw-r--r-- 1 root root 333364 2017-01-17 22:46 ./source/x/x11/src/driver/xf86-video-sisusb-0.9.7.tar.xz
--rw-r--r-- 1 root root 302700 2019-02-16 00:26 ./source/x/x11/src/driver/xf86-video-tdfx-1.5.0.tar.xz
--rw-r--r-- 1 root root 265952 2012-07-17 06:31 ./source/x/x11/src/driver/xf86-video-tga-1.2.2.tar.xz
--rw-r--r-- 1 root root 310436 2017-01-17 22:47 ./source/x/x11/src/driver/xf86-video-trident-1.3.8.tar.xz
--rw-r--r-- 1 root root 277748 2012-07-17 06:33 ./source/x/x11/src/driver/xf86-video-tseng-1.2.5.tar.xz
--rw-r--r-- 1 root root 274284 2018-08-14 19:04 ./source/x/x11/src/driver/xf86-video-v4l-0.3.0.tar.xz
--rw-r--r-- 1 root root 296884 2017-11-29 08:54 ./source/x/x11/src/driver/xf86-video-vboxvideo-1.0.0.tar.xz
--rw-r--r-- 1 root root 268316 2018-02-15 19:34 ./source/x/x11/src/driver/xf86-video-vesa-2.4.0.tar.xz
--rw-r--r-- 1 root root 407744 2018-05-17 07:43 ./source/x/x11/src/driver/xf86-video-vmware-13.3.0.tar.xz
--rw-r--r-- 1 root root 252404 2012-07-17 06:34 ./source/x/x11/src/driver/xf86-video-voodoo-1.2.5.tar.xz
-drwxr-xr-x 2 root root 4096 2019-08-26 18:09 ./source/x/x11/src/font
--rw-r--r-- 1 root root 319344 2019-06-17 16:45 ./source/x/x11/src/font/encodings-1.0.5.tar.xz
--rw-r--r-- 1 root root 945192 2010-11-14 23:54 ./source/x/x11/src/font/font-adobe-100dpi-1.0.3.tar.xz
--rw-r--r-- 1 root root 796356 2010-11-14 23:54 ./source/x/x11/src/font/font-adobe-75dpi-1.0.3.tar.xz
--rw-r--r-- 1 root root 296996 2010-11-14 23:59 ./source/x/x11/src/font/font-adobe-utopia-100dpi-1.0.4.tar.xz
--rw-r--r-- 1 root root 247800 2010-11-15 00:02 ./source/x/x11/src/font/font-adobe-utopia-75dpi-1.0.4.tar.xz
--rw-r--r-- 1 root root 263520 2010-11-15 00:05 ./source/x/x11/src/font/font-adobe-utopia-type1-1.0.4.tar.xz
--rw-r--r-- 1 root root 92712 2010-10-05 06:16 ./source/x/x11/src/font/font-alias-1.0.3.tar.xz
--rw-r--r-- 1 root root 101872 2010-11-15 19:55 ./source/x/x11/src/font/font-arabic-misc-1.0.3.tar.xz
+-rw-r--r-- 1 root root 229120 2011-06-28 00:52 ./source/x/x11/src/driver/xf86-input-penmount-1.5.0.tar.xz
+-rw-r--r-- 1 root root 427964 2018-05-29 03:19 ./source/x/x11/src/driver/xf86-input-synaptics-1.9.1.tar.xz
+-rw-r--r-- 1 root root 258876 2015-06-25 10:30 ./source/x/x11/src/driver/xf86-input-vmmouse-13.1.0.tar.xz
+-rw-r--r-- 1 root root 239316 2015-04-20 01:44 ./source/x/x11/src/driver/xf86-input-void-1.4.1.tar.xz
+-rw-r--r-- 1 root root 566360 2019-12-23 01:14 ./source/x/x11/src/driver/xf86-input-wacom-0.39.0.tar.xz
+-rw-r--r-- 1 root root 374444 2019-10-11 15:22 ./source/x/x11/src/driver/xf86-video-amdgpu-19.1.0.tar.xz
+-rw-r--r-- 1 root root 291852 2019-02-07 04:05 ./source/x/x11/src/driver/xf86-video-apm-1.3.0.tar.xz
+-rw-r--r-- 1 root root 240392 2012-07-17 06:17 ./source/x/x11/src/driver/xf86-video-ark-0.7.5.tar.xz
+-rw-r--r-- 1 root root 295864 2015-08-19 01:37 ./source/x/x11/src/driver/xf86-video-ast-1.1.5.tar.xz
+-rw-r--r-- 1 root root 752532 2019-10-15 16:18 ./source/x/x11/src/driver/xf86-video-ati-19.1.0.tar.xz
+-rw-r--r-- 1 root root 346004 2019-02-16 00:01 ./source/x/x11/src/driver/xf86-video-chips-1.4.0.tar.xz
+-rw-r--r-- 1 root root 281712 2015-05-06 21:03 ./source/x/x11/src/driver/xf86-video-cirrus-1.5.3.tar.xz
+-rw-r--r-- 1 root root 253412 2016-12-14 21:03 ./source/x/x11/src/driver/xf86-video-dummy-0.3.8.tar.xz
+-rw-r--r-- 1 root root 583520 2019-09-20 16:18 ./source/x/x11/src/driver/xf86-video-geode-2.11.20.tar.xz
+-rw-r--r-- 1 root root 341732 2017-01-17 22:35 ./source/x/x11/src/driver/xf86-video-glint-1.2.9.tar.xz
+-rw-r--r-- 1 root root 288836 2018-12-07 23:49 ./source/x/x11/src/driver/xf86-video-i128-1.4.0.tar.xz
+-rw-r--r-- 1 root root 281288 2018-12-06 23:27 ./source/x/x11/src/driver/xf86-video-i740-1.4.0.tar.xz
+-rw-r--r-- 1 root root 962628 2020-01-19 19:09 ./source/x/x11/src/driver/xf86-video-intel-20191209_f66d3954.tar.xz
+-rw-r--r-- 1 root root 481316 2018-05-18 16:52 ./source/x/x11/src/driver/xf86-video-mach64-6.9.6.tar.xz
+-rw-r--r-- 1 root root 396464 2018-12-08 01:15 ./source/x/x11/src/driver/xf86-video-mga-2.0.0.tar.xz
+-rw-r--r-- 1 root root 292376 2018-12-25 05:26 ./source/x/x11/src/driver/xf86-video-neomagic-1.3.0.tar.xz
+-rw-r--r-- 1 root root 540684 2019-01-29 04:42 ./source/x/x11/src/driver/xf86-video-nouveau-1.0.16.tar.xz
+-rw-r--r-- 1 root root 347036 2017-01-17 22:41 ./source/x/x11/src/driver/xf86-video-nv-2.1.21.tar.xz
+-rw-r--r-- 1 root root 267328 2015-10-08 18:50 ./source/x/x11/src/driver/xf86-video-omap-0.4.4.tar.xz
+-rw-r--r-- 1 root root 438104 2017-03-07 11:28 ./source/x/x11/src/driver/xf86-video-openchrome-0.6.0.tar.xz
+-rw-r--r-- 1 root root 433076 2018-10-23 04:12 ./source/x/x11/src/driver/xf86-video-r128-6.12.0.tar.xz
+-rw-r--r-- 1 root root 311808 2018-05-18 16:56 ./source/x/x11/src/driver/xf86-video-rendition-4.2.7.tar.xz
+-rw-r--r-- 1 root root 288116 2019-07-25 18:19 ./source/x/x11/src/driver/xf86-video-s3-0.7.0.tar.xz
+-rw-r--r-- 1 root root 310464 2019-02-08 02:53 ./source/x/x11/src/driver/xf86-video-s3virge-1.11.0.tar.xz
+-rw-r--r-- 1 root root 94456 2019-03-17 18:30 ./source/x/x11/src/driver/xf86-video-savage-20190128_8579718.tar.xz
+-rw-r--r-- 1 root root 339820 2017-01-17 22:43 ./source/x/x11/src/driver/xf86-video-siliconmotion-1.7.9.tar.xz
+-rw-r--r-- 1 root root 611060 2019-12-03 19:22 ./source/x/x11/src/driver/xf86-video-sis-0.12.0.tar.xz
+-rw-r--r-- 1 root root 333364 2017-01-17 22:46 ./source/x/x11/src/driver/xf86-video-sisusb-0.9.7.tar.xz
+-rw-r--r-- 1 root root 302700 2019-02-16 00:26 ./source/x/x11/src/driver/xf86-video-tdfx-1.5.0.tar.xz
+-rw-r--r-- 1 root root 265952 2012-07-17 06:31 ./source/x/x11/src/driver/xf86-video-tga-1.2.2.tar.xz
+-rw-r--r-- 1 root root 310436 2017-01-17 22:47 ./source/x/x11/src/driver/xf86-video-trident-1.3.8.tar.xz
+-rw-r--r-- 1 root root 277748 2012-07-17 06:33 ./source/x/x11/src/driver/xf86-video-tseng-1.2.5.tar.xz
+-rw-r--r-- 1 root root 274284 2018-08-14 19:04 ./source/x/x11/src/driver/xf86-video-v4l-0.3.0.tar.xz
+-rw-r--r-- 1 root root 296884 2017-11-29 08:54 ./source/x/x11/src/driver/xf86-video-vboxvideo-1.0.0.tar.xz
+-rw-r--r-- 1 root root 268316 2018-02-15 19:34 ./source/x/x11/src/driver/xf86-video-vesa-2.4.0.tar.xz
+-rw-r--r-- 1 root root 407744 2018-05-17 07:43 ./source/x/x11/src/driver/xf86-video-vmware-13.3.0.tar.xz
+-rw-r--r-- 1 root root 252404 2012-07-17 06:34 ./source/x/x11/src/driver/xf86-video-voodoo-1.2.5.tar.xz
+drwxr-xr-x 2 root root 4096 2019-08-26 18:09 ./source/x/x11/src/font
+-rw-r--r-- 1 root root 319344 2019-06-17 16:45 ./source/x/x11/src/font/encodings-1.0.5.tar.xz
+-rw-r--r-- 1 root root 945192 2010-11-14 23:54 ./source/x/x11/src/font/font-adobe-100dpi-1.0.3.tar.xz
+-rw-r--r-- 1 root root 796356 2010-11-14 23:54 ./source/x/x11/src/font/font-adobe-75dpi-1.0.3.tar.xz
+-rw-r--r-- 1 root root 296996 2010-11-14 23:59 ./source/x/x11/src/font/font-adobe-utopia-100dpi-1.0.4.tar.xz
+-rw-r--r-- 1 root root 247800 2010-11-15 00:02 ./source/x/x11/src/font/font-adobe-utopia-75dpi-1.0.4.tar.xz
+-rw-r--r-- 1 root root 263520 2010-11-15 00:05 ./source/x/x11/src/font/font-adobe-utopia-type1-1.0.4.tar.xz
+-rw-r--r-- 1 root root 92712 2010-10-05 06:16 ./source/x/x11/src/font/font-alias-1.0.3.tar.xz
+-rw-r--r-- 1 root root 101872 2010-11-15 19:55 ./source/x/x11/src/font/font-arabic-misc-1.0.3.tar.xz
-rw-r--r-- 1 root root 589148 2010-11-15 20:01 ./source/x/x11/src/font/font-bh-100dpi-1.0.3.tar.xz
-rw-r--r-- 1 root root 489900 2010-11-15 20:06 ./source/x/x11/src/font/font-bh-75dpi-1.0.3.tar.xz
-rw-r--r-- 1 root root 216368 2010-11-15 20:11 ./source/x/x11/src/font/font-bh-lucidatypewriter-100dpi-1.0.3.tar.xz
@@ -13126,17 +13196,17 @@ drwxr-xr-x 2 root root 4096 2019-02-17 22:03 ./source/y/bsd-games/patches
-rw-r--r-- 1 root root 313 2019-02-17 22:07 ./source/y/bsd-games/patches/bsd-games.fortunepath.diff.gz
-rw-r--r-- 1 root root 1960 2006-09-09 00:47 ./source/y/bsd-games/patches/bsd-games.pom.diff.gz
-rw-r--r-- 1 root root 1065 2019-02-17 22:28 ./source/y/bsd-games/slack-desc
-drwxr-xr-x 4 root root 4096 2020-02-13 20:29 ./testing
--rw-r--r-- 1 root root 12191 2020-02-13 20:29 ./testing/CHECKSUMS.md5
--rw-r--r-- 1 root root 163 2020-02-13 20:29 ./testing/CHECKSUMS.md5.asc
--rw-r--r-- 1 root root 15081 2020-02-13 20:29 ./testing/FILE_LIST
--rw-r--r-- 1 root root 113150 2020-02-13 20:29 ./testing/MANIFEST.bz2
--rw-r--r-- 1 root root 21133 2020-02-13 20:29 ./testing/PACKAGES.TXT
+drwxr-xr-x 4 root root 4096 2020-02-15 02:55 ./testing
+-rw-r--r-- 1 root root 12191 2020-02-15 02:55 ./testing/CHECKSUMS.md5
+-rw-r--r-- 1 root root 163 2020-02-15 02:55 ./testing/CHECKSUMS.md5.asc
+-rw-r--r-- 1 root root 15081 2020-02-15 02:55 ./testing/FILE_LIST
+-rw-r--r-- 1 root root 113393 2020-02-15 02:55 ./testing/MANIFEST.bz2
+-rw-r--r-- 1 root root 21133 2020-02-15 02:55 ./testing/PACKAGES.TXT
drwxr-xr-x 3 root root 4096 2020-02-12 00:44 ./testing/packages
-drwxr-xr-x 2 root root 12288 2020-02-13 20:29 ./testing/packages/PAM
--rw-r--r-- 1 root root 338 2020-02-10 23:10 ./testing/packages/PAM/ConsoleKit2-1.2.1-x86_64-1_pam.txt
--rw-r--r-- 1 root root 194968 2020-02-10 23:10 ./testing/packages/PAM/ConsoleKit2-1.2.1-x86_64-1_pam.txz
--rw-r--r-- 1 root root 163 2020-02-10 23:10 ./testing/packages/PAM/ConsoleKit2-1.2.1-x86_64-1_pam.txz.asc
+drwxr-xr-x 2 root root 12288 2020-02-15 02:55 ./testing/packages/PAM
+-rw-r--r-- 1 root root 338 2020-02-14 20:58 ./testing/packages/PAM/ConsoleKit2-1.2.1-x86_64-2_pam.txt
+-rw-r--r-- 1 root root 193944 2020-02-14 20:58 ./testing/packages/PAM/ConsoleKit2-1.2.1-x86_64-2_pam.txz
+-rw-r--r-- 1 root root 163 2020-02-14 20:58 ./testing/packages/PAM/ConsoleKit2-1.2.1-x86_64-2_pam.txz.asc
-rw-r--r-- 1 root root 326 2020-02-10 23:33 ./testing/packages/PAM/at-3.2.1-x86_64-1_pam.txt
-rw-r--r-- 1 root root 42132 2020-02-10 23:33 ./testing/packages/PAM/at-3.2.1-x86_64-1_pam.txz
-rw-r--r-- 1 root root 163 2020-02-10 23:33 ./testing/packages/PAM/at-3.2.1-x86_64-1_pam.txz.asc
@@ -13182,9 +13252,9 @@ drwxr-xr-x 2 root root 12288 2020-02-13 20:29 ./testing/packages/PAM
-rw-r--r-- 1 root root 420 2020-02-10 23:33 ./testing/packages/PAM/netkit-rsh-0.17-x86_64-2_pam.txt
-rw-r--r-- 1 root root 43272 2020-02-10 23:33 ./testing/packages/PAM/netkit-rsh-0.17-x86_64-2_pam.txz
-rw-r--r-- 1 root root 163 2020-02-10 23:33 ./testing/packages/PAM/netkit-rsh-0.17-x86_64-2_pam.txz.asc
--rw-r--r-- 1 root root 672 2020-02-10 23:18 ./testing/packages/PAM/openssh-8.1p1-x86_64-1_pam.txt
--rw-r--r-- 1 root root 807744 2020-02-10 23:18 ./testing/packages/PAM/openssh-8.1p1-x86_64-1_pam.txz
--rw-r--r-- 1 root root 163 2020-02-10 23:18 ./testing/packages/PAM/openssh-8.1p1-x86_64-1_pam.txz.asc
+-rw-r--r-- 1 root root 672 2020-02-15 02:11 ./testing/packages/PAM/openssh-8.2p1-x86_64-1_pam.txt
+-rw-r--r-- 1 root root 854988 2020-02-15 02:11 ./testing/packages/PAM/openssh-8.2p1-x86_64-1_pam.txz
+-rw-r--r-- 1 root root 163 2020-02-15 02:11 ./testing/packages/PAM/openssh-8.2p1-x86_64-1_pam.txz.asc
-rw-r--r-- 1 root root 430 2020-02-10 23:19 ./testing/packages/PAM/openvpn-2.4.8-x86_64-1_pam.txt
-rw-r--r-- 1 root root 458820 2020-02-10 23:19 ./testing/packages/PAM/openvpn-2.4.8-x86_64-1_pam.txz
-rw-r--r-- 1 root root 163 2020-02-10 23:19 ./testing/packages/PAM/openvpn-2.4.8-x86_64-1_pam.txz.asc
@@ -13209,18 +13279,18 @@ drwxr-xr-x 2 root root 12288 2020-02-13 20:29 ./testing/packages/PAM
-rw-r--r-- 1 root root 653 2020-02-10 23:09 ./testing/packages/PAM/screen-4.8.0-x86_64-1_pam.txt
-rw-r--r-- 1 root root 548028 2020-02-10 23:09 ./testing/packages/PAM/screen-4.8.0-x86_64-1_pam.txz
-rw-r--r-- 1 root root 163 2020-02-10 23:09 ./testing/packages/PAM/screen-4.8.0-x86_64-1_pam.txz.asc
--rw-r--r-- 1 root root 422 2020-02-12 02:30 ./testing/packages/PAM/shadow-4.8.1-x86_64-2_pam.txt
--rw-r--r-- 1 root root 1373800 2020-02-12 02:30 ./testing/packages/PAM/shadow-4.8.1-x86_64-2_pam.txz
--rw-r--r-- 1 root root 163 2020-02-12 02:30 ./testing/packages/PAM/shadow-4.8.1-x86_64-2_pam.txz.asc
+-rw-r--r-- 1 root root 422 2020-02-15 02:09 ./testing/packages/PAM/shadow-4.8.1-x86_64-3_pam.txt
+-rw-r--r-- 1 root root 1373480 2020-02-15 02:09 ./testing/packages/PAM/shadow-4.8.1-x86_64-3_pam.txz
+-rw-r--r-- 1 root root 163 2020-02-15 02:09 ./testing/packages/PAM/shadow-4.8.1-x86_64-3_pam.txz.asc
-rw-r--r-- 1 root root 442 2020-02-10 23:10 ./testing/packages/PAM/sudo-1.8.31-x86_64-1_pam.txt
-rw-r--r-- 1 root root 774928 2020-02-10 23:10 ./testing/packages/PAM/sudo-1.8.31-x86_64-1_pam.txz
-rw-r--r-- 1 root root 163 2020-02-10 23:10 ./testing/packages/PAM/sudo-1.8.31-x86_64-1_pam.txz.asc
-rw-r--r-- 1 root root 736 2020-02-10 23:12 ./testing/packages/PAM/system-config-printer-1.5.12-x86_64-2_pam.txt
-rw-r--r-- 1 root root 972328 2020-02-10 23:12 ./testing/packages/PAM/system-config-printer-1.5.12-x86_64-2_pam.txz
-rw-r--r-- 1 root root 163 2020-02-10 23:12 ./testing/packages/PAM/system-config-printer-1.5.12-x86_64-2_pam.txz.asc
--rw-r--r-- 1 root root 354 2020-02-13 19:37 ./testing/packages/PAM/util-linux-2.35.1-x86_64-2_pam.txt
--rw-r--r-- 1 root root 2652656 2020-02-13 19:37 ./testing/packages/PAM/util-linux-2.35.1-x86_64-2_pam.txz
--rw-r--r-- 1 root root 163 2020-02-13 19:37 ./testing/packages/PAM/util-linux-2.35.1-x86_64-2_pam.txz.asc
+-rw-r--r-- 1 root root 354 2020-02-14 22:31 ./testing/packages/PAM/util-linux-2.35.1-x86_64-3_pam.txt
+-rw-r--r-- 1 root root 2652372 2020-02-14 22:31 ./testing/packages/PAM/util-linux-2.35.1-x86_64-3_pam.txz
+-rw-r--r-- 1 root root 163 2020-02-14 22:31 ./testing/packages/PAM/util-linux-2.35.1-x86_64-3_pam.txz.asc
-rw-r--r-- 1 root root 511 2020-02-10 23:31 ./testing/packages/PAM/vsftpd-3.0.3-x86_64-5_pam.txt
-rw-r--r-- 1 root root 127196 2020-02-10 23:31 ./testing/packages/PAM/vsftpd-3.0.3-x86_64-5_pam.txz
-rw-r--r-- 1 root root 163 2020-02-10 23:31 ./testing/packages/PAM/vsftpd-3.0.3-x86_64-5_pam.txz.asc
@@ -13281,9 +13351,9 @@ drwxr-xr-x 2 root root 4096 2020-01-02 20:41 ./testing/source/PAM/a/pam/pa
-rw-r--r-- 1 root root 1235 2020-02-10 20:29 ./testing/source/PAM/buildlist
-rwxr-xr-x 1 root root 14025 2018-11-20 03:08 ./testing/source/PAM/make_world.sh
lrwxrwxrwx 1 root root 15 2020-02-05 04:56 ./testing/source/PAM/source -> ../../../source
-drwxr-xr-x 2 root root 4096 2020-02-12 00:42 ./usb-and-pxe-installers
+drwxr-xr-x 2 root root 4096 2020-02-15 01:57 ./usb-and-pxe-installers
-rw-r--r-- 1 root root 31203 2011-03-21 21:21 ./usb-and-pxe-installers/README_PXE.TXT
-rw-r--r-- 1 root root 9197 2013-09-25 04:33 ./usb-and-pxe-installers/README_USB.TXT
-rw-r--r-- 1 root root 574 2013-03-27 04:59 ./usb-and-pxe-installers/pxelinux.cfg_default
--rw-r--r-- 1 root root 55264256 2020-02-12 00:41 ./usb-and-pxe-installers/usbboot.img
+-rw-r--r-- 1 root root 55264256 2020-02-15 01:56 ./usb-and-pxe-installers/usbboot.img
-rw-r--r-- 1 root root 16042 2019-08-05 07:08 ./usb-and-pxe-installers/usbimg2disk.sh
diff --git a/README.initrd b/README.initrd
index 0abfee938..efb1ed611 100644
--- a/README.initrd
+++ b/README.initrd
@@ -1,7 +1,7 @@
Slackware initrd mini HOWTO
by Patrick Volkerding, volkerdi@slackware.com
-Tue Feb 11 23:40:44 UTC 2020
+Sat Feb 15 01:26:51 UTC 2020
This document describes how to create and install an initrd, which may be
required to use the 4.x kernel. Also see "man mkinitrd".
@@ -33,15 +33,15 @@ flexible to ship a generic kernel and a set of kernel modules for it.
The easiest way to make the initrd is to use the mkinitrd script included
in Slackware's mkinitrd package. We'll walk through the process of
-upgrading to the generic 5.4.19 Linux kernel using the packages
+upgrading to the generic 5.4.20 Linux kernel using the packages
found in Slackware's slackware/a/ directory.
First, make sure the kernel, kernel modules, and mkinitrd package are
installed (the current version numbers might be a little different, so
this is just an example):
- installpkg kernel-generic-5.4.19-x86_64-1.txz
- installpkg kernel-modules-5.4.19-x86_64-1.txz
+ installpkg kernel-generic-5.4.20-x86_64-1.txz
+ installpkg kernel-modules-5.4.20-x86_64-1.txz
installpkg mkinitrd-1.4.11-x86_64-14.txz
Change into the /boot directory:
@@ -52,7 +52,7 @@ Now you'll want to run "mkinitrd". I'm using ext4 for my root filesystem,
and since the disk controller requires no special support the ext4 module
will be the only one I need to load:
- mkinitrd -c -k 5.4.19 -m ext4
+ mkinitrd -c -k 5.4.20 -m ext4
This should do two things. First, it will create a directory
/boot/initrd-tree containing the initrd's filesystem. Then it will
@@ -61,10 +61,10 @@ you could make some additional changes in /boot/initrd-tree/ and
then run mkinitrd again without options to rebuild the image. That's
optional, though, and only advanced users will need to think about that.
-Here's another example: Build an initrd image using Linux 5.4.19
+Here's another example: Build an initrd image using Linux 5.4.20
kernel modules for a system with an ext4 root partition on /dev/sdb3:
- mkinitrd -c -k 5.4.19 -m ext4 -f ext4 -r /dev/sdb3
+ mkinitrd -c -k 5.4.20 -m ext4 -f ext4 -r /dev/sdb3
4. Now that I've built an initrd, how do I use it?
diff --git a/isolinux/message.txt b/isolinux/message.txt
index e619fe2f1..bd9332a8e 100644
--- a/isolinux/message.txt
+++ b/isolinux/message.txt
@@ -1,5 +1,5 @@
-Welcome to 09Slackware6407 version 15.0 (Linux kernel 5.4.19)!
+Welcome to 09Slackware6407 version 15.0 (Linux kernel 5.4.20)!
If you need to pass extra parameters to the kernel, enter them at the prompt
below after the name of the kernel to boot (e.g., huge.s).
diff --git a/kernels/VERSIONS.TXT b/kernels/VERSIONS.TXT
index 57f3e86d3..17f079dfc 100644
--- a/kernels/VERSIONS.TXT
+++ b/kernels/VERSIONS.TXT
@@ -1,3 +1,3 @@
-These kernels are version 5.4.19.
+These kernels are version 5.4.20.
diff --git a/recompress.sh b/recompress.sh
index f4e11329b..a7f8a060d 100755
--- a/recompress.sh
+++ b/recompress.sh
@@ -1038,6 +1038,7 @@ gzip ./source/l/gamin/no_g_const_return.patch
gzip ./source/l/gst-plugins-base0/gst-plugins-base-0.10.36-gcc_4_9_0_i686-1.patch
gzip ./source/l/pygtk/pygtk-fix-pango-object-leaks.patch
gzip ./source/l/gnome-keyring/doinst.sh
+gzip ./source/l/openal-soft/doinst.sh
gzip ./source/l/libtheora/libtheora-1.1.1.latex.patch
gzip ./source/l/libtheora/libtheora-1.1.1-libpng16.patch
gzip ./source/l/libnl3/doinst.sh
@@ -1218,6 +1219,7 @@ gzip ./source/x/motif/motif-2.3.4-no_demos.patch
gzip ./source/x/motif/motif.rgbtxt.patch
gzip ./source/x/motif/motif-2.3.4-bindings.patch
gzip ./source/x/motif/motif-2.3.4-mwmrc_dir.patch
+gzip ./source/x/mesa/0001-swr-Fix-GCC-4.9-checks.patch
gzip ./source/x/mesa/doinst.sh
gzip ./source/x/urw-core35-fonts-otf/doinst.sh
gzip ./source/x/x11-skel/doinst.sh
diff --git a/slackware64/a/maketag b/slackware64/a/maketag
index ba260b1ee..452ff26b7 100644
--- a/slackware64/a/maketag
+++ b/slackware64/a/maketag
@@ -61,9 +61,9 @@ system. :^) Press ENTER when you are done." 21 76 10 \
"jfsutils" "Utilities for IBM's Journaled Filesystem" "on" \
"kbd" "Change keyboard and console mappings" "on" \
"kernel-firmware" "Linux kernel firmware -- REQUIRED" "on" \
-"kernel-generic" "Generic 5.4.19 kernel (needs an initrd)" "on" \
-"kernel-huge" "Loaded 5.4.19 Linux kernel" "on" \
-"kernel-modules" "Linux 5.4.19 kernel modules -- REQUIRED" "on" \
+"kernel-generic" "Generic 5.4.20 kernel (needs an initrd)" "on" \
+"kernel-huge" "Loaded 5.4.20 Linux kernel" "on" \
+"kernel-modules" "Linux 5.4.20 kernel modules -- REQUIRED" "on" \
"kmod" "Kernel module utilities -- REQUIRED" "on" \
"lbzip2" "Parallel bzip2 compressor" "on" \
"less" "A text pager utility - REQUIRED" "on" \
diff --git a/slackware64/a/maketag.ez b/slackware64/a/maketag.ez
index ba260b1ee..452ff26b7 100644
--- a/slackware64/a/maketag.ez
+++ b/slackware64/a/maketag.ez
@@ -61,9 +61,9 @@ system. :^) Press ENTER when you are done." 21 76 10 \
"jfsutils" "Utilities for IBM's Journaled Filesystem" "on" \
"kbd" "Change keyboard and console mappings" "on" \
"kernel-firmware" "Linux kernel firmware -- REQUIRED" "on" \
-"kernel-generic" "Generic 5.4.19 kernel (needs an initrd)" "on" \
-"kernel-huge" "Loaded 5.4.19 Linux kernel" "on" \
-"kernel-modules" "Linux 5.4.19 kernel modules -- REQUIRED" "on" \
+"kernel-generic" "Generic 5.4.20 kernel (needs an initrd)" "on" \
+"kernel-huge" "Loaded 5.4.20 Linux kernel" "on" \
+"kernel-modules" "Linux 5.4.20 kernel modules -- REQUIRED" "on" \
"kmod" "Kernel module utilities -- REQUIRED" "on" \
"lbzip2" "Parallel bzip2 compressor" "on" \
"less" "A text pager utility - REQUIRED" "on" \
diff --git a/slackware64/k/maketag b/slackware64/k/maketag
index 27ee052b5..66d49a78d 100644
--- a/slackware64/k/maketag
+++ b/slackware64/k/maketag
@@ -21,7 +21,7 @@ from series K. Use the UP/DOWN keys to scroll through the list, and \
the SPACE key to deselect any items you don't want to install. \
Press ENTER when you are \
done." 11 70 1 \
-"kernel-source" "Linux 5.4.19 kernel source" "on" \
+"kernel-source" "Linux 5.4.20 kernel source" "on" \
2> $TMP/SeTpkgs
if [ $? = 1 -o $? = 255 ]; then
rm -f $TMP/SeTpkgs
diff --git a/slackware64/k/maketag.ez b/slackware64/k/maketag.ez
index 27ee052b5..66d49a78d 100644
--- a/slackware64/k/maketag.ez
+++ b/slackware64/k/maketag.ez
@@ -21,7 +21,7 @@ from series K. Use the UP/DOWN keys to scroll through the list, and \
the SPACE key to deselect any items you don't want to install. \
Press ENTER when you are \
done." 11 70 1 \
-"kernel-source" "Linux 5.4.19 kernel source" "on" \
+"kernel-source" "Linux 5.4.20 kernel source" "on" \
2> $TMP/SeTpkgs
if [ $? = 1 -o $? = 255 ]; then
rm -f $TMP/SeTpkgs
diff --git a/slackware64/l/maketag b/slackware64/l/maketag
index b8fef2e40..099edc878 100644
--- a/slackware64/l/maketag
+++ b/slackware64/l/maketag
@@ -230,6 +230,7 @@ you are done." 22 74 10 \
"libwnck" "Window Navigator Construction Kit library" "on" \
"libwpd" "WordPerfect document handling library" "on" \
"libwpg" "WPG image reading/converting library" "on" \
+"libxkbcommon" "keyboard description library" "on" \
"libxklavier" "XKB library" "on" \
"libxml2" "XML parser library v2" "on" \
"libxslt" "XML transformation library" "on" \
@@ -250,6 +251,7 @@ you are done." 22 74 10 \
"newt" "Not Erik's Windowing Toolkit" "on" \
"ocl-icd" "OpenCL ICD bindings" "on" \
"oniguruma" "Regular expressions library" "on" \
+"openal-soft" "OpenAL 3D audio API" "on" \
"openexr" "HDR image file format and library" "on" \
"openjpeg" "JPEG2000 library" "on" \
"opus" "Efficient, low-latency audio codec" "on" \
@@ -295,8 +297,9 @@ you are done." 22 74 10 \
"qca" "Qt Cryptographic Architecture" "on" \
"qimageblitz" "Graphical effect/filter library for KDE4" "on" \
"qjson" "manage JSON objects with Qt" "on" \
-"qt" "C++ GUI library used by KDE" "on" \
+"qt" "C++ GUI library used by KDE4" "on" \
"qt-gstreamer" "C++ bindings for gstreamer" "on" \
+"qt5" "C++ GUI library used by KDE Plasma 5" "on" \
"qtscriptgenerator" "Qt API Bindings for QtScript" "on" \
"raptor2" "RDF parser and serializer" "on" \
"rasqal" "RDF parsing library" "on" \
@@ -340,7 +343,7 @@ if [ $? = 1 -o $? = 255 ]; then
rm -f $TMP/SeTpkgs
> $TMP/SeTnewtag
for pkg in \
-ConsoleKit2 GConf LibRaw M2Crypto Mako PyQt QScintilla SDL2 SDL2_gfx SDL2_image SDL2_mixer SDL2_net SDL2_ttf a52dec aalib adwaita-icon-theme akonadi alsa-lib alsa-oss alsa-plugins apr apr-util argon2 aspell aspell-en at-spi2-atk at-spi2-core atk atkmm attica audiofile automoc4 babl boost cairo cairomm chmlib clucene db48 dbus-glib dbus-python dconf dconf-editor desktop-file-utils djvulibre ebook-tools eigen2 eigen3 elfutils enchant esound exiv2 expat ffmpeg fftw fluidsynth freetype fribidi fuse fuse3 gamin gc gcr gd gdbm gdk-pixbuf2 gegl gexiv2 giflib glade3 glib glib-networking glib2 glibc glibc-i18n glibc-profile glibmm gmime gmm gmp gnome-keyring gnome-themes-extra gnu-efi gobject-introspection grantlee graphite2 gsettings-desktop-schemas gsl gst-plugins-base gst-plugins-base0 gst-plugins-good gst-plugins-good0 gst-plugins-libav gstreamer gstreamer0 gtk+ gtk+2 gtk+3 gtkmm2 gtkmm3 gtkspell gvfs harfbuzz hicolor-icon-theme hunspell icon-naming-utils icu4c id3lib ilmbase imagemagick isl iso-codes jansson jasper jemalloc jmtpfs json-c json-glib judy keybinder keyutils lame lcms lcms2 libaio libao libarchive libasyncns libatasmart libbluedevil libbluray libcaca libcanberra libcap libcap-ng libcddb libcdio libcdio-paranoia libclc libcroco libdbusmenu-qt libdiscid libdvdnav libdvdread libedit libevent libexif libfakekey libffi libglade libgnome-keyring libgphoto2 libgpod libgsf libical libid3tag libidl libidn libidn2 libieee1284 libimobiledevice libiodbc libjpeg-turbo libkarma liblastfm libmad libmcrypt libmng libmpc libmtp libnih libnjb libnl libnl3 libnotify libodfgen libogg liboggz liboil libopusenc libpcap libplist libpng libproxy libpsl libraw1394 librevenge librsvg libsamplerate libsecret libsigc++ libsigsegv libsndfile libsodium libsoup libspectre libssh libssh2 libtasn1 libtheora libtiff libunistring libunwind libusb libusb-compat libusbmuxd libvisio libvisual libvisual-plugins libvncserver libvorbis libvpx libwebp libwmf libwnck libwpd libwpg libxklavier libxml2 libxslt libyaml libzip lmdb loudmouth lzo media-player-info mhash mm mozilla-nss mozjs60 mpfr ncurses neon netpbm newt ocl-icd oniguruma openexr openjpeg opus opusfile orc pango pangomm parted pcre pcre2 phonon phonon-gstreamer pilot-link polkit polkit-gnome polkit-qt-1 poppler poppler-data popt pulseaudio pycairo pycups pycurl pygobject pygobject3 pygtk pyparsing python-appdirs python-certifi python-chardet python-distro python-docutils python-idna python-notify2 python-packaging python-pillow python-ply python-pygments python-requests python-sane python-six python-urllib3 qca qimageblitz qjson qt qt-gstreamer qtscriptgenerator raptor2 rasqal readline redland sbc sdl serf sg3_utils shared-desktop-ontologies shared-mime-info sip slang slang1 soprano sound-theme-freedesktop speex speexdsp startup-notification strigi svgalib system-config-printer t1lib taglib taglib-extras talloc tango-icon-theme tango-icon-theme-extras tdb tevent urwid utf8proc v4l-utils vte wavpack xapian-core zlib zstd \
+ConsoleKit2 GConf LibRaw M2Crypto Mako PyQt QScintilla SDL2 SDL2_gfx SDL2_image SDL2_mixer SDL2_net SDL2_ttf a52dec aalib adwaita-icon-theme akonadi alsa-lib alsa-oss alsa-plugins apr apr-util argon2 aspell aspell-en at-spi2-atk at-spi2-core atk atkmm attica audiofile automoc4 babl boost cairo cairomm chmlib clucene db48 dbus-glib dbus-python dconf dconf-editor desktop-file-utils djvulibre ebook-tools eigen2 eigen3 elfutils enchant esound exiv2 expat ffmpeg fftw fluidsynth freetype fribidi fuse fuse3 gamin gc gcr gd gdbm gdk-pixbuf2 gegl gexiv2 giflib glade3 glib glib-networking glib2 glibc glibc-i18n glibc-profile glibmm gmime gmm gmp gnome-keyring gnome-themes-extra gnu-efi gobject-introspection grantlee graphite2 gsettings-desktop-schemas gsl gst-plugins-base gst-plugins-base0 gst-plugins-good gst-plugins-good0 gst-plugins-libav gstreamer gstreamer0 gtk+ gtk+2 gtk+3 gtkmm2 gtkmm3 gtkspell gvfs harfbuzz hicolor-icon-theme hunspell icon-naming-utils icu4c id3lib ilmbase imagemagick isl iso-codes jansson jasper jemalloc jmtpfs json-c json-glib judy keybinder keyutils lame lcms lcms2 libaio libao libarchive libasyncns libatasmart libbluedevil libbluray libcaca libcanberra libcap libcap-ng libcddb libcdio libcdio-paranoia libclc libcroco libdbusmenu-qt libdiscid libdvdnav libdvdread libedit libevent libexif libfakekey libffi libglade libgnome-keyring libgphoto2 libgpod libgsf libical libid3tag libidl libidn libidn2 libieee1284 libimobiledevice libiodbc libjpeg-turbo libkarma liblastfm libmad libmcrypt libmng libmpc libmtp libnih libnjb libnl libnl3 libnotify libodfgen libogg liboggz liboil libopusenc libpcap libplist libpng libproxy libpsl libraw1394 librevenge librsvg libsamplerate libsecret libsigc++ libsigsegv libsndfile libsodium libsoup libspectre libssh libssh2 libtasn1 libtheora libtiff libunistring libunwind libusb libusb-compat libusbmuxd libvisio libvisual libvisual-plugins libvncserver libvorbis libvpx libwebp libwmf libwnck libwpd libwpg libxkbcommon libxklavier libxml2 libxslt libyaml libzip lmdb loudmouth lzo media-player-info mhash mm mozilla-nss mozjs60 mpfr ncurses neon netpbm newt ocl-icd oniguruma openal-soft openexr openjpeg opus opusfile orc pango pangomm parted pcre pcre2 phonon phonon-gstreamer pilot-link polkit polkit-gnome polkit-qt-1 poppler poppler-data popt pulseaudio pycairo pycups pycurl pygobject pygobject3 pygtk pyparsing python-appdirs python-certifi python-chardet python-distro python-docutils python-idna python-notify2 python-packaging python-pillow python-ply python-pygments python-requests python-sane python-six python-urllib3 qca qimageblitz qjson qt qt-gstreamer qt5 qtscriptgenerator raptor2 rasqal readline redland sbc sdl serf sg3_utils shared-desktop-ontologies shared-mime-info sip slang slang1 soprano sound-theme-freedesktop speex speexdsp startup-notification strigi svgalib system-config-printer t1lib taglib taglib-extras talloc tango-icon-theme tango-icon-theme-extras tdb tevent urwid utf8proc v4l-utils vte wavpack xapian-core zlib zstd \
; do
echo "$pkg: SKP" >> $TMP/SeTnewtag
done
@@ -348,7 +351,7 @@ ConsoleKit2 GConf LibRaw M2Crypto Mako PyQt QScintilla SDL2 SDL2_gfx SDL2_image
fi
cat /dev/null > $TMP/SeTnewtag
for PACKAGE in \
-ConsoleKit2 GConf LibRaw M2Crypto Mako PyQt QScintilla SDL2 SDL2_gfx SDL2_image SDL2_mixer SDL2_net SDL2_ttf a52dec aalib adwaita-icon-theme akonadi alsa-lib alsa-oss alsa-plugins apr apr-util argon2 aspell aspell-en at-spi2-atk at-spi2-core atk atkmm attica audiofile automoc4 babl boost cairo cairomm chmlib clucene db48 dbus-glib dbus-python dconf dconf-editor desktop-file-utils djvulibre ebook-tools eigen2 eigen3 elfutils enchant esound exiv2 expat ffmpeg fftw fluidsynth freetype fribidi fuse fuse3 gamin gc gcr gd gdbm gdk-pixbuf2 gegl gexiv2 giflib glade3 glib glib-networking glib2 glibc glibc-i18n glibc-profile glibmm gmime gmm gmp gnome-keyring gnome-themes-extra gnu-efi gobject-introspection grantlee graphite2 gsettings-desktop-schemas gsl gst-plugins-base gst-plugins-base0 gst-plugins-good gst-plugins-good0 gst-plugins-libav gstreamer gstreamer0 gtk+ gtk+2 gtk+3 gtkmm2 gtkmm3 gtkspell gvfs harfbuzz hicolor-icon-theme hunspell icon-naming-utils icu4c id3lib ilmbase imagemagick isl iso-codes jansson jasper jemalloc jmtpfs json-c json-glib judy keybinder keyutils lame lcms lcms2 libaio libao libarchive libasyncns libatasmart libbluedevil libbluray libcaca libcanberra libcap libcap-ng libcddb libcdio libcdio-paranoia libclc libcroco libdbusmenu-qt libdiscid libdvdnav libdvdread libedit libevent libexif libfakekey libffi libglade libgnome-keyring libgphoto2 libgpod libgsf libical libid3tag libidl libidn libidn2 libieee1284 libimobiledevice libiodbc libjpeg-turbo libkarma liblastfm libmad libmcrypt libmng libmpc libmtp libnih libnjb libnl libnl3 libnotify libodfgen libogg liboggz liboil libopusenc libpcap libplist libpng libproxy libpsl libraw1394 librevenge librsvg libsamplerate libsecret libsigc++ libsigsegv libsndfile libsodium libsoup libspectre libssh libssh2 libtasn1 libtheora libtiff libunistring libunwind libusb libusb-compat libusbmuxd libvisio libvisual libvisual-plugins libvncserver libvorbis libvpx libwebp libwmf libwnck libwpd libwpg libxklavier libxml2 libxslt libyaml libzip lmdb loudmouth lzo media-player-info mhash mm mozilla-nss mozjs60 mpfr ncurses neon netpbm newt ocl-icd oniguruma openexr openjpeg opus opusfile orc pango pangomm parted pcre pcre2 phonon phonon-gstreamer pilot-link polkit polkit-gnome polkit-qt-1 poppler poppler-data popt pulseaudio pycairo pycups pycurl pygobject pygobject3 pygtk pyparsing python-appdirs python-certifi python-chardet python-distro python-docutils python-idna python-notify2 python-packaging python-pillow python-ply python-pygments python-requests python-sane python-six python-urllib3 qca qimageblitz qjson qt qt-gstreamer qtscriptgenerator raptor2 rasqal readline redland sbc sdl serf sg3_utils shared-desktop-ontologies shared-mime-info sip slang slang1 soprano sound-theme-freedesktop speex speexdsp startup-notification strigi svgalib system-config-printer t1lib taglib taglib-extras talloc tango-icon-theme tango-icon-theme-extras tdb tevent urwid utf8proc v4l-utils vte wavpack xapian-core zlib zstd \
+ConsoleKit2 GConf LibRaw M2Crypto Mako PyQt QScintilla SDL2 SDL2_gfx SDL2_image SDL2_mixer SDL2_net SDL2_ttf a52dec aalib adwaita-icon-theme akonadi alsa-lib alsa-oss alsa-plugins apr apr-util argon2 aspell aspell-en at-spi2-atk at-spi2-core atk atkmm attica audiofile automoc4 babl boost cairo cairomm chmlib clucene db48 dbus-glib dbus-python dconf dconf-editor desktop-file-utils djvulibre ebook-tools eigen2 eigen3 elfutils enchant esound exiv2 expat ffmpeg fftw fluidsynth freetype fribidi fuse fuse3 gamin gc gcr gd gdbm gdk-pixbuf2 gegl gexiv2 giflib glade3 glib glib-networking glib2 glibc glibc-i18n glibc-profile glibmm gmime gmm gmp gnome-keyring gnome-themes-extra gnu-efi gobject-introspection grantlee graphite2 gsettings-desktop-schemas gsl gst-plugins-base gst-plugins-base0 gst-plugins-good gst-plugins-good0 gst-plugins-libav gstreamer gstreamer0 gtk+ gtk+2 gtk+3 gtkmm2 gtkmm3 gtkspell gvfs harfbuzz hicolor-icon-theme hunspell icon-naming-utils icu4c id3lib ilmbase imagemagick isl iso-codes jansson jasper jemalloc jmtpfs json-c json-glib judy keybinder keyutils lame lcms lcms2 libaio libao libarchive libasyncns libatasmart libbluedevil libbluray libcaca libcanberra libcap libcap-ng libcddb libcdio libcdio-paranoia libclc libcroco libdbusmenu-qt libdiscid libdvdnav libdvdread libedit libevent libexif libfakekey libffi libglade libgnome-keyring libgphoto2 libgpod libgsf libical libid3tag libidl libidn libidn2 libieee1284 libimobiledevice libiodbc libjpeg-turbo libkarma liblastfm libmad libmcrypt libmng libmpc libmtp libnih libnjb libnl libnl3 libnotify libodfgen libogg liboggz liboil libopusenc libpcap libplist libpng libproxy libpsl libraw1394 librevenge librsvg libsamplerate libsecret libsigc++ libsigsegv libsndfile libsodium libsoup libspectre libssh libssh2 libtasn1 libtheora libtiff libunistring libunwind libusb libusb-compat libusbmuxd libvisio libvisual libvisual-plugins libvncserver libvorbis libvpx libwebp libwmf libwnck libwpd libwpg libxkbcommon libxklavier libxml2 libxslt libyaml libzip lmdb loudmouth lzo media-player-info mhash mm mozilla-nss mozjs60 mpfr ncurses neon netpbm newt ocl-icd oniguruma openal-soft openexr openjpeg opus opusfile orc pango pangomm parted pcre pcre2 phonon phonon-gstreamer pilot-link polkit polkit-gnome polkit-qt-1 poppler poppler-data popt pulseaudio pycairo pycups pycurl pygobject pygobject3 pygtk pyparsing python-appdirs python-certifi python-chardet python-distro python-docutils python-idna python-notify2 python-packaging python-pillow python-ply python-pygments python-requests python-sane python-six python-urllib3 qca qimageblitz qjson qt qt-gstreamer qt5 qtscriptgenerator raptor2 rasqal readline redland sbc sdl serf sg3_utils shared-desktop-ontologies shared-mime-info sip slang slang1 soprano sound-theme-freedesktop speex speexdsp startup-notification strigi svgalib system-config-printer t1lib taglib taglib-extras talloc tango-icon-theme tango-icon-theme-extras tdb tevent urwid utf8proc v4l-utils vte wavpack xapian-core zlib zstd \
; do
if grep "\(^\| \)$PACKAGE\( \|$\)" $TMP/SeTpkgs 1> /dev/null 2> /dev/null ; then
echo "$PACKAGE: ADD" >> $TMP/SeTnewtag
diff --git a/slackware64/l/maketag.ez b/slackware64/l/maketag.ez
index b8fef2e40..099edc878 100644
--- a/slackware64/l/maketag.ez
+++ b/slackware64/l/maketag.ez
@@ -230,6 +230,7 @@ you are done." 22 74 10 \
"libwnck" "Window Navigator Construction Kit library" "on" \
"libwpd" "WordPerfect document handling library" "on" \
"libwpg" "WPG image reading/converting library" "on" \
+"libxkbcommon" "keyboard description library" "on" \
"libxklavier" "XKB library" "on" \
"libxml2" "XML parser library v2" "on" \
"libxslt" "XML transformation library" "on" \
@@ -250,6 +251,7 @@ you are done." 22 74 10 \
"newt" "Not Erik's Windowing Toolkit" "on" \
"ocl-icd" "OpenCL ICD bindings" "on" \
"oniguruma" "Regular expressions library" "on" \
+"openal-soft" "OpenAL 3D audio API" "on" \
"openexr" "HDR image file format and library" "on" \
"openjpeg" "JPEG2000 library" "on" \
"opus" "Efficient, low-latency audio codec" "on" \
@@ -295,8 +297,9 @@ you are done." 22 74 10 \
"qca" "Qt Cryptographic Architecture" "on" \
"qimageblitz" "Graphical effect/filter library for KDE4" "on" \
"qjson" "manage JSON objects with Qt" "on" \
-"qt" "C++ GUI library used by KDE" "on" \
+"qt" "C++ GUI library used by KDE4" "on" \
"qt-gstreamer" "C++ bindings for gstreamer" "on" \
+"qt5" "C++ GUI library used by KDE Plasma 5" "on" \
"qtscriptgenerator" "Qt API Bindings for QtScript" "on" \
"raptor2" "RDF parser and serializer" "on" \
"rasqal" "RDF parsing library" "on" \
@@ -340,7 +343,7 @@ if [ $? = 1 -o $? = 255 ]; then
rm -f $TMP/SeTpkgs
> $TMP/SeTnewtag
for pkg in \
-ConsoleKit2 GConf LibRaw M2Crypto Mako PyQt QScintilla SDL2 SDL2_gfx SDL2_image SDL2_mixer SDL2_net SDL2_ttf a52dec aalib adwaita-icon-theme akonadi alsa-lib alsa-oss alsa-plugins apr apr-util argon2 aspell aspell-en at-spi2-atk at-spi2-core atk atkmm attica audiofile automoc4 babl boost cairo cairomm chmlib clucene db48 dbus-glib dbus-python dconf dconf-editor desktop-file-utils djvulibre ebook-tools eigen2 eigen3 elfutils enchant esound exiv2 expat ffmpeg fftw fluidsynth freetype fribidi fuse fuse3 gamin gc gcr gd gdbm gdk-pixbuf2 gegl gexiv2 giflib glade3 glib glib-networking glib2 glibc glibc-i18n glibc-profile glibmm gmime gmm gmp gnome-keyring gnome-themes-extra gnu-efi gobject-introspection grantlee graphite2 gsettings-desktop-schemas gsl gst-plugins-base gst-plugins-base0 gst-plugins-good gst-plugins-good0 gst-plugins-libav gstreamer gstreamer0 gtk+ gtk+2 gtk+3 gtkmm2 gtkmm3 gtkspell gvfs harfbuzz hicolor-icon-theme hunspell icon-naming-utils icu4c id3lib ilmbase imagemagick isl iso-codes jansson jasper jemalloc jmtpfs json-c json-glib judy keybinder keyutils lame lcms lcms2 libaio libao libarchive libasyncns libatasmart libbluedevil libbluray libcaca libcanberra libcap libcap-ng libcddb libcdio libcdio-paranoia libclc libcroco libdbusmenu-qt libdiscid libdvdnav libdvdread libedit libevent libexif libfakekey libffi libglade libgnome-keyring libgphoto2 libgpod libgsf libical libid3tag libidl libidn libidn2 libieee1284 libimobiledevice libiodbc libjpeg-turbo libkarma liblastfm libmad libmcrypt libmng libmpc libmtp libnih libnjb libnl libnl3 libnotify libodfgen libogg liboggz liboil libopusenc libpcap libplist libpng libproxy libpsl libraw1394 librevenge librsvg libsamplerate libsecret libsigc++ libsigsegv libsndfile libsodium libsoup libspectre libssh libssh2 libtasn1 libtheora libtiff libunistring libunwind libusb libusb-compat libusbmuxd libvisio libvisual libvisual-plugins libvncserver libvorbis libvpx libwebp libwmf libwnck libwpd libwpg libxklavier libxml2 libxslt libyaml libzip lmdb loudmouth lzo media-player-info mhash mm mozilla-nss mozjs60 mpfr ncurses neon netpbm newt ocl-icd oniguruma openexr openjpeg opus opusfile orc pango pangomm parted pcre pcre2 phonon phonon-gstreamer pilot-link polkit polkit-gnome polkit-qt-1 poppler poppler-data popt pulseaudio pycairo pycups pycurl pygobject pygobject3 pygtk pyparsing python-appdirs python-certifi python-chardet python-distro python-docutils python-idna python-notify2 python-packaging python-pillow python-ply python-pygments python-requests python-sane python-six python-urllib3 qca qimageblitz qjson qt qt-gstreamer qtscriptgenerator raptor2 rasqal readline redland sbc sdl serf sg3_utils shared-desktop-ontologies shared-mime-info sip slang slang1 soprano sound-theme-freedesktop speex speexdsp startup-notification strigi svgalib system-config-printer t1lib taglib taglib-extras talloc tango-icon-theme tango-icon-theme-extras tdb tevent urwid utf8proc v4l-utils vte wavpack xapian-core zlib zstd \
+ConsoleKit2 GConf LibRaw M2Crypto Mako PyQt QScintilla SDL2 SDL2_gfx SDL2_image SDL2_mixer SDL2_net SDL2_ttf a52dec aalib adwaita-icon-theme akonadi alsa-lib alsa-oss alsa-plugins apr apr-util argon2 aspell aspell-en at-spi2-atk at-spi2-core atk atkmm attica audiofile automoc4 babl boost cairo cairomm chmlib clucene db48 dbus-glib dbus-python dconf dconf-editor desktop-file-utils djvulibre ebook-tools eigen2 eigen3 elfutils enchant esound exiv2 expat ffmpeg fftw fluidsynth freetype fribidi fuse fuse3 gamin gc gcr gd gdbm gdk-pixbuf2 gegl gexiv2 giflib glade3 glib glib-networking glib2 glibc glibc-i18n glibc-profile glibmm gmime gmm gmp gnome-keyring gnome-themes-extra gnu-efi gobject-introspection grantlee graphite2 gsettings-desktop-schemas gsl gst-plugins-base gst-plugins-base0 gst-plugins-good gst-plugins-good0 gst-plugins-libav gstreamer gstreamer0 gtk+ gtk+2 gtk+3 gtkmm2 gtkmm3 gtkspell gvfs harfbuzz hicolor-icon-theme hunspell icon-naming-utils icu4c id3lib ilmbase imagemagick isl iso-codes jansson jasper jemalloc jmtpfs json-c json-glib judy keybinder keyutils lame lcms lcms2 libaio libao libarchive libasyncns libatasmart libbluedevil libbluray libcaca libcanberra libcap libcap-ng libcddb libcdio libcdio-paranoia libclc libcroco libdbusmenu-qt libdiscid libdvdnav libdvdread libedit libevent libexif libfakekey libffi libglade libgnome-keyring libgphoto2 libgpod libgsf libical libid3tag libidl libidn libidn2 libieee1284 libimobiledevice libiodbc libjpeg-turbo libkarma liblastfm libmad libmcrypt libmng libmpc libmtp libnih libnjb libnl libnl3 libnotify libodfgen libogg liboggz liboil libopusenc libpcap libplist libpng libproxy libpsl libraw1394 librevenge librsvg libsamplerate libsecret libsigc++ libsigsegv libsndfile libsodium libsoup libspectre libssh libssh2 libtasn1 libtheora libtiff libunistring libunwind libusb libusb-compat libusbmuxd libvisio libvisual libvisual-plugins libvncserver libvorbis libvpx libwebp libwmf libwnck libwpd libwpg libxkbcommon libxklavier libxml2 libxslt libyaml libzip lmdb loudmouth lzo media-player-info mhash mm mozilla-nss mozjs60 mpfr ncurses neon netpbm newt ocl-icd oniguruma openal-soft openexr openjpeg opus opusfile orc pango pangomm parted pcre pcre2 phonon phonon-gstreamer pilot-link polkit polkit-gnome polkit-qt-1 poppler poppler-data popt pulseaudio pycairo pycups pycurl pygobject pygobject3 pygtk pyparsing python-appdirs python-certifi python-chardet python-distro python-docutils python-idna python-notify2 python-packaging python-pillow python-ply python-pygments python-requests python-sane python-six python-urllib3 qca qimageblitz qjson qt qt-gstreamer qt5 qtscriptgenerator raptor2 rasqal readline redland sbc sdl serf sg3_utils shared-desktop-ontologies shared-mime-info sip slang slang1 soprano sound-theme-freedesktop speex speexdsp startup-notification strigi svgalib system-config-printer t1lib taglib taglib-extras talloc tango-icon-theme tango-icon-theme-extras tdb tevent urwid utf8proc v4l-utils vte wavpack xapian-core zlib zstd \
; do
echo "$pkg: SKP" >> $TMP/SeTnewtag
done
@@ -348,7 +351,7 @@ ConsoleKit2 GConf LibRaw M2Crypto Mako PyQt QScintilla SDL2 SDL2_gfx SDL2_image
fi
cat /dev/null > $TMP/SeTnewtag
for PACKAGE in \
-ConsoleKit2 GConf LibRaw M2Crypto Mako PyQt QScintilla SDL2 SDL2_gfx SDL2_image SDL2_mixer SDL2_net SDL2_ttf a52dec aalib adwaita-icon-theme akonadi alsa-lib alsa-oss alsa-plugins apr apr-util argon2 aspell aspell-en at-spi2-atk at-spi2-core atk atkmm attica audiofile automoc4 babl boost cairo cairomm chmlib clucene db48 dbus-glib dbus-python dconf dconf-editor desktop-file-utils djvulibre ebook-tools eigen2 eigen3 elfutils enchant esound exiv2 expat ffmpeg fftw fluidsynth freetype fribidi fuse fuse3 gamin gc gcr gd gdbm gdk-pixbuf2 gegl gexiv2 giflib glade3 glib glib-networking glib2 glibc glibc-i18n glibc-profile glibmm gmime gmm gmp gnome-keyring gnome-themes-extra gnu-efi gobject-introspection grantlee graphite2 gsettings-desktop-schemas gsl gst-plugins-base gst-plugins-base0 gst-plugins-good gst-plugins-good0 gst-plugins-libav gstreamer gstreamer0 gtk+ gtk+2 gtk+3 gtkmm2 gtkmm3 gtkspell gvfs harfbuzz hicolor-icon-theme hunspell icon-naming-utils icu4c id3lib ilmbase imagemagick isl iso-codes jansson jasper jemalloc jmtpfs json-c json-glib judy keybinder keyutils lame lcms lcms2 libaio libao libarchive libasyncns libatasmart libbluedevil libbluray libcaca libcanberra libcap libcap-ng libcddb libcdio libcdio-paranoia libclc libcroco libdbusmenu-qt libdiscid libdvdnav libdvdread libedit libevent libexif libfakekey libffi libglade libgnome-keyring libgphoto2 libgpod libgsf libical libid3tag libidl libidn libidn2 libieee1284 libimobiledevice libiodbc libjpeg-turbo libkarma liblastfm libmad libmcrypt libmng libmpc libmtp libnih libnjb libnl libnl3 libnotify libodfgen libogg liboggz liboil libopusenc libpcap libplist libpng libproxy libpsl libraw1394 librevenge librsvg libsamplerate libsecret libsigc++ libsigsegv libsndfile libsodium libsoup libspectre libssh libssh2 libtasn1 libtheora libtiff libunistring libunwind libusb libusb-compat libusbmuxd libvisio libvisual libvisual-plugins libvncserver libvorbis libvpx libwebp libwmf libwnck libwpd libwpg libxklavier libxml2 libxslt libyaml libzip lmdb loudmouth lzo media-player-info mhash mm mozilla-nss mozjs60 mpfr ncurses neon netpbm newt ocl-icd oniguruma openexr openjpeg opus opusfile orc pango pangomm parted pcre pcre2 phonon phonon-gstreamer pilot-link polkit polkit-gnome polkit-qt-1 poppler poppler-data popt pulseaudio pycairo pycups pycurl pygobject pygobject3 pygtk pyparsing python-appdirs python-certifi python-chardet python-distro python-docutils python-idna python-notify2 python-packaging python-pillow python-ply python-pygments python-requests python-sane python-six python-urllib3 qca qimageblitz qjson qt qt-gstreamer qtscriptgenerator raptor2 rasqal readline redland sbc sdl serf sg3_utils shared-desktop-ontologies shared-mime-info sip slang slang1 soprano sound-theme-freedesktop speex speexdsp startup-notification strigi svgalib system-config-printer t1lib taglib taglib-extras talloc tango-icon-theme tango-icon-theme-extras tdb tevent urwid utf8proc v4l-utils vte wavpack xapian-core zlib zstd \
+ConsoleKit2 GConf LibRaw M2Crypto Mako PyQt QScintilla SDL2 SDL2_gfx SDL2_image SDL2_mixer SDL2_net SDL2_ttf a52dec aalib adwaita-icon-theme akonadi alsa-lib alsa-oss alsa-plugins apr apr-util argon2 aspell aspell-en at-spi2-atk at-spi2-core atk atkmm attica audiofile automoc4 babl boost cairo cairomm chmlib clucene db48 dbus-glib dbus-python dconf dconf-editor desktop-file-utils djvulibre ebook-tools eigen2 eigen3 elfutils enchant esound exiv2 expat ffmpeg fftw fluidsynth freetype fribidi fuse fuse3 gamin gc gcr gd gdbm gdk-pixbuf2 gegl gexiv2 giflib glade3 glib glib-networking glib2 glibc glibc-i18n glibc-profile glibmm gmime gmm gmp gnome-keyring gnome-themes-extra gnu-efi gobject-introspection grantlee graphite2 gsettings-desktop-schemas gsl gst-plugins-base gst-plugins-base0 gst-plugins-good gst-plugins-good0 gst-plugins-libav gstreamer gstreamer0 gtk+ gtk+2 gtk+3 gtkmm2 gtkmm3 gtkspell gvfs harfbuzz hicolor-icon-theme hunspell icon-naming-utils icu4c id3lib ilmbase imagemagick isl iso-codes jansson jasper jemalloc jmtpfs json-c json-glib judy keybinder keyutils lame lcms lcms2 libaio libao libarchive libasyncns libatasmart libbluedevil libbluray libcaca libcanberra libcap libcap-ng libcddb libcdio libcdio-paranoia libclc libcroco libdbusmenu-qt libdiscid libdvdnav libdvdread libedit libevent libexif libfakekey libffi libglade libgnome-keyring libgphoto2 libgpod libgsf libical libid3tag libidl libidn libidn2 libieee1284 libimobiledevice libiodbc libjpeg-turbo libkarma liblastfm libmad libmcrypt libmng libmpc libmtp libnih libnjb libnl libnl3 libnotify libodfgen libogg liboggz liboil libopusenc libpcap libplist libpng libproxy libpsl libraw1394 librevenge librsvg libsamplerate libsecret libsigc++ libsigsegv libsndfile libsodium libsoup libspectre libssh libssh2 libtasn1 libtheora libtiff libunistring libunwind libusb libusb-compat libusbmuxd libvisio libvisual libvisual-plugins libvncserver libvorbis libvpx libwebp libwmf libwnck libwpd libwpg libxkbcommon libxklavier libxml2 libxslt libyaml libzip lmdb loudmouth lzo media-player-info mhash mm mozilla-nss mozjs60 mpfr ncurses neon netpbm newt ocl-icd oniguruma openal-soft openexr openjpeg opus opusfile orc pango pangomm parted pcre pcre2 phonon phonon-gstreamer pilot-link polkit polkit-gnome polkit-qt-1 poppler poppler-data popt pulseaudio pycairo pycups pycurl pygobject pygobject3 pygtk pyparsing python-appdirs python-certifi python-chardet python-distro python-docutils python-idna python-notify2 python-packaging python-pillow python-ply python-pygments python-requests python-sane python-six python-urllib3 qca qimageblitz qjson qt qt-gstreamer qt5 qtscriptgenerator raptor2 rasqal readline redland sbc sdl serf sg3_utils shared-desktop-ontologies shared-mime-info sip slang slang1 soprano sound-theme-freedesktop speex speexdsp startup-notification strigi svgalib system-config-printer t1lib taglib taglib-extras talloc tango-icon-theme tango-icon-theme-extras tdb tevent urwid utf8proc v4l-utils vte wavpack xapian-core zlib zstd \
; do
if grep "\(^\| \)$PACKAGE\( \|$\)" $TMP/SeTpkgs 1> /dev/null 2> /dev/null ; then
echo "$PACKAGE: ADD" >> $TMP/SeTnewtag
diff --git a/slackware64/l/tagfile b/slackware64/l/tagfile
index ee18ea5b9..21801d345 100644
--- a/slackware64/l/tagfile
+++ b/slackware64/l/tagfile
@@ -215,6 +215,7 @@ libwmf:REC
libwnck:REC
libwpd:REC
libwpg:REC
+libxkbcommon:REC
libxklavier:REC
libxml2:REC
libxslt:REC
@@ -235,6 +236,7 @@ netpbm:REC
newt:REC
ocl-icd:REC
oniguruma:REC
+openal-soft:REC
openexr:REC
openjpeg:REC
opus:REC
@@ -282,6 +284,7 @@ qimageblitz:REC
qjson:REC
qt:ADD
qt-gstreamer:REC
+qt5:ADD
qtscriptgenerator:ADD
raptor2:REC
rasqal:REC
diff --git a/source/a/shadow/doinst.sh b/source/a/shadow/doinst.sh
index ce3e8116a..98c8a92c5 100644
--- a/source/a/shadow/doinst.sh
+++ b/source/a/shadow/doinst.sh
@@ -10,17 +10,20 @@ config() {
# Otherwise, we leave the .new copy for the admin to consider...
}
-# First, check for PAM:
-if [ -r etc/pam.d/login.new ]; then
- # If there's an existing /etc/login.defs that contains an obsolete option
- # intended for a non-pam system, rename it to back it up and allow the
- # pam-enabled login.defs to be installed automatically:
- if grep -q "^LASTLOG_ENAB" etc/login.defs 1> /dev/null 2> /dev/null ; then
- mv etc/login.defs etc/login.defs.non-pam.backup
- fi
-else # Same thing, but in reverse for a non-pam system:
- if ! grep -q "^LASTLOG_ENAB" etc/login.defs 1> /dev/null 2> /dev/null ; then
- mv etc/login.defs etc/login.defs.pam.backup
+# See if we need to backup an existing login.defs:
+if [ -r etc/login.defs ]; then
+ # First, check for PAM:
+ if [ -r etc/pam.d/login.new ]; then
+ # If there's an existing /etc/login.defs that contains an obsolete option
+ # intended for a non-pam system, rename it to back it up and allow the
+ # pam-enabled login.defs to be installed automatically:
+ if grep -q "^LASTLOG_ENAB" etc/login.defs 1> /dev/null 2> /dev/null ; then
+ mv etc/login.defs etc/login.defs.non-pam.backup
+ fi
+ else # Same thing, but in reverse for a non-pam system:
+ if ! grep -q "^LASTLOG_ENAB" etc/login.defs 1> /dev/null 2> /dev/null ; then
+ mv etc/login.defs etc/login.defs.pam.backup
+ fi
fi
fi
@@ -31,7 +34,7 @@ rm -f var/log/faillog.new
if [ -r etc/login.access.new ]; then
config etc/login.access.new
fi
-for configfile in chage.new chfn.new chgpasswd.new chpasswd.new chsh.new groupadd.new groupdel.new groupmems.new groupmod.new login.new newusers.new other.new passwd.new postlogin.new su-l.new su.new system-auth.new useradd.new userdel.new usermod.new ; do
+for configfile in chage.new chgpasswd.new chpasswd.new groupadd.new groupdel.new groupmems.new groupmod.new newusers.new other.new passwd.new postlogin.new system-auth.new useradd.new userdel.new usermod.new ; do
if [ -r etc/pam.d/$configfile ]; then
config etc/pam.d/$configfile
fi
diff --git a/source/a/shadow/pam.d/chfn b/source/a/shadow/pam.d/chfn
deleted file mode 100644
index 8f49f5cc8..000000000
--- a/source/a/shadow/pam.d/chfn
+++ /dev/null
@@ -1,4 +0,0 @@
-#%PAM-1.0
-auth sufficient pam_rootok.so
-account required pam_permit.so
-password include system-auth
diff --git a/source/a/shadow/pam.d/chsh b/source/a/shadow/pam.d/chsh
deleted file mode 100644
index 8f49f5cc8..000000000
--- a/source/a/shadow/pam.d/chsh
+++ /dev/null
@@ -1,4 +0,0 @@
-#%PAM-1.0
-auth sufficient pam_rootok.so
-account required pam_permit.so
-password include system-auth
diff --git a/source/a/shadow/shadow.SlackBuild b/source/a/shadow/shadow.SlackBuild
index bc22d5e84..1cd486be9 100755
--- a/source/a/shadow/shadow.SlackBuild
+++ b/source/a/shadow/shadow.SlackBuild
@@ -24,7 +24,7 @@ cd $(dirname $0) ; CWD=$(pwd)
PKGNAM=shadow
VERSION=${VERSION:-$(echo $PKGNAM-*.tar.xz | rev | cut -f 3- -d . | cut -f 1 -d - | rev)}
-BUILD=${BUILD:-2}
+BUILD=${BUILD:-3}
# Automatically determine the architecture we're building on:
if [ -z "$ARCH" ]; then
diff --git a/source/a/util-linux/doinst.sh b/source/a/util-linux/doinst.sh
index da24e7435..8277c0e65 100644
--- a/source/a/util-linux/doinst.sh
+++ b/source/a/util-linux/doinst.sh
@@ -22,6 +22,12 @@ config etc/rc.d/rc.serial.new
config etc/rc.d/rc.setterm.new
config etc/serial.conf.new
+for configfile in chfn.new chsh.new login.new runuser.new runuser-l.new su.new su-l.new ; do
+ if [ -r etc/pam.d/$configfile ]; then
+ config etc/pam.d/$configfile
+ fi
+done
+
if [ -r etc/default/su.new ]; then
config etc/default/su.new
fi
diff --git a/source/a/util-linux/pam.d/chfn b/source/a/util-linux/pam.d/chfn
new file mode 100644
index 000000000..2dbc0aafd
--- /dev/null
+++ b/source/a/util-linux/pam.d/chfn
@@ -0,0 +1,6 @@
+#%PAM-1.0
+auth sufficient pam_rootok.so
+auth include system-auth
+account include system-auth
+password include system-auth
+session include system-auth
diff --git a/source/a/util-linux/pam.d/chsh b/source/a/util-linux/pam.d/chsh
new file mode 100644
index 000000000..2dbc0aafd
--- /dev/null
+++ b/source/a/util-linux/pam.d/chsh
@@ -0,0 +1,6 @@
+#%PAM-1.0
+auth sufficient pam_rootok.so
+auth include system-auth
+account include system-auth
+password include system-auth
+session include system-auth
diff --git a/source/a/shadow/pam.d/login b/source/a/util-linux/pam.d/login
index eb3121996..eb3121996 100644
--- a/source/a/shadow/pam.d/login
+++ b/source/a/util-linux/pam.d/login
diff --git a/source/a/util-linux/pam.d/runuser b/source/a/util-linux/pam.d/runuser
new file mode 100644
index 000000000..37f0e84e7
--- /dev/null
+++ b/source/a/util-linux/pam.d/runuser
@@ -0,0 +1,5 @@
+#%PAM-1.0
+auth sufficient pam_rootok.so
+session optional pam_keyinit.so revoke
+session required pam_limits.so
+session required pam_unix.so
diff --git a/source/a/util-linux/pam.d/runuser-l b/source/a/util-linux/pam.d/runuser-l
new file mode 100644
index 000000000..fa1e4d835
--- /dev/null
+++ b/source/a/util-linux/pam.d/runuser-l
@@ -0,0 +1,4 @@
+#%PAM-1.0
+auth include runuser
+session optional pam_keyinit.so force revoke
+session include runuser
diff --git a/source/a/shadow/pam.d/su b/source/a/util-linux/pam.d/su
index c7c814877..c7c814877 100644
--- a/source/a/shadow/pam.d/su
+++ b/source/a/util-linux/pam.d/su
diff --git a/source/a/shadow/pam.d/su-l b/source/a/util-linux/pam.d/su-l
index 656a139a8..656a139a8 100644
--- a/source/a/shadow/pam.d/su-l
+++ b/source/a/util-linux/pam.d/su-l
diff --git a/source/a/util-linux/util-linux.SlackBuild b/source/a/util-linux/util-linux.SlackBuild
index 1d101d46c..2f0688bef 100755
--- a/source/a/util-linux/util-linux.SlackBuild
+++ b/source/a/util-linux/util-linux.SlackBuild
@@ -26,7 +26,7 @@ cd $(dirname $0) ; CWD=$(pwd)
PKGNAM=util-linux
VERSION=${VERSION:-$(echo util-linux*.tar.xz | cut -d - -f 3 | rev | cut -f 3- -d . | rev)}
-BUILD=${BUILD:-2}
+BUILD=${BUILD:-3}
ADJTIMEXVERS=1.29
SETSERIALVERS=2.17
@@ -90,6 +90,17 @@ if [ -L /lib${LIBDIRSUFFIX}/libpam.so.? ]; then
cp -a $CWD/su.default $PKG/etc/default/su.new
chown root:root $PKG/etc/default/su.new
chmod 644 $PKG/etc/default/su.new
+ # Add /etc/pam.d config files:
+ rm -rf $PKG/etc/pam.d
+ mkdir -p $PKG/etc/pam.d
+ for file in $CWD/pam.d/* ; do
+ cp -a ${file} $PKG/etc/pam.d/
+ done
+ # Ensure correct perms/ownership on files in /etc/pam.d/:
+ chown root:root $PKG/etc/pam.d/*
+ chmod 644 $PKG/etc/pam.d/*
+ # Don't clobber existing config files:
+ find $PKG/etc/pam.d -type f -exec mv {} {}.new \;
else
LOGIN_OPTIONS="--disable-login"
fi
@@ -150,6 +161,14 @@ CFLAGS="$SLKCFLAGS" \
make $NUMJOBS || make || exit 1
make install $NUMJOBS DESTDIR=$PKG || exit 1
+# These need to be setuid root to work properly (only built for PAM):
+if [ -r $PKG/usr/bin/chfn ]; then
+ chmod 4711 $PKG/usr/bin/chfn
+fi
+if [ -r $PKG/usr/bin/chsh ]; then
+ chmod 4711 $PKG/usr/bin/chsh
+fi
+
# Build python3 bindings for libmount:
make clean
CFLAGS="$SLKCFLAGS" \
diff --git a/source/k/kernel-configs/config-generic-5.4.19 b/source/k/kernel-configs/config-generic-5.4.20
index 7e8bedaa5..9788a7496 100644
--- a/source/k/kernel-configs/config-generic-5.4.19
+++ b/source/k/kernel-configs/config-generic-5.4.20
@@ -1,6 +1,6 @@
#
# Automatically generated file; DO NOT EDIT.
-# Linux/x86 5.4.19 Kernel Configuration
+# Linux/x86 5.4.20 Kernel Configuration
#
#
diff --git a/source/k/kernel-configs/config-generic-5.4.19.x64 b/source/k/kernel-configs/config-generic-5.4.20.x64
index 6937b9606..9657ba25a 100644
--- a/source/k/kernel-configs/config-generic-5.4.19.x64
+++ b/source/k/kernel-configs/config-generic-5.4.20.x64
@@ -1,6 +1,6 @@
#
# Automatically generated file; DO NOT EDIT.
-# Linux/x86 5.4.19 Kernel Configuration
+# Linux/x86 5.4.20 Kernel Configuration
#
#
diff --git a/source/k/kernel-configs/config-generic-smp-5.4.19-smp b/source/k/kernel-configs/config-generic-smp-5.4.20-smp
index 256b5074a..47a7ab59e 100644
--- a/source/k/kernel-configs/config-generic-smp-5.4.19-smp
+++ b/source/k/kernel-configs/config-generic-smp-5.4.20-smp
@@ -1,6 +1,6 @@
#
# Automatically generated file; DO NOT EDIT.
-# Linux/x86 5.4.19 Kernel Configuration
+# Linux/x86 5.4.20 Kernel Configuration
#
#
diff --git a/source/k/kernel-configs/config-huge-5.4.19 b/source/k/kernel-configs/config-huge-5.4.20
index e92aca885..9d7ea4123 100644
--- a/source/k/kernel-configs/config-huge-5.4.19
+++ b/source/k/kernel-configs/config-huge-5.4.20
@@ -1,6 +1,6 @@
#
# Automatically generated file; DO NOT EDIT.
-# Linux/x86 5.4.19 Kernel Configuration
+# Linux/x86 5.4.20 Kernel Configuration
#
#
diff --git a/source/k/kernel-configs/config-huge-5.4.19.x64 b/source/k/kernel-configs/config-huge-5.4.20.x64
index 696055d0a..fd4b55d2f 100644
--- a/source/k/kernel-configs/config-huge-5.4.19.x64
+++ b/source/k/kernel-configs/config-huge-5.4.20.x64
@@ -1,6 +1,6 @@
#
# Automatically generated file; DO NOT EDIT.
-# Linux/x86 5.4.19 Kernel Configuration
+# Linux/x86 5.4.20 Kernel Configuration
#
#
diff --git a/source/k/kernel-configs/config-huge-smp-5.4.19-smp b/source/k/kernel-configs/config-huge-smp-5.4.20-smp
index 23068ddd7..17eb2ec15 100644
--- a/source/k/kernel-configs/config-huge-smp-5.4.19-smp
+++ b/source/k/kernel-configs/config-huge-smp-5.4.20-smp
@@ -1,6 +1,6 @@
#
# Automatically generated file; DO NOT EDIT.
-# Linux/x86 5.4.19 Kernel Configuration
+# Linux/x86 5.4.20 Kernel Configuration
#
#
diff --git a/source/l/ConsoleKit2/ConsoleKit2.SlackBuild b/source/l/ConsoleKit2/ConsoleKit2.SlackBuild
index ccea00b2f..73a13404c 100755
--- a/source/l/ConsoleKit2/ConsoleKit2.SlackBuild
+++ b/source/l/ConsoleKit2/ConsoleKit2.SlackBuild
@@ -28,7 +28,7 @@ cd $(dirname $0) ; CWD=$(pwd)
PKGNAM=ConsoleKit2
VERSION=${VERSION:-1.2.1}
-BUILD=${BUILD:-1}
+BUILD=${BUILD:-2}
# Maximum storage quota for XDG_RUNTIME_DIR:
XDG_RUNTIME_QUOTA=${XDG_RUNTIME_QUOTA:-size=100M}
@@ -103,7 +103,7 @@ find . \
# Choose correct options depending on whether PAM is installed:
if [ -L /lib${LIBDIRSUFFIX}/libpam.so.? ]; then
- PAM_OPTIONS="--enable-pam-module=yes"
+ PAM_OPTIONS="--enable-pam-module=yes --disable-libcgmanager"
unset SHADOW_OPTIONS
else
unset PAM_OPTIONS
@@ -125,6 +125,7 @@ CXXFLAGS="$SLKCFLAGS" \
$PAM_OPTIONS \
$SHADOW_OPTIONS \
--enable-udev-acl \
+ --enable-polkit \
--disable-static \
--build=$TARGET || exit 1
diff --git a/source/l/libxkbcommon/libxkbcommon.SlackBuild b/source/l/libxkbcommon/libxkbcommon.SlackBuild
new file mode 100755
index 000000000..4d0b56d57
--- /dev/null
+++ b/source/l/libxkbcommon/libxkbcommon.SlackBuild
@@ -0,0 +1,130 @@
+#!/bin/bash
+
+# Copyright 2020 Patrick J. Volkerding, Sebeka, Minnesota, USA
+# Copyright 2015, 2017, 2018, 2019 Eric Hameleers, Eindhoven, NL
+# All rights reserved.
+#
+# Redistribution and use of this script, with or without modification, is
+# permitted provided that the following conditions are met:
+#
+# 1. Redistributions of this script must retain the above copyright
+# notice, this list of conditions and the following disclaimer.
+#
+# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED
+# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
+# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
+# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
+# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
+# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+cd $(dirname $0) ; CWD=$(pwd)
+
+PKGNAM=libxkbcommon
+VERSION=${VERSION:-$(echo $PKGNAM-*.tar.?z | rev | cut -f 3- -d . | cut -f 1 -d - | rev)}
+BUILD=${BUILD:-1}
+
+# Automatically determine the architecture we're building on:
+if [ -z "$ARCH" ]; then
+ case "$(uname -m)" in
+ i?86) ARCH=i586 ;;
+ arm*) readelf /usr/bin/file -A | egrep -q "Tag_CPU.*[4,5]" && ARCH=arm || ARCH=armv7hl ;;
+ # Unless $ARCH is already set, use uname -m for all other archs:
+ *) ARCH=$(uname -m) ;;
+ esac
+ export ARCH
+fi
+
+# If the variable PRINT_PACKAGE_NAME is set, then this script will report what
+# the name of the created package would be, and then exit. This information
+# could be useful to other scripts.
+if [ ! -z "${PRINT_PACKAGE_NAME}" ]; then
+ echo "$PKGNAM-$VERSION-$ARCH-$BUILD.txz"
+ exit 0
+fi
+
+NUMJOBS=${NUMJOBS:-" -j$(expr $(nproc) + 1) "}
+
+if [ "$ARCH" = "i586" ]; then
+ SLKCFLAGS="-O2 -march=i586 -mtune=i686"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "i686" ]; then
+ SLKCFLAGS="-O2 -march=i686"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "s390" ]; then
+ SLKCFLAGS="-O2"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "x86_64" ]; then
+ SLKCFLAGS="-O2 -fPIC"
+ LIBDIRSUFFIX="64"
+elif [ "$ARCH" = "armv7hl" ]; then
+ SLKCFLAGS="-O3 -march=armv7-a -mfpu=vfpv3-d16"
+ LIBDIRSUFFIX=""
+else
+ SLKCFLAGS="-O2"
+ LIBDIRSUFFIX=""
+fi
+
+TMP=${TMP:-/tmp}
+PKG=$TMP/package-$PKGNAM
+
+rm -rf $PKG
+mkdir -p $TMP $PKG
+
+cd $TMP
+rm -rf $PKGNAM-$VERSION
+tar xvf $CWD/$PKGNAM-$VERSION.tar.?z || exit 1
+cd $PKGNAM-$VERSION || exit 1
+
+chown -R root:root .
+find . \
+ \( -perm 777 -o -perm 775 -o -perm 711 -o -perm 555 -o -perm 511 \) \
+ -exec chmod 755 {} \+ -o \
+ \( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \
+ -exec chmod 644 {} \+
+
+# Configure, build, and install:
+export CFLAGS="$SLKCFLAGS"
+export CXXFLAGS="$SLKCFLAGS"
+mkdir meson-build
+cd meson-build
+meson setup \
+ --prefix=/usr \
+ --libdir=lib${LIBDIRSUFFIX} \
+ --libexecdir=/usr/libexec \
+ --bindir=/usr/bin \
+ --sbindir=/usr/sbin \
+ --includedir=/usr/include \
+ --datadir=/usr/share \
+ --mandir=/usr/man \
+ --sysconfdir=/etc \
+ --localstatedir=/var \
+ --buildtype=release \
+ -Denable-wayland=false \
+ .. || exit 1
+ "${NINJA:=ninja}" $NUMJOBS || exit 1
+ DESTDIR=$PKG $NINJA install || exit 1
+cd ..
+
+# Strip binaries:
+find $PKG | xargs file | grep -e "executable" -e "shared object" | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
+
+# Add a documentation directory:
+mkdir -p $PKG/usr/doc/${PKGNAM}-$VERSION
+cp -a \
+ LICENSE* NEWS* PACKAGING* README* \
+ $PKG/usr/doc/${PKGNAM}-$VERSION
+
+# Relocate other documentation:
+mv $PKG/usr/share/doc/libxkbcommon/* $PKG/usr/doc/${PKGNAM}-$VERSION
+rm -rf $PKG/usr/share/doc
+rmdir $PKG/usr/share 2> /dev/null
+
+mkdir -p $PKG/install
+cat $CWD/slack-desc > $PKG/install/slack-desc
+
+cd $PKG
+/sbin/makepkg -l y -c n $TMP/$PKGNAM-$VERSION-$ARCH-$BUILD.txz
diff --git a/source/l/libxkbcommon/slack-desc b/source/l/libxkbcommon/slack-desc
new file mode 100644
index 000000000..4f826909b
--- /dev/null
+++ b/source/l/libxkbcommon/slack-desc
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description.
+# Line up the first '|' above the ':' following the base package name, and
+# the '|' on the right side marks the last column you can put a character in.
+# You must make exactly 11 lines for the formatting to be correct. It's also
+# customary to leave one space after the ':' except on otherwise blank lines.
+
+ |-----handy-ruler------------------------------------------------------|
+libxkbcommon: libxkbcommon (keyboard description library)
+libxkbcommon:
+libxkbcommon: xkbcommon is a library to handle keyboard descriptions, including
+libxkbcommon: loading them from disk, parsing them and handling their state. It's
+libxkbcommon: mainly meant for client toolkits, window systems, and other system
+libxkbcommon: applications; currently that includes Wayland, kmscon, GTK+, Qt,
+libxkbcommon: Clutter, and more. It is also used by some XCB applications for proper
+libxkbcommon: keyboard support.
+libxkbcommon:
+libxkbcommon: Home page: http://xkbcommon.org/
+libxkbcommon:
diff --git a/source/l/openal-soft/.deps b/source/l/openal-soft/.deps
new file mode 100644
index 000000000..b787fd165
--- /dev/null
+++ b/source/l/openal-soft/.deps
@@ -0,0 +1 @@
+SDL_sound
diff --git a/source/l/openal-soft/.url b/source/l/openal-soft/.url
new file mode 100644
index 000000000..51a72d92e
--- /dev/null
+++ b/source/l/openal-soft/.url
@@ -0,0 +1,2 @@
+http://kcat.strangesoft.net/openal-releases/openal-soft-1.19.1.tar.bz2
+
diff --git a/source/l/openal-soft/doinst.sh b/source/l/openal-soft/doinst.sh
new file mode 100644
index 000000000..5a9352050
--- /dev/null
+++ b/source/l/openal-soft/doinst.sh
@@ -0,0 +1,13 @@
+#!/bin/sh
+config() {
+ NEW="$1"
+ OLD="`dirname $NEW`/`basename $NEW .new`"
+ # If there's no config file by that name, mv it over:
+ if [ ! -r $OLD ]; then
+ mv $NEW $OLD
+ elif [ "`cat $OLD | md5sum`" = "`cat $NEW | md5sum`" ]; then # toss the redundant copy
+ rm $NEW
+ fi
+ # Otherwise, we leave the .new copy for the admin to consider...
+}
+config etc/openal/alsoft.conf.new
diff --git a/source/l/openal-soft/openal-soft.SlackBuild b/source/l/openal-soft/openal-soft.SlackBuild
new file mode 100755
index 000000000..20107ed40
--- /dev/null
+++ b/source/l/openal-soft/openal-soft.SlackBuild
@@ -0,0 +1,137 @@
+#!/bin/bash
+
+# Copyright 2014, 2020 Patrick J. Volkerding, Sebeka, MN, USA
+# Copyright 2012, 2013, 2014, 2015, 2017, 2018, 2019 Eric Hameleers, Eindhoven, NL
+# All rights reserved.
+#
+# Redistribution and use of this script, with or without modification, is
+# permitted provided that the following conditions are met:
+#
+# 1. Redistributions of this script must retain the above copyright
+# notice, this list of conditions and the following disclaimer.
+#
+# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED
+# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
+# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
+# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
+# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
+# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+cd $(dirname $0) ; CWD=$(pwd)
+
+PKGNAM=openal-soft
+VERSION=${VERSION:-$(echo $PKGNAM-*.tar.?z | rev | cut -f 3- -d . | cut -f 1 -d - | rev)}
+BUILD=${BUILD:-1}
+
+# Automatically determine the architecture we're building on:
+if [ -z "$ARCH" ]; then
+ case "$(uname -m)" in
+ i?86) ARCH=i586 ;;
+ arm*) readelf /usr/bin/file -A | egrep -q "Tag_CPU.*[4,5]" && ARCH=arm || ARCH=armv7hl ;;
+ # Unless $ARCH is already set, use uname -m for all other archs:
+ *) ARCH=$(uname -m) ;;
+ esac
+ export ARCH
+fi
+
+# If the variable PRINT_PACKAGE_NAME is set, then this script will report what
+# the name of the created package would be, and then exit. This information
+# could be useful to other scripts.
+if [ ! -z "${PRINT_PACKAGE_NAME}" ]; then
+ echo "$PKGNAM-$VERSION-$ARCH-$BUILD.txz"
+ exit 0
+fi
+
+NUMJOBS=${NUMJOBS:-" -j$(expr $(nproc) + 1) "}
+
+if [ "$ARCH" = "i586" ]; then
+ SLKCFLAGS="-O2 -march=i586 -mtune=i686"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "i686" ]; then
+ SLKCFLAGS="-O2 -march=i686"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "s390" ]; then
+ SLKCFLAGS="-O2"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "x86_64" ]; then
+ SLKCFLAGS="-O2 -fPIC"
+ LIBDIRSUFFIX="64"
+elif [ "$ARCH" = "armv7hl" ]; then
+ SLKCFLAGS="-O3 -march=armv7-a -mfpu=vfpv3-d16"
+ LIBDIRSUFFIX=""
+else
+ SLKCFLAGS="-O2"
+ LIBDIRSUFFIX=""
+fi
+
+TMP=${TMP:-/tmp}
+PKG=$TMP/package-$PKGNAM
+
+rm -rf $PKG
+mkdir -p $TMP $PKG
+
+cd $TMP
+rm -rf $PKGNAM-$VERSION
+tar xvf $CWD/$PKGNAM-$VERSION.tar.?z || exit 1
+cd $PKGNAM-$VERSION || exit 1
+
+chown -R root:root .
+find . \
+ \( -perm 777 -o -perm 775 -o -perm 711 -o -perm 555 -o -perm 511 \) \
+ -exec chmod 755 {} \+ -o \
+ \( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \
+ -exec chmod 644 {} \+
+
+# Configure, build, and install:
+mkdir cmake-build
+cd cmake-build
+ cmake \
+ -DCMAKE_C_FLAGS="$SLKCFLAGS" \
+ -DCMAKE_CXX_FLAGS="$SLKCFLAGS" \
+ -DCMAKE_INSTALL_PREFIX=/usr \
+ -DLIB_SUFFIX="$LIBDIRSUFFIX" \
+ -DDOC_INSTALL_DIR="doc" \
+ -DMAN_INSTALL_DIR=/usr/man \
+ -DSYSCONF_INSTALL_DIR=/etc \
+ -DCMAKE_BUILD_TYPE=Release \
+ .. || exit 1
+ make $NUMJOBS || make || exit 1
+ make install DESTDIR=$PKG || exit 1
+cd ..
+
+# Don't ship .la files:
+rm -f $PKG/{,usr/}lib${LIBDIRSUFFIX}/*.la
+
+# Strip binaries:
+find $PKG | xargs file | grep -e "executable" -e "shared object" | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
+
+# Add configuration file:
+mkdir -p $PKG/etc/openal
+cp -a alsoftrc.sample $PKG/etc/openal/alsoft.conf.new
+chown root:root $PKG/etc/openal/alsoft.conf.new
+chmod 644 $PKG/etc/openal/alsoft.conf.new
+
+# Add a documentation directory:
+mkdir -p $PKG/usr/doc/${PKGNAM}-$VERSION
+cp -a \
+ COPYING* ChangeLog READMEi* XCompile.txt docs/*.txt \
+ $PKG/usr/doc/${PKGNAM}-$VERSION
+
+# If there's a ChangeLog, installing at least part of the recent history
+# is useful, but don't let it get totally out of control:
+if [ -r ChangeLog ]; then
+ DOCSDIR=$(echo $PKG/usr/doc/${PKGNAM}-$VERSION)
+ cat ChangeLog | head -n 1000 > $DOCSDIR/ChangeLog
+ touch -r ChangeLog $DOCSDIR/ChangeLog
+fi
+
+mkdir -p $PKG/install
+zcat $CWD/doinst.sh.gz > $PKG/install/doinst.sh
+cat $CWD/slack-desc > $PKG/install/slack-desc
+
+cd $PKG
+/sbin/makepkg -l y -c n $TMP/$PKGNAM-$VERSION-$ARCH-$BUILD.txz
diff --git a/source/l/openal-soft/slack-desc b/source/l/openal-soft/slack-desc
new file mode 100644
index 000000000..4dd736793
--- /dev/null
+++ b/source/l/openal-soft/slack-desc
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|'
+# on the right side marks the last column you can put a character in. You must
+# make exactly 11 lines for the formatting to be correct. It's also
+# customary to leave one space after the ':'.
+
+ |-----handy-ruler------------------------------------------------------|
+openal-soft: openal-soft (OpenAL 3D audio API)
+openal-soft:
+openal-soft: OpenAL Soft is an LGPL-licensed, cross-platform, implementation of the
+openal-soft: OpenAL 3D audio API. OpenAL Soft provides capabilities for playing
+openal-soft: audio in a virtual 3D environment. It also facilitates streaming
+openal-soft: audio, multi-channel buffers, and audio capture.
+openal-soft:
+openal-soft: Homepage: https://openal-soft.org
+openal-soft:
+openal-soft:
+openal-soft:
diff --git a/source/l/qt5/.deps b/source/l/qt5/.deps
new file mode 100644
index 000000000..d1eaacd08
--- /dev/null
+++ b/source/l/qt5/.deps
@@ -0,0 +1,2 @@
+OpenAL
+libxkbcommon
diff --git a/source/l/qt5/.url b/source/l/qt5/.url
new file mode 100644
index 000000000..cc9f30beb
--- /dev/null
+++ b/source/l/qt5/.url
@@ -0,0 +1 @@
+https://download.qt.io/official_releases/qt/5.13/5.13.2/single/qt-everywhere-src-5.13.2.tar.xz
diff --git a/source/l/qt5/doinst.sh b/source/l/qt5/doinst.sh
new file mode 100644
index 000000000..3e5691a05
--- /dev/null
+++ b/source/l/qt5/doinst.sh
@@ -0,0 +1,9 @@
+if [ -x /usr/bin/update-desktop-database ]; then
+ /usr/bin/update-desktop-database -q usr/share/applications >/dev/null 2>&1
+fi
+
+if [ -e usr/share/icons/hicolor/icon-theme.cache ]; then
+ if [ -x /usr/bin/gtk-update-icon-cache ]; then
+ /usr/bin/gtk-update-icon-cache usr/share/icons/hicolor >/dev/null 2>&1
+ fi
+fi
diff --git a/source/l/qt5/patches/platformplugin-install-path-fix.patch b/source/l/qt5/patches/platformplugin-install-path-fix.patch
new file mode 100644
index 000000000..db9b33b9b
--- /dev/null
+++ b/source/l/qt5/patches/platformplugin-install-path-fix.patch
@@ -0,0 +1,15 @@
+See https://bugs.webkit.org/show_bug.cgi?id=117077
+
+diff -Naur qt-everywhere-opensource-src-5.0.2.orig/qtwebkit/Source/WebKit/qt/examples/platformplugin/platformplugin.pro qt-everywhere-opensource-src-5.0.2/qtwebkit/Source/WebKit/qt/examples/platformplugin/platformplugin.pro
+--- qt-everywhere-opensource-src-5.0.2.orig/qtwebkit/Source/WebKit/qt/examples/platformplugin/platformplugin.pro 2013-04-09 00:11:38.000000000 +0000
++++ qt-everywhere-opensource-src-5.0.2/qtwebkit/Source/WebKit/qt/examples/platformplugin/platformplugin.pro 2013-05-31 01:18:29.157175082 +0000
+@@ -20,7 +20,8 @@
+ }
+ }
+
+-DESTDIR = $$[QT_INSTALL_PLUGINS]/webkit
++target.path = $$[QT_INSTALL_PLUGINS]/webkit
++INSTALLS += target
+
+ SOURCES += \
+ WebPlugin.cpp \
diff --git a/source/l/qt5/patches/qt5.alsa.patch b/source/l/qt5/patches/qt5.alsa.patch
new file mode 100644
index 000000000..892431b32
--- /dev/null
+++ b/source/l/qt5/patches/qt5.alsa.patch
@@ -0,0 +1,11 @@
+--- qt-everywhere-opensource-src-5.6.0/qtbase/config.tests/unix/alsa/alsatest.cpp.orig 2016-02-29 08:15:48.203031809 +0000
++++ qt-everywhere-opensource-src-5.6.0/qtbase/config.tests/unix/alsa/alsatest.cpp 2016-02-29 08:16:39.712811962 +0000
+@@ -32,7 +32,7 @@
+ ****************************************************************************/
+
+ #include <alsa/asoundlib.h>
+-#if(!(SND_LIB_MAJOR == 1 && SND_LIB_MINOR == 0 && SND_LIB_SUBMINOR >= 10))
++#if(!(SND_LIB_MAJOR == 1 && (SND_LIB_MINOR > 0 || SND_LIB_SUBMINOR >= 10)))
+ #error "Alsa version found too old, require >= 1.0.10"
+ #endif
+
diff --git a/source/l/qt5/patches/qt5.cr206850.patch b/source/l/qt5/patches/qt5.cr206850.patch
new file mode 100644
index 000000000..1fb71df1d
--- /dev/null
+++ b/source/l/qt5/patches/qt5.cr206850.patch
@@ -0,0 +1,43 @@
+The latest MariaDB versions aren't caught properly by the checks in Qt, which
+may cause a regression to appear (regression, because it was already fixed in
+Qt by Dan Vratil): this manifests itself in Akonadi losing its connection to
+the database if running for long periods of time.
+
+Until this is fixed in Qt, you may want to apply this patch in your packages:
+
+https://codereview.qt-project.org/#/c/206850/
+
+From 64588c9bae92ef79f9ca5e87653ffb0962691d0d Mon Sep 17 00:00:00 2001
+From: Andy Shaw <andy.shaw@qt.io>
+Date: Wed, 27 Sep 2017 09:23:10 +0200
+Subject: [PATCH] Extend the MariaDB define check to cover the later versions too
+
+Change-Id: Ide89b4e07feb116bf152cbf3f5630d313e8ba0f1
+---
+ src/plugins/sqldrivers/mysql/qsql_mysql.cpp | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/src/plugins/sqldrivers/mysql/qsql_mysql.cpp b/src/plugins/sqldrivers/mysql/qsql_mysql.cpp
+index 6e428fb..b2d3e85 100644
+--- a/src/plugins/sqldrivers/mysql/qsql_mysql.cpp
++++ b/src/plugins/sqldrivers/mysql/qsql_mysql.cpp
+@@ -1159,14 +1159,14 @@ static void qLibraryInit()
+ # endif // MYSQL_VERSION_ID
+ #endif // Q_NO_MYSQL_EMBEDDED
+
+-#ifdef MARIADB_BASE_VERSION
++#if defined(MARIADB_BASE_VERSION) || defined(MARIADB_VERSION_ID)
+ qAddPostRoutine(mysql_server_end);
+ #endif
+ }
+
+ static void qLibraryEnd()
+ {
+-#if !defined(MARIADB_BASE_VERSION)
++#if !defined(MARIADB_BASE_VERSION) && !defined(MARIADB_VERSION_ID)
+ # if !defined(Q_NO_MYSQL_EMBEDDED)
+ # if MYSQL_VERSION_ID > 40000
+ # if (MYSQL_VERSION_ID >= 40110 && MYSQL_VERSION_ID < 50000) || MYSQL_VERSION_ID >= 50003
+--
+2.7.4
+
diff --git a/source/l/qt5/patches/qt5.cve-2020-0569.patch b/source/l/qt5/patches/qt5.cve-2020-0569.patch
new file mode 100644
index 000000000..fa0efdce3
--- /dev/null
+++ b/source/l/qt5/patches/qt5.cve-2020-0569.patch
@@ -0,0 +1,29 @@
+From bf131e8d2181b3404f5293546ed390999f760404 Mon Sep 17 00:00:00 2001
+From: Olivier Goffart <ogoffart@woboq.com>
+Date: Fri, 8 Nov 2019 11:30:40 +0100
+Subject: Do not load plugin from the $PWD
+
+I see no reason why this would make sense to look for plugins in the current
+directory. And when there are plugins there, it may actually be wrong
+
+Change-Id: I5f5aa168021fedddafce90effde0d5762cd0c4c5
+Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
+---
+ src/corelib/plugin/qpluginloader.cpp | 1 -
+ 1 file changed, 1 deletion(-)
+
+diff --git a/src/corelib/plugin/qpluginloader.cpp b/src/corelib/plugin/qpluginloader.cpp
+index cadff4f32b..c2443dbdda 100644
+--- a/src/corelib/plugin/qpluginloader.cpp
++++ b/src/corelib/plugin/qpluginloader.cpp
+@@ -305,7 +305,6 @@ static QString locatePlugin(const QString& fileName)
+ paths.append(fileName.left(slash)); // don't include the '/'
+ } else {
+ paths = QCoreApplication::libraryPaths();
+- paths.prepend(QStringLiteral(".")); // search in current dir first
+ }
+
+ for (const QString &path : qAsConst(paths)) {
+--
+cgit v1.2.1
+
diff --git a/source/l/qt5/patches/qt5.cve-2020-0570.patch b/source/l/qt5/patches/qt5.cve-2020-0570.patch
new file mode 100644
index 000000000..fa3eb3314
--- /dev/null
+++ b/source/l/qt5/patches/qt5.cve-2020-0570.patch
@@ -0,0 +1,48 @@
+QLibrary/Unix: do not attempt to load a library relative to $PWD
+
+I added the code in commit 5219c37f7c98f37f078fee00fe8ca35d83ff4f5d to
+find libraries in a haswell/ subdir of the main path, but we only need
+to do that transformation if the library is contains at least one
+directory seprator. That is, if the user asks to load "lib/foo", then we
+should try "lib/haswell/foo" (often, the path prefix will be absolute).
+
+When the library name the user requested has no directory separators, we
+let dlopen() do the transformation for us. Testing on Linux confirms
+glibc does so:
+
+$ LD_DEBUG=libs /lib64/ld-linux-x86-64.so.2 --inhibit-cache ./qml -help |& grep Xcursor
+ 1972475: find library=libXcursor.so.1 [0]; searching
+ 1972475: trying file=/usr/lib64/haswell/avx512_1/libXcursor.so.1
+ 1972475: trying file=/usr/lib64/haswell/libXcursor.so.1
+ 1972475: trying file=/usr/lib64/libXcursor.so.1
+ 1972475: calling init: /usr/lib64/libXcursor.so.1
+ 1972475: calling fini: /usr/lib64/libXcursor.so.1 [0]
+
+Fixes: QTBUG-81272
+Change-Id: I596aec77785a4e4e84d5fffd15e89689bb91ffbb
+
+X-Git-Url: https://codereview.qt-project.org/gitweb?p=qt%2Fqtbase.git;a=blobdiff_plain;f=src%2Fcorelib%2Fplugin%2Fqlibrary_unix.cpp;h=135b82cd378b00abe231c2320866d88f8a71b25a;hp=f0de1010d7b7126d83c4365a31924fa080ec334d;hb=27d92ead3a5f3c145f16b96f95a43c5af136a36b;hpb=3b54009b13e9629b75827a59f8537451d25613a4
+
+diff --git a/src/corelib/plugin/qlibrary_unix.cpp b/src/corelib/plugin/qlibrary_unix.cpp
+index f0de1010d7b..135b82cd378 100644
+--- a/src/corelib/plugin/qlibrary_unix.cpp
++++ b/src/corelib/plugin/qlibrary_unix.cpp
+@@ -1,7 +1,7 @@
+ /****************************************************************************
+ **
+ ** Copyright (C) 2016 The Qt Company Ltd.
+-** Copyright (C) 2018 Intel Corporation
++** Copyright (C) 2020 Intel Corporation
+ ** Contact: https://www.qt.io/licensing/
+ **
+ ** This file is part of the QtCore module of the Qt Toolkit.
+@@ -218,6 +218,8 @@ bool QLibraryPrivate::load_sys()
+ for(int suffix = 0; retry && !pHnd && suffix < suffixes.size(); suffix++) {
+ if (!prefixes.at(prefix).isEmpty() && name.startsWith(prefixes.at(prefix)))
+ continue;
++ if (path.isEmpty() && prefixes.at(prefix).contains(QLatin1Char('/')))
++ continue;
+ if (!suffixes.at(suffix).isEmpty() && name.endsWith(suffixes.at(suffix)))
+ continue;
+ if (loadHints & QLibrary::LoadArchiveMemberHint) {
+
diff --git a/source/l/qt5/patches/qt5.delayed_highlight.patch b/source/l/qt5/patches/qt5.delayed_highlight.patch
new file mode 100644
index 000000000..201179bbd
--- /dev/null
+++ b/source/l/qt5/patches/qt5.delayed_highlight.patch
@@ -0,0 +1,72 @@
+From f8f0f3eef1151c9377a5c76ccfa6432e930e1307 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?M=C3=A5rten=20Nordheim?= <marten.nordheim@qt.io>
+Date: Mon, 14 Jan 2019 10:37:42 +0100
+Subject: QSyntaxHighlighter: cancel delayed highlight if done manually
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+It was an implicit effect before which stopped working after
+dec7961709c90f6977d2447f7fa6c6625af41cb2. Reintroduce it as some
+projects used this side-effect as a way to abort the initial
+highlighting.
+
+Change-Id: I5340ee9882a242bc8b5f7f843f1cfe793a65d357
+Reviewed-by: J?drzej Nowacki <jedrzej.nowacki@qt.io>
+---
+ src/gui/text/qsyntaxhighlighter.cpp | 1 +
+ .../qsyntaxhighlighter/tst_qsyntaxhighlighter.cpp | 19 +++++++++++++++++++
+ 2 files changed, 20 insertions(+)
+
+diff --git a/src/gui/text/qsyntaxhighlighter.cpp b/src/gui/text/qsyntaxhighlighter.cpp
+index b09f8b565a..0e07b69868 100644
+--- a/src/gui/text/qsyntaxhighlighter.cpp
++++ b/src/gui/text/qsyntaxhighlighter.cpp
+@@ -376,6 +376,7 @@ void QSyntaxHighlighter::rehighlight()
+
+ QTextCursor cursor(d->doc);
+ d->rehighlight(cursor, QTextCursor::End);
++ d->rehighlightPending = false; // user manually did a full rehighlight
+ }
+
+ /*!
+diff --git a/tests/auto/gui/text/qsyntaxhighlighter/tst_qsyntaxhighlighter.cpp b/tests/auto/gui/text/qsyntaxhighlighter/tst_qsyntaxhighlighter.cpp
+index 9d6ce78b24..c683ecd424 100644
+--- a/tests/auto/gui/text/qsyntaxhighlighter/tst_qsyntaxhighlighter.cpp
++++ b/tests/auto/gui/text/qsyntaxhighlighter/tst_qsyntaxhighlighter.cpp
+@@ -82,6 +82,7 @@ private slots:
+ void preservePreeditArea();
+ void task108530();
+ void avoidUnnecessaryRehighlight();
++ void avoidUnnecessaryDelayedRehighlight();
+ void noContentsChangedDuringHighlight();
+ void rehighlight();
+ void rehighlightBlock();
+@@ -478,6 +479,24 @@ void tst_QSyntaxHighlighter::avoidUnnecessaryRehighlight()
+ QTRY_VERIFY(!hl->highlighted);
+ }
+
++void tst_QSyntaxHighlighter::avoidUnnecessaryDelayedRehighlight()
++{
++ // Having text in the document before creating the highlighter starts the delayed rehighlight
++ cursor.insertText("Hello World");
++
++ TestHighlighter *hl = new TestHighlighter(doc);
++ QVERIFY(!hl->highlighted);
++
++ hl->rehighlight();
++ QVERIFY(hl->highlighted);
++
++ hl->highlighted = false;
++ // Process events, including delayed rehighlight emission
++ QCoreApplication::processEvents();
++ // Should be cancelled and no extra rehighlight should be done
++ QVERIFY(!hl->highlighted);
++}
++
+ void tst_QSyntaxHighlighter::noContentsChangedDuringHighlight()
+ {
+ QVector<QTextLayout::FormatRange> formats;
+--
+cgit v1.2.1
+
diff --git a/source/l/qt5/patches/qt5.glibc224.patch b/source/l/qt5/patches/qt5.glibc224.patch
new file mode 100644
index 000000000..773781acf
--- /dev/null
+++ b/source/l/qt5/patches/qt5.glibc224.patch
@@ -0,0 +1,33 @@
+From b12ffcd411d4776f7120ccecb3be34344d930d2b Mon Sep 17 00:00:00 2001
+From: Allan Sandfeld Jensen <allan.jensen@theqtcompany.com>
+Date: Tue, 9 Aug 2016 16:21:29 +0200
+Subject: Do not depend on Linux 4.5
+
+Avoid using MADV_FREE that was only recently added to Linux. It will fail when
+run on older Linux kernels.
+
+Change-Id: I9b0369fb31402f088b2327c12f70dd39f5e4c8c0
+Reviewed-by: Peter Varga <pvarga@inf.u-szeged.hu>
+---
+ chromium/third_party/WebKit/Source/wtf/PageAllocator.cpp | 5 +++++
+ 1 file changed, 5 insertions(+)
+
+diff --git a/src/3rdparty/chromium/third_party/WebKit/Source/wtf/PageAllocator.cpp b/src/3rdparty/chromium/third_party/WebKit/Source/wtf/PageAllocator.cpp
+index 121b687..be7c3b9 100644
+--- a/src/3rdparty/chromium/third_party/WebKit/Source/wtf/PageAllocator.cpp
++++ b/src/3rdparty/chromium/third_party/WebKit/Source/wtf/PageAllocator.cpp
+@@ -39,6 +39,11 @@
+
+ #include <sys/mman.h>
+
++#if OS(LINUX) && defined(MADV_FREE)
++// Added in Linux 4.5, but we don't want to depend on 4.5 at runtime
++#undef MADV_FREE
++#endif
++
+ #ifndef MADV_FREE
+ #define MADV_FREE MADV_DONTNEED
+ #endif
+--
+cgit v1.0-4-g1e03
+
diff --git a/source/l/qt5/patches/qt5.mysql.h.diff b/source/l/qt5/patches/qt5.mysql.h.diff
new file mode 100644
index 000000000..f1cf11b91
--- /dev/null
+++ b/source/l/qt5/patches/qt5.mysql.h.diff
@@ -0,0 +1,11 @@
+--- qt-everywhere-opensource-src-5.9.0/qtbase/src/plugins/sqldrivers/mysql/qsql_mysql_p.h.orig 2017-05-26 14:43:31.000000000 +0200
++++ qt-everywhere-opensource-src-5.9.0/qtbase/src/plugins/sqldrivers/mysql/qsql_mysql_p.h 2017-06-17 22:11:34.211899826 +0200
+@@ -57,7 +57,7 @@
+ #include <QtCore/qt_windows.h>
+ #endif
+
+-#include <mysql.h>
++#include <mysql/mysql.h>
+
+ #ifdef QT_PLUGIN
+ #define Q_EXPORT_SQLDRIVER_MYSQL
diff --git a/source/l/qt5/patches/qt5.private-includes.patch b/source/l/qt5/patches/qt5.private-includes.patch
new file mode 100644
index 000000000..3ef8ebe42
--- /dev/null
+++ b/source/l/qt5/patches/qt5.private-includes.patch
@@ -0,0 +1,53 @@
+# Taken from http://code.qt.io/cgit/qt/qtbase.git/patch/?id=67aa365d
+# ------------------------------------------------------------------
+
+From 67aa365d41ebfe082b4efcfd725e4d5f08be678c Mon Sep 17 00:00:00 2001
+From: Ulf Hermann <ulf.hermann@qt.io>
+Date: Wed, 25 Apr 2018 12:48:21 +0200
+Subject: Do emit CMake declarations for existing private headers
+
+We need to make sure we don't emit CMake declarations for private
+headers if those headers are absent. However, most of the time we have
+private headers and should add them.
+
+Task-number: QTBUG-37417
+Change-Id: I639eb93d008de27928dedac540894af70c1883b9
+Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io>
+---
+ mkspecs/features/create_cmake.prf | 10 +++++-----
+ 1 file changed, 5 insertions(+), 5 deletions(-)
+
+diff --git a/mkspecs/features/create_cmake.prf b/mkspecs/features/create_cmake.prf
+index 66acedef55..2ed708e085 100644
+--- a/mkspecs/features/create_cmake.prf
++++ b/mkspecs/features/create_cmake.prf
+@@ -28,9 +28,13 @@ CMAKE_OUT_DIR = $$MODULE_BASE_OUTDIR/lib/cmake
+
+ CMAKE_MODULE_NAME = $$cmakeModuleName($${MODULE})
+
++!generated_privates {
++ isEmpty(SYNCQT.INJECTED_PRIVATE_HEADER_FILES):isEmpty(SYNCQT.PRIVATE_HEADER_FILES): \
++ CMAKE_NO_PRIVATE_INCLUDES = true
++}
++
+ split_incpath {
+ CMAKE_ADD_SOURCE_INCLUDE_DIRS = true
+- CMAKE_NO_PRIVATE_INCLUDES = true # Don't add private includes in the build dir which don't exist
+ CMAKE_SOURCE_INCLUDES = \
+ $$cmakeTargetPaths($$QT_MODULE_INCLUDE_BASE $$QT_MODULE_INCLUDE_BASE/Qt$${CMAKE_MODULE_NAME})
+ CMAKE_SOURCE_PRIVATE_INCLUDES = \
+@@ -53,10 +57,6 @@ contains(CMAKE_INCLUDE_DIR, "^\\.\\./.*") {
+ CMAKE_INCLUDE_DIR_IS_ABSOLUTE = True
+ }
+
+-isEmpty(QT.$${MODULE}_private.includes)| \
+- !exists($$first(QT.$${MODULE}_private.includes)): \
+- CMAKE_NO_PRIVATE_INCLUDES = true
+-
+ CMAKE_LIB_DIR = $$cmakeRelativePath($$[QT_INSTALL_LIBS], $$[QT_INSTALL_PREFIX])
+ contains(CMAKE_LIB_DIR,"^\\.\\./.*") {
+ CMAKE_LIB_DIR = $$[QT_INSTALL_LIBS]/
+--
+cgit v1.1-6-g87c4
+
+
diff --git a/source/l/qt5/patches/qt5.pulseaudio.diff b/source/l/qt5/patches/qt5.pulseaudio.diff
new file mode 100644
index 000000000..8d8f616d5
--- /dev/null
+++ b/source/l/qt5/patches/qt5.pulseaudio.diff
@@ -0,0 +1,12 @@
+--- qt-everywhere-opensource-src-5.4.0/qtwebengine/src/3rdparty/chromium/media/media.gyp.orig 2014-12-05 17:26:44.000000000 +0100
++++ qt-everywhere-opensource-src-5.4.0/qtwebengine/src/3rdparty/chromium/media/media.gyp 2014-12-12 10:27:20.393735405 +0100
+@@ -29,7 +29,7 @@
+ ['use_cras==1', {
+ 'use_pulseaudio%': 0,
+ }, {
+- 'use_pulseaudio%': 1,
++ 'use_pulseaudio%': 0,
+ }],
+ ],
+ }, {
+
diff --git a/source/l/qt5/patches/qt5.qlockfile-deadlock.patch b/source/l/qt5/patches/qt5.qlockfile-deadlock.patch
new file mode 100644
index 000000000..e51d5ad05
--- /dev/null
+++ b/source/l/qt5/patches/qt5.qlockfile-deadlock.patch
@@ -0,0 +1,116 @@
+# Taken from:
+# https://projects.archlinux.org/svntogit/packages.git/plain/trunk/qlockfile-deadlock.patch?h=packages/qt5
+# QTBUG-44771
+# ----------------------------------------------------------------------------
+From f58e882b7594c59b6050d3c87562fcf836d10f60 Mon Sep 17 00:00:00 2001
+From: Olivier Goffart <ogoffart@woboq.com>
+Date: Tue, 14 Apr 2015 10:58:26 +0200
+Subject: QLockFile: fix deadlock when the lock file is corrupted
+
+[ChangeLog][QtCore][QLockFile] Fixed a deadlock when the lock file
+is corrupted.
+
+Task-number: QTBUG-44771
+Change-Id: Ic490b09d70ff1cc1733b64949889a73720b2d0f3
+Reviewed-by: David Faure <david.faure@kdab.com>
+---
+ src/corelib/io/qlockfile_unix.cpp | 10 +++++-----
+ src/corelib/io/qlockfile_win.cpp | 22 +++++++++++-----------
+ tests/auto/corelib/io/qlockfile/tst_qlockfile.cpp | 17 +++++++++++++++++
+ 3 files changed, 33 insertions(+), 16 deletions(-)
+
+diff --git a/qtbase/src/corelib/io/qlockfile_unix.cpp b/qtbase/src/corelib/io/qlockfile_unix.cpp
+index bf1015a..dc9f8f7 100644
+--- a/qtbase/src/corelib/io/qlockfile_unix.cpp
++++ b/qtbase/src/corelib/io/qlockfile_unix.cpp
+@@ -181,11 +181,11 @@ bool QLockFilePrivate::isApparentlyStale() const
+ {
+ qint64 pid;
+ QString hostname, appname;
+- if (!getLockInfo(&pid, &hostname, &appname))
+- return false;
+- if (hostname.isEmpty() || hostname == QString::fromLocal8Bit(localHostName())) {
+- if (::kill(pid, 0) == -1 && errno == ESRCH)
+- return true; // PID doesn't exist anymore
++ if (getLockInfo(&pid, &hostname, &appname)) {
++ if (hostname.isEmpty() || hostname == QString::fromLocal8Bit(localHostName())) {
++ if (::kill(pid, 0) == -1 && errno == ESRCH)
++ return true; // PID doesn't exist anymore
++ }
+ }
+ const qint64 age = QFileInfo(fileName).lastModified().msecsTo(QDateTime::currentDateTime());
+ return staleLockTime > 0 && age > staleLockTime;
+diff --git a/qtbase/src/corelib/io/qlockfile_win.cpp b/qtbase/src/corelib/io/qlockfile_win.cpp
+index f9f2909..3587c7b 100644
+--- a/qtbase/src/corelib/io/qlockfile_win.cpp
++++ b/qtbase/src/corelib/io/qlockfile_win.cpp
+@@ -115,21 +115,21 @@ bool QLockFilePrivate::isApparentlyStale() const
+ {
+ qint64 pid;
+ QString hostname, appname;
+- if (!getLockInfo(&pid, &hostname, &appname))
+- return false;
+
+ // On WinRT there seems to be no way of obtaining information about other
+ // processes due to sandboxing
+ #ifndef Q_OS_WINRT
+- if (hostname == QString::fromLocal8Bit(localHostName())) {
+- HANDLE procHandle = ::OpenProcess(PROCESS_QUERY_INFORMATION, FALSE, pid);
+- if (!procHandle)
+- return true;
+- // We got a handle but check if process is still alive
+- DWORD dwR = ::WaitForSingleObject(procHandle, 0);
+- ::CloseHandle(procHandle);
+- if (dwR == WAIT_TIMEOUT)
+- return true;
++ if (getLockInfo(&pid, &hostname, &appname)) {
++ if (hostname == QString::fromLocal8Bit(localHostName())) {
++ HANDLE procHandle = ::OpenProcess(PROCESS_QUERY_INFORMATION, FALSE, pid);
++ if (!procHandle)
++ return true;
++ // We got a handle but check if process is still alive
++ DWORD dwR = ::WaitForSingleObject(procHandle, 0);
++ ::CloseHandle(procHandle);
++ if (dwR == WAIT_TIMEOUT)
++ return true;
++ }
+ }
+ #endif // !Q_OS_WINRT
+ const qint64 age = QFileInfo(fileName).lastModified().msecsTo(QDateTime::currentDateTime());
+diff --git a/qtbase/tests/auto/corelib/io/qlockfile/tst_qlockfile.cpp b/qtbase/tests/auto/corelib/io/qlockfile/tst_qlockfile.cpp
+index 77bef94..12bea67 100644
+--- a/qtbase/tests/auto/corelib/io/qlockfile/tst_qlockfile.cpp
++++ b/qtbase/tests/auto/corelib/io/qlockfile/tst_qlockfile.cpp
+@@ -58,6 +58,7 @@ private slots:
+ void staleLongLockFromBusyProcess();
+ void staleLockRace();
+ void noPermissions();
++ void corruptedLockFile();
+
+ public:
+ QString m_helperApp;
+@@ -415,5 +416,21 @@ void tst_QLockFile::noPermissions()
+ QCOMPARE(int(lockFile.error()), int(QLockFile::PermissionError));
+ }
+
++void tst_QLockFile::corruptedLockFile()
++{
++ const QString fileName = dir.path() + "/corruptedLockFile";
++
++ {
++ // Create a empty file. Typically the result of a computer crash or hard disk full.
++ QFile file(fileName);
++ QVERIFY(file.open(QFile::WriteOnly));
++ }
++
++ QLockFile secondLock(fileName);
++ secondLock.setStaleLockTime(100);
++ QVERIFY(secondLock.tryLock(10000));
++ QCOMPARE(int(secondLock.error()), int(QLockFile::NoError));
++}
++
+ QTEST_MAIN(tst_QLockFile)
+ #include "tst_qlockfile.moc"
+--
+cgit v0.11.0
+
diff --git a/source/l/qt5/patches/qt5.qt5uitoolsconfig.patch b/source/l/qt5/patches/qt5.qt5uitoolsconfig.patch
new file mode 100644
index 000000000..1a0da5b9f
--- /dev/null
+++ b/source/l/qt5/patches/qt5.qt5uitoolsconfig.patch
@@ -0,0 +1,17 @@
+The fix for https://bugreports.qt.io/browse/QTBUG-76244 was not complete.
+Further quoting is needed to deal with empty variables.
+-- Eric Hameleers <alien@slackware.com>
+
+--- qt-everywhere-src-5.13.0/qtbase/mkspecs/features/data/cmake/Qt5BasicConfig.cmake.in.orig 2019-06-13 06:18:18.000000000 +0200
++++ qt-everywhere-src-5.13.0/qtbase/mkspecs/features/data/cmake/Qt5BasicConfig.cmake.in 2019-07-09 19:37:15.253291684 +0200
+@@ -57,8 +57,8 @@
+
+ if(EXISTS \"${prl_file_location}\")
+ file(STRINGS \"${prl_file_location}\" _prl_strings REGEX \"QMAKE_PRL_LIBS[ \\t]*=\")
+- string(REGEX REPLACE \"QMAKE_PRL_LIBS[ \\t]*=[ \\t]*([^\\n]*)\" \"\\\\1\" _static_depends ${_prl_strings})
+- string(REGEX REPLACE \"[ \\t]+\" \";\" _static_depends ${_static_depends})
++ string(REGEX REPLACE \"QMAKE_PRL_LIBS[ \\t]*=[ \\t]*([^\\n]*)\" \"\\\\1\" _static_depends \"${_prl_strings}\")
++ string(REGEX REPLACE \"[ \\t]+\" \";\" _static_depends \"${_static_depends}\")
+ string(REGEX REPLACE \"[ \\t]+\" \";\" _standard_libraries \"${CMAKE_CXX_STANDARD_LIBRARIES}\")
+ set(_search_paths)
+ string(REPLACE \"\\$\\$[QT_INSTALL_LIBS]\" \"${_qt5_install_libs}\" _static_depends \"${_static_depends}\")
diff --git a/source/l/qt5/patches/qt5.qtbase_cmake_isystem_includes.patch b/source/l/qt5/patches/qt5.qtbase_cmake_isystem_includes.patch
new file mode 100644
index 000000000..ff00e63be
--- /dev/null
+++ b/source/l/qt5/patches/qt5.qtbase_cmake_isystem_includes.patch
@@ -0,0 +1,14 @@
+diff -up qtbase-everywhere-src-5.12.1/src/gui/Qt5GuiConfigExtras.cmake.in.foo qtbase-everywhere-src-5.12.1/src/gui/Qt5GuiConfigExtras.cmake.in
+--- qtbase-everywhere-src-5.12.1/src/gui/Qt5GuiConfigExtras.cmake.in.foo 2019-04-30 15:18:24.886346423 -0500
++++ qtbase-everywhere-src-5.12.1/src/gui/Qt5GuiConfigExtras.cmake.in 2019-04-30 15:19:48.303873296 -0500
+@@ -66,8 +66,10 @@ unset(_GL_INCDIRS)
+ # Don\'t check for existence of the "_qt5gui_OPENGL_INCLUDE_DIR" because it is
+ # optional.
+
++if (NOT ${_qt5gui_OPENGL_INCLUDE_DIR} STREQUAL "/usr/include")
+ list(APPEND Qt5Gui_INCLUDE_DIRS ${_qt5gui_OPENGL_INCLUDE_DIR})
+ set_property(TARGET Qt5::Gui APPEND PROPERTY INTERFACE_INCLUDE_DIRECTORIES ${_qt5gui_OPENGL_INCLUDE_DIR})
++endif()
+
+ unset(_qt5gui_OPENGL_INCLUDE_DIR CACHE)
+
diff --git a/source/l/qt5/patches/qt5.qtbug-49061.patch b/source/l/qt5/patches/qt5.qtbug-49061.patch
new file mode 100644
index 000000000..d006edbeb
--- /dev/null
+++ b/source/l/qt5/patches/qt5.qtbug-49061.patch
@@ -0,0 +1,80 @@
+#
+# https://github.com/qt/qtbase/commit/494376f9.patch
+#
+From 494376f980e96339b6f1eff7c41336ca4d853065 Mon Sep 17 00:00:00 2001
+From: Thiago Macieira <thiago.macieira@intel.com>
+Date: Thu, 12 Nov 2015 10:14:51 -0800
+Subject: [PATCH] Stop unloading plugins in QPluginLoader and QFactoryLoader
+
+QPluginLoader hasn't unloaded in its destructor since Qt 5.0, but we
+missed the equivalent code in QFactoryLoader (which bypasses
+QPluginLoader). Besides, QPluginLoader::unload() was still doing
+unloading, which it won't anymore.
+
+Not unloading plugins is Qt's policy, as decided during the 5.0
+development process and reaffirmed now in 5.6. This is due to static
+data in plugins leaking out and remaining in use past the unloading of
+the plugin, causing crashes.
+
+This does not affect QLibrary and QLibrary::unload(). Those are meant
+for non-Qt loadable modules, so unloading them may be safe.
+
+Task-number: QTBUG-49061
+Discussed-on: http://lists.qt-project.org/pipermail/development/2015-November/023681.html
+Change-Id: I461e9fc7199748faa187ffff1416070f138df8db
+Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
+Reviewed-by: Lars Knoll <lars.knoll@theqtcompany.com>
+---
+ src/corelib/plugin/qfactoryloader.cpp | 6 ++++--
+ src/corelib/plugin/qpluginloader.cpp | 5 +++--
+ 2 files changed, 7 insertions(+), 4 deletions(-)
+
+diff --git a/src/corelib/plugin/qfactoryloader.cpp b/src/corelib/plugin/qfactoryloader.cpp
+index 53b38c3..c820d53 100644
+--- a/src/corelib/plugin/qfactoryloader.cpp
++++ b/src/corelib/plugin/qfactoryloader.cpp
+@@ -203,10 +203,12 @@ void QFactoryLoader::update()
+ ++keyUsageCount;
+ }
+ }
+- if (keyUsageCount || keys.isEmpty())
++ if (keyUsageCount || keys.isEmpty()) {
++ library->setLoadHints(QLibrary::PreventUnloadHint); // once loaded, don't unload
+ d->libraryList += library;
+- else
++ } else {
+ library->release();
++ }
+ }
+ }
+ #else
+diff --git a/src/corelib/plugin/qpluginloader.cpp b/src/corelib/plugin/qpluginloader.cpp
+index 62067c7..4752f69 100644
+--- a/src/corelib/plugin/qpluginloader.cpp
++++ b/src/corelib/plugin/qpluginloader.cpp
+@@ -154,6 +154,7 @@ QPluginLoader::QPluginLoader(const QString &fileName, QObject *parent)
+ : QObject(parent), d(0), did_load(false)
+ {
+ setFileName(fileName);
++ setLoadHints(QLibrary::PreventUnloadHint);
+ }
+
+ /*!
+@@ -348,7 +349,7 @@ static QString locatePlugin(const QString& fileName)
+ void QPluginLoader::setFileName(const QString &fileName)
+ {
+ #if defined(QT_SHARED)
+- QLibrary::LoadHints lh;
++ QLibrary::LoadHints lh = QLibrary::PreventUnloadHint;
+ if (d) {
+ lh = d->loadHints();
+ d->release();
+@@ -394,7 +395,7 @@ QString QPluginLoader::errorString() const
+ \brief Give the load() function some hints on how it should behave.
+
+ You can give hints on how the symbols in the plugin are
+- resolved. By default, none of the hints are set.
++ resolved. By default since Qt 5.7, QLibrary::PreventUnloadHint is set.
+
+ See the documentation of QLibrary::loadHints for a complete
+ description of how this property works.
diff --git a/source/l/qt5/patches/qt5.qtbug-49452.patch b/source/l/qt5/patches/qt5.qtbug-49452.patch
new file mode 100644
index 000000000..4549ff16e
--- /dev/null
+++ b/source/l/qt5/patches/qt5.qtbug-49452.patch
@@ -0,0 +1,58 @@
+From 6f423555eba55ccdf7287071e10576bc1b687fd2 Mon Sep 17 00:00:00 2001
+From: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io>
+Date: Mon, 1 Aug 2016 13:39:53 +0200
+Subject: [PATCH] REG: Fix unwanted cache flush in Freetype engine
+
+The Freetype cache was almost completely disabled by
+134c6db8587a8ce156d4fa31ffa62605821851b2 because after that
+change, the lockedAlphaMapForGlyph() function would no longer
+cut off early for empty glyphs like spaces, but rather go
+through all alpha map functions before it realized that there
+was nothing to render. This would in turn invalidate the cache
+for every empty glyph, causing all glyphs to be rerendered for
+every isolated word.
+
+This change adds back a cut off. This is only needed in the
+lockedAlphaMapForGlyph() function, since the superclass implementation
+of the other alpha map functions already contains a cut off for
+width/height == 0.
+
+[ChangeLog][Qt Gui][Text] Fixed a performance regression in Freetype
+engine that was introduced in Qt 5.5.
+
+Change-Id: I381285939909e99cc5fb5f3497fecf9fa871f29a
+Task-number: QTBUG-49452
+Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
+---
+ src/gui/text/qfontengine_ft.cpp | 6 +++++-
+ 1 file changed, 5 insertions(+), 1 deletion(-)
+
+diff --git a/src/gui/text/qfontengine_ft.cpp b/src/gui/text/qfontengine_ft.cpp
+index 4de41df..7c878da 100644
+--- a/src/gui/text/qfontengine_ft.cpp
++++ b/src/gui/text/qfontengine_ft.cpp
+@@ -1716,7 +1716,7 @@ glyph_metrics_t QFontEngineFT::alphaMapBoundingBox(glyph_t glyph, QFixed subPixe
+
+ static inline QImage alphaMapFromGlyphData(QFontEngineFT::Glyph *glyph, QFontEngine::GlyphFormat glyphFormat)
+ {
+- if (glyph == Q_NULLPTR)
++ if (glyph == Q_NULLPTR || glyph->height == 0 || glyph->width == 0)
+ return QImage();
+
+ QImage::Format format = QImage::Format_Invalid;
+@@ -1764,11 +1764,15 @@ QImage *QFontEngineFT::lockedAlphaMapForGlyph(glyph_t glyphIndex, QFixed subPixe
+
+ currentlyLockedAlphaMap = alphaMapFromGlyphData(glyph, neededFormat);
+
++ const bool glyphHasGeometry = glyph != Q_NULLPTR && glyph->height != 0 && glyph->width != 0;
+ if (!cacheEnabled && glyph != &emptyGlyph) {
+ currentlyLockedAlphaMap = currentlyLockedAlphaMap.copy();
+ delete glyph;
+ }
+
++ if (!glyphHasGeometry)
++ return Q_NULLPTR;
++
+ if (currentlyLockedAlphaMap.isNull())
+ return QFontEngine::lockedAlphaMapForGlyph(glyphIndex, subPixelPosition, neededFormat, t, offset);
+
diff --git a/source/l/qt5/patches/qt5.qtbug-51621.patch b/source/l/qt5/patches/qt5.qtbug-51621.patch
new file mode 100644
index 000000000..187a3d785
--- /dev/null
+++ b/source/l/qt5/patches/qt5.qtbug-51621.patch
@@ -0,0 +1,39 @@
+build with explicitlib after all
+
+unlike speculated in 2fe363514, this is not a workaround at all: it
+causes that libraries' public link interfaces (LIBS) are exported in the
+first place. unlike with staticlib, this does not export LIBS_PRIVATE,
+so it wouldn't even be a particularly effective workaround for rpath
+brokenness anyway.
+
+the problem was pretty well hidden by the qt module system, which at the
+level of libraries is pretty redundant with the .prl file handling,
+which shows just how stupid the whole "design" is.
+
+unlike before, we now enable explicitlib for all libraries, not just qt
+modules - we enable create_prl for all of them as well, after all.
+
+an immediate effect of this change is that it fixes linking on RaspPI:
+the qtcore headers make the user code require linking libatomic, so we
+must add it to our public link interface.
+
+Task-number: QTBUG-51621
+Change-Id: I5742c88694db8e8a9b79d17222dc6df2b38e5ab2
+
+X-Git-Url: https://codereview.qt-project.org/gitweb?p=qt%2Fqtbase.git;a=blobdiff_plain;f=mkspecs%2Ffeatures%2Fqt_build_config.prf;h=b3081b960ec192c3421d7a1c2bd5a628f0ca8455;hp=518fd93f0457c6060721c38ad8b6a0286407e562;hb=268e7ee9778de79d2485bdd028721ec7adbc1324;hpb=495e8c205424253186bef47421de63534d23dd59
+
+diff --git a/mkspecs/features/qt_build_config.prf b/mkspecs/features/qt_build_config.prf
+index 518fd93..b3081b9 100644
+--- a/mkspecs/features/qt_build_config.prf
++++ b/mkspecs/features/qt_build_config.prf
+@@ -72,6 +72,10 @@ CONFIG += \
+ # However, testcases should be still built with exceptions.
+ exceptions_off testcase_exceptions
+
++# Under Windows, this is neither necessary (transitive deps are automatically
++# resolved), nor functional (.res files end up in .prl files and break things).
++unix: CONFIG += explicitlib
++
+
+ defineTest(qtBuildPart) {
+ bp = $$eval($$upper($$section(_QMAKE_CONF_, /, -2, -2))_BUILD_PARTS)
diff --git a/source/l/qt5/patches/qt5.qtbug-51648.patch b/source/l/qt5/patches/qt5.qtbug-51648.patch
new file mode 100644
index 000000000..279839b04
--- /dev/null
+++ b/source/l/qt5/patches/qt5.qtbug-51648.patch
@@ -0,0 +1,88 @@
+From b024fbe83863fc57364a52c717d5b43d654bdb5d Mon Sep 17 00:00:00 2001
+From: Weng Xuetian <wengxt@gmail.com>
+Date: Sat, 5 Mar 2016 12:23:21 -0800
+Subject: [PATCH] QtDBus: clean up signal hooks and object tree in
+ closeConnection
+
+If a QObject is added or passed as receiver to QDBusConnection::connect()
+and it is managed by Q_GLOBAL_STATIC or similar mechanism, it is
+possible that when that its destructor is called after the dbus daemon
+thread ends. In that case, QObject::destroyed connected via
+Qt::BlockingQueuedConnection to QDBusConnectionPrivate will cause dead
+lock since the thread is no longer processing events.
+
+Task-number: QTBUG-51648
+Change-Id: I1a1810a6d6d0234af0269d5f3fc1f54101bf1547
+---
+ src/dbus/qdbusconnection_p.h | 1 +
+ src/dbus/qdbusintegrator.cpp | 28 +++++++++++++++++++++++++++-
+ 2 files changed, 28 insertions(+), 1 deletion(-)
+
+diff --git a/src/dbus/qdbusconnection_p.h b/src/dbus/qdbusconnection_p.h
+index c77daf7..565eb83 100644
+--- a/src/dbus/qdbusconnection_p.h
++++ b/src/dbus/qdbusconnection_p.h
+@@ -254,6 +254,7 @@ private:
+ const QVector<int> &metaTypes, int slotIdx);
+
+ SignalHookHash::Iterator removeSignalHookNoLock(SignalHookHash::Iterator it);
++ void disconnectObjectTree(ObjectTreeNode &node);
+
+ bool isServiceRegisteredByThread(const QString &serviceName);
+
+diff --git a/src/dbus/qdbusintegrator.cpp b/src/dbus/qdbusintegrator.cpp
+index cd44861..a3cd47b 100644
+--- a/src/dbus/qdbusintegrator.cpp
++++ b/src/dbus/qdbusintegrator.cpp
+@@ -1030,7 +1030,6 @@ QDBusConnectionPrivate::~QDBusConnectionPrivate()
+ qPrintable(name));
+
+ closeConnection();
+- rootNode.children.clear(); // free resources
+ qDeleteAll(cachedMetaObjects);
+
+ if (mode == ClientMode || mode == PeerMode) {
+@@ -1052,6 +1051,20 @@ QDBusConnectionPrivate::~QDBusConnectionPrivate()
+ }
+ }
+
++void QDBusConnectionPrivate::disconnectObjectTree(QDBusConnectionPrivate::ObjectTreeNode &haystack)
++{
++ QDBusConnectionPrivate::ObjectTreeNode::DataList::Iterator it = haystack.children.begin();
++
++ while (it != haystack.children.end()) {
++ disconnectObjectTree(*it);
++ it++;
++ }
++
++ if (haystack.obj) {
++ haystack.obj->disconnect(this);
++ }
++}
++
+ void QDBusConnectionPrivate::closeConnection()
+ {
+ QDBusWriteLocker locker(CloseConnectionAction, this);
+@@ -1075,6 +1088,19 @@ void QDBusConnectionPrivate::closeConnection()
+ }
+
+ qDeleteAll(pendingCalls);
++
++ // clean up all signal hook and object tree, to avoid QObject::destroyed
++ // being activated to dbus daemon thread which already quits.
++ // dbus connection is already closed, so there is nothing we could do be clean
++ // up everything here.
++ SignalHookHash::iterator sit = signalHooks.begin();
++ while (sit != signalHooks.end()) {
++ sit.value().obj->disconnect(this);
++ sit++;
++ }
++
++ disconnectObjectTree(rootNode);
++ rootNode.children.clear(); // free resources
+ }
+
+ void QDBusConnectionPrivate::checkThread()
+--
+2.7.1
+
diff --git a/source/l/qt5/patches/qt5.qtbug-51649.patch b/source/l/qt5/patches/qt5.qtbug-51649.patch
new file mode 100644
index 000000000..3b7cf9ec6
--- /dev/null
+++ b/source/l/qt5/patches/qt5.qtbug-51649.patch
@@ -0,0 +1,159 @@
+From acde2e69df5dedc624674107596f276125e22864 Mon Sep 17 00:00:00 2001
+From: Weng Xuetian <wengxt@gmail.com>
+Date: Thu, 3 Mar 2016 21:56:53 -0800
+Subject: [PATCH] QtDBus: finish all pending call with error if disconnected
+
+libdbus will send a local signal if connection gets disconnected. When
+this happens, end all pending calls with QDBusError::Disconnected.
+
+Task-number: QTBUG-51649
+Change-Id: I5c7d2a468bb5da746d0c0e53e458c1e376f186a9
+---
+ src/dbus/dbus_minimal_p.h | 2 ++
+ src/dbus/qdbusintegrator.cpp | 26 +++++++++++++++++-----
+ src/dbus/qdbusutil_p.h | 6 +++++
+ .../dbus/qdbusconnection/tst_qdbusconnection.cpp | 22 ++++++++++++++++++
+ .../dbus/qdbusconnection/tst_qdbusconnection.h | 1 +
+ 5 files changed, 51 insertions(+), 6 deletions(-)
+
+diff --git a/src/dbus/dbus_minimal_p.h b/src/dbus/dbus_minimal_p.h
+index f0a2954..8f25b24 100644
+--- a/src/dbus/dbus_minimal_p.h
++++ b/src/dbus/dbus_minimal_p.h
+@@ -99,9 +99,11 @@ typedef dbus_uint32_t dbus_bool_t;
+ /* dbus-shared.h */
+ #define DBUS_SERVICE_DBUS "org.freedesktop.DBus"
+ #define DBUS_PATH_DBUS "/org/freedesktop/DBus"
++#define DBUS_PATH_LOCAL "/org/freedesktop/DBus/Local"
+ #define DBUS_INTERFACE_DBUS "org.freedesktop.DBus"
+ #define DBUS_INTERFACE_INTROSPECTABLE "org.freedesktop.DBus.Introspectable"
+ #define DBUS_INTERFACE_PROPERTIES "org.freedesktop.DBus.Properties"
++#define DBUS_INTERFACE_LOCAL "org.freedesktop.DBus.Local"
+
+ #define DBUS_NAME_FLAG_ALLOW_REPLACEMENT 0x1 /**< Allow another service to become the primary owner if requested */
+ #define DBUS_NAME_FLAG_REPLACE_EXISTING 0x2 /**< Request to replace the current primary owner */
+diff --git a/src/dbus/qdbusintegrator.cpp b/src/dbus/qdbusintegrator.cpp
+index cd44861..320419f 100644
+--- a/src/dbus/qdbusintegrator.cpp
++++ b/src/dbus/qdbusintegrator.cpp
+@@ -519,6 +519,14 @@ bool QDBusConnectionPrivate::handleMessage(const QDBusMessage &amsg)
+ switch (amsg.type()) {
+ case QDBusMessage::SignalMessage:
+ handleSignal(amsg);
++ // Check local disconnected signal from libdbus
++ if (amsg.interface() == QDBusUtil::dbusInterfaceLocal()
++ && amsg.path() == QDBusUtil::dbusPathLocal()
++ && amsg.member() == QDBusUtil::disconnected()
++ && !QDBusMessagePrivate::isLocal(amsg)) {
++ while (!pendingCalls.isEmpty())
++ processFinishedCall(pendingCalls.first());
++ }
+ // if there are any other filters in this DBusConnection,
+ // let them see the signal too
+ return false;
+@@ -1767,10 +1775,16 @@ void QDBusConnectionPrivate::processFinishedCall(QDBusPendingCallPrivate *call)
+
+ QDBusMessage &msg = call->replyMessage;
+ if (call->pending) {
+- // decode the message
+- DBusMessage *reply = q_dbus_pending_call_steal_reply(call->pending);
+- msg = QDBusMessagePrivate::fromDBusMessage(reply, connection->capabilities);
+- q_dbus_message_unref(reply);
++ // when processFinishedCall is called and pending call is not completed,
++ // it means we received disconnected signal from libdbus
++ if (q_dbus_pending_call_get_completed(call->pending)) {
++ // decode the message
++ DBusMessage *reply = q_dbus_pending_call_steal_reply(call->pending);
++ msg = QDBusMessagePrivate::fromDBusMessage(reply, connection->capabilities);
++ q_dbus_message_unref(reply);
++ } else {
++ msg = QDBusMessage::createError(QDBusError::Disconnected, QDBusUtil::disconnectedErrorMessage());
++ }
+ }
+ qDBusDebug() << connection << "got message reply:" << msg;
+
+@@ -2070,8 +2084,8 @@ void QDBusConnectionPrivate::sendInternal(QDBusPendingCallPrivate *pcall, void *
+ pcall->pending = pending;
+ q_dbus_pending_call_set_notify(pending, qDBusResultReceived, pcall, 0);
+
+- // DBus won't notify us when a peer disconnects so we need to track these ourselves
+- if (mode == QDBusConnectionPrivate::PeerMode)
++ // DBus won't notify us when a peer disconnects or server terminates so we need to track these ourselves
++ if (mode == QDBusConnectionPrivate::PeerMode || mode == QDBusConnectionPrivate::ClientMode)
+ pendingCalls.append(pcall);
+
+ return;
+diff --git a/src/dbus/qdbusutil_p.h b/src/dbus/qdbusutil_p.h
+index 8f5ae92..ca70ff9 100644
+--- a/src/dbus/qdbusutil_p.h
++++ b/src/dbus/qdbusutil_p.h
+@@ -155,6 +155,8 @@ namespace QDBusUtil
+ { return QStringLiteral(DBUS_SERVICE_DBUS); }
+ inline QString dbusPath()
+ { return QStringLiteral(DBUS_PATH_DBUS); }
++ inline QString dbusPathLocal()
++ { return QStringLiteral(DBUS_PATH_LOCAL); }
+ inline QString dbusInterface()
+ {
+ // it's the same string, but just be sure
+@@ -165,8 +167,12 @@ namespace QDBusUtil
+ { return QStringLiteral(DBUS_INTERFACE_PROPERTIES); }
+ inline QString dbusInterfaceIntrospectable()
+ { return QStringLiteral(DBUS_INTERFACE_INTROSPECTABLE); }
++ inline QString dbusInterfaceLocal()
++ { return QStringLiteral(DBUS_INTERFACE_LOCAL); }
+ inline QString nameOwnerChanged()
+ { return QStringLiteral("NameOwnerChanged"); }
++ inline QString disconnected()
++ { return QStringLiteral("Disconnected"); }
+ inline QString disconnectedErrorMessage()
+ { return QStringLiteral("Not connected to D-Bus server"); }
+ }
+diff --git a/tests/auto/dbus/qdbusconnection/tst_qdbusconnection.cpp b/tests/auto/dbus/qdbusconnection/tst_qdbusconnection.cpp
+index e91f87d..6c7e6b1 100644
+--- a/tests/auto/dbus/qdbusconnection/tst_qdbusconnection.cpp
++++ b/tests/auto/dbus/qdbusconnection/tst_qdbusconnection.cpp
+@@ -1218,6 +1218,28 @@ void tst_QDBusConnection::callVirtualObjectLocal()
+ QCOMPARE(obj.replyArguments, subPathReply.arguments());
+ }
+
++void tst_QDBusConnection::pendingCallWhenDisconnected()
++{
++ QDBusServer *server = new QDBusServer;
++ QDBusConnection con = QDBusConnection::connectToPeer(server->address(), "disconnect");
++ QTestEventLoop::instance().enterLoop(2);
++ QVERIFY(!QTestEventLoop::instance().timeout());
++ QVERIFY(con.isConnected());
++
++ delete server;
++
++ // Make sure we call the method before we know it is disconnected.
++ QVERIFY(con.isConnected());
++ QDBusMessage message = QDBusMessage::createMethodCall("", "/", QString(), "method");
++ QDBusPendingCall reply = con.asyncCall(message);
++
++ QTestEventLoop::instance().enterLoop(2);
++ QVERIFY(!con.isConnected());
++ QVERIFY(reply.isFinished());
++ QVERIFY(reply.isError());
++ QVERIFY(reply.error().type() == QDBusError::Disconnected);
++}
++
+ QString MyObject::path;
+ QString MyObjectWithoutInterface::path;
+ QString MyObjectWithoutInterface::interface;
+diff --git a/tests/auto/dbus/qdbusconnection/tst_qdbusconnection.h b/tests/auto/dbus/qdbusconnection/tst_qdbusconnection.h
+index a53ba32..720e484 100644
+--- a/tests/auto/dbus/qdbusconnection/tst_qdbusconnection.h
++++ b/tests/auto/dbus/qdbusconnection/tst_qdbusconnection.h
+@@ -121,6 +121,7 @@ private slots:
+ void registerVirtualObject();
+ void callVirtualObject();
+ void callVirtualObjectLocal();
++ void pendingCallWhenDisconnected();
+
+ public:
+ QString serviceName() const { return "org.qtproject.Qt.Autotests.QDBusConnection"; }
+--
+2.7.1
+
diff --git a/source/l/qt5/patches/qt5.qtbug-51676.patch b/source/l/qt5/patches/qt5.qtbug-51676.patch
new file mode 100644
index 000000000..8672a2136
--- /dev/null
+++ b/source/l/qt5/patches/qt5.qtbug-51676.patch
@@ -0,0 +1,126 @@
+From 11c5e716b08b6b3c5a7c9fce96b0cde8624ec869 Mon Sep 17 00:00:00 2001
+From: Thiago Macieira <thiago.macieira@intel.com>
+Date: Tue, 15 Mar 2016 11:00:20 -0700
+Subject: [PATCH] Fix QtDBus deadlock inside kded/kiod
+
+Whenever a message spy was installed, we failed to actually process
+looped-back messages by queueing them for processing by the spy. That
+had as a consequence that the caller got an error reply. Worse, since
+the message had been queued, QtDBus would attempt to deliver it later.
+Since that message had isLocal==true, bad things happened inside the
+manager thread.
+
+The correct solution is not to queue the message for the filter. If the
+message is local, then simply deliver directly, as we're still in the
+user's thread. This used to be the behavior in Qt 5.5.
+
+Task-number: QTBUG-51676
+Change-Id: I1dc112894cde7121e8ce302ae51b438ade1ff612
+---
+ src/dbus/qdbusintegrator.cpp | 42 ++++++++++++++++++++++++++++++++----------
+ src/dbus/qdbusintegrator_p.h | 1 +
+ 2 files changed, 33 insertions(+), 10 deletions(-)
+
+diff --git a/src/dbus/qdbusintegrator.cpp b/src/dbus/qdbusintegrator.cpp
+index cd44861..478a2c4 100644
+--- a/src/dbus/qdbusintegrator.cpp
++++ b/src/dbus/qdbusintegrator.cpp
+@@ -481,6 +481,11 @@ QDBusSpyCallEvent::~QDBusSpyCallEvent()
+
+ void QDBusSpyCallEvent::placeMetaCall(QObject *)
+ {
++ invokeSpyHooks(msg, hooks, hookCount);
++}
++
++inline void QDBusSpyCallEvent::invokeSpyHooks(const QDBusMessage &msg, const Hook *hooks, int hookCount)
++{
+ // call the spy hook list
+ for (int i = 0; i < hookCount; ++i)
+ hooks[i](msg);
+@@ -509,7 +514,12 @@ bool QDBusConnectionPrivate::handleMessage(const QDBusMessage &amsg)
+ {
+ if (!ref.load())
+ return false;
+- if (!dispatchEnabled && !QDBusMessagePrivate::isLocal(amsg)) {
++
++ // local message are always delivered, regardless of filtering
++ // or whether the dispatcher is enabled
++ bool isLocal = QDBusMessagePrivate::isLocal(amsg);
++
++ if (!dispatchEnabled && !isLocal) {
+ // queue messages only, we'll handle them later
+ qDBusDebug() << this << "delivery is suspended";
+ pendingMessages << amsg;
+@@ -523,13 +533,23 @@ bool QDBusConnectionPrivate::handleMessage(const QDBusMessage &amsg)
+ // let them see the signal too
+ return false;
+ case QDBusMessage::MethodCallMessage:
+- // run it through the spy filters (if any) before the regular processing
++ // run it through the spy filters (if any) before the regular processing:
++ // a) if it's a local message, we're in the caller's thread, so invoke the filter directly
++ // b) if it's an external message, post to the main thread
+ if (Q_UNLIKELY(qDBusSpyHookList.exists()) && qApp) {
+ const QDBusSpyHookList &list = *qDBusSpyHookList;
+- qDBusDebug() << this << "invoking message spies";
+- QCoreApplication::postEvent(qApp, new QDBusSpyCallEvent(this, QDBusConnection(this),
+- amsg, list.constData(), list.size()));
+- return true;
++ if (isLocal) {
++ Q_ASSERT(QThread::currentThread() != thread());
++ qDBusDebug() << this << "invoking message spies directly";
++ QDBusSpyCallEvent::invokeSpyHooks(amsg, list.constData(), list.size());
++ } else {
++ qDBusDebug() << this << "invoking message spies via event";
++ QCoreApplication::postEvent(qApp, new QDBusSpyCallEvent(this, QDBusConnection(this),
++ amsg, list.constData(), list.size()));
++
++ // we'll be called back, so return
++ return true;
++ }
+ }
+
+ handleObjectCall(amsg);
+@@ -1451,9 +1471,9 @@ void QDBusConnectionPrivate::handleObjectCall(const QDBusMessage &msg)
+ // that means the dispatchLock mutex is locked
+ // must not call out to user code in that case
+ //
+- // however, if the message is internal, handleMessage was called
+- // directly and no lock is in place. We can therefore call out to
+- // user code, if necessary
++ // however, if the message is internal, handleMessage was called directly
++ // (user's thread) and no lock is in place. We can therefore call out to
++ // user code, if necessary.
+ ObjectTreeNode result;
+ int usedLength;
+ QThread *objThread = 0;
+@@ -1492,12 +1512,14 @@ void QDBusConnectionPrivate::handleObjectCall(const QDBusMessage &msg)
+ usedLength, msg));
+ return;
+ } else if (objThread != QThread::currentThread()) {
+- // synchronize with other thread
++ // looped-back message, targeting another thread:
++ // synchronize with it
+ postEventToThread(HandleObjectCallPostEventAction, result.obj,
+ new QDBusActivateObjectEvent(QDBusConnection(this), this, result,
+ usedLength, msg, &sem));
+ semWait = true;
+ } else {
++ // looped-back message, targeting current thread
+ semWait = false;
+ }
+ } // release the lock
+diff --git a/src/dbus/qdbusintegrator_p.h b/src/dbus/qdbusintegrator_p.h
+index 2bbebdf..c0d9c22 100644
+--- a/src/dbus/qdbusintegrator_p.h
++++ b/src/dbus/qdbusintegrator_p.h
+@@ -145,6 +145,7 @@ public:
+ {}
+ ~QDBusSpyCallEvent();
+ void placeMetaCall(QObject *) Q_DECL_OVERRIDE;
++ static inline void invokeSpyHooks(const QDBusMessage &msg, const Hook *hooks, int hookCount);
+
+ QDBusConnection conn; // keeps the refcount in QDBusConnectionPrivate up
+ QDBusMessage msg;
+--
+2.7.1
+
diff --git a/source/l/qt5/patches/qt5.qtbug-51890.patch b/source/l/qt5/patches/qt5.qtbug-51890.patch
new file mode 100644
index 000000000..51168b90f
--- /dev/null
+++ b/source/l/qt5/patches/qt5.qtbug-51890.patch
@@ -0,0 +1,82 @@
+QTBUG-51890: qtwebengine fails to build with system nss 3.23
+Patch obtained from:
+https://github.com/qtproject/qtwebengine/commit/82900c7b96b2a6fb42fe3841df7685b820edd588.patch
+
+And modified to exclude the "Subproject commit" lines.
+
+# ----------------------------------------------------------------------------
+
+From 82900c7b96b2a6fb42fe3841df7685b820edd588 Mon Sep 17 00:00:00 2001
+From: Kai Koehne <kai.koehne@theqtcompany.com>
+Date: Thu, 24 Mar 2016 13:55:28 +0100
+Subject: [PATCH] Use system NSS only for certificate handling
+
+Compiling against NSS 3.23 fails with current Chromium. Also, with NSS
+3.21 there are failures connecting to e.g. google.com.
+
+Fix this by adapting the setup endorsed by upstream Chromium: BoringSSL
+is always used for cryptography, and NSS only for certificate handlng.
+
+Patches included in 3rdparty update:
+
+0a385bb [backport] Call EnsureNSSHttpIOInit in the chimera build.
+0472123 Fix build against newer NSS
+90c62c4 <third_party/libpng> [Backport] update to libpng 1.2.56
+34857b8 <third_party/libpng> [Backport] Stop large iCCP chunks causing delays and "Aw Snap!"
+
+Task-number: QTBUG-52193
+Task-number: QTBUG-51890
+Task-number: QTBUG-52068
+Change-Id: If8aaed9b9a09475c5ed0dfec64d31f45ce9670f5
+Reviewed-by: Allan Sandfeld Jensen <allan.jensen@theqtcompany.com>
+---
+ src/3rdparty | 2 +-
+ src/core/config/linux.pri | 9 ++++++---
+ tools/qmake/mkspecs/features/configure.prf | 4 ++--
+ 3 files changed, 9 insertions(+), 6 deletions(-)
+
+#diff --git a/src/3rdparty b/src/3rdparty
+#index 3b2b78c..0a385bb 160000
+#--- a/src/3rdparty
+#+++ b/src/3rdparty
+#@@ -1 +1 @@
+#-Subproject commit 3b2b78caa761db2b7b25dc51c3dae8316f595db1
+#+Subproject commit 0a385bb01d9cf060fae4c9d350ee98561654df96
+diff --git a/src/core/config/linux.pri b/src/core/config/linux.pri
+index 88c1a41..39eeb2a 100644
+--- a/src/core/config/linux.pri
++++ b/src/core/config/linux.pri
+@@ -18,11 +18,14 @@ GYP_CONFIG += \
+ use_gio=0 \
+ use_gnome_keyring=0 \
+ use_kerberos=0 \
+- use_pango=0
++ use_pango=0 \
++ use_openssl=1
+
+-!use?(nss) {
++use?(nss) {
++ GYP_CONFIG += use_nss_certs=1 \
++ use_openssl_certs=0
++} else {
+ GYP_CONFIG += use_nss_certs=0 \
+- use_openssl=1 \
+ use_openssl_certs=1
+ }
+
+diff --git a/tools/qmake/mkspecs/features/configure.prf b/tools/qmake/mkspecs/features/configure.prf
+index 4cb4600..953572d 100644
+--- a/tools/qmake/mkspecs/features/configure.prf
++++ b/tools/qmake/mkspecs/features/configure.prf
+@@ -72,9 +72,9 @@ defineTest(runConfigure) {
+ defineTest(finalizeConfigure) {
+ linux {
+ use?(nss) {
+- log("SSL............................... Using system NSS$${EOL}")
++ log("Certificate handling.............. Using system NSS$${EOL}")
+ } else {
+- log("SSL............................... Using bundled BoringSSL$${EOL}")
++ log("Certificate handling.............. Using bundled BoringSSL$${EOL}")
+ }
+ use?(system_icu) {
+ packagesExist("icu-uc icu-i18n") {
diff --git a/source/l/qt5/patches/qt5.qtbug-51927.patch b/source/l/qt5/patches/qt5.qtbug-51927.patch
new file mode 100644
index 000000000..d253dc15e
--- /dev/null
+++ b/source/l/qt5/patches/qt5.qtbug-51927.patch
@@ -0,0 +1,185 @@
+From 5149aa68eca6ede8836ec4f07a14d22d9da9b161 Mon Sep 17 00:00:00 2001
+From: Mitch Curtis <mitch.curtis@qt.io>
+Date: Tue, 13 Sep 2016 12:42:12 +0200
+Subject: Fix crash on exit when using default property aliases with layouts
+
+The layout was being destroyed before the text, which meant that the
+removeItemChangeListener() call never got hit. To ensure that the
+listener is always removed, loop through each child in QQuickLayout's
+destructor.
+
+This is a manual cherry-pick of
+59c6c0e0b1b5b46747595a58e11311b7393d7e70.
+
+Task-number: QTBUG-51927
+Change-Id: I669f42beb8c3dd6b4b741cae0b16e017bb3409df
+Reviewed-by: J-P Nurmi <jpnurmi@qt.io>
+---
+ src/imports/layouts/qquicklayout.cpp | 4 ++
+ .../qquicklayouts/data/rowlayout/Container.qml | 55 ++++++++++++++++++++++
+ .../qquicklayouts/data/rowlayout/ContainerUser.qml | 53 +++++++++++++++++++++
+ .../quick/qquicklayouts/data/tst_rowlayout.qml | 12 +++++
+ 4 files changed, 124 insertions(+)
+ create mode 100644 tests/auto/quick/qquicklayouts/data/rowlayout/Container.qml
+ create mode 100644 tests/auto/quick/qquicklayouts/data/rowlayout/ContainerUser.qml
+
+diff --git a/src/imports/layouts/qquicklayout.cpp b/src/imports/layouts/qquicklayout.cpp
+index abc8f97..9914826 100644
+--- a/src/imports/layouts/qquicklayout.cpp
++++ b/src/imports/layouts/qquicklayout.cpp
+@@ -698,6 +698,10 @@ QQuickLayout::QQuickLayout(QQuickLayoutPrivate &dd, QQuickItem *parent)
+ QQuickLayout::~QQuickLayout()
+ {
+ d_func()->m_isReady = false;
++
++ const auto childItems = d_func()->childItems;
++ for (QQuickItem *child : childItems)
++ QQuickItemPrivate::get(child)->removeItemChangeListener(this, QQuickItemPrivate::SiblingOrder);
+ }
+
+ QQuickLayoutAttached *QQuickLayout::qmlAttachedProperties(QObject *object)
+diff --git a/tests/auto/quick/qquicklayouts/data/rowlayout/Container.qml b/tests/auto/quick/qquicklayouts/data/rowlayout/Container.qml
+new file mode 100644
+index 0000000..22205c1
+--- /dev/null
++++ b/tests/auto/quick/qquicklayouts/data/rowlayout/Container.qml
+@@ -0,0 +1,55 @@
++/****************************************************************************
++**
++** Copyright (C) 2016 The Qt Company Ltd.
++** Contact: http://www.qt.io/licensing/
++**
++** This file is part of the test suite of the Qt Toolkit.
++**
++** $QT_BEGIN_LICENSE:BSD$
++** You may use this file under the terms of the BSD license as follows:
++**
++** "Redistribution and use in source and binary forms, with or without
++** modification, are permitted provided that the following conditions are
++** met:
++** * Redistributions of source code must retain the above copyright
++** notice, this list of conditions and the following disclaimer.
++** * Redistributions in binary form must reproduce the above copyright
++** notice, this list of conditions and the following disclaimer in
++** the documentation and/or other materials provided with the
++** distribution.
++** * Neither the name of The Qt Company Ltd nor the names of its
++** contributors may be used to endorse or promote products derived
++** from this software without specific prior written permission.
++**
++**
++** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
++** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
++** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
++** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
++** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
++** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
++** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
++** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
++** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
++** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
++** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
++**
++** $QT_END_LICENSE$
++**
++****************************************************************************/
++
++import QtQuick 2.7
++import QtQuick.Layouts 1.3
++
++Item {
++ objectName: "qtbug51927-window"
++ visible: true
++
++ default property alias _contents: customContent.data
++
++ RowLayout {
++ id: customContent
++ objectName: "qtbug51927-columnLayout"
++ anchors.fill: parent
++ }
++}
+diff --git a/tests/auto/quick/qquicklayouts/data/rowlayout/ContainerUser.qml b/tests/auto/quick/qquicklayouts/data/rowlayout/ContainerUser.qml
+new file mode 100644
+index 0000000..ff7ce62
+--- /dev/null
++++ b/tests/auto/quick/qquicklayouts/data/rowlayout/ContainerUser.qml
+@@ -0,0 +1,53 @@
++/****************************************************************************
++**
++** Copyright (C) 2016 The Qt Company Ltd.
++** Contact: http://www.qt.io/licensing/
++**
++** This file is part of the test suite of the Qt Toolkit.
++**
++** $QT_BEGIN_LICENSE:BSD$
++** You may use this file under the terms of the BSD license as follows:
++**
++** "Redistribution and use in source and binary forms, with or without
++** modification, are permitted provided that the following conditions are
++** met:
++** * Redistributions of source code must retain the above copyright
++** notice, this list of conditions and the following disclaimer.
++** * Redistributions in binary form must reproduce the above copyright
++** notice, this list of conditions and the following disclaimer in
++** the documentation and/or other materials provided with the
++** distribution.
++** * Neither the name of The Qt Company Ltd nor the names of its
++** contributors may be used to endorse or promote products derived
++** from this software without specific prior written permission.
++**
++**
++** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
++** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
++** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
++** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
++** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
++** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
++** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
++** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
++** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
++** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
++** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
++**
++** $QT_END_LICENSE$
++**
++****************************************************************************/
++
++import QtQuick 2.6
++import QtQuick.Window 2.2
++
++Container {
++ visible: true
++
++ Text {
++ objectName: "qtbug51927-text"
++ text: qsTr("Hello World")
++ anchors.centerIn: parent
++ renderType: Text.QtRendering
++ }
++}
+diff --git a/tests/auto/quick/qquicklayouts/data/tst_rowlayout.qml b/tests/auto/quick/qquicklayouts/data/tst_rowlayout.qml
+index 33b8fd0..2d4e227 100644
+--- a/tests/auto/quick/qquicklayouts/data/tst_rowlayout.qml
++++ b/tests/auto/quick/qquicklayouts/data/tst_rowlayout.qml
+@@ -926,5 +926,17 @@ Item {
+ waitForRendering(layout)
+ layout.destroy()
+ }
++
++
++ function test_defaultPropertyAliasCrash() {
++ var containerUserComponent = Qt.createComponent("rowlayout/ContainerUser.qml");
++ compare(containerUserComponent.status, Component.Ready);
++
++ var containerUser = containerUserComponent.createObject(testCase);
++ verify(containerUser);
++
++ // Shouldn't crash.
++ containerUser.destroy();
++ }
+ }
+ }
+--
+cgit v1.0-4-g1e03
+
diff --git a/source/l/qt5/patches/qt5.qtbug-53237.patch b/source/l/qt5/patches/qt5.qtbug-53237.patch
new file mode 100644
index 000000000..c6d5739d5
--- /dev/null
+++ b/source/l/qt5/patches/qt5.qtbug-53237.patch
@@ -0,0 +1,90 @@
+From 8e889378115c69508b050a511621ac8e30ec4158 Mon Sep 17 00:00:00 2001
+From: Jesus Fernandez <jesus.fernandez@theqtcompany.com>
+Date: Mon, 13 Jun 2016 19:09:15 +0200
+Subject: [PATCH] Fix UNSIGNED values in QMYSQL
+
+The unsigned flag in columns was ignored when creating the list of
+bound values in a mysql table. So the result iteration with
+QSqlQuery::next stops after the first wrong truncated value.
+
+[ChangeLog][QtSql] Fixed QSqlQuery::prepare value truncation error when
+using UNSIGNED values in a MySQL database.
+
+Task-number: QTBUG-53969
+Task-number: QTBUG-53237
+Change-Id: I10d977993445f2794f1dd8c88b2e83517ef524f3
+Reviewed-by: Milian Wolff <milian.wolff@kdab.com>
+---
+ src/sql/drivers/mysql/qsql_mysql.cpp | 1 +
+ tests/auto/sql/kernel/qsqlquery/tst_qsqlquery.cpp | 39 +++++++++++++++++++++++
+ 2 files changed, 40 insertions(+)
+
+diff --git a/src/sql/drivers/mysql/qsql_mysql.cpp b/src/sql/drivers/mysql/qsql_mysql.cpp
+index 96bdcc4..55bf499 100644
+--- a/src/sql/drivers/mysql/qsql_mysql.cpp
++++ b/src/sql/drivers/mysql/qsql_mysql.cpp
+@@ -387,6 +387,7 @@ bool QMYSQLResultPrivate::bindInValues()
+ bind->buffer_length = f.bufLength = fieldInfo->length + 1;
+ bind->is_null = &f.nullIndicator;
+ bind->length = &f.bufLength;
++ bind->is_unsigned = fieldInfo->flags & UNSIGNED_FLAG ? 1 : 0;
+ f.outField=field;
+
+ ++i;
+diff --git a/tests/auto/sql/kernel/qsqlquery/tst_qsqlquery.cpp b/tests/auto/sql/kernel/qsqlquery/tst_qsqlquery.cpp
+index bd553d5..f1c4333 100644
+--- a/tests/auto/sql/kernel/qsqlquery/tst_qsqlquery.cpp
++++ b/tests/auto/sql/kernel/qsqlquery/tst_qsqlquery.cpp
+@@ -233,6 +233,9 @@ private slots:
+ void QTBUG_36211_data() { generic_data("QPSQL"); }
+ void QTBUG_36211();
+
++ void QTBUG_53969_data() { generic_data("QMYSQL"); }
++ void QTBUG_53969();
++
+ void sqlite_constraint_data() { generic_data("QSQLITE"); }
+ void sqlite_constraint();
+
+@@ -3652,6 +3655,42 @@ void tst_QSqlQuery::QTBUG_36211()
+ }
+ }
+
++void tst_QSqlQuery::QTBUG_53969()
++{
++ QFETCH( QString, dbName );
++ QVector<int> values = QVector<int>() << 10 << 20 << 127 << 128 << 1, tableValues;
++ QSqlDatabase db = QSqlDatabase::database( dbName );
++ CHECK_DATABASE( db );
++ tableValues.reserve(values.size());
++ if (tst_Databases::getDatabaseType(db) == QSqlDriver::MySqlServer) {
++ const QString tableName(qTableName("bug53969", __FILE__, db));
++ tst_Databases::safeDropTable( db, tableName );
++
++ QSqlQuery q(db);
++ QVERIFY_SQL(q, exec(QString("CREATE TABLE %1 (id INT AUTO_INCREMENT PRIMARY KEY, "
++ "test_number TINYINT(3) UNSIGNED)")
++ .arg(tableName)));
++
++ QVERIFY_SQL(q, prepare("INSERT INTO " + tableName + " (test_number) VALUES (:value)"));
++
++ QVector<int>::iterator begin = values.begin(), end = values.end(), it;
++ for (it = begin; it != end; ++it) {
++ q.bindValue(":value", *it);
++ QVERIFY_SQL(q, exec());
++ }
++
++ QVERIFY_SQL(q, prepare("SELECT test_number FROM " + tableName));
++ QVERIFY_SQL(q, exec());
++
++ while (q.next()) {
++ bool ok;
++ tableValues.push_back(q.value(0).toUInt(&ok));
++ QVERIFY(ok);
++ }
++ QCOMPARE(values, tableValues);
++ }
++}
++
+ void tst_QSqlQuery::oraOCINumber()
+ {
+ QFETCH( QString, dbName );
diff --git a/source/l/qt5/patches/qt5.qtbug-55583.patch b/source/l/qt5/patches/qt5.qtbug-55583.patch
new file mode 100644
index 000000000..804f53832
--- /dev/null
+++ b/source/l/qt5/patches/qt5.qtbug-55583.patch
@@ -0,0 +1,41 @@
+#
+# https://github.com/qt/qtbase/commit/84ea00d4.patch
+#
+From 84ea00d47049d882f2fabf1446ec6c6eb5fe3038 Mon Sep 17 00:00:00 2001
+From: J-P Nurmi <jpnurmi@qt.io>
+Date: Tue, 6 Dec 2016 16:30:31 +0100
+Subject: [PATCH] QGtk3Dialog: don't crash on Wayland
+
+Check if it's an X11 window before calling XSetTransientForHint().
+No transient parent will be set for GTK+ dialogs on Wayland. That
+has to be implemented separately.
+
+Task-number: QTBUG-55583
+Change-Id: Iabc2a72681c8157bb2f2fe500892853aa397106b
+Reviewed-by: Dmitry Shachnev <mitya57@gmail.com>
+Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
+---
+ src/plugins/platformthemes/gtk3/qgtk3dialoghelpers.cpp | 10 ++++++----
+ 1 file changed, 6 insertions(+), 4 deletions(-)
+
+diff --git a/src/plugins/platformthemes/gtk3/qgtk3dialoghelpers.cpp b/src/plugins/platformthemes/gtk3/qgtk3dialoghelpers.cpp
+index ba5089a..699b058 100644
+--- a/src/plugins/platformthemes/gtk3/qgtk3dialoghelpers.cpp
++++ b/src/plugins/platformthemes/gtk3/qgtk3dialoghelpers.cpp
+@@ -135,10 +135,12 @@ bool QGtk3Dialog::show(Qt::WindowFlags flags, Qt::WindowModality modality, QWind
+
+ GdkWindow *gdkWindow = gtk_widget_get_window(gtkWidget);
+ if (parent) {
+- GdkDisplay *gdkDisplay = gdk_window_get_display(gdkWindow);
+- XSetTransientForHint(gdk_x11_display_get_xdisplay(gdkDisplay),
+- gdk_x11_window_get_xid(gdkWindow),
+- parent->winId());
++ if (GDK_IS_X11_WINDOW(gdkWindow)) {
++ GdkDisplay *gdkDisplay = gdk_window_get_display(gdkWindow);
++ XSetTransientForHint(gdk_x11_display_get_xdisplay(gdkDisplay),
++ gdk_x11_window_get_xid(gdkWindow),
++ parent->winId());
++ }
+ }
+
+ if (modality != Qt::NonModal) {
diff --git a/source/l/qt5/patches/qt5.qtbug-60558.patch b/source/l/qt5/patches/qt5.qtbug-60558.patch
new file mode 100644
index 000000000..2d039203f
--- /dev/null
+++ b/source/l/qt5/patches/qt5.qtbug-60558.patch
@@ -0,0 +1,32 @@
+https://github.com/qt/qtbase/commit/f45c6c18.patch
+
+From f45c6c180463ccb6620e1d273a264f14a1204a93 Mon Sep 17 00:00:00 2001
+From: Thiago Macieira <thiago.macieira@intel.com>
+Date: Wed, 3 May 2017 14:08:50 -0700
+Subject: [PATCH] QInternal::unregisterCallback: don't crash on unregistering
+ during exit
+
+Task-number: QTBUG-60558
+Change-Id: Ica9894dc9b5e48278fd4fffd14bb34c6d98d2555
+Reviewed-by: Olivier Goffart (Woboq GmbH) <ogoffart@woboq.com>
+---
+ src/corelib/global/qglobal.cpp | 6 ++++--
+ 1 file changed, 4 insertions(+), 2 deletions(-)
+
+diff --git a/src/corelib/global/qglobal.cpp b/src/corelib/global/qglobal.cpp
+index c37503f3db..22fc20d47e 100644
+--- a/src/corelib/global/qglobal.cpp
++++ b/src/corelib/global/qglobal.cpp
+@@ -3988,8 +3988,10 @@ bool QInternal::registerCallback(Callback cb, qInternalCallback callback)
+ bool QInternal::unregisterCallback(Callback cb, qInternalCallback callback)
+ {
+ if (cb >= 0 && cb < QInternal::LastCallback) {
+- QInternal_CallBackTable *cbt = global_callback_table();
+- return (bool) cbt->callbacks[cb].removeAll(callback);
++ if (global_callback_table.exists()) {
++ QInternal_CallBackTable *cbt = global_callback_table();
++ return (bool) cbt->callbacks[cb].removeAll(callback);
++ }
+ }
+ return false;
+ }
diff --git a/source/l/qt5/patches/qt5.qtbug-61140.patch b/source/l/qt5/patches/qt5.qtbug-61140.patch
new file mode 100644
index 000000000..17468a957
--- /dev/null
+++ b/source/l/qt5/patches/qt5.qtbug-61140.patch
@@ -0,0 +1,101 @@
+https://github.com/qt/qtbase/commit/744fd39e.patch
+
+From 744fd39e66b0b44e65a2505d674fa1cda8b205a4 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Tor=20Arne=20Vestb=C3=B8?= <tor.arne.vestbo@qt.io>
+Date: Fri, 2 Jun 2017 11:09:55 +0200
+Subject: [PATCH] xcb: Don't destroy foreign windows
+
+We can't rely on virtual dispatch in the destructor.
+
+Task-number: QTBUG-61140
+Change-Id: Ib1026caf126095778c24254775cb5a0bfecf3a38
+Reviewed-by: Fabian Vogt
+Reviewed-by: Gatis Paeglis <gatis.paeglis@qt.io>
+---
+ src/plugins/platforms/xcb/qxcbintegration.cpp | 18 +-----------------
+ src/plugins/platforms/xcb/qxcbwindow.cpp | 16 ++++++++++------
+ src/plugins/platforms/xcb/qxcbwindow.h | 12 ++++++++++++
+ 3 files changed, 23 insertions(+), 23 deletions(-)
+
+diff --git a/src/plugins/platforms/xcb/qxcbintegration.cpp b/src/plugins/platforms/xcb/qxcbintegration.cpp
+index b414bee204..8e3ee20329 100644
+--- a/src/plugins/platforms/xcb/qxcbintegration.cpp
++++ b/src/plugins/platforms/xcb/qxcbintegration.cpp
+@@ -214,25 +214,9 @@ QPlatformWindow *QXcbIntegration::createPlatformWindow(QWindow *window) const
+ return xcbWindow;
+ }
+
+-class QXcbForeignWindow : public QXcbWindow
+-{
+-public:
+- QXcbForeignWindow(QWindow *window, WId nativeHandle)
+- : QXcbWindow(window) { m_window = nativeHandle; }
+- ~QXcbForeignWindow() {}
+- bool isForeignWindow() const override { return true; }
+-
+-protected:
+- // No-ops
+- void create() override {}
+- void destroy() override {}
+-};
+-
+ QPlatformWindow *QXcbIntegration::createForeignWindow(QWindow *window, WId nativeHandle) const
+ {
+- QXcbWindow *xcbWindow = new QXcbForeignWindow(window, nativeHandle);
+- xcbWindow->create();
+- return xcbWindow;
++ return new QXcbForeignWindow(window, nativeHandle);
+ }
+
+ #ifndef QT_NO_OPENGL
+diff --git a/src/plugins/platforms/xcb/qxcbwindow.cpp b/src/plugins/platforms/xcb/qxcbwindow.cpp
+index 289d0720e7..d6c69d52ef 100644
+--- a/src/plugins/platforms/xcb/qxcbwindow.cpp
++++ b/src/plugins/platforms/xcb/qxcbwindow.cpp
+@@ -597,13 +597,17 @@ QXcbWindow::~QXcbWindow()
+ }
+
+ destroy();
++}
+
+- if (isForeignWindow()) {
+- if (connection()->mouseGrabber() == this)
+- connection()->setMouseGrabber(Q_NULLPTR);
+- if (connection()->mousePressWindow() == this)
+- connection()->setMousePressWindow(Q_NULLPTR);
+- }
++QXcbForeignWindow::~QXcbForeignWindow()
++{
++ // Clear window so that destroy() does not affect it
++ m_window = 0;
++
++ if (connection()->mouseGrabber() == this)
++ connection()->setMouseGrabber(nullptr);
++ if (connection()->mousePressWindow() == this)
++ connection()->setMousePressWindow(nullptr);
+ }
+
+ void QXcbWindow::destroy()
+diff --git a/src/plugins/platforms/xcb/qxcbwindow.h b/src/plugins/platforms/xcb/qxcbwindow.h
+index 56628094ee..f38343b6c2 100644
+--- a/src/plugins/platforms/xcb/qxcbwindow.h
++++ b/src/plugins/platforms/xcb/qxcbwindow.h
+@@ -278,6 +278,18 @@ public Q_SLOTS:
+ xcb_cursor_t m_currentBitmapCursor = XCB_CURSOR_NONE;
+ };
+
++class QXcbForeignWindow : public QXcbWindow
++{
++public:
++ QXcbForeignWindow(QWindow *window, WId nativeHandle)
++ : QXcbWindow(window) { m_window = nativeHandle; }
++ ~QXcbForeignWindow();
++ bool isForeignWindow() const override { return true; }
++
++protected:
++ void create() override {} // No-op
++};
++
+ QT_END_NAMESPACE
+
+ Q_DECLARE_METATYPE(QXcbWindow*)
diff --git a/source/l/qt5/patches/qt5.qtbug-66103.patch b/source/l/qt5/patches/qt5.qtbug-66103.patch
new file mode 100644
index 000000000..62d1b3019
--- /dev/null
+++ b/source/l/qt5/patches/qt5.qtbug-66103.patch
@@ -0,0 +1,172 @@
+https://code.qt.io/cgit/qt/qtbase.git/patch/?id=4a7771f206d4b29be549d3827c36a46679d90de6
+
+From 4a7771f206d4b29be549d3827c36a46679d90de6 Mon Sep 17 00:00:00 2001
+From: Eike Hein <hein@kde.org>
+Date: Sun, 7 Jan 2018 13:02:01 +0900
+Subject: QSimpleDrag: Fix mouse release coords for delayed event transmission
+
+On platforms such as XCB, the drag cursor pixmap is shown via a window
+(a QShapedPixmapWindow) under the cursor.
+
+The mouse button release event at the end of the drag is received in
+this QXcbWindow, but intercepted by an event filter that QSimpleDrag
+installs on the QApplication. It then resends it unmodified(!) after
+the drag has ended and the drag pixmap window destroyed, causing it to
+be delivered to the new top-level window.
+
+The local coordinates in the unmodified QMouseEvent are local to the
+drag pixmap window and don't match the window it is delayed-transmitted
+to.
+
+This ends up having fatal, user-visible effects particularly in Qt
+Quick: QQuickWindow synthesizes a hover event once per frame using
+the last received mouse coordinates, here: the release posted by
+QSimpleDrag. This is done to update the hover event state for items
+under the cursor when the mouse hasn't moved (e.g. QQuickMouseArea::
+containsMouse). The bogus event coordinates in the release event then
+usually end up causing an item near the top-left of the QQuickWindow
+to assume it is hovered (because drag pixmap windows tend to be small),
+even when the mouse cursor is actually far away from it at the end of
+the drag.
+
+This shows up e.g. in the Plasma 5 desktop, where dragging an icon
+on the desktop will cause the icon at the top-left of the screen (if
+any) to switch to hovered state, as the release coordinates on the
+drag pixmap window (showing a dragged icon) fall into the geometry
+of the top-left icon.
+
+QSimpleDrag contains a topLevelAt() function to find the top-level
+window under the global cursor coordinates that is not the drag
+pixmap window. This is used by the drop event delivery code.
+
+This patch uses this function to find the relevant top-level window,
+then asks it to map the global cusor coordinates to its local
+coordinate system, then synthesizes a new QMouseEvent with local
+coordinates computed in this fashion. As a result the window now
+gets a release event with coordinates that make sense and are
+correct.
+
+Task-number: QTBUG-66103
+Change-Id: I04ebe6ccd4a991fdd4b540ff0227973ea8896a9d
+Reviewed-by: Eike Hein <hein@kde.org>
+Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
+---
+ src/gui/kernel/qsimpledrag.cpp | 32 +++++++++++++++++++++++++++-----
+ src/gui/kernel/qsimpledrag_p.h | 6 +++---
+ 2 files changed, 30 insertions(+), 8 deletions(-)
+
+diff --git a/src/gui/kernel/qsimpledrag.cpp b/src/gui/kernel/qsimpledrag.cpp
+index a1e25dc53c..87d3ba5915 100644
+--- a/src/gui/kernel/qsimpledrag.cpp
++++ b/src/gui/kernel/qsimpledrag.cpp
+@@ -58,6 +58,7 @@
+
+ #include <QtCore/QEventLoop>
+ #include <QtCore/QDebug>
++#include <QtCore/QLoggingCategory>
+
+ #include <private/qguiapplication_p.h>
+ #include <private/qdnd_p.h>
+@@ -69,6 +70,8 @@ QT_BEGIN_NAMESPACE
+
+ #ifndef QT_NO_DRAGANDDROP
+
++Q_LOGGING_CATEGORY(lcDnd, "qt.gui.dnd")
++
+ static QWindow* topLevelAt(const QPoint &pos)
+ {
+ QWindowList list = QGuiApplication::topLevelWindows();
+@@ -94,10 +97,10 @@ static QWindow* topLevelAt(const QPoint &pos)
+ */
+
+ QBasicDrag::QBasicDrag() :
+- m_restoreCursor(false), m_eventLoop(0),
++ m_current_window(nullptr), m_restoreCursor(false), m_eventLoop(nullptr),
+ m_executed_drop_action(Qt::IgnoreAction), m_can_drop(false),
+- m_drag(0), m_drag_icon_window(0), m_useCompositing(true),
+- m_screen(Q_NULLPTR)
++ m_drag(nullptr), m_drag_icon_window(nullptr), m_useCompositing(true),
++ m_screen(nullptr)
+ {
+ }
+
+@@ -161,6 +164,7 @@ bool QBasicDrag::eventFilter(QObject *o, QEvent *e)
+ return true; // Eat all mouse move events
+ }
+ case QEvent::MouseButtonRelease:
++ {
+ disableEventFilter();
+ if (canDrop()) {
+ QPoint nativePosition = getNativeMousePos(e, m_drag_icon_window);
+@@ -169,8 +173,25 @@ bool QBasicDrag::eventFilter(QObject *o, QEvent *e)
+ cancel();
+ }
+ exitDndEventLoop();
+- QCoreApplication::postEvent(o, new QMouseEvent(*static_cast<QMouseEvent *>(e)));
++
++ // If a QShapedPixmapWindow (drag feedback) is being dragged along, the
++ // mouse event's localPos() will be relative to that, which is useless.
++ // We want a position relative to the window where the drag ends, if possible (?).
++ // If there is no such window (belonging to this Qt application),
++ // make the event relative to the window where the drag started. (QTBUG-66103)
++ const QMouseEvent *release = static_cast<QMouseEvent *>(e);
++ const QWindow *releaseWindow = topLevelAt(release->globalPos());
++ qCDebug(lcDnd) << "mouse released over" << releaseWindow << "after drag from" << m_current_window << "globalPos" << release->globalPos();
++ if (!releaseWindow)
++ releaseWindow = m_current_window;
++ QPoint releaseWindowPos = (releaseWindow ? releaseWindow->mapFromGlobal(release->globalPos()) : release->globalPos());
++ QMouseEvent *newRelease = new QMouseEvent(release->type(),
++ releaseWindowPos, releaseWindowPos, release->screenPos(),
++ release->button(), release->buttons(),
++ release->modifiers(), release->source());
++ QCoreApplication::postEvent(o, newRelease);
+ return true; // defer mouse release events until drag event loop has returned
++ }
+ case QEvent::MouseButtonDblClick:
+ case QEvent::Wheel:
+ return true;
+@@ -349,7 +370,7 @@ static inline QPoint fromNativeGlobalPixels(const QPoint &point)
+ into account.
+ */
+
+-QSimpleDrag::QSimpleDrag() : m_current_window(0)
++QSimpleDrag::QSimpleDrag()
+ {
+ }
+
+@@ -373,6 +394,7 @@ void QSimpleDrag::startDrag()
+ updateCursor(Qt::IgnoreAction);
+ }
+ setExecutedDropAction(Qt::IgnoreAction);
++ qCDebug(lcDnd) << "drag began from" << m_current_window<< "cursor pos" << QCursor::pos() << "can drop?" << canDrop();
+ }
+
+ void QSimpleDrag::cancel()
+diff --git a/src/gui/kernel/qsimpledrag_p.h b/src/gui/kernel/qsimpledrag_p.h
+index 0b8a0bc703..bbd7f7f4bb 100644
+--- a/src/gui/kernel/qsimpledrag_p.h
++++ b/src/gui/kernel/qsimpledrag_p.h
+@@ -105,6 +105,9 @@ protected:
+
+ QDrag *drag() const { return m_drag; }
+
++protected:
++ QWindow *m_current_window;
++
+ private:
+ void enableEventFilter();
+ void disableEventFilter();
+@@ -132,9 +135,6 @@ protected:
+ virtual void cancel() Q_DECL_OVERRIDE;
+ virtual void move(const QPoint &globalPos) Q_DECL_OVERRIDE;
+ virtual void drop(const QPoint &globalPos) Q_DECL_OVERRIDE;
+-
+-private:
+- QWindow *m_current_window;
+ };
+
+ #endif // QT_NO_DRAGANDDROP
+--
+cgit v1.1-6-g87c4
+
+
diff --git a/source/l/qt5/patches/qt5.qtbug-69310.patch b/source/l/qt5/patches/qt5.qtbug-69310.patch
new file mode 100644
index 000000000..b92462733
--- /dev/null
+++ b/source/l/qt5/patches/qt5.qtbug-69310.patch
@@ -0,0 +1,37 @@
+From fcba9fa861574f33e1d2e54d8c8d6da8062927cd Mon Sep 17 00:00:00 2001
+From: Allan Sandfeld Jensen <allan.jensen@qt.io>
+Date: Wed, 23 Jan 2019 10:42:12 +0100
+Subject: Fix regression in QPlainTextEdit updating
+
+It was incorrectly counting a block having more than one line as having
+changed visibility.
+
+Fixes: QTBUG-69310
+Change-Id: I502cda1d3e8a4efb1c14122353cc0a4731d8581c
+Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@qt.io>
+---
+ src/widgets/widgets/qplaintextedit.cpp | 7 ++++---
+ 1 file changed, 4 insertions(+), 3 deletions(-)
+
+diff --git a/src/widgets/widgets/qplaintextedit.cpp b/src/widgets/widgets/qplaintextedit.cpp
+index d6f6a364a8..57f2dec8f7 100644
+--- a/src/widgets/widgets/qplaintextedit.cpp
++++ b/src/widgets/widgets/qplaintextedit.cpp
+@@ -312,10 +312,11 @@ void QPlainTextDocumentLayout::documentChanged(int from, int charsRemoved, int c
+ QTextBlock block = changeStartBlock;
+ do {
+ block.clearLayout();
+- const int lineCount = block.isVisible() ? 1 : 0;
+- if (block.lineCount() != lineCount) {
++ if (block.isVisible()
++ ? (block.lineCount() == 0)
++ : (block.lineCount() > 0)) {
+ blockVisibilityChanged = true;
+- block.setLineCount(lineCount);
++ block.setLineCount(block.isVisible() ? 1 : 0);
+ }
+ if (block == changeEndBlock)
+ break;
+--
+cgit v1.2.1
+
diff --git a/source/l/qt5/patches/qt5.qtbug-76255.patch b/source/l/qt5/patches/qt5.qtbug-76255.patch
new file mode 100644
index 000000000..678913ce5
--- /dev/null
+++ b/source/l/qt5/patches/qt5.qtbug-76255.patch
@@ -0,0 +1,35 @@
+From cc32a691936f37eaaec618a71edd62f896009c9d Mon Sep 17 00:00:00 2001
+From: Joerg Bornemann <joerg.bornemann@qt.io>
+Date: Fri, 06 Sep 2019 10:54:44 +0200
+Subject: [PATCH] Fix CMake config files for -libdir different from "lib"
+
+When Qt was configured with -libdir different from "lib", one could not
+build with CMake whenever a static lib was pulled in (e.g. uitools).
+
+Do not hard-code "/lib" but use the correct variable also for static
+libraries.
+
+Fixes: QTBUG-76255
+Change-Id: I28c6861752e29e461247628d2b1f8a9ec32f0790
+Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
+Reviewed-by: Fabian Vogt <fabian@ritter-vogt.de>
+---
+
+diff --git a/mkspecs/features/data/cmake/Qt5BasicConfig.cmake.in b/mkspecs/features/data/cmake/Qt5BasicConfig.cmake.in
+index d4fd057..f4a34d6 100644
+--- a/mkspecs/features/data/cmake/Qt5BasicConfig.cmake.in
++++ b/mkspecs/features/data/cmake/Qt5BasicConfig.cmake.in
+@@ -53,7 +53,11 @@
+ set(_lib_deps)
+ set(_link_flags)
+
+- get_filename_component(_qt5_install_libs \"${_qt5$${CMAKE_MODULE_NAME}_install_prefix}/lib\" ABSOLUTE)
++!!IF isEmpty(CMAKE_LIB_DIR_IS_ABSOLUTE)
++ set(_qt5_install_libs \"${_qt5$${CMAKE_MODULE_NAME}_install_prefix}/$${CMAKE_LIB_DIR}\")
++!!ELSE
++ set(_qt5_install_libs \"$${CMAKE_LIB_DIR}\")
++!!ENDIF
+
+ if(EXISTS \"${prl_file_location}\")
+ file(STRINGS \"${prl_file_location}\" _prl_strings REGEX \"QMAKE_PRL_LIBS_FOR_CMAKE[ \\t]*=\")
+
diff --git a/source/l/qt5/patches/qt5.qtbug-77037.patch b/source/l/qt5/patches/qt5.qtbug-77037.patch
new file mode 100644
index 000000000..4dac59a9a
--- /dev/null
+++ b/source/l/qt5/patches/qt5.qtbug-77037.patch
@@ -0,0 +1,89 @@
+From 0b57f15958f07ef12c8944d6db7a33a6fe9d9c59 Mon Sep 17 00:00:00 2001
+From: Allan Sandfeld Jensen <allan.jensen@qt.io>
+Date: Mon, 23 Sep 2019 13:49:53 +0200
+Subject: Fix building with pulseaudio 13
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+The function signature changed though the ABI stayed the same.
+
+Change-Id: I86ca361b5e4f0c523e1031910df438c23beee876
+Fixes: QTBUG-77037
+Reviewed-by: Jüri Valdmann <juri.valdmann@qt.io>
+---
+ chromium/media/audio/pulse/pulse.sigs | 16 ++++++++--------
+ chromium/media/audio/pulse/pulse_stub_header.fragment | 11 +++++++++++
+ 2 files changed, 19 insertions(+), 8 deletions(-)
+
+diff --git a/chromium/media/audio/pulse/pulse.sigs b/chromium/media/audio/pulse/pulse.sigs
+index 8b5888786a9..daaeb149c13 100644
+--- a/chromium/media/audio/pulse/pulse.sigs
++++ b/chromium/media/audio/pulse/pulse.sigs
+@@ -24,11 +24,11 @@ pa_operation* pa_context_get_source_info_by_index(pa_context* c, uint32_t idx, p
+ pa_operation* pa_context_get_source_info_by_name(pa_context* c, const char* name, pa_source_info_cb_t cb, void *userdata);
+ pa_operation* pa_context_get_source_info_list(pa_context* c, pa_source_info_cb_t cb, void* userdata);
+ pa_operation* pa_context_get_sink_info_list(pa_context* c, pa_sink_info_cb_t cb, void* userdata);
+-pa_context_state_t pa_context_get_state(pa_context* c);
++pa_context_state_t pa_context_get_state(const_pa_context_ptr c);
+ pa_context* pa_context_new(pa_mainloop_api* mainloop, const char* name);
+ pa_operation* pa_context_set_source_volume_by_index(pa_context* c, uint32_t idx, const pa_cvolume* volume, pa_context_success_cb_t cb, void* userdata);
+ void pa_context_set_state_callback(pa_context* c, pa_context_notify_cb_t cb, void* userdata);
+-pa_operation_state_t pa_operation_get_state(pa_operation* o);
++pa_operation_state_t pa_operation_get_state(const_pa_operation_ptr o);
+ void pa_context_unref(pa_context* c);
+ void pa_operation_unref(pa_operation* o);
+ int pa_stream_begin_write(pa_stream* p, void** data, size_t* nbytes);
+@@ -38,23 +38,23 @@ pa_operation* pa_stream_cork(pa_stream* s, int b, pa_stream_success_cb_t cb, voi
+ int pa_stream_disconnect(pa_stream* s);
+ int pa_stream_drop(pa_stream *p);
+ pa_operation* pa_stream_flush(pa_stream* s, pa_stream_success_cb_t cb, void* userdata);
+-uint32_t pa_stream_get_device_index(pa_stream* s);
++uint32_t pa_stream_get_device_index(const_pa_stream_ptr s);
+ int pa_stream_get_latency(pa_stream* s, pa_usec_t* r_usec, int* negative);
+-pa_stream_state_t pa_stream_get_state(pa_stream* p);
++pa_stream_state_t pa_stream_get_state(const_pa_stream_ptr p);
+ pa_stream* pa_stream_new(pa_context* c, const char* name, const pa_sample_spec* ss, const pa_channel_map * map);
+ pa_stream* pa_stream_new_with_proplist(pa_context* c, const char* name, const pa_sample_spec* ss, const pa_channel_map* map, pa_proplist* p);
+ pa_proplist* pa_proplist_new(void);
+-int pa_proplist_contains(pa_proplist* p, const char* key);
++int pa_proplist_contains(const_pa_proplist_ptr p, const char* key);
+ void pa_proplist_free(pa_proplist* p);
+-const char* pa_proplist_gets(pa_proplist* p, const char* key);
++const char* pa_proplist_gets(const_pa_proplist_ptr p, const char* key);
+ int pa_proplist_sets(pa_proplist* p, const char* key, const char* value);
+-size_t pa_stream_readable_size(pa_stream *p);
++size_t pa_stream_readable_size(const_pa_stream_ptr p);
+ int pa_stream_peek(pa_stream* p, const void** data, size_t* nbytes);
+ void pa_stream_set_read_callback(pa_stream* p, pa_stream_request_cb_t cb, void* userdata);
+ void pa_stream_set_state_callback(pa_stream* s, pa_stream_notify_cb_t cb, void* userdata);
+ int pa_stream_write(pa_stream* p, const void* data, size_t nbytes, pa_free_cb_t free_cb, int64_t offset, pa_seek_mode_t seek);
+ void pa_stream_set_write_callback(pa_stream *p, pa_stream_request_cb_t cb, void *userdata);
+ void pa_stream_unref(pa_stream* s);
+-int pa_context_errno(pa_context *c);
++int pa_context_errno(const_pa_context_ptr c);
+ const char* pa_strerror(int error);
+ pa_cvolume* pa_cvolume_set(pa_cvolume* a, unsigned channels, pa_volume_t v);
+diff --git a/chromium/media/audio/pulse/pulse_stub_header.fragment b/chromium/media/audio/pulse/pulse_stub_header.fragment
+index 2a2d3e7552b..cdaa841b29f 100644
+--- a/chromium/media/audio/pulse/pulse_stub_header.fragment
++++ b/chromium/media/audio/pulse/pulse_stub_header.fragment
+@@ -5,4 +5,15 @@ extern "C" {
+
+ #include <pulse/pulseaudio.h>
+
++#if PA_MAJOR > 12
++typedef const pa_context* const_pa_context_ptr;
++typedef const pa_operation* const_pa_operation_ptr;
++typedef const pa_proplist* const_pa_proplist_ptr;
++typedef const pa_stream* const_pa_stream_ptr;
++#else
++typedef pa_context* const_pa_context_ptr;
++typedef pa_operation* const_pa_operation_ptr;
++typedef pa_proplist* const_pa_proplist_ptr;
++typedef pa_stream* const_pa_stream_ptr;
++#endif
+ }
+--
+cgit v1.2.1
+
diff --git a/source/l/qt5/patches/qt5.qtbug-77364.patch b/source/l/qt5/patches/qt5.qtbug-77364.patch
new file mode 100644
index 000000000..088856c76
--- /dev/null
+++ b/source/l/qt5/patches/qt5.qtbug-77364.patch
@@ -0,0 +1,13 @@
+diff --git a/src/widgets/kernel/qwidget.cpp b/src/widgets/kernel/qwidget.cpp
+index 04290a4ce1..27773d5762 100644
+--- a/src/widgets/kernel/qwidget.cpp
++++ b/src/widgets/kernel/qwidget.cpp
+@@ -6446,7 +6446,7 @@ void QWidget::setFocusProxy(QWidget * w)
+
+ if (changingAppFocusWidget) {
+ QWidget *newDeepestFocusProxy = d_func()->deepestFocusProxy();
+- QApplicationPrivate::focus_widget = newDeepestFocusProxy ? newDeepestFocusProxy : this;
++ QApplicationPrivate::setFocusWidget(newDeepestFocusProxy ? newDeepestFocusProxy : this, Qt::NoFocusReason);
+ }
+ }
+
diff --git a/source/l/qt5/patches/qt5.webengine_gcc8.patch b/source/l/qt5/patches/qt5.webengine_gcc8.patch
new file mode 100644
index 000000000..cf276bc73
--- /dev/null
+++ b/source/l/qt5/patches/qt5.webengine_gcc8.patch
@@ -0,0 +1,26 @@
+# Prevent these errors caused by using GCC8
+# (original patch taken from Fedora's chromium SRPM):
+#
+# make: *** [Makefile:1028: module-qtwebengine-make_first] Error 2
+# FAILED: obj/mojo/public/c/system/system/thunks.o
+# ../../3rdparty/chromium/mojo/public/c/system/buffer.h:38:42: error: static assertion failed: int64_t has weird alignment
+# ../../3rdparty/chromium/mojo/public/c/system/data_pipe.h:49:42: error: static assertion failed: int64_t has weird alignment
+# ../../3rdparty/chromium/mojo/public/c/system/message_pipe.h:47:42: error: static assertion failed: int64_t has weird alignment
+#
+--- a/src/3rdparty/chromium/mojo/public/c/system/macros.h 2018-05-15 14:58:46.448912634 -0400
++++ b/src/3rdparty/chromium/mojo/public/c/system/macros.h 2018-05-15 14:58:52.041784613 -0400
+@@ -18,7 +18,13 @@
+ #endif
+
+ // Like the C++11 |alignof| operator.
+-#if __cplusplus >= 201103L
++#if defined(__GNUC__) && __GNUC__ >= 8
++// GCC 8 has changed the alignof operator to return the minimal alignment
++// required by the target ABI, instead of the preferred alignment.
++// This means that on 32-bit x86, it will return 4 instead of 8.
++// Use __alignof__ instead to avoid this.
++#define MOJO_ALIGNOF(type) __alignof__(type)
++#elif __cplusplus >= 201103L
+ #define MOJO_ALIGNOF(type) alignof(type)
+ #elif defined(__GNUC__)
+ #define MOJO_ALIGNOF(type) __alignof__(type)
diff --git a/source/l/qt5/patches/qt5.whandle.patch b/source/l/qt5/patches/qt5.whandle.patch
new file mode 100644
index 000000000..4428974d0
--- /dev/null
+++ b/source/l/qt5/patches/qt5.whandle.patch
@@ -0,0 +1,24 @@
+From: Ulf Hermann <ulf.hermann@theqtcompany.com>
+Date: Tue, 27 Oct 2015 14:25:42 +0000 (+0100)
+Subject: WIP: Also do hide/show via WA_OutsideWSRange for native widgets
+X-Git-Url: https://codereview.qt-project.org/gitweb?p=qt%2Fqtbase.git;a=commitdiff_plain;h=5ea44d1d516f0c68a6793279df5c1569ef9fadd2
+
+WIP: Also do hide/show via WA_OutsideWSRange for native widgets
+
+Task-number: QTBUG-48321
+Change-Id: I78ef29975181ee22429c9bd4b11d96d9e68b7a9c
+---
+
+diff --git a/qtbase/src/widgets/kernel/qwidget.cpp b/qtbase/src/widgets/kernel/qwidget.cpp
+index a006246..024005d 100644
+--- a/qtbase/src/widgets/kernel/qwidget.cpp
++++ b/qtbase/src/widgets/kernel/qwidget.cpp
+@@ -7169,7 +7169,7 @@ void QWidgetPrivate::setGeometry_sys(int x, int y, int w, int h, bool isMove)
+
+ bool needsShow = false;
+
+- if (q->isWindow()) {
++ if (q->isWindow() || q->windowHandle()) {
+ if (!(data.window_state & Qt::WindowFullScreen) && (w == 0 || h == 0)) {
+ q->setAttribute(Qt::WA_OutsideWSRange, true);
+ if (q->isVisible() && q->testAttribute(Qt::WA_Mapped))
diff --git a/source/l/qt5/patches/qtbase-qxcbwindow.patch b/source/l/qt5/patches/qtbase-qxcbwindow.patch
new file mode 100644
index 000000000..62a0bb44d
--- /dev/null
+++ b/source/l/qt5/patches/qtbase-qxcbwindow.patch
@@ -0,0 +1,97 @@
+Taken from: https://code.qt.io/cgit/qt/qtbase.git/patch/?id=0c183117
+
+From 0c1831178540462da31fd7a4b6d2e446bc84498b Mon Sep 17 00:00:00 2001
+From: Erik Kurzinger <ekurzinger@nvidia.com>
+Date: Thu, 13 Jun 2019 08:15:50 -0700
+Subject: Track swap interval in QXcbWindow
+
+As per GLX_EXT_swap_control, the GLX swap interval is specified on a
+per-drawable basis. However, QGLXContext only tracks it per-context
+using the m_swapInterval member. If a new drawable is made current to a
+context, it is still necessary to call glXSwapIntervalEXT to change the
+swap interval, even if it has been previously called for the same
+context with a different drawable. However, currently,
+QGLXContext::makeCurrent doesn't do this if its m_swapInterval field
+matches the new swap interval. This change removes m_swapInterval from
+QGLXContext, instead tracking it in QXcbWindow. This still avoids
+unnecessary calls to glXSwapIntervalEXT, while ensuring the swap
+interval is always set for new window drawables.
+
+Change-Id: Idc34101476c6af618059f6f3d8925dee743994a3
+Reviewed-by: Giuseppe D'Angelo <giuseppe.dangelo@kdab.com>
+Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io>
+---
+ .../platforms/xcb/gl_integrations/xcb_glx/qglxintegration.cpp | 6 +++---
+ src/plugins/platforms/xcb/gl_integrations/xcb_glx/qglxintegration.h | 1 -
+ src/plugins/platforms/xcb/qxcbwindow.h | 4 ++++
+ 3 files changed, 7 insertions(+), 4 deletions(-)
+
+diff --git a/src/plugins/platforms/xcb/gl_integrations/xcb_glx/qglxintegration.cpp b/src/plugins/platforms/xcb/gl_integrations/xcb_glx/qglxintegration.cpp
+index 4adf662152..f26f698e76 100644
+--- a/src/plugins/platforms/xcb/gl_integrations/xcb_glx/qglxintegration.cpp
++++ b/src/plugins/platforms/xcb/gl_integrations/xcb_glx/qglxintegration.cpp
+@@ -204,7 +204,6 @@ QGLXContext::QGLXContext(QXcbScreen *screen, const QSurfaceFormat &format, QPlat
+ , m_shareContext(0)
+ , m_format(format)
+ , m_isPBufferCurrent(false)
+- , m_swapInterval(-1)
+ , m_ownsContext(nativeHandle.isNull())
+ , m_getGraphicsResetStatus(0)
+ , m_lost(false)
+@@ -567,9 +566,9 @@ bool QGLXContext::makeCurrent(QPlatformSurface *surface)
+
+ if (success && surfaceClass == QSurface::Window) {
+ int interval = surface->format().swapInterval();
++ QXcbWindow *window = static_cast<QXcbWindow *>(surface);
+ QXcbScreen *screen = screenForPlatformSurface(surface);
+- if (interval >= 0 && m_swapInterval != interval && screen) {
+- m_swapInterval = interval;
++ if (interval >= 0 && interval != window->swapInterval() && screen) {
+ typedef void (*qt_glXSwapIntervalEXT)(Display *, GLXDrawable, int);
+ typedef void (*qt_glXSwapIntervalMESA)(unsigned int);
+ static qt_glXSwapIntervalEXT glXSwapIntervalEXT = 0;
+@@ -588,6 +587,7 @@ bool QGLXContext::makeCurrent(QPlatformSurface *surface)
+ glXSwapIntervalEXT(m_display, glxDrawable, interval);
+ else if (glXSwapIntervalMESA)
+ glXSwapIntervalMESA(interval);
++ window->setSwapInterval(interval);
+ }
+ }
+
+diff --git a/src/plugins/platforms/xcb/gl_integrations/xcb_glx/qglxintegration.h b/src/plugins/platforms/xcb/gl_integrations/xcb_glx/qglxintegration.h
+index be9d3f5dcb..2a88fd6e59 100644
+--- a/src/plugins/platforms/xcb/gl_integrations/xcb_glx/qglxintegration.h
++++ b/src/plugins/platforms/xcb/gl_integrations/xcb_glx/qglxintegration.h
+@@ -87,7 +87,6 @@ private:
+ GLXContext m_shareContext;
+ QSurfaceFormat m_format;
+ bool m_isPBufferCurrent;
+- int m_swapInterval;
+ bool m_ownsContext;
+ GLenum (APIENTRY * m_getGraphicsResetStatus)();
+ bool m_lost;
+diff --git a/src/plugins/platforms/xcb/qxcbwindow.h b/src/plugins/platforms/xcb/qxcbwindow.h
+index f98cd8a74d..8258cc2dfa 100644
+--- a/src/plugins/platforms/xcb/qxcbwindow.h
++++ b/src/plugins/platforms/xcb/qxcbwindow.h
+@@ -184,6 +184,9 @@ public:
+ static void setWindowTitle(const QXcbConnection *conn, xcb_window_t window, const QString &title);
+ static QString windowTitle(const QXcbConnection *conn, xcb_window_t window);
+
++ int swapInterval() const { return m_swapInterval; }
++ void setSwapInterval(int swapInterval) { m_swapInterval = swapInterval; }
++
+ public Q_SLOTS:
+ void updateSyncRequestCounter();
+
+@@ -276,6 +279,7 @@ protected:
+ SyncState m_syncState = NoSyncNeeded;
+
+ QXcbSyncWindowRequest *m_pendingSyncRequest = nullptr;
++ int m_swapInterval = -1;
+ };
+
+ class QXcbForeignWindow : public QXcbWindow
+--
+cgit v1.2.1
+
diff --git a/source/l/qt5/patches/qtbase-zlib-compression.patch b/source/l/qt5/patches/qtbase-zlib-compression.patch
new file mode 100644
index 000000000..a6896a4d9
--- /dev/null
+++ b/source/l/qt5/patches/qtbase-zlib-compression.patch
@@ -0,0 +1,41 @@
+Taken from: https://code.qt.io/cgit/qt/qtbase.git/patch/?id=cbdc9a77
+
+From cbdc9a7786278c31fdb6eb465f32d0374349c1ef Mon Sep 17 00:00:00 2001
+From: Thiago Macieira <thiago.macieira@intel.com>
+Date: Thu, 20 Jun 2019 09:36:46 -0700
+Subject: RCC: Change the default compression to Zlib
+
+Codebases using QResource::isCompressed() and assuming it is Zlib break
+if zstd is enabled. So change the default back to Zlib until Qt 6.0.
+
+[ChangeLog][Important Behavior Changes] RCC's default compression
+algorithm was changed back to Zlib, as it was in all previous releases
+until 5.13.0. The default will remain Zlib for all Qt 5.x releases but
+will change in Qt 6.0. To activate Zstd compression for your resources,
+either pass the --compress-algo=zstd option to the rcc tool or add the
+XML attribute compression-algorithm="zstd" to the <file> tags in the
+.qrc file.
+
+Task-number: QTBUG-76521
+Change-Id: Ief874765cd7b43798de3fffd15a9f56fd9ad1ad4
+Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
+---
+ src/tools/rcc/rcc.cpp | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/src/tools/rcc/rcc.cpp b/src/tools/rcc/rcc.cpp
+index 862e574f2d..011a7db810 100644
+--- a/src/tools/rcc/rcc.cpp
++++ b/src/tools/rcc/rcc.cpp
+@@ -58,7 +58,7 @@ enum {
+ CONSTANT_COMPRESSTHRESHOLD_DEFAULT = 70
+ };
+
+-#if QT_CONFIG(zstd)
++#if QT_CONFIG(zstd) && QT_VERSION >= QT_VERSION_CHECK(6,0,0)
+ # define CONSTANT_COMPRESSALGO_DEFAULT RCCResourceLibrary::CompressionAlgorithm::Zstd
+ #elif !defined(QT_NO_COMPRESS)
+ # define CONSTANT_COMPRESSALGO_DEFAULT RCCResourceLibrary::CompressionAlgorithm::Zlib
+--
+cgit v1.2.1
+
diff --git a/source/l/qt5/profile.d/qt5.csh b/source/l/qt5/profile.d/qt5.csh
new file mode 100644
index 000000000..ec1ecd9be
--- /dev/null
+++ b/source/l/qt5/profile.d/qt5.csh
@@ -0,0 +1,17 @@
+#!/bin/csh
+# Environment path variables for the Qt package:
+if ( ! $?QT5DIR ) then
+ # It's best to use the generic directory to avoid
+ # compiling in a version-containing path:
+ if ( -d /usr/lib@LIBDIRSUFFIX@/qt5 ) then
+ setenv QT5DIR /usr/lib@LIBDIRSUFFIX@/qt5
+ else
+ # Find the newest Qt directory and set $QT5DIR to that:
+ foreach qtd ( /usr/lib@LIBDIRSUFFIX@/qt5-* )
+ if ( -d $qtd ) then
+ setenv QT5DIR $qtd
+ endif
+ end
+ endif
+endif
+set path = ( $path $QT5DIR/bin )
diff --git a/source/l/qt5/profile.d/qt5.sh b/source/l/qt5/profile.d/qt5.sh
new file mode 100644
index 000000000..8ee075e17
--- /dev/null
+++ b/source/l/qt5/profile.d/qt5.sh
@@ -0,0 +1,17 @@
+#!/bin/sh
+# Environment variables for the Qt package.
+#
+# It's best to use the generic directory to avoid
+# compiling in a version-containing path:
+if [ -d /usr/lib@LIBDIRSUFFIX@/qt5 ]; then
+ QT5DIR=/usr/lib@LIBDIRSUFFIX@/qt5
+else
+ # Find the newest Qt directory and set $QT5DIR to that:
+ for qtd in /usr/lib@LIBDIRSUFFIX@/qt5-* ; do
+ if [ -d $qtd ]; then
+ QT5DIR=$qtd
+ fi
+ done
+fi
+PATH="$PATH:$QT5DIR/bin"
+export QT5DIR
diff --git a/source/l/qt5/qt5.SlackBuild b/source/l/qt5/qt5.SlackBuild
new file mode 100755
index 000000000..9ffabd277
--- /dev/null
+++ b/source/l/qt5/qt5.SlackBuild
@@ -0,0 +1,341 @@
+#!/bin/sh
+
+# Copyright 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2018, 2019, 2020 Patrick J. Volkerding, Sebeka, MN, USA
+# All rights reserved.
+#
+# Redistribution and use of this script, with or without modification, is
+# permitted provided that the following conditions are met:
+#
+# 1. Redistributions of this script must retain the above copyright
+# notice, this list of conditions and the following disclaimer.
+#
+# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED
+# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
+# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
+# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
+# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
+# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+# Merged some ideas from Alex Sarmardzic's script for qt4 at SlackBuilds.org
+# ^^ Modified by Robby Workman <rworkman@slackware.com> for QT4 & KDE4
+#
+# Modifications 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2018, 2019 Eric Hameleers, Eindhoven, NL
+# Modifications for qt 5.2.0 2013 by Michael James, AU
+# Modifications for qt 5.x by Eric Hameleers, Eindhoven, NL
+
+cd $(dirname $0) ; CWD=$(pwd)
+
+PKGNAM=qt5
+VERSION=$(ls qt-*.tar.?z | rev | cut -f 3- -d . | cut -f 1 -d - | rev)
+BUILD=${BUILD:-1}
+PKGSRC=$(echo $VERSION | cut -d - -f 1)
+PKGVER=$(echo $VERSION | tr - _)
+
+# Automatically determine the architecture we're building on:
+if [ -z "$ARCH" ]; then
+ case "$(uname -m)" in
+ i?86) ARCH=i586 ;;
+ arm*) readelf /usr/bin/file -A | egrep -q "Tag_CPU.*[4,5]" && ARCH=arm || ARCH=armv7hl ;;
+ # Unless $ARCH is already set, use uname -m for all other archs:
+ *) ARCH=$(uname -m) ;;
+ esac
+ export ARCH
+fi
+
+# If the variable PRINT_PACKAGE_NAME is set, then this script will report what
+# the name of the created package would be, and then exit. This information
+# could be useful to other scripts.
+if [ ! -z "${PRINT_PACKAGE_NAME}" ]; then
+ echo "$PKGNAM-${PKGVER}-${ARCH}-${BUILD}.txz"
+ exit 0
+fi
+
+if [ "$ARCH" = "i486" ]; then
+ SLKCFLAGS="-O2 -march=i486 -mtune=i686"
+ SLKLDFLAGS=""
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "i586" ]; then
+ SLKCFLAGS="-O2 -march=i586 -mtune=i686"
+ SLKLDFLAGS=""
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "s390" ]; then
+ SLKCFLAGS="-O2"
+ SLKLDFLAGS=""
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "x86_64" ]; then
+ SLKCFLAGS="-O2 -fPIC"
+ SLKLDFLAGS=""
+ SLKLDFLAGS="-L/usr/lib64"
+ LIBDIRSUFFIX="64"
+elif [ "$ARCH" = "armv7hl" ]; then
+ # To prevent "qatomic_armv6.h error: output number 2 not directly addressable"
+ # More permanent solution is to patch gcc:
+ # http://bazaar.launchpad.net/~linaro-toolchain-dev/gcc-linaro/4.6/revision/106731
+ SLKCFLAGS="-O2 -march=armv7-a -mfpu=vfpv3-d16 -fno-strict-volatile-bitfields"
+ SLKLDFLAGS=""
+ LIBDIRSUFFIX=""
+else
+ SLKCFLAGS="-O2"
+ SLKLDFLAGS=""
+ LIBDIRSUFFIX=""
+fi
+
+case "$ARCH" in
+ arm*) TARGET=$ARCH-slackware-linux-gnueabi ;;
+ *) TARGET=$ARCH-slackware-linux ;;
+esac
+
+NUMJOBS=${NUMJOBS:-" -j$(expr $(nproc) + 1) "}
+
+TMP=${TMP:-/tmp}
+PKG=$TMP/package-${PKGNAM}
+
+rm -rf $PKG
+mkdir -p $TMP $PKG
+cd $TMP
+rm -rf qt-everywhere-src-$VERSION
+echo "Extracting qt-everywhere-src-$VERSION.tar.xz"
+tar xf $CWD/qt-everywhere-src-$VERSION.tar.xz || exit 1
+cd qt-everywhere-src-$PKGSRC || exit 1
+
+chown -R root:root .
+find . \
+ \( -perm 777 -o -perm 775 -o -perm 711 -o -perm 555 -o -perm 511 \) \
+ -exec chmod 755 {} \+ -o \
+ \( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \
+ -exec chmod 644 {} \+
+
+# Use -reduce-relocations only on i?86 and x86_64 architextures.
+# https://bugreports.qt-project.org/browse/QTBUG-36129
+if echo $ARCH | grep -q '\(i.86\|x86_64\)' 2>/dev/null; then
+ RELOCATIONS="-reduce-relocations"
+else
+ RELOCATIONS=""
+fi
+
+# Fix path to mysql header:
+cat $CWD/patches/qt5.mysql.h.diff | patch -p1 --verbose || exit 1
+
+# CMake generates wrong -isystem /usr/include compilations flags with Qt5::Gui
+# and for it breaks KWin compilation with:
+# /usr/include/c++/9.1.0/cstdlib:75:15: fatal error: stdlib.h: No such file or directory
+# See also https://bugzilla.redhat.com/1704474
+cd qtbase
+ cat $CWD/patches/qt5.qtbase_cmake_isystem_includes.patch \
+ | patch -p1 --verbose || exit 1
+cd - 1>/dev/null
+
+# CVE-2020-0569 (fixed in 5.14.0):
+cd qtbase
+ cat $CWD/patches/qt5.cve-2020-0569.patch \
+ | patch -p1 --verbose || exit 1
+cd - 1>/dev/null
+
+# CVE-2020-0570 (fixed in 5.14.1):
+cd qtbase
+ cat $CWD/patches/qt5.cve-2020-0570.patch \
+ | patch -p1 --verbose || exit 1
+cd - 1>/dev/null
+
+if ! pkg-config --exists libpulse 2>/dev/null ; then
+ # Forcibly disable pulseaudio in qtwebengine:
+ cat $CWD/patches/qt5.pulseaudio.diff | patch -p1 --verbose || exit 1
+ # Disable pulseaudio in Qt5:
+ PACONF="-no-pulseaudio"
+else
+ PACONF=" "
+fi
+
+# Use our custom compiler and linker flags:
+sed -e "s|^\(QMAKE_CFLAGS_RELEASE.*\)|\1 ${SLKCFLAGS}|" \
+ -i qtbase/mkspecs/common/gcc-base.conf || exit 1
+sed -e "s|^\(QMAKE_LFLAGS_RELEASE.*\)|\1 ${SLKLDFLAGS}|" \
+ -i qtbase/mkspecs/common/g++-unix.conf || exit 1
+
+export CFLAGS="$SLKCFLAGS"
+export CXXFLAGS="$SLKCFLAGS"
+export OPENSOURCE_CXXFLAGS="$SLKCFLAGS"
+export QTDIR="${TMP}/qt-everywhere-src-${PKGSRC}"
+export LD_LIBRARY_PATH="${QTDIR}/qtbase/lib:${QTDIR}/qttools/lib:${LD_LIBRARY_PATH}"
+export QT_PLUGIN_PATH="${QTDIR}/qtbase/plugins"
+./configure -v \
+ -confirm-license \
+ -opensource \
+ -prefix /usr \
+ -libdir /usr/lib${LIBDIRSUFFIX} \
+ -bindir /usr/lib${LIBDIRSUFFIX}/qt5/bin \
+ -sysconfdir /etc/xdg \
+ -headerdir /usr/include/qt5 \
+ -datadir /usr/share/qt5 \
+ -archdatadir /usr/lib${LIBDIRSUFFIX}/qt5 \
+ -docdir /usr/doc/qt5-$PKGVER \
+ -examplesdir /usr/doc/qt5-$PKGVER/examples \
+ -proprietary-codecs \
+ -system-libpng \
+ -system-libjpeg \
+ -system-sqlite \
+ -system-zlib \
+ -plugin-sql-mysql \
+ -plugin-sql-sqlite \
+ -accessibility \
+ -alsa \
+ -dbus \
+ -glib \
+ -icu \
+ -opengl \
+ -openssl-linked \
+ -optimized-qmake \
+ -qpa xcb \
+ -qt-harfbuzz \
+ -verbose \
+ -xcb \
+ -nomake examples \
+ -nomake tests \
+ -no-mimetype-database \
+ -no-separate-debug-info \
+ -no-strip \
+ -no-use-gold-linker \
+ -webengine-proprietary-codecs \
+ ${PACONF} \
+ ${RELOCATIONS} \
+ -no-pch \
+ # No-precompiled-headers is ccache-friendly.
+
+# Sometimes a failure happens when parallelizing make. Try again if make fails,
+# but make a failure the second time around (single threaded) a fatal error:
+make $NUMJOBS || make || exit 1
+make install INSTALL_ROOT=$PKG || exit 1
+
+# Strip binaries the Slackware way:
+find $PKG | xargs file | grep -e "executable" -e "shared object" | grep ELF \
+ | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
+
+# Remove rpaths:
+for file in $(find . | xargs file | grep -e "executable" -e "shared object" | grep ELF | cut -f 1 -d : 2> /dev/null) ; do
+ if [ ! "$(patchelf --print-rpath $file 2> /dev/null)" = "" ]; then
+ patchelf --remove-rpath $file
+ fi
+done
+
+# Don't ship .la files:
+rm -f $PKG/usr/lib${LIBDIRSUFFIX}/*.la
+
+# Fix internal linking for Qt5WebEngineCore.pc ,
+# thanks to Larry Hajali's SBo script:
+sed -i \
+ -e 's|-Wl,--start-group.* -Wl,--end-group||' \
+ -e "s|-L${PWD}/qtwebengine/src/core/api/Release||" \
+ $PKG/usr/lib${LIBDIRSUFFIX}/pkgconfig/Qt5WebEngineCore.pc
+
+# Fix the path in prl files:
+find "$PKG/usr/lib${LIBDIRSUFFIX}" -type f -name '*.prl' \
+ -exec sed -i -e '/^QMAKE_PRL_BUILD_DIR/d;s/\(QMAKE_PRL_LIBS =\).*/\1/' {} \;
+
+# Fix the qmake path in pri file:
+sed -i "s,${QTDIR}/qtbase,/usr/lib${LIBDIRSUFFIX}/qt5," \
+ $PKG/usr/lib${LIBDIRSUFFIX}/qt5/mkspecs/modules/qt_lib_bootstrap_private.pri
+
+# Install symlinks to the Qt5 binaries in the $PATH:
+mkdir -p $PKG/usr/bin
+for FILE in $PKG/usr/lib${LIBDIRSUFFIX}/qt5/bin/* ; do
+ ln -s ../lib${LIBDIRSUFFIX}/qt5/bin/$(basename $FILE) $PKG/usr/bin/$(basename $FILE)-qt5
+done
+
+# Set the QT5DIR variable in the environment:
+mkdir -p $PKG/etc/profile.d
+sed -e "s,@LIBDIRSUFFIX@,${LIBDIRSUFFIX},g" $CWD/profile.d/$PKGNAM.sh \
+ > $PKG/etc/profile.d/$PKGNAM.sh
+sed -e "s,@LIBDIRSUFFIX@,${LIBDIRSUFFIX},g" $CWD/profile.d/$PKGNAM.csh \
+ > $PKG/etc/profile.d/$PKGNAM.csh
+chmod 0755 $PKG/etc/profile.d/*
+
+# Add menu entries for all those hidden but great Qt applications:
+# Qt5 logo:
+mkdir -p $PKG/usr/share/icons/hicolor/48x48/apps
+convert qtdoc/doc/src/images/qt-logo.png -resize 48x48 $PKG/usr/share/icons/hicolor/48x48/apps/qt5-logo.png
+# Assistant icons
+install -p -m644 -D qttools/src/assistant/assistant/images/assistant.png $PKG/usr/share/icons/hicolor/32x32/apps/qt5-assistant.png
+install -p -m644 -D qttools/src/assistant/assistant/images/assistant-128.png $PKG/usr/share/icons/hicolor/128x128/apps/qt5-assistant.png
+# Designer icon
+install -p -m644 -D qttools/src/designer/src/designer/images/designer.png $PKG/usr/share/icons/hicolor/128x128/apps/qt5-designer.png
+# QDbusViewer icons
+install -p -m644 qttools/src/qdbus/qdbusviewer/images/qdbusviewer.png $PKG/usr/share/icons/hicolor/32x32/apps/qt5-qdbusviewer.png
+install -p -m644 qttools/src/qdbus/qdbusviewer/images/qdbusviewer-128.png $PKG/usr/share/icons/hicolor/128x128/apps/qt5-qdbusviewer.png
+# Linguist icons
+for icon in qttools/src/linguist/linguist/images/icons/linguist-*-32.png ; do
+ size=$(echo $(basename ${icon}) | cut -d- -f2)
+ install -p -m644 -D ${icon} $PKG/usr/share/icons/hicolor/${size}x${size}/apps/qt5-linguist.png
+done
+
+# And the .desktop files too:
+mkdir -p $PKG/usr/share/applications
+cat <<EOF > $PKG/usr/share/applications/qt5-designer.desktop
+[Desktop Entry]
+Name=Qt5 Designer
+GenericName=Interface Designer
+Comment=Design GUIs for Qt5 applications
+Exec=designer-qt5
+Icon=qt5-designer
+MimeType=application/x-designer;
+Terminal=false
+Encoding=UTF-8
+Type=Application
+Categories=Qt;Development;
+EOF
+cat <<EOF > $PKG/usr/share/applications/qt5-assistant.desktop
+[Desktop Entry]
+Name=Qt5 Assistant
+Comment=Shows Qt5 documentation and examples
+Exec=assistant-qt5
+Icon=qt5-assistant
+Terminal=false
+Encoding=UTF-8
+Type=Application
+Categories=Qt;Development;Documentation;
+EOF
+cat <<EOF > $PKG/usr/share/applications/qt5-linguist.desktop
+[Desktop Entry]
+Name=Qt5 Linguist
+Comment=Add translations to Qt5 applications
+Exec=linguist-qt5
+Icon=qt5-linguist
+MimeType=text/vnd.trolltech.linguist;application/x-linguist;
+Terminal=false
+Encoding=UTF-8
+Type=Application
+Categories=Qt;Development;
+EOF
+cat <<EOF > $PKG/usr/share/applications/qt5-qdbusviewer.desktop
+[Desktop Entry]
+Name=Qt5 QDbusViewer
+GenericName=Qt5 D-Bus Debugger
+Comment=Debug D-Bus applications
+Exec=qdbusviewer-qt5
+Icon=qt5-qdbusviewer
+Terminal=false
+Type=Application
+Categories=Qt;Development;Debugger;
+EOF
+
+# Add a documentation directory:
+mkdir -p $PKG/usr/doc/$PKGNAM-$PKGVER
+cp -a \
+ README qtbase/{header*,LGPL_EXCEPTION.txt,LICENSE*} \
+ $PKG/usr/doc/$PKGNAM-$PKGVER
+if [ -d $PKG/usr/lib${LIBDIRSUFFIX}/qt5/doc/html ]; then
+ ( cd $PKG/usr/doc/$PKGNAM-$PKGVER
+ ln -sf /usr/lib${LIBDIRSUFFIX}/qt5/doc/html .
+ )
+fi
+
+mkdir -p $PKG/install
+cat $CWD/slack-desc > $PKG/install/slack-desc
+cat $CWD/doinst.sh > $PKG/install/doinst.sh
+
+cd $PKG
+/sbin/makepkg -l y -c n $TMP/$PKGNAM-$PKGVER-$ARCH-$BUILD.txz
+
diff --git a/source/l/qt5/slack-desc b/source/l/qt5/slack-desc
new file mode 100644
index 000000000..d9b246024
--- /dev/null
+++ b/source/l/qt5/slack-desc
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|'
+# on the right side marks the last column you can put a character in. You must
+# make exactly 11 lines for the formatting to be correct. It's also
+# customary to leave one space after the ':'.
+
+ |-----handy-ruler------------------------------------------------------|
+qt5: qt5 (a multi-platform C++ graphical user interface toolkit)
+qt5:
+qt5: Qt is a complete and well-developed object-oriented framework for
+qt5: developing graphical user interface (GUI) applications using C++.
+qt5:
+qt5: Homepage: http://www.qt.io/
+qt5:
+qt5:
+qt5:
+qt5:
+qt5:
diff --git a/source/n/openssh/openssh.tcp_wrappers.diff b/source/n/openssh/openssh.tcp_wrappers.diff
index 38e3b3b4e..60c7c14ed 100644
--- a/source/n/openssh/openssh.tcp_wrappers.diff
+++ b/source/n/openssh/openssh.tcp_wrappers.diff
@@ -1,6 +1,6 @@
---- ./configure.ac.orig 2019-04-17 17:52:57.000000000 -0500
-+++ ./configure.ac 2019-04-18 15:13:25.404941727 -0500
-@@ -1494,6 +1494,62 @@
+--- ./configure.ac.orig 2020-02-13 18:40:54.000000000 -0600
++++ ./configure.ac 2020-02-14 19:28:45.566081482 -0600
+@@ -1532,6 +1532,62 @@
AC_MSG_RESULT([no])
fi
@@ -63,7 +63,7 @@
# Check whether user wants to use ldns
LDNS_MSG="no"
AC_ARG_WITH(ldns,
-@@ -5245,6 +5301,7 @@
+@@ -5389,6 +5445,7 @@
echo " OSF SIA support: $SIA_MSG"
echo " KerberosV support: $KRB5_MSG"
echo " SELinux support: $SELINUX_MSG"
@@ -71,22 +71,23 @@
echo " MD5 password support: $MD5_MSG"
echo " libedit support: $LIBEDIT_MSG"
echo " libldns support: $LDNS_MSG"
---- ./sshd.c.orig 2019-04-17 17:52:57.000000000 -0500
-+++ ./sshd.c 2019-04-18 15:13:25.406941726 -0500
-@@ -122,6 +122,12 @@
- #include "auth-options.h"
- #include "version.h"
+--- ./sshd.c.orig 2020-02-13 18:40:54.000000000 -0600
++++ ./sshd.c 2020-02-14 19:30:12.694084273 -0600
+@@ -124,6 +124,13 @@
#include "ssherr.h"
+ #include "sk-api.h"
+
+#ifdef LIBWRAP
+#include <tcpd.h>
+#include <syslog.h>
+int allow_severity;
+int deny_severity;
+#endif /* LIBWRAP */
-
++
/* Re-exec fds */
#define REEXEC_DEVCRYPTO_RESERVED_FD (STDERR_FILENO + 1)
-@@ -2022,6 +2028,26 @@
+ #define REEXEC_STARTUP_PIPE_FD (STDERR_FILENO + 2)
+@@ -2107,6 +2114,26 @@
the_active_state = ssh;
ssh_packet_set_server(ssh);
@@ -113,9 +114,9 @@
check_ip_options(ssh);
/* Prepare the channels layer */
---- ./sshd.8.orig 2019-04-17 17:52:57.000000000 -0500
-+++ ./sshd.8 2019-04-18 15:13:25.407941726 -0500
-@@ -873,6 +873,12 @@
+--- ./sshd.8.orig 2020-02-13 18:40:54.000000000 -0600
++++ ./sshd.8 2020-02-14 19:28:45.574081482 -0600
+@@ -893,6 +893,12 @@
This file should be writable only by the user, and need not be
readable by anyone else.
.Pp
@@ -128,7 +129,7 @@
.It Pa /etc/hosts.equiv
This file is for host-based authentication (see
.Xr ssh 1 ) .
-@@ -975,6 +981,7 @@
+@@ -995,6 +1001,7 @@
.Xr ssh-keygen 1 ,
.Xr ssh-keyscan 1 ,
.Xr chroot 2 ,
diff --git a/source/n/openssh/openssh.url b/source/n/openssh/openssh.url
new file mode 100644
index 000000000..9c8a0ceaf
--- /dev/null
+++ b/source/n/openssh/openssh.url
@@ -0,0 +1 @@
+https://ftp.openbsd.org/pub/OpenBSD/OpenSSH/portable/
diff --git a/source/x/mesa/0001-swr-Fix-GCC-4.9-checks.patch b/source/x/mesa/0001-swr-Fix-GCC-4.9-checks.patch
new file mode 100644
index 000000000..03542cc4d
--- /dev/null
+++ b/source/x/mesa/0001-swr-Fix-GCC-4.9-checks.patch
@@ -0,0 +1,58 @@
+From 4656d2d30a8c176d81f31827302cd082eff59de3 Mon Sep 17 00:00:00 2001
+From: Vinson Lee <vlee@freedesktop.org>
+Date: Sat, 1 Feb 2020 01:12:32 -0800
+Subject: [PATCH] swr: Fix GCC 4.9 checks.
+
+Fixes: f0a22956be48 ("swr/rast: _mm*_undefined_* implementations for gcc<4.9")
+Fixes: e21fc2c62527 ("swr/rast: non-regex knob fallback code for gcc < 4.9")
+Signed-off-by: Vinson Lee <vlee@freedesktop.org>
+Reviewed-by: Jan Zielinski <jan.zielinski@intel.com>
+(cherry picked from commit deb2bbf57ec1d0660dd85b7080bf5ebeb10e8768)
+---
+ .pick_status.json | 2 +-
+ .../drivers/swr/rasterizer/codegen/templates/gen_knobs.cpp | 2 +-
+ src/gallium/drivers/swr/rasterizer/common/os.h | 2 +-
+ 3 files changed, 3 insertions(+), 3 deletions(-)
+
+diff --git a/.pick_status.json b/.pick_status.json
+index a442be492f4..af4f23fb12f 100644
+--- a/.pick_status.json
++++ b/.pick_status.json
+@@ -319,7 +319,7 @@
+ "description": "swr: Fix GCC 4.9 checks.",
+ "nominated": true,
+ "nomination_type": 1,
+- "resolution": 0,
++ "resolution": 1,
+ "master_sha": null,
+ "because_sha": "f0a22956be4802e01f2b4f3244f011212626f12d"
+ },
+diff --git a/src/gallium/drivers/swr/rasterizer/codegen/templates/gen_knobs.cpp b/src/gallium/drivers/swr/rasterizer/codegen/templates/gen_knobs.cpp
+index 1ef83ad10d1..b073f73e3a0 100644
+--- a/src/gallium/drivers/swr/rasterizer/codegen/templates/gen_knobs.cpp
++++ b/src/gallium/drivers/swr/rasterizer/codegen/templates/gen_knobs.cpp
+@@ -43,7 +43,7 @@
+ //========================================================
+ void KnobBase::autoExpandEnvironmentVariables(std::string& text)
+ {
+-#if (__GNUC__) && (GCC_VERSION < 409000)
++#if (__GNUC__) && (GCC_VERSION < 40900)
+ // <regex> isn't implemented prior to gcc-4.9.0
+ // unix style variable replacement
+ size_t start;
+diff --git a/src/gallium/drivers/swr/rasterizer/common/os.h b/src/gallium/drivers/swr/rasterizer/common/os.h
+index e812da39851..7d33f6d99d6 100644
+--- a/src/gallium/drivers/swr/rasterizer/common/os.h
++++ b/src/gallium/drivers/swr/rasterizer/common/os.h
+@@ -182,7 +182,7 @@ static INLINE void _mm256_storeu2_m128i(__m128i* hi, __m128i* lo, __m256i a)
+ }
+
+ // gcc prior to 4.9 doesn't have _mm*_undefined_*
+-#if (__GNUC__) && (GCC_VERSION < 409000)
++#if (__GNUC__) && (GCC_VERSION < 40900)
+ #define _mm_undefined_si128 _mm_setzero_si128
+ #define _mm256_undefined_ps _mm256_setzero_ps
+ #endif
+--
+2.25.0
+
diff --git a/source/x/mesa/mesa.SlackBuild b/source/x/mesa/mesa.SlackBuild
index a3cf4ae3d..a987721f3 100755
--- a/source/x/mesa/mesa.SlackBuild
+++ b/source/x/mesa/mesa.SlackBuild
@@ -1,6 +1,6 @@
#!/bin/bash
-# Copyright 2006, 2007, 2008, 2009, 2010, 2011, 2013, 2014, 2015, 2016, 2017, 2018, 2019 Patrick J. Volkerding, Sebeka, MN, USA
+# Copyright 2006, 2007, 2008, 2009, 2010, 2011, 2013, 2014, 2015, 2016, 2017, 2018, 2019, 2020 Patrick J. Volkerding, Sebeka, MN, USA
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
@@ -23,9 +23,9 @@
cd $(dirname $0) ; CWD=$(pwd)
PKGNAM=mesa
-VERSION=${VERSION:-$(echo $PKGNAM-1*.tar.xz | rev | cut -f 3- -d . | cut -f 1 -d - | rev)}
+VERSION=${VERSION:-$(echo $PKGNAM-[0-9]*.tar.?z | rev | cut -f 3- -d . | cut -f 1 -d - | rev)}
DEMOVERS=${DEMOVERS:-8.4.0}
-BUILD=${BUILD:-1}
+BUILD=${BUILD:-2}
BUILD_DEMOS=${BUILD_DEMOS:-YES}
NUMJOBS=${NUMJOBS:-" -j$(expr $(nproc) + 1) "}
@@ -77,7 +77,7 @@ mkdir -p $TMP $PKG
cd $TMP
rm -rf ${PKGNAM}-${VERSION}
-tar xvf $CWD/${PKGNAM}-${VERSION}.tar.xz || exit 1
+tar xvf $CWD/${PKGNAM}-${VERSION}.tar.?z || exit 1
cd ${PKGNAM}-$VERSION || exit 1
# Let's kill the warning about operating on a dangling symlink:
@@ -101,6 +101,9 @@ if /bin/ls $CWD/patches/*.patch 1> /dev/null 2> /dev/null ; then
done
fi
+# Revert a patch causing illegal instruction crashes starting X:
+zcat $CWD/0001-swr-Fix-GCC-4.9-checks.patch.gz | patch -R -p1 --verbose || exit 1
+
# Configure, build, and install:
export CFLAGS="$SLKCFLAGS"
export CXXFLAGS="$SLKCFLAGS"
diff --git a/testing/packages/PAM/ConsoleKit2-1.2.1-x86_64-1_pam.txt b/testing/packages/PAM/ConsoleKit2-1.2.1-x86_64-2_pam.txt
index ef6a179a5..ef6a179a5 100644
--- a/testing/packages/PAM/ConsoleKit2-1.2.1-x86_64-1_pam.txt
+++ b/testing/packages/PAM/ConsoleKit2-1.2.1-x86_64-2_pam.txt
diff --git a/testing/packages/PAM/openssh-8.1p1-x86_64-1_pam.txt b/testing/packages/PAM/openssh-8.2p1-x86_64-1_pam.txt
index dca51ed45..dca51ed45 100644
--- a/testing/packages/PAM/openssh-8.1p1-x86_64-1_pam.txt
+++ b/testing/packages/PAM/openssh-8.2p1-x86_64-1_pam.txt
diff --git a/testing/packages/PAM/shadow-4.8.1-x86_64-2_pam.txt b/testing/packages/PAM/shadow-4.8.1-x86_64-3_pam.txt
index 29a3d574d..29a3d574d 100644
--- a/testing/packages/PAM/shadow-4.8.1-x86_64-2_pam.txt
+++ b/testing/packages/PAM/shadow-4.8.1-x86_64-3_pam.txt
diff --git a/testing/packages/PAM/util-linux-2.35.1-x86_64-2_pam.txt b/testing/packages/PAM/util-linux-2.35.1-x86_64-3_pam.txt
index 7e4aa7b72..7e4aa7b72 100644
--- a/testing/packages/PAM/util-linux-2.35.1-x86_64-2_pam.txt
+++ b/testing/packages/PAM/util-linux-2.35.1-x86_64-3_pam.txt