summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
author Patrick J Volkerding <volkerdi@slackware.com>2018-08-22 23:44:25 +0000
committer Eric Hameleers <alien@slackware.com>2018-08-23 09:00:32 +0200
commite27639b95ae9a52e4dc9b04a34df56105e210902 (patch)
tree09d5d8456a2f3766a4c9d6d7a5e87e57dc5e9ec0
parentcfe7baffeee46ddf054cd19a6570bdab8b0cf7bd (diff)
downloadcurrent-e27639b95ae9a52e4dc9b04a34df56105e210902.tar.gz
current-e27639b95ae9a52e4dc9b04a34df56105e210902.tar.xz
Wed Aug 22 23:44:25 UTC 201820180822234425
a/findutils-4.6.0-x86_64-1.txz: Upgraded. a/kernel-firmware-20180821_1d17c18-noarch-1.txz: Upgraded. a/kernel-generic-4.14.66-x86_64-1.txz: Upgraded. a/kernel-huge-4.14.66-x86_64-1.txz: Upgraded. a/kernel-modules-4.14.66-x86_64-1.txz: Upgraded. ap/man-db-2.8.4-x86_64-2.txz: Rebuilt. Rebuilt to get it on the slackpkg upgrade list since the previous texlive package clobbered /usr/bin/man and we need to fix that. d/kernel-headers-4.14.66-x86-1.txz: Upgraded. k/kernel-source-4.14.66-noarch-1.txz: Upgraded. l/glib2-2.56.2-x86_64-1.txz: Upgraded. t/texlive-2018.180822-x86_64-1.txz: Upgraded. Added some patches that I'd dropped - sorry, my bad. Don't clobber /usr/bin/man. Thanks to Johannes Schoepfer. isolinux/initrd.img: Rebuilt. kernels/*: Upgraded. usb-and-pxe-installers/usbboot.img: Rebuilt.
-rw-r--r--ChangeLog.rss32
-rw-r--r--ChangeLog.txt20
-rw-r--r--FILELIST.TXT290
-rw-r--r--README.initrd14
-rw-r--r--isolinux/message.txt2
-rw-r--r--kernels/VERSIONS.TXT2
-rwxr-xr-xrecompress.sh12
-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
-rwxr-xr-xsource/a/findutils/findutils.SlackBuild57
-rw-r--r--source/a/findutils/findutils.nolocate.diff36
-rw-r--r--source/a/findutils/patches/findutils-4.4.2-xautofs.patch132
-rw-r--r--source/a/findutils/patches/findutils-4.5.13-warnings.patch53
-rw-r--r--source/a/findutils/patches/findutils-4.5.15-no-locate.patch185
-rw-r--r--source/a/findutils/patches/findutils-4.6.0-exec-args.patch226
-rw-r--r--source/a/findutils/patches/findutils-4.6.0-fts-update.patch990
-rw-r--r--source/a/findutils/patches/findutils-4.6.0-gnulib-fflush.patch142
-rw-r--r--source/a/findutils/patches/findutils-4.6.0-gnulib-makedev.patch80
-rw-r--r--source/a/findutils/patches/findutils-4.6.0-internal-noop.patch195
-rw-r--r--source/a/findutils/patches/findutils-4.6.0-leaf-opt.patch83
-rw-r--r--source/a/findutils/patches/findutils-4.6.0-man-exec.patch44
-rw-r--r--source/a/findutils/patches/findutils-4.6.0-mbrtowc-tests.patch35
-rw-r--r--source/a/findutils/patches/findutils-4.6.0-test-lock.patch29
-rwxr-xr-xsource/ap/man-db/man-db.SlackBuild23
-rw-r--r--source/k/kernel-configs/config-generic-4.14.66 (renamed from source/k/kernel-configs/config-generic-4.14.65)2
-rw-r--r--source/k/kernel-configs/config-generic-4.14.66.x64 (renamed from source/k/kernel-configs/config-generic-4.14.65.x64)2
-rw-r--r--source/k/kernel-configs/config-generic-smp-4.14.66-smp (renamed from source/k/kernel-configs/config-generic-smp-4.14.65-smp)2
-rw-r--r--source/k/kernel-configs/config-huge-4.14.66 (renamed from source/k/kernel-configs/config-huge-4.14.65)2
-rw-r--r--source/k/kernel-configs/config-huge-4.14.66.x64 (renamed from source/k/kernel-configs/config-huge-4.14.65.x64)2
-rw-r--r--source/k/kernel-configs/config-huge-smp-4.14.66-smp (renamed from source/k/kernel-configs/config-huge-smp-4.14.65-smp)2
-rwxr-xr-xsource/l/glib2/glib2.SlackBuild2
-rw-r--r--source/t/texlive/doinst.sh2
-rw-r--r--source/t/texlive/patches/synctex-missing-header.patch18
-rwxr-xr-xsource/t/texlive/prep/texmf_get.sh108
-rw-r--r--source/t/texlive/slack-desc6
-rwxr-xr-xsource/t/texlive/texlive.SlackBuild13
38 files changed, 2614 insertions, 245 deletions
diff --git a/ChangeLog.rss b/ChangeLog.rss
index dc879333c..14f3950a8 100644
--- a/ChangeLog.rss
+++ b/ChangeLog.rss
@@ -11,10 +11,38 @@
<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>Tue, 21 Aug 2018 18:39:27 GMT</pubDate>
- <lastBuildDate>Wed, 22 Aug 2018 07:00:27 GMT</lastBuildDate>
+ <pubDate>Wed, 22 Aug 2018 23:44:25 GMT</pubDate>
+ <lastBuildDate>Thu, 23 Aug 2018 07:00:29 GMT</lastBuildDate>
<generator>maintain_current_git.sh v 1.10</generator>
<item>
+ <title>Wed, 22 Aug 2018 23:44:25 GMT</title>
+ <pubDate>Wed, 22 Aug 2018 23:44:25 GMT</pubDate>
+ <link>https://git.slackware.nl/current/tag/?h=20180822234425</link>
+ <guid isPermaLink="false">20180822234425</guid>
+ <description>
+ <![CDATA[<pre>
+a/findutils-4.6.0-x86_64-1.txz: Upgraded.
+a/kernel-firmware-20180821_1d17c18-noarch-1.txz: Upgraded.
+a/kernel-generic-4.14.66-x86_64-1.txz: Upgraded.
+a/kernel-huge-4.14.66-x86_64-1.txz: Upgraded.
+a/kernel-modules-4.14.66-x86_64-1.txz: Upgraded.
+ap/man-db-2.8.4-x86_64-2.txz: Rebuilt.
+ Rebuilt to get it on the slackpkg upgrade list since the previous texlive
+ package clobbered /usr/bin/man and we need to fix that.
+d/kernel-headers-4.14.66-x86-1.txz: Upgraded.
+k/kernel-source-4.14.66-noarch-1.txz: Upgraded.
+l/glib2-2.56.2-x86_64-1.txz: Upgraded.
+t/texlive-2018.180822-x86_64-1.txz: Upgraded.
+ Added some patches that I'd dropped - sorry, my bad.
+ Don't clobber /usr/bin/man.
+ Thanks to Johannes Schoepfer.
+isolinux/initrd.img: Rebuilt.
+kernels/*: Upgraded.
+usb-and-pxe-installers/usbboot.img: Rebuilt.
+ </pre>]]>
+ </description>
+ </item>
+ <item>
<title>Tue, 21 Aug 2018 18:39:27 GMT</title>
<pubDate>Tue, 21 Aug 2018 18:39:27 GMT</pubDate>
<link>https://git.slackware.nl/current/tag/?h=20180821183927</link>
diff --git a/ChangeLog.txt b/ChangeLog.txt
index ef5464c5c..680fa271f 100644
--- a/ChangeLog.txt
+++ b/ChangeLog.txt
@@ -1,3 +1,23 @@
+Wed Aug 22 23:44:25 UTC 2018
+a/findutils-4.6.0-x86_64-1.txz: Upgraded.
+a/kernel-firmware-20180821_1d17c18-noarch-1.txz: Upgraded.
+a/kernel-generic-4.14.66-x86_64-1.txz: Upgraded.
+a/kernel-huge-4.14.66-x86_64-1.txz: Upgraded.
+a/kernel-modules-4.14.66-x86_64-1.txz: Upgraded.
+ap/man-db-2.8.4-x86_64-2.txz: Rebuilt.
+ Rebuilt to get it on the slackpkg upgrade list since the previous texlive
+ package clobbered /usr/bin/man and we need to fix that.
+d/kernel-headers-4.14.66-x86-1.txz: Upgraded.
+k/kernel-source-4.14.66-noarch-1.txz: Upgraded.
+l/glib2-2.56.2-x86_64-1.txz: Upgraded.
+t/texlive-2018.180822-x86_64-1.txz: Upgraded.
+ Added some patches that I'd dropped - sorry, my bad.
+ Don't clobber /usr/bin/man.
+ Thanks to Johannes Schoepfer.
+isolinux/initrd.img: Rebuilt.
+kernels/*: Upgraded.
+usb-and-pxe-installers/usbboot.img: Rebuilt.
++--------------------------+
Tue Aug 21 18:39:27 UTC 2018
a/openssl-solibs-1.1.0i-x86_64-2.txz: Rebuilt.
ap/cups-filters-1.21.0-x86_64-1.txz: Upgraded.
diff --git a/FILELIST.TXT b/FILELIST.TXT
index a56edb9e0..16598efa8 100644
--- a/FILELIST.TXT
+++ b/FILELIST.TXT
@@ -1,35 +1,35 @@
-Tue Aug 21 19:02:35 UTC 2018
+Wed Aug 22 23:57:06 UTC 2018
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 2018-08-21 18:39 .
+drwxr-xr-x 12 root root 4096 2018-08-22 23:44 .
-rw-r--r-- 1 root root 10064 2016-06-30 18:39 ./ANNOUNCE.14_2
-rw-r--r-- 1 root root 13424 2018-06-13 05:25 ./CHANGES_AND_HINTS.TXT
--rw-r--r-- 1 root root 900967 2018-08-20 20:57 ./CHECKSUMS.md5
--rw-r--r-- 1 root root 163 2018-08-20 20:57 ./CHECKSUMS.md5.asc
+-rw-r--r-- 1 root root 900870 2018-08-21 19:03 ./CHECKSUMS.md5
+-rw-r--r-- 1 root root 163 2018-08-21 19:03 ./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 462931 2018-08-21 18:39 ./ChangeLog.txt
+-rw-r--r-- 1 root root 463812 2018-08-22 23:44 ./ChangeLog.txt
drwxr-xr-x 3 root root 4096 2013-03-20 22:17 ./EFI
-drwxr-xr-x 2 root root 4096 2018-08-19 23:59 ./EFI/BOOT
+drwxr-xr-x 2 root root 4096 2018-08-22 23:31 ./EFI/BOOT
-rw-r--r-- 1 root root 1253376 2018-02-24 20:49 ./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 8869648 2018-08-19 21:27 ./EFI/BOOT/huge.s
--rw-r--r-- 2 root root 35340060 2018-08-19 23:49 ./EFI/BOOT/initrd.img
+-rw-r--r-- 2 root root 8869648 2018-08-22 20:40 ./EFI/BOOT/huge.s
+-rw-r--r-- 2 root root 35338580 2018-08-22 23:30 ./EFI/BOOT/initrd.img
-rwxr-xr-x 1 root root 2494 2018-02-24 20:49 ./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 1186001 2018-08-20 21:11 ./FILELIST.TXT
+-rw-r--r-- 1 root root 1185888 2018-08-21 19:02 ./FILELIST.TXT
-rw-r--r-- 1 root root 1572 2012-08-29 18:27 ./GPG-KEY
--rw-r--r-- 1 root root 726674 2018-08-21 19:01 ./PACKAGES.TXT
+-rw-r--r-- 1 root root 726665 2018-08-22 23:55 ./PACKAGES.TXT
-rw-r--r-- 1 root root 8564 2016-06-28 21:33 ./README.TXT
--rw-r--r-- 1 root root 3634 2018-08-19 22:41 ./README.initrd
+-rw-r--r-- 1 root root 3634 2018-08-22 23:20 ./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
@@ -678,16 +678,16 @@ drwxr-xr-x 2 root root 4096 2011-01-31 03:46 ./extra/xf86-video-nouveau-bl
-rw-r--r-- 1 root root 645 2010-04-27 21:47 ./extra/xf86-video-nouveau-blacklist/xf86-video-nouveau-blacklist-noarch-1.txt
-rw-r--r-- 1 root root 880 2010-04-27 21:47 ./extra/xf86-video-nouveau-blacklist/xf86-video-nouveau-blacklist-noarch-1.txz
-rw-r--r-- 1 root root 198 2010-04-27 21:47 ./extra/xf86-video-nouveau-blacklist/xf86-video-nouveau-blacklist-noarch-1.txz.asc
-drwxr-xr-x 3 root root 4096 2018-08-19 23:59 ./isolinux
+drwxr-xr-x 3 root root 4096 2018-08-22 23:30 ./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 2018-02-24 20:49 ./isolinux/efiboot.img
-rw-r--r-- 1 root root 574 2013-10-24 00:19 ./isolinux/f2.txt
--rw-r--r-- 2 root root 35340060 2018-08-19 23:49 ./isolinux/initrd.img
+-rw-r--r-- 2 root root 35338580 2018-08-22 23:30 ./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 683 2018-08-19 22:41 ./isolinux/message.txt
+-rw-r--r-- 1 root root 683 2018-08-22 23:20 ./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
@@ -698,12 +698,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 2018-08-19 22:41 ./kernels
--rw-r--r-- 1 root root 37 2018-08-19 22:41 ./kernels/VERSIONS.TXT
-drwxr-xr-x 2 root root 4096 2018-08-19 21:27 ./kernels/huge.s
--rw-r--r-- 1 root root 953715 2018-08-19 21:27 ./kernels/huge.s/System.map.gz
--rw-r--r-- 2 root root 8869648 2018-08-19 21:27 ./kernels/huge.s/bzImage
--rw-r--r-- 1 root root 180604 2018-08-19 21:23 ./kernels/huge.s/config
+drwxr-xr-x 5 root root 4096 2018-08-22 23:20 ./kernels
+-rw-r--r-- 1 root root 37 2018-08-22 23:20 ./kernels/VERSIONS.TXT
+drwxr-xr-x 2 root root 4096 2018-08-22 20:40 ./kernels/huge.s
+-rw-r--r-- 1 root root 953760 2018-08-22 20:40 ./kernels/huge.s/System.map.gz
+-rw-r--r-- 2 root root 8869648 2018-08-22 20:40 ./kernels/huge.s/bzImage
+-rw-r--r-- 1 root root 180604 2018-08-22 20:37 ./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
@@ -748,13 +748,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 2018-08-21 19:01 ./slackware64
--rw-r--r-- 1 root root 288664 2018-08-21 19:01 ./slackware64/CHECKSUMS.md5
--rw-r--r-- 1 root root 163 2018-08-21 19:01 ./slackware64/CHECKSUMS.md5.asc
--rw-r--r-- 1 root root 359626 2018-08-21 18:58 ./slackware64/FILE_LIST
--rw-r--r-- 1 root root 3583019 2018-08-21 18:59 ./slackware64/MANIFEST.bz2
+drwxr-xr-x 18 root root 4096 2018-08-22 23:55 ./slackware64
+-rw-r--r-- 1 root root 288664 2018-08-22 23:55 ./slackware64/CHECKSUMS.md5
+-rw-r--r-- 1 root root 163 2018-08-22 23:55 ./slackware64/CHECKSUMS.md5.asc
+-rw-r--r-- 1 root root 359626 2018-08-22 23:52 ./slackware64/FILE_LIST
+-rw-r--r-- 1 root root 3606725 2018-08-22 23:53 ./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 2018-08-21 18:58 ./slackware64/a
+drwxr-xr-x 2 root root 28672 2018-08-22 23:52 ./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
@@ -839,9 +839,9 @@ drwxr-xr-x 2 root root 28672 2018-08-21 18:58 ./slackware64/a
-rw-r--r-- 1 root root 271 2018-07-26 03:51 ./slackware64/a/file-5.34-x86_64-1.txt
-rw-r--r-- 1 root root 339492 2018-07-26 03:51 ./slackware64/a/file-5.34-x86_64-1.txz
-rw-r--r-- 1 root root 163 2018-07-26 03:51 ./slackware64/a/file-5.34-x86_64-1.txz.asc
--rw-r--r-- 1 root root 366 2018-04-13 13:04 ./slackware64/a/findutils-4.4.2-x86_64-2.txt
--rw-r--r-- 1 root root 416268 2018-04-13 13:04 ./slackware64/a/findutils-4.4.2-x86_64-2.txz
--rw-r--r-- 1 root root 163 2018-04-13 13:04 ./slackware64/a/findutils-4.4.2-x86_64-2.txz.asc
+-rw-r--r-- 1 root root 366 2018-08-22 23:20 ./slackware64/a/findutils-4.6.0-x86_64-1.txt
+-rw-r--r-- 1 root root 467152 2018-08-22 23:20 ./slackware64/a/findutils-4.6.0-x86_64-1.txz
+-rw-r--r-- 1 root root 163 2018-08-22 23:20 ./slackware64/a/findutils-4.6.0-x86_64-1.txz.asc
-rw-r--r-- 1 root root 257 2018-04-13 13:04 ./slackware64/a/floppy-5.5-x86_64-2.txt
-rw-r--r-- 1 root root 362172 2018-04-13 13:04 ./slackware64/a/floppy-5.5-x86_64-2.txz
-rw-r--r-- 1 root root 163 2018-04-13 13:04 ./slackware64/a/floppy-5.5-x86_64-2.txz.asc
@@ -904,18 +904,18 @@ drwxr-xr-x 2 root root 28672 2018-08-21 18:58 ./slackware64/a
-rw-r--r-- 1 root root 461 2018-04-13 13:06 ./slackware64/a/kbd-1.15.3-x86_64-4.txt
-rw-r--r-- 1 root root 1144600 2018-04-13 13:06 ./slackware64/a/kbd-1.15.3-x86_64-4.txz
-rw-r--r-- 1 root root 163 2018-04-13 13:06 ./slackware64/a/kbd-1.15.3-x86_64-4.txz.asc
--rw-r--r-- 1 root root 422 2018-08-16 18:23 ./slackware64/a/kernel-firmware-20180814_f1b95fe-noarch-1.txt
--rw-r--r-- 1 root root 71683864 2018-08-16 18:23 ./slackware64/a/kernel-firmware-20180814_f1b95fe-noarch-1.txz
--rw-r--r-- 1 root root 163 2018-08-16 18:23 ./slackware64/a/kernel-firmware-20180814_f1b95fe-noarch-1.txz.asc
--rw-r--r-- 1 root root 624 2018-08-19 21:28 ./slackware64/a/kernel-generic-4.14.65-x86_64-1.txt
--rw-r--r-- 1 root root 5973648 2018-08-19 21:28 ./slackware64/a/kernel-generic-4.14.65-x86_64-1.txz
--rw-r--r-- 1 root root 163 2018-08-19 21:28 ./slackware64/a/kernel-generic-4.14.65-x86_64-1.txz.asc
--rw-r--r-- 1 root root 636 2018-08-19 21:27 ./slackware64/a/kernel-huge-4.14.65-x86_64-1.txt
--rw-r--r-- 1 root root 9410468 2018-08-19 21:27 ./slackware64/a/kernel-huge-4.14.65-x86_64-1.txz
--rw-r--r-- 1 root root 163 2018-08-19 21:27 ./slackware64/a/kernel-huge-4.14.65-x86_64-1.txz.asc
--rw-r--r-- 1 root root 567 2018-08-19 21:50 ./slackware64/a/kernel-modules-4.14.65-x86_64-1.txt
--rw-r--r-- 1 root root 36311472 2018-08-19 21:50 ./slackware64/a/kernel-modules-4.14.65-x86_64-1.txz
--rw-r--r-- 1 root root 163 2018-08-19 21:50 ./slackware64/a/kernel-modules-4.14.65-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 422 2018-08-22 18:02 ./slackware64/a/kernel-firmware-20180821_1d17c18-noarch-1.txt
+-rw-r--r-- 1 root root 72246012 2018-08-22 18:02 ./slackware64/a/kernel-firmware-20180821_1d17c18-noarch-1.txz
+-rw-r--r-- 1 root root 163 2018-08-22 18:02 ./slackware64/a/kernel-firmware-20180821_1d17c18-noarch-1.txz.asc
+-rw-r--r-- 1 root root 624 2018-08-22 20:41 ./slackware64/a/kernel-generic-4.14.66-x86_64-1.txt
+-rw-r--r-- 1 root root 5975560 2018-08-22 20:41 ./slackware64/a/kernel-generic-4.14.66-x86_64-1.txz
+-rw-r--r-- 1 root root 163 2018-08-22 20:41 ./slackware64/a/kernel-generic-4.14.66-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 636 2018-08-22 20:40 ./slackware64/a/kernel-huge-4.14.66-x86_64-1.txt
+-rw-r--r-- 1 root root 9406860 2018-08-22 20:40 ./slackware64/a/kernel-huge-4.14.66-x86_64-1.txz
+-rw-r--r-- 1 root root 163 2018-08-22 20:40 ./slackware64/a/kernel-huge-4.14.66-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 567 2018-08-22 20:57 ./slackware64/a/kernel-modules-4.14.66-x86_64-1.txt
+-rw-r--r-- 1 root root 36299452 2018-08-22 20:57 ./slackware64/a/kernel-modules-4.14.66-x86_64-1.txz
+-rw-r--r-- 1 root root 163 2018-08-22 20:57 ./slackware64/a/kernel-modules-4.14.66-x86_64-1.txz.asc
-rw-r--r-- 1 root root 512 2018-04-13 13:07 ./slackware64/a/kmod-25-x86_64-2.txt
-rw-r--r-- 1 root root 201376 2018-04-13 13:07 ./slackware64/a/kmod-25-x86_64-2.txz
-rw-r--r-- 1 root root 163 2018-04-13 13:07 ./slackware64/a/kmod-25-x86_64-2.txz.asc
@@ -952,8 +952,8 @@ drwxr-xr-x 2 root root 28672 2018-08-21 18:58 ./slackware64/a
-rw-r--r-- 1 root root 405 2018-04-13 13:08 ./slackware64/a/lzlib-1.10-x86_64-3.txt
-rw-r--r-- 1 root root 55468 2018-04-13 13:08 ./slackware64/a/lzlib-1.10-x86_64-3.txz
-rw-r--r-- 1 root root 163 2018-04-13 13:08 ./slackware64/a/lzlib-1.10-x86_64-3.txz.asc
--rw-r--r-- 1 root root 9039 2018-08-19 22:41 ./slackware64/a/maketag
--rw-r--r-- 1 root root 9039 2018-08-19 22:41 ./slackware64/a/maketag.ez
+-rw-r--r-- 1 root root 9039 2018-08-22 23:21 ./slackware64/a/maketag
+-rw-r--r-- 1 root root 9039 2018-08-22 23:21 ./slackware64/a/maketag.ez
-rw-r--r-- 1 root root 591 2018-05-31 17:59 ./slackware64/a/mcelog-158-x86_64-1.txt
-rw-r--r-- 1 root root 328472 2018-05-31 17:59 ./slackware64/a/mcelog-158-x86_64-1.txz
-rw-r--r-- 1 root root 163 2018-05-31 17:59 ./slackware64/a/mcelog-158-x86_64-1.txz.asc
@@ -1053,7 +1053,7 @@ drwxr-xr-x 2 root root 28672 2018-08-21 18:58 ./slackware64/a
-rw-r--r-- 1 root root 378 2018-08-13 21:39 ./slackware64/a/sysvinit-scripts-2.1-noarch-17.txt
-rw-r--r-- 1 root root 21868 2018-08-13 21:39 ./slackware64/a/sysvinit-scripts-2.1-noarch-17.txz
-rw-r--r-- 1 root root 163 2018-08-13 21:39 ./slackware64/a/sysvinit-scripts-2.1-noarch-17.txz.asc
--rw-r--r-- 1 root root 1393 2018-08-19 22:41 ./slackware64/a/tagfile
+-rw-r--r-- 1 root root 1393 2018-08-22 23:20 ./slackware64/a/tagfile
-rw-r--r-- 1 root root 379 2018-04-13 13:15 ./slackware64/a/tar-1.30-x86_64-2.txt
-rw-r--r-- 1 root root 793456 2018-04-13 13:15 ./slackware64/a/tar-1.30-x86_64-2.txz
-rw-r--r-- 1 root root 163 2018-04-13 13:15 ./slackware64/a/tar-1.30-x86_64-2.txz.asc
@@ -1102,7 +1102,7 @@ drwxr-xr-x 2 root root 28672 2018-08-21 18:58 ./slackware64/a
-rw-r--r-- 1 root root 540 2018-04-13 13:15 ./slackware64/a/zoo-2.10_22-x86_64-2.txt
-rw-r--r-- 1 root root 56156 2018-04-13 13:15 ./slackware64/a/zoo-2.10_22-x86_64-2.txz
-rw-r--r-- 1 root root 163 2018-04-13 13:15 ./slackware64/a/zoo-2.10_22-x86_64-2.txz.asc
-drwxr-xr-x 2 root root 20480 2018-08-21 18:58 ./slackware64/ap
+drwxr-xr-x 2 root root 20480 2018-08-22 23:52 ./slackware64/ap
-rw-r--r-- 1 root root 291 2018-04-13 13:17 ./slackware64/ap/a2ps-4.14-x86_64-7.txt
-rw-r--r-- 1 root root 694880 2018-04-13 13:17 ./slackware64/ap/a2ps-4.14-x86_64-7.txz
-rw-r--r-- 1 root root 163 2018-04-13 13:17 ./slackware64/ap/a2ps-4.14-x86_64-7.txz.asc
@@ -1236,9 +1236,9 @@ drwxr-xr-x 2 root root 20480 2018-08-21 18:58 ./slackware64/ap
-rw-r--r-- 1 root root 163 2018-04-13 13:23 ./slackware64/ap/madplay-0.15.2b-x86_64-5.txz.asc
-rw-r--r-- 1 root root 6252 2018-05-25 20:16 ./slackware64/ap/maketag
-rw-r--r-- 1 root root 6252 2018-05-25 20:16 ./slackware64/ap/maketag.ez
--rw-r--r-- 1 root root 532 2018-07-31 21:03 ./slackware64/ap/man-db-2.8.4-x86_64-1.txt
--rw-r--r-- 1 root root 469912 2018-07-31 21:03 ./slackware64/ap/man-db-2.8.4-x86_64-1.txz
--rw-r--r-- 1 root root 163 2018-07-31 21:03 ./slackware64/ap/man-db-2.8.4-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 532 2018-08-22 22:46 ./slackware64/ap/man-db-2.8.4-x86_64-2.txt
+-rw-r--r-- 1 root root 469780 2018-08-22 22:46 ./slackware64/ap/man-db-2.8.4-x86_64-2.txz
+-rw-r--r-- 1 root root 163 2018-08-22 22:46 ./slackware64/ap/man-db-2.8.4-x86_64-2.txz.asc
-rw-r--r-- 1 root root 489 2018-05-01 15:32 ./slackware64/ap/man-pages-4.16-noarch-1.txt
-rw-r--r-- 1 root root 3273928 2018-05-01 15:32 ./slackware64/ap/man-pages-4.16-noarch-1.txz
-rw-r--r-- 1 root root 163 2018-05-01 15:32 ./slackware64/ap/man-pages-4.16-noarch-1.txz.asc
@@ -1348,7 +1348,7 @@ drwxr-xr-x 2 root root 20480 2018-08-21 18:58 ./slackware64/ap
-rw-r--r-- 1 root root 506 2018-06-18 04:12 ./slackware64/ap/zsh-5.5.1-x86_64-2.txt
-rw-r--r-- 1 root root 2936096 2018-06-18 04:12 ./slackware64/ap/zsh-5.5.1-x86_64-2.txz
-rw-r--r-- 1 root root 163 2018-06-18 04:12 ./slackware64/ap/zsh-5.5.1-x86_64-2.txz.asc
-drwxr-xr-x 2 root root 16384 2018-08-20 00:06 ./slackware64/d
+drwxr-xr-x 2 root root 16384 2018-08-22 23:52 ./slackware64/d
-rw-r--r-- 1 root root 360 2018-05-22 19:10 ./slackware64/d/Cython-0.28.2-x86_64-1.txt
-rw-r--r-- 1 root root 4516748 2018-05-22 19:10 ./slackware64/d/Cython-0.28.2-x86_64-1.txz
-rw-r--r-- 1 root root 163 2018-05-22 19:10 ./slackware64/d/Cython-0.28.2-x86_64-1.txz.asc
@@ -1444,9 +1444,9 @@ drwxr-xr-x 2 root root 16384 2018-08-20 00:06 ./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 2018-08-19 21:51 ./slackware64/d/kernel-headers-4.14.65-x86-1.txt
--rw-r--r-- 1 root root 867192 2018-08-19 21:51 ./slackware64/d/kernel-headers-4.14.65-x86-1.txz
--rw-r--r-- 1 root root 163 2018-08-19 21:51 ./slackware64/d/kernel-headers-4.14.65-x86-1.txz.asc
+-rw-r--r-- 1 root root 332 2018-08-22 20:58 ./slackware64/d/kernel-headers-4.14.66-x86-1.txt
+-rw-r--r-- 1 root root 867168 2018-08-22 20:58 ./slackware64/d/kernel-headers-4.14.66-x86-1.txz
+-rw-r--r-- 1 root root 163 2018-08-22 20:58 ./slackware64/d/kernel-headers-4.14.66-x86-1.txz.asc
-rw-r--r-- 1 root root 498 2018-07-26 20:28 ./slackware64/d/libtool-2.4.6-x86_64-9.txt
-rw-r--r-- 1 root root 428672 2018-07-26 20:28 ./slackware64/d/libtool-2.4.6-x86_64-9.txz
-rw-r--r-- 1 root root 163 2018-07-26 20:28 ./slackware64/d/libtool-2.4.6-x86_64-9.txz.asc
@@ -1561,15 +1561,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 2018-08-20 00:06 ./slackware64/k
+drwxr-xr-x 2 root root 4096 2018-08-22 23:52 ./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 2018-08-19 21:22 ./slackware64/k/kernel-source-4.14.65-noarch-1.txt
--rw-r--r-- 1 root root 101342192 2018-08-19 21:22 ./slackware64/k/kernel-source-4.14.65-noarch-1.txz
--rw-r--r-- 1 root root 163 2018-08-19 21:22 ./slackware64/k/kernel-source-4.14.65-noarch-1.txz.asc
--rw-r--r-- 1 root root 1171 2018-08-19 22:41 ./slackware64/k/maketag
--rw-r--r-- 1 root root 1171 2018-08-19 22:41 ./slackware64/k/maketag.ez
--rw-r--r-- 1 root root 18 2018-08-19 22:41 ./slackware64/k/tagfile
+-rw-r--r-- 1 root root 317 2018-08-22 20:36 ./slackware64/k/kernel-source-4.14.66-noarch-1.txt
+-rw-r--r-- 1 root root 101350740 2018-08-22 20:36 ./slackware64/k/kernel-source-4.14.66-noarch-1.txz
+-rw-r--r-- 1 root root 163 2018-08-22 20:36 ./slackware64/k/kernel-source-4.14.66-noarch-1.txz.asc
+-rw-r--r-- 1 root root 1171 2018-08-22 23:21 ./slackware64/k/maketag
+-rw-r--r-- 1 root root 1171 2018-08-22 23:21 ./slackware64/k/maketag.ez
+-rw-r--r-- 1 root root 18 2018-08-22 23:21 ./slackware64/k/tagfile
drwxr-xr-x 2 root root 45056 2018-08-20 23:35 ./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
@@ -2410,7 +2410,7 @@ 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 2018-08-21 18:58 ./slackware64/l
+drwxr-xr-x 2 root root 69632 2018-08-22 23:52 ./slackware64/l
-rw-r--r-- 1 root root 338 2018-04-13 14:13 ./slackware64/l/ConsoleKit2-1.0.0-x86_64-4.txt
-rw-r--r-- 1 root root 149752 2018-04-13 14:13 ./slackware64/l/ConsoleKit2-1.0.0-x86_64-4.txz
-rw-r--r-- 1 root root 163 2018-04-13 14:13 ./slackware64/l/ConsoleKit2-1.0.0-x86_64-4.txz.asc
@@ -2627,9 +2627,9 @@ drwxr-xr-x 2 root root 69632 2018-08-21 18:58 ./slackware64/l
-rw-r--r-- 1 root root 300 2018-05-22 17:46 ./slackware64/l/glib-networking-2.56.1-x86_64-1.txt
-rw-r--r-- 1 root root 113156 2018-05-22 17:46 ./slackware64/l/glib-networking-2.56.1-x86_64-1.txz
-rw-r--r-- 1 root root 163 2018-05-22 17:46 ./slackware64/l/glib-networking-2.56.1-x86_64-1.txz.asc
--rw-r--r-- 1 root root 235 2018-04-13 14:40 ./slackware64/l/glib2-2.56.1-x86_64-2.txt
--rw-r--r-- 1 root root 3762456 2018-04-13 14:40 ./slackware64/l/glib2-2.56.1-x86_64-2.txz
--rw-r--r-- 1 root root 163 2018-04-13 14:40 ./slackware64/l/glib2-2.56.1-x86_64-2.txz.asc
+-rw-r--r-- 1 root root 235 2018-08-22 18:15 ./slackware64/l/glib2-2.56.2-x86_64-1.txt
+-rw-r--r-- 1 root root 3759376 2018-08-22 18:15 ./slackware64/l/glib2-2.56.2-x86_64-1.txz
+-rw-r--r-- 1 root root 163 2018-08-22 18:15 ./slackware64/l/glib2-2.56.2-x86_64-1.txz.asc
-rw-r--r-- 1 root root 387 2018-06-12 21:53 ./slackware64/l/glibc-2.27-x86_64-4.txt
-rw-r--r-- 1 root root 5463296 2018-06-12 21:53 ./slackware64/l/glibc-2.27-x86_64-4.txz
-rw-r--r-- 1 root root 163 2018-06-12 21:53 ./slackware64/l/glibc-2.27-x86_64-4.txz.asc
@@ -3799,7 +3799,7 @@ drwxr-xr-x 2 root root 32768 2018-08-21 18:58 ./slackware64/n
-rw-r--r-- 1 root root 648 2018-04-13 21:23 ./slackware64/n/zd1211-firmware-1.5-fw-2.txt
-rw-r--r-- 1 root root 31872 2018-04-13 21:23 ./slackware64/n/zd1211-firmware-1.5-fw-2.txz
-rw-r--r-- 1 root root 163 2018-04-13 21:23 ./slackware64/n/zd1211-firmware-1.5-fw-2.txz.asc
-drwxr-xr-x 2 root root 4096 2018-08-20 23:35 ./slackware64/t
+drwxr-xr-x 2 root root 4096 2018-08-22 23:52 ./slackware64/t
-rw-r--r-- 1 root root 484 2018-05-09 17:56 ./slackware64/t/fig2dev-3.2.7a-x86_64-1.txt
-rw-r--r-- 1 root root 283032 2018-05-09 17:56 ./slackware64/t/fig2dev-3.2.7a-x86_64-1.txz
-rw-r--r-- 1 root root 163 2018-05-09 17:56 ./slackware64/t/fig2dev-3.2.7a-x86_64-1.txz.asc
@@ -3808,9 +3808,9 @@ drwxr-xr-x 2 root root 4096 2018-08-20 23:35 ./slackware64/t
-rw-r--r-- 1 root root 1102 2018-03-01 07:55 ./slackware64/t/maketag
-rw-r--r-- 1 root root 1102 2018-03-01 07:55 ./slackware64/t/maketag.ez
-rw-r--r-- 1 root root 33 2018-03-01 07:55 ./slackware64/t/tagfile
--rw-r--r-- 1 root root 517 2018-08-20 21:26 ./slackware64/t/texlive-2018.180820-x86_64-1.txt
--rw-r--r-- 1 root root 76232568 2018-08-20 21:26 ./slackware64/t/texlive-2018.180820-x86_64-1.txz
--rw-r--r-- 1 root root 163 2018-08-20 21:26 ./slackware64/t/texlive-2018.180820-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 508 2018-08-22 22:30 ./slackware64/t/texlive-2018.180822-x86_64-1.txt
+-rw-r--r-- 1 root root 76189116 2018-08-22 22:30 ./slackware64/t/texlive-2018.180822-x86_64-1.txz
+-rw-r--r-- 1 root root 163 2018-08-22 22:30 ./slackware64/t/texlive-2018.180822-x86_64-1.txz.asc
-rw-r--r-- 1 root root 457 2018-05-09 17:57 ./slackware64/t/xfig-3.2.7a-x86_64-1.txt
-rw-r--r-- 1 root root 3672812 2018-05-09 17:57 ./slackware64/t/xfig-3.2.7a-x86_64-1.txz
-rw-r--r-- 1 root root 163 2018-05-09 17:57 ./slackware64/t/xfig-3.2.7a-x86_64-1.txz.asc
@@ -4936,13 +4936,13 @@ drwxr-xr-x 2 root root 4096 2018-04-18 08:35 ./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 2018-08-21 19:02 ./source
--rw-r--r-- 1 root root 454779 2018-08-21 19:02 ./source/CHECKSUMS.md5
--rw-r--r-- 1 root root 163 2018-08-21 19:02 ./source/CHECKSUMS.md5.asc
--rw-r--r-- 1 root root 643531 2018-08-21 19:02 ./source/FILE_LIST
--rw-r--r-- 1 root root 15185275 2018-08-21 19:02 ./source/MANIFEST.bz2
+drwxr-xr-x 19 root root 4096 2018-08-22 23:57 ./source
+-rw-r--r-- 1 root root 455969 2018-08-22 23:57 ./source/CHECKSUMS.md5
+-rw-r--r-- 1 root root 163 2018-08-22 23:57 ./source/CHECKSUMS.md5.asc
+-rw-r--r-- 1 root root 645029 2018-08-22 23:56 ./source/FILE_LIST
+-rw-r--r-- 1 root root 15176671 2018-08-22 23:56 ./source/MANIFEST.bz2
-rw-r--r-- 1 root root 1314 2006-10-02 04:40 ./source/README.TXT
-drwxr-xr-x 110 root root 4096 2018-07-09 19:21 ./source/a
+drwxr-xr-x 110 root root 4096 2018-08-22 23:12 ./source/a
-rw-r--r-- 1 root root 769 2018-06-26 09:45 ./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
@@ -5218,11 +5218,24 @@ drwxr-xr-x 2 root root 4096 2018-07-26 03:51 ./source/a/file
-rw-r--r-- 1 root root 214 2005-09-07 03:59 ./source/a/file/file.zisofs.magic.gz
-rw-r--r-- 1 root root 233 2015-04-14 20:30 ./source/a/file/recompile_magic.mgc.sh.gz
-rw-r--r-- 1 root root 723 2018-02-27 06:13 ./source/a/file/slack-desc
-drwxr-xr-x 2 root root 4096 2018-04-23 17:20 ./source/a/findutils
--rw-r--r-- 1 root root 1114432 2009-06-06 14:38 ./source/a/findutils/findutils-4.4.2.tar.xz
--rwxr-xr-x 1 root root 4184 2018-04-23 17:20 ./source/a/findutils/findutils.SlackBuild
+drwxr-xr-x 3 root root 4096 2018-08-19 19:52 ./source/a/findutils
+-rw-r--r-- 1 root root 1792415 2015-12-28 21:53 ./source/a/findutils/findutils-4.6.0.tar.lz
+-rwxr-xr-x 1 root root 5716 2018-08-22 23:11 ./source/a/findutils/findutils.SlackBuild
-rw-r--r-- 1 root root 186 2009-02-21 21:50 ./source/a/findutils/findutils.no.default.options.warnings.diff.gz
--rw-r--r-- 1 root root 359 2009-02-21 21:19 ./source/a/findutils/findutils.nolocate.diff.gz
+-rw-r--r-- 1 root root 339 2018-08-16 20:04 ./source/a/findutils/findutils.nolocate.diff.gz
+drwxr-xr-x 2 root root 4096 2018-08-19 19:28 ./source/a/findutils/patches
+-rw-r--r-- 1 root root 2026 2018-07-13 04:43 ./source/a/findutils/patches/findutils-4.4.2-xautofs.patch.gz
+-rw-r--r-- 1 root root 844 2018-07-13 04:43 ./source/a/findutils/patches/findutils-4.5.13-warnings.patch.gz
+-rw-r--r-- 1 root root 2431 2018-07-13 04:43 ./source/a/findutils/patches/findutils-4.5.15-no-locate.patch.gz
+-rw-r--r-- 1 root root 3211 2018-07-13 04:43 ./source/a/findutils/patches/findutils-4.6.0-exec-args.patch.gz
+-rw-r--r-- 1 root root 9633 2018-07-13 04:43 ./source/a/findutils/patches/findutils-4.6.0-fts-update.patch.gz
+-rw-r--r-- 1 root root 1970 2018-07-13 04:43 ./source/a/findutils/patches/findutils-4.6.0-gnulib-fflush.patch.gz
+-rw-r--r-- 1 root root 1481 2018-07-13 04:43 ./source/a/findutils/patches/findutils-4.6.0-gnulib-makedev.patch.gz
+-rw-r--r-- 1 root root 2999 2018-07-13 04:43 ./source/a/findutils/patches/findutils-4.6.0-internal-noop.patch.gz
+-rw-r--r-- 1 root root 1351 2018-07-13 04:43 ./source/a/findutils/patches/findutils-4.6.0-leaf-opt.patch.gz
+-rw-r--r-- 1 root root 813 2018-07-13 04:43 ./source/a/findutils/patches/findutils-4.6.0-man-exec.patch.gz
+-rw-r--r-- 1 root root 721 2018-07-13 04:43 ./source/a/findutils/patches/findutils-4.6.0-mbrtowc-tests.patch.gz
+-rw-r--r-- 1 root root 557 2018-07-13 04:43 ./source/a/findutils/patches/findutils-4.6.0-test-lock.patch.gz
-rw-r--r-- 1 root root 823 2018-02-27 06:13 ./source/a/findutils/slack-desc
drwxr-xr-x 2 root root 4096 2018-04-23 17:20 ./source/a/floppy
-rw-r--r-- 1 root root 8893 2008-10-27 19:57 ./source/a/floppy/fdutils-5.5-20081027.diff.gz
@@ -5679,24 +5692,24 @@ drwxr-xr-x 2 root root 4096 2018-04-23 17:20 ./source/a/sysvinit-functions
-rw-r--r-- 1 root root 226 2007-05-15 02:38 ./source/a/sysvinit-functions/doinst.sh.gz
-rw-r--r-- 1 root root 10001 2007-04-29 18:21 ./source/a/sysvinit-functions/function-src-8.53.tar.bz2
-rw-r--r-- 1 root root 13913 2006-10-26 20:57 ./source/a/sysvinit-functions/functions
--rw-r--r-- 1 root root 1160 2018-02-27 06:13 ./source/a/sysvinit-functions/slack-desc
--rwxr-xr-x 1 root root 3679 2018-04-23 17:20 ./source/a/sysvinit-functions/sysvinit-functions.SlackBuild
-drwxr-xr-x 3 root root 4096 2018-07-01 18:13 ./source/a/sysvinit-scripts
--rw-r--r-- 1 root root 361 2016-02-01 20:20 ./source/a/sysvinit-scripts/doinst.sh.gz
-drwxr-xr-x 2 root root 4096 2017-11-03 00:51 ./source/a/sysvinit-scripts/scripts
--rw-r--r-- 1 root root 60 2006-08-01 03:00 ./source/a/sysvinit-scripts/scripts/fetch-rescan-scsi-bus.sh
--rw-r--r-- 1 root root 2354 2017-11-22 00:21 ./source/a/sysvinit-scripts/scripts/inittab
--rw-r--r-- 1 root root 1642 2017-05-23 23:57 ./source/a/sysvinit-scripts/scripts/rc.4
--rw-r--r-- 1 root root 8977 2018-07-23 21:34 ./source/a/sysvinit-scripts/scripts/rc.6
--rw-r--r-- 1 root root 3157 2018-07-23 21:35 ./source/a/sysvinit-scripts/scripts/rc.K
--rw-r--r-- 1 root root 12517 2018-08-13 21:39 ./source/a/sysvinit-scripts/scripts/rc.M
--rw-r--r-- 1 root root 16523 2018-08-06 18:58 ./source/a/sysvinit-scripts/scripts/rc.S
--rw-r--r-- 1 root root 2702 2017-07-09 18:47 ./source/a/sysvinit-scripts/scripts/rc.cpufreq
--rw-r--r-- 1 root root 272 2006-08-12 02:07 ./source/a/sysvinit-scripts/scripts/rc.local
--rw-r--r-- 1 root root 168 2011-04-23 19:40 ./source/a/sysvinit-scripts/scripts/rc.loop
--rw-r--r-- 1 root root 778 2015-12-16 04:10 ./source/a/sysvinit-scripts/scripts/rc.modules
--rw-r--r-- 1 root root 689 2015-12-16 01:12 ./source/a/sysvinit-scripts/scripts/rc.modules.local
--rw-r--r-- 1 root root 1654 2015-11-23 22:22 ./source/a/sysvinit-scripts/scripts/rc.sysvinit
+-rw-r--r-- 1 root root 1160 2018-02-27 06:13 ./source/a/sysvinit-functions/slack-desc
+-rwxr-xr-x 1 root root 3679 2018-04-23 17:20 ./source/a/sysvinit-functions/sysvinit-functions.SlackBuild
+drwxr-xr-x 3 root root 4096 2018-07-01 18:13 ./source/a/sysvinit-scripts
+-rw-r--r-- 1 root root 361 2016-02-01 20:20 ./source/a/sysvinit-scripts/doinst.sh.gz
+drwxr-xr-x 2 root root 4096 2017-11-03 00:51 ./source/a/sysvinit-scripts/scripts
+-rw-r--r-- 1 root root 60 2006-08-01 03:00 ./source/a/sysvinit-scripts/scripts/fetch-rescan-scsi-bus.sh
+-rw-r--r-- 1 root root 2354 2017-11-22 00:21 ./source/a/sysvinit-scripts/scripts/inittab
+-rw-r--r-- 1 root root 1642 2017-05-23 23:57 ./source/a/sysvinit-scripts/scripts/rc.4
+-rw-r--r-- 1 root root 8977 2018-07-23 21:34 ./source/a/sysvinit-scripts/scripts/rc.6
+-rw-r--r-- 1 root root 3157 2018-07-23 21:35 ./source/a/sysvinit-scripts/scripts/rc.K
+-rw-r--r-- 1 root root 12517 2018-08-13 21:39 ./source/a/sysvinit-scripts/scripts/rc.M
+-rw-r--r-- 1 root root 16523 2018-08-06 18:58 ./source/a/sysvinit-scripts/scripts/rc.S
+-rw-r--r-- 1 root root 2702 2017-07-09 18:47 ./source/a/sysvinit-scripts/scripts/rc.cpufreq
+-rw-r--r-- 1 root root 272 2006-08-12 02:07 ./source/a/sysvinit-scripts/scripts/rc.local
+-rw-r--r-- 1 root root 168 2011-04-23 19:40 ./source/a/sysvinit-scripts/scripts/rc.loop
+-rw-r--r-- 1 root root 778 2015-12-16 04:10 ./source/a/sysvinit-scripts/scripts/rc.modules
+-rw-r--r-- 1 root root 689 2015-12-16 01:12 ./source/a/sysvinit-scripts/scripts/rc.modules.local
+-rw-r--r-- 1 root root 1654 2015-11-23 22:22 ./source/a/sysvinit-scripts/scripts/rc.sysvinit
-rw-r--r-- 1 root root 22473 2012-09-07 17:51 ./source/a/sysvinit-scripts/scripts/rescan-scsi-bus.sh
-rw-r--r-- 1 root root 645 2012-09-07 17:52 ./source/a/sysvinit-scripts/scripts/rescan-scsi-bus.sh.diff
-rw-r--r-- 1 root root 842 2018-02-27 06:13 ./source/a/sysvinit-scripts/slack-desc
@@ -6124,7 +6137,7 @@ drwxr-xr-x 2 root root 4096 2018-07-31 21:00 ./source/ap/man-db
-rw-r--r-- 1 root root 57 2018-02-07 01:17 ./source/ap/man-db/libpipeline.url
-rw-r--r-- 1 root root 1779488 2018-07-27 14:46 ./source/ap/man-db/man-db-2.8.4.tar.xz
-rw-r--r-- 1 root root 833 2018-07-27 14:46 ./source/ap/man-db/man-db-2.8.4.tar.xz.asc
--rwxr-xr-x 1 root root 8600 2018-07-31 21:00 ./source/ap/man-db/man-db.SlackBuild
+-rwxr-xr-x 1 root root 9130 2018-08-22 22:44 ./source/ap/man-db/man-db.SlackBuild
-rw-r--r-- 1 root root 431 2018-02-13 18:26 ./source/ap/man-db/man-db.cron
-rw-r--r-- 1 root root 52 2018-02-07 01:17 ./source/ap/man-db/man-db.url
-rw-r--r-- 1 root root 66 2018-01-15 06:08 ./source/ap/man-db/man2html.url
@@ -6811,21 +6824,21 @@ drwxr-xr-x 2 root root 4096 2018-03-11 02:36 ./source/installer/sources/e
drwxr-xr-x 2 root root 4096 2018-07-25 04:38 ./source/installer/sources/initrd
-rw-r--r-- 1 root root 139117 2018-07-25 04:38 ./source/installer/sources/initrd/skeleton_initrd.tar.gz
-rw-r--r-- 1 root root 16894 2012-09-03 20:53 ./source/installer/usbimg2disk.sh
-drwxr-xr-x 4 root root 4096 2018-08-19 18:15 ./source/k
+drwxr-xr-x 4 root root 4096 2018-08-22 18:01 ./source/k
-rwxr-xr-x 1 root root 7342 2018-03-15 18:04 ./source/k/build-all-kernels.sh
-drwxr-xr-x 2 root root 4096 2018-08-19 18:51 ./source/k/kernel-configs
--rw-r--r-- 1 root root 180789 2018-08-19 18:48 ./source/k/kernel-configs/config-generic-4.14.65
--rw-r--r-- 1 root root 180604 2018-08-19 18:51 ./source/k/kernel-configs/config-generic-4.14.65.x64
--rw-r--r-- 1 root root 182154 2018-08-19 18:48 ./source/k/kernel-configs/config-generic-smp-4.14.65-smp
--rw-r--r-- 1 root root 180789 2018-08-19 18:48 ./source/k/kernel-configs/config-huge-4.14.65
--rw-r--r-- 1 root root 180604 2018-08-19 18:51 ./source/k/kernel-configs/config-huge-4.14.65.x64
--rw-r--r-- 1 root root 182154 2018-08-19 18:48 ./source/k/kernel-configs/config-huge-smp-4.14.65-smp
+drwxr-xr-x 2 root root 4096 2018-08-22 18:12 ./source/k/kernel-configs
+-rw-r--r-- 1 root root 180789 2018-08-22 18:09 ./source/k/kernel-configs/config-generic-4.14.66
+-rw-r--r-- 1 root root 180604 2018-08-22 18:12 ./source/k/kernel-configs/config-generic-4.14.66.x64
+-rw-r--r-- 1 root root 182154 2018-08-22 18:09 ./source/k/kernel-configs/config-generic-smp-4.14.66-smp
+-rw-r--r-- 1 root root 180789 2018-08-22 18:09 ./source/k/kernel-configs/config-huge-4.14.66
+-rw-r--r-- 1 root root 180604 2018-08-22 18:12 ./source/k/kernel-configs/config-huge-4.14.66.x64
+-rw-r--r-- 1 root root 182154 2018-08-22 18:09 ./source/k/kernel-configs/config-huge-smp-4.14.66-smp
-rwxr-xr-x 1 root root 7149 2018-03-26 04:29 ./source/k/kernel-generic.SlackBuild
-rwxr-xr-x 1 root root 3779 2018-03-15 06:02 ./source/k/kernel-headers.SlackBuild
-rwxr-xr-x 1 root root 5604 2018-03-15 06:02 ./source/k/kernel-modules.SlackBuild
-rwxr-xr-x 1 root root 7878 2018-08-16 20:59 ./source/k/kernel-source.SlackBuild
--rw-r--r-- 1 root root 991 2018-08-18 08:55 ./source/k/linux-4.14.65.tar.sign
--rw-r--r-- 1 root root 100977596 2018-08-18 08:55 ./source/k/linux-4.14.65.tar.xz
+-rw-r--r-- 1 root root 991 2018-08-22 05:53 ./source/k/linux-4.14.66.tar.sign
+-rw-r--r-- 1 root root 100974316 2018-08-22 05:53 ./source/k/linux-4.14.66.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
@@ -8356,10 +8369,10 @@ drwxr-xr-x 2 root root 4096 2018-05-22 17:45 ./source/l/glib-networking
-rw-r--r-- 1 root root 346080 2001-03-15 14:59 ./source/l/glib/glib-1.2.10.tar.bz2
-rwxr-xr-x 1 root root 5427 2018-04-23 17:20 ./source/l/glib/glib.SlackBuild
-rw-r--r-- 1 root root 754 2018-02-27 06:12 ./source/l/glib/slack-desc
-drwxr-xr-x 2 root root 4096 2018-04-23 17:20 ./source/l/glib2
+drwxr-xr-x 2 root root 4096 2018-08-22 18:13 ./source/l/glib2
-rw-r--r-- 1 root root 516 2011-11-06 22:03 ./source/l/glib2/doinst.sh.gz
--rw-r--r-- 1 root root 8028716 2018-04-07 11:57 ./source/l/glib2/glib-2.56.1.tar.xz
--rwxr-xr-x 1 root root 4780 2018-04-23 17:20 ./source/l/glib2/glib2.SlackBuild
+-rw-r--r-- 1 root root 8041756 2018-08-17 04:42 ./source/l/glib2/glib-2.56.2.tar.xz
+-rwxr-xr-x 1 root root 4780 2018-08-22 18:13 ./source/l/glib2/glib2.SlackBuild
-rw-r--r-- 1 root root 999 2011-03-27 21:04 ./source/l/glib2/libglib2.csh
-rw-r--r-- 1 root root 982 2008-03-18 07:08 ./source/l/glib2/libglib2.sh
-rw-r--r-- 1 root root 688 2018-02-27 06:12 ./source/l/glib2/slack-desc
@@ -10670,19 +10683,20 @@ drwxr-xr-x 2 root root 4096 2018-05-09 17:55 ./source/t/fig2dev
-rw-r--r-- 1 root root 507288 2018-05-05 21:50 ./source/t/fig2dev/fig2dev-3.2.7a.tar.xz
-rwxr-xr-x 1 root root 4178 2018-04-23 17:20 ./source/t/fig2dev/fig2dev.SlackBuild
-rw-r--r-- 1 root root 940 2018-02-27 06:12 ./source/t/fig2dev/slack-desc
-drwxr-xr-x 4 root root 4096 2018-08-20 21:01 ./source/t/texlive
+drwxr-xr-x 4 root root 4096 2018-08-22 22:18 ./source/t/texlive
-rw-r--r-- 1 root root 773 2017-05-22 17:37 ./source/t/texlive/README.tlpkg
--rw-r--r-- 1 root root 151 2017-11-10 08:16 ./source/t/texlive/doinst.sh.gz
+-rw-r--r-- 1 root root 152 2018-08-20 11:27 ./source/t/texlive/doinst.sh.gz
-rwxr-xr-x 1 root root 765 2018-06-30 00:51 ./source/t/texlive/dump.unused.internal.libraries.from.sources.sh
-drwxr-xr-x 2 root root 4096 2018-06-30 00:49 ./source/t/texlive/patches
+drwxr-xr-x 2 root root 4096 2018-08-22 16:55 ./source/t/texlive/patches
-rw-r--r-- 1 root root 25854 2018-06-30 00:49 ./source/t/texlive/patches/20180625.diff
-drwxr-xr-x 2 root root 4096 2018-07-05 22:10 ./source/t/texlive/prep
+-rw-r--r-- 1 root root 751 2018-08-20 11:18 ./source/t/texlive/patches/synctex-missing-header.patch
+drwxr-xr-x 2 root root 4096 2018-08-22 17:36 ./source/t/texlive/prep
-rw-r--r-- 1 root root 109 2017-09-29 05:12 ./source/t/texlive/prep/README
--rwxr-xr-x 1 root root 35314 2018-06-30 00:49 ./source/t/texlive/prep/texmf_get.sh
--rw-r--r-- 1 root root 1004 2018-02-27 06:12 ./source/t/texlive/slack-desc
+-rwxr-xr-x 1 root root 36158 2018-08-22 18:42 ./source/t/texlive/prep/texmf_get.sh
+-rw-r--r-- 1 root root 996 2018-08-22 16:53 ./source/t/texlive/slack-desc
-rw-r--r-- 1 root root 22245572 2018-04-14 01:16 ./source/t/texlive/texlive-20180414-source.tar.xz
--rw-r--r-- 1 root root 67278216 2018-08-20 10:34 ./source/t/texlive/texlive-base-2018.180820.tar.xz
--rwxr-xr-x 1 root root 8428 2018-08-20 21:01 ./source/t/texlive/texlive.SlackBuild
+-rw-r--r-- 1 root root 67262844 2018-08-22 17:50 ./source/t/texlive/texlive-base-2018.180822.tar.xz
+-rwxr-xr-x 1 root root 8589 2018-08-22 19:43 ./source/t/texlive/texlive.SlackBuild
-rw-r--r-- 1 root root 175 2018-08-20 21:01 ./source/t/texlive/texlive.url
drwxr-xr-x 2 root root 4096 2018-05-09 17:56 ./source/t/xfig
-rw-r--r-- 1 root root 909 2018-02-27 06:12 ./source/t/xfig/slack-desc
@@ -12434,25 +12448,25 @@ drwxr-xr-x 2 root root 4096 2018-04-23 17:20 ./source/xap/xsane
-rw-r--r-- 1 root root 1131 2015-03-26 16:54 ./source/xap/xsane/xsane-0.999-man-page.patch.gz
-rw-r--r-- 1 root root 1516 2015-03-26 16:54 ./source/xap/xsane/xsane-0.999-no-file-selected.patch.gz
-rw-r--r-- 1 root root 875 2015-03-26 16:54 ./source/xap/xsane/xsane-0.999-pdf-no-high-bpp.patch.gz
--rw-r--r-- 1 root root 2680 2015-03-26 16:54 ./source/xap/xsane/xsane-0.999-signal-handling.patch.gz
--rw-r--r-- 1 root root 12822 2015-03-26 16:54 ./source/xap/xsane/xsane-0.999-snprintf-update.patch.gz
--rw-r--r-- 1 root root 1878344 2013-06-04 15:48 ./source/xap/xsane/xsane-0.999.tar.xz
--rwxr-xr-x 1 root root 4802 2018-04-23 17:20 ./source/xap/xsane/xsane.SlackBuild
-drwxr-xr-x 2 root root 4096 2018-08-14 22:35 ./source/xap/xscreensaver
--rwxr-xr-x 1 root root 616 2017-12-24 07:25 ./source/xap/xscreensaver/dump.android.osx.sources.sh
--rw-r--r-- 1 root root 2868 2008-10-17 04:30 ./source/xap/xscreensaver/setuid.c.gz
--rw-r--r-- 1 root root 923 2018-02-27 06:13 ./source/xap/xscreensaver/slack-desc
--rw-r--r-- 1 root root 8958492 2018-08-12 23:49 ./source/xap/xscreensaver/xscreensaver-5.40.tar.xz
--rw-r--r-- 1 root root 16569 2011-01-30 03:18 ./source/xap/xscreensaver/xscreensaver-getimage-file-5.14
--rwxr-xr-x 1 root root 5063 2018-04-23 17:20 ./source/xap/xscreensaver/xscreensaver.SlackBuild
--rw-r--r-- 1 root root 285 2009-05-15 21:22 ./source/xap/xscreensaver/xscreensaver.electricsheep.diff.gz
--rw-r--r-- 1 root root 698 2018-04-13 18:39 ./source/xap/xscreensaver/xscreensaver.no.expiration.date.diff.gz
--rw-r--r-- 1 root root 1763 2008-10-17 04:32 ./source/xap/xscreensaver/xscreensaver.setuid.diff.gz
-drwxr-xr-x 2 root root 4096 2018-04-23 17:20 ./source/xap/xv
--rw-r--r-- 1 root root 683 2018-02-27 06:13 ./source/xap/xv/slack-desc
--rw-r--r-- 1 root root 1693808 1994-12-22 15:50 ./source/xap/xv/xv-3.10.tar.xz
--rw-r--r-- 1 root root 3294 2008-12-16 18:04 ./source/xap/xv/xv-3.10a-enhancements.20070520-20081216.diff.bz2
--rw-r--r-- 1 root root 25974 2007-05-21 05:19 ./source/xap/xv/xv-3.10a-jumbo-README.txt
+-rw-r--r-- 1 root root 2680 2015-03-26 16:54 ./source/xap/xsane/xsane-0.999-signal-handling.patch.gz
+-rw-r--r-- 1 root root 12822 2015-03-26 16:54 ./source/xap/xsane/xsane-0.999-snprintf-update.patch.gz
+-rw-r--r-- 1 root root 1878344 2013-06-04 15:48 ./source/xap/xsane/xsane-0.999.tar.xz
+-rwxr-xr-x 1 root root 4802 2018-04-23 17:20 ./source/xap/xsane/xsane.SlackBuild
+drwxr-xr-x 2 root root 4096 2018-08-14 22:35 ./source/xap/xscreensaver
+-rwxr-xr-x 1 root root 616 2017-12-24 07:25 ./source/xap/xscreensaver/dump.android.osx.sources.sh
+-rw-r--r-- 1 root root 2868 2008-10-17 04:30 ./source/xap/xscreensaver/setuid.c.gz
+-rw-r--r-- 1 root root 923 2018-02-27 06:13 ./source/xap/xscreensaver/slack-desc
+-rw-r--r-- 1 root root 8958492 2018-08-12 23:49 ./source/xap/xscreensaver/xscreensaver-5.40.tar.xz
+-rw-r--r-- 1 root root 16569 2011-01-30 03:18 ./source/xap/xscreensaver/xscreensaver-getimage-file-5.14
+-rwxr-xr-x 1 root root 5063 2018-04-23 17:20 ./source/xap/xscreensaver/xscreensaver.SlackBuild
+-rw-r--r-- 1 root root 285 2009-05-15 21:22 ./source/xap/xscreensaver/xscreensaver.electricsheep.diff.gz
+-rw-r--r-- 1 root root 698 2018-04-13 18:39 ./source/xap/xscreensaver/xscreensaver.no.expiration.date.diff.gz
+-rw-r--r-- 1 root root 1763 2008-10-17 04:32 ./source/xap/xscreensaver/xscreensaver.setuid.diff.gz
+drwxr-xr-x 2 root root 4096 2018-04-23 17:20 ./source/xap/xv
+-rw-r--r-- 1 root root 683 2018-02-27 06:13 ./source/xap/xv/slack-desc
+-rw-r--r-- 1 root root 1693808 1994-12-22 15:50 ./source/xap/xv/xv-3.10.tar.xz
+-rw-r--r-- 1 root root 3294 2008-12-16 18:04 ./source/xap/xv/xv-3.10a-enhancements.20070520-20081216.diff.bz2
+-rw-r--r-- 1 root root 25974 2007-05-21 05:19 ./source/xap/xv/xv-3.10a-jumbo-README.txt
-rw-r--r-- 1 root root 114978 2010-02-19 19:24 ./source/xap/xv/xv-3.10a-jumbo-additions.diff.bz2
-rw-r--r-- 1 root root 287250 2007-05-21 04:57 ./source/xap/xv/xv-3.10a-jumbo-fix-enh-patch-20070520.txt.bz2
-rw-r--r-- 1 root root 21943 1996-10-05 19:33 ./source/xap/xv/xv-3.10a.patch.gz
@@ -12657,9 +12671,9 @@ drwxr-xr-x 2 root root 4096 2006-09-14 06:32 ./testing/source/glibc/profile
-rw-r--r-- 1 root root 811 2018-02-27 06:12 ./testing/source/glibc/slack-desc.glibc-i18n
-rw-r--r-- 1 root root 968 2018-02-27 06:12 ./testing/source/glibc/slack-desc.glibc-profile
-rw-r--r-- 1 root root 783 2018-02-27 06:12 ./testing/source/glibc/slack-desc.glibc-solibs
-drwxr-xr-x 2 root root 4096 2018-08-19 23:59 ./usb-and-pxe-installers
+drwxr-xr-x 2 root root 4096 2018-08-22 23:30 ./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 45270016 2018-08-19 23:49 ./usb-and-pxe-installers/usbboot.img
+-rw-r--r-- 1 root root 45270016 2018-08-22 23:30 ./usb-and-pxe-installers/usbboot.img
-rw-r--r-- 1 root root 16045 2016-03-29 07:41 ./usb-and-pxe-installers/usbimg2disk.sh
diff --git a/README.initrd b/README.initrd
index 04cf05094..7ba33e5eb 100644
--- a/README.initrd
+++ b/README.initrd
@@ -1,7 +1,7 @@
Slackware initrd mini HOWTO
by Patrick Volkerding, volkerdi@slackware.com
-Sun Aug 19 22:41:30 UTC 2018
+Wed Aug 22 23:20:54 UTC 2018
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 4.14.65 Linux kernel using the packages
+upgrading to the generic 4.14.66 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-4.14.65-x86_64-1.txz
- installpkg kernel-modules-4.14.65-x86_64-1.txz
+ installpkg kernel-generic-4.14.66-x86_64-1.txz
+ installpkg kernel-modules-4.14.66-x86_64-1.txz
installpkg mkinitrd-1.4.11-x86_64-8.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 4.14.65 -m ext4
+ mkinitrd -c -k 4.14.66 -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 4.14.65
+Here's another example: Build an initrd image using Linux 4.14.66
kernel modules for a system with an ext4 root partition on /dev/sdb3:
- mkinitrd -c -k 4.14.65 -m ext4 -f ext4 -r /dev/sdb3
+ mkinitrd -c -k 4.14.66 -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 248196096..bc8cc97f2 100644
--- a/isolinux/message.txt
+++ b/isolinux/message.txt
@@ -1,5 +1,5 @@
-Welcome to 09Slackware6407 version 15.0 (Linux kernel 4.14.65)!
+Welcome to 09Slackware6407 version 15.0 (Linux kernel 4.14.66)!
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 523c4c4d9..1e81ef5eb 100644
--- a/kernels/VERSIONS.TXT
+++ b/kernels/VERSIONS.TXT
@@ -1,3 +1,3 @@
-These kernels are version 4.14.65.
+These kernels are version 4.14.66.
diff --git a/recompress.sh b/recompress.sh
index f6ec44ea5..6c60cc8d8 100755
--- a/recompress.sh
+++ b/recompress.sh
@@ -817,6 +817,18 @@ gzip ./source/a/gpm/setup.mouse
gzip ./source/a/udisks/udisks.no.pci-db.diff
gzip ./source/a/findutils/findutils.nolocate.diff
gzip ./source/a/findutils/findutils.no.default.options.warnings.diff
+gzip ./source/a/findutils/patches/findutils-4.4.2-xautofs.patch
+gzip ./source/a/findutils/patches/findutils-4.5.13-warnings.patch
+gzip ./source/a/findutils/patches/findutils-4.6.0-gnulib-fflush.patch
+gzip ./source/a/findutils/patches/findutils-4.6.0-mbrtowc-tests.patch
+gzip ./source/a/findutils/patches/findutils-4.6.0-man-exec.patch
+gzip ./source/a/findutils/patches/findutils-4.6.0-leaf-opt.patch
+gzip ./source/a/findutils/patches/findutils-4.5.15-no-locate.patch
+gzip ./source/a/findutils/patches/findutils-4.6.0-internal-noop.patch
+gzip ./source/a/findutils/patches/findutils-4.6.0-gnulib-makedev.patch
+gzip ./source/a/findutils/patches/findutils-4.6.0-test-lock.patch
+gzip ./source/a/findutils/patches/findutils-4.6.0-fts-update.patch
+gzip ./source/a/findutils/patches/findutils-4.6.0-exec-args.patch
gzip ./source/a/dcron/doinst.sh
gzip ./source/a/dcron/run-parts.8
gzip ./source/a/dcron/patches/0007-Update-main.c.patch
diff --git a/slackware64/a/maketag b/slackware64/a/maketag
index addb9469a..c1a5e023f 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 4.14.65 kernel (needs an initrd)" "on" \
-"kernel-huge" "Loaded 4.14.65 Linux kernel" "on" \
-"kernel-modules" "Linux 4.14.65 kernel modules -- REQUIRED" "on" \
+"kernel-generic" "Generic 4.14.66 kernel (needs an initrd)" "on" \
+"kernel-huge" "Loaded 4.14.66 Linux kernel" "on" \
+"kernel-modules" "Linux 4.14.66 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 addb9469a..c1a5e023f 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 4.14.65 kernel (needs an initrd)" "on" \
-"kernel-huge" "Loaded 4.14.65 Linux kernel" "on" \
-"kernel-modules" "Linux 4.14.65 kernel modules -- REQUIRED" "on" \
+"kernel-generic" "Generic 4.14.66 kernel (needs an initrd)" "on" \
+"kernel-huge" "Loaded 4.14.66 Linux kernel" "on" \
+"kernel-modules" "Linux 4.14.66 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 2dff8bd70..96e44d96f 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 4.14.65 kernel source" "on" \
+"kernel-source" "Linux 4.14.66 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 2dff8bd70..96e44d96f 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 4.14.65 kernel source" "on" \
+"kernel-source" "Linux 4.14.66 kernel source" "on" \
2> $TMP/SeTpkgs
if [ $? = 1 -o $? = 255 ]; then
rm -f $TMP/SeTpkgs
diff --git a/source/a/findutils/findutils.SlackBuild b/source/a/findutils/findutils.SlackBuild
index 13d7935a9..8e7d4f329 100755
--- a/source/a/findutils/findutils.SlackBuild
+++ b/source/a/findutils/findutils.SlackBuild
@@ -23,8 +23,8 @@
cd $(dirname $0) ; CWD=$(pwd)
PKGNAM=findutils
-VERSION=4.4.2
-BUILD=${BUILD:-2}
+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
@@ -57,6 +57,27 @@ if [ ! -z "${PRINT_PACKAGE_NAME}" ]; then
exit 0
fi
+# Don't use icecream:
+for path_element in $(echo $PATH | tr ':' '\n') ; do
+ if [ "$path_element" = "/usr/libexec/icecc/bin" ]; then
+ continue
+ fi
+ if [ -z "$REVERSE_PATH" ]; then
+ REVERSE_PATH="$path_element"
+ else
+ REVERSE_PATH="${REVERSE_PATH}:$path_element"
+ fi
+done
+for path_element in $(echo $REVERSE_PATH | tr ':' '\n') ; do
+ if [ -z "$FORWARD_PATH" ]; then
+ FORWARD_PATH="$path_element"
+ else
+ FORWARD_PATH="${FORWARD_PATH}:$path_element"
+ fi
+done
+PATH=$FORWARD_PATH
+unset FORWARD_PATH REVERSE_PATH
+
rm -rf $PKG
mkdir -p $TMP $PKG
cd $TMP
@@ -71,29 +92,43 @@ find . \
\( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \
-exec chmod 644 {} \;
-# We use slocate instead of these:
-zcat $CWD/findutils.nolocate.diff.gz | patch -p1 --verbose || exit 1
-
# Don't output warnings by default. Let's make the crazy assumption that the
# user actually does know what they are doing, and will use -warn if they'd
# like to be yelled at.
zcat $CWD/findutils.no.default.options.warnings.diff.gz | patch -p1 --verbose || exit 1
-# Feel free to change the "--without-fts" if you like find to be faster and
-# less reliable. With the current setting, "find" will be non-fts(), and
-# ftsfind will still be there if you want to use it.
+# Add patches from Fedora to finally make findutils-4.6.0 usable:
+zcat $CWD/patches/findutils-4.4.2-xautofs.patch.gz | patch -p1 --verbose || exit 1
+zcat $CWD/patches/findutils-4.5.13-warnings.patch.gz | patch -p1 --verbose || exit 1
+zcat $CWD/patches/findutils-4.5.15-no-locate.patch.gz | patch -p1 --verbose || exit 1
+zcat $CWD/patches/findutils-4.6.0-exec-args.patch.gz | patch -p1 --verbose || exit 1
+zcat $CWD/patches/findutils-4.6.0-fts-update.patch.gz | patch -p1 --verbose || exit 1
+zcat $CWD/patches/findutils-4.6.0-gnulib-fflush.patch.gz | patch -p1 --verbose || exit 1
+zcat $CWD/patches/findutils-4.6.0-gnulib-makedev.patch.gz | patch -p1 --verbose || exit 1
+zcat $CWD/patches/findutils-4.6.0-internal-noop.patch.gz | patch -p1 --verbose || exit 1
+zcat $CWD/patches/findutils-4.6.0-leaf-opt.patch.gz | patch -p1 --verbose || exit 1
+zcat $CWD/patches/findutils-4.6.0-man-exec.patch.gz | patch -p1 --verbose || exit 1
+zcat $CWD/patches/findutils-4.6.0-mbrtowc-tests.patch.gz | patch -p1 --verbose || exit 1
+zcat $CWD/patches/findutils-4.6.0-test-lock.patch.gz | patch -p1 --verbose || exit 1
+
+autoreconf -vif
+
CFLAGS="$SLKCFLAGS" \
./configure \
--prefix=/usr \
--mandir=/usr/man \
--infodir=/usr/info \
- --disable-locate \
- --without-fts \
- --build=$ARCH-slackware-linux
+ --build=$ARCH-slackware-linux || exit 1
make $NUMJOBS || make || exit 1
make install DESTDIR=$PKG || exit 1
+# Now there is only FTS find, but make the old symlink in case any scripts
+# out there are using it:
+( cd $PKG/usr/bin
+ ln -sf find ftsfind
+)
+
find $PKG | xargs file | grep -e "executable" -e "shared object" \
| grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
diff --git a/source/a/findutils/findutils.nolocate.diff b/source/a/findutils/findutils.nolocate.diff
index 920b57baf..a3820f7a7 100644
--- a/source/a/findutils/findutils.nolocate.diff
+++ b/source/a/findutils/findutils.nolocate.diff
@@ -1,22 +1,22 @@
---- ./Makefile.am.orig 2009-02-21 15:09:54.000000000 -0600
-+++ ./Makefile.am 2009-02-21 15:18:43.000000000 -0600
-@@ -4,7 +4,7 @@
- EXTRA_DIST = COPYING ChangeLog TODO config.h.in stamp-h.in \
- THANKS import-gnulib.sh import-gnulib.config
- # "tests" is the gnulib unit test dir.
--SUBDIRS = gnulib tests build-aux lib find xargs locate doc po m4
-+SUBDIRS = gnulib tests build-aux lib find xargs doc po m4
-
- ACLOCAL_AMFLAGS = -I gnulib/m4 -I m4
-
---- ./Makefile.in.orig 2009-02-21 15:09:54.000000000 -0600
-+++ ./Makefile.in 2009-02-21 15:18:56.000000000 -0600
-@@ -572,7 +572,7 @@
- THANKS import-gnulib.sh import-gnulib.config
+--- ./Makefile.in.orig 2015-12-28 15:31:15.000000000 -0600
++++ ./Makefile.in 2018-08-16 15:04:37.525329502 -0500
+@@ -1639,7 +1639,7 @@
+ DISTCLEANFILES = tool-versions.txt
# "tests" is the gnulib unit test dir.
--SUBDIRS = gnulib tests build-aux lib find xargs locate doc po m4
-+SUBDIRS = gnulib tests build-aux lib find xargs doc po m4
- ACLOCAL_AMFLAGS = -I gnulib/m4 -I m4
+-SUBDIRS = gl tests build-aux lib find xargs locate doc po m4
++SUBDIRS = gl tests build-aux lib find xargs doc po m4
+ ACLOCAL_AMFLAGS = -I gl/m4 -I m4
TESTFILE_SUFFIXES = .exp .xo .xe .xi
all: config.h
+--- ./Makefile.am.orig 2015-12-28 15:10:23.000000000 -0600
++++ ./Makefile.am 2018-08-16 15:04:25.998328424 -0500
+@@ -9,7 +9,7 @@
+
+
+ # "tests" is the gnulib unit test dir.
+-SUBDIRS = gl tests build-aux lib find xargs locate doc po m4
++SUBDIRS = gl tests build-aux lib find xargs doc po m4
+
+ ACLOCAL_AMFLAGS = -I gl/m4 -I m4
+
diff --git a/source/a/findutils/patches/findutils-4.4.2-xautofs.patch b/source/a/findutils/patches/findutils-4.4.2-xautofs.patch
new file mode 100644
index 000000000..c1ea81e42
--- /dev/null
+++ b/source/a/findutils/patches/findutils-4.4.2-xautofs.patch
@@ -0,0 +1,132 @@
+From 17e470dc1acca4824b70328d733d5f99c12d0d65 Mon Sep 17 00:00:00 2001
+From: Kamil Dudka <kdudka@redhat.com>
+Date: Wed, 11 May 2011 16:46:45 +0200
+Subject: [PATCH 3/4] findutils-4.4.2-xautofs.patch
+
+---
+ doc/find.texi | 4 ++++
+ find/defs.h | 3 +++
+ find/find.1 | 3 +++
+ find/ftsfind.c | 6 ++++++
+ find/parser.c | 11 ++++++++++-
+ find/util.c | 1 +
+ 6 files changed, 27 insertions(+), 1 deletions(-)
+
+diff --git a/doc/find.texi b/doc/find.texi
+index c584298..9731b71 100644
+--- a/doc/find.texi
++++ b/doc/find.texi
+@@ -1446,6 +1446,10 @@ them.
+ There are two ways to avoid searching certain filesystems. One way is
+ to tell @code{find} to only search one filesystem:
+
++@deffn Option -xautofs
++Don't descend directories on autofs filesystems.
++@end deffn
++
+ @deffn Option -xdev
+ @deffnx Option -mount
+ Don't descend directories on other filesystems. These options are
+diff --git a/find/defs.h b/find/defs.h
+index 11d1d00..f95ce72 100644
+--- a/find/defs.h
++++ b/find/defs.h
+@@ -557,6 +557,9 @@ struct options
+ /* If true, don't cross filesystem boundaries. */
+ bool stay_on_filesystem;
+
++ /* If true, don't descend directories on autofs filesystems. */
++ bool bypass_autofs;
++
+ /* If true, we ignore the problem where we find that a directory entry
+ * no longer exists by the time we get around to processing it.
+ */
+diff --git a/find/find.1 b/find/find.1
+index e851f82..a4799ff 100644
+--- a/find/find.1
++++ b/find/find.1
+@@ -520,6 +520,9 @@ to stat them; this gives a significant increase in search speed.
+ .IP "\-version, \-\-version"
+ Print the \fBfind\fR version number and exit.
+
++.IP \-xautofs
++Don't descend directories on autofs filesystems.
++
+ .IP \-xdev
+ Don't descend directories on other filesystems.
+
+diff --git a/find/ftsfind.c b/find/ftsfind.c
+index 9fdb8ef..bd7cc37 100644
+--- a/find/ftsfind.c
++++ b/find/ftsfind.c
+@@ -485,6 +485,12 @@ consider_visiting (FTS *p, FTSENT *ent)
+ }
+ }
+
++ if (options.bypass_autofs &&
++ 0 == strcmp ("autofs", filesystem_type (&statbuf, ent->fts_name)))
++ {
++ fts_set(p, ent, FTS_SKIP); /* descend no further */
++ }
++
+ if ( (ent->fts_info == FTS_D) && !options.do_dir_first )
+ {
+ /* this is the preorder visit, but user said -depth */
+diff --git a/find/parser.c b/find/parser.c
+index 52a1ef6..995aec3 100644
+--- a/find/parser.c
++++ b/find/parser.c
+@@ -146,6 +146,7 @@ static bool parse_user (const struct parser_table*, char *argv[], int *
+ static bool parse_version (const struct parser_table*, char *argv[], int *arg_ptr);
+ static bool parse_wholename (const struct parser_table*, char *argv[], int *arg_ptr);
+ static bool parse_xdev (const struct parser_table*, char *argv[], int *arg_ptr);
++static bool parse_xautofs (const struct parser_table*, char *argv[], int *arg_ptr);
+ static bool parse_ignore_race (const struct parser_table*, char *argv[], int *arg_ptr);
+ static bool parse_noignore_race (const struct parser_table*, char *argv[], int *arg_ptr);
+ static bool parse_warn (const struct parser_table*, char *argv[], int *arg_ptr);
+@@ -306,6 +307,7 @@ static struct parser_table const parse_table[] =
+ PARSE_TEST_NP ("wholename", wholename), /* GNU, replaced -path, but anyway -path will soon be in POSIX */
+ {ARG_TEST, "writable", parse_accesscheck, pred_writable}, /* GNU, 4.3.0+ */
+ PARSE_OPTION ("xdev", xdev), /* POSIX */
++ PARSE_OPTION ("xautofs", xautofs),
+ PARSE_TEST ("xtype", xtype), /* GNU */
+ #ifdef UNIMPLEMENTED_UNIX
+ /* It's pretty ugly for find to know about archive formats.
+@@ -1239,7 +1241,7 @@ operators (decreasing precedence; -and is implicit where no others are given):\n
+ positional options (always true): -daystart -follow -regextype\n\n\
+ normal options (always true, specified before other expressions):\n\
+ -depth --help -maxdepth LEVELS -mindepth LEVELS -mount -noleaf\n\
+- --version -xdev -ignore_readdir_race -noignore_readdir_race\n"));
++ --version -xautofs -xdev -ignore_readdir_race -noignore_readdir_race\n"));
+ puts (_("\
+ tests (N can be +N or -N or N): -amin N -anewer FILE -atime N -cmin N\n\
+ -cnewer FILE -ctime N -empty -false -fstype TYPE -gid N -group NAME\n\
+@@ -2683,6 +2685,13 @@ parse_xdev (const struct parser_table* entry, char **argv, int *arg_ptr)
+ }
+
+ static bool
++parse_xautofs (const struct parser_table* entry, char **argv, int *arg_ptr)
++{
++ options.bypass_autofs = true;
++ return parse_noop (entry, argv, arg_ptr);
++}
++
++static bool
+ parse_ignore_race (const struct parser_table* entry, char **argv, int *arg_ptr)
+ {
+ options.ignore_readdir_race = true;
+diff --git a/find/util.c b/find/util.c
+index 8577396..4d45f84 100644
+--- a/find/util.c
++++ b/find/util.c
+@@ -1017,6 +1017,7 @@ set_option_defaults (struct options *p)
+
+ p->full_days = false;
+ p->stay_on_filesystem = false;
++ p->bypass_autofs = false;
+ p->ignore_readdir_race = false;
+
+ if (p->posixly_correct)
+--
+1.7.4.4
+
diff --git a/source/a/findutils/patches/findutils-4.5.13-warnings.patch b/source/a/findutils/patches/findutils-4.5.13-warnings.patch
new file mode 100644
index 000000000..d04f6f881
--- /dev/null
+++ b/source/a/findutils/patches/findutils-4.5.13-warnings.patch
@@ -0,0 +1,53 @@
+From 690d4bd9f29a805999a3ce4651dac9585ccc9917 Mon Sep 17 00:00:00 2001
+From: Kamil Dudka <kdudka@redhat.com>
+Date: Wed, 11 May 2011 16:46:57 +0200
+Subject: [PATCH 1/2] findutils-4.5.7-warnings.patch
+
+---
+ xargs/xargs.c | 3 ++-
+ 1 file changed, 2 insertions(+), 1 deletion(-)
+
+diff --git a/xargs/xargs.c b/xargs/xargs.c
+index 5e373f2..c0a8676 100644
+--- a/xargs/xargs.c
++++ b/xargs/xargs.c
+@@ -1289,7 +1289,8 @@ xargs_do_exec (struct buildcmd_control *ctl, void *usercontext, int argc, char *
+ * utility if we run it, for POSIX compliance on the
+ * handling of exit values.
+ */
+- write (fd[1], &errno, sizeof (int));
++ int sink = write (fd[1], &errno, sizeof (int));
++ (void) sink;
+ }
+
+ close (fd[1]);
+--
+1.7.1
+
+
+From c5654b9ca5f50daa1ca406ebd7b4546f24d00db6 Mon Sep 17 00:00:00 2001
+From: Kamil Dudka <kdudka@redhat.com>
+Date: Mon, 23 Sep 2013 15:04:03 +0200
+Subject: [PATCH 2/2] parser: silence a [-Wmaybe-uninitialized] GCC warning
+
+... caused by a missing model of error()
+---
+ find/parser.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/find/parser.c b/find/parser.c
+index 89d8bcf..8c399d7 100644
+--- a/find/parser.c
++++ b/find/parser.c
+@@ -2723,7 +2723,7 @@ insert_type (char **argv, int *arg_ptr,
+ const struct parser_table *entry,
+ PRED_FUNC which_pred)
+ {
+- mode_t type_cell;
++ mode_t type_cell /* to silence GCC warning */ = 0;
+ struct predicate *our_pred;
+ float rate = 0.5;
+ const char *typeletter;
+--
+1.9.3
+
diff --git a/source/a/findutils/patches/findutils-4.5.15-no-locate.patch b/source/a/findutils/patches/findutils-4.5.15-no-locate.patch
new file mode 100644
index 000000000..7bf1f3361
--- /dev/null
+++ b/source/a/findutils/patches/findutils-4.5.15-no-locate.patch
@@ -0,0 +1,185 @@
+From 3e5e311d23ac0a5bd5930ddb4094f7555b886329 Mon Sep 17 00:00:00 2001
+From: Kamil Dudka <kdudka@redhat.com>
+Date: Sat, 19 Dec 2015 22:56:40 +0100
+Subject: [PATCH 1/2] Revert "Don't include dblocation.texi from original spot,
+ symlink it."
+
+This reverts commit f59d88e456553dfe0b5185caf75e4041285fd595.
+---
+ configure.ac | 2 +-
+ doc/Makefile.am | 8 +-------
+ doc/find.texi | 2 +-
+ 3 files changed, 3 insertions(+), 9 deletions(-)
+
+diff --git a/configure.ac b/configure.ac
+index 7962719..ce0e768 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -70,7 +70,7 @@ AC_PROG_CPP
+
+ dnl for gnulib
+ gl_EARLY
+-AC_PROG_LN_S
++
+ AC_PROG_INSTALL
+ AC_CHECK_TOOLS([AR], [ar])
+ AC_CHECK_TOOLS([RANLIB], [ranlib], [:])
+diff --git a/doc/Makefile.am b/doc/Makefile.am
+index f6f7443..6fbf57b 100644
+--- a/doc/Makefile.am
++++ b/doc/Makefile.am
+@@ -16,11 +16,9 @@ AM_CFLAGS = $(WARN_CFLAGS)
+
+ info_TEXINFOS = find.texi find-maint.texi
+ find_TEXINFOS = perm.texi parse-datetime.texi regexprops.texi fdl.texi
+-BUILT_SOURCES = dblocation.texi
+-nodist_find_TEXINFOS = dblocation.texi
+ find_maint_TEXINFOS = fdl.texi
+ MOSTLYCLEANFILES = find.cps
+-CLEANFILES = find.txt find_mono.html findutils.texi_html_node.tar.gz dblocation.texi
++CLEANFILES = find.txt find_mono.html findutils.texi_html_node.tar.gz
+
+ MAKEINFOTXT = $(MAKEINFO) --plaintext
+
+@@ -69,7 +67,3 @@ find_mono.html: find.texi
+ # for "make all" or "make install" (or even "make check").
+ findutils.texi_html_node.tar.gz: find.html
+ tar zcf $@ $<
+-
+-
+-dblocation.texi: ../locate/dblocation.texi
+- $(LN_S) ../locate/dblocation.texi $@
+diff --git a/doc/find.texi b/doc/find.texi
+index a83a645..c2714dd 100644
+--- a/doc/find.texi
++++ b/doc/find.texi
+@@ -7,7 +7,7 @@
+ @c %**end of header
+
+ @include version.texi
+-@include dblocation.texi
++@include ../locate/dblocation.texi
+
+ @iftex
+ @finalout
+--
+2.5.0
+
+
+From d5473caa86f689ebcadacc593f5a71781c99e829 Mon Sep 17 00:00:00 2001
+From: Kamil Dudka <kdudka@redhat.com>
+Date: Wed, 11 May 2011 16:46:13 +0200
+Subject: [PATCH 2/2] findutils-4.4.0-no-locate.patch
+
+---
+ Makefile.am | 2 +-
+ configure.ac | 2 --
+ doc/find.texi | 24 ++++++++----------------
+ 3 files changed, 9 insertions(+), 19 deletions(-)
+
+diff --git a/Makefile.am b/Makefile.am
+index af82d54..6ad453b 100644
+--- a/Makefile.am
++++ b/Makefile.am
+@@ -9,7 +9,7 @@ DISTCLEANFILES = tool-versions.txt
+
+
+ # "tests" is the gnulib unit test dir.
+-SUBDIRS = gl tests build-aux lib find xargs locate doc po m4
++SUBDIRS = gl tests build-aux lib find xargs doc po m4
+
+ ACLOCAL_AMFLAGS = -I gl/m4 -I m4
+
+diff --git a/configure.ac b/configure.ac
+index ce0e768..521e665 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -248,8 +248,6 @@ find/testsuite/Makefile
+ gl/Makefile
+ gl/lib/Makefile
+ lib/Makefile
+-locate/Makefile
+-locate/testsuite/Makefile
+ m4/Makefile
+ po/Makefile.in
+ po/Makefile
+diff --git a/doc/find.texi b/doc/find.texi
+index c2714dd..01367a4 100644
+--- a/doc/find.texi
++++ b/doc/find.texi
+@@ -7,7 +7,6 @@
+ @c %**end of header
+
+ @include version.texi
+-@include ../locate/dblocation.texi
+
+ @iftex
+ @finalout
+@@ -571,8 +570,7 @@ the databases are updated, and the directories for which they contain
+ entries.
+
+ Here is how to select which file name databases @code{locate}
+-searches. The default is system-dependent. At the time this document
+-was generated, the default was @file{@value{LOCATE_DB}}.
++searches. The default is system-dependent.
+
+ @table @code
+ @item --database=@var{path}
+@@ -2892,13 +2890,9 @@ thrashing the network.
+ directories are indexed by each database file.
+
+ The default location for the locate database depends on how findutils
+-is built, but the findutils installation accompanying this manual uses
+-the default location @file{@value{LOCATE_DB}}.
+-
+-If no database exists at @file{@value{LOCATE_DB}} but the user did not
+-specify where to look (by using @samp{-d} or setting
+-@code{LOCATE_PATH}), then @code{locate} will also check for a
+-``secure'' database in @file{/var/lib/slocate/slocate.db}.
++is built. If user did not specify where to look (by using @samp{-d}
++or setting @code{LOCATE_PATH}), then @code{locate} will also check for
++a ``secure'' database in @file{/var/lib/slocate/slocate.db}.
+
+ @node Database Formats
+ @section Database Formats
+@@ -3438,8 +3432,7 @@ present.
+
+ @item --database=@var{path}
+ @itemx -d @var{path}
+-Instead of searching the default @code{locate} database
+-@file{@value{LOCATE_DB}}, @code{locate} searches the file
++@code{locate} searches the file
+ name databases in @var{path}, which is a colon-separated list of
+ database file names. You can also use the environment variable
+ @code{LOCATE_PATH} to set the list of database files to search. The
+@@ -3614,8 +3607,7 @@ The environment variable @code{PRUNEFS} also sets this value. Default
+ is @file{nfs NFS proc}.
+
+ @item --output=@var{dbfile}
+-The database file to build. The default is system-dependent, but
+-when this document was formatted it was @file{@value{LOCATE_DB}}.
++The database file to build.
+
+ @item --localuser=@var{user}
+ The user to search the non-network directories as, using @code{su}.
+@@ -5635,7 +5627,7 @@ why @code{xargs} is confused by your operating system).
+ @section Error Messages From @code{locate}
+
+ @table @samp
+-@item warning: database @file{@value{LOCATE_DB}} is more than 8 days old
++@item warning: database @file{LOCATE_DB} is more than 8 days old
+ The @code{locate} program relies on a database which is periodically
+ built by the @code{updatedb} program. That hasn't happened in a long
+ time. To fix this problem, run @code{updatedb} manually. This can
+@@ -5643,7 +5635,7 @@ often happen on systems that are generally not left on, so the
+ periodic ``cron'' task which normally does this doesn't get a chance
+ to run.
+
+-@item locate database @file{@value{LOCATE_DB}} is corrupt or invalid
++@item locate database @file{LOCATE_DB} is corrupt or invalid
+ This should not happen. Re-run @code{updatedb}. If that works, but
+ @code{locate} still produces this error, run @code{locate --version}
+ and @code{updatedb --version}. These should produce the same output.
+--
+2.5.0
+
diff --git a/source/a/findutils/patches/findutils-4.6.0-exec-args.patch b/source/a/findutils/patches/findutils-4.6.0-exec-args.patch
new file mode 100644
index 000000000..7f80aeead
--- /dev/null
+++ b/source/a/findutils/patches/findutils-4.6.0-exec-args.patch
@@ -0,0 +1,226 @@
+From 443166adaf1c8b91e16a716f3b13f47493b895cc Mon Sep 17 00:00:00 2001
+From: Bernhard Voelker <mail@bernhard-voelker.de>
+Date: Tue, 31 May 2016 10:38:52 +0200
+Subject: [PATCH] Fix bug #48030: find: -exec + does not pass all arguments in
+ certain cases
+
+When the -exec arguments buffer (usually 128k) is full and the given
+command has been executed with all that arguments, find(1) missed to
+execute the command yet another time if only 1 another file would have
+to be processed.
+Both find(1), i.e., nowadays FTS-version, and oldfind are affected.
+This bug was present since the implementation of '-exec +' in 2005,
+see commit FINDUTILS_4_2_11-1-25-gf0a6ac6.
+
+* lib/buildcmd.c (bc_push_arg): Move the assignment to set 'state->todo'
+to 1 down after the immediate execution which resets that flag.
+* find/testsuite/sv-48030-exec-plus-bug.sh: Add a test.
+* find/testsuite/Makefile.am (test_shell_progs): Reference the test.
+* NEWS (Bug Fixes): Mention the fix.
+
+Reported by Joe Philip Ninan <indiajoe@gmail.com> in
+https://savannah.gnu.org/bugs/?48030
+
+Upstream-commit: 8cdc9767e305c9566f537af9d1acf71d1bc6ee8e
+Signed-off-by: Kamil Dudka <kdudka@redhat.com>
+---
+ find/testsuite/Makefile.am | 3 +-
+ find/testsuite/sv-48030-exec-plus-bug.sh | 143 +++++++++++++++++++++++++++++++
+ lib/buildcmd.c | 10 +--
+ 3 files changed, 150 insertions(+), 6 deletions(-)
+ create mode 100644 find/testsuite/sv-48030-exec-plus-bug.sh
+
+diff --git a/find/testsuite/Makefile.am b/find/testsuite/Makefile.am
+index c1369c3..ab5dbe8 100644
+--- a/find/testsuite/Makefile.am
++++ b/find/testsuite/Makefile.am
+@@ -258,7 +258,8 @@ test_escapechars.sh \
+ test_escape_c.sh \
+ test_inode.sh \
+ sv-34079.sh \
+-sv-34976-execdir-fd-leak.sh
++sv-34976-execdir-fd-leak.sh \
++sv-48030-exec-plus-bug.sh
+
+ EXTRA_DIST = $(EXTRA_DIST_EXP) $(EXTRA_DIST_XO) $(EXTRA_DIST_GOLDEN) \
+ $(test_shell_progs) binary_locations.sh checklists.py
+diff --git a/find/testsuite/sv-48030-exec-plus-bug.sh b/find/testsuite/sv-48030-exec-plus-bug.sh
+new file mode 100755
+index 0000000..4dbf149
+--- /dev/null
++++ b/find/testsuite/sv-48030-exec-plus-bug.sh
+@@ -0,0 +1,143 @@
++#! /bin/sh
++# Copyright (C) 2016 Free Software Foundation, Inc.
++#
++# This program is free software: you can redistribute it and/or modify
++# it under the terms of the GNU General Public License as published by
++# the Free Software Foundation, either version 3 of the License, or
++# (at your option) any later version.
++#
++# This program is distributed in the hope that it will be useful,
++# but WITHOUT ANY WARRANTY; without even the implied warranty of
++# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
++# GNU General Public License for more details.
++#
++# You should have received a copy of the GNU General Public License
++# along with this program. If not, see <http://www.gnu.org/licenses/>.
++#
++
++# This test verifies that find invokes the given command for the
++# multiple-argument sytax '-exec CMD {} +'. Between FINDUTILS-4.2.12
++# and v4.6.0, find(1) would have failed to execute CMD another time
++# if there was only one last single file argument.
++
++testname="$(basename $0)"
++
++. "${srcdir}"/binary_locations.sh
++
++die() {
++ echo "$@" >&2
++ exit 1
++}
++
++# This is used to simplify checking of the return value
++# which is useful when ensuring a command fails as desired.
++# I.e., just doing `command ... &&fail=1` will not catch
++# a segfault in command for example. With this helper you
++# instead check an explicit exit code like
++# returns_ 1 command ... || fail
++returns_ () {
++ # Disable tracing so it doesn't interfere with stderr of the wrapped command
++ { set +x; } 2>/dev/null
++
++ local exp_exit="$1"
++ shift
++ "$@"
++ test $? -eq $exp_exit && ret_=0 || ret_=1
++
++ set -x
++ { return $ret_; } 2>/dev/null
++}
++
++# Define the nicest compare available (borrowed from gnulib).
++if diff_out_=`exec 2>/dev/null; diff -u "$0" "$0" < /dev/null` \
++ && diff -u Makefile "$0" 2>/dev/null | grep '^[+]#!' >/dev/null; then
++ # diff accepts the -u option and does not (like AIX 7 'diff') produce an
++ # extra space on column 1 of every content line.
++ if test -z "$diff_out_"; then
++ compare () { diff -u "$@"; }
++ else
++ compare ()
++ {
++ if diff -u "$@" > diff.out; then
++ # No differences were found, but Solaris 'diff' produces output
++ # "No differences encountered". Hide this output.
++ rm -f diff.out
++ true
++ else
++ cat diff.out
++ rm -f diff.out
++ false
++ fi
++ }
++ fi
++elif diff_out_=`exec 2>/dev/null; diff -c "$0" "$0" < /dev/null`; then
++ if test -z "$diff_out_"; then
++ compare () { diff -c "$@"; }
++ else
++ compare ()
++ {
++ if diff -c "$@" > diff.out; then
++ # No differences were found, but AIX and HP-UX 'diff' produce output
++ # "No differences encountered" or "There are no differences between the
++ # files.". Hide this output.
++ rm -f diff.out
++ true
++ else
++ cat diff.out
++ rm -f diff.out
++ false
++ fi
++ }
++ fi
++elif cmp -s /dev/null /dev/null 2>/dev/null; then
++ compare () { cmp -s "$@"; }
++else
++ compare () { cmp "$@"; }
++fi
++
++DIR='RashuBug'
++# Name of the CMD to execute: the file name must be 6 characters long
++# (to trigger the bug in combination with the test files).
++CMD='tstcmd'
++
++# Create test files.
++make_test_data() {
++ # Create the CMD script and check that it works.
++ mkdir "$DIR" 'bin' \
++ && echo 'printf "%s\n" "$@"' > "bin/$CMD" \
++ && chmod +x "bin/$CMD" \
++ && PATH="$PWD/bin:$PATH" \
++ && [ $( "${ftsfind}" bin -maxdepth 0 -exec "$CMD" '{}' + ) = 'bin' ] \
++ || return 1
++
++ # Create expected output file - also used for creating the test data.
++ { seq -f "${DIR}/abcdefghijklmnopqrstuv%04g" 901 &&
++ seq -f "${DIR}/abcdefghijklmnopqrstu%04g" 902 3719
++ } > exp2 \
++ && LC_ALL=C sort exp2 > exp \
++ && rm exp2 \
++ || return 1
++
++ # Create test files, and check if test data has been created correctly.
++ xargs touch < exp \
++ && [ -f "${DIR}/abcdefghijklmnopqrstu3719" ] \
++ && [ 3719 = $( "${ftsfind}" "$DIR" -type f | wc -l ) ] \
++ || return 1
++}
++
++set -x
++tmpdir="$(mktemp -d)" \
++ && cd "$tmpdir" \
++ && make_test_data "${tmpdir}" \
++ || die "FAIL: failed to set up the test in ${tmpdir}"
++
++fail=0
++for exe in "${ftsfind}" "${oldfind}"; do
++ "$exe" "$DIR" -type f -exec "$CMD" '{}' + > out || fail=1
++ LC_ALL=C sort out > out2 || fail=1
++ compare exp out2 || fail=1
++done
++
++cd ..
++rm -rf "${tmpdir}" || exit 1
++exit $fail
+diff --git a/lib/buildcmd.c b/lib/buildcmd.c
+index a58f67e..27e9ce5 100644
+--- a/lib/buildcmd.c
++++ b/lib/buildcmd.c
+@@ -356,11 +356,6 @@ bc_push_arg (struct buildcmd_control *ctl,
+
+ assert (arg != NULL);
+
+- if (!initial_args)
+- {
+- state->todo = 1;
+- }
+-
+ if (!terminate)
+ {
+ if (state->cmd_argv_chars + len + pfxlen > ctl->arg_max)
+@@ -380,6 +375,11 @@ bc_push_arg (struct buildcmd_control *ctl,
+ bc_do_exec (ctl, state);
+ }
+
++ if (!initial_args)
++ {
++ state->todo = 1;
++ }
++
+ if (state->cmd_argc >= state->cmd_argv_alloc)
+ {
+ /* XXX: we could use extendbuf() here. */
+--
+2.5.5
+
diff --git a/source/a/findutils/patches/findutils-4.6.0-fts-update.patch b/source/a/findutils/patches/findutils-4.6.0-fts-update.patch
new file mode 100644
index 000000000..602551485
--- /dev/null
+++ b/source/a/findutils/patches/findutils-4.6.0-fts-update.patch
@@ -0,0 +1,990 @@
+From f3337786e55909538aacfd7c29b1cf58ff444fbf Mon Sep 17 00:00:00 2001
+From: Kamil Dudka <kdudka@redhat.com>
+Date: Mon, 12 Feb 2018 12:45:36 +0100
+Subject: [PATCH 1/4] import gnulib's FTS module from upstream commit 281b825e
+
+---
+ gl/lib/fts.c | 424 +++++++++++++++++++++++++++++-----------------------------
+ gl/lib/fts_.h | 10 +-
+ 2 files changed, 221 insertions(+), 213 deletions(-)
+
+diff --git a/gl/lib/fts.c b/gl/lib/fts.c
+index c91d7a1..bfa73e3 100644
+--- a/gl/lib/fts.c
++++ b/gl/lib/fts.c
+@@ -1,6 +1,6 @@
+ /* Traverse a file hierarchy.
+
+- Copyright (C) 2004-2015 Free Software Foundation, Inc.
++ Copyright (C) 2004-2018 Free Software Foundation, Inc.
+
+ This program is free software: you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+@@ -13,7 +13,7 @@
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+- along with this program. If not, see <http://www.gnu.org/licenses/>. */
++ along with this program. If not, see <https://www.gnu.org/licenses/>. */
+
+ /*-
+ * Copyright (c) 1990, 1993, 1994
+@@ -46,9 +46,9 @@
+
+ #include <config.h>
+
+-#if defined(LIBC_SCCS) && !defined(lint)
++#if defined LIBC_SCCS && !defined GCC_LINT && !defined lint
+ static char sccsid[] = "@(#)fts.c 8.6 (Berkeley) 8/14/94";
+-#endif /* LIBC_SCCS and not lint */
++#endif
+
+ #include "fts_.h"
+
+@@ -71,11 +71,7 @@ static char sccsid[] = "@(#)fts.c 8.6 (Berkeley) 8/14/94";
+
+ #if ! _LIBC
+ # include "fcntl--.h"
+-# include "dirent--.h"
+-# include "unistd--.h"
+-/* FIXME - use fcntl(F_DUPFD_CLOEXEC)/openat(O_CLOEXEC) once they are
+- supported. */
+-# include "cloexec.h"
++# include "flexmember.h"
+ # include "openat.h"
+ # include "same-inode.h"
+ #endif
+@@ -202,6 +198,14 @@ enum Fts_stat
+ while (false)
+ #endif
+
++#ifndef FALLTHROUGH
++# if __GNUC__ < 7
++# define FALLTHROUGH ((void) 0)
++# else
++# define FALLTHROUGH __attribute__ ((__fallthrough__))
++# endif
++#endif
++
+ static FTSENT *fts_alloc (FTS *, const char *, size_t) internal_function;
+ static FTSENT *fts_build (FTS *, int) internal_function;
+ static void fts_lfree (FTSENT *) internal_function;
+@@ -296,14 +300,13 @@ static DIR *
+ internal_function
+ opendirat (int fd, char const *dir, int extra_flags, int *pdir_fd)
+ {
+- int new_fd = openat (fd, dir,
+- (O_RDONLY | O_DIRECTORY | O_NOCTTY | O_NONBLOCK
+- | extra_flags));
++ int open_flags = (O_RDONLY | O_CLOEXEC | O_DIRECTORY | O_NOCTTY
++ | O_NONBLOCK | extra_flags);
++ int new_fd = openat (fd, dir, open_flags);
+ DIR *dirp;
+
+ if (new_fd < 0)
+ return NULL;
+- set_cloexec_flag (new_fd, true);
+ dirp = fdopendir (new_fd);
+ if (dirp)
+ *pdir_fd = new_fd;
+@@ -366,15 +369,13 @@ static int
+ internal_function
+ diropen (FTS const *sp, char const *dir)
+ {
+- int open_flags = (O_SEARCH | O_DIRECTORY | O_NOCTTY | O_NONBLOCK
++ int open_flags = (O_SEARCH | O_CLOEXEC | O_DIRECTORY | O_NOCTTY | O_NONBLOCK
+ | (ISSET (FTS_PHYSICAL) ? O_NOFOLLOW : 0)
+ | (ISSET (FTS_NOATIME) ? O_NOATIME : 0));
+
+ int fd = (ISSET (FTS_CWDFD)
+ ? openat (sp->fts_cwd_fd, dir, open_flags)
+ : open (dir, open_flags));
+- if (0 <= fd)
+- set_cloexec_flag (fd, true);
+ return fd;
+ }
+
+@@ -470,6 +471,7 @@ fts_open (char * const *argv,
+ if ((parent = fts_alloc(sp, "", 0)) == NULL)
+ goto mem2;
+ parent->fts_level = FTS_ROOTPARENTLEVEL;
++ parent->fts_n_dirs_remaining = -1;
+ }
+
+ /* The classic fts implementation would call fts_stat with
+@@ -656,39 +658,139 @@ fts_close (FTS *sp)
+ return (0);
+ }
+
++/* Minimum link count of a traditional Unix directory. When leaf
++ optimization is OK and MIN_DIR_NLINK <= st_nlink, then st_nlink is
++ an upper bound on the number of subdirectories (counting "." and
++ ".."). */
++enum { MIN_DIR_NLINK = 2 };
++
++/* Whether leaf optimization is OK for a directory. */
++enum leaf_optimization
++ {
++ /* st_nlink is not reliable for this directory's subdirectories. */
++ NO_LEAF_OPTIMIZATION,
++
++ /* Leaf optimization is OK, but is not useful for avoiding stat calls. */
++ OK_LEAF_OPTIMIZATION,
++
++ /* Leaf optimization is not only OK: it is useful for avoiding
++ stat calls, because dirent.d_type does not work. */
++ NOSTAT_LEAF_OPTIMIZATION
++ };
++
+ #if defined __linux__ \
+ && HAVE_SYS_VFS_H && HAVE_FSTATFS && HAVE_STRUCT_STATFS_F_TYPE
+
+ # include <sys/vfs.h>
+
+ /* Linux-specific constants from coreutils' src/fs.h */
+-# define S_MAGIC_TMPFS 0x1021994
++# define S_MAGIC_AFS 0x5346414F
+ # define S_MAGIC_NFS 0x6969
++# define S_MAGIC_PROC 0x9FA0
+ # define S_MAGIC_REISERFS 0x52654973
++# define S_MAGIC_TMPFS 0x1021994
+ # define S_MAGIC_XFS 0x58465342
+-# define S_MAGIC_PROC 0x9FA0
+
+-/* Return false if it is easy to determine the file system type of
+- the directory on which DIR_FD is open, and sorting dirents on
+- inode numbers is known not to improve traversal performance with
+- that type of file system. Otherwise, return true. */
++# ifdef HAVE___FSWORD_T
++typedef __fsword_t fsword;
++# else
++typedef long int fsword;
++# endif
++
++/* Map a stat.st_dev number to a file system type number f_ftype. */
++struct dev_type
++{
++ dev_t st_dev;
++ fsword f_type;
++};
++
++/* Use a tiny initial size. If a traversal encounters more than
++ a few devices, the cost of growing/rehashing this table will be
++ rendered negligible by the number of inodes processed. */
++enum { DEV_TYPE_HT_INITIAL_SIZE = 13 };
++
++static size_t
++dev_type_hash (void const *x, size_t table_size)
++{
++ struct dev_type const *ax = x;
++ uintmax_t dev = ax->st_dev;
++ return dev % table_size;
++}
++
+ static bool
+-dirent_inode_sort_may_be_useful (int dir_fd)
++dev_type_compare (void const *x, void const *y)
++{
++ struct dev_type const *ax = x;
++ struct dev_type const *ay = y;
++ return ax->st_dev == ay->st_dev;
++}
++
++/* Return the file system type of P, or 0 if not known.
++ Try to cache known values. */
++
++static fsword
++filesystem_type (FTSENT const *p)
++{
++ FTS *sp = p->fts_fts;
++ Hash_table *h = sp->fts_leaf_optimization_works_ht;
++ struct dev_type *ent;
++ struct statfs fs_buf;
++
++ /* If we're not in CWDFD mode, don't bother with this optimization,
++ since the caller is not serious about performance. */
++ if (!ISSET (FTS_CWDFD))
++ return 0;
++
++ if (! h)
++ h = sp->fts_leaf_optimization_works_ht
++ = hash_initialize (DEV_TYPE_HT_INITIAL_SIZE, NULL, dev_type_hash,
++ dev_type_compare, free);
++ if (h)
++ {
++ struct dev_type tmp;
++ tmp.st_dev = p->fts_statp->st_dev;
++ ent = hash_lookup (h, &tmp);
++ if (ent)
++ return ent->f_type;
++ }
++
++ /* Look-up failed. Query directly and cache the result. */
++ if (fstatfs (p->fts_fts->fts_cwd_fd, &fs_buf) != 0)
++ return 0;
++
++ if (h)
++ {
++ struct dev_type *t2 = malloc (sizeof *t2);
++ if (t2)
++ {
++ t2->st_dev = p->fts_statp->st_dev;
++ t2->f_type = fs_buf.f_type;
++
++ ent = hash_insert (h, t2);
++ if (ent)
++ fts_assert (ent == t2);
++ else
++ free (t2);
++ }
++ }
++
++ return fs_buf.f_type;
++}
++
++/* Return false if it is easy to determine the file system type of the
++ directory P, and sorting dirents on inode numbers is known not to
++ improve traversal performance with that type of file system.
++ Otherwise, return true. */
++static bool
++dirent_inode_sort_may_be_useful (FTSENT const *p)
+ {
+ /* Skip the sort only if we can determine efficiently
+ that skipping it is the right thing to do.
+ The cost of performing an unnecessary sort is negligible,
+ while the cost of *not* performing it can be O(N^2) with
+ a very large constant. */
+- struct statfs fs_buf;
+-
+- /* If fstatfs fails, assume sorting would be useful. */
+- if (fstatfs (dir_fd, &fs_buf) != 0)
+- return true;
+
+- /* FIXME: what about when f_type is not an integral type?
+- deal with that if/when it's encountered. */
+- switch (fs_buf.f_type)
++ switch (filesystem_type (p))
+ {
+ case S_MAGIC_TMPFS:
+ case S_MAGIC_NFS:
+@@ -701,133 +803,58 @@ dirent_inode_sort_may_be_useful (int dir_fd)
+ }
+ }
+
+-/* Given a file descriptor DIR_FD open on a directory D,
+- return true if it is valid to apply the leaf-optimization
+- technique of counting directories in D via stat.st_nlink. */
+-static bool
+-leaf_optimization_applies (int dir_fd)
++/* Given an FTS entry P for a directory D,
++ return true if it is both useful and valid to apply leaf optimization.
++ The optimization is useful only for file systems that lack usable
++ dirent.d_type info. The optimization is valid if an st_nlink value
++ of at least MIN_DIR_NLINK is an upper bound on the number of
++ subdirectories of D, counting "." and ".." as subdirectories. */
++static enum leaf_optimization
++leaf_optimization (FTSENT const *p)
+ {
+- struct statfs fs_buf;
+-
+- /* If fstatfs fails, assume we can't use the optimization. */
+- if (fstatfs (dir_fd, &fs_buf) != 0)
+- return false;
+-
+- /* FIXME: do we need to detect AFS mount points? I doubt it,
+- unless fstatfs can report S_MAGIC_REISERFS for such a directory. */
+-
+- switch (fs_buf.f_type)
++ switch (filesystem_type (p))
+ {
+- case S_MAGIC_NFS:
+- /* NFS provides usable dirent.d_type but not necessarily for all entries
+- of large directories. See <https://bugzilla.redhat.com/1252549>. */
+- return true;
+-
+- /* List here the file system types that lack usable dirent.d_type
++ /* List here the file system types that may lack usable dirent.d_type
+ info, yet for which the optimization does apply. */
+ case S_MAGIC_REISERFS:
+- case S_MAGIC_XFS:
+- return true;
+-
++ case S_MAGIC_XFS: /* XFS lacked it until 2013-08-22 commit. */
++ return NOSTAT_LEAF_OPTIMIZATION;
++
++ case 0:
++ /* Leaf optimization is unsafe if the file system type is unknown. */
++ FALLTHROUGH;
++ case S_MAGIC_AFS:
++ /* Although AFS mount points are not counted in st_nlink, they
++ act like directories. See <https://bugs.debian.org/143111>. */
++ FALLTHROUGH;
++ case S_MAGIC_NFS:
++ /* NFS provides usable dirent.d_type but not necessarily for all entries
++ of large directories, so as per <https://bugzilla.redhat.com/1252549>
++ NFS should return true. However st_nlink values are not accurate on
++ all implementations as per <https://bugzilla.redhat.com/1299169>. */
++ FALLTHROUGH;
+ case S_MAGIC_PROC:
+- /* Explicitly listing this or any other file system type for which
+- the optimization is not applicable is not necessary, but we leave
+- it here to document the risk. Per http://bugs.debian.org/143111,
+- /proc may have bogus stat.st_nlink values. */
+- /* fall through */
++ /* Per <https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=143111> /proc
++ may have bogus stat.st_nlink values. */
++ return NO_LEAF_OPTIMIZATION;
++
+ default:
+- return false;
++ return OK_LEAF_OPTIMIZATION;
+ }
+ }
+
+ #else
+ static bool
+-dirent_inode_sort_may_be_useful (int dir_fd _GL_UNUSED) { return true; }
+-static bool
+-leaf_optimization_applies (int dir_fd _GL_UNUSED) { return false; }
+-#endif
+-
+-/* link-count-optimization entry:
+- map a stat.st_dev number to a boolean: leaf_optimization_works */
+-struct LCO_ent
+-{
+- dev_t st_dev;
+- bool opt_ok;
+-};
+-
+-/* Use a tiny initial size. If a traversal encounters more than
+- a few devices, the cost of growing/rehashing this table will be
+- rendered negligible by the number of inodes processed. */
+-enum { LCO_HT_INITIAL_SIZE = 13 };
+-
+-static size_t
+-LCO_hash (void const *x, size_t table_size)
+-{
+- struct LCO_ent const *ax = x;
+- return (uintmax_t) ax->st_dev % table_size;
+-}
+-
+-static bool
+-LCO_compare (void const *x, void const *y)
++dirent_inode_sort_may_be_useful (FTSENT const *p _GL_UNUSED)
+ {
+- struct LCO_ent const *ax = x;
+- struct LCO_ent const *ay = y;
+- return ax->st_dev == ay->st_dev;
++ return true;
+ }
+-
+-/* Ask the same question as leaf_optimization_applies, but query
+- the cache first (FTS.fts_leaf_optimization_works_ht), and if necessary,
+- update that cache. */
+-static bool
+-link_count_optimize_ok (FTSENT const *p)
++static enum leaf_optimization
++leaf_optimization (FTSENT const *p _GL_UNUSED)
+ {
+- FTS *sp = p->fts_fts;
+- Hash_table *h = sp->fts_leaf_optimization_works_ht;
+- struct LCO_ent tmp;
+- struct LCO_ent *ent;
+- bool opt_ok;
+- struct LCO_ent *t2;
+-
+- /* If we're not in CWDFD mode, don't bother with this optimization,
+- since the caller is not serious about performance. */
+- if (!ISSET(FTS_CWDFD))
+- return false;
+-
+- /* map st_dev to the boolean, leaf_optimization_works */
+- if (h == NULL)
+- {
+- h = sp->fts_leaf_optimization_works_ht
+- = hash_initialize (LCO_HT_INITIAL_SIZE, NULL, LCO_hash,
+- LCO_compare, free);
+- if (h == NULL)
+- return false;
+- }
+- tmp.st_dev = p->fts_statp->st_dev;
+- ent = hash_lookup (h, &tmp);
+- if (ent)
+- return ent->opt_ok;
+-
+- /* Look-up failed. Query directly and cache the result. */
+- t2 = malloc (sizeof *t2);
+- if (t2 == NULL)
+- return false;
+-
+- /* Is it ok to perform the optimization in the dir, FTS_CWD_FD? */
+- opt_ok = leaf_optimization_applies (sp->fts_cwd_fd);
+- t2->opt_ok = opt_ok;
+- t2->st_dev = p->fts_statp->st_dev;
+-
+- ent = hash_insert (h, t2);
+- if (ent == NULL)
+- {
+- /* insertion failed */
+- free (t2);
+- return false;
+- }
+- fts_assert (ent == t2);
+-
+- return opt_ok;
++ return NO_LEAF_OPTIMIZATION;
+ }
++#endif
+
+ /*
+ * Special case of "/" at the end of the file name so that slashes aren't
+@@ -1014,13 +1041,11 @@ check_for_dir:
+ if (p->fts_statp->st_size == FTS_STAT_REQUIRED)
+ {
+ FTSENT *parent = p->fts_parent;
+- if (FTS_ROOTLEVEL < p->fts_level
+- /* ->fts_n_dirs_remaining is not valid
+- for command-line-specified names. */
+- && parent->fts_n_dirs_remaining == 0
++ if (parent->fts_n_dirs_remaining == 0
+ && ISSET(FTS_NOSTAT)
+ && ISSET(FTS_PHYSICAL)
+- && link_count_optimize_ok (parent))
++ && (leaf_optimization (parent)
++ == NOSTAT_LEAF_OPTIMIZATION))
+ {
+ /* nothing more needed */
+ }
+@@ -1029,7 +1054,8 @@ check_for_dir:
+ p->fts_info = fts_stat(sp, p, false);
+ if (S_ISDIR(p->fts_statp->st_mode)
+ && p->fts_level != FTS_ROOTLEVEL
+- && parent->fts_n_dirs_remaining)
++ && 0 < parent->fts_n_dirs_remaining
++ && parent->fts_n_dirs_remaining != (nlink_t) -1)
+ parent->fts_n_dirs_remaining--;
+ }
+ }
+@@ -1298,8 +1324,6 @@ fts_build (register FTS *sp, int type)
+ bool descend;
+ bool doadjust;
+ ptrdiff_t level;
+- nlink_t nlinks;
+- bool nostat;
+ size_t len, maxlen, new_len;
+ char *cp;
+ int dir_fd;
+@@ -1369,24 +1393,6 @@ fts_build (register FTS *sp, int type)
+ sorting, yet not so large that we risk exhausting memory. */
+ max_entries = sp->fts_compar ? SIZE_MAX : FTS_MAX_READDIR_ENTRIES;
+
+- /*
+- * Nlinks is the number of possible entries of type directory in the
+- * directory if we're cheating on stat calls, 0 if we're not doing
+- * any stat calls at all, (nlink_t) -1 if we're statting everything.
+- */
+- if (type == BNAMES) {
+- nlinks = 0;
+- /* Be quiet about nostat, GCC. */
+- nostat = false;
+- } else if (ISSET(FTS_NOSTAT) && ISSET(FTS_PHYSICAL)) {
+- nlinks = (cur->fts_statp->st_nlink
+- - (ISSET(FTS_SEEDOT) ? 0 : 2));
+- nostat = true;
+- } else {
+- nlinks = -1;
+- nostat = false;
+- }
+-
+ /*
+ * If we're going to need to stat anything or we want to descend
+ * and stay in the directory, chdir. If this fails we keep going,
+@@ -1408,15 +1414,22 @@ fts_build (register FTS *sp, int type)
+ the required dirp and dir_fd. */
+ descend = true;
+ }
+- else if (nlinks || type == BREAD) {
++ else
++ {
++ /* Try to descend unless it is a names-only fts_children,
++ or the directory is known to lack subdirectories. */
++ descend = (type != BNAMES
++ && ! (ISSET (FTS_NOSTAT) && ISSET (FTS_PHYSICAL)
++ && ! ISSET (FTS_SEEDOT)
++ && cur->fts_statp->st_nlink == MIN_DIR_NLINK
++ && (leaf_optimization (cur)
++ != NO_LEAF_OPTIMIZATION)));
++ if (descend || type == BREAD)
++ {
+ if (ISSET(FTS_CWDFD))
+- {
+- dir_fd = dup (dir_fd);
+- if (0 <= dir_fd)
+- set_cloexec_flag (dir_fd, true);
+- }
++ dir_fd = fcntl (dir_fd, F_DUPFD_CLOEXEC, STDERR_FILENO + 1);
+ if (dir_fd < 0 || fts_safe_changedir(sp, cur, dir_fd, NULL)) {
+- if (nlinks && type == BREAD)
++ if (descend && type == BREAD)
+ cur->fts_errno = errno;
+ cur->fts_flags |= FTS_DONTCHDIR;
+ descend = false;
+@@ -1426,8 +1439,8 @@ fts_build (register FTS *sp, int type)
+ cur->fts_dirp = NULL;
+ } else
+ descend = true;
+- } else
+- descend = false;
++ }
++ }
+
+ /*
+ * Figure out the max file name length that can be stored in the
+@@ -1458,11 +1471,19 @@ fts_build (register FTS *sp, int type)
+ tail = NULL;
+ nitems = 0;
+ while (cur->fts_dirp) {
+- bool is_dir;
+ size_t d_namelen;
++ __set_errno (0);
+ struct dirent *dp = readdir(cur->fts_dirp);
+- if (dp == NULL)
++ if (dp == NULL) {
++ if (errno) {
++ cur->fts_errno = errno;
++ /* If we've not read any items yet, treat
++ the error as if we can't access the dir. */
++ cur->fts_info = (continue_readdir || nitems)
++ ? FTS_ERR : FTS_DNR;
++ }
+ break;
++ }
+ if (!ISSET(FTS_SEEDOT) && ISDOT(dp->d_name))
+ continue;
+
+@@ -1550,19 +1571,10 @@ mem1: saved_errno = errno;
+ to caller, when possible. */
+ set_stat_type (p->fts_statp, D_TYPE (dp));
+ fts_set_stat_required(p, !skip_stat);
+- is_dir = (ISSET(FTS_PHYSICAL)
+- && DT_MUST_BE(dp, DT_DIR));
+ } else {
+ p->fts_info = fts_stat(sp, p, false);
+- is_dir = (p->fts_info == FTS_D
+- || p->fts_info == FTS_DC
+- || p->fts_info == FTS_DOT);
+ }
+
+- /* Decrement link count if applicable. */
+- if (nlinks > 0 && is_dir)
+- nlinks -= nostat;
+-
+ /* We walk in directory order so "ls -f" doesn't get upset. */
+ p->fts_link = NULL;
+ if (head == NULL)
+@@ -1621,7 +1633,8 @@ mem1: saved_errno = errno;
+
+ /* If didn't find anything, return NULL. */
+ if (!nitems) {
+- if (type == BREAD)
++ if (type == BREAD
++ && cur->fts_info != FTS_DNR && cur->fts_info != FTS_ERR)
+ cur->fts_info = FTS_DP;
+ fts_lfree(head);
+ return (NULL);
+@@ -1633,8 +1646,7 @@ mem1: saved_errno = errno;
+ inode numbers. */
+ if (nitems > _FTS_INODE_SORT_DIR_ENTRIES_THRESHOLD
+ && !sp->fts_compar
+- && ISSET (FTS_CWDFD)
+- && dirent_inode_sort_may_be_useful (sp->fts_cwd_fd)) {
++ && dirent_inode_sort_may_be_useful (cur)) {
+ sp->fts_compar = fts_compare_ino;
+ head = fts_sort (sp, head, nitems);
+ sp->fts_compar = NULL;
+@@ -1757,7 +1769,7 @@ fd_ring_check (FTS const *sp)
+ I_ring fd_w = sp->fts_fd_ring;
+
+ int cwd_fd = sp->fts_cwd_fd;
+- cwd_fd = dup (cwd_fd);
++ cwd_fd = fcntl (cwd_fd, F_DUPFD_CLOEXEC, STDERR_FILENO + 1);
+ char *dot = getcwdat (cwd_fd, NULL, 0);
+ error (0, 0, "===== check ===== cwd: %s", dot);
+ free (dot);
+@@ -1766,7 +1778,8 @@ fd_ring_check (FTS const *sp)
+ int fd = i_ring_pop (&fd_w);
+ if (0 <= fd)
+ {
+- int parent_fd = openat (cwd_fd, "..", O_SEARCH | O_NOATIME);
++ int open_flags = O_SEARCH | O_CLOEXEC | O_NOATIME;
++ int parent_fd = openat (cwd_fd, "..", open_flags);
+ if (parent_fd < 0)
+ {
+ // Warn?
+@@ -1795,7 +1808,6 @@ internal_function
+ fts_stat(FTS *sp, register FTSENT *p, bool follow)
+ {
+ struct stat *sbp = p->fts_statp;
+- int saved_errno;
+
+ if (p->fts_level == FTS_ROOTLEVEL && ISSET(FTS_COMFOLLOW))
+ follow = true;
+@@ -1807,13 +1819,12 @@ fts_stat(FTS *sp, register FTSENT *p, bool follow)
+ */
+ if (ISSET(FTS_LOGICAL) || follow) {
+ if (stat(p->fts_accpath, sbp)) {
+- saved_errno = errno;
+ if (errno == ENOENT
+ && lstat(p->fts_accpath, sbp) == 0) {
+ __set_errno (0);
+ return (FTS_SLNONE);
+ }
+- p->fts_errno = saved_errno;
++ p->fts_errno = errno;
+ goto err;
+ }
+ } else if (fstatat(sp->fts_cwd_fd, p->fts_accpath, sbp,
+@@ -1824,8 +1835,11 @@ err: memset(sbp, 0, sizeof(struct stat));
+ }
+
+ if (S_ISDIR(sbp->st_mode)) {
+- p->fts_n_dirs_remaining = (sbp->st_nlink
+- - (ISSET(FTS_SEEDOT) ? 0 : 2));
++ p->fts_n_dirs_remaining
++ = ((sbp->st_nlink < MIN_DIR_NLINK
++ || p->fts_level <= FTS_ROOTLEVEL)
++ ? -1
++ : sbp->st_nlink - (ISSET (FTS_SEEDOT) ? 0 : MIN_DIR_NLINK));
+ if (ISDOT(p->fts_name)) {
+ /* Command-line "." and ".." are real directories. */
+ return (p->fts_level == FTS_ROOTLEVEL ? FTS_D : FTS_DOT);
+@@ -1914,17 +1928,7 @@ fts_alloc (FTS *sp, const char *name, register size_t namelen)
+ * The file name is a variable length array. Allocate the FTSENT
+ * structure and the file name in one chunk.
+ */
+- len = offsetof(FTSENT, fts_name) + namelen + 1;
+- /* Align the allocation size so that it works for FTSENT,
+- so that trailing padding may be referenced by direct access
+- to the flexible array members, without triggering undefined behavior
+- by accessing bytes beyond the heap allocation. This implicit access
+- was seen for example with ISDOT() and GCC 5.1.1 at -O2.
+- Do not use alignof (FTSENT) here, since C11 prohibits
+- taking the alignment of a structure containing a flexible
+- array member. */
+- len += alignof (max_align_t) - 1;
+- len &= ~ (alignof (max_align_t) - 1);
++ len = FLEXSIZEOF(FTSENT, fts_name, namelen + 1);
+ if ((p = malloc(len)) == NULL)
+ return (NULL);
+
+diff --git a/gl/lib/fts_.h b/gl/lib/fts_.h
+index b9a3f12..70cc9e3 100644
+--- a/gl/lib/fts_.h
++++ b/gl/lib/fts_.h
+@@ -1,6 +1,6 @@
+ /* Traverse a file hierarchy.
+
+- Copyright (C) 2004-2015 Free Software Foundation, Inc.
++ Copyright (C) 2004-2018 Free Software Foundation, Inc.
+
+ This program is free software: you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+@@ -13,7 +13,7 @@
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+- along with this program. If not, see <http://www.gnu.org/licenses/>. */
++ along with this program. If not, see <https://www.gnu.org/licenses/>. */
+
+ /*
+ * Copyright (c) 1989, 1993
+@@ -220,7 +220,11 @@ typedef struct _ftsent {
+ ptrdiff_t fts_level; /* depth (-1 to N) */
+
+ size_t fts_namelen; /* strlen(fts_name) */
+- nlink_t fts_n_dirs_remaining; /* count down from st_nlink */
++
++ /* If not (nlink_t) -1, an upper bound on the number of
++ remaining subdirectories of interest. If this becomes
++ zero, some work can be avoided. */
++ nlink_t fts_n_dirs_remaining;
+
+ # define FTS_D 1 /* preorder directory */
+ # define FTS_DC 2 /* directory that causes cycles */
+--
+2.13.6
+
+
+From ea88dd373c60feab541fe037369805f326dc3494 Mon Sep 17 00:00:00 2001
+From: rpm-build <rpm-build>
+Date: Mon, 12 Feb 2018 18:58:30 +0100
+Subject: [PATCH 2/4] fts: remove dependency on gnulib's fleximember.h
+
+... by reverting upstream commit edb9d82948cb23f67a19e1b435047a0570225df3
+---
+ gl/lib/fts.c | 13 +++++++++++--
+ 1 file changed, 11 insertions(+), 2 deletions(-)
+
+diff --git a/gl/lib/fts.c b/gl/lib/fts.c
+index bfa73e3..c37ebe2 100644
+--- a/gl/lib/fts.c
++++ b/gl/lib/fts.c
+@@ -71,7 +71,6 @@ static char sccsid[] = "@(#)fts.c 8.6 (Berkeley) 8/14/94";
+
+ #if ! _LIBC
+ # include "fcntl--.h"
+-# include "flexmember.h"
+ # include "openat.h"
+ # include "same-inode.h"
+ #endif
+@@ -1928,7 +1927,17 @@ fts_alloc (FTS *sp, const char *name, register size_t namelen)
+ * The file name is a variable length array. Allocate the FTSENT
+ * structure and the file name in one chunk.
+ */
+- len = FLEXSIZEOF(FTSENT, fts_name, namelen + 1);
++ len = offsetof(FTSENT, fts_name) + namelen + 1;
++ /* Align the allocation size so that it works for FTSENT,
++ so that trailing padding may be referenced by direct access
++ to the flexible array members, without triggering undefined behavior
++ by accessing bytes beyond the heap allocation. This implicit access
++ was seen for example with ISDOT() and GCC 5.1.1 at -O2.
++ Do not use alignof (FTSENT) here, since C11 prohibits
++ taking the alignment of a structure containing a flexible
++ array member. */
++ len += alignof (max_align_t) - 1;
++ len &= ~ (alignof (max_align_t) - 1);
+ if ((p = malloc(len)) == NULL)
+ return (NULL);
+
+--
+2.13.6
+
+
+From 9c1720c99bbf8998dfdaa5976bca8bdc6d93f8e7 Mon Sep 17 00:00:00 2001
+From: Paul Eggert <eggert@cs.ucla.edu>
+Date: Thu, 5 Apr 2018 08:48:01 -0700
+Subject: [PATCH 3/4] fts: treat CIFS like NFS
+
+Problem reported by Kamil Dudka in:
+https://lists.gnu.org/r/bug-gnulib/2018-04/msg00015.html
+* lib/fts.c (S_MAGIC_CIFS): New macro.
+(dirent_inode_sort_may_be_useful, leaf_optimization):
+Treat CIFS like NFS.
+
+Upstream-commit: 2e53df541a30d438859087ed4b5a396e04697b9b
+Signed-off-by: Kamil Dudka <kdudka@redhat.com>
+---
+ gl/lib/fts.c | 8 +++++++-
+ 1 file changed, 7 insertions(+), 1 deletion(-)
+
+diff --git a/gl/lib/fts.c b/gl/lib/fts.c
+index c37ebe2..508ceac 100644
+--- a/gl/lib/fts.c
++++ b/gl/lib/fts.c
+@@ -684,6 +684,7 @@ enum leaf_optimization
+
+ /* Linux-specific constants from coreutils' src/fs.h */
+ # define S_MAGIC_AFS 0x5346414F
++# define S_MAGIC_CIFS 0xFF534D42
+ # define S_MAGIC_NFS 0x6969
+ # define S_MAGIC_PROC 0x9FA0
+ # define S_MAGIC_REISERFS 0x52654973
+@@ -791,8 +792,9 @@ dirent_inode_sort_may_be_useful (FTSENT const *p)
+
+ switch (filesystem_type (p))
+ {
+- case S_MAGIC_TMPFS:
++ case S_MAGIC_CIFS:
+ case S_MAGIC_NFS:
++ case S_MAGIC_TMPFS:
+ /* On a file system of any of these types, sorting
+ is unnecessary, and hence wasteful. */
+ return false;
+@@ -826,6 +828,10 @@ leaf_optimization (FTSENT const *p)
+ /* Although AFS mount points are not counted in st_nlink, they
+ act like directories. See <https://bugs.debian.org/143111>. */
+ FALLTHROUGH;
++ case S_MAGIC_CIFS:
++ /* Leaf optimization causes 'find' to abort. See
++ <https://lists.gnu.org/r/bug-gnulib/2018-04/msg00015.html>. */
++ FALLTHROUGH;
+ case S_MAGIC_NFS:
+ /* NFS provides usable dirent.d_type but not necessarily for all entries
+ of large directories, so as per <https://bugzilla.redhat.com/1252549>
+--
+2.14.3
+
+
+From ff64329a046e76ba553c15373ed61bbed814d286 Mon Sep 17 00:00:00 2001
+From: Paul Eggert <eggert@cs.ucla.edu>
+Date: Wed, 11 Apr 2018 12:50:35 -0700
+Subject: [PATCH 4/4] fts: fix bug in find across filesystems
+
+This fixes a bug I introduced last summer.
+Problem reported by Kamil Dudka in:
+https://lists.gnu.org/r/bug-gnulib/2018-04/msg00033.html
+* lib/fts.c (filesystem_type, dirent_inode_sort_may_be_useful)
+(leaf_optimization):
+New arg for file descriptor. All callers changed.
+(fts_build): Check for whether inodes should be sorted
+before closing the directory.
+
+Upstream-commit: 81b8c0d3be98f5a77403599de3d06329b3e7673e
+Signed-off-by: Kamil Dudka <kdudka@redhat.com>
+---
+ gl/lib/fts.c | 55 +++++++++++++++++++++++++++++++------------------------
+ 1 file changed, 31 insertions(+), 24 deletions(-)
+
+diff --git a/gl/lib/fts.c b/gl/lib/fts.c
+index 508ceac..175f12a 100644
+--- a/gl/lib/fts.c
++++ b/gl/lib/fts.c
+@@ -725,11 +725,12 @@ dev_type_compare (void const *x, void const *y)
+ return ax->st_dev == ay->st_dev;
+ }
+
+-/* Return the file system type of P, or 0 if not known.
++/* Return the file system type of P with file descriptor FD, or 0 if not known.
++ If FD is negative, P's file descriptor is unavailable.
+ Try to cache known values. */
+
+ static fsword
+-filesystem_type (FTSENT const *p)
++filesystem_type (FTSENT const *p, int fd)
+ {
+ FTS *sp = p->fts_fts;
+ Hash_table *h = sp->fts_leaf_optimization_works_ht;
+@@ -755,7 +756,7 @@ filesystem_type (FTSENT const *p)
+ }
+
+ /* Look-up failed. Query directly and cache the result. */
+- if (fstatfs (p->fts_fts->fts_cwd_fd, &fs_buf) != 0)
++ if (fd < 0 || fstatfs (fd, &fs_buf) != 0)
+ return 0;
+
+ if (h)
+@@ -777,12 +778,12 @@ filesystem_type (FTSENT const *p)
+ return fs_buf.f_type;
+ }
+
+-/* Return false if it is easy to determine the file system type of the
+- directory P, and sorting dirents on inode numbers is known not to
+- improve traversal performance with that type of file system.
+- Otherwise, return true. */
++/* Return true if sorting dirents on inode numbers is known to improve
++ traversal performance for the directory P with descriptor DIR_FD.
++ Return false otherwise. When in doubt, return true.
++ DIR_FD is negative if unavailable. */
+ static bool
+-dirent_inode_sort_may_be_useful (FTSENT const *p)
++dirent_inode_sort_may_be_useful (FTSENT const *p, int dir_fd)
+ {
+ /* Skip the sort only if we can determine efficiently
+ that skipping it is the right thing to do.
+@@ -790,7 +791,7 @@ dirent_inode_sort_may_be_useful (FTSENT const *p)
+ while the cost of *not* performing it can be O(N^2) with
+ a very large constant. */
+
+- switch (filesystem_type (p))
++ switch (filesystem_type (p, dir_fd))
+ {
+ case S_MAGIC_CIFS:
+ case S_MAGIC_NFS:
+@@ -804,16 +805,17 @@ dirent_inode_sort_may_be_useful (FTSENT const *p)
+ }
+ }
+
+-/* Given an FTS entry P for a directory D,
++/* Given an FTS entry P for a directory with descriptor DIR_FD,
+ return true if it is both useful and valid to apply leaf optimization.
+ The optimization is useful only for file systems that lack usable
+ dirent.d_type info. The optimization is valid if an st_nlink value
+ of at least MIN_DIR_NLINK is an upper bound on the number of
+- subdirectories of D, counting "." and ".." as subdirectories. */
++ subdirectories of D, counting "." and ".." as subdirectories.
++ DIR_FD is negative if unavailable. */
+ static enum leaf_optimization
+-leaf_optimization (FTSENT const *p)
++leaf_optimization (FTSENT const *p, int dir_fd)
+ {
+- switch (filesystem_type (p))
++ switch (filesystem_type (p, dir_fd))
+ {
+ /* List here the file system types that may lack usable dirent.d_type
+ info, yet for which the optimization does apply. */
+@@ -850,12 +852,13 @@ leaf_optimization (FTSENT const *p)
+
+ #else
+ static bool
+-dirent_inode_sort_may_be_useful (FTSENT const *p _GL_UNUSED)
++dirent_inode_sort_may_be_useful (FTSENT const *p _GL_UNUSED,
++ int dir_fd _GL_UNUSED)
+ {
+ return true;
+ }
+ static enum leaf_optimization
+-leaf_optimization (FTSENT const *p _GL_UNUSED)
++leaf_optimization (FTSENT const *p _GL_UNUSED, int dir_fd _GL_UNUSED)
+ {
+ return NO_LEAF_OPTIMIZATION;
+ }
+@@ -1049,7 +1052,7 @@ check_for_dir:
+ if (parent->fts_n_dirs_remaining == 0
+ && ISSET(FTS_NOSTAT)
+ && ISSET(FTS_PHYSICAL)
+- && (leaf_optimization (parent)
++ && (leaf_optimization (parent, sp->fts_cwd_fd)
+ == NOSTAT_LEAF_OPTIMIZATION))
+ {
+ /* nothing more needed */
+@@ -1334,6 +1337,7 @@ fts_build (register FTS *sp, int type)
+ int dir_fd;
+ FTSENT *cur = sp->fts_cur;
+ bool continue_readdir = !!cur->fts_dirp;
++ bool sort_by_inode = false;
+ size_t max_entries;
+
+ /* When cur->fts_dirp is non-NULL, that means we should
+@@ -1427,7 +1431,7 @@ fts_build (register FTS *sp, int type)
+ && ! (ISSET (FTS_NOSTAT) && ISSET (FTS_PHYSICAL)
+ && ! ISSET (FTS_SEEDOT)
+ && cur->fts_statp->st_nlink == MIN_DIR_NLINK
+- && (leaf_optimization (cur)
++ && (leaf_optimization (cur, dir_fd)
+ != NO_LEAF_OPTIMIZATION)));
+ if (descend || type == BREAD)
+ {
+@@ -1588,6 +1592,15 @@ mem1: saved_errno = errno;
+ tail->fts_link = p;
+ tail = p;
+ }
++
++ /* If there are many entries, no sorting function has been
++ specified, and this file system is of a type that may be
++ slow with a large number of entries, arrange to sort the
++ directory entries on increasing inode numbers. */
++ if (nitems == _FTS_INODE_SORT_DIR_ENTRIES_THRESHOLD
++ && !sp->fts_compar)
++ sort_by_inode = dirent_inode_sort_may_be_useful (cur, dir_fd);
++
+ ++nitems;
+ if (max_entries <= nitems) {
+ /* When there are too many dir entries, leave
+@@ -1645,13 +1658,7 @@ mem1: saved_errno = errno;
+ return (NULL);
+ }
+
+- /* If there are many entries, no sorting function has been specified,
+- and this file system is of a type that may be slow with a large
+- number of entries, then sort the directory entries on increasing
+- inode numbers. */
+- if (nitems > _FTS_INODE_SORT_DIR_ENTRIES_THRESHOLD
+- && !sp->fts_compar
+- && dirent_inode_sort_may_be_useful (cur)) {
++ if (sort_by_inode) {
+ sp->fts_compar = fts_compare_ino;
+ head = fts_sort (sp, head, nitems);
+ sp->fts_compar = NULL;
+--
+2.14.3
+
diff --git a/source/a/findutils/patches/findutils-4.6.0-gnulib-fflush.patch b/source/a/findutils/patches/findutils-4.6.0-gnulib-fflush.patch
new file mode 100644
index 000000000..47ac93bb9
--- /dev/null
+++ b/source/a/findutils/patches/findutils-4.6.0-gnulib-fflush.patch
@@ -0,0 +1,142 @@
+From 80cdfba079627e15129a926a133825b961d41e36 Mon Sep 17 00:00:00 2001
+From: Paul Eggert <eggert@cs.ucla.edu>
+Date: Mon, 5 Mar 2018 10:56:29 -0800
+Subject: [PATCH] fflush: adjust to glibc 2.28 libio.h removal
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+Problem reported by Daniel P. Berrangé in:
+https://lists.gnu.org/r/bug-gnulib/2018-03/msg00000.html
+* lib/fflush.c (clear_ungetc_buffer_preserving_position)
+(disable_seek_optimization, rpl_fflush):
+* lib/fpurge.c (fpurge):
+* lib/freadahead.c (freadahead):
+* lib/freading.c (freading):
+* lib/fseeko.c (fseeko):
+* lib/stdio-impl.h (_IO_IN_BACKUP) [_IO_EOF_SEEN]:
+Define if not already defined.
+
+Upstream-commit: 4af4a4a71827c0bc5e0ec67af23edef4f15cee8e
+Signed-off-by: Kamil Dudka <kdudka@redhat.com>
+---
+ gl/lib/fflush.c | 6 +++---
+ gl/lib/fpurge.c | 2 +-
+ gl/lib/freadahead.c | 2 +-
+ gl/lib/freading.c | 2 +-
+ gl/lib/fseeko.c | 4 ++--
+ gl/lib/stdio-impl.h | 6 ++++++
+ 6 files changed, 14 insertions(+), 8 deletions(-)
+
+diff --git a/gl/lib/fflush.c b/gl/lib/fflush.c
+index 5ae3e41..7a82470 100644
+--- a/gl/lib/fflush.c
++++ b/gl/lib/fflush.c
+@@ -33,7 +33,7 @@
+ #undef fflush
+
+
+-#if defined _IO_ftrylockfile || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS, Haiku, Linux libc5 */
++#if defined _IO_EOF_SEEN || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS, Haiku, Linux libc5 */
+
+ /* Clear the stream's ungetc buffer, preserving the value of ftello (fp). */
+ static void
+@@ -72,7 +72,7 @@ clear_ungetc_buffer (FILE *fp)
+
+ #endif
+
+-#if ! (defined _IO_ftrylockfile || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS, Haiku, Linux libc5 */)
++#if ! (defined _IO_EOF_SEEN || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS, Haiku, Linux libc5 */)
+
+ # if (defined __sferror || defined __DragonFly__ || defined __ANDROID__) && defined __SNPT
+ /* FreeBSD, NetBSD, OpenBSD, DragonFly, Mac OS X, Cygwin, Android */
+@@ -148,7 +148,7 @@ rpl_fflush (FILE *stream)
+ if (stream == NULL || ! freading (stream))
+ return fflush (stream);
+
+-#if defined _IO_ftrylockfile || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS, Haiku, Linux libc5 */
++#if defined _IO_EOF_SEEN || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS, Haiku, Linux libc5 */
+
+ clear_ungetc_buffer_preserving_position (stream);
+
+diff --git a/gl/lib/fpurge.c b/gl/lib/fpurge.c
+index f313b22..ecdf82d 100644
+--- a/gl/lib/fpurge.c
++++ b/gl/lib/fpurge.c
+@@ -62,7 +62,7 @@ fpurge (FILE *fp)
+ /* Most systems provide FILE as a struct and the necessary bitmask in
+ <stdio.h>, because they need it for implementing getc() and putc() as
+ fast macros. */
+-# if defined _IO_ftrylockfile || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS, Haiku, Linux libc5 */
++# if defined _IO_EOF_SEEN || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS, Haiku, Linux libc5 */
+ fp->_IO_read_end = fp->_IO_read_ptr;
+ fp->_IO_write_ptr = fp->_IO_write_base;
+ /* Avoid memory leak when there is an active ungetc buffer. */
+diff --git a/gl/lib/freadahead.c b/gl/lib/freadahead.c
+index 094daab..3f8101e 100644
+--- a/gl/lib/freadahead.c
++++ b/gl/lib/freadahead.c
+@@ -25,7 +25,7 @@
+ size_t
+ freadahead (FILE *fp)
+ {
+-#if defined _IO_ftrylockfile || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS, Haiku, Linux libc5 */
++#if defined _IO_EOF_SEEN || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS, Haiku, Linux libc5 */
+ if (fp->_IO_write_ptr > fp->_IO_write_base)
+ return 0;
+ return (fp->_IO_read_end - fp->_IO_read_ptr)
+diff --git a/gl/lib/freading.c b/gl/lib/freading.c
+index 0512b19..8c48fe4 100644
+--- a/gl/lib/freading.c
++++ b/gl/lib/freading.c
+@@ -31,7 +31,7 @@ freading (FILE *fp)
+ /* Most systems provide FILE as a struct and the necessary bitmask in
+ <stdio.h>, because they need it for implementing getc() and putc() as
+ fast macros. */
+-# if defined _IO_ftrylockfile || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS, Haiku, Linux libc5 */
++# if defined _IO_EOF_SEEN || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS, Haiku, Linux libc5 */
+ return ((fp->_flags & _IO_NO_WRITES) != 0
+ || ((fp->_flags & (_IO_NO_READS | _IO_CURRENTLY_PUTTING)) == 0
+ && fp->_IO_read_base != NULL));
+diff --git a/gl/lib/fseeko.c b/gl/lib/fseeko.c
+index 1c65d2a..9026408 100644
+--- a/gl/lib/fseeko.c
++++ b/gl/lib/fseeko.c
+@@ -47,7 +47,7 @@ fseeko (FILE *fp, off_t offset, int whence)
+ #endif
+
+ /* These tests are based on fpurge.c. */
+-#if defined _IO_ftrylockfile || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS, Haiku, Linux libc5 */
++#if defined _IO_EOF_SEEN || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS, Haiku, Linux libc5 */
+ if (fp->_IO_read_end == fp->_IO_read_ptr
+ && fp->_IO_write_ptr == fp->_IO_write_base
+ && fp->_IO_save_base == NULL)
+@@ -123,7 +123,7 @@ fseeko (FILE *fp, off_t offset, int whence)
+ return -1;
+ }
+
+-#if defined _IO_ftrylockfile || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS, Haiku, Linux libc5 */
++#if defined _IO_EOF_SEEN || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS, Haiku, Linux libc5 */
+ fp->_flags &= ~_IO_EOF_SEEN;
+ fp->_offset = pos;
+ #elif defined __sferror || defined __DragonFly__ || defined __ANDROID__
+diff --git a/gl/lib/stdio-impl.h b/gl/lib/stdio-impl.h
+index 502d891..ea38ee2 100644
+--- a/gl/lib/stdio-impl.h
++++ b/gl/lib/stdio-impl.h
+@@ -18,6 +18,12 @@
+ the same implementation of stdio extension API, except that some fields
+ have different naming conventions, or their access requires some casts. */
+
++/* Glibc 2.28 made _IO_IN_BACKUP private. For now, work around this
++ problem by defining it ourselves. FIXME: Do not rely on glibc
++ internals. */
++#if !defined _IO_IN_BACKUP && defined _IO_EOF_SEEN
++# define _IO_IN_BACKUP 0x100
++#endif
+
+ /* BSD stdio derived implementations. */
+
+--
+2.16.2
+
diff --git a/source/a/findutils/patches/findutils-4.6.0-gnulib-makedev.patch b/source/a/findutils/patches/findutils-4.6.0-gnulib-makedev.patch
new file mode 100644
index 000000000..5ed4b4803
--- /dev/null
+++ b/source/a/findutils/patches/findutils-4.6.0-gnulib-makedev.patch
@@ -0,0 +1,80 @@
+From 80628047a6cc83f82e0c410a82b8f7facd9d50f2 Mon Sep 17 00:00:00 2001
+From: Eric Blake <eblake@redhat.com>
+Date: Wed, 14 Sep 2016 19:21:42 -0500
+Subject: [PATCH] mountlist: include sysmacros.h for glibc
+
+On Fedora rawhide (glibc 2.25), './gnulib-tool --test mountlist'
+reports:
+../../gllib/mountlist.c: In function 'read_file_system_list':
+../../gllib/mountlist.c:534:13: warning: '__makedev_from_sys_types' is deprecated:
+ In the GNU C Library, `makedev' is defined by <sys/sysmacros.h>.
+ For historical compatibility, it is currently defined by
+ <sys/types.h> as well, but we plan to remove this soon.
+ To use `makedev', include <sys/sysmacros.h> directly.
+ If you did not intend to use a system-defined macro `makedev',
+ you should #undef it after including <sys/types.h>.
+ [-Wdeprecated-declarations]
+ me->me_dev = makedev (devmaj, devmin);
+ ^~
+In file included from /usr/include/features.h:397:0,
+ from /usr/include/sys/types.h:25,
+ from ./sys/types.h:28,
+ from ../../gllib/mountlist.h:23,
+ from ../../gllib/mountlist.c:20:
+/usr/include/sys/sysmacros.h:89:1: note: declared here
+ __SYSMACROS_DEFINE_MAKEDEV (__SYSMACROS_FST_IMPL_TEMPL)
+ ^
+
+Fix it by including the right headers. We also need a fix to
+autoconf's AC_HEADER_MAJOR, but that's a separate patch.
+
+* m4/mountlist.m4 (gl_PREREQ_MOUTLIST_EXTRA): Include
+AC_HEADER_MAJOR.
+* lib/mountlist.c (includes): Use correct headers.
+
+Signed-off-by: Eric Blake <eblake@redhat.com>
+
+Upstream-commit: 4da63c5881f60f71999a943612da9112232b9161
+Signed-off-by: Kamil Dudka <kdudka@redhat.com>
+---
+ gl/lib/mountlist.c | 6 ++++++
+ gl/m4/mountlist.m4 | 3 ++-
+ 2 files changed, 8 insertions(+), 1 deletion(-)
+
+diff --git a/gl/lib/mountlist.c b/gl/lib/mountlist.c
+index c3d2852..0b6f92e 100644
+--- a/gl/lib/mountlist.c
++++ b/gl/lib/mountlist.c
+@@ -37,6 +37,12 @@
+ # include <sys/param.h>
+ #endif
+
++#if MAJOR_IN_MKDEV
++# include <sys/mkdev.h>
++#elif MAJOR_IN_SYSMACROS
++# include <sys/sysmacros.h>
++#endif
++
+ #if defined MOUNTED_GETFSSTAT /* OSF_1 and Darwin1.3.x */
+ # if HAVE_SYS_UCRED_H
+ # include <grp.h> /* needed on OSF V4.0 for definition of NGROUPS,
+diff --git a/gl/m4/mountlist.m4 b/gl/m4/mountlist.m4
+index ec58dc8..82b2dcb 100644
+--- a/gl/m4/mountlist.m4
++++ b/gl/m4/mountlist.m4
+@@ -1,4 +1,4 @@
+-# serial 11
++# serial 12
+ dnl Copyright (C) 2002-2006, 2009-2015 Free Software Foundation, Inc.
+ dnl This file is free software; the Free Software Foundation
+ dnl gives unlimited permission to copy and/or distribute it,
+@@ -15,5 +15,6 @@ AC_DEFUN([gl_PREREQ_MOUNTLIST_EXTRA],
+ [
+ dnl Note gl_LIST_MOUNTED_FILE_SYSTEMS checks for mntent.h, not sys/mntent.h.
+ AC_CHECK_HEADERS([sys/mntent.h])
++ AC_HEADER_MAJOR()dnl for use of makedev ()
+ gl_FSTYPENAME
+ ])
+--
+2.16.2
+
diff --git a/source/a/findutils/patches/findutils-4.6.0-internal-noop.patch b/source/a/findutils/patches/findutils-4.6.0-internal-noop.patch
new file mode 100644
index 000000000..1c8fdd9bd
--- /dev/null
+++ b/source/a/findutils/patches/findutils-4.6.0-internal-noop.patch
@@ -0,0 +1,195 @@
+From d844b7bbf3952998a906f21ba432aa62a3b9c7c6 Mon Sep 17 00:00:00 2001
+From: Bernhard Voelker <mail@bernhard-voelker.de>
+Date: Tue, 14 Jun 2016 20:49:42 +0200
+Subject: [PATCH] Fix bug #48180: find: avoid segfault for internal '-noop'
+ option
+
+The pseudo-option '-noop' was never meant to be exposed to the user
+interface. If specified by the user, find(1) segfaulted.
+Bug introduced in commit FINDUTILS_4_3_0-1-12-g6b8a4db.
+
+* find/parser.c (struct parser_table): Rename the parser_name element of
+the ARG_NOOP entry from 'noop' to '--noop', thus indicating its pure
+internal character.
+(found_parser): Return NULL when the user has passed the '---noop' option;
+the caller does the error handling.
+* find/testsuite/sv-48180-refuse-noop.sh: Add test.
+* find/testsuite/Makefile.am (test_shell_progs): Reference the test.
+* NEWS (Bug fixes): Document the fix.
+
+Reported by Tavian Barnes <tavianator@tavianator.com> in
+ https://savannah.gnu.org/bugs/?48180
+
+Upstream-commit: 595060f28eb5f658fa8d98970959c617fab0f078
+Signed-off-by: Kamil Dudka <kdudka@redhat.com>
+---
+ find/parser.c | 6 +-
+ find/testsuite/Makefile.am | 3 +-
+ find/testsuite/sv-48180-refuse-noop.sh | 117 +++++++++++++++++++++++++++++++++
+ 3 files changed, 124 insertions(+), 2 deletions(-)
+ create mode 100644 find/testsuite/sv-48180-refuse-noop.sh
+
+diff --git a/find/parser.c b/find/parser.c
+index 2d45349..697b2a2 100644
+--- a/find/parser.c
++++ b/find/parser.c
+@@ -321,7 +321,8 @@ static struct parser_table const parse_table[] =
+ */
+ {ARG_TEST, "false", parse_false, pred_false}, /* GNU */
+ {ARG_TEST, "true", parse_true, pred_true }, /* GNU */
+- {ARG_NOOP, "noop", NULL, pred_true }, /* GNU, internal use only */
++ /* Internal pseudo-option, therefore 3 minus: ---noop. */
++ {ARG_NOOP, "--noop", NULL, pred_true }, /* GNU, internal use only */
+
+ /* Various other cases that don't fit neatly into our macro scheme. */
+ {ARG_TEST, "help", parse_help, NULL}, /* GNU */
+@@ -596,6 +597,9 @@ found_parser (const char *original_arg, const struct parser_table *entry)
+ */
+ if (entry->type != ARG_POSITIONAL_OPTION)
+ {
++ if (entry->type == ARG_NOOP)
++ return NULL; /* internal use only, trap -noop here. */
++
+ /* Something other than -follow/-daystart.
+ * If this is an option, check if it followed
+ * a non-option and if so, issue a warning.
+diff --git a/find/testsuite/Makefile.am b/find/testsuite/Makefile.am
+index ab5dbe8..1371c70 100644
+--- a/find/testsuite/Makefile.am
++++ b/find/testsuite/Makefile.am
+@@ -259,7 +259,8 @@ test_escape_c.sh \
+ test_inode.sh \
+ sv-34079.sh \
+ sv-34976-execdir-fd-leak.sh \
+-sv-48030-exec-plus-bug.sh
++sv-48030-exec-plus-bug.sh \
++sv-48180-refuse-noop.sh
+
+ EXTRA_DIST = $(EXTRA_DIST_EXP) $(EXTRA_DIST_XO) $(EXTRA_DIST_GOLDEN) \
+ $(test_shell_progs) binary_locations.sh checklists.py
+diff --git a/find/testsuite/sv-48180-refuse-noop.sh b/find/testsuite/sv-48180-refuse-noop.sh
+new file mode 100755
+index 0000000..974f0f0
+--- /dev/null
++++ b/find/testsuite/sv-48180-refuse-noop.sh
+@@ -0,0 +1,117 @@
++#! /bin/sh
++# Copyright (C) 2016 Free Software Foundation, Inc.
++#
++# This program is free software: you can redistribute it and/or modify
++# it under the terms of the GNU General Public License as published by
++# the Free Software Foundation, either version 3 of the License, or
++# (at your option) any later version.
++#
++# This program is distributed in the hope that it will be useful,
++# but WITHOUT ANY WARRANTY; without even the implied warranty of
++# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
++# GNU General Public License for more details.
++#
++# You should have received a copy of the GNU General Public License
++# along with this program. If not, see <http://www.gnu.org/licenses/>.
++#
++
++# This test verifies that find refuses the internal -noop, ---noop option.
++# Between findutils-4.3.1 and 4.6, find dumped core ($? = 139).
++
++testname="$(basename $0)"
++
++. "${srcdir}"/binary_locations.sh
++
++die() {
++ echo "$@" >&2
++ exit 1
++}
++
++# This is used to simplify checking of the return value
++# which is useful when ensuring a command fails as desired.
++# I.e., just doing `command ... &&fail=1` will not catch
++# a segfault in command for example. With this helper you
++# instead check an explicit exit code like
++# returns_ 1 command ... || fail
++returns_ () {
++ # Disable tracing so it doesn't interfere with stderr of the wrapped command
++ { set +x; } 2>/dev/null
++
++ local exp_exit="$1"
++ shift
++ "$@"
++ test $? -eq $exp_exit && ret_=0 || ret_=1
++
++ set -x
++ { return $ret_; } 2>/dev/null
++}
++
++# Define the nicest compare available (borrowed from gnulib).
++if diff_out_=`exec 2>/dev/null; diff -u "$0" "$0" < /dev/null` \
++ && diff -u Makefile "$0" 2>/dev/null | grep '^[+]#!' >/dev/null; then
++ # diff accepts the -u option and does not (like AIX 7 'diff') produce an
++ # extra space on column 1 of every content line.
++ if test -z "$diff_out_"; then
++ compare () { diff -u "$@"; }
++ else
++ compare ()
++ {
++ if diff -u "$@" > diff.out; then
++ # No differences were found, but Solaris 'diff' produces output
++ # "No differences encountered". Hide this output.
++ rm -f diff.out
++ true
++ else
++ cat diff.out
++ rm -f diff.out
++ false
++ fi
++ }
++ fi
++elif diff_out_=`exec 2>/dev/null; diff -c "$0" "$0" < /dev/null`; then
++ if test -z "$diff_out_"; then
++ compare () { diff -c "$@"; }
++ else
++ compare ()
++ {
++ if diff -c "$@" > diff.out; then
++ # No differences were found, but AIX and HP-UX 'diff' produce output
++ # "No differences encountered" or "There are no differences between the
++ # files.". Hide this output.
++ rm -f diff.out
++ true
++ else
++ cat diff.out
++ rm -f diff.out
++ false
++ fi
++ }
++ fi
++elif cmp -s /dev/null /dev/null 2>/dev/null; then
++ compare () { cmp -s "$@"; }
++else
++ compare () { cmp "$@"; }
++fi
++
++set -x
++tmpdir="$(mktemp -d)" \
++ && cd "$tmpdir" \
++ || die "FAIL: failed to set up the test in ${tmpdir}"
++
++fail=0
++# Exercise both the previous name of the pseudo-option '-noop',
++# and the now renamed '---noop' option for both find executables.
++for exe in "${ftsfind}" "${oldfind}"; do
++ for opt in 'noop' '--noop'; do
++ out="${exe}${opt}.out"
++ err="${exe}${opt}.err"
++ returns_ 1 "$exe" "-${opt}" >"$out" 2> "$err" || fail=1
++ compare /dev/null "$out" || fail=1
++ grep "find: unknown predicate .-${opt}." "$err" \
++ || { cat "$err"; fail=1; }
++ done
++done
++
++cd ..
++rm -rf "$tmpdir" || exit 1
++exit $fail
+--
+2.5.5
+
diff --git a/source/a/findutils/patches/findutils-4.6.0-leaf-opt.patch b/source/a/findutils/patches/findutils-4.6.0-leaf-opt.patch
new file mode 100644
index 000000000..7fb3035b8
--- /dev/null
+++ b/source/a/findutils/patches/findutils-4.6.0-leaf-opt.patch
@@ -0,0 +1,83 @@
+From 1328926a705fdb4728c1f255dd368de928736d39 Mon Sep 17 00:00:00 2001
+From: Kamil Dudka <kdudka@redhat.com>
+Date: Fri, 25 Sep 2015 16:09:39 +0200
+Subject: [PATCH 1/2] fts: introduce the FTS_NOLEAF flag
+
+The flag is needed to implement the -noleaf option of find.
+* lib/fts.c (link_count_optimize_ok): Implement the FTS_NOLEAF flag.
+* lib/fts_.h (FTS_NOLEAF): New macro, shifted conflicting constants.
+---
+ gl/lib/fts.c | 4 ++++
+ gl/lib/fts_.h | 12 +++++++++---
+ 2 files changed, 13 insertions(+), 3 deletions(-)
+
+diff --git a/gl/lib/fts.c b/gl/lib/fts.c
+index d2d404f..808466f 100644
+--- a/gl/lib/fts.c
++++ b/gl/lib/fts.c
+@@ -736,6 +736,10 @@ filesystem_type (FTSENT const *p)
+ struct dev_type *ent;
+ struct statfs fs_buf;
+
++ if (ISSET(FTS_NOLEAF))
++ /* leaf optimization explicitly disabled by the FTS_NOLEAF flag */
++ return 0;
++
+ /* If we're not in CWDFD mode, don't bother with this optimization,
+ since the caller is not serious about performance. */
+ if (!ISSET (FTS_CWDFD))
+diff --git a/gl/lib/fts_.h b/gl/lib/fts_.h
+index 63d4b74..f1d519b 100644
+--- a/gl/lib/fts_.h
++++ b/gl/lib/fts_.h
+@@ -155,10 +155,16 @@ typedef struct {
+ from input path names during fts_open initialization. */
+ # define FTS_VERBATIM 0x1000
+
+-# define FTS_OPTIONMASK 0x1fff /* valid user option mask */
++ /* Disable leaf optimization (which eliminates stat() calls during traversal,
++ based on the count of nested directories stored in stat.st_nlink of each
++ directory). Note that the optimization is by default enabled only for
++ selected file systems, and only if the FTS_CWDFD flag is set. */
++# define FTS_NOLEAF 0x2000
+
+-# define FTS_NAMEONLY 0x2000 /* (private) child names only */
+-# define FTS_STOP 0x4000 /* (private) unrecoverable error */
++# define FTS_OPTIONMASK 0x3fff /* valid user option mask */
++
++# define FTS_NAMEONLY 0x4000 /* (private) child names only */
++# define FTS_STOP 0x8000 /* (private) unrecoverable error */
+ int fts_options; /* fts_open options, global flags */
+
+ /* Map a directory's device number to a boolean. The boolean is
+--
+2.5.0
+
+
+From c186934e6e37ddadf7511abb9b1045192757618e Mon Sep 17 00:00:00 2001
+From: Kamil Dudka <kdudka@redhat.com>
+Date: Fri, 25 Sep 2015 19:13:15 +0200
+Subject: [PATCH 2/2] ftsfind: propagate the -noleaf option to FTS
+
+* find/ftsfind.c (find): Propagate the -noleaf option to FTS.
+---
+ find/ftsfind.c | 3 +++
+ 1 file changed, 3 insertions(+)
+
+diff --git a/find/ftsfind.c b/find/ftsfind.c
+index 5159470..e34b672 100644
+--- a/find/ftsfind.c
++++ b/find/ftsfind.c
+@@ -559,6 +559,9 @@ find (char *arg)
+ if (options.stay_on_filesystem)
+ ftsoptions |= FTS_XDEV;
+
++ if (options.no_leaf_check)
++ ftsoptions |= FTS_NOLEAF;
++
+ p = fts_open (arglist, ftsoptions, NULL);
+ if (NULL == p)
+ {
+--
+2.5.0
+
diff --git a/source/a/findutils/patches/findutils-4.6.0-man-exec.patch b/source/a/findutils/patches/findutils-4.6.0-man-exec.patch
new file mode 100644
index 000000000..6a64568db
--- /dev/null
+++ b/source/a/findutils/patches/findutils-4.6.0-man-exec.patch
@@ -0,0 +1,44 @@
+From a8ff1e964b2b8cd0b60362c76bd92795cee6b3c3 Mon Sep 17 00:00:00 2001
+From: Kamil Dudka <kdudka@redhat.com>
+Date: Sun, 17 Apr 2016 22:36:13 +0200
+Subject: [PATCH] doc: clarify exit status handling of -exec command {} +
+
+* find/find.1 (-exec): Explain how exit status is propagated if the
+-exec command {} + syntax is used.
+(-execdir): Likewise.
+
+Reported at https://bugzilla.redhat.com/1325049
+
+Upstream-commit: ae424b959c5e9bd23f9f686cb34653bc4cd1270e
+Signed-off-by: Kamil Dudka <kdudka@redhat.com>
+---
+ find/find.1 | 6 ++++++
+ 1 file changed, 6 insertions(+)
+
+diff --git a/find/find.1 b/find/find.1
+index a36a0bc..c4aaf17 100644
+--- a/find/find.1
++++ b/find/find.1
+@@ -1069,6 +1069,9 @@ command line is built in much the same way that
+ .B xargs
+ builds its command lines. Only one instance of `{}' is allowed within
+ the command. The command is executed in the starting directory. If
++any invocation returns a non-zero value as exit status, then
++.B find
++returns a non-zero exit status. If
+ .B find
+ encounters an error, this can sometimes cause an
+ immediate exit, so some pending commands may not be run
+@@ -1104,6 +1107,9 @@ appropriately-named file in a directory in which you will run
+ The same applies to having entries in
+ .B $PATH
+ which are empty or which are not absolute directory names. If
++any invocation returns a non-zero value as exit status, then
++.B find
++returns a non-zero exit status. If
+ .B find
+ encounters an error, this can sometimes cause an
+ immediate exit, so some pending commands may not be run
+--
+2.5.5
+
diff --git a/source/a/findutils/patches/findutils-4.6.0-mbrtowc-tests.patch b/source/a/findutils/patches/findutils-4.6.0-mbrtowc-tests.patch
new file mode 100644
index 000000000..a14065418
--- /dev/null
+++ b/source/a/findutils/patches/findutils-4.6.0-mbrtowc-tests.patch
@@ -0,0 +1,35 @@
+From 06a46ba755195810f2aeda01b12d1ccfe7c2dcfd Mon Sep 17 00:00:00 2001
+From: Daiki Ueno <ueno@gnu.org>
+Date: Mon, 28 Dec 2015 06:27:42 +0900
+Subject: [PATCH] maint: fix operator precedence in mbrtowc test
+
+This is a fix for test breakage introduced by commit 45228d96; the
+equality expression must be parenthesized when negated with '!',
+otherwise we always get:
+
+ test-mbrtowc.c:49: assertion 'ret == (size_t)(-2)' failed
+
+* m4/mbrtowc.m4 (gl_MBRTOWC_EMPTY_INPUT): Negate the entire expression.
+
+Upstream-commit: 1f63650823cebf52044df840c81062ccb52163a2
+Signed-off-by: Kamil Dudka <kdudka@redhat.com>
+---
+ gl/m4/mbrtowc.m4 | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/gl/m4/mbrtowc.m4 b/gl/m4/mbrtowc.m4
+index deb9f06..be2e9d6 100644
+--- a/gl/m4/mbrtowc.m4
++++ b/gl/m4/mbrtowc.m4
+@@ -569,7 +569,7 @@ changequote([,])dnl
+ int
+ main (void)
+ {
+- return ! mbrtowc (&wc, "", 0, &mbs) == (size_t) -2;
++ return mbrtowc (&wc, "", 0, &mbs) != (size_t) -2;
+ }]])],
+ [gl_cv_func_mbrtowc_empty_input=yes],
+ [gl_cv_func_mbrtowc_empty_input=no],
+--
+2.5.0
+
diff --git a/source/a/findutils/patches/findutils-4.6.0-test-lock.patch b/source/a/findutils/patches/findutils-4.6.0-test-lock.patch
new file mode 100644
index 000000000..780987ef9
--- /dev/null
+++ b/source/a/findutils/patches/findutils-4.6.0-test-lock.patch
@@ -0,0 +1,29 @@
+From 129f23ce758620fade812baab811379ce8454048 Mon Sep 17 00:00:00 2001
+From: rpm-build <rpm-build>
+Date: Fri, 27 Jan 2017 11:44:41 +0100
+Subject: [PATCH] test-lock: disable the rwlock test
+
+It hangs indefinitely if the system rwlock implementation does not
+prevent writer starvation (and glibc does not implement it).
+
+Bug: http://www.mail-archive.com/bug-gnulib@gnu.org/msg33017.html
+---
+ tests/test-lock.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/tests/test-lock.c b/tests/test-lock.c
+index a992f64..fd9c014 100644
+--- a/tests/test-lock.c
++++ b/tests/test-lock.c
+@@ -42,7 +42,7 @@
+ Uncomment some of these, to verify that all tests crash if no locking
+ is enabled. */
+ #define DO_TEST_LOCK 1
+-#define DO_TEST_RWLOCK 1
++#define DO_TEST_RWLOCK 0
+ #define DO_TEST_RECURSIVE_LOCK 1
+ #define DO_TEST_ONCE 1
+
+--
+2.7.4
+
diff --git a/source/ap/man-db/man-db.SlackBuild b/source/ap/man-db/man-db.SlackBuild
index 0f2f16b0e..dd3faec2b 100755
--- a/source/ap/man-db/man-db.SlackBuild
+++ b/source/ap/man-db/man-db.SlackBuild
@@ -8,7 +8,7 @@ cd $(dirname $0) ; CWD=$(pwd)
PKGNAM=man-db
VERSION=${VERSION:-$(echo $PKGNAM-*.tar.xz | rev | cut -f 3- -d . | cut -f 1 -d - | rev)}
-BUILD=${BUILD:-1}
+BUILD=${BUILD:-2}
MAN2HTML=${MAN2HTML:-20180101}
@@ -102,6 +102,27 @@ else
LIBDIRSUFFIX=""
fi
+# Don't use icecream:
+for path_element in $(echo $PATH | tr ':' '\n') ; do
+ if [ "$path_element" = "/usr/libexec/icecc/bin" ]; then
+ continue
+ fi
+ if [ -z "$REVERSE_PATH" ]; then
+ REVERSE_PATH="$path_element"
+ else
+ REVERSE_PATH="${REVERSE_PATH}:$path_element"
+ fi
+done
+for path_element in $(echo $REVERSE_PATH | tr ':' '\n') ; do
+ if [ -z "$FORWARD_PATH" ]; then
+ FORWARD_PATH="$path_element"
+ else
+ FORWARD_PATH="${FORWARD_PATH}:$path_element"
+ fi
+done
+PATH=$FORWARD_PATH
+unset FORWARD_PATH REVERSE_PATH
+
# By default, install binaries to /opt, so as not to stomp on Slackware's
# man pkg. We will have to include a /etc/profile.d script to set PATH,
# MANPATH, etc. Note that only binaries and the man pages for man-db itself
diff --git a/source/k/kernel-configs/config-generic-4.14.65 b/source/k/kernel-configs/config-generic-4.14.66
index 1fa489e7b..266945bd0 100644
--- a/source/k/kernel-configs/config-generic-4.14.65
+++ b/source/k/kernel-configs/config-generic-4.14.66
@@ -1,6 +1,6 @@
#
# Automatically generated file; DO NOT EDIT.
-# Linux/x86 4.14.65 Kernel Configuration
+# Linux/x86 4.14.66 Kernel Configuration
#
# CONFIG_64BIT is not set
CONFIG_X86_32=y
diff --git a/source/k/kernel-configs/config-generic-4.14.65.x64 b/source/k/kernel-configs/config-generic-4.14.66.x64
index 3cc51d283..1870a95ee 100644
--- a/source/k/kernel-configs/config-generic-4.14.65.x64
+++ b/source/k/kernel-configs/config-generic-4.14.66.x64
@@ -1,6 +1,6 @@
#
# Automatically generated file; DO NOT EDIT.
-# Linux/x86 4.14.65 Kernel Configuration
+# Linux/x86 4.14.66 Kernel Configuration
#
CONFIG_64BIT=y
CONFIG_X86_64=y
diff --git a/source/k/kernel-configs/config-generic-smp-4.14.65-smp b/source/k/kernel-configs/config-generic-smp-4.14.66-smp
index 5cfd8b8f8..278aad6bc 100644
--- a/source/k/kernel-configs/config-generic-smp-4.14.65-smp
+++ b/source/k/kernel-configs/config-generic-smp-4.14.66-smp
@@ -1,6 +1,6 @@
#
# Automatically generated file; DO NOT EDIT.
-# Linux/x86 4.14.65 Kernel Configuration
+# Linux/x86 4.14.66 Kernel Configuration
#
# CONFIG_64BIT is not set
CONFIG_X86_32=y
diff --git a/source/k/kernel-configs/config-huge-4.14.65 b/source/k/kernel-configs/config-huge-4.14.66
index 6f7388dac..ef145e4e4 100644
--- a/source/k/kernel-configs/config-huge-4.14.65
+++ b/source/k/kernel-configs/config-huge-4.14.66
@@ -1,6 +1,6 @@
#
# Automatically generated file; DO NOT EDIT.
-# Linux/x86 4.14.65 Kernel Configuration
+# Linux/x86 4.14.66 Kernel Configuration
#
# CONFIG_64BIT is not set
CONFIG_X86_32=y
diff --git a/source/k/kernel-configs/config-huge-4.14.65.x64 b/source/k/kernel-configs/config-huge-4.14.66.x64
index 9273d8408..cd4a291fb 100644
--- a/source/k/kernel-configs/config-huge-4.14.65.x64
+++ b/source/k/kernel-configs/config-huge-4.14.66.x64
@@ -1,6 +1,6 @@
#
# Automatically generated file; DO NOT EDIT.
-# Linux/x86 4.14.65 Kernel Configuration
+# Linux/x86 4.14.66 Kernel Configuration
#
CONFIG_64BIT=y
CONFIG_X86_64=y
diff --git a/source/k/kernel-configs/config-huge-smp-4.14.65-smp b/source/k/kernel-configs/config-huge-smp-4.14.66-smp
index 03c740824..758981dac 100644
--- a/source/k/kernel-configs/config-huge-smp-4.14.65-smp
+++ b/source/k/kernel-configs/config-huge-smp-4.14.66-smp
@@ -1,6 +1,6 @@
#
# Automatically generated file; DO NOT EDIT.
-# Linux/x86 4.14.65 Kernel Configuration
+# Linux/x86 4.14.66 Kernel Configuration
#
# CONFIG_64BIT is not set
CONFIG_X86_32=y
diff --git a/source/l/glib2/glib2.SlackBuild b/source/l/glib2/glib2.SlackBuild
index 0c67e84fd..bbb806795 100755
--- a/source/l/glib2/glib2.SlackBuild
+++ b/source/l/glib2/glib2.SlackBuild
@@ -24,7 +24,7 @@ cd $(dirname $0) ; CWD=$(pwd)
PKGNAM=glib2
VERSION=${VERSION:-$(echo glib-*.tar.?z* | rev | cut -f 3- -d . | cut -f 1 -d - | rev)}
-BUILD=${BUILD:-2}
+BUILD=${BUILD:-1}
NUMJOBS=${NUMJOBS:-" -j7 "}
diff --git a/source/t/texlive/doinst.sh b/source/t/texlive/doinst.sh
index f864e767d..d7af8f55c 100644
--- a/source/t/texlive/doinst.sh
+++ b/source/t/texlive/doinst.sh
@@ -1,5 +1,5 @@
chroot . /usr/bin/mktexlsr 1>/dev/null 2>/dev/null
printf "y\n" | chroot . /usr/bin/updmap-sys --syncwithtrees 1>/dev/null 2>/dev/null
chroot . /usr/bin/updmap-sys 1>/dev/null 2>/dev/null
-chroot . /usr/bin/fmtutil-sys --all 1>/dev/null 2>/dev/null
+chroot . /usr/bin/fmtutil-sys --missing 1>/dev/null 2>/dev/null
chroot . /usr/bin/mtxrun --generate 1>/dev/null 2>/dev/null
diff --git a/source/t/texlive/patches/synctex-missing-header.patch b/source/t/texlive/patches/synctex-missing-header.patch
new file mode 100644
index 000000000..e783bd0bc
--- /dev/null
+++ b/source/t/texlive/patches/synctex-missing-header.patch
@@ -0,0 +1,18 @@
+--- texk/web2c/Makefile.in.orig 2018-07-23 11:03:30.763277046 +0200
++++ texk/web2c/Makefile.in 2018-07-23 11:04:53.940224054 +0200
+@@ -1762,6 +1762,7 @@
+ MANS = $(dist_man_MANS) $(nodist_man_MANS)
+ DATA = $(pkgconfig_DATA)
+ am__syncinclude_HEADERS_DIST = synctexdir/synctex_parser.h \
++ synctexdir/synctex_version.h \
+ synctexdir/synctex_parser_utils.h
+ HEADERS = $(syncinclude_HEADERS)
+ RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive \
+@@ -4021,6 +4022,7 @@
+ pkgconfigdir = ${libdir}/pkgconfig
+ @SYNCTEX_TRUE@syncinclude_HEADERS = \
+ @SYNCTEX_TRUE@ synctexdir/synctex_parser.h \
++@SYNCTEX_TRUE@ synctexdir/synctex_version.h \
+ @SYNCTEX_TRUE@ synctexdir/synctex_parser_utils.h
+
+ @SYNCTEX_TRUE@pkgconfig_DATA = synctexdir/synctex.pc
diff --git a/source/t/texlive/prep/texmf_get.sh b/source/t/texlive/prep/texmf_get.sh
index fab74ce5f..a6245823b 100755
--- a/source/t/texlive/prep/texmf_get.sh
+++ b/source/t/texlive/prep/texmf_get.sh
@@ -1,6 +1,6 @@
#!/bin/bash
-# texmf_get.sh (c) 2016-2018 Johannes Schoepfer, Germany, slackbuilds[at]schoepfer[dot]info
+# texmf_get.sh (c) 2016 - 2018 Johannes Schoepfer, Germany, slackbuilds[at]schoepfer[dot]info
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
@@ -20,7 +20,7 @@
# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
#
-# V 15.0.0
+# V 15.0.2
#
# Prepare xz-compressed tarballs of texlive-texmf-trees based on texlive.tlpdb
# This script takes care of dependencies(as far as these are present in texlive.tlpdb)
@@ -29,7 +29,7 @@
# -base: the most usefull stuff, most binaries/scripts,
# manpages for compiled binaries 65mb 2017-11-07
# -docs: -base documentation only, no manpages/GNU infofiles
-# -extra: remaining stuff
+# -extra: remaining stuff and corresponding docs
#
# texlive netarchive policy: Every package is included as dependency
# in exactly one collection. A package may have dependencies on other
@@ -39,46 +39,51 @@
#set -e
MAJORVERSION=2018
+mirror="http://mirror.ctan.org/systems/texlive/tlnet/"
+TMP=$PWD/tmp
-# -excluded packages, which are
+# Globally excluded packages, which are/contain
# -useless without tlmgr-installer
# -non-linux
-# -covered by an external package e.g. asymptote on SBo
-# -obsolete
+# -covered by an external package, e.g. asymptote on SBo
+# -obsolete, e.g. omega
+# -java dependend packages
# -binaries provided already by texlive.Slackbuild
-# -does only contain sources, or hyphen directives, e.g. metatype1, patch, ...
-# -does only contain hyphen directives, e.g. hyphen-farsi ...
+# -binaries provided already other system packages, e.g. texlive-scripts.ARCH
+# -only sources, or hyphen directives, e.g. metatype1, patch, ...
+# -only hyphen directives, e.g. hyphen-farsi ...
global_exclude="
- hyphen-farsi
- hyphen-arabic
- asymptote
- tlcockpit
- tlshell
- texlive.infra
- texlive-docindex
- texlive-scripts
- texlive-msg-translations
- texosquery
- texliveonfly
- texworks
aleph
- omega
antomega
- omegaware
+ asymptote
+ bibtexu
+ cslatex
+ dviout.win32
+ hyphen-arabic
+ hyphen-farsi
lambda
- otibet
+ metatype1
ocherokee
oinuit
- cslatex
- bibarts
- metatype1
+ omega
+ omegaware
+ otibet
patch
+ texlive-common
+ texlive-docindex
+ texlive-msg-translations
+ texlive-scripts
+ texlive.infra
+ texliveonfly
+ texosquery
+ texworks
+ tlcockpit
+ tlshell
wintools.win32
- dviout.win32
"
- # special packages, move their type1 fonts(if metfonts are present)
+ # special packages, move their type1 fonts(if metafonts are present)
# and/or docs to -extra
special_packages="
koma-script
@@ -423,11 +428,9 @@ untar () {
fi
fi
- # Check for binaries, delete them as these should be provided
- # by texlive.Slackbuild, keep symlinks and scripts
+ # Delete binaries, these are provided
+ # by texlive.Slackbuild, keep symlinks and scripts
- unset binaries
- unset scripts
for arch in $platforms
do
if [ -d $texmf/texmf-dist/bin/$arch ]
@@ -439,16 +442,19 @@ untar () {
do
ln -sf $(readlink $link | sed "s/^..\/..\(.*\)/..\/share\1/" ) $link || exit 1
done
- # move symlinks/scripts to linked_scripts
+ # move symlinks to linked_scripts
find $texmf/texmf-dist/bin/$arch -type l -exec mv '{}' $texmf/texmf-dist/linked_scripts/ \;
-
- binaries="$(find $texmf/texmf-dist/bin/$arch -type f -exec file '{}' + | grep -e "executable" -e "shared object" | grep ELF | cut -f 1 -d : )"
- for bin in $binaries
+
+ # keep only binaries of special packages
+ # remove xindy.mem(gzip compresses data) to prevent overwriting
+ for bin in $(find $texmf/texmf-dist/bin/$arch \
+ -type f -exec file '{}' + | \
+ grep -e "executable" -e "shared object" -e "gzip compressed data" | \
+ grep -e ELF -e "gzip compressed data" | cut -f 1 -d : )
do
- # keep binaries of special packages
for binary in $keep_precompiled
do
- if [ "$(echo $bin | rev | cut -d'/' -f1 | rev )" != "$binary" ]
+ if [ "$(echo $bin | rev | cut -d'/' -f1 | rev)" != "$binary" ]
then
rm $bin
echo $bin | rev | cut -d'/' -f1 | rev >> $binary_removed.$edition
@@ -723,12 +729,7 @@ exit 0
# Main
-# release mirror
-mirror="http://mirror.ctan.org/systems/texlive/tlnet/"
-# pre-test mirror 2016
-# mirror="http://ftp.cstug.cz/pub/tex/local/tlpretest/"
LANG=C
-TMP=$PWD/tmp
output=$TMP/packages
output_doc=$TMP/packages.doc.tmp
errorlog=$TMP/error.log
@@ -995,6 +996,26 @@ case $edition in
Content of -$edition:
$(sed "/-linux$/d" $packages_base | sort)
EOF
+ # add texdoc cache file
+ if [ $(command -v texdoc) ]
+ then
+ mkdir -p $texmf/texmf-dist/tlpkg
+ mkdir -p texmf-dist/scripts/texdoc
+ ln -s ${db}.orig $texmf/texmf-dist/tlpkg/texlive.tlpdb
+ TEXMFVAR=$texmf/texmf-dist \
+ texdoc -lM texlive-en >/dev/null
+ mv texmf-dist/texdoc/cache-tlpdb.lua \
+ texmf-dist/scripts/texdoc/Data.tlpdb.lua
+ rm -rf $texmf/texmf-dist/tlpkg
+ else
+ echo "WARNING: texdoc/texlive is not installed, the texdoc cache"
+ echo "Data.tlpdb.lua can't be created and wont't be available."
+ echo "texdoc will not wotk without this."
+ echo ""
+ echo "Continue with any key or abort with ctrl-c"
+ read -n1
+ fi
+
#Splitted packages, type1 fonts/docs moved to -extra:
#$(echo $special_packages)
#EOF
@@ -1003,6 +1024,7 @@ EOF
tar rf $tarball --owner=0 --group=0 --sort=name \
texmf-dist/doc/man/ texmf-dist/doc/info/ \
texmf-dist/packages.$edition.gz \
+ texmf-dist/scripts/texdoc/Data.tlpdb.lua \
|| exit 1
# # add cm-super minimal maps/config
# tar rf $tarball --owner=0 --group=0 --sort=name \
diff --git a/source/t/texlive/slack-desc b/source/t/texlive/slack-desc
index d004be14c..2534a9e3a 100644
--- a/source/t/texlive/slack-desc
+++ b/source/t/texlive/slack-desc
@@ -2,18 +2,18 @@
# 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
+# 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------------------------------------------------------|
texlive: texlive (TeX binaries, support files, and formats)
texlive:
texlive: This package contains binaries, support files, TeX formats and
-texlive: packages, and other files from the TeXLive TeX distribution.
+texlive: packages, and other files included in the TeXLive TeX distribution.
texlive: Included are input files for TeX, runtime configuration files,
texlive: hyphenation tables, manpages, and the computer modern fonts.
texlive:
texlive: SlackBuilds.org has more texmf files and documentation in the
-texlive: texlive-extra, texlive-fonts, and texlive-docs packages.
+texlive: texlive-extra and texlive-docs packages.
texlive:
texlive:
diff --git a/source/t/texlive/texlive.SlackBuild b/source/t/texlive/texlive.SlackBuild
index 47450b11e..b7a469c74 100755
--- a/source/t/texlive/texlive.SlackBuild
+++ b/source/t/texlive/texlive.SlackBuild
@@ -32,7 +32,7 @@ cd $(dirname $0) ; CWD=$(pwd)
PKGNAM=texlive
SOURCEVERSION=${SOURCEVERSION:-20180414}
-VERSION=${VERSION:-2018.180820}
+VERSION=${VERSION:-2018.180822}
BUILD=${BUILD:-1}
TMP=${TMP:-/tmp}
@@ -97,11 +97,13 @@ sed -i \
-e 's|^TEXMFLOCAL.*|TEXMFLOCAL = $TEXMFROOT/texmf-local|' \
texk/kpathsea/texmf.cnf
-# prevent compiling Xdvi with libXp
-sed -i 's|-lXp ||' texk/xdvik/configure
-
# Upstream stable fixes
patch -Np0 -i $CWD/patches/20180625.diff || exit 1
+# Add missing synctex header
+patch -Np0 -i $CWD/patches/synctex-missing-header.patch || exit 1
+
+# prevent compiling Xdvi with libXp
+sed -i 's|-lXp ||' texk/xdvik/configure
# The 2018 version of texlive ships with support for poppler-0.57.0 and older,
# but it includes alternative newpoppler files which enable building with
@@ -129,6 +131,9 @@ cd build
--disable-missing \
--disable-multiplatform \
--disable-debug \
+ --disable-dialog \
+ --disable-bibtexu \
+ --disable-xz \
--with-x \
--enable-xindy \
--disable-xindy-docs \