summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPatrick J Volkerding <volkerdi@slackware.com>2020-09-02 18:07:02 +0000
committerEric Hameleers <alien@slackware.com>2020-09-03 17:59:55 +0200
commit80acc531cddf96d12904fb1860d11663bf971ff3 (patch)
treeea518f004d9f99a0152a6b552ee0f67fec7f55b7
parentb934dac849a790e39b15447185988d8adc2e56fc (diff)
downloadcurrent-b7e455d09b7ee9f114f6bbdd3b2fab69cb84f7ce.tar.gz
Wed Sep 2 18:07:02 UTC 202020200902180702
a/kernel-firmware-20200901_d5f9eea-noarch-1.txz: Upgraded. d/mercurial-5.5.1-x86_64-1.txz: Upgraded. d/python-setuptools-50.0.3-x86_64-1.txz: Upgraded. l/netpbm-10.91.02-x86_64-1.txz: Upgraded. n/php-7.4.10-x86_64-1.txz: Upgraded. xap/xaos-4.2-x86_64-1.txz: Upgraded.
-rw-r--r--ChangeLog.rss20
-rw-r--r--ChangeLog.txt8
-rw-r--r--FILELIST.TXT115
-rwxr-xr-xrecompress.sh1
-rw-r--r--source/l/netpbm/netpbm-manfix.patch86
-rw-r--r--source/l/netpbm/netpbm-manual-pages.patch1290
-rw-r--r--source/l/netpbm/netpbm-userguide.patch9
-rwxr-xr-xsource/l/netpbm/netpbm.SlackBuild1
-rwxr-xr-xsource/n/php/fetch-php.sh4
-rwxr-xr-xsource/n/php/php.SlackBuild2
10 files changed, 95 insertions, 1441 deletions
diff --git a/ChangeLog.rss b/ChangeLog.rss
index 1c33ec67..d4e8da3c 100644
--- a/ChangeLog.rss
+++ b/ChangeLog.rss
@@ -11,10 +11,26 @@
<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>Mon, 31 Aug 2020 18:35:29 GMT</pubDate>
- <lastBuildDate>Tue, 1 Sep 2020 06:59:48 GMT</lastBuildDate>
+ <pubDate>Wed, 2 Sep 2020 18:07:02 GMT</pubDate>
+ <lastBuildDate>Thu, 3 Sep 2020 15:59:48 GMT</lastBuildDate>
<generator>maintain_current_git.sh v 1.12</generator>
<item>
+ <title>Wed, 2 Sep 2020 18:07:02 GMT</title>
+ <pubDate>Wed, 2 Sep 2020 18:07:02 GMT</pubDate>
+ <link>https://git.slackware.nl/current/tag/?h=20200902180702</link>
+ <guid isPermaLink="false">20200902180702</guid>
+ <description>
+ <![CDATA[<pre>
+a/kernel-firmware-20200901_d5f9eea-noarch-1.txz: Upgraded.
+d/mercurial-5.5.1-x86_64-1.txz: Upgraded.
+d/python-setuptools-50.0.3-x86_64-1.txz: Upgraded.
+l/netpbm-10.91.02-x86_64-1.txz: Upgraded.
+n/php-7.4.10-x86_64-1.txz: Upgraded.
+xap/xaos-4.2-x86_64-1.txz: Upgraded.
+ </pre>]]>
+ </description>
+ </item>
+ <item>
<title>Mon, 31 Aug 2020 18:35:29 GMT</title>
<pubDate>Mon, 31 Aug 2020 18:35:29 GMT</pubDate>
<link>https://git.slackware.nl/current/tag/?h=20200831183529</link>
diff --git a/ChangeLog.txt b/ChangeLog.txt
index 2445cdd0..e0e2d635 100644
--- a/ChangeLog.txt
+++ b/ChangeLog.txt
@@ -1,3 +1,11 @@
+Wed Sep 2 18:07:02 UTC 2020
+a/kernel-firmware-20200901_d5f9eea-noarch-1.txz: Upgraded.
+d/mercurial-5.5.1-x86_64-1.txz: Upgraded.
+d/python-setuptools-50.0.3-x86_64-1.txz: Upgraded.
+l/netpbm-10.91.02-x86_64-1.txz: Upgraded.
+n/php-7.4.10-x86_64-1.txz: Upgraded.
+xap/xaos-4.2-x86_64-1.txz: Upgraded.
++--------------------------+
Mon Aug 31 18:35:29 UTC 2020
n/postfix-3.5.7-x86_64-1.txz: Upgraded.
x/libwacom-1.5-x86_64-1.txz: Upgraded.
diff --git a/FILELIST.TXT b/FILELIST.TXT
index cdc20a1f..7cd1de55 100644
--- a/FILELIST.TXT
+++ b/FILELIST.TXT
@@ -1,20 +1,20 @@
-Mon Aug 31 18:38:02 UTC 2020
+Wed Sep 2 18:09:52 UTC 2020
Here is the file list for this directory. If you are using a
mirror site and find missing or extra files in the disk
subdirectories, please have the archive administrator refresh
the mirror.
-drwxr-xr-x 12 root root 4096 2020-08-31 18:35 .
+drwxr-xr-x 12 root root 4096 2020-09-02 18:07 .
-rw-r--r-- 1 root root 10064 2016-06-30 18:39 ./ANNOUNCE.14_2
-rw-r--r-- 1 root root 14975 2020-02-08 21:06 ./CHANGES_AND_HINTS.TXT
--rw-r--r-- 1 root root 972728 2020-08-30 18:14 ./CHECKSUMS.md5
--rw-r--r-- 1 root root 163 2020-08-30 18:14 ./CHECKSUMS.md5.asc
+-rw-r--r-- 1 root root 972720 2020-08-31 18:38 ./CHECKSUMS.md5
+-rw-r--r-- 1 root root 163 2020-08-31 18:38 ./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 944696 2020-08-31 18:35 ./ChangeLog.txt
+-rw-r--r-- 1 root root 945028 2020-09-02 18:07 ./ChangeLog.txt
drwxr-xr-x 3 root root 4096 2013-03-20 22:17 ./EFI
drwxr-xr-x 2 root root 4096 2020-08-26 21:13 ./EFI/BOOT
-rw-r--r-- 1 root root 1417216 2019-07-05 18:54 ./EFI/BOOT/bootx64.efi
@@ -25,9 +25,9 @@ drwxr-xr-x 2 root root 4096 2020-08-26 21:13 ./EFI/BOOT
-rwxr-xr-x 1 root root 2504 2019-07-05 18:54 ./EFI/BOOT/make-grub.sh
-rw-r--r-- 1 root root 10722 2013-09-21 19:02 ./EFI/BOOT/osdetect.cfg
-rw-r--r-- 1 root root 1273 2013-08-12 21:08 ./EFI/BOOT/tools.cfg
--rw-r--r-- 1 root root 1282168 2020-08-30 18:14 ./FILELIST.TXT
+-rw-r--r-- 1 root root 1282160 2020-08-31 18:38 ./FILELIST.TXT
-rw-r--r-- 1 root root 1572 2012-08-29 18:27 ./GPG-KEY
--rw-r--r-- 1 root root 762389 2020-08-31 18:37 ./PACKAGES.TXT
+-rw-r--r-- 1 root root 762392 2020-09-02 18:09 ./PACKAGES.TXT
-rw-r--r-- 1 root root 8564 2016-06-28 21:33 ./README.TXT
-rw-r--r-- 1 root root 3629 2020-08-26 20:58 ./README.initrd
-rw-r--r-- 1 root root 34412 2017-12-01 17:44 ./README_CRYPT.TXT
@@ -790,13 +790,13 @@ drwxr-xr-x 2 root root 4096 2012-09-20 18:06 ./patches
-rw-r--r-- 1 root root 575 2012-09-20 18:06 ./patches/FILE_LIST
-rw-r--r-- 1 root root 14 2012-09-20 18:06 ./patches/MANIFEST.bz2
-rw-r--r-- 1 root root 224 2012-09-20 18:06 ./patches/PACKAGES.TXT
-drwxr-xr-x 18 root root 4096 2020-08-31 18:37 ./slackware64
--rw-r--r-- 1 root root 300329 2020-08-31 18:37 ./slackware64/CHECKSUMS.md5
--rw-r--r-- 1 root root 163 2020-08-31 18:37 ./slackware64/CHECKSUMS.md5.asc
--rw-r--r-- 1 root root 373792 2020-08-31 18:37 ./slackware64/FILE_LIST
--rw-r--r-- 1 root root 3870203 2020-08-31 18:37 ./slackware64/MANIFEST.bz2
+drwxr-xr-x 18 root root 4096 2020-09-02 18:09 ./slackware64
+-rw-r--r-- 1 root root 300338 2020-09-02 18:09 ./slackware64/CHECKSUMS.md5
+-rw-r--r-- 1 root root 163 2020-09-02 18:09 ./slackware64/CHECKSUMS.md5.asc
+-rw-r--r-- 1 root root 373801 2020-09-02 18:08 ./slackware64/FILE_LIST
+-rw-r--r-- 1 root root 3868350 2020-09-02 18:09 ./slackware64/MANIFEST.bz2
lrwxrwxrwx 1 root root 15 2009-08-23 23:34 ./slackware64/PACKAGES.TXT -> ../PACKAGES.TXT
-drwxr-xr-x 2 root root 20480 2020-08-30 18:13 ./slackware64/a
+drwxr-xr-x 2 root root 20480 2020-09-02 18:08 ./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
@@ -949,9 +949,9 @@ drwxr-xr-x 2 root root 20480 2020-08-30 18:13 ./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 2020-08-27 18:56 ./slackware64/a/kernel-firmware-20200827_7a237c6-noarch-1.txt
--rw-r--r-- 1 root root 120002232 2020-08-27 18:56 ./slackware64/a/kernel-firmware-20200827_7a237c6-noarch-1.txz
--rw-r--r-- 1 root root 163 2020-08-27 18:56 ./slackware64/a/kernel-firmware-20200827_7a237c6-noarch-1.txz.asc
+-rw-r--r-- 1 root root 422 2020-09-02 17:43 ./slackware64/a/kernel-firmware-20200901_d5f9eea-noarch-1.txt
+-rw-r--r-- 1 root root 120003748 2020-09-02 17:43 ./slackware64/a/kernel-firmware-20200901_d5f9eea-noarch-1.txz
+-rw-r--r-- 1 root root 163 2020-09-02 17:43 ./slackware64/a/kernel-firmware-20200901_d5f9eea-noarch-1.txz.asc
-rw-r--r-- 1 root root 624 2020-08-26 19:16 ./slackware64/a/kernel-generic-5.4.61-x86_64-1.txt
-rw-r--r-- 1 root root 6982104 2020-08-26 19:16 ./slackware64/a/kernel-generic-5.4.61-x86_64-1.txz
-rw-r--r-- 1 root root 163 2020-08-26 19:16 ./slackware64/a/kernel-generic-5.4.61-x86_64-1.txz.asc
@@ -1420,7 +1420,7 @@ drwxr-xr-x 2 root root 20480 2020-08-29 17:48 ./slackware64/ap
-rw-r--r-- 1 root root 506 2020-02-16 18:00 ./slackware64/ap/zsh-5.8-x86_64-1.txt
-rw-r--r-- 1 root root 3053312 2020-02-16 18:00 ./slackware64/ap/zsh-5.8-x86_64-1.txz
-rw-r--r-- 1 root root 163 2020-02-16 18:00 ./slackware64/ap/zsh-5.8-x86_64-1.txz.asc
-drwxr-xr-x 2 root root 16384 2020-08-29 17:48 ./slackware64/d
+drwxr-xr-x 2 root root 16384 2020-09-02 18:08 ./slackware64/d
-rw-r--r-- 1 root root 360 2020-07-09 19:56 ./slackware64/d/Cython-0.29.21-x86_64-1.txt
-rw-r--r-- 1 root root 2381796 2020-07-09 19:56 ./slackware64/d/Cython-0.29.21-x86_64-1.txz
-rw-r--r-- 1 root root 163 2020-07-09 19:56 ./slackware64/d/Cython-0.29.21-x86_64-1.txz.asc
@@ -1542,9 +1542,9 @@ drwxr-xr-x 2 root root 16384 2020-08-29 17:48 ./slackware64/d
-rw-r--r-- 1 root root 163 2020-06-24 19:17 ./slackware64/d/make-4.2.1-x86_64-7.txz.asc
-rw-r--r-- 1 root root 5137 2020-05-30 21:29 ./slackware64/d/maketag
-rw-r--r-- 1 root root 5137 2020-05-30 21:29 ./slackware64/d/maketag.ez
--rw-r--r-- 1 root root 659 2020-08-04 17:34 ./slackware64/d/mercurial-5.5-x86_64-1.txt
--rw-r--r-- 1 root root 4418424 2020-08-04 17:34 ./slackware64/d/mercurial-5.5-x86_64-1.txz
--rw-r--r-- 1 root root 163 2020-08-04 17:34 ./slackware64/d/mercurial-5.5-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 659 2020-09-02 17:33 ./slackware64/d/mercurial-5.5.1-x86_64-1.txt
+-rw-r--r-- 1 root root 4417572 2020-09-02 17:33 ./slackware64/d/mercurial-5.5.1-x86_64-1.txz
+-rw-r--r-- 1 root root 163 2020-09-02 17:33 ./slackware64/d/mercurial-5.5.1-x86_64-1.txz.asc
-rw-r--r-- 1 root root 410 2020-08-16 18:15 ./slackware64/d/meson-0.55.1-x86_64-1.txt
-rw-r--r-- 1 root root 919164 2020-08-16 18:15 ./slackware64/d/meson-0.55.1-x86_64-1.txz
-rw-r--r-- 1 root root 163 2020-08-16 18:15 ./slackware64/d/meson-0.55.1-x86_64-1.txz.asc
@@ -1581,9 +1581,9 @@ drwxr-xr-x 2 root root 16384 2020-08-29 17:48 ./slackware64/d
-rw-r--r-- 1 root root 270 2020-08-12 17:50 ./slackware64/d/python-pip-20.2.2-x86_64-1.txt
-rw-r--r-- 1 root root 1682124 2020-08-12 17:50 ./slackware64/d/python-pip-20.2.2-x86_64-1.txz
-rw-r--r-- 1 root root 163 2020-08-12 17:50 ./slackware64/d/python-pip-20.2.2-x86_64-1.txz.asc
--rw-r--r-- 1 root root 562 2020-08-14 18:07 ./slackware64/d/python-setuptools-49.6.0-x86_64-1.txt
--rw-r--r-- 1 root root 723452 2020-08-14 18:07 ./slackware64/d/python-setuptools-49.6.0-x86_64-1.txz
--rw-r--r-- 1 root root 163 2020-08-14 18:07 ./slackware64/d/python-setuptools-49.6.0-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 562 2020-09-02 17:36 ./slackware64/d/python-setuptools-50.0.3-x86_64-1.txt
+-rw-r--r-- 1 root root 707280 2020-09-02 17:36 ./slackware64/d/python-setuptools-50.0.3-x86_64-1.txz
+-rw-r--r-- 1 root root 163 2020-09-02 17:36 ./slackware64/d/python-setuptools-50.0.3-x86_64-1.txz.asc
-rw-r--r-- 1 root root 484 2020-04-20 19:24 ./slackware64/d/python2-2.7.18-x86_64-1.txt
-rw-r--r-- 1 root root 13035508 2020-04-20 19:24 ./slackware64/d/python2-2.7.18-x86_64-1.txz
-rw-r--r-- 1 root root 163 2020-04-20 19:24 ./slackware64/d/python2-2.7.18-x86_64-1.txz.asc
@@ -2497,7 +2497,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 2020-08-29 17:48 ./slackware64/l
+drwxr-xr-x 2 root root 69632 2020-09-02 18:08 ./slackware64/l
-rw-r--r-- 1 root root 338 2020-05-16 19:55 ./slackware64/l/ConsoleKit2-1.2.1-x86_64-4.txt
-rw-r--r-- 1 root root 193724 2020-05-16 19:55 ./slackware64/l/ConsoleKit2-1.2.1-x86_64-4.txz
-rw-r--r-- 1 root root 163 2020-05-16 19:55 ./slackware64/l/ConsoleKit2-1.2.1-x86_64-4.txz.asc
@@ -3228,9 +3228,9 @@ drwxr-xr-x 2 root root 69632 2020-08-29 17:48 ./slackware64/l
-rw-r--r-- 1 root root 345 2020-06-22 18:43 ./slackware64/l/neon-0.31.2-x86_64-1.txt
-rw-r--r-- 1 root root 206304 2020-06-22 18:43 ./slackware64/l/neon-0.31.2-x86_64-1.txz
-rw-r--r-- 1 root root 163 2020-06-22 18:43 ./slackware64/l/neon-0.31.2-x86_64-1.txz.asc
--rw-r--r-- 1 root root 271 2020-07-22 19:29 ./slackware64/l/netpbm-10.91.01-x86_64-1.txt
--rw-r--r-- 1 root root 2054648 2020-07-22 19:29 ./slackware64/l/netpbm-10.91.01-x86_64-1.txz
--rw-r--r-- 1 root root 163 2020-07-22 19:29 ./slackware64/l/netpbm-10.91.01-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 271 2020-09-01 01:24 ./slackware64/l/netpbm-10.91.02-x86_64-1.txt
+-rw-r--r-- 1 root root 2060048 2020-09-01 01:24 ./slackware64/l/netpbm-10.91.02-x86_64-1.txz
+-rw-r--r-- 1 root root 163 2020-09-01 01:24 ./slackware64/l/netpbm-10.91.02-x86_64-1.txz.asc
-rw-r--r-- 1 root root 423 2019-12-30 00:56 ./slackware64/l/newt-0.52.21-x86_64-2.txt
-rw-r--r-- 1 root root 112712 2019-12-30 00:56 ./slackware64/l/newt-0.52.21-x86_64-2.txz
-rw-r--r-- 1 root root 163 2019-12-30 00:56 ./slackware64/l/newt-0.52.21-x86_64-2.txz.asc
@@ -3523,7 +3523,7 @@ drwxr-xr-x 2 root root 69632 2020-08-29 17:48 ./slackware64/l
-rw-r--r-- 1 root root 463 2020-06-23 19:31 ./slackware64/l/zstd-1.4.5-x86_64-2.txt
-rw-r--r-- 1 root root 627360 2020-06-23 19:31 ./slackware64/l/zstd-1.4.5-x86_64-2.txz
-rw-r--r-- 1 root root 163 2020-06-23 19:31 ./slackware64/l/zstd-1.4.5-x86_64-2.txz.asc
-drwxr-xr-x 2 root root 32768 2020-08-31 18:37 ./slackware64/n
+drwxr-xr-x 2 root root 32768 2020-09-02 18:08 ./slackware64/n
-rw-r--r-- 1 root root 357 2020-08-20 18:24 ./slackware64/n/ModemManager-1.14.2-x86_64-1.txt
-rw-r--r-- 1 root root 1857952 2020-08-20 18:24 ./slackware64/n/ModemManager-1.14.2-x86_64-1.txz
-rw-r--r-- 1 root root 163 2020-08-20 18:24 ./slackware64/n/ModemManager-1.14.2-x86_64-1.txz.asc
@@ -3864,9 +3864,9 @@ drwxr-xr-x 2 root root 32768 2020-08-31 18:37 ./slackware64/n
-rw-r--r-- 1 root root 478 2020-05-16 19:45 ./slackware64/n/pam-krb5-4.9-x86_64-1.txt
-rw-r--r-- 1 root root 71468 2020-05-16 19:45 ./slackware64/n/pam-krb5-4.9-x86_64-1.txz
-rw-r--r-- 1 root root 163 2020-05-16 19:45 ./slackware64/n/pam-krb5-4.9-x86_64-1.txz.asc
--rw-r--r-- 1 root root 374 2020-08-15 18:27 ./slackware64/n/php-7.4.9-x86_64-2.txt
--rw-r--r-- 1 root root 5771028 2020-08-15 18:27 ./slackware64/n/php-7.4.9-x86_64-2.txz
--rw-r--r-- 1 root root 163 2020-08-15 18:27 ./slackware64/n/php-7.4.9-x86_64-2.txz.asc
+-rw-r--r-- 1 root root 374 2020-09-02 17:37 ./slackware64/n/php-7.4.10-x86_64-1.txt
+-rw-r--r-- 1 root root 5775456 2020-09-02 17:37 ./slackware64/n/php-7.4.10-x86_64-1.txz
+-rw-r--r-- 1 root root 163 2020-09-02 17:37 ./slackware64/n/php-7.4.10-x86_64-1.txz.asc
-rw-r--r-- 1 root root 576 2018-05-08 04:25 ./slackware64/n/pidentd-3.0.19-x86_64-4.txt
-rw-r--r-- 1 root root 43000 2018-05-08 04:25 ./slackware64/n/pidentd-3.0.19-x86_64-4.txz
-rw-r--r-- 1 root root 163 2018-05-08 04:25 ./slackware64/n/pidentd-3.0.19-x86_64-4.txz.asc
@@ -4897,7 +4897,7 @@ drwxr-xr-x 2 root root 61440 2020-08-31 18:37 ./slackware64/x
-rw-r--r-- 1 root root 213 2018-04-13 06:10 ./slackware64/x/xwud-1.0.5-x86_64-2.txt
-rw-r--r-- 1 root root 25288 2018-04-13 06:10 ./slackware64/x/xwud-1.0.5-x86_64-2.txz
-rw-r--r-- 1 root root 163 2018-04-13 06:10 ./slackware64/x/xwud-1.0.5-x86_64-2.txz.asc
-drwxr-xr-x 2 root root 12288 2020-08-25 19:02 ./slackware64/xap
+drwxr-xr-x 2 root root 12288 2020-09-02 18:08 ./slackware64/xap
-rw-r--r-- 1 root root 625 2020-04-05 20:17 ./slackware64/xap/MPlayer-20200103-x86_64-2.txt
-rw-r--r-- 1 root root 2733304 2020-04-05 20:17 ./slackware64/xap/MPlayer-20200103-x86_64-2.txz
-rw-r--r-- 1 root root 163 2020-04-05 20:17 ./slackware64/xap/MPlayer-20200103-x86_64-2.txz.asc
@@ -5020,9 +5020,9 @@ drwxr-xr-x 2 root root 12288 2020-08-25 19:02 ./slackware64/xap
-rw-r--r-- 1 root root 309 2018-06-06 06:21 ./slackware64/xap/x3270-3.3.12ga7-x86_64-5.txt
-rw-r--r-- 1 root root 723700 2018-06-06 06:21 ./slackware64/xap/x3270-3.3.12ga7-x86_64-5.txz
-rw-r--r-- 1 root root 163 2018-06-06 06:21 ./slackware64/xap/x3270-3.3.12ga7-x86_64-5.txz.asc
--rw-r--r-- 1 root root 426 2020-07-29 04:15 ./slackware64/xap/xaos-4.1-x86_64-1.txt
--rw-r--r-- 1 root root 472608 2020-07-29 04:15 ./slackware64/xap/xaos-4.1-x86_64-1.txz
--rw-r--r-- 1 root root 163 2020-07-29 04:15 ./slackware64/xap/xaos-4.1-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 426 2020-09-02 17:39 ./slackware64/xap/xaos-4.2-x86_64-1.txt
+-rw-r--r-- 1 root root 489180 2020-09-02 17:39 ./slackware64/xap/xaos-4.2-x86_64-1.txz
+-rw-r--r-- 1 root root 163 2020-09-02 17:39 ./slackware64/xap/xaos-4.2-x86_64-1.txz.asc
-rw-r--r-- 1 root root 239 2018-04-13 17:48 ./slackware64/xap/xgames-0.3-x86_64-5.txt
-rw-r--r-- 1 root root 116364 2018-04-13 17:48 ./slackware64/xap/xgames-0.3-x86_64-5.txz
-rw-r--r-- 1 root root 163 2018-04-13 17:48 ./slackware64/xap/xgames-0.3-x86_64-5.txz.asc
@@ -5143,11 +5143,11 @@ drwxr-xr-x 2 root root 4096 2019-02-17 23:51 ./slackware64/y
-rw-r--r-- 1 root root 1147 2018-03-01 07:55 ./slackware64/y/maketag
-rw-r--r-- 1 root root 1147 2018-03-01 07:55 ./slackware64/y/maketag.ez
-rw-r--r-- 1 root root 14 2018-03-01 07:55 ./slackware64/y/tagfile
-drwxr-xr-x 19 root root 4096 2020-08-31 18:38 ./source
--rw-r--r-- 1 root root 500712 2020-08-31 18:38 ./source/CHECKSUMS.md5
--rw-r--r-- 1 root root 163 2020-08-31 18:38 ./source/CHECKSUMS.md5.asc
--rw-r--r-- 1 root root 705199 2020-08-31 18:37 ./source/FILE_LIST
--rw-r--r-- 1 root root 21631838 2020-08-31 18:37 ./source/MANIFEST.bz2
+drwxr-xr-x 19 root root 4096 2020-09-02 18:09 ./source
+-rw-r--r-- 1 root root 500645 2020-09-02 18:09 ./source/CHECKSUMS.md5
+-rw-r--r-- 1 root root 163 2020-09-02 18:09 ./source/CHECKSUMS.md5.asc
+-rw-r--r-- 1 root root 705117 2020-09-02 18:09 ./source/FILE_LIST
+-rw-r--r-- 1 root root 21637502 2020-09-02 18:09 ./source/MANIFEST.bz2
-rw-r--r-- 1 root root 1314 2006-10-02 04:40 ./source/README.TXT
drwxr-xr-x 115 root root 4096 2020-06-27 19:15 ./source/a
-rw-r--r-- 1 root root 1034 2019-05-04 17:56 ./source/a/FTBFSlog
@@ -7009,9 +7009,9 @@ drwxr-xr-x 2 root root 4096 2020-01-16 18:56 ./source/d/make
-rw-r--r-- 1 root root 438 2018-02-16 20:42 ./source/d/make/make.glibc-2.27.glob.diff.gz
-rw-r--r-- 1 root root 323 2020-01-16 18:56 ./source/d/make/make.guile30.diff.gz
-rw-r--r-- 1 root root 918 2018-02-27 06:13 ./source/d/make/slack-desc
-drwxr-xr-x 2 root root 4096 2020-08-04 17:55 ./source/d/mercurial
+drwxr-xr-x 2 root root 4096 2020-09-02 17:32 ./source/d/mercurial
-rw-r--r-- 1 root root 279 2010-05-18 06:20 ./source/d/mercurial/doinst.sh.gz
--rw-r--r-- 1 root root 4511447 2020-08-03 17:54 ./source/d/mercurial/mercurial-5.5.tar.lz
+-rw-r--r-- 1 root root 4513379 2020-09-01 11:05 ./source/d/mercurial/mercurial-5.5.1.tar.lz
-rwxr-xr-x 1 root root 4114 2020-03-05 07:10 ./source/d/mercurial/mercurial.SlackBuild
-rw-r--r-- 1 root root 38 2017-12-02 19:13 ./source/d/mercurial/mercurial.url
-rw-r--r-- 1 root root 1245 2018-02-27 06:13 ./source/d/mercurial/slack-desc
@@ -7094,10 +7094,10 @@ drwxr-xr-x 2 root root 4096 2020-08-12 17:50 ./source/d/python-pip
-rw-r--r-- 1 root root 33 2018-03-29 06:10 ./source/d/python-pip/pip.url
-rwxr-xr-x 1 root root 2876 2020-05-01 03:38 ./source/d/python-pip/python-pip.SlackBuild
-rw-r--r-- 1 root root 760 2018-02-27 06:13 ./source/d/python-pip/slack-desc
-drwxr-xr-x 2 root root 4096 2020-08-14 18:07 ./source/d/python-setuptools
+drwxr-xr-x 2 root root 4096 2020-09-02 17:36 ./source/d/python-setuptools
-rwxr-xr-x 1 root root 3206 2020-05-01 03:40 ./source/d/python-setuptools/python-setuptools.SlackBuild
-rw-r--r-- 1 root root 40 2017-11-28 22:11 ./source/d/python-setuptools/python-setuptools.url
--rw-r--r-- 1 root root 1203991 2020-08-14 02:13 ./source/d/python-setuptools/setuptools-49.6.0.tar.lz
+-rw-r--r-- 1 root root 1196322 2020-09-02 02:02 ./source/d/python-setuptools/setuptools-50.0.3.tar.lz
-rw-r--r-- 1 root root 1059 2018-02-27 06:13 ./source/d/python-setuptools/slack-desc
drwxr-xr-x 2 root root 4096 2020-04-20 19:11 ./source/d/python2
-rw-r--r-- 1 root root 12854736 2020-04-19 21:50 ./source/d/python2/Python-2.7.18.tar.xz
@@ -9730,8 +9730,8 @@ drwxr-xr-x 2 root root 4096 2020-06-22 18:43 ./source/l/neon
-rwxr-xr-x 1 root root 4451 2020-03-25 19:11 ./source/l/neon/neon.SlackBuild
-rw-r--r-- 1 root root 31 2020-04-18 18:41 ./source/l/neon/neon.url
-rw-r--r-- 1 root root 797 2020-04-18 18:41 ./source/l/neon/slack-desc
-drwxr-xr-x 2 root root 4096 2020-07-22 19:28 ./source/l/netpbm
--rw-r--r-- 1 root root 2722218 2020-07-22 18:59 ./source/l/netpbm/netpbm-10.91.01.tar.lz
+drwxr-xr-x 2 root root 4096 2020-09-01 01:24 ./source/l/netpbm
+-rw-r--r-- 1 root root 2719799 2020-09-01 01:12 ./source/l/netpbm/netpbm-10.91.02.tar.lz
-rw-r--r-- 1 root root 381 2019-04-17 08:07 ./source/l/netpbm/netpbm-CAN-2005-2471.patch.gz
-rw-r--r-- 1 root root 382 2019-04-17 08:07 ./source/l/netpbm/netpbm-CVE-2017-2587.patch.gz
-rw-r--r-- 1 root root 284 2019-04-17 08:07 ./source/l/netpbm/netpbm-bmptopnm.patch.gz
@@ -9740,8 +9740,8 @@ drwxr-xr-x 2 root root 4096 2020-07-22 19:28 ./source/l/netpbm
-rw-r--r-- 1 root root 331 2019-04-17 08:07 ./source/l/netpbm/netpbm-gcc4.patch.gz
-rw-r--r-- 1 root root 307 2019-04-17 08:07 ./source/l/netpbm/netpbm-glibc.patch.gz
-rw-r--r-- 1 root root 668 2019-04-17 08:07 ./source/l/netpbm/netpbm-libdir-so.patch.gz
--rw-r--r-- 1 root root 1254 2020-07-22 19:22 ./source/l/netpbm/netpbm-manfix.patch.gz
--rw-r--r-- 1 root root 15055 2020-07-22 19:28 ./source/l/netpbm/netpbm-manual-pages.patch.gz
+-rw-r--r-- 1 root root 505 2020-09-01 01:18 ./source/l/netpbm/netpbm-manfix.patch.gz
+-rw-r--r-- 1 root root 761 2020-09-01 01:21 ./source/l/netpbm/netpbm-manual-pages.patch.gz
-rw-r--r-- 1 root root 307 2019-04-17 08:07 ./source/l/netpbm/netpbm-multilib.patch.gz
-rw-r--r-- 1 root root 273 2018-07-23 13:37 ./source/l/netpbm/netpbm-noppmtompeg.patch.gz
-rw-r--r-- 1 root root 2252 2019-04-17 08:07 ./source/l/netpbm/netpbm-pamtojpeg2k.patch.gz
@@ -9750,9 +9750,8 @@ drwxr-xr-x 2 root root 4096 2020-07-22 19:28 ./source/l/netpbm
-rw-r--r-- 1 root root 21893 2019-08-21 07:19 ./source/l/netpbm/netpbm-security-code.patch.gz
-rw-r--r-- 1 root root 1704 2019-04-17 08:07 ./source/l/netpbm/netpbm-security-scripts.patch.gz
-rw-r--r-- 1 root root 394 2019-04-17 08:07 ./source/l/netpbm/netpbm-time.patch.gz
--rw-r--r-- 1 root root 219 2019-04-17 08:07 ./source/l/netpbm/netpbm-userguide.patch.gz
-rw-r--r-- 1 root root 319 2019-04-17 08:07 ./source/l/netpbm/netpbm-xwdfix.patch.gz
--rwxr-xr-x 1 root root 6424 2020-07-01 18:45 ./source/l/netpbm/netpbm.SlackBuild
+-rwxr-xr-x 1 root root 6356 2020-09-01 01:24 ./source/l/netpbm/netpbm.SlackBuild
-rw-r--r-- 1 root root 725 2018-11-11 19:04 ./source/l/netpbm/slack-desc
-rwxr-xr-x 1 root root 1373 2018-11-11 19:28 ./source/l/netpbm/svn-checkout.sh
drwxr-xr-x 2 root root 4096 2019-12-29 19:15 ./source/l/newt
@@ -11165,14 +11164,14 @@ drwxr-xr-x 2 root root 4096 2020-05-09 20:32 ./source/n/pam-krb5
-rw-r--r-- 1 root root 45 2020-05-09 19:13 ./source/n/pam-krb5/pam-krb5.url
-rw-r--r-- 1 root root 929 2020-05-09 19:19 ./source/n/pam-krb5/slack-desc
-rw-r--r-- 1 root root 379 2020-05-09 19:12 ./source/n/pam-krb5/system-auth.krb5
-drwxr-xr-x 2 root root 4096 2020-08-04 17:35 ./source/n/php
+drwxr-xr-x 2 root root 4096 2020-09-02 17:35 ./source/n/php
-rw-r--r-- 1 root root 425 2017-12-08 01:53 ./source/n/php/doinst.sh.gz
--rwxr-xr-x 1 root root 118 2020-08-04 17:35 ./source/n/php/fetch-php.sh
+-rwxr-xr-x 1 root root 120 2020-09-02 17:34 ./source/n/php/fetch-php.sh
-rw-r--r-- 1 root root 1022 2017-11-28 18:32 ./source/n/php/mod_php.conf.example
--rw-r--r-- 1 root root 10289560 2020-08-04 11:20 ./source/n/php/php-7.4.9.tar.xz
--rw-r--r-- 1 root root 833 2020-08-04 11:20 ./source/n/php/php-7.4.9.tar.xz.asc
+-rw-r--r-- 1 root root 10298480 2020-09-01 14:10 ./source/n/php/php-7.4.10.tar.xz
+-rw-r--r-- 1 root root 833 2020-09-01 14:10 ./source/n/php/php-7.4.10.tar.xz.asc
-rw-r--r-- 1 root root 387 2017-11-28 02:08 ./source/n/php/php-fpm.conf.diff.gz
--rwxr-xr-x 1 root root 10274 2020-08-15 18:26 ./source/n/php/php.SlackBuild
+-rwxr-xr-x 1 root root 10274 2020-09-02 17:35 ./source/n/php/php.SlackBuild
-rw-r--r-- 1 root root 605 2020-03-17 21:22 ./source/n/php/php.imap.api.diff.gz
-rw-r--r-- 1 root root 805 2020-05-12 19:14 ./source/n/php/php.ini-development.diff.gz
-rw-r--r-- 1 root root 825 2018-02-27 06:13 ./source/n/php/slack-desc
@@ -12395,7 +12394,7 @@ drwxr-xr-x 2 root root 12288 2020-05-18 17:50 ./source/x/x11/slack-desc
-rw-r--r-- 1 root root 990 2012-04-08 01:24 ./source/x/x11/slack-desc/font-adobe-utopia-type1
-rw-r--r-- 1 root root 802 2012-04-08 01:25 ./source/x/x11/slack-desc/font-alias
-rw-r--r-- 1 root root 890 2012-04-08 02:11 ./source/x/x11/slack-desc/font-arabic-misc
--rw-r--r-- 1 root root 862 2012-04-08 02:11 ./source/x/x11/slack-desc/font-bh-100dpi
+-rw-r--r-- 1 root root 862 2012-04-08 02:11 ./source/x/x11/slack-desc/font-bh-100dpi
-rw-r--r-- 1 root root 848 2012-04-08 02:11 ./source/x/x11/slack-desc/font-bh-75dpi
-rw-r--r-- 1 root root 1100 2012-04-08 02:11 ./source/x/x11/slack-desc/font-bh-lucidatypewriter-100dpi
-rw-r--r-- 1 root root 1086 2012-04-08 02:11 ./source/x/x11/slack-desc/font-bh-lucidatypewriter-75dpi
@@ -13239,8 +13238,8 @@ drwxr-xr-x 2 root root 4096 2019-09-29 23:48 ./source/xap/x3270
-rw-r--r-- 1 root root 762 2018-02-27 06:13 ./source/xap/x3270/slack-desc
-rw-r--r-- 1 root root 771256 2012-01-12 22:43 ./source/xap/x3270/x3270-3.3.12ga7.tar.xz
-rwxr-xr-x 1 root root 4522 2019-09-29 23:48 ./source/xap/x3270/x3270.SlackBuild
-drwxr-xr-x 2 root root 4096 2020-07-29 04:05 ./source/xap/xaos
--rw-r--r-- 1 root root 960754 2020-07-27 17:48 ./source/xap/xaos/XaoS-release-4.1.tar.lz
+drwxr-xr-x 2 root root 4096 2020-09-02 17:39 ./source/xap/xaos
+-rw-r--r-- 1 root root 967081 2020-09-01 08:47 ./source/xap/xaos/XaoS-release-4.2.tar.lz
-rw-r--r-- 1 root root 878 2020-03-22 00:13 ./source/xap/xaos/slack-desc
-rw-r--r-- 1 root root 2796 2010-10-16 19:47 ./source/xap/xaos/xaos.6.gz
-rwxr-xr-x 1 root root 3318 2020-07-29 04:13 ./source/xap/xaos/xaos.SlackBuild
diff --git a/recompress.sh b/recompress.sh
index aee5439c..b6ca2ca7 100755
--- a/recompress.sh
+++ b/recompress.sh
@@ -885,7 +885,6 @@ gzip ./source/l/netpbm/netpbm-python3.patch
gzip ./source/l/netpbm/netpbm-security-code.patch
gzip ./source/l/netpbm/netpbm-pamtojpeg2k.patch
gzip ./source/l/netpbm/netpbm-ppmfadeusage.patch
-gzip ./source/l/netpbm/netpbm-userguide.patch
gzip ./source/l/netpbm/netpbm-cmuwtopbm.patch
gzip ./source/l/netpbm/netpbm-CVE-2017-2587.patch
gzip ./source/l/netpbm/netpbm-security-scripts.patch
diff --git a/source/l/netpbm/netpbm-manfix.patch b/source/l/netpbm/netpbm-manfix.patch
index 8b8556da..abb376e8 100644
--- a/source/l/netpbm/netpbm-manfix.patch
+++ b/source/l/netpbm/netpbm-manfix.patch
@@ -1,20 +1,18 @@
-diff -u -r --new-file old/userguide/escp2topbm.html new/userguide/escp2topbm.html
---- old/userguide/escp2topbm.html 2020-07-22 13:59:14.000000000 -0500
-+++ new/userguide/escp2topbm.html 2020-07-22 14:13:42.432777285 -0500
-@@ -6,6 +6,7 @@
- <BR>
- <A HREF="#index">Table Of Contents</A>
+--- ./userguide/escp2topbm.html.orig 2020-08-31 20:12:45.000000000 -0500
++++ ./userguide/escp2topbm.html 2020-08-31 20:14:36.329985600 -0500
+@@ -8,6 +8,7 @@
+
+ <h2>NAME</h2>
+<H2>NAME</H2>
escp2topbm - convert an ESC/P2 printer file to a PBM image
- <H2 id="synopsis">SYNOPSIS</H2>
-diff -u -r --new-file old/userguide/faxformat.html new/userguide/faxformat.html
---- old/userguide/faxformat.html 2020-07-22 13:59:14.000000000 -0500
-+++ new/userguide/faxformat.html 2020-07-22 14:14:23.553775010 -0500
+ <h2 id="synopsis">SYNOPSIS</h2>
+--- ./userguide/faxformat.html.orig 2020-08-31 20:12:45.000000000 -0500
++++ ./userguide/faxformat.html 2020-08-31 20:14:36.329985600 -0500
@@ -5,10 +5,11 @@
Updated: 03 December 2008
- <BR>
+ <br>
+<H2>SYNOPSIS</H2>
<p>This page, part of the <a href="index.html">Netpbm user's guide</a>,
@@ -25,69 +23,3 @@ diff -u -r --new-file old/userguide/faxformat.html new/userguide/faxformat.html
<p>The ITU (formerly CCITT) publishes standards for operation of fax machines
(the idea is to provide a way to be sure that a fax machine is able to receive
a fax sent by another). These standards incidentally specify graphics file
-diff -u -r --new-file old/userguide/pamsistoaglyph.html new/userguide/pamsistoaglyph.html
---- old/userguide/pamsistoaglyph.html 2020-07-22 13:59:14.000000000 -0500
-+++ new/userguide/pamsistoaglyph.html 2020-07-22 14:18:54.583760019 -0500
-@@ -1,8 +1,7 @@
- <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 3.2//EN">
--<html xmlns="http://www.w3.org/1999/xhtml">
-+<html>
- <head>
- <title>Pamsistoaglyph User Manual</title>
--<meta http-equiv="content-type" content="text/html; charset=us-ascii" />
- </head>
-
- <body>
-diff -u -r --new-file old/userguide/pamstereogram.html new/userguide/pamstereogram.html
---- old/userguide/pamstereogram.html 2020-07-22 13:59:14.000000000 -0500
-+++ new/userguide/pamstereogram.html 2020-07-22 14:20:05.064756120 -0500
-@@ -1,5 +1,5 @@
--<!DOCTYPE html>
--<html xmlns="http://www.w3.org/1999/xhtml">
-+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 3.2//EN">
-+<html>
- <head>
- <title>Pamstereogram User Manual</title>
- </head>
-@@ -10,7 +10,7 @@
-
- <p>Updated: 10 May 2020</p>
-
--<p><a href="#contents">Table Of Contents</a></p>
-+<p><a href="#index">Table Of Contents</a></p>
-
-
- <h2 id="name">NAME</h2>
-diff -u -r --new-file old/userguide/pnmflip.html new/userguide/pnmflip.html
---- old/userguide/pnmflip.html 2020-07-22 13:59:14.000000000 -0500
-+++ new/userguide/pnmflip.html 2020-07-22 14:20:48.710753706 -0500
-@@ -4,9 +4,11 @@
- <BODY>
- <H1>pnmflip</H1>
- <BR>
-+<H2>NAME</H2>
- <p><b>pnmflip</b> was replaced in Netpbm 10.13 (December 2002) by
- <b><a href="pamflip.html">pamflip</a></b>.
-
-+<H2>DESCRIPTION</H2>
- <P><B>pamflip</b> is mostly backward compatible with <b>pnmflip</b>,
- but works on PAM images too.
-
-diff -u -r --new-file old/userguide/ppmtogif.html new/userguide/ppmtogif.html
---- old/userguide/ppmtogif.html 2020-07-22 13:59:14.000000000 -0500
-+++ new/userguide/ppmtogif.html 2020-07-22 14:22:08.813749275 -0500
-@@ -4,11 +4,14 @@
- <BODY>
- <H1>ppmtogif</H1>
- <BR>
-+<H2>NAME</H2>
- <p><b>ppmtogif</b> was replaced in Netpbm 10.37 (December 2006) by
- <b><a href="pamtogif.html">pamtogif</a></b>.
-
-+<H2>SYNOPSIS</H2>
- <P><B>pamtogif</b> is mostly backward compatible with <b>ppmtogif</b>.
-
-+<H2>DESCRIPTION</H2>
- <P>One way <b>pamtogif</b> is not backward compatible with <b>ppmtogif</b>
- is that to specify a transparency (alpha) mask with <b>ppmtogif</b>, you
- supply the transparency as a separate pseudo-PGM image and use the
diff --git a/source/l/netpbm/netpbm-manual-pages.patch b/source/l/netpbm/netpbm-manual-pages.patch
index 61222c2a..f40b7025 100644
--- a/source/l/netpbm/netpbm-manual-pages.patch
+++ b/source/l/netpbm/netpbm-manual-pages.patch
@@ -34,1293 +34,3 @@ diff -u -r --new-file old/userguide/pbmtog3.html new/userguide/pbmtog3.html
&lt;<a href="mailto:paul@manray.sgi.com">paul@manray.sgi.com</a>&gt; in 1989
and then modified extensively by others.
-diff -u -r --new-file old/userguide/ppmtompeg.html new/userguide/ppmtompeg.html
---- old/userguide/ppmtompeg.html 2020-07-22 13:59:14.000000000 -0500
-+++ new/userguide/ppmtompeg.html 1969-12-31 18:00:00.000000000 -0600
-@@ -1,1286 +0,0 @@
--<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 3.2//EN">
--<HTML>
--<HEAD>
--<TITLE>Ppmtompeg User Manual</TITLE>
--</HEAD>
--<BODY>
--<H1>Ppmtompeg</H1>
--Updated: 23 July 2006
--<BR>
--<A HREF="#index">Table Of Contents</A>
--
--<H2>NAME</H2>
--ppmtompeg - encode an MPEG-1 bitstream
--
--<H2 id="synopsis">SYNOPSIS</H2>
--
--<B>ppmtompeg</B>
--[<I>options</I>]
--<I>parameter-file</I>
--
--<H2 id="description">DESCRIPTION</H2>
--
--<p>This program is part of <a href="index.html">Netpbm</a>.
--
--<P><B>ppmtompeg</B> produces an MPEG-1 video stream. MPEG-1 is the
--first great video compression method, and is what is used in Video CDs
--(VCD). <b>ppmtompeg</b> originated in the year 1995. DVD uses a more
--advanced method, MPEG-2. There is an even newer method called MPEG-4
--which is also called Divx. I don't know where one finds that used.
--
--<p>There's technically a difference between a compression method for
--video and an actual file (stream) format for a movie, and I don't know
--if it can be validly said that the format of the stream
--<b>ppmtompeg</b> produces is MPEG-1.
--
--<p>Mencoder from the <a href="http://www.mplayerhq.hu">Mplayer
--package</a> is probably superior for most video format generation
--needs, if for no other reason than that it is more popular.
--
--<p>The programming library <a href="http://pm2v.free.fr"><b>PM2V</b></a>
--generates MPEG-2 streams.
--
--<p>Use <a href="http://www.mplayerhq.hu">Mplayer</a> (not part of Netpbm)
--to do the reverse conversion: to create a series of PNM files from an MPEG
--stream.
--
--<p><i>param_file</i> is a parameter file which includes a list of
--input files and other parameters. The file is described in detail
--below.
--
--<P>To understand this program, you need to understand something about
--the complex MPEG-1 format. One source of information about this
--standard format is the section Introduction to MPEG in the <a
--href="http://www.faqs.org/faqs/compression-faq">Compression FAQ</a>.
--
--<H2 id="options">OPTIONS</H2>
--
--<p>The <b>-gop</b>, <b>-combine_gops</b>, <b>-frames</b>, and
--<b>-combine_frames</b> options are all mutually exclusive.
--
--<DL COMPACT>
--<DT><B>-stat stat_file</B>
--
--<DD>This option causes <b>ppmtompeg</b> to append the statistics that
--it write to Standard Output to the file <I>stat_file</I> as well. The
--statistics use the following abbreviations: bits per block (bpb), bits
--per frame (bpf), seconds per frame (spf), and bits per second (bps).
--
--<p>These statistics include how many I, P, and B frames there were,
--and information about compression and quality.
--
--
--<DT><B>-quiet</b> <i>num_seconds</i>
--
--<DD> causes <b>ppmtompeg</b> not to report remaining time more often
--than every <i>num_seconds</i> seconds (unless the time estimate rises,
--which will happen near the beginning of the run). A negative value
--tells <b>ppmtompeg</b> not to report at all. 0 is the default
--(reports once after each frame). Note that the time remaining is an
--estimate and does not take into account time to read in frames.
--
--<DT><B>-realquiet</B> <DD> causes <b>ppmtompeg</b> to run silently,
--with the only screen output being errors. Particularly useful when
--reading input from stdin.
--
--<DT>
--<B>-no_frame_summary</B>
--
--<DD> This option prevents <b>ppmtompeg</b> from printing a summary
--line for each frame
--
--<DT><B>-float_dct</B>
--
--<DD> forces <b>ppmtompeg</b> to use a more accurate, yet more
--computationally expensive version of the DCT.
--
--<DT><B>-gop</b> <i>gop_num</i>
--<DD>
--causes <b>ppmtompeg</b> to encode only the numbered GOP (first GOP is 0). The
--parameter file is the same as for normal usage. The output file will be
--the normal output file with the suffix <b>.gop.</b><i>gop_num</i>.
--<b>ppmtompeg</b> does not output any sequence information.
--
--<DT><B>-combine_gops</B>
--
--<DD> causes <b>ppmtompeg</b> simply to combine some GOP files into a
--single MPEG output stream. <b>ppmtompeg</b> inserts a sequence header
--and trailer. In this case, the parameter file needs only to contain
--the SIZE value, an output file, and perhaps a list of input GOP
--files (see below).
--
--If you don't supply a list of input GOP files is used, then
--<b>ppmtompeg</b> assumes you're using the same parameter file you used
--when you created the input (with the <b>-gop</b> option) and
--calculates the corresponding gop filenames itself. If this is not the
--case, you can specify input GOP files in the same manner as normal
--input files -- except instead of using INPUT_DIR, INPUT, and
--END_INPUT, use GOP_INPUT_DIR, GOP_INPUT, and GOP_END_INPUT. If no
--input GOP files are specified, then the default is to use the output
--file name with suffix <b>.gop.</b><i>gop_num</i>, with <i>gop_num</i>
--starting from 0, as the input files.
--
--<p>Thus, unless you're mixing and matching GOP files from different
--sources, you can simply use the same parameter file for creating the
--GOP files (<b>-gop</b>) and for later turning them into an MPEG stream
--(<b>-combine_gops</b>).
--
--
--<DT><B>-frames <i>first_frame</i> <i>last_frame</i></B>
--
--<DD>This option causes <b>ppmtompeg</b> to encode only the frames numbered
--<i>first_frame</i> to <i>last_frame</i>, inclusive. The parameter
--file is the same as for normal usage. The output will be placed in
--separate files, one per frame, with the file names being the normal
--output file name with the suffix <b>.frame.</b><i>frame_num</i>. No
--GOP header information is output. (Thus, the parameter file need not
--include the GOP_SIZE value)
--
--<p>Use <b>ppmtompeg -combine_frames</b> to combine these frames later into
--an MPEG stream.
--
--
--<DT><B>-combine_frames</B>
--
--<DD> This option causes <b>ppmtompeg</b> simply to combine some
--individual MPEG frames (such as you might have created with an earlier
--run of <b>ppmtompeg -frames</b>) into a single MPEG stream. Sequence
--and GOP headers are inserted appropriately. In this case, the
--parameter file needs to contain only the SIZE value, the GOP_SIZE
--value, an output file, and perhaps a list of frame files (see below).
--
--<p>The parameter file may specify input frame files in the same manner
--as normal input files -- except instead of using INPUT_DIR, INPUT, and
--END_INPUT, use FRAME_INPUT_DIR, FRAME_INPUT, and FRAME_END_INPUT. If
--no input frame files are specified, then the default is to use the
--output file name with suffix <b>.frame.</b><i>frame_num</i>, with
--<i>frame_num</i> starting from 0, as the input files.
--
--
--
--<DT><B>-nice</B>
--
--<DD>This option causes <b>ppmtompeg</b> to run any remote processes
--"nicely," i.e. at low priority. (This is relevant only if you are
--running <b>ppmtompeg</b> in parallel mode. Otherwise, there are no
--remote processes). See 'man nice.'
--
--<DT><B>-max_machines <i>num_machines</i></B>
--
--<DD>This option causes <b>ppmtompeg</b> to use no more than
--<i>num_machines</i> machines as slaves for use in parallel encoding.
--
--<DT><B>-snr</B>
--
--<DD>This option causes <b>ppmtompeg</b> to include the signal-to-noise
--ratio in the reported statistics. Prints SNR (Y U V) and peak SNR (Y
--U V) for each frame. In summary, prints averages of luminance only
--(Y). SNR is defined as 10*log(variance of original/variance of
--error). Peak SNR is defined as 20*log(255/RMSE). Note that
--<b>ppmtompeg</b> runs a little slower when you use this option.
--
--<DT><B>-mse</B>
--
--<DD>This option causes <b>ppmtompeg</b> to report the mean squared
--error per block. It also automatically reports the quality of the
--images, so there is no need to specify <b>-snr</b> then.
--
--<DT><B>-bit_rate_info</b> <i>rate_file</i>
--
--<DD> This option makes <b>ppmtompeg</b> write bit rate information
--into the file <i>rate_file</i>. Bit rate information is bits per frame, and
--also bits per I-frame-to-I-frame.
--
--<DT><B>-mv_histogram</B>
--
--<DD> This option causes <b>ppmtompeg</b> to print a histogram of the
--motion vectors as part of statistics. There are three histograms --
--one for P frame, one for forward B frame, and one for backward B frame
--motion vectors.
--
--<p>The output is in the form of a matrix, each entry corresponding to one
--motion vector in the search window. The center of the matrix
--represents (0,0) motion vectors.
--
--<dt><b>-debug_sockets</b>
--
--<dd>This option causes <b>ppmtompeg</b> to print to Standard Output
--messages that narrate the communication between the machines when you run
--<b>ppmtompeg</b> in <a href="#parallel">parallel mode</a>.
--
--<dt><b>-debug_machines</b>
--
--<dd>This option causes <b>ppmtompeg</b> to print to Standard Output
--messages that narrate the progress of the conversion on the various
--machines when you run <b>ppmtompeg</b> in <a href="#parallel">parallel
--mode</a>.
--
--</DL>
--
--<H2 id="parmfile">PARAMETER FILE</H2>
--
--<P>The parameter file <strong>must</strong> contain the following
--lines (except when using the <b>-combine_gops</b> or <b>-combine_frames</b>
--options):
--
--<DL COMPACT>
--
--<DT><B>PATTERN</b> <i>pattern</i>
--
--<DD>This statement specifies the pattern (sequence) of I frames, P frames,
--and B frames. <i>pattern</i> is just a sequence of the letters I, P, and
--B with nothing between. Example:
--
--<pre>
-- PATTERN IBBPBBPBBPBBPBB
--</pre>
--
--<p>See <a href="#ipb">I Frames, P Frames, B Frames</a>.
--
--<DT><B>OUTPUT</b> <i>output file</i>
--<DD>This names the file where the output MPEG stream goes.
--
--<DT><B>INPUT_DIR</b> <i>directory</i>
--
--<DD>This statement tells where the input images (frames) come from.
--If each frame is in a separate file, <i>directory</i> is the directory
--where they all are. You may use <b>.</b> to refer to the current
--directory. A null <i>directory</i> refers to the root directory of the
--system file tree.
--
--<p>To have <b>ppmtompeg</b> read all the frames serially from Standard
--Input, specify
--<pre>
-- INPUT_DIR stdin
--</pre>
--
--<DT><B>INPUT</b>
--<DD>
--This line must be followed by a list of the input files (in display order)
--and then the line <B>END_INPUT</B>.
--
--<p>There are three types of lines between INPUT and END_INPUT. First,
--a line may simply be the name of an input file. Second, the line
--may be of the form <i>single_star_expr</i>
--<b>[</b><i>x</i><b>-</b><i>y</i><b>]</b>.
--<i>single_star_expr</i> can have a single <b>*</b> in it. It is
--replaced by all the numbers between x and y inclusive. So, for
--example, the line <b>tennis*.ppm [12-15]</b> refers to the files
--tennis12.ppm, tennis13.ppm, tennis14.ppm, tennis15.ppm.
--
--<p>Uniform zero-padding occurs, as well. For example, the line
--<b>football.*.ppm [001-130]</b> refers to the files football.001.ppm,
--football.002.ppm, ..., football.009.ppm, football.010.ppm, ...,
--football.130.ppm.
--
--<p>The third type of line is: <i>single_star_expr</i>
--<b>[</b><i>x</i><b>-</b><i>y</i><b>+</b><i>s</i><b>]</b>, where the
--line is treated exactly as above, except that we skip by <i>s</i>. Thus, the
--line <b>football.*.ppm [001-130+4]</b> refers to the files
--football.001.ppm, football.005.ppm, football.009.ppm,
--football.013.ppm, etc.
--
--<p>Furthermore, a line may specify a shell command to execute to
--generate lines to be interpreted as described above, as if those lines
--were in the parameter file instead. Use back ticks, like in the
--Bourne Shell, like this:
--
--<pre>
-- `cat myfilelist`
--</pre>
--
--<p>
--If input is from Standard Input (per the <b>INPUT_DIR</b> statement),
--<b>ppmtompeg</b> ignores the <B>INPUT</b>/<b>END_INPUT</b> block, but
--it still must be present.
--
--<DT><b>BASE_FILE_FORMAT</b> {<b>PPM</b> | <b>PNM</b> | <b>YUV</b> |
-- <b>JPEG</b> | <b>JMOVIE</b>}
--
--<DD><B>ppmtompeg</b> must convert all input files to one of the
--following formats as a first step of processing: PNM, YUV, JPEG(v4),
--or JMOVIE. (The conversion may be trivial if your input files are
--already in one of these formats). This line specifies which of the
--four formats. PPM is actually a subset of PNM. The separate
--specification is allowed for backward compatibility. Use PNM instead
--of PPM in new applications.
--
--<DT><b>INPUT_CONVERT</b> <i>conversion_command</i>
--
--<DD>You must specify how to convert a file to the base file format.
--If no conversion is necessary, then you would just say:
--
-- <pre>
-- INPUT_CONVERT *
-- </pre>
--
--<p>Otherwise, <i>conversion_command</i> is a shell command that causes
--an image in the format your specified with <B>BASE_FILE_FORMAT</b> to
--be written to Standard Output. <b>ppmtompeg</b> executes the command
--once for each line between <b>INPUT</b> and <b>END_INPUT</b> (which is
--normally, but not necessarily, a file name). In the conversion
--command, <b>ppmtompeg</b> replaces each '*' with the contents of that
--line.
--
-- If you had a bunch of gif files, you might say:
-- <pre>
-- INPUT_CONVERT giftopnm *
-- </pre>
--
-- If you have a bunch of separate a.Y, a.U, and a.V files (where
-- the U and V have already been subsampled), then you might say:
--
-- <pre>
-- INPUT_CONVERT cat *.Y *.U *.V
-- </pre>
--
--<p>Input conversion is not allowed with input from stdin, so use
--
-- <pre>
-- INPUT_CONVERT *
-- </pre>
--
--as described above.
--
--<DT><b>SIZE</b> <i>width</i><b>x</b><i>height</i>
--
--<dd>
--
--<p><i>width</i> and <i>height</i> are the width and height of each
--frame in pixels.
--
--<p>When <b>ppmtompeg</b> can get this information from the input image
--files, it ignores the <b>SIZE</b> parameter and you may omit it.
--
--<p>When the image files are in YUV format, the files don't contain
--dimension information, so <b>SIZE</b> is required.
--
--<p>When <b>ppmtompeg</b> is running in parallel mode, not all of the
--processes in the network have access to the image files, so
--<b>SIZE</b> is required and must give the same dimensions as the
--input image files.
--
--<DT><b>YUV_SIZE</b> <i>width</i><b>x</b><i>height</i>
--
--<dd>This is an obsolete synonym of <b>SIZE</b>.
--
--<DT><b>YUV_FORMAT</B> {<b>ABEKAS</b> | <b>PHILLIPS</b> | <b>UCB</B> |
-- <b>EYUV</b> | <i>pattern</i>}
--
--<DD>This is meaningful only when <b>BASE_FILE_FORMAT</b> specifies
--YUV format, and then it is required. It specifies the sub-format of
--the YUV class.
--
--
--<DT><b>GOP_SIZE</b> <i>n</i>
--
--<DD><i>n</i> is the number of frames in a Group of Pictures. Except that
--because a GOP must start with an I frame, <b>ppmtompeg</b> makes a GOP as
--much longer than <i>n</i> as it has to to make the next GOP start with an
--I frame.
--
--<p>Normally, it makes sense to make your GOP size a multiple of your
--pattern length (the latter is determined by the PATTERN parameter file
--statement).
--
--<p>See <a href="#gop">Group Of Pictures</a>.
--
--<DT><b>SLICES_PER_FRAME</b> <i>n</i>
--<dd><i>n</i> is roughly the number of slices per frame. Note, at
--least one MPEG player may complain if slices do not start at the left
--side of an image. To ensure this does not happen, make sure the
--number of rows is divisible by SLICES_PER_FRAME.
--
--<DT><b>PIXEL</b> {<b>FULL</b> | <b>HALF</b>}
--
--<dd>use half-pixel motion vectors, or just full-pixel ones It is
--usually important that you use half-pixel motion vectors, because it
--results in both better quality and better compression.
--
--
--<DT><b>RANGE</b> <i>n</i>
--<dd>Use a search range of <i>n</i> pixels in each of the four directions
--from a subject pixel. (So the search window is a square <i>n</i>*2 pixels
--on a side).
--
--<DT><b>PSEARCH_ALG</b> {<b>EXHAUSTIVE</B> | <b>TWOLEVEL</b> |
-- <b>SUBSAMPLE</b> | <b>LOGARITHMIC</b>}
--
--<dd>This statement tells <b>ppmtompeg</b> what kind of search
-- technique (algorithm) to use for P frames. You select the desired
-- combination of speed and compression. <b>EXHAUSTIVE</b> gives the
-- best compression, but <b>LOGARITHMIC</B> is the fastest.
-- <B>TWOLEVEL</B> is an exhaustive full-pixel search, followed by a
-- local half- pixel search around the best full-pixel vector (the
-- PIXEL option is ignored for this search technique).
--
--<DT><b>BSEARCH_ALG</b> {<b>SIMPLE</B> | <B>CROSS2</B> | <B>EXHAUSTIVE</B>}
--
--<dd>This statement tells <b>ppmtompeg</b> what kind of search
-- technique (algorithm) to use for B frames. <b>SIMPLE</B> means
-- find best forward and backward vectors, then interpolate.
-- <B>CROSS2</B> means find those two vectors, then see what backward
-- vector best matches the best forward vector, and vice versa.
-- <b>EXHAUSTIVE</b> does an n-squared search and is
-- <em>extremely</em> slow in relation to the others (<b>CROSS2</b>
-- is about half as fast as <b>SIMPLE</B>).
--
--<DT><b>IQSCALE</b> <i>n</i>
--<dd>Use <i>n</i> as the qscale for I frames.
-- See <a href="#qscale">Qscale</a>.
--
--<DT><b>PQSCALE</b> <i>n</i>
--<dd>Use <i>n</i> as the qscale for P frames.
-- See <a href="#qscale">Qscale</a>.
--
--<DT><b>BQSCALE</b> <i>n</i>
--<dd>Use <i>n</i> as the qscale for B frames.
-- See <a href="#qscale">Qscale</a>.
--
--<DT><b>REFERENCE_FRAME</b> {<B>ORIGINAL</B> | <b>DECODED</b>} <dd>This
--statement determines whether <b>ppmtompeg</b> uses the original images
--or the decoded images when computing motion vectors. Using decoded
--images is more accurate and should increase the playback quality of
--the output, but it makes the encoding take longer and seems to give
--worse compression. It also causes some complications with parallel
--encoding. (see the section on parallel encoding). One thing you can
--do as a trade-off is select <b>ORIGINAL</b> here, and lower the
--qscale (see <b>QSCALE</b> if the quality is not good enough.
--
--<table border="1" cellpadding="5" cellspacing="0" >
-- <caption>Original or Decoded? (Normalized)</caption>
--<?makeman r c c c c c. ?>
--<?makeman _ ?>
-- <tr align="center" bgcolor="#CCCCCC">
-- <th>Reference</th>
-- <th>Compression</th>
-- <th>Speed</th>
-- <th>Quality I</th>
-- <th>Quality P</th>
-- <th>Quality B</th>
-- </tr>
-- <tr>
-- <td align="right">Decoded</td>
-- <td align="center">1000</td>
-- <td align="center">1000</td>
-- <td align="center">1000</td>
-- <td align="center">969</td>
-- <td align="center">919</td>
-- </tr>
-- <tr>
-- <td align="right">Original</td>
-- <td align="center">885</td>
-- <td align="center">1373</td>
-- <td align="center">1000</td>
-- <td align="center">912</td>
-- <td align="center">884</td>
-- </tr>
-- </table>
--
--
--
--</dl>
--
--<p>The following lines are optional:
--
--<DL>
--
--<DT><B>FORCE_ENCODE_LAST_FRAME</B>
--
--<dd>This statement is obsolete. It does nothing.
--
--<p>Before Netpbm 10.26 (January 2005), <b>ppmtompeg</b> would drop
--trailing B frames from your movie, since a movie can't end with a B
--frame. (See <a href="#ipb">I Frames, P Frames, B Frames</a>.
--You would have to specify <b>FORCE_ENCODE_LAST_FRAME</b> to stop
--that from happening and get the same function that <b>ppmtompeg</b>
--has today.
--
--
--<DT><b>NIQTABLE</b>
--
--<dd>This statement specifies a custom non-intra quantization table.
--If you don't specify this statement, <b>ppmtompeg</b> uses a default
--non-intra quantization table.
--
--<p>
--The 8 lines immediately following <b>NIQTABLE</b> specify the quantization
--table. Each line defines a table row and consists of 8 integers,
--whitespace-delimited, which define the table columns.
--
--<DT><B>IQTABLE</b>
--
--<dd>This is analogous to NIQTABLE, but for the intra quantization table.
--
--<DT><b>ASPECT_RATIO</b> <i>ratio</i>
--
--<dd>This statement specifies the aspect ratio for <b>ppmtompeg</b> to
--specify in the MPEG output. I'm not sure what this is used for.
--
--<p><i>ratio</i> must be 1.0, 0.6735, 0.7031, 0.7615, 0.8055, 0.8437,
--0.8935, 0.9157, 0.9815, 1.0255, 1.0695, 1.0950, 1.1575, or 1.2015.
--
--<DT><b>FRAME_RATE</b> <i>rate</i>
--<dd>This specifies the frame rate for <b>ppmtompeg</b> to specify in the
--MPEG output. Some players use this value to determine the playback rate.
--
--<p><i>rate</i> must be 23.976, 24, 25, 29.97, 30, 50, 59.94, or 60.
--
--<DT><b>BIT_RATE</b> <i>rate</i>
--<DD>This specifies the bit rate for Constant Bit Rate (CBR) encoding.
--
--<p><i>rate</i> must be an integer.
--
--<DT><b>BUFFER_SIZE</b> <i>size</i>
--
--<dd>This specifies the value
--<b>ppmtompeg</b> is to specify in the MPEG output for the Video
--Buffering Verifier (VBV) buffer size needed to decode the sequence.
--
--<p>A Video Verifying Buffer is a buffer in which a decoder keeps the
--decoded bits in order to match the uneven speed of the decoding with
--the required constant playback speed.
--
--<p>As <b>ppmtompeg</b> encodes the image, it simulates the decoding
--process in terms of how many bits would be in the VBV as each frame gets
--decoded, assuming a VBV of the size you indicate.
--
--<P>If you specify the <b>WARN_VBV_UNDERFLOW</b> statement,
--<b>ppmtompeg</b> issues a warning each time the simulation underflows
--the buffer, which suggests that an underflow would occur on playback,
--which suggests the buffer is too small.
--
--<P>If you specify the <b>WARN_VBV_OVERFLOW</b> statement,
--<b>ppmtompeg</b> issues a warning each time the simulation overflows
--the buffer, which suggests that an overflow would occur on playback,
--which suggests the buffer is too small.
--
--<DT><B>WARN_VBV_UNDERFLOW</B>
--<DT><B>WARN_VBV_OVERFLOW</B>
--
--<dd>See <b>BUFFER_SIZE</b>.
--
--<p>These options were new in Netpbm 10.26 (January 2005). Before that,
--<b>ppmtompeg</b> issued the warnings always.
--
--</DL>
--
--
--The following statements apply only to parallel operation:
--
--<DL>
--
--<DT><b>PARALLEL</b>
--
--<dd>This statement, paired with <b>END PARALLEL</B>, is what causes
--<b>ppmtompeg</b> to operate in parallel mode. See <a
--href="#parallel">Parallel Operation</a>.
--
--<dt><b>END PARALLEL</b>
--
--<DD>This goes with <b>PARALLEL</b>.
--
--<DT><b>PARALLEL_TEST_FRAMES</b> <i>n</i>
--
--<dd>The master starts off by measuring each slave's speed. It does
--this by giving each slave <i>n</i> frames to encode and noting how
--long the slave takes to finish. These are not just test frames,
--though -- they're real frames and the results become part of the
--output.
--<b>ppmtompeg</b> is old and measures time in undivided seconds, so
--to get useful timings, specify enough frames that it will take at
--least 5 seconds to process them. The default is 10.
--
--<p>If you specify <b>FORCE_I_ALIGN</b>, <b>ppmtompeg</b> will increase
--the test frames value enough to maintain the alignment.
--
--<p>If there aren't enough frames for every slave to have the indicated
--number of test frames, <b>ppmtompeg</b> will give some slaves fewer.
--
--
--<DT><b>PARALLEL_TIME_CHUNKS</b> <i>t</i>
--
--<dd>When you specify this statement, the master attempts to feed work
--to the slaves in chunks that take <i>t</i> seconds to process. It uses
--the speed measurement it made when it started up (see PARALLEL_TEST_FRAMES)
--to decide how many frames to put in the chunk. This statement obviously
--doesn't affect the first batch of work sent to each slave, which is the
--one used to measure the slave's speed.
--
--<p>Smaller values of <i>t</i> increase communication, but improve load
--balancing. The default is 30 seconds.
--
--<p>You may specify only one of PARALLEL_TIME_CHUNKS, PARALLEL_CHUNK_TAPER,
--and PARALLEL_PERFECT. PARALLEL_CHUNK_TAPER is usually best.
--
--<DT><b>PARALLEL_CHUNK_TAPER</b>
--
--<DD>When you specify this statement, the master distributes work like
--with PARALLEL_TIME_CHUNKS, except that the master chooses the number
--of seconds for the chunks. It starts with a large number and, as it
--gets closer to finishing the job, reduces it. That way, it reduces
--scheduling overhead when precise scheduling isn't helpful, but still
--prevents a slave from finishing early after all the work has already
--been handed out to the other slaves, and then sitting idle while
--there's still work to do.
--
--<p>You may specify only one of PARALLEL_TIME_CHUNKS, PARALLEL_CHUNK_TAPER,
--and PARALLEL_PERFECT. PARALLEL_CHUNK_TAPER is usually best.
--
--
--<DT><b>PARALLEL_PERFECT</b>
--
--<dd>If this statement is present, <b>ppmtompeg</b> schedules on the
--assumption that each machine is about the same speed. The master will
--simply divide up the frames evenly between the slaves -- each
--slave gets the same number of frames. If some slaves are faster than
--others, they will finish first and remain idle while the slower slaves
--continue.
--
--<p>This has the advantage of minimal scheduling overhead. Where slaves
--have different speeds, though, it makes inefficient use of the fast
--ones. Where slaves are the same speed, it also has the disadvantage
--that they all finish at the same time and feed their output to the
--single Combine Server in a burst, which makes less efficient use of
--the Combine Server and thus can increase the total elapsed time.
--
--<p>You may specify only one of PARALLEL_TIME_CHUNKS, PARALLEL_CHUNK_TAPER,
--and PARALLEL_PERFECT. PARALLEL_CHUNK_TAPER is usually best.
--
--<DT><b>RSH</b> <i>remote_shell_command</i>
--
--<DD><b>ppmtompeg</b> executes the shell command
--<i>remote_shell_command</i> to start a process on another machine.
--The default command is <b>rsh</b>, and whatever command you specify
--must have compatible semantics. <b>ssh</b> is usually compatible.
--The command <b>ppmtompeg</b> uses is one like this:
--<b>ssh remote.host.com -l username shellcommand</b>.
--
--<p>Be sure to set up <b>.rhosts</b> files or SSH key authorizations
--where needed. Otherwise, you'll have to type in passwords.
--
--<p>On some HP machines, <b>rsh</b> is the restricted shell, and you want
--to specify <b>remsh</b>.
--
--<DT><b>FORCE_I_ALIGN</b>
--
--<dd>This statement forces each slave to encode a chunk of frames which
--is a multiple of the pattern length (see <b>PATTERN</b>). Since the
--first frame in any pattern is an I frame, this forces each chunk
--encoded by a slave to begin with an I frame.
--
--<p>This document used to say there was an argument to
--<b>FORCE_I_ALIGN</b> which was the number of frames <b>ppmtompeg</b>
--would use (and was required to be a multiple of the pattern length).
--But <b>ppmtompeg</b> has apparently always ignored that argument, and
--it does now.
--
--<DT><B>KEEP_TEMP_FILES</B>
--
--<dd>This statement causes <b>ppmtompeg</b> not to delete the temporary
--files it uses to transmit encoded frames to the combine server. This
--means you will be left with a file for each frame, the same as you
--would get with the <b>-frames</b> option.
--
--<p>This is mostly useful for debugging.
--
--<p>This works only if you're using a shared filesystem to communicate
--between the servers.
--
--<p>This option was new in Netpbm 10.26 (January 2005).
--
--</DL>
--
--
--<H3>Parameter File Notes</h3>
--
--<P> If you use the <b>-combine_gops</b> option, then you need to specify
--only the SIZE and OUTPUT values in the parameter file. In
--addition, the parameter file may specify input GOP files in the same
--manner as normal input files -- except instead of using INPUT_DIR,
--INPUT, and END_INPUT, use GOP_INPUT_DIR, GOP_INPUT, and GOP_END_INPUT.
--If you specify no input GOP files, then <b>ppmtompeg</b> uses by default the
--output file name with suffix <b>.gop.</b><i>gop_num</i>, with <i>gop_num</i>
--starting from 0, as the input files.
--
--<p>If you use the <b>-combine_frames</b> option, then you need to
--specify only the SIZE, GOP_SIZE, and OUTPUT values in the
--parameter file. In addition, the parameter file may specify input
--frame files in the same manner as normal input files -- except instead
--of using INPUT_DIR, INPUT, and END_INPUT, use FRAME_INPUT_DIR,
--FRAME_INPUT, and FRAME_END_INPUT. If no input frame files are
--specified, then the default is to use the output file name with suffix
--<b>.frame.</b><i>frame_num</i>, with <i>frame_num</i> starting from 0,
--as the input files.
--
--<p>Any number of spaces and tabs may come between each option and value. Lines
--beginning with <b>#</b> are ignored. Any other lines are ignored except for
--those between INPUT and END_INPUT. This allows you to use the same
--parameter file for normal usage and for <b>-combine_gops</b> and
--<b>-combine_frames</b>.
--
--<P>The file format is case-sensitive so all keywords should be in
--upper case.
--
--<P>The statements may appear in any order, except that the order within
--a block statement (such as INPUT ... END INPUT) is significant.
--
--<P><b>ppmtompeg</b> is prepared to handle up to 16 B frames between
--reference frames when encoding with input from stdin. (To build a
--modified <b>ppmtompeg</b> with a higher limit, change the constant
--B_FRAME_RUN in frame.c and recompile).
--
--<H2 id="general">GENERAL USAGE INFORMATION</H2>
--
--<H3 id="qscale">Qscale</h3>
--
--<p>The quantization scale values (qscale) give a trade-off between
--quality and compression. Using different Qscale values has very little
--effect on speed. The qscale values can be set separately for I, P, and
--B frames.
--
--<p>You select the qscale values with the <B>IQSCALE</b>,
--<b>PQSCALE</b>, and <b>BSCALE</b> parameter file statements.
--
--<p>A qscale value is an integer from 1 to 31. Larger numbers give
--better compression, but worse quality. In the following, the quality
--numbers are peak signal-to-noise ratio, defined as:
--<img src="ppmtompeg-snr.gif" alt="signal-to-noise formula" height="52" width="302">
--where MSE is the mean squared error.
--
--
--<p>Flower garden tests:
--
--<table border="1" cellpadding="5" cellspacing="0">
-- <caption>Qscale vs Quality</caption>
--<?makeman r r r r. ?>
--<?makeman _ ?>
-- <tr align="center">
-- <th>Qscale</th>
-- <th>I Frames</th>
-- <th>P Frames</th>
-- <th>B Frames</th>
-- </tr>
-- <tr>
-- <td align="right">1</td>
-- <td align="right">43.2</td>
-- <td align="right">46.3</td>
-- <td align="right">46.5</td>
-- </tr>
-- <tr>
-- <td align="right">6</td>
-- <td align="right">32.6</td>
-- <td align="right">34.6</td>
-- <td align="right">34.3</td>
-- </tr>
-- <tr>
-- <td align="right">11</td>
-- <td align="right">28.6</td>
-- <td align="right">29.5</td>
-- <td align="right">30.0</td>
-- </tr>
-- <tr>
-- <td align="right">16</td>
-- <td align="right">26.3</td>
-- <td align="right">26.8</td>
-- <td align="right">28.6</td>
-- </tr>
-- <tr>
-- <td align="right">21</td>
-- <td align="right">24.7</td>
-- <td align="right">25.0</td>
-- <td align="right">27.9</td>
-- </tr>
-- <tr>
-- <td align="right">26</td>
-- <td align="right">23.5</td>
-- <td align="right">23.9</td>
-- <td align="right">27.5</td>
-- </tr>
-- <tr>
-- <td align="right">31</td>
-- <td align="right">22.6</td>
-- <td align="right">23.0</td>
-- <td align="right">27.3</td>
-- </tr>
--</table>
--
--<table border="1" cellpadding="5" cellspacing="0">
-- <caption>Qscale vs Compression</caption>
--<?makeman r r r r. ?>
--<?makeman _ ?>
-- <tr align="center">
-- <th>Qscale</th>
-- <th>I Frames</th>
-- <th>P Frames</th>
-- <th>B Frames</th>
-- </tr>
-- <tr>
-- <td align="right">1</td>
-- <td align="right">2</td>
-- <td align="right">2</td>
-- <td align="right">2</td>
-- </tr>
-- <tr>
-- <td align="right">6</td>
-- <td align="right">7</td>
-- <td align="right">10</td>
-- <td align="right">15</td>
-- </tr>
-- <tr>
-- <td align="right">11</td>
-- <td align="right">11</td>
-- <td align="right">18</td>
-- <td align="right">43</td>
-- </tr>
-- <tr>
-- <td align="right">16</td>
-- <td align="right">15</td>
-- <td align="right">29</td>
-- <td align="right">97</td>
-- </tr>
-- <tr>
-- <td align="right">21</td>
-- <td align="right">19</td>
-- <td align="right">41</td>
-- <td align="right">173</td>
-- </tr>
-- <tr>
-- <td align="right">26</td>
-- <td align="right">24</td>
-- <td align="right">56</td>
-- <td align="right">256</td>
-- </tr>
-- <tr>
-- <td align="right">31</td>
-- <td align="right">28</td>
-- <td align="right">73</td>
-- <td align="right">330</td>
-- </tr>
--</table>
--
--
--<h3>Search Techniques</h3>
--
--<p>There are several different motion vector search techniques
--available. There are different techniques available for P frame
--search and B frame search. Using different search techniques present
--little difference in quality, but a large difference in compression
--and speed.
--
--<p>There are 4 types of P frame search: Exhaustive, TwoLevel,
--SubSample, and Logarithmic.
--
--<p>There are 3 types of B frame search: Exhaustive, Cross2, and
--Simple.
--
--The recommended search techniques are TwoLevel and Logarithmic for
--P frame search, and Cross2 and Simple for B frame search. Here are
--some numbers comparing the different search methods:
--
--<table border="1" cellpadding="5" cellspacing="0">
-- <caption>P frame Motion Vector Search (Normalized)</caption>
--<?makeman r c c c. ?>
--<?makeman _ ?>
-- <tr align="center">
-- <th>Technique</th>
-- <th>Compression<a href="#smallbetter"><sup>1</sup></a></th>
-- <th>Speed <a href="#largefaster"><sup>2</sup></a></th>
-- <th>Quality <a href="#largebetter"><sup>3</sup></a></th>
-- </tr>
-- <tr>
-- <td align="right">Exhaustive</td>
-- <td align="center">1000</td>
-- <td align="center">1000</td>
-- <td align="center">1000</td>
-- </tr>
-- <tr>
-- <td align="right">SubSample</td>
-- <td align="center">1008</td>
-- <td align="center">2456</td>
-- <td align="center">1000</td>
-- </tr>
-- <tr>
-- <td align="right">TwoLevel</td>
-- <td align="center">1009</td>
-- <td align="center">3237</td>
-- <td align="center">1000</td>
-- </tr>
-- <tr>
-- <td align="right">Logarithmic</td>
-- <td align="center">1085</td>
-- <td align="center">8229</td>
-- <td align="center">998</td>
-- </tr>
--</table>
--
--<table border="1" cellpadding="5" cellspacing="0">
-- <caption>B frame Motion Vector Search (Normalized)</caption>
--<?makeman r c c c. ?>
--<?makeman _ ?>
-- <tr align="center">
-- <th>Technique</th>
-- <th>Compression<a href="#smallbetter"><sup>1</sup></a></th>
-- <th>Speed<a href="#largefaster"><sup>2</sup></a></th>
-- <th>Quality<a href="#largebetter"><sup>3</sup></a></th>
-- </tr>
-- <tr>
-- <td align="right">Exhaustive</td>
-- <td align="center">1000</td>
-- <td align="center">1000</td>
-- <td align="center">1000</td>
-- </tr>
-- <tr>
-- <td align="right">Cross2</td>
-- <td align="center">975</td>
-- <td align="center">1000</td>
-- <td align="center">996</td>
-- </tr>
-- <tr>
-- <td align="right">Simple</td>
-- <td align="center">938</td>
-- <td align="center">1765</td>
-- <td align="center">991</td>
-- </tr>
--</table>
--
--<a name="smallbetter">&nbsp;</a><sup>1</sup>Smaller numbers are better
--compression.
--
--<a name="largefaster">&nbsp;</a><sup>2</sup>Larger numbers mean faster
--execution.
--
--<a name="largebetter">&nbsp;</a><sup>3</sup>Larger numbers mean better quality.
--
--<p>For some reason, Simple seems to give better compression, but it
--depends on the image sequence.
--
--<p>Select the search techniques with the <B>PSEARCH_ALG</B> and
--<B>BSEARCH_ALG</b> parameter file statements.
--
--
--<a name="gop"></a>
--<h3>Group Of Pictures (GOP)</h3>
--
--<p>A Group of Pictures (GOP) is a roughly independently decodable
--sequence of frames. An MPEG video stream is made of one or more
--GOP's. You may specify how many frames should be in each GOP with the
--<b>GOP_SIZE</b> parameter file statement. A GOP always starts with an
--I frame.
--
--<p>Instead of encoding an entire sequence, you can encode a single
--GOP. To do this, use the <b>-gop</b> command option. You can later
--join the resulting GOP files at any time by running <b>ppmtompeg</b>
--with the <b>-combine_gops</b> command option.
--
--
--<h3>Slices</h3>
--
--<p>A slice is an independently decodable unit in a frame. It can be
--as small as one macroblock, or it can be as big as the entire frame.
--Barring transmission error, adding slices does not change quality or
--speed; the only effect is slightly worse compression. More slices are
--used for noisy transmission so that errors are more recoverable. Since
--usually errors are not such a problem, we usually just use one slice
--per frame.
--
--<p>Control the slice size with the <B>SLICES_PER_FRAME</B> parameter
--file statement.
--
--<p>Some MPEG playback systems require that each slice consist of whole
--rows of macroblocks. If you are encoding for this kind of player, if
--the height of the image is H pixels, then you should set the
--SLICES_PER_FRAME to some number which divides H/16. For example, if
--the image is 240 pixels (15 macroblocks) high, then you should use
--only 15, 5, 3, or 1 slices per frame.
--
--<p>Note: these MPEG playback systems are really wrong, since the MPEG
--standard says this doesn't have to be so.
--
--
--
--<h3>Search Window</h3>
--
--<p>The search window is the window in which <b>ppmtompeg</b> searches
--for motion vectors. The window is a square. You can specify the size
--of the square, and whether to allow half-pixel motion vectors or not,
--with the <b>RANGE</b> and <b>PIXEL</B> parameter file statements.
--
--<h3 id="ipb">I Frames, P Frames, B Frames</h3>
--
--<p>In MPEG-1, a movie is represented as a sequence of MPEG frames,
--each of which is an I Frame, a P Frame, or a B Frame. Each represents
--an actual frame of the movie (don't get confused by the dual use of
--the word "frame." A movie frame is a graphical image. An MPEG frame
--is a set of data that describes a movie frame).
--
--<p>An I frame ("intra" frame) describes a movie frame in isolation --
--without respect to any other frame in the movie. A P frame
--("predictive" frame) describes a movie frame by describing how it
--differs from the movie frame described by the latest preceding I or
--P frame. A B frame ("bidirectional" frame) describes a movie frame by
--describing how it differs from the movie frames described by the
--nearest I or P frame before <em>and</em> after it.
--
--<p>Note that the first frame of a movie must be described by an I
--frame (because there is no previous movie frame) and the last movie
--frame must be described by an I or P frame (because there is no
--subsequent movie frame).
--
--<p>Beyond that, you can choose which frames are represented by which
--types. You specify a pattern, such as IBPBP and <b>ppmtompeg</b>
--simply repeats it over and over throughout the movie. The pattern
--affects speed, quality, and stream size. Here is a chart which shows
--some of the trade-offs:
--
--<table border="1" cellpadding="5" cellspacing="0">
-- <caption>Comparison of I/P/B Frames (Normalized)</caption>
--<?makeman r c c c. ?>
--<?makeman _ ?>
-- <tr align="center">
-- <th>Frame Type</th>
-- <th>Size</th>
-- <th>Speed</th>
-- <th>Quality</th>
-- </tr>
-- <tr>
-- <td align="right">I frames</td>
-- <td align="center">1000</td>
-- <td align="center">1000</td>
-- <td align="center">1000</td>
-- </tr>
-- <tr>
-- <td align="right">P frames</td>
-- <td align="center">409</td>
-- <td align="center">609</td>
-- <td align="center">969</td>
-- </tr>
-- <tr>
-- <td align="right">B frames</td>
-- <td align="center">72</td>
-- <td align="center">260</td>
-- <td align="center">919</td>
-- </tr>
-- </table>
--
--(this is with constant qscale)
--
--<p>A standard sequence is IBBPBBPBBPBBPBB.
--
--<p>Select the sequence with the <B>PATTERN</B> parameter file statement.
--
--<p>Since the last MPEG frame cannot be a B frame (see above), if the
--pattern you specify indicates a B frame for the last movie frame of
--the movie, <b>ppmtompeg</b> makes it an I frame instead.
--
--<p>Before Netpbm 10.26 (January 2005), <b>ppmtompeg</b> instead drops
--the trailing B frames by default, and you need the
--<b>FORCE_ENCODE_LAST_FRAME</b> parameter file statement to make it do
--this.
--
--<p>The MPEG frames don't appear in the MPEG-1 stream in the same order that
--the corresponding movie frames appear in the movie -- the B frames come after
--the I and P frames on which they are based. For example, if the movie is
--4 frames that you will represent with the pattern IBBP, the MPEG-1 stream
--will start with an I frame describing movie frame 0. The next frame in
--the MPEG-1 stream is a P frame describing movie frame 3. The last two
--frames in the MPEG-1 stream are B frames describing movie frames 1 and 2,
--respectively.
--
--
--<h3>Specifying Input and Output Files</h3>
--
--<p>Specify the input frame images with the <B>INPUT_DIR</B>,
--<B>INPUT</B>, <B>END_INPUT</B>, <B>BASE_FILE_FORMAT</B>,
--<B>SIZE</B>, <B>YUV_FORMAT</B> and <b>INPUT_CONVERT</B> parameter
--file statements.
--
--<p>Specify the output file with the <b>OUTPUT</b> parameter file statement.
--
--
--<h3>Statistics</h3>
--
--<p><b>ppmtompeg</b> can generate a variety of statistics about the
--encoding. See the <b>-stat</b>, <b>-snr</b>, <b>-mv_histogram</b>,
--<b>-quiet</b>, <b>-no_frame_summary</b>, and <b>-bit_rate_info</b>
--options.
--
--
--<H2 id="parallel">PARALLEL OPERATION</H2>
--
--<P>You can run <b>ppmtompeg</b> on multiple machines at once, encoding
--the same MPEG stream. When you do, the machines are used as shown in
--the following diagram. We call this "parallel mode."
--
--<p><img src="ppmtompeg-par.gif" alt="ppmtompeg-par.gif">
--
--<p>To do parallel processing, put the statement
--
--<pre>
-- PARALLEL
--</pre>
--
--in the parameter file, followed by a listing of the machines, one
--machine per line, then
--
--<pre>
-- END_PARALLEL
--</pre>
--
--Each of the machine lines must be in one of two forms. If the machine
--has filesystem access to the input files, then the line is:
--
--<p>
--<i>machine</i> <i>user</i> <i>executable</i>
--
--<P>The executable is normally <b>ppmtompeg</b> (you may need to give
--the complete path if you've built for different architectures). If
--the machine does not have filesystem access to the input files, the line
--is:
--
--<P><b>REMOTE</b> <i>machine</i> <i>user</i> <i>executable</i>
--<i>parameter file</i>
--
--<p>The <b>-max_machines</b> command option limits the number of
--machines <b>ppmtompeg</b> will use. If you specify more machines in
--the parameter file than <b>-max_machines</b> allows, <b>ppmtompeg</b>
--uses only the machines listed first. This is handy if you want to
--experiment with different amounts of parallelism.
--
--<p>In general, you should use full path file names when describing
--executables and parameter files. This <em>includes</em> the parameter
--file argument on the original invocation of <b>ppmtompeg</b>.
--
--<p>All file names must be the same on all systems (so if e.g. you're
--using an NFS filesystem, you must make sure it is mounted at the same
--mountpoint on all systems).
--
--<P>Because not all of the processes involved in parallel operation
--have easy access to the input files, you must specify the <B>SIZE</B>
--parameter file statement when you do parallel operation.
--
--<p>The machine on which you originally invoke <b>ppmtompeg</b> is the
--master machine. It hosts a "combine server,", a
--"decode server," and a number of "i/o servers,"
--all as separate processes. The other machines in the network (listed
--in the parameter file) are slave machines. Each hosts a single
--process that continuously requests work from the master and does it.
--The slave process does the computation to encode MPEG frames. It
--processes frames in batches identified by the master.
--
--<p>The master uses a remote shell command to start a process on a
--slave machine. By default, it uses an <b>rsh</b> shell command to do
--this. But use the <b>RSH</b> parameter file statement to control
--this. The shell command the master executes remotely is
--<b>ppmtompeg</b>, but with options to indicate that it is to perform
--slave functions.
--
--<p>The various machines talk to each other over TCP connections. Each
--machine finds and binds to a free TCP port number and tells its
--partners the port number. These port numbers are at least 2048.
--
--<p>Use the PARALLEL_TEST_FRAMES, PARALLEL_TIME_CHUNKS, and
--PARALLEL_PERFECT parameter file statements to control the way the
--master divides up work among the slaves.
--
--<p>Use the <b>-nice</b> command option to cause all slave processes to run
--"nicely," i.e. as low priority processes. That way, this substantial and
--long-running CPU load will have minimal impact on other, possibly
--interactive, users of the systems.
--
--<A NAME="speed">&nbsp;</A>
--<H2>SPEED</h2>
--
--<p>Here is a look at <b>ppmtompeg</b> speed, in single-node (not parallel)
--operation:
--
--<table border="1" cellpadding="5" cellspacing="0">
-- <caption>Compression Speed</caption>
--<?makeman r c. ?>
--<?makeman _ ?>
-- <tr align="center">
-- <th>Machine Type</th>
-- <th>Macroblocks per second<sup>1</sup></th>
-- </tr>
-- <tr>
-- <td align="right">HP 9000/755</td>
-- <td align="center">280</td>
-- </tr>
-- <tr>
-- <td align="right">DEC 3000/400</td>
-- <td align="center">247</td>
-- </tr>
-- <tr>
-- <td align="right">HP 9000/750</td>
-- <td align="center">191</td>
-- </tr>
-- <tr>
-- <td align="right">Sparc 10</td>
-- <td align="center">104</td>
-- </tr>
-- <tr>
-- <td align="right">DEC 5000</td>
-- <td align="center">68</td>
-- </tr>
--</table>
--<sup>1</sup>A macroblock is a 16x16 pixel square
--
--<p>The measurements in the table are with inputs and outputs via a
--conventional locally attached filesystem. If you are using a network
--filesystem over a single 10 MB/s Ethernet, that constrains your speed more
--than your CPU speed. In that case, don't expect to get better than 4
--or 5 frames per second no matter how fast your CPUs are.
--
--<p>Network speed is even more of a bottleneck when the slaves do not
--have filesystem access to the input files -- i.e. you declare them
--REMOTE.
--
--<p>Where I/O is the bottleneck, size of the input frames can make a big
--difference. So YUV input is better than PPM, and JPEG is better than
--both.
--
--<p>When you're first trying to get parallel mode working, be sure to
--use the <b>-debug_machines</b> option so you can see what's going on.
--Also, <b>-debug_sockets</b> can help you diagnose communication
--problems.
--
--
--<H2 id="authors">AUTHORS</H2>
--
--<UL>
--
--<LI>Kevin Gong - University of California, Berkeley, <A
--HREF="mailto:keving@cs.berkeley.edu">keving@cs.berkeley.edu</A>
--
--<LI>Ketan Patel - University of California, Berkeley, <A
--HREF="mailto:kpatel@cs.berkeley.edu">kpatel@cs.berkeley.edu</A>
--
--<LI>Dan Wallach - University of California, Berkeley, <A
--HREF="mailto:dwallach@cs.berkeley.edu">dwallach@cs.berkeley.edu</A>
--
--<LI>Darryl Brown - University of California, Berkeley, <A
--HREF="mailto:darryl@cs.berkeley.edu">darryl@cs.berkeley.edu</A>
--
--<LI>Eugene Hung - University of California, Berkeley, <A
--HREF="mailto:eyhung@cs.berkeley.edu">eyhung@cs.berkeley.edu</A>
--
--<LI>Steve Smoot - University of California, Berkeley, <A
--HREF="mailto:smoot@cs.berkeley.edu">smoot@cs.berkeley.edu</A>
--
--</UL>
--
--<HR>
--<A NAME="index">&nbsp;</A>
--<H2>Table Of Contents</H2>
--<UL>
--<LI><A HREF="#synopsis">SYNOPSIS</A></LI>
--<LI><A HREF="#description">DESCRIPTION</A></LI>
--<LI><A HREF="#options">OPTIONS</A></LI>
--<LI><A HREF="#parmfile">PARAMETER FILE</A></LI>
--<LI><A HREF="#general">GENERAL USAGE INFORMATION</A></LI>
--<LI><A HREF="#parallel">PARALLEL OPERATION</A></LI>
--<LI><A HREF="#speed">SPEED</A></LI>
--<LI><A HREF="#authors">AUTHORS</A></LI>
--</UL>
--</BODY>
--</HTML>
diff --git a/source/l/netpbm/netpbm-userguide.patch b/source/l/netpbm/netpbm-userguide.patch
deleted file mode 100644
index 3efdb6f5..00000000
--- a/source/l/netpbm/netpbm-userguide.patch
+++ /dev/null
@@ -1,9 +0,0 @@
-diff --git a/userguide/pammixmulti.html b/userguide/pammixmulti.html
-index c5854c3..a18fa14 100755
---- a/userguide/pammixmulti.html
-+++ b/userguide/pammixmulti.html
-@@ -1,4 +1,3 @@
--<?xml version="1.0"?>
- <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN">
- <html>
- <head>
diff --git a/source/l/netpbm/netpbm.SlackBuild b/source/l/netpbm/netpbm.SlackBuild
index a0c206a8..9bce529c 100755
--- a/source/l/netpbm/netpbm.SlackBuild
+++ b/source/l/netpbm/netpbm.SlackBuild
@@ -89,7 +89,6 @@ zcat $CWD/netpbm-pamtojpeg2k.patch.gz | patch -p1 --verbose || exit 1
zcat $CWD/netpbm-manfix.patch.gz | patch -p1 --verbose || exit 1
zcat $CWD/netpbm-manual-pages.patch.gz | patch -p1 --verbose || exit 1
zcat $CWD/netpbm-libdir-so.patch.gz | patch -p1 --verbose || exit 1
-zcat $CWD/netpbm-userguide.patch.gz | patch -p1 --verbose || exit 1
# Send blank lines to "configure" to just take defaults:
./configure << EOF
diff --git a/source/n/php/fetch-php.sh b/source/n/php/fetch-php.sh
index 672d9167..0f802a4d 100755
--- a/source/n/php/fetch-php.sh
+++ b/source/n/php/fetch-php.sh
@@ -1,2 +1,2 @@
-lftpget http://us.php.net/distributions/php-7.4.9.tar.xz.asc
-lftpget http://us.php.net/distributions/php-7.4.9.tar.xz
+lftpget http://us.php.net/distributions/php-7.4.10.tar.xz.asc
+lftpget http://us.php.net/distributions/php-7.4.10.tar.xz
diff --git a/source/n/php/php.SlackBuild b/source/n/php/php.SlackBuild
index 424f9193..99caf8b7 100755
--- a/source/n/php/php.SlackBuild
+++ b/source/n/php/php.SlackBuild
@@ -28,7 +28,7 @@ cd $(dirname $0) ; CWD=$(pwd)
PKGNAM=php
VERSION=${VERSION:-$(echo php-*.tar.xz | rev | cut -f 3- -d . | cut -f 1 -d - | rev)}
ALPINE=2.23.2
-BUILD=${BUILD:-2}
+BUILD=${BUILD:-1}
# Automatically determine the architecture we're building on:
if [ -z "$ARCH" ]; then