Thu Sep 28 21:37:06 UTC 2023

ap/mpg123-1.32.2-x86_64-1.txz:  Upgraded.
l/cairo-1.18.0-x86_64-1.txz:  Upgraded.
l/gtk4-4.12.3-x86_64-1.txz:  Upgraded.
x/fonttosfnt-1.2.3-x86_64-1.txz:  Upgraded.
xap/geeqie-2.1-x86_64-2.txz:  Rebuilt.
  Patched and recompiled against lua-5.4.6.
xap/mozilla-firefox-115.3.1esr-x86_64-1.txz:  Upgraded.
  This update contains a security fix.
  For more information, see:
    https://www.mozilla.org/en-US/firefox/115.3.1/releasenotes/
    https://www.mozilla.org/en-US/security/advisories/mfsa2023-44/
    https://www.cve.org/CVERecord?id=CVE-2023-5217
  (* Security fix *)
xfce/xfce4-panel-4.18.5-x86_64-1.txz:  Upgraded.
testing/packages/aaa_glibc-solibs-2.38-x86_64-1.txz:  Added.
testing/packages/glibc-2.38-x86_64-1.txz:  Added.
  Instead of building the deprecated glibc crypt library, bundle
  libxcrypt-4.4.36 (both .so.1 compat version and .so.2 new API version).
testing/packages/glibc-i18n-2.38-x86_64-1.txz:  Added.
testing/packages/glibc-profile-2.38-x86_64-1.txz:  Added.
This commit is contained in:
Patrick J Volkerding 2023-09-28 21:37:06 +00:00 committed by Eric Hameleers
parent d5cee66c57
commit e9c0b54c5c
28 changed files with 2130 additions and 126 deletions

View file

@ -11,9 +11,39 @@
<description>Tracking Slackware development in git.</description> <description>Tracking Slackware development in git.</description>
<language>en-us</language> <language>en-us</language>
<id xmlns="http://www.w3.org/2005/Atom">urn:uuid:c964f45e-6732-11e8-bbe5-107b4450212f</id> <id xmlns="http://www.w3.org/2005/Atom">urn:uuid:c964f45e-6732-11e8-bbe5-107b4450212f</id>
<pubDate>Wed, 27 Sep 2023 23:51:07 GMT</pubDate> <pubDate>Thu, 28 Sep 2023 21:37:06 GMT</pubDate>
<lastBuildDate>Thu, 28 Sep 2023 01:13:01 GMT</lastBuildDate> <lastBuildDate>Thu, 28 Sep 2023 22:41:36 GMT</lastBuildDate>
<generator>maintain_current_git.sh v 1.17</generator> <generator>maintain_current_git.sh v 1.17</generator>
<item>
<title>Thu, 28 Sep 2023 21:37:06 GMT</title>
<pubDate>Thu, 28 Sep 2023 21:37:06 GMT</pubDate>
<link>https://git.slackware.nl/current/tag/?h=20230928213706</link>
<guid isPermaLink="false">20230928213706</guid>
<description>
<![CDATA[<pre>
ap/mpg123-1.32.2-x86_64-1.txz: Upgraded.
l/cairo-1.18.0-x86_64-1.txz: Upgraded.
l/gtk4-4.12.3-x86_64-1.txz: Upgraded.
x/fonttosfnt-1.2.3-x86_64-1.txz: Upgraded.
xap/geeqie-2.1-x86_64-2.txz: Rebuilt.
Patched and recompiled against lua-5.4.6.
xap/mozilla-firefox-115.3.1esr-x86_64-1.txz: Upgraded.
This update contains a security fix.
For more information, see:
https://www.mozilla.org/en-US/firefox/115.3.1/releasenotes/
https://www.mozilla.org/en-US/security/advisories/mfsa2023-44/
https://www.cve.org/CVERecord?id=CVE-2023-5217
(* Security fix *)
xfce/xfce4-panel-4.18.5-x86_64-1.txz: Upgraded.
testing/packages/aaa_glibc-solibs-2.38-x86_64-1.txz: Added.
testing/packages/glibc-2.38-x86_64-1.txz: Added.
Instead of building the deprecated glibc crypt library, bundle
libxcrypt-4.4.36 (both .so.1 compat version and .so.2 new API version).
testing/packages/glibc-i18n-2.38-x86_64-1.txz: Added.
testing/packages/glibc-profile-2.38-x86_64-1.txz: Added.
</pre>]]>
</description>
</item>
<item> <item>
<title>Wed, 27 Sep 2023 23:51:07 GMT</title> <title>Wed, 27 Sep 2023 23:51:07 GMT</title>
<pubDate>Wed, 27 Sep 2023 23:51:07 GMT</pubDate> <pubDate>Wed, 27 Sep 2023 23:51:07 GMT</pubDate>

View file

@ -1,3 +1,25 @@
Thu Sep 28 21:37:06 UTC 2023
ap/mpg123-1.32.2-x86_64-1.txz: Upgraded.
l/cairo-1.18.0-x86_64-1.txz: Upgraded.
l/gtk4-4.12.3-x86_64-1.txz: Upgraded.
x/fonttosfnt-1.2.3-x86_64-1.txz: Upgraded.
xap/geeqie-2.1-x86_64-2.txz: Rebuilt.
Patched and recompiled against lua-5.4.6.
xap/mozilla-firefox-115.3.1esr-x86_64-1.txz: Upgraded.
This update contains a security fix.
For more information, see:
https://www.mozilla.org/en-US/firefox/115.3.1/releasenotes/
https://www.mozilla.org/en-US/security/advisories/mfsa2023-44/
https://www.cve.org/CVERecord?id=CVE-2023-5217
(* Security fix *)
xfce/xfce4-panel-4.18.5-x86_64-1.txz: Upgraded.
testing/packages/aaa_glibc-solibs-2.38-x86_64-1.txz: Added.
testing/packages/glibc-2.38-x86_64-1.txz: Added.
Instead of building the deprecated glibc crypt library, bundle
libxcrypt-4.4.36 (both .so.1 compat version and .so.2 new API version).
testing/packages/glibc-i18n-2.38-x86_64-1.txz: Added.
testing/packages/glibc-profile-2.38-x86_64-1.txz: Added.
+--------------------------+
Wed Sep 27 23:51:07 UTC 2023 Wed Sep 27 23:51:07 UTC 2023
kde/ktextaddons-1.5.2-x86_64-1.txz: Upgraded. kde/ktextaddons-1.5.2-x86_64-1.txz: Upgraded.
l/fluidsynth-2.3.4-x86_64-1.txz: Upgraded. l/fluidsynth-2.3.4-x86_64-1.txz: Upgraded.

View file

@ -1,20 +1,20 @@
Thu Sep 28 00:20:24 UTC 2023 Thu Sep 28 21:42:52 UTC 2023
Here is the file list for this directory. If you are using a Here is the file list for this directory. If you are using a
mirror site and find missing or extra files in the disk mirror site and find missing or extra files in the disk
subdirectories, please have the archive administrator refresh subdirectories, please have the archive administrator refresh
the mirror. the mirror.
drwxr-xr-x 12 root root 4096 2023-09-27 23:51 . drwxr-xr-x 12 root root 4096 2023-09-28 21:37 .
-rw-r--r-- 1 root root 5767 2022-02-02 22:44 ./ANNOUNCE.15.0 -rw-r--r-- 1 root root 5767 2022-02-02 22:44 ./ANNOUNCE.15.0
-rw-r--r-- 1 root root 16617 2022-02-02 23:27 ./CHANGES_AND_HINTS.TXT -rw-r--r-- 1 root root 16617 2022-02-02 23:27 ./CHANGES_AND_HINTS.TXT
-rw-r--r-- 1 root root 1116955 2023-09-26 19:35 ./CHECKSUMS.md5 -rw-r--r-- 1 root root 1116955 2023-09-28 00:20 ./CHECKSUMS.md5
-rw-r--r-- 1 root root 163 2023-09-26 19:35 ./CHECKSUMS.md5.asc -rw-r--r-- 1 root root 163 2023-09-28 00:20 ./CHECKSUMS.md5.asc
-rw-r--r-- 1 root root 17976 1994-06-10 02:28 ./COPYING -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 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 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 616 2006-10-02 04:37 ./CRYPTO_NOTICE.TXT
-rw-r--r-- 1 root root 788819 2023-09-27 23:51 ./ChangeLog.txt -rw-r--r-- 1 root root 789864 2023-09-28 21:37 ./ChangeLog.txt
drwxr-xr-x 3 root root 4096 2013-03-20 22:17 ./EFI drwxr-xr-x 3 root root 4096 2013-03-20 22:17 ./EFI
drwxr-xr-x 2 root root 4096 2023-09-23 20:58 ./EFI/BOOT drwxr-xr-x 2 root root 4096 2023-09-23 20:58 ./EFI/BOOT
-rw-r--r-- 1 root root 1187840 2021-06-15 19:16 ./EFI/BOOT/bootx64.efi -rw-r--r-- 1 root root 1187840 2021-06-15 19:16 ./EFI/BOOT/bootx64.efi
@ -25,9 +25,9 @@ drwxr-xr-x 2 root root 4096 2023-09-23 20:58 ./EFI/BOOT
-rwxr-xr-x 1 root root 2504 2019-07-05 18:54 ./EFI/BOOT/make-grub.sh -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 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 1273 2013-08-12 21:08 ./EFI/BOOT/tools.cfg
-rw-r--r-- 1 root root 1457461 2023-09-26 19:35 ./FILELIST.TXT -rw-r--r-- 1 root root 1457461 2023-09-28 00:20 ./FILELIST.TXT
-rw-r--r-- 1 root root 1572 2012-08-29 18:27 ./GPG-KEY -rw-r--r-- 1 root root 1572 2012-08-29 18:27 ./GPG-KEY
-rw-r--r-- 1 root root 880975 2023-09-28 00:19 ./PACKAGES.TXT -rw-r--r-- 1 root root 880975 2023-09-28 21:42 ./PACKAGES.TXT
-rw-r--r-- 1 root root 8034 2022-02-02 03:36 ./README.TXT -rw-r--r-- 1 root root 8034 2022-02-02 03:36 ./README.TXT
-rw-r--r-- 1 root root 3629 2023-09-23 20:47 ./README.initrd -rw-r--r-- 1 root root 3629 2023-09-23 20:47 ./README.initrd
-rw-r--r-- 1 root root 34162 2022-01-30 20:35 ./README_CRYPT.TXT -rw-r--r-- 1 root root 34162 2022-01-30 20:35 ./README_CRYPT.TXT
@ -666,11 +666,11 @@ drwxr-xr-x 2 root root 4096 2022-02-03 07:02 ./patches
-rw-r--r-- 1 root root 575 2022-02-03 07:02 ./patches/FILE_LIST -rw-r--r-- 1 root root 575 2022-02-03 07:02 ./patches/FILE_LIST
-rw-r--r-- 1 root root 14 2022-02-03 07:02 ./patches/MANIFEST.bz2 -rw-r--r-- 1 root root 14 2022-02-03 07:02 ./patches/MANIFEST.bz2
-rw-r--r-- 1 root root 224 2022-02-03 07:02 ./patches/PACKAGES.TXT -rw-r--r-- 1 root root 224 2022-02-03 07:02 ./patches/PACKAGES.TXT
drwxr-xr-x 17 root root 4096 2023-09-28 00:20 ./slackware64 drwxr-xr-x 17 root root 4096 2023-09-28 21:42 ./slackware64
-rw-r--r-- 1 root root 343447 2023-09-28 00:20 ./slackware64/CHECKSUMS.md5 -rw-r--r-- 1 root root 343447 2023-09-28 21:42 ./slackware64/CHECKSUMS.md5
-rw-r--r-- 1 root root 163 2023-09-28 00:20 ./slackware64/CHECKSUMS.md5.asc -rw-r--r-- 1 root root 163 2023-09-28 21:42 ./slackware64/CHECKSUMS.md5.asc
-rw-r--r-- 1 root root 425669 2023-09-28 00:19 ./slackware64/FILE_LIST -rw-r--r-- 1 root root 425669 2023-09-28 21:41 ./slackware64/FILE_LIST
-rw-r--r-- 1 root root 4344060 2023-09-28 00:19 ./slackware64/MANIFEST.bz2 -rw-r--r-- 1 root root 4336894 2023-09-28 21:41 ./slackware64/MANIFEST.bz2
lrwxrwxrwx 1 root root 15 2009-08-23 23:34 ./slackware64/PACKAGES.TXT -> ../PACKAGES.TXT lrwxrwxrwx 1 root root 15 2009-08-23 23:34 ./slackware64/PACKAGES.TXT -> ../PACKAGES.TXT
drwxr-xr-x 2 root root 32768 2023-09-23 21:02 ./slackware64/a drwxr-xr-x 2 root root 32768 2023-09-23 21:02 ./slackware64/a
-rw-r--r-- 1 root root 327 2022-02-15 18:16 ./slackware64/a/aaa_base-15.1-x86_64-2.txt -rw-r--r-- 1 root root 327 2022-02-15 18:16 ./slackware64/a/aaa_base-15.1-x86_64-2.txt
@ -1062,7 +1062,7 @@ drwxr-xr-x 2 root root 32768 2023-09-23 21:02 ./slackware64/a
-rw-r--r-- 1 root root 540 2021-02-13 11:22 ./slackware64/a/zoo-2.10_22-x86_64-4.txt -rw-r--r-- 1 root root 540 2021-02-13 11:22 ./slackware64/a/zoo-2.10_22-x86_64-4.txt
-rw-r--r-- 1 root root 56160 2021-02-13 11:22 ./slackware64/a/zoo-2.10_22-x86_64-4.txz -rw-r--r-- 1 root root 56160 2021-02-13 11:22 ./slackware64/a/zoo-2.10_22-x86_64-4.txz
-rw-r--r-- 1 root root 163 2021-02-13 11:22 ./slackware64/a/zoo-2.10_22-x86_64-4.txz.asc -rw-r--r-- 1 root root 163 2021-02-13 11:22 ./slackware64/a/zoo-2.10_22-x86_64-4.txz.asc
drwxr-xr-x 2 root root 20480 2023-09-26 19:34 ./slackware64/ap drwxr-xr-x 2 root root 20480 2023-09-28 21:41 ./slackware64/ap
-rw-r--r-- 1 root root 291 2023-06-23 18:07 ./slackware64/ap/a2ps-4.15.5-x86_64-1.txt -rw-r--r-- 1 root root 291 2023-06-23 18:07 ./slackware64/ap/a2ps-4.15.5-x86_64-1.txt
-rw-r--r-- 1 root root 653716 2023-06-23 18:07 ./slackware64/ap/a2ps-4.15.5-x86_64-1.txz -rw-r--r-- 1 root root 653716 2023-06-23 18:07 ./slackware64/ap/a2ps-4.15.5-x86_64-1.txz
-rw-r--r-- 1 root root 163 2023-06-23 18:07 ./slackware64/ap/a2ps-4.15.5-x86_64-1.txz.asc -rw-r--r-- 1 root root 163 2023-06-23 18:07 ./slackware64/ap/a2ps-4.15.5-x86_64-1.txz.asc
@ -1214,9 +1214,9 @@ drwxr-xr-x 2 root root 20480 2023-09-26 19:34 ./slackware64/ap
-rw-r--r-- 1 root root 376 2022-08-05 17:52 ./slackware64/ap/most-5.2.0-x86_64-1.txt -rw-r--r-- 1 root root 376 2022-08-05 17:52 ./slackware64/ap/most-5.2.0-x86_64-1.txt
-rw-r--r-- 1 root root 50452 2022-08-05 17:52 ./slackware64/ap/most-5.2.0-x86_64-1.txz -rw-r--r-- 1 root root 50452 2022-08-05 17:52 ./slackware64/ap/most-5.2.0-x86_64-1.txz
-rw-r--r-- 1 root root 163 2022-08-05 17:52 ./slackware64/ap/most-5.2.0-x86_64-1.txz.asc -rw-r--r-- 1 root root 163 2022-08-05 17:52 ./slackware64/ap/most-5.2.0-x86_64-1.txz.asc
-rw-r--r-- 1 root root 331 2023-03-20 17:44 ./slackware64/ap/mpg123-1.31.3-x86_64-1.txt -rw-r--r-- 1 root root 331 2023-09-28 19:43 ./slackware64/ap/mpg123-1.32.2-x86_64-1.txt
-rw-r--r-- 1 root root 484560 2023-03-20 17:44 ./slackware64/ap/mpg123-1.31.3-x86_64-1.txz -rw-r--r-- 1 root root 496984 2023-09-28 19:43 ./slackware64/ap/mpg123-1.32.2-x86_64-1.txz
-rw-r--r-- 1 root root 163 2023-03-20 17:44 ./slackware64/ap/mpg123-1.31.3-x86_64-1.txz.asc -rw-r--r-- 1 root root 163 2023-09-28 19:43 ./slackware64/ap/mpg123-1.32.2-x86_64-1.txz.asc
-rw-r--r-- 1 root root 430 2023-01-18 18:21 ./slackware64/ap/nano-7.2-x86_64-1.txt -rw-r--r-- 1 root root 430 2023-01-18 18:21 ./slackware64/ap/nano-7.2-x86_64-1.txt
-rw-r--r-- 1 root root 624096 2023-01-18 18:21 ./slackware64/ap/nano-7.2-x86_64-1.txz -rw-r--r-- 1 root root 624096 2023-01-18 18:21 ./slackware64/ap/nano-7.2-x86_64-1.txz
-rw-r--r-- 1 root root 163 2023-01-18 18:21 ./slackware64/ap/nano-7.2-x86_64-1.txz.asc -rw-r--r-- 1 root root 163 2023-01-18 18:21 ./slackware64/ap/nano-7.2-x86_64-1.txz.asc
@ -2742,7 +2742,7 @@ drwxr-xr-x 2 root root 86016 2023-09-28 00:19 ./slackware64/kde
-rw-r--r-- 1 root root 403 2023-07-06 17:30 ./slackware64/kde/zxing-cpp-2.1.0-x86_64-1.txt -rw-r--r-- 1 root root 403 2023-07-06 17:30 ./slackware64/kde/zxing-cpp-2.1.0-x86_64-1.txt
-rw-r--r-- 1 root root 754048 2023-07-06 17:30 ./slackware64/kde/zxing-cpp-2.1.0-x86_64-1.txz -rw-r--r-- 1 root root 754048 2023-07-06 17:30 ./slackware64/kde/zxing-cpp-2.1.0-x86_64-1.txz
-rw-r--r-- 1 root root 163 2023-07-06 17:30 ./slackware64/kde/zxing-cpp-2.1.0-x86_64-1.txz.asc -rw-r--r-- 1 root root 163 2023-07-06 17:30 ./slackware64/kde/zxing-cpp-2.1.0-x86_64-1.txz.asc
drwxr-xr-x 2 root root 86016 2023-09-28 00:19 ./slackware64/l drwxr-xr-x 2 root root 86016 2023-09-28 21:41 ./slackware64/l
-rw-r--r-- 1 root root 329 2022-03-06 20:00 ./slackware64/l/GConf-3.2.6-x86_64-8.txt -rw-r--r-- 1 root root 329 2022-03-06 20:00 ./slackware64/l/GConf-3.2.6-x86_64-8.txt
-rw-r--r-- 1 root root 928144 2022-03-06 20:00 ./slackware64/l/GConf-3.2.6-x86_64-8.txz -rw-r--r-- 1 root root 928144 2022-03-06 20:00 ./slackware64/l/GConf-3.2.6-x86_64-8.txz
-rw-r--r-- 1 root root 163 2022-03-06 20:00 ./slackware64/l/GConf-3.2.6-x86_64-8.txz.asc -rw-r--r-- 1 root root 163 2022-03-06 20:00 ./slackware64/l/GConf-3.2.6-x86_64-8.txz.asc
@ -2839,9 +2839,9 @@ drwxr-xr-x 2 root root 86016 2023-09-28 00:19 ./slackware64/l
-rw-r--r-- 1 root root 537 2023-09-01 18:21 ./slackware64/l/brotli-1.1.0-x86_64-1.txt -rw-r--r-- 1 root root 537 2023-09-01 18:21 ./slackware64/l/brotli-1.1.0-x86_64-1.txt
-rw-r--r-- 1 root root 427948 2023-09-01 18:21 ./slackware64/l/brotli-1.1.0-x86_64-1.txz -rw-r--r-- 1 root root 427948 2023-09-01 18:21 ./slackware64/l/brotli-1.1.0-x86_64-1.txz
-rw-r--r-- 1 root root 163 2023-09-01 18:21 ./slackware64/l/brotli-1.1.0-x86_64-1.txz.asc -rw-r--r-- 1 root root 163 2023-09-01 18:21 ./slackware64/l/brotli-1.1.0-x86_64-1.txz.asc
-rw-r--r-- 1 root root 430 2023-09-16 18:19 ./slackware64/l/cairo-1.17.6-x86_64-1.txt -rw-r--r-- 1 root root 430 2023-09-28 19:22 ./slackware64/l/cairo-1.18.0-x86_64-1.txt
-rw-r--r-- 1 root root 782336 2023-09-16 18:19 ./slackware64/l/cairo-1.17.6-x86_64-1.txz -rw-r--r-- 1 root root 652980 2023-09-28 19:22 ./slackware64/l/cairo-1.18.0-x86_64-1.txz
-rw-r--r-- 1 root root 163 2023-09-16 18:19 ./slackware64/l/cairo-1.17.6-x86_64-1.txz.asc -rw-r--r-- 1 root root 163 2023-09-28 19:22 ./slackware64/l/cairo-1.18.0-x86_64-1.txz.asc
-rw-r--r-- 1 root root 401 2023-02-13 19:48 ./slackware64/l/cairomm-1.14.4-x86_64-1.txt -rw-r--r-- 1 root root 401 2023-02-13 19:48 ./slackware64/l/cairomm-1.14.4-x86_64-1.txt
-rw-r--r-- 1 root root 105172 2023-02-13 19:48 ./slackware64/l/cairomm-1.14.4-x86_64-1.txz -rw-r--r-- 1 root root 105172 2023-02-13 19:48 ./slackware64/l/cairomm-1.14.4-x86_64-1.txz
-rw-r--r-- 1 root root 163 2023-02-13 19:48 ./slackware64/l/cairomm-1.14.4-x86_64-1.txz.asc -rw-r--r-- 1 root root 163 2023-02-13 19:48 ./slackware64/l/cairomm-1.14.4-x86_64-1.txz.asc
@ -3061,9 +3061,9 @@ drwxr-xr-x 2 root root 86016 2023-09-28 00:19 ./slackware64/l
-rw-r--r-- 1 root root 328 2023-05-24 05:21 ./slackware64/l/gtk+3-3.24.38-x86_64-1.txt -rw-r--r-- 1 root root 328 2023-05-24 05:21 ./slackware64/l/gtk+3-3.24.38-x86_64-1.txt
-rw-r--r-- 1 root root 11304884 2023-05-24 05:21 ./slackware64/l/gtk+3-3.24.38-x86_64-1.txz -rw-r--r-- 1 root root 11304884 2023-05-24 05:21 ./slackware64/l/gtk+3-3.24.38-x86_64-1.txz
-rw-r--r-- 1 root root 163 2023-05-24 05:21 ./slackware64/l/gtk+3-3.24.38-x86_64-1.txz.asc -rw-r--r-- 1 root root 163 2023-05-24 05:21 ./slackware64/l/gtk+3-3.24.38-x86_64-1.txz.asc
-rw-r--r-- 1 root root 315 2023-09-21 18:52 ./slackware64/l/gtk4-4.12.2-x86_64-1.txt -rw-r--r-- 1 root root 315 2023-09-28 19:55 ./slackware64/l/gtk4-4.12.3-x86_64-1.txt
-rw-r--r-- 1 root root 9880276 2023-09-21 18:52 ./slackware64/l/gtk4-4.12.2-x86_64-1.txz -rw-r--r-- 1 root root 9880740 2023-09-28 19:55 ./slackware64/l/gtk4-4.12.3-x86_64-1.txz
-rw-r--r-- 1 root root 163 2023-09-21 18:52 ./slackware64/l/gtk4-4.12.2-x86_64-1.txz.asc -rw-r--r-- 1 root root 163 2023-09-28 19:55 ./slackware64/l/gtk4-4.12.3-x86_64-1.txz.asc
-rw-r--r-- 1 root root 341 2021-02-13 06:48 ./slackware64/l/gtkmm2-2.24.5-x86_64-4.txt -rw-r--r-- 1 root root 341 2021-02-13 06:48 ./slackware64/l/gtkmm2-2.24.5-x86_64-4.txt
-rw-r--r-- 1 root root 1379452 2021-02-13 06:48 ./slackware64/l/gtkmm2-2.24.5-x86_64-4.txz -rw-r--r-- 1 root root 1379452 2021-02-13 06:48 ./slackware64/l/gtkmm2-2.24.5-x86_64-4.txz
-rw-r--r-- 1 root root 163 2021-02-13 06:48 ./slackware64/l/gtkmm2-2.24.5-x86_64-4.txz.asc -rw-r--r-- 1 root root 163 2021-02-13 06:48 ./slackware64/l/gtkmm2-2.24.5-x86_64-4.txz.asc
@ -4461,7 +4461,7 @@ drwxr-xr-x 2 root root 4096 2023-06-02 21:03 ./slackware64/tcl
-rw-r--r-- 1 root root 227 2022-11-23 19:07 ./slackware64/tcl/tk-8.6.13-x86_64-1.txt -rw-r--r-- 1 root root 227 2022-11-23 19:07 ./slackware64/tcl/tk-8.6.13-x86_64-1.txt
-rw-r--r-- 1 root root 1802760 2022-11-23 19:07 ./slackware64/tcl/tk-8.6.13-x86_64-1.txz -rw-r--r-- 1 root root 1802760 2022-11-23 19:07 ./slackware64/tcl/tk-8.6.13-x86_64-1.txz
-rw-r--r-- 1 root root 163 2022-11-23 19:07 ./slackware64/tcl/tk-8.6.13-x86_64-1.txz.asc -rw-r--r-- 1 root root 163 2022-11-23 19:07 ./slackware64/tcl/tk-8.6.13-x86_64-1.txz.asc
drwxr-xr-x 2 root root 65536 2023-09-25 19:22 ./slackware64/x drwxr-xr-x 2 root root 65536 2023-09-28 21:41 ./slackware64/x
-rw-r--r-- 1 root root 440 2022-12-09 18:23 ./slackware64/x/OpenCC-1.1.6-x86_64-1.txt -rw-r--r-- 1 root root 440 2022-12-09 18:23 ./slackware64/x/OpenCC-1.1.6-x86_64-1.txt
-rw-r--r-- 1 root root 677084 2022-12-09 18:23 ./slackware64/x/OpenCC-1.1.6-x86_64-1.txz -rw-r--r-- 1 root root 677084 2022-12-09 18:23 ./slackware64/x/OpenCC-1.1.6-x86_64-1.txz
-rw-r--r-- 1 root root 163 2022-12-09 18:23 ./slackware64/x/OpenCC-1.1.6-x86_64-1.txz.asc -rw-r--r-- 1 root root 163 2022-12-09 18:23 ./slackware64/x/OpenCC-1.1.6-x86_64-1.txz.asc
@ -4651,9 +4651,9 @@ drwxr-xr-x 2 root root 65536 2023-09-25 19:22 ./slackware64/x
-rw-r--r-- 1 root root 385 2021-02-13 12:46 ./slackware64/x/fontconfig-2.13.92-x86_64-3.txt -rw-r--r-- 1 root root 385 2021-02-13 12:46 ./slackware64/x/fontconfig-2.13.92-x86_64-3.txt
-rw-r--r-- 1 root root 318208 2021-02-13 12:46 ./slackware64/x/fontconfig-2.13.92-x86_64-3.txz -rw-r--r-- 1 root root 318208 2021-02-13 12:46 ./slackware64/x/fontconfig-2.13.92-x86_64-3.txz
-rw-r--r-- 1 root root 163 2021-02-13 12:46 ./slackware64/x/fontconfig-2.13.92-x86_64-3.txz.asc -rw-r--r-- 1 root root 163 2021-02-13 12:46 ./slackware64/x/fontconfig-2.13.92-x86_64-3.txz.asc
-rw-r--r-- 1 root root 372 2021-06-15 18:31 ./slackware64/x/fonttosfnt-1.2.2-x86_64-1.txt -rw-r--r-- 1 root root 372 2023-09-28 19:36 ./slackware64/x/fonttosfnt-1.2.3-x86_64-1.txt
-rw-r--r-- 1 root root 34144 2021-06-15 18:31 ./slackware64/x/fonttosfnt-1.2.2-x86_64-1.txz -rw-r--r-- 1 root root 34196 2023-09-28 19:36 ./slackware64/x/fonttosfnt-1.2.3-x86_64-1.txz
-rw-r--r-- 1 root root 163 2021-06-15 18:31 ./slackware64/x/fonttosfnt-1.2.2-x86_64-1.txz.asc -rw-r--r-- 1 root root 163 2023-09-28 19:36 ./slackware64/x/fonttosfnt-1.2.3-x86_64-1.txz.asc
-rw-r--r-- 1 root root 474 2022-10-08 18:04 ./slackware64/x/freeglut-3.4.0-x86_64-1.txt -rw-r--r-- 1 root root 474 2022-10-08 18:04 ./slackware64/x/freeglut-3.4.0-x86_64-1.txt
-rw-r--r-- 1 root root 117432 2022-10-08 18:04 ./slackware64/x/freeglut-3.4.0-x86_64-1.txz -rw-r--r-- 1 root root 117432 2022-10-08 18:04 ./slackware64/x/freeglut-3.4.0-x86_64-1.txz
-rw-r--r-- 1 root root 163 2022-10-08 18:04 ./slackware64/x/freeglut-3.4.0-x86_64-1.txz.asc -rw-r--r-- 1 root root 163 2022-10-08 18:04 ./slackware64/x/freeglut-3.4.0-x86_64-1.txz.asc
@ -5346,7 +5346,7 @@ drwxr-xr-x 2 root root 65536 2023-09-25 19:22 ./slackware64/x
-rw-r--r-- 1 root root 213 2022-07-11 18:36 ./slackware64/x/xwud-1.0.6-x86_64-1.txt -rw-r--r-- 1 root root 213 2022-07-11 18:36 ./slackware64/x/xwud-1.0.6-x86_64-1.txt
-rw-r--r-- 1 root root 25896 2022-07-11 18:36 ./slackware64/x/xwud-1.0.6-x86_64-1.txz -rw-r--r-- 1 root root 25896 2022-07-11 18:36 ./slackware64/x/xwud-1.0.6-x86_64-1.txz
-rw-r--r-- 1 root root 163 2022-07-11 18:36 ./slackware64/x/xwud-1.0.6-x86_64-1.txz.asc -rw-r--r-- 1 root root 163 2022-07-11 18:36 ./slackware64/x/xwud-1.0.6-x86_64-1.txz.asc
drwxr-xr-x 2 root root 16384 2023-09-28 00:19 ./slackware64/xap drwxr-xr-x 2 root root 16384 2023-09-28 21:41 ./slackware64/xap
-rw-r--r-- 1 root root 625 2022-10-09 18:00 ./slackware64/xap/MPlayer-20221009-x86_64-1.txt -rw-r--r-- 1 root root 625 2022-10-09 18:00 ./slackware64/xap/MPlayer-20221009-x86_64-1.txt
-rw-r--r-- 1 root root 2750024 2022-10-09 18:00 ./slackware64/xap/MPlayer-20221009-x86_64-1.txz -rw-r--r-- 1 root root 2750024 2022-10-09 18:00 ./slackware64/xap/MPlayer-20221009-x86_64-1.txz
-rw-r--r-- 1 root root 163 2022-10-09 18:00 ./slackware64/xap/MPlayer-20221009-x86_64-1.txz.asc -rw-r--r-- 1 root root 163 2022-10-09 18:00 ./slackware64/xap/MPlayer-20221009-x86_64-1.txz.asc
@ -5386,9 +5386,9 @@ drwxr-xr-x 2 root root 16384 2023-09-28 00:19 ./slackware64/xap
-rw-r--r-- 1 root root 411 2022-11-04 18:08 ./slackware64/xap/fvwm-2.7.0-x86_64-1.txt -rw-r--r-- 1 root root 411 2022-11-04 18:08 ./slackware64/xap/fvwm-2.7.0-x86_64-1.txt
-rw-r--r-- 1 root root 2458460 2022-11-04 18:08 ./slackware64/xap/fvwm-2.7.0-x86_64-1.txz -rw-r--r-- 1 root root 2458460 2022-11-04 18:08 ./slackware64/xap/fvwm-2.7.0-x86_64-1.txz
-rw-r--r-- 1 root root 163 2022-11-04 18:08 ./slackware64/xap/fvwm-2.7.0-x86_64-1.txz.asc -rw-r--r-- 1 root root 163 2022-11-04 18:08 ./slackware64/xap/fvwm-2.7.0-x86_64-1.txz.asc
-rw-r--r-- 1 root root 302 2023-06-19 16:51 ./slackware64/xap/geeqie-2.1-x86_64-1.txt -rw-r--r-- 1 root root 302 2023-09-28 18:33 ./slackware64/xap/geeqie-2.1-x86_64-2.txt
-rw-r--r-- 1 root root 1143100 2023-06-19 16:51 ./slackware64/xap/geeqie-2.1-x86_64-1.txz -rw-r--r-- 1 root root 1144336 2023-09-28 18:33 ./slackware64/xap/geeqie-2.1-x86_64-2.txz
-rw-r--r-- 1 root root 163 2023-06-19 16:51 ./slackware64/xap/geeqie-2.1-x86_64-1.txz.asc -rw-r--r-- 1 root root 163 2023-09-28 18:33 ./slackware64/xap/geeqie-2.1-x86_64-2.txz.asc
-rw-r--r-- 1 root root 443 2023-03-08 02:10 ./slackware64/xap/gftp-2.9.1b-x86_64-3.txt -rw-r--r-- 1 root root 443 2023-03-08 02:10 ./slackware64/xap/gftp-2.9.1b-x86_64-3.txt
-rw-r--r-- 1 root root 693100 2023-03-08 02:10 ./slackware64/xap/gftp-2.9.1b-x86_64-3.txz -rw-r--r-- 1 root root 693100 2023-03-08 02:10 ./slackware64/xap/gftp-2.9.1b-x86_64-3.txz
-rw-r--r-- 1 root root 163 2023-03-08 02:10 ./slackware64/xap/gftp-2.9.1b-x86_64-3.txz.asc -rw-r--r-- 1 root root 163 2023-03-08 02:10 ./slackware64/xap/gftp-2.9.1b-x86_64-3.txz.asc
@ -5423,9 +5423,9 @@ drwxr-xr-x 2 root root 16384 2023-09-28 00:19 ./slackware64/xap
-rw-r--r-- 1 root root 163 2023-01-09 19:24 ./slackware64/xap/libnma-1.10.6-x86_64-1.txz.asc -rw-r--r-- 1 root root 163 2023-01-09 19:24 ./slackware64/xap/libnma-1.10.6-x86_64-1.txz.asc
-rw-r--r-- 1 root root 4491 2021-09-23 19:14 ./slackware64/xap/maketag -rw-r--r-- 1 root root 4491 2021-09-23 19:14 ./slackware64/xap/maketag
-rw-r--r-- 1 root root 4491 2021-09-23 19:14 ./slackware64/xap/maketag.ez -rw-r--r-- 1 root root 4491 2021-09-23 19:14 ./slackware64/xap/maketag.ez
-rw-r--r-- 1 root root 570 2023-09-26 17:55 ./slackware64/xap/mozilla-firefox-115.3.0esr-x86_64-1.txt -rw-r--r-- 1 root root 570 2023-09-28 20:02 ./slackware64/xap/mozilla-firefox-115.3.1esr-x86_64-1.txt
-rw-r--r-- 1 root root 59891028 2023-09-26 17:55 ./slackware64/xap/mozilla-firefox-115.3.0esr-x86_64-1.txz -rw-r--r-- 1 root root 59888520 2023-09-28 20:02 ./slackware64/xap/mozilla-firefox-115.3.1esr-x86_64-1.txz
-rw-r--r-- 1 root root 163 2023-09-26 17:55 ./slackware64/xap/mozilla-firefox-115.3.0esr-x86_64-1.txz.asc -rw-r--r-- 1 root root 163 2023-09-28 20:02 ./slackware64/xap/mozilla-firefox-115.3.1esr-x86_64-1.txz.asc
-rw-r--r-- 1 root root 663 2023-09-27 22:13 ./slackware64/xap/mozilla-thunderbird-115.3.0-x86_64-1.txt -rw-r--r-- 1 root root 663 2023-09-27 22:13 ./slackware64/xap/mozilla-thunderbird-115.3.0-x86_64-1.txt
-rw-r--r-- 1 root root 59207384 2023-09-27 22:13 ./slackware64/xap/mozilla-thunderbird-115.3.0-x86_64-1.txz -rw-r--r-- 1 root root 59207384 2023-09-27 22:13 ./slackware64/xap/mozilla-thunderbird-115.3.0-x86_64-1.txz
-rw-r--r-- 1 root root 163 2023-09-27 22:13 ./slackware64/xap/mozilla-thunderbird-115.3.0-x86_64-1.txz.asc -rw-r--r-- 1 root root 163 2023-09-27 22:13 ./slackware64/xap/mozilla-thunderbird-115.3.0-x86_64-1.txz.asc
@ -5505,7 +5505,7 @@ drwxr-xr-x 2 root root 16384 2023-09-28 00:19 ./slackware64/xap
-rw-r--r-- 1 root root 230 2023-06-28 19:46 ./slackware64/xap/xsnow-3.7.5-x86_64-1.txt -rw-r--r-- 1 root root 230 2023-06-28 19:46 ./slackware64/xap/xsnow-3.7.5-x86_64-1.txt
-rw-r--r-- 1 root root 1788332 2023-06-28 19:46 ./slackware64/xap/xsnow-3.7.5-x86_64-1.txz -rw-r--r-- 1 root root 1788332 2023-06-28 19:46 ./slackware64/xap/xsnow-3.7.5-x86_64-1.txz
-rw-r--r-- 1 root root 163 2023-06-28 19:46 ./slackware64/xap/xsnow-3.7.5-x86_64-1.txz.asc -rw-r--r-- 1 root root 163 2023-06-28 19:46 ./slackware64/xap/xsnow-3.7.5-x86_64-1.txz.asc
drwxr-xr-x 2 root root 12288 2023-09-15 19:52 ./slackware64/xfce drwxr-xr-x 2 root root 12288 2023-09-28 21:41 ./slackware64/xfce
-rw-r--r-- 1 root root 253 2021-10-01 03:27 ./slackware64/xfce/Greybird-3.22.15-noarch-1.txt -rw-r--r-- 1 root root 253 2021-10-01 03:27 ./slackware64/xfce/Greybird-3.22.15-noarch-1.txt
-rw-r--r-- 1 root root 189900 2021-10-01 03:27 ./slackware64/xfce/Greybird-3.22.15-noarch-1.txz -rw-r--r-- 1 root root 189900 2021-10-01 03:27 ./slackware64/xfce/Greybird-3.22.15-noarch-1.txz
-rw-r--r-- 1 root root 163 2021-10-01 03:27 ./slackware64/xfce/Greybird-3.22.15-noarch-1.txz.asc -rw-r--r-- 1 root root 163 2021-10-01 03:27 ./slackware64/xfce/Greybird-3.22.15-noarch-1.txz.asc
@ -5553,9 +5553,9 @@ drwxr-xr-x 2 root root 12288 2023-09-15 19:52 ./slackware64/xfce
-rw-r--r-- 1 root root 378 2023-02-28 19:27 ./slackware64/xfce/xfce4-notifyd-0.8.2-x86_64-1.txt -rw-r--r-- 1 root root 378 2023-02-28 19:27 ./slackware64/xfce/xfce4-notifyd-0.8.2-x86_64-1.txt
-rw-r--r-- 1 root root 185544 2023-02-28 19:27 ./slackware64/xfce/xfce4-notifyd-0.8.2-x86_64-1.txz -rw-r--r-- 1 root root 185544 2023-02-28 19:27 ./slackware64/xfce/xfce4-notifyd-0.8.2-x86_64-1.txz
-rw-r--r-- 1 root root 163 2023-02-28 19:27 ./slackware64/xfce/xfce4-notifyd-0.8.2-x86_64-1.txz.asc -rw-r--r-- 1 root root 163 2023-02-28 19:27 ./slackware64/xfce/xfce4-notifyd-0.8.2-x86_64-1.txz.asc
-rw-r--r-- 1 root root 437 2023-05-23 18:16 ./slackware64/xfce/xfce4-panel-4.18.4-x86_64-1.txt -rw-r--r-- 1 root root 437 2023-09-28 19:53 ./slackware64/xfce/xfce4-panel-4.18.5-x86_64-1.txt
-rw-r--r-- 1 root root 897668 2023-05-23 18:16 ./slackware64/xfce/xfce4-panel-4.18.4-x86_64-1.txz -rw-r--r-- 1 root root 865360 2023-09-28 19:53 ./slackware64/xfce/xfce4-panel-4.18.5-x86_64-1.txz
-rw-r--r-- 1 root root 163 2023-05-23 18:16 ./slackware64/xfce/xfce4-panel-4.18.4-x86_64-1.txz.asc -rw-r--r-- 1 root root 163 2023-09-28 19:53 ./slackware64/xfce/xfce4-panel-4.18.5-x86_64-1.txz.asc
-rw-r--r-- 1 root root 640 2023-06-05 18:54 ./slackware64/xfce/xfce4-panel-profiles-1.0.14-x86_64-1.txt -rw-r--r-- 1 root root 640 2023-06-05 18:54 ./slackware64/xfce/xfce4-panel-profiles-1.0.14-x86_64-1.txt
-rw-r--r-- 1 root root 84556 2023-06-05 18:54 ./slackware64/xfce/xfce4-panel-profiles-1.0.14-x86_64-1.txz -rw-r--r-- 1 root root 84556 2023-06-05 18:54 ./slackware64/xfce/xfce4-panel-profiles-1.0.14-x86_64-1.txz
-rw-r--r-- 1 root root 163 2023-06-05 18:54 ./slackware64/xfce/xfce4-panel-profiles-1.0.14-x86_64-1.txz.asc -rw-r--r-- 1 root root 163 2023-06-05 18:54 ./slackware64/xfce/xfce4-panel-profiles-1.0.14-x86_64-1.txz.asc
@ -5613,14 +5613,14 @@ drwxr-xr-x 2 root root 4096 2023-03-08 20:34 ./slackware64/y
-rw-r--r-- 1 root root 1491108 2023-02-19 18:31 ./slackware64/y/nethack-3.6.7-x86_64-1.txz -rw-r--r-- 1 root root 1491108 2023-02-19 18:31 ./slackware64/y/nethack-3.6.7-x86_64-1.txz
-rw-r--r-- 1 root root 163 2023-02-19 18:31 ./slackware64/y/nethack-3.6.7-x86_64-1.txz.asc -rw-r--r-- 1 root root 163 2023-02-19 18:31 ./slackware64/y/nethack-3.6.7-x86_64-1.txz.asc
-rw-r--r-- 1 root root 26 2020-12-30 21:55 ./slackware64/y/tagfile -rw-r--r-- 1 root root 26 2020-12-30 21:55 ./slackware64/y/tagfile
drwxr-xr-x 18 root root 4096 2023-09-28 00:20 ./source drwxr-xr-x 18 root root 4096 2023-09-28 21:42 ./source
-rw-r--r-- 1 root root 601150 2023-09-28 00:20 ./source/CHECKSUMS.md5 -rw-r--r-- 1 root root 601282 2023-09-28 21:42 ./source/CHECKSUMS.md5
-rw-r--r-- 1 root root 163 2023-09-28 00:20 ./source/CHECKSUMS.md5.asc -rw-r--r-- 1 root root 163 2023-09-28 21:42 ./source/CHECKSUMS.md5.asc
-rw-r--r-- 1 root root 836667 2023-09-28 00:20 ./source/FILE_LIST -rw-r--r-- 1 root root 836833 2023-09-28 21:42 ./source/FILE_LIST
-rw-r--r-- 1 root root 25057205 2023-09-28 00:20 ./source/MANIFEST.bz2 -rw-r--r-- 1 root root 25073701 2023-09-28 21:42 ./source/MANIFEST.bz2
-rw-r--r-- 1 root root 828 2022-02-02 04:43 ./source/README.TXT -rw-r--r-- 1 root root 828 2022-02-02 04:43 ./source/README.TXT
drwxr-xr-x 124 root root 4096 2023-08-26 19:26 ./source/a drwxr-xr-x 124 root root 4096 2023-09-28 19:04 ./source/a
-rw-r--r-- 1 root root 234 2022-10-16 18:39 ./source/a/FTBFSlog -rw-r--r-- 1 root root 339 2023-09-28 19:06 ./source/a/FTBFSlog
drwxr-xr-x 2 root root 4096 2022-02-15 18:15 ./source/a/aaa_base drwxr-xr-x 2 root root 4096 2022-02-15 18:15 ./source/a/aaa_base
-rw-r--r-- 1 root root 11041 2022-02-15 04:49 ./source/a/aaa_base/_aaa_base.tar.gz -rw-r--r-- 1 root root 11041 2022-02-15 04:49 ./source/a/aaa_base/_aaa_base.tar.gz
-rwxr-xr-x 1 root root 3884 2022-02-15 04:42 ./source/a/aaa_base/aaa_base.SlackBuild -rwxr-xr-x 1 root root 3884 2022-02-15 04:42 ./source/a/aaa_base/aaa_base.SlackBuild
@ -5983,13 +5983,14 @@ drwxr-xr-x 2 root root 4096 2006-12-03 23:10 ./source/a/glibc-zoneinfo/ti
-rw-r--r-- 1 root root 443902 2023-03-28 20:25 ./source/a/glibc-zoneinfo/tzdata2023c.tar.gz -rw-r--r-- 1 root root 443902 2023-03-28 20:25 ./source/a/glibc-zoneinfo/tzdata2023c.tar.gz
-rw-r--r-- 1 root root 833 2023-03-28 20:25 ./source/a/glibc-zoneinfo/tzdata2023c.tar.gz.asc -rw-r--r-- 1 root root 833 2023-03-28 20:25 ./source/a/glibc-zoneinfo/tzdata2023c.tar.gz.asc
-rw-r--r-- 1 root root 178 2020-10-12 18:03 ./source/a/glibc-zoneinfo/zic.default.fat.diff.gz -rw-r--r-- 1 root root 178 2020-10-12 18:03 ./source/a/glibc-zoneinfo/zic.default.fat.diff.gz
drwxr-xr-x 2 root root 4096 2021-02-13 05:31 ./source/a/gpm drwxr-xr-x 2 root root 4096 2023-09-28 19:03 ./source/a/gpm
-rw-r--r-- 1 root root 361 2013-02-13 03:15 ./source/a/gpm/gpm-1.20.1-lib-silent.patch.gz -rw-r--r-- 1 root root 361 2013-02-13 03:15 ./source/a/gpm/gpm-1.20.1-lib-silent.patch.gz
-rw-r--r-- 1 root root 587 2013-02-13 22:19 ./source/a/gpm/gpm-1.20.1-select-1.patch.gz -rw-r--r-- 1 root root 587 2013-02-13 22:19 ./source/a/gpm/gpm-1.20.1-select-1.patch.gz
-rw-r--r-- 1 root root 487 2013-01-04 11:00 ./source/a/gpm/gpm-1.20.1-weak-wgetch.patch.gz -rw-r--r-- 1 root root 487 2013-01-04 11:00 ./source/a/gpm/gpm-1.20.1-weak-wgetch.patch.gz
-rw-r--r-- 1 root root 401 2013-02-13 03:15 ./source/a/gpm/gpm-1.20.5-close-fds.patch.gz -rw-r--r-- 1 root root 401 2013-02-13 03:15 ./source/a/gpm/gpm-1.20.5-close-fds.patch.gz
-rw-r--r-- 1 root root 789852 2012-10-26 21:21 ./source/a/gpm/gpm-1.20.7.tar.xz -rw-r--r-- 1 root root 789852 2012-10-26 21:21 ./source/a/gpm/gpm-1.20.7.tar.xz
-rwxr-xr-x 1 root root 5500 2021-02-13 05:31 ./source/a/gpm/gpm.SlackBuild -rwxr-xr-x 1 root root 5823 2023-09-28 19:05 ./source/a/gpm/gpm.SlackBuild
-rw-r--r-- 1 root root 333 2023-09-28 19:01 ./source/a/gpm/gpm.configure.diff.gz
-rw-r--r-- 1 root root 581 2018-02-03 20:53 ./source/a/gpm/gpm.gcc7.diff.gz -rw-r--r-- 1 root root 581 2018-02-03 20:53 ./source/a/gpm/gpm.gcc7.diff.gz
-rw-r--r-- 1 root root 266 2018-02-03 20:49 ./source/a/gpm/gpm.types.diff.gz -rw-r--r-- 1 root root 266 2018-02-03 20:49 ./source/a/gpm/gpm.types.diff.gz
-rw-r--r-- 1 root root 4268 2004-09-09 05:52 ./source/a/gpm/inputattach.c.gz -rw-r--r-- 1 root root 4268 2004-09-09 05:52 ./source/a/gpm/inputattach.c.gz
@ -7074,8 +7075,8 @@ drwxr-xr-x 2 root root 4096 2022-08-05 17:52 ./source/ap/most
-rwxr-xr-x 1 root root 3334 2022-08-05 17:52 ./source/ap/most/most.SlackBuild -rwxr-xr-x 1 root root 3334 2022-08-05 17:52 ./source/ap/most/most.SlackBuild
-rw-r--r-- 1 root root 39 2019-03-06 19:02 ./source/ap/most/most.url -rw-r--r-- 1 root root 39 2019-03-06 19:02 ./source/ap/most/most.url
-rw-r--r-- 1 root root 828 2018-02-27 06:12 ./source/ap/most/slack-desc -rw-r--r-- 1 root root 828 2018-02-27 06:12 ./source/ap/most/slack-desc
drwxr-xr-x 2 root root 4096 2023-03-20 17:44 ./source/ap/mpg123 drwxr-xr-x 2 root root 4096 2023-09-28 19:38 ./source/ap/mpg123
-rw-r--r-- 1 root root 905502 2023-03-19 21:25 ./source/ap/mpg123/mpg123-1.31.3.tar.lz -rw-r--r-- 1 root root 918621 2023-09-27 20:13 ./source/ap/mpg123/mpg123-1.32.2.tar.lz
-rwxr-xr-x 1 root root 6313 2021-10-18 16:54 ./source/ap/mpg123/mpg123.SlackBuild -rwxr-xr-x 1 root root 6313 2021-10-18 16:54 ./source/ap/mpg123/mpg123.SlackBuild
-rw-r--r-- 1 root root 250 2021-09-18 19:47 ./source/ap/mpg123/mpg123.lib64.diff.gz -rw-r--r-- 1 root root 250 2021-09-18 19:47 ./source/ap/mpg123/mpg123.lib64.diff.gz
-rw-r--r-- 1 root root 27 2019-08-26 18:16 ./source/ap/mpg123/mpg123.url -rw-r--r-- 1 root root 27 2019-08-26 18:16 ./source/ap/mpg123/mpg123.url
@ -9805,7 +9806,7 @@ drwxr-xr-x 2 root root 4096 2023-07-06 17:29 ./source/kde/zxing-cpp
-rw-r--r-- 1 root root 574494 2023-07-05 16:25 ./source/kde/zxing-cpp/zxing-cpp-2.1.0.tar.lz -rw-r--r-- 1 root root 574494 2023-07-05 16:25 ./source/kde/zxing-cpp/zxing-cpp-2.1.0.tar.lz
-rwxr-xr-x 1 root root 3872 2023-04-20 20:52 ./source/kde/zxing-cpp/zxing-cpp.SlackBuild -rwxr-xr-x 1 root root 3872 2023-04-20 20:52 ./source/kde/zxing-cpp/zxing-cpp.SlackBuild
-rw-r--r-- 1 root root 39 2023-04-20 20:51 ./source/kde/zxing-cpp/zxing-cpp.url -rw-r--r-- 1 root root 39 2023-04-20 20:51 ./source/kde/zxing-cpp/zxing-cpp.url
drwxr-xr-x 400 root root 12288 2023-09-24 22:44 ./source/l drwxr-xr-x 400 root root 12288 2023-09-28 19:23 ./source/l
-rw-r--r-- 1 root root 1227 2023-08-15 02:21 ./source/l/FTBFSlog -rw-r--r-- 1 root root 1227 2023-08-15 02:21 ./source/l/FTBFSlog
drwxr-xr-x 3 root root 4096 2022-03-06 19:58 ./source/l/GConf drwxr-xr-x 3 root root 4096 2022-03-06 19:58 ./source/l/GConf
-rw-r--r-- 1 root root 1559904 2013-01-22 02:48 ./source/l/GConf/GConf-3.2.6.tar.xz -rw-r--r-- 1 root root 1559904 2013-01-22 02:48 ./source/l/GConf/GConf-3.2.6.tar.xz
@ -9975,9 +9976,9 @@ drwxr-xr-x 2 root root 4096 2023-09-01 18:20 ./source/l/brotli
-rw-r--r-- 1 root root 34 2020-02-16 20:39 ./source/l/brotli/brotli.url -rw-r--r-- 1 root root 34 2020-02-16 20:39 ./source/l/brotli/brotli.url
-rwxr-xr-x 1 root root 1979 2020-02-16 20:26 ./source/l/brotli/repack-github-archive.sh -rwxr-xr-x 1 root root 1979 2020-02-16 20:26 ./source/l/brotli/repack-github-archive.sh
-rw-r--r-- 1 root root 1024 2020-02-16 20:42 ./source/l/brotli/slack-desc -rw-r--r-- 1 root root 1024 2020-02-16 20:42 ./source/l/brotli/slack-desc
drwxr-xr-x 2 root root 4096 2023-09-16 18:07 ./source/l/cairo drwxr-xr-x 2 root root 4096 2023-09-28 19:22 ./source/l/cairo
-rw-r--r-- 1 root root 3455305 2022-03-18 18:55 ./source/l/cairo/cairo-1.17.6.tar.lz -rw-r--r-- 1 root root 1784450 2023-09-23 14:56 ./source/l/cairo/cairo-1.18.0.tar.lz
-rwxr-xr-x 1 root root 4925 2023-09-16 18:19 ./source/l/cairo/cairo.SlackBuild -rwxr-xr-x 1 root root 4146 2023-09-28 19:22 ./source/l/cairo/cairo.SlackBuild
-rw-r--r-- 1 root root 76 2023-09-16 18:06 ./source/l/cairo/cairo.url -rw-r--r-- 1 root root 76 2023-09-16 18:06 ./source/l/cairo/cairo.url
-rwxr-xr-x 1 root root 2142 2018-09-24 18:50 ./source/l/cairo/paredown.sh -rwxr-xr-x 1 root root 2142 2018-09-24 18:50 ./source/l/cairo/paredown.sh
-rw-r--r-- 1 root root 884 2018-02-27 06:12 ./source/l/cairo/slack-desc -rw-r--r-- 1 root root 884 2018-02-27 06:12 ./source/l/cairo/slack-desc
@ -10444,9 +10445,9 @@ drwxr-xr-x 2 root root 4096 2023-05-24 05:15 ./source/l/gtk+3
-rwxr-xr-x 1 root root 5213 2023-01-20 19:40 ./source/l/gtk+3/gtk+3.SlackBuild -rwxr-xr-x 1 root root 5213 2023-01-20 19:40 ./source/l/gtk+3/gtk+3.SlackBuild
-rw-r--r-- 1 root root 781 2021-04-02 18:03 ./source/l/gtk+3/slack-desc -rw-r--r-- 1 root root 781 2021-04-02 18:03 ./source/l/gtk+3/slack-desc
-rw-r--r-- 1 root root 1458 2013-07-12 05:02 ./source/l/gtk+3/update-gtk-immodules-3.0 -rw-r--r-- 1 root root 1458 2013-07-12 05:02 ./source/l/gtk+3/update-gtk-immodules-3.0
drwxr-xr-x 2 root root 4096 2023-09-21 18:50 ./source/l/gtk4 drwxr-xr-x 2 root root 4096 2023-09-28 19:37 ./source/l/gtk4
-rw-r--r-- 1 root root 421 2021-08-11 19:12 ./source/l/gtk4/doinst.sh.gz -rw-r--r-- 1 root root 421 2021-08-11 19:12 ./source/l/gtk4/doinst.sh.gz
-rw-r--r-- 1 root root 16942832 2023-09-20 20:43 ./source/l/gtk4/gtk-4.12.2.tar.xz -rw-r--r-- 1 root root 16930224 2023-09-28 12:22 ./source/l/gtk4/gtk-4.12.3.tar.xz
-rwxr-xr-x 1 root root 5306 2023-09-04 19:25 ./source/l/gtk4/gtk4.SlackBuild -rwxr-xr-x 1 root root 5306 2023-09-04 19:25 ./source/l/gtk4/gtk4.SlackBuild
-rw-r--r-- 1 root root 767 2021-08-11 19:02 ./source/l/gtk4/slack-desc -rw-r--r-- 1 root root 767 2021-08-11 19:02 ./source/l/gtk4/slack-desc
drwxr-xr-x 2 root root 4096 2021-02-13 05:31 ./source/l/gtkmm2 drwxr-xr-x 2 root root 4096 2021-02-13 05:31 ./source/l/gtkmm2
@ -14531,13 +14532,13 @@ drwxr-xr-x 2 root root 12288 2022-05-21 04:31 ./source/x/x11/slack-desc
-rw-r--r-- 1 root root 716 2012-04-08 02:21 ./source/x/x11/slack-desc/xwd -rw-r--r-- 1 root root 716 2012-04-08 02:21 ./source/x/x11/slack-desc/xwd
-rw-r--r-- 1 root root 702 2012-04-08 02:21 ./source/x/x11/slack-desc/xwininfo -rw-r--r-- 1 root root 702 2012-04-08 02:21 ./source/x/x11/slack-desc/xwininfo
-rw-r--r-- 1 root root 668 2012-04-07 23:42 ./source/x/x11/slack-desc/xwud -rw-r--r-- 1 root root 668 2012-04-07 23:42 ./source/x/x11/slack-desc/xwud
drwxr-xr-x 12 root root 4096 2023-09-08 18:03 ./source/x/x11/src drwxr-xr-x 12 root root 4096 2023-09-28 19:33 ./source/x/x11/src
drwxr-xr-x 2 root root 4096 2023-09-15 18:59 ./source/x/x11/src/app drwxr-xr-x 2 root root 4096 2023-09-28 19:33 ./source/x/x11/src/app
-rw-r--r-- 1 root root 118972 2022-04-03 18:57 ./source/x/x11/src/app/appres-1.0.6.tar.xz -rw-r--r-- 1 root root 118972 2022-04-03 18:57 ./source/x/x11/src/app/appres-1.0.6.tar.xz
-rw-r--r-- 1 root root 117904 2023-01-28 17:31 ./source/x/x11/src/app/beforelight-1.0.6.tar.xz -rw-r--r-- 1 root root 117904 2023-01-28 17:31 ./source/x/x11/src/app/beforelight-1.0.6.tar.xz
-rw-r--r-- 1 root root 163560 2022-04-30 20:26 ./source/x/x11/src/app/bitmap-1.1.0.tar.xz -rw-r--r-- 1 root root 163560 2022-04-30 20:26 ./source/x/x11/src/app/bitmap-1.1.0.tar.xz
-rw-r--r-- 1 root root 158476 2022-04-03 18:34 ./source/x/x11/src/app/editres-1.0.8.tar.xz -rw-r--r-- 1 root root 158476 2022-04-03 18:34 ./source/x/x11/src/app/editres-1.0.8.tar.xz
-rw-r--r-- 1 root root 136776 2021-06-15 01:28 ./source/x/x11/src/app/fonttosfnt-1.2.2.tar.xz -rw-r--r-- 1 root root 140068 2023-09-28 01:47 ./source/x/x11/src/app/fonttosfnt-1.2.3.tar.xz
-rw-r--r-- 1 root root 123484 2022-09-10 16:53 ./source/x/x11/src/app/fslsfonts-1.0.6.tar.xz -rw-r--r-- 1 root root 123484 2022-09-10 16:53 ./source/x/x11/src/app/fslsfonts-1.0.6.tar.xz
-rw-r--r-- 1 root root 122432 2022-10-06 01:44 ./source/x/x11/src/app/fstobdf-1.0.7.tar.xz -rw-r--r-- 1 root root 122432 2022-10-06 01:44 ./source/x/x11/src/app/fstobdf-1.0.7.tar.xz
-rw-r--r-- 1 root root 130724 2022-04-03 18:47 ./source/x/x11/src/app/iceauth-1.0.9.tar.xz -rw-r--r-- 1 root root 130724 2022-04-03 18:47 ./source/x/x11/src/app/iceauth-1.0.9.tar.xz
@ -14897,11 +14898,12 @@ drwxr-xr-x 2 root root 4096 2022-11-04 18:08 ./source/xap/fvwm
-rw-r--r-- 1 root root 863 2018-02-27 06:13 ./source/xap/fvwm/slack-desc -rw-r--r-- 1 root root 863 2018-02-27 06:13 ./source/xap/fvwm/slack-desc
-rw-r--r-- 1 root root 217 2012-08-09 04:42 ./source/xap/fvwm/startfvwm2.gz -rw-r--r-- 1 root root 217 2012-08-09 04:42 ./source/xap/fvwm/startfvwm2.gz
-rw-r--r-- 1 root root 360 2012-08-10 23:46 ./source/xap/fvwm/xinitrc.fvwm2.gz -rw-r--r-- 1 root root 360 2012-08-10 23:46 ./source/xap/fvwm/xinitrc.fvwm2.gz
drwxr-xr-x 2 root root 4096 2023-06-19 16:50 ./source/xap/geeqie drwxr-xr-x 2 root root 4096 2023-09-28 18:33 ./source/xap/geeqie
-rw-r--r-- 1 root root 163 2010-03-11 23:20 ./source/xap/geeqie/doinst.sh.gz -rw-r--r-- 1 root root 163 2010-03-11 23:20 ./source/xap/geeqie/doinst.sh.gz
-rw-r--r-- 1 root root 399 2018-01-02 08:20 ./source/xap/geeqie/fix-build-re-docs.diff.gz -rw-r--r-- 1 root root 399 2018-01-02 08:20 ./source/xap/geeqie/fix-build-re-docs.diff.gz
-rw-r--r-- 1 root root 293 2023-09-28 18:33 ./source/xap/geeqie/geeqie-2.1-lua.patch
-rw-r--r-- 1 root root 1732233 2023-06-17 12:14 ./source/xap/geeqie/geeqie-2.1.tar.lz -rw-r--r-- 1 root root 1732233 2023-06-17 12:14 ./source/xap/geeqie/geeqie-2.1.tar.lz
-rwxr-xr-x 1 root root 5158 2023-06-19 16:50 ./source/xap/geeqie/geeqie.SlackBuild -rwxr-xr-x 1 root root 5227 2023-09-28 18:33 ./source/xap/geeqie/geeqie.SlackBuild
-rw-r--r-- 1 root root 42 2022-01-17 21:59 ./source/xap/geeqie/geeqie.url -rw-r--r-- 1 root root 42 2022-01-17 21:59 ./source/xap/geeqie/geeqie.url
-rw-r--r-- 1 root root 756 2018-02-27 06:13 ./source/xap/geeqie/slack-desc -rw-r--r-- 1 root root 756 2018-02-27 06:13 ./source/xap/geeqie/slack-desc
drwxr-xr-x 2 root root 4096 2023-03-07 21:39 ./source/xap/gftp drwxr-xr-x 2 root root 4096 2023-03-07 21:39 ./source/xap/gftp
@ -14970,7 +14972,7 @@ drwxr-xr-x 2 root root 4096 2023-01-09 19:24 ./source/xap/libnma
-rw-r--r-- 1 root root 702820 2023-01-08 23:51 ./source/xap/libnma/libnma-1.10.6.tar.xz -rw-r--r-- 1 root root 702820 2023-01-08 23:51 ./source/xap/libnma/libnma-1.10.6.tar.xz
-rwxr-xr-x 1 root root 3630 2023-01-09 19:24 ./source/xap/libnma/libnma.SlackBuild -rwxr-xr-x 1 root root 3630 2023-01-09 19:24 ./source/xap/libnma/libnma.SlackBuild
-rw-r--r-- 1 root root 792 2020-03-07 19:38 ./source/xap/libnma/slack-desc -rw-r--r-- 1 root root 792 2020-03-07 19:38 ./source/xap/libnma/slack-desc
drwxr-xr-x 3 root root 4096 2023-09-26 17:36 ./source/xap/mozilla-firefox drwxr-xr-x 3 root root 4096 2023-09-28 19:31 ./source/xap/mozilla-firefox
-rw-r--r-- 1 root root 693 2021-03-22 17:58 ./source/xap/mozilla-firefox/0027-LTO-Only-enable-LTO-for-Rust-when-complete-build-use.patch.gz -rw-r--r-- 1 root root 693 2021-03-22 17:58 ./source/xap/mozilla-firefox/0027-LTO-Only-enable-LTO-for-Rust-when-complete-build-use.patch.gz
-rw-r--r-- 1 root root 266 2022-08-06 19:40 ./source/xap/mozilla-firefox/arc4random_buf.glibc-2.36.diff.gz -rw-r--r-- 1 root root 266 2022-08-06 19:40 ./source/xap/mozilla-firefox/arc4random_buf.glibc-2.36.diff.gz
drwxr-xr-x 3 root root 4096 2022-12-07 18:06 ./source/xap/mozilla-firefox/build-deps drwxr-xr-x 3 root root 4096 2022-12-07 18:06 ./source/xap/mozilla-firefox/build-deps
@ -14981,8 +14983,8 @@ drwxr-xr-x 2 root root 4096 2016-07-03 18:05 ./source/xap/mozilla-firefox
-rwxr-xr-x 1 root root 2486 2019-07-08 21:06 ./source/xap/mozilla-firefox/build-deps/autoconf/autoconf.build -rwxr-xr-x 1 root root 2486 2019-07-08 21:06 ./source/xap/mozilla-firefox/build-deps/autoconf/autoconf.build
-rwxr-xr-x 1 root root 840 2018-03-13 12:55 ./source/xap/mozilla-firefox/fetch-and-repack.sh -rwxr-xr-x 1 root root 840 2018-03-13 12:55 ./source/xap/mozilla-firefox/fetch-and-repack.sh
-rw-r--r-- 1 root root 330 2019-07-08 18:41 ./source/xap/mozilla-firefox/ff.ui.scrollToClick.diff.gz -rw-r--r-- 1 root root 330 2019-07-08 18:41 ./source/xap/mozilla-firefox/ff.ui.scrollToClick.diff.gz
-rw-r--r-- 1 root root 510157064 2023-09-25 11:45 ./source/xap/mozilla-firefox/firefox-115.3.0esr.source.tar.xz -rw-r--r-- 1 root root 515785920 2023-09-28 11:20 ./source/xap/mozilla-firefox/firefox-115.3.1esr.source.tar.xz
-rw-r--r-- 1 root root 833 2023-09-25 11:45 ./source/xap/mozilla-firefox/firefox-115.3.0esr.source.tar.xz.asc -rw-r--r-- 1 root root 833 2023-09-28 11:20 ./source/xap/mozilla-firefox/firefox-115.3.1esr.source.tar.xz.asc
-rw-r--r-- 1 root root 327 2008-06-17 17:19 ./source/xap/mozilla-firefox/firefox.moz_plugin_path.diff.gz -rw-r--r-- 1 root root 327 2008-06-17 17:19 ./source/xap/mozilla-firefox/firefox.moz_plugin_path.diff.gz
-rw-r--r-- 1 root root 518 2021-03-15 17:43 ./source/xap/mozilla-firefox/gkrust.a.no.networking.check.diff.gz -rw-r--r-- 1 root root 518 2021-03-15 17:43 ./source/xap/mozilla-firefox/gkrust.a.no.networking.check.diff.gz
-rw-r--r-- 1 root root 462 2009-07-01 06:05 ./source/xap/mozilla-firefox/mimeTypes.rdf.gz -rw-r--r-- 1 root root 462 2009-07-01 06:05 ./source/xap/mozilla-firefox/mimeTypes.rdf.gz
@ -15311,14 +15313,14 @@ drwxr-xr-x 2 root root 4096 2023-02-28 19:27 ./source/xfce/xfce4-notifyd
-rw-r--r-- 1 root root 506883 2023-02-28 06:37 ./source/xfce/xfce4-notifyd/xfce4-notifyd-0.8.2.tar.lz -rw-r--r-- 1 root root 506883 2023-02-28 06:37 ./source/xfce/xfce4-notifyd/xfce4-notifyd-0.8.2.tar.lz
-rwxr-xr-x 1 root root 4023 2022-02-13 19:38 ./source/xfce/xfce4-notifyd/xfce4-notifyd.SlackBuild -rwxr-xr-x 1 root root 4023 2022-02-13 19:38 ./source/xfce/xfce4-notifyd/xfce4-notifyd.SlackBuild
-rw-r--r-- 1 root root 52 2023-02-11 20:27 ./source/xfce/xfce4-notifyd/xfce4-notifyd.url -rw-r--r-- 1 root root 52 2023-02-11 20:27 ./source/xfce/xfce4-notifyd/xfce4-notifyd.url
drwxr-xr-x 2 root root 4096 2023-05-23 18:11 ./source/xfce/xfce4-panel drwxr-xr-x 2 root root 4096 2023-09-28 19:44 ./source/xfce/xfce4-panel
drwxr-xr-x 2 root root 4096 2023-06-05 18:35 ./source/xfce/xfce4-panel-profiles drwxr-xr-x 2 root root 4096 2023-06-05 18:35 ./source/xfce/xfce4-panel-profiles
-rw-r--r-- 1 root root 121 2019-08-02 07:05 ./source/xfce/xfce4-panel-profiles/doinst.sh.gz -rw-r--r-- 1 root root 121 2019-08-02 07:05 ./source/xfce/xfce4-panel-profiles/doinst.sh.gz
-rw-r--r-- 1 root root 1141 2023-06-05 18:33 ./source/xfce/xfce4-panel-profiles/slack-desc -rw-r--r-- 1 root root 1141 2023-06-05 18:33 ./source/xfce/xfce4-panel-profiles/slack-desc
-rw-r--r-- 1 root root 71610 2023-06-05 07:03 ./source/xfce/xfce4-panel-profiles/xfce4-panel-profiles-1.0.14.tar.lz -rw-r--r-- 1 root root 71610 2023-06-05 07:03 ./source/xfce/xfce4-panel-profiles/xfce4-panel-profiles-1.0.14.tar.lz
-rwxr-xr-x 1 root root 3834 2021-02-22 01:27 ./source/xfce/xfce4-panel-profiles/xfce4-panel-profiles.SlackBuild -rwxr-xr-x 1 root root 3834 2021-02-22 01:27 ./source/xfce/xfce4-panel-profiles/xfce4-panel-profiles.SlackBuild
-rw-r--r-- 1 root root 896 2018-02-27 06:13 ./source/xfce/xfce4-panel/slack-desc -rw-r--r-- 1 root root 896 2018-02-27 06:13 ./source/xfce/xfce4-panel/slack-desc
-rw-r--r-- 1 root root 1344602 2023-05-22 17:42 ./source/xfce/xfce4-panel/xfce4-panel-4.18.4.tar.lz -rw-r--r-- 1 root root 1317986 2023-09-27 16:07 ./source/xfce/xfce4-panel/xfce4-panel-4.18.5.tar.lz
-rwxr-xr-x 1 root root 4782 2021-02-25 19:35 ./source/xfce/xfce4-panel/xfce4-panel.SlackBuild -rwxr-xr-x 1 root root 4782 2021-02-25 19:35 ./source/xfce/xfce4-panel/xfce4-panel.SlackBuild
-rw-r--r-- 1 root root 52 2022-12-17 20:44 ./source/xfce/xfce4-panel/xfce4-panel.url -rw-r--r-- 1 root root 52 2022-12-17 20:44 ./source/xfce/xfce4-panel/xfce4-panel.url
drwxr-xr-x 2 root root 4096 2023-05-30 17:47 ./source/xfce/xfce4-power-manager drwxr-xr-x 2 root root 4096 2023-05-30 17:47 ./source/xfce/xfce4-power-manager
@ -15438,17 +15440,53 @@ drwxr-xr-x 2 root root 4096 2023-02-19 18:29 ./source/y/nethack
-rwxr-xr-x 1 root root 4972 2023-02-19 18:30 ./source/y/nethack/nethack.SlackBuild -rwxr-xr-x 1 root root 4972 2023-02-19 18:30 ./source/y/nethack/nethack.SlackBuild
-rw-r--r-- 1 root root 59 2023-02-19 18:28 ./source/y/nethack/nethack.url -rw-r--r-- 1 root root 59 2023-02-19 18:28 ./source/y/nethack/nethack.url
-rw-r--r-- 1 root root 1031 2020-12-30 21:50 ./source/y/nethack/slack-desc -rw-r--r-- 1 root root 1031 2020-12-30 21:50 ./source/y/nethack/slack-desc
drwxr-xr-x 4 root root 4096 2023-09-20 00:14 ./testing drwxr-xr-x 4 root root 4096 2023-09-28 21:42 ./testing
-rw-r--r-- 1 root root 1086 2023-09-20 00:14 ./testing/CHECKSUMS.md5 -rw-r--r-- 1 root root 3553 2023-09-28 21:42 ./testing/CHECKSUMS.md5
-rw-r--r-- 1 root root 163 2023-09-20 00:14 ./testing/CHECKSUMS.md5.asc -rw-r--r-- 1 root root 163 2023-09-28 21:42 ./testing/CHECKSUMS.md5.asc
-rw-r--r-- 1 root root 1451 2023-09-20 00:14 ./testing/FILE_LIST -rw-r--r-- 1 root root 4659 2023-09-28 21:42 ./testing/FILE_LIST
-rw-r--r-- 1 root root 1651626 2023-09-20 00:14 ./testing/MANIFEST.bz2 -rw-r--r-- 1 root root 1812836 2023-09-28 21:42 ./testing/MANIFEST.bz2
-rw-r--r-- 1 root root 832 2023-09-20 00:14 ./testing/PACKAGES.TXT -rw-r--r-- 1 root root 2880 2023-09-28 21:42 ./testing/PACKAGES.TXT
drwxr-xr-x 2 root root 4096 2023-09-20 00:14 ./testing/packages drwxr-xr-x 2 root root 4096 2023-09-28 21:42 ./testing/packages
-rw-r--r-- 1 root root 371 2023-09-28 20:23 ./testing/packages/aaa_glibc-solibs-2.38-x86_64-1.txt
-rw-r--r-- 1 root root 2816020 2023-09-28 20:23 ./testing/packages/aaa_glibc-solibs-2.38-x86_64-1.txz
-rw-r--r-- 1 root root 163 2023-09-28 20:23 ./testing/packages/aaa_glibc-solibs-2.38-x86_64-1.txz.asc
-rw-r--r-- 1 root root 313 2023-09-28 20:23 ./testing/packages/glibc-2.38-x86_64-1.txt
-rw-r--r-- 1 root root 5438668 2023-09-28 20:23 ./testing/packages/glibc-2.38-x86_64-1.txz
-rw-r--r-- 1 root root 163 2023-09-28 20:23 ./testing/packages/glibc-2.38-x86_64-1.txz.asc
-rw-r--r-- 1 root root 353 2023-09-28 20:23 ./testing/packages/glibc-i18n-2.38-x86_64-1.txt
-rw-r--r-- 1 root root 12174804 2023-09-28 20:23 ./testing/packages/glibc-i18n-2.38-x86_64-1.txz
-rw-r--r-- 1 root root 163 2023-09-28 20:23 ./testing/packages/glibc-i18n-2.38-x86_64-1.txz.asc
-rw-r--r-- 1 root root 507 2023-09-28 20:22 ./testing/packages/glibc-profile-2.38-x86_64-1.txt
-rw-r--r-- 1 root root 1584216 2023-09-28 20:22 ./testing/packages/glibc-profile-2.38-x86_64-1.txz
-rw-r--r-- 1 root root 163 2023-09-28 20:22 ./testing/packages/glibc-profile-2.38-x86_64-1.txz.asc
-rw-r--r-- 1 root root 426 2023-09-19 22:46 ./testing/packages/rust-1.72.1-x86_64-1.txt -rw-r--r-- 1 root root 426 2023-09-19 22:46 ./testing/packages/rust-1.72.1-x86_64-1.txt
-rw-r--r-- 1 root root 96914996 2023-09-19 22:46 ./testing/packages/rust-1.72.1-x86_64-1.txz -rw-r--r-- 1 root root 96914996 2023-09-19 22:46 ./testing/packages/rust-1.72.1-x86_64-1.txz
-rw-r--r-- 1 root root 163 2023-09-19 22:46 ./testing/packages/rust-1.72.1-x86_64-1.txz.asc -rw-r--r-- 1 root root 163 2023-09-19 22:46 ./testing/packages/rust-1.72.1-x86_64-1.txz.asc
drwxr-xr-x 3 root root 4096 2023-08-26 04:58 ./testing/source drwxr-xr-x 4 root root 4096 2023-09-28 20:07 ./testing/source
drwxr-xr-x 4 root root 4096 2023-09-26 20:58 ./testing/source/glibc
-rw-r--r-- 1 root root 5930 2023-09-26 20:37 ./testing/source/glibc/doinst.sh-aaa_glibc-solibs
-rw-r--r-- 1 root root 6032 2023-09-26 20:36 ./testing/source/glibc/doinst.sh-glibc
-rw-r--r-- 1 root root 415 2021-01-17 00:43 ./testing/source/glibc/glibc-2.32.en_US.no.am.pm.date.format.diff.gz
-rw-r--r-- 1 root root 18913712 2023-07-31 21:34 ./testing/source/glibc/glibc-2.38.tar.xz
-rw-r--r-- 1 root root 833 2023-07-31 21:34 ./testing/source/glibc/glibc-2.38.tar.xz.sig
-rwxr-xr-x 1 root root 174 2004-08-09 06:21 ./testing/source/glibc/glibc-cvs-checkout.sh
-rwxr-xr-x 1 root root 18140 2023-09-28 20:17 ./testing/source/glibc/glibc.SlackBuild
-rw-r--r-- 1 root root 312 2019-02-16 20:06 ./testing/source/glibc/glibc.locale.no-archive.diff.gz
-rw-r--r-- 1 root root 213 2006-08-22 06:33 ./testing/source/glibc/glibc.ru_RU.CP1251.diff.gz
-rw-r--r-- 1 root root 392462 2023-09-17 19:27 ./testing/source/glibc/libxcrypt-4.4.36.tar.lz
-rwxr-xr-x 1 root root 3951 2023-09-26 23:48 ./testing/source/glibc/libxcrypt.build
-rw-r--r-- 1 root root 38 2023-09-17 19:27 ./testing/source/glibc/libxcrypt.url
drwxr-xr-x 2 root root 4096 2023-09-18 19:01 ./testing/source/glibc/patches
-rw-r--r-- 1 root root 7875 2023-09-16 22:25 ./testing/source/glibc/patches/glibc-2.38-upstream_fixes-1.patch.gz
-rw-r--r-- 1 root root 1349 2023-08-07 21:56 ./testing/source/glibc/patches/reenable_DT_HASH.patch.gz
drwxr-xr-x 2 root root 4096 2006-09-14 06:32 ./testing/source/glibc/profile.d
-rwxr-xr-x 1 root root 328 2011-03-27 21:19 ./testing/source/glibc/profile.d/glibc.csh.new
-rwxr-xr-x 1 root root 325 2006-09-14 08:26 ./testing/source/glibc/profile.d/glibc.sh.new
-rw-r--r-- 1 root root 835 2021-02-05 20:55 ./testing/source/glibc/slack-desc.aaa_glibc-solibs
-rw-r--r-- 1 root root 766 2019-02-21 18:35 ./testing/source/glibc/slack-desc.glibc
-rw-r--r-- 1 root root 1132 2018-02-27 06:12 ./testing/source/glibc/slack-desc.glibc-debug
-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
drwxr-xr-x 2 root root 4096 2023-09-19 22:46 ./testing/source/rust drwxr-xr-x 2 root root 4096 2023-09-19 22:46 ./testing/source/rust
-rw-r--r-- 1 root root 261 2020-11-19 19:46 ./testing/source/rust/link_libffi.diff.gz -rw-r--r-- 1 root root 261 2020-11-19 19:46 ./testing/source/rust/link_libffi.diff.gz
-rwxr-xr-x 1 root root 10063 2023-09-19 21:57 ./testing/source/rust/rust.SlackBuild -rwxr-xr-x 1 root root 10063 2023-09-19 21:57 ./testing/source/rust/rust.SlackBuild

View file

@ -142,6 +142,7 @@ gzip ./source/a/gpm/gpm-1.20.5-close-fds.patch
gzip ./source/a/gpm/gpm.types.diff gzip ./source/a/gpm/gpm.types.diff
gzip ./source/a/gpm/mouseconfig gzip ./source/a/gpm/mouseconfig
gzip ./source/a/gpm/inputattach.c gzip ./source/a/gpm/inputattach.c
gzip ./source/a/gpm/gpm.configure.diff
gzip ./source/a/quota/quota.lwrap.needs.lnsl.diff gzip ./source/a/quota/quota.lwrap.needs.lnsl.diff
gzip ./source/a/mkinitrd/0005-support-modules-compressed-with-xz.patch gzip ./source/a/mkinitrd/0005-support-modules-compressed-with-xz.patch
gzip ./source/a/mkinitrd/mkinitrd.tempfile.to.mktemp.patch gzip ./source/a/mkinitrd/mkinitrd.tempfile.to.mktemp.patch
@ -1122,4 +1123,9 @@ gzip ./source/x/ibus/doinst.sh
gzip ./source/x/ibus/emoji-test.txt gzip ./source/x/ibus/emoji-test.txt
gzip ./source/x/xcm/xcm.udev.rules.diff gzip ./source/x/xcm/xcm.udev.rules.diff
gzip ./source/x/libva/doinst.sh gzip ./source/x/libva/doinst.sh
gzip ./testing/source/glibc/glibc.ru_RU.CP1251.diff
gzip ./testing/source/glibc/glibc.locale.no-archive.diff
gzip ./testing/source/glibc/patches/glibc-2.38-upstream_fixes-1.patch
gzip ./testing/source/glibc/patches/reenable_DT_HASH.patch
gzip ./testing/source/glibc/glibc-2.32.en_US.no.am.pm.date.format.diff
gzip ./testing/source/rust/link_libffi.diff gzip ./testing/source/rust/link_libffi.diff

View file

@ -1,3 +1,6 @@
Thu Sep 28 19:05:40 UTC 2023
gpm: add workaround for ./configure failure.
+--------------------------+
Sun Oct 16 18:39:12 UTC 2022 Sun Oct 16 18:39:12 UTC 2022
f2fs-tools: patch to build with newer lz4. Thanks to nobodino. f2fs-tools: patch to build with newer lz4. Thanks to nobodino.
+--------------------------+ +--------------------------+

View file

@ -1,6 +1,6 @@
#!/bin/bash #!/bin/bash
# Copyright 2008, 2009, 2010, 2013, 2014, 2018, 2021 Patrick J. Volkerding, Sebeka, Minnesota, USA # Copyright 2008, 2009, 2010, 2013, 2014, 2018, 2021, 2023 Patrick J. Volkerding, Sebeka, Minnesota, USA
# All rights reserved. # All rights reserved.
# #
# Redistribution and use of this script, with or without modification, is # Redistribution and use of this script, with or without modification, is
@ -99,6 +99,12 @@ sh autogen.sh
# into configure: # into configure:
autoconf autoconf
# Since we aren't installing any Emacs Lisp files anyway, just brutally
# hack around this failing part of ./configure. This may be a brittle
# solution, so if it doesn't apply just go ahead and try without this
# patch and see if it's working or not.
zcat $CWD/gpm.configure.diff.gz | patch -p1 --verbose || exit 1
CFLAGS="$SLKCFLAGS" \ CFLAGS="$SLKCFLAGS" \
./configure \ ./configure \
--prefix=/usr \ --prefix=/usr \

View file

@ -0,0 +1,12 @@
--- ./configure.orig 2023-09-28 14:00:16.498715386 -0500
+++ ./configure 2023-09-28 14:00:55.205713245 -0500
@@ -12426,8 +12426,7 @@
then :
printf %s "(cached) " >&6
else $as_nop
- eval itz_cv_path_site_lisp=`${EMACS} -batch -l ${srcdir}/exec.el -exec "(mapcar 'print load-path)" 2>/dev/null |
-sed -e '/^$/d' | sed -n -e 2p`
+ eval
case x${itz_cv_path_site_lisp} in
x*site-lisp*) ;;
x*) itz_cv_path_site_lisp='${datadir}/emacs/site-lisp' ;;

View file

@ -76,54 +76,29 @@ find . \
\( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \ \( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \
-exec chmod 644 {} \+ -exec chmod 644 {} \+
# Recommended by BLFS for cairo-1.17.6 to "prevent errors later": # Configure, build, and install:
if ! grep -q exec_prefix util/cairo-script/cairo-script-interpreter.pc.in ; then export CFLAGS="$SLKCFLAGS"
sed -e "/@prefix@/a exec_prefix=@exec_prefix@" \ export CXXFLAGS="$SLKCFLAGS"
-i util/cairo-script/cairo-script-interpreter.pc.in mkdir meson-build
fi cd meson-build
meson setup \
CFLAGS="$SLKCFLAGS" \
./configure \
--prefix=/usr \ --prefix=/usr \
--libdir=/usr/lib${LIBDIRSUFFIX} \ --libdir=lib${LIBDIRSUFFIX} \
--libexecdir=/usr/libexec \
--bindir=/usr/bin \
--sbindir=/usr/sbin \
--includedir=/usr/include \
--datadir=/usr/share \
--mandir=/usr/man \ --mandir=/usr/man \
--sysconfdir=/etc \ --sysconfdir=/etc \
--disable-gtk-doc \ --localstatedir=/var \
--disable-quartz \ --buildtype=release \
--disable-static \ -Dgtk_doc=false \
--disable-win32 \ -Dtests=disabled \
--disable-trace \ .. || exit 1
--enable-xlib \ "${NINJA:=ninja}" $NUMJOBS || exit 1
--enable-xcb \ DESTDIR=$PKG $NINJA install || exit 1
--enable-ps \ cd ..
--enable-pdf \
--enable-svg \
--enable-tee \
--enable-ft \
--enable-gl \
--enable-gobject \
--enable-xml \
--build=$ARCH-slackware-linux || exit 1
# None of these are 'stable' yet...
# --enable-qt \
# --enable-drm \
# Not sure if these two are needed / useful yet; --enable-xcb is now default
# --enable-xcb-shm \
# ^^ may cause GTK+3 instability
# --enable-xlib-xcb \
# ^^ this one caused a GIMP slowdown
# Skipping this, because it causes a dependency on the specific
# version of binutils installed at compile time:
# --enable-trace
make $NUMJOBS || make || exit 1
make install DESTDIR=$PKG || exit 1
# Don't ship .la files:
rm -f $PKG/{,usr/}lib${LIBDIRSUFFIX}/*.la
find $PKG | xargs file | grep -e "executable" -e "shared object" \ find $PKG | xargs file | grep -e "executable" -e "shared object" \
| grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
@ -132,7 +107,6 @@ mkdir -p $PKG/usr/doc/$PKGNAM-$VERSION
cp -a \ cp -a \
AUTHORS* BIBLIOGRAPHY* BUGS* ChangeLog CODING_STYLE* COPYING* HACKING* NEWS* PORTING_GUIDE* README* RELEASING* \ AUTHORS* BIBLIOGRAPHY* BUGS* ChangeLog CODING_STYLE* COPYING* HACKING* NEWS* PORTING_GUIDE* README* RELEASING* \
$PKG/usr/doc/$PKGNAM-$VERSION $PKG/usr/doc/$PKGNAM-$VERSION
( cd $PKG/usr/doc/$PKGNAM-$VERSION ; ln -sf /usr/share/gtk-doc/html/cairo html )
# We do not need the entire NEWS file. # We do not need the entire NEWS file.
if [ -r NEWS ]; then if [ -r NEWS ]; then

View file

@ -0,0 +1,14 @@
--- geeqie-2.1/src/lua.cc 2023-06-17 14:12:30.000000000 +0200
+++ geeqie-2.1/src/lua.cc.new 2023-07-13 11:28:14.538188452 +0200
@@ -24,9 +24,11 @@
#define _XOPEN_SOURCE
+extern "C" {
#include <lua.h>
#include <lauxlib.h>
#include <lualib.h>
+}
#include <stdio.h>
#include <glib.h>

View file

@ -1,6 +1,6 @@
#!/bin/bash #!/bin/bash
# Copyright 2010, 2011, 2012, 2015, 2016, 2018, 2022 Patrick Volkerding, Sebeka, MN, USA # Copyright 2010, 2011, 2012, 2015, 2016, 2018, 2022, 2023 Patrick Volkerding, Sebeka, MN, USA
# All rights reserved. # All rights reserved.
# #
# Redistribution and use of this script, with or without modification, is # Redistribution and use of this script, with or without modification, is
@ -25,7 +25,7 @@
cd $(dirname $0) ; CWD=$(pwd) cd $(dirname $0) ; CWD=$(pwd)
PKGNAM=geeqie PKGNAM=geeqie
BUILD=${BUILD:-1} BUILD=${BUILD:-2}
# Download the geeqie Git head if there's no tarball: # Download the geeqie Git head if there's no tarball:
if ! /bin/ls $CWD/geeqie*tar* 1> /dev/null 2> /dev/null ; then if ! /bin/ls $CWD/geeqie*tar* 1> /dev/null 2> /dev/null ; then
@ -89,6 +89,8 @@ find . \
mv ChangeLog.gqview ChangeLog mv ChangeLog.gqview ChangeLog
cat $CWD/geeqie-2.1-lua.patch | patch -p1 --verbose || exit 1
# Configure, build, and install: # Configure, build, and install:
export CFLAGS="$SLKCFLAGS" export CFLAGS="$SLKCFLAGS"
export CXXFLAGS="$SLKCFLAGS" export CXXFLAGS="$SLKCFLAGS"

View file

@ -0,0 +1,158 @@
#!/bin/sh
# Copyright (C) 2002, 2005 Slackware Linux, Inc.
# Copyright 2005, 2006, 2011, 2012, 2018 Patrick J. Volkerding, Sebeka, Minnesota, USA
#
# 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 2
# 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.
#
# Swap glibc on the fly.
#
# If we're on a running system we have to handle this _very_ carefully. :-)
# The tricks involved here get trickier every time...
# OK, now we have to be sure of a few things. First, you do have a 2.6
# kernel running, right?
if [ -r /proc/ksyms ]; then
echo "FATAL: you need to be running a 2.6.x kernel in order to upgrade"
echo "to this version of glibc."
echo
sleep 999
exit 1
fi
# Next, stop using the /lib/ntpl libraries. These are now obsolete and
# will break the installation if present:
if [ -d lib/tls ]; then
mkdir -p lib/obsolete
mv lib/tls lib/obsolete
fi
if [ -x sbin/ldconfig ]; then
sbin/ldconfig -r . 2> /dev/null
fi
# Install NPTL glibc libraries:
if [ -x /sbin/ldconfig -a -d lib/incoming ]; then # swap on the fly
# Try to protect with flock against another installpkg/removepkg running
# ldconfig while we're doing the on-the-fly install:
mkdir -p run/lock/pkgtools
( flock 9 || exit 11
# First create copies of the incoming libraries:
( cd lib/incoming
for file in * ; do
if [ ! -r ../${file}.incoming ]; then
cp -a $file ../${file}.incoming
fi
done
)
# Then switch to them all at once:
/sbin/ldconfig -l lib/*.incoming 2> /dev/null
# Remove old versions of the glibc libraries. If you really don't want to
# do this for some reason, create a file /etc/glibc-nowipe.
if [ ! -r etc/glibc-nowipe ]; then
( cd lib
for INCOMING in incoming/*-* ; do
LIBPREFIX=$(basename $INCOMING | cut -f 1 -d -)
for LIBRARY in ${LIBPREFIX}-* ; do
# Don't remove the library if it ends in .incoming:
if [ "$(echo $LIBRARY | rev | cut -f 1 -d .)" = "gnimocni" ]; then
continue
fi
# Don't remove symlinks:
if [ -L $LIBRARY ]; then
continue
fi
rm -f $LIBRARY
done
done
# Remove stale versions of libcrypt from Slackware 14.2 or newer:
rm -f libcrypt-{2.23,2.24,2.25,2.26,2.27,2.28,2.29,2.30,2.31,2.32,2.33,2.34,2.35,2.36,2.37}.so
)
fi
# Finally, rename them and clean up:
( cd lib
for file in *.incoming ; do
rm -f `basename $file .incoming`
cp -a $file `basename $file .incoming`
/sbin/ldconfig -l `basename $file .incoming` 2> /dev/null
rm -f $file
done
)
) 9> run/lock/pkgtools/ldconfig.lock
else # no ldconfig? This is a broken situation, but we will do what we can:
( cd lib/incoming
for file in * ; do
cp -a $file ..
done
)
fi
# Now, get rid of the temporary directory:
rm -rf lib/incoming
# Done installing NPTL glibc libraries.
# Handle config files:
config() {
NEW="$1"
OLD="$(dirname $NEW)/$(basename $NEW .new)"
# If there's no config file by that name, mv it over:
if [ ! -r $OLD ]; then
mv $NEW $OLD
elif [ "$(cat $OLD | md5sum)" = "$(cat $NEW | md5sum)" ]; then # toss the redundant copy
rm $NEW
fi
# Otherwise, we leave the .new copy for the admin to consider...
}
config etc/profile.d/glibc.csh.new
config etc/profile.d/glibc.sh.new
# Clearly you already decided this issue. :-)
rm -f etc/profile.d/glibc.csh.new
rm -f etc/profile.d/glibc.sh.new
# This block below *should* be dead code, but it's probably safer to leave it
# here as a fallback. It no longer has complete coverage of all the links
# that would be needed in /lib${LIBDIRSUFFIX}, but it covers enough that if
# we did fall back on this the machine would boot until it reached the boot
# time call to ldconfig, which would then take care of any missing links.
if [ ! -x /sbin/ldconfig ]; then
( cd lib ; rm -rf libm.so.6 )
( cd lib ; ln -sf libm-@@VERSION@@.so libm.so.6 )
( cd lib ; rm -rf libnss_files.so.2 )
( cd lib ; ln -sf libnss_files-@@VERSION@@.so libnss_files.so.2 )
( cd lib ; rm -rf libresolv.so.2 )
( cd lib ; ln -sf libresolv-@@VERSION@@.so libresolv.so.2 )
( cd lib ; rm -rf libutil.so.1 )
( cd lib ; ln -sf libutil-@@VERSION@@.so libutil.so.1 )
( cd lib ; rm -rf libnss_compat.so.2 )
( cd lib ; ln -sf libnss_compat-@@VERSION@@.so libnss_compat.so.2 )
( cd lib ; rm -rf libthread_db.so.1 )
( cd lib ; ln -sf libthread_db-1.0.so libthread_db.so.1 )
( cd lib ; rm -rf libnss_hesiod.so.2 )
( cd lib ; ln -sf libnss_hesiod-@@VERSION@@.so libnss_hesiod.so.2 )
( cd lib ; rm -rf libanl.so.1 )
( cd lib ; ln -sf libanl-@@VERSION@@.so libanl.so.1 )
( cd lib ; rm -rf libcrypt.so.1 )
( cd lib ; ln -sf libcrypt1-@@VERSION@@.so libcrypt.so.1 )
( cd lib ; rm -rf libcrypt.so.2 )
( cd lib ; ln -sf libcrypt2-@@VERSION@@.so libcrypt.so.2 )
( cd lib ; rm -rf libBrokenLocale.so.1 )
( cd lib ; ln -sf libBrokenLocale-@@VERSION@@.so libBrokenLocale.so.1 )
( cd lib ; rm -rf ld-linux.so.2 )
( cd lib ; ln -sf ld-@@VERSION@@.so ld-linux.so.2 )
( cd lib ; rm -rf libdl.so.2 )
( cd lib ; ln -sf libdl-@@VERSION@@.so libdl.so.2 )
( cd lib ; rm -rf libnss_dns.so.2 )
( cd lib ; ln -sf libnss_dns-@@VERSION@@.so libnss_dns.so.2 )
( cd lib ; rm -rf libpthread.so.0 )
( cd lib ; ln -sf libpthread-@@VERSION@@.so libpthread.so.0 )
( cd lib ; rm -rf libc.so.6 )
( cd lib ; ln -sf libc-@@VERSION@@.so libc.so.6 )
( cd lib ; rm -rf librt.so.1 )
( cd lib ; ln -sf librt-@@VERSION@@.so librt.so.1 )
fi

View file

@ -0,0 +1,162 @@
#!/bin/sh
# Copyright (C) 2002, 2005 Slackware Linux, Inc.
# Copyright 2005, 2006, 2007, 2011, 2012, 2018 Patrick J. Volkerding, Sebeka, Minnesota, USA
#
# 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 2
# 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.
#
# Swap glibc on the fly.
#
# If we're on a running system we have to handle this _very_ carefully. :-)
# The tricks involved here get trickier every time...
# OK, now we have to be sure of a few things. First, you do have a 2.6
# kernel running, right?
if [ -r /proc/ksyms ]; then
echo "FATAL: you need to be running a 2.6.x kernel in order to upgrade"
echo "to this version of glibc."
echo
sleep 999
exit 1
fi
# Next, stop using the /lib/ntpl libraries. These are now obsolete and
# will break the installation if present:
if [ -d lib/tls ]; then
mkdir -p lib/obsolete
mv lib/tls lib/obsolete
fi
if [ -x sbin/ldconfig ]; then
sbin/ldconfig -r . 2> /dev/null
fi
# Install NPTL glibc libraries:
if [ -x /sbin/ldconfig -a -d lib/incoming ]; then # swap on the fly
# Try to protect with flock against another installpkg/removepkg running
# ldconfig while we're doing the on-the-fly install:
mkdir -p run/lock/pkgtools
( flock 9 || exit 11
# First create copies of the incoming libraries:
( cd lib/incoming
for file in * ; do
if [ ! -r ../${file}.incoming ]; then
cp -a $file ../${file}.incoming
fi
done
)
# Then switch to them all at once:
/sbin/ldconfig -l lib/*.incoming 2> /dev/null
# Remove old versions of the glibc libraries. If you really don't want to
# do this for some reason, create a file /etc/glibc-nowipe.
if [ ! -r etc/glibc-nowipe ]; then
( cd lib
for INCOMING in incoming/*-* ; do
LIBPREFIX=$(basename $INCOMING | cut -f 1 -d -)
for LIBRARY in ${LIBPREFIX}-* ; do
# Don't remove the library if it ends in .incoming:
if [ "$(echo $LIBRARY | rev | cut -f 1 -d .)" = "gnimocni" ]; then
continue
fi
# Don't remove symlinks:
if [ -L $LIBRARY ]; then
continue
fi
rm -f $LIBRARY
done
done
# Remove stale versions of libcrypt from Slackware 14.2 or newer:
rm -f libcrypt-{2.23,2.24,2.25,2.26,2.27,2.28,2.29,2.30,2.31,2.32,2.33,2.34,2.35,2.36,2.37}.so
)
fi
# Finally, rename them and clean up:
( cd lib
for file in *.incoming ; do
rm -f `basename $file .incoming`
cp -a $file `basename $file .incoming`
/sbin/ldconfig -l `basename $file .incoming` 2> /dev/null
rm -f $file
done
)
) 9> run/lock/pkgtools/ldconfig.lock
else # no ldconfig? This is a broken situation, but we will do what we can:
( cd lib/incoming
for file in * ; do
cp -a $file ..
done
)
fi
# Now, get rid of the temporary directory:
rm -rf lib/incoming
# Done installing NPTL glibc libraries.
# Handle config files:
config() {
NEW="$1"
OLD="$(dirname $NEW)/$(basename $NEW .new)"
# If there's no config file by that name, mv it over:
if [ ! -r $OLD ]; then
mv $NEW $OLD
elif [ "$(cat $OLD | md5sum)" = "$(cat $NEW | md5sum)" ]; then # toss the redundant copy
rm $NEW
fi
# Otherwise, we leave the .new copy for the admin to consider...
}
config etc/nscd.conf.new
config etc/profile.d/glibc.csh.new
config etc/profile.d/glibc.sh.new
# Clearly you already decided this issue. :-)
rm -f etc/profile.d/glibc.csh.new
rm -f etc/profile.d/glibc.sh.new
# This block below *should* be dead code, but it's probably safer to leave it
# here as a fallback. It no longer has complete coverage of all the links
# that would be needed in /lib${LIBDIRSUFFIX}, but it covers enough that if
# we did fall back on this the machine would boot until it reached the boot
# time call to ldconfig, which would then take care of any missing links.
# In case there's no ldconfig, make the links manually:
if [ ! -x /sbin/ldconfig ]; then
( cd lib ; rm -rf libm.so.6 )
( cd lib ; ln -sf libm-@@VERSION@@.so libm.so.6 )
( cd lib ; rm -rf libnss_files.so.2 )
( cd lib ; ln -sf libnss_files-@@VERSION@@.so libnss_files.so.2 )
( cd lib ; rm -rf libresolv.so.2 )
( cd lib ; ln -sf libresolv-@@VERSION@@.so libresolv.so.2 )
( cd lib ; rm -rf libutil.so.1 )
( cd lib ; ln -sf libutil-@@VERSION@@.so libutil.so.1 )
( cd lib ; rm -rf libnss_compat.so.2 )
( cd lib ; ln -sf libnss_compat-@@VERSION@@.so libnss_compat.so.2 )
( cd lib ; rm -rf libthread_db.so.1 )
( cd lib ; ln -sf libthread_db-1.0.so libthread_db.so.1 )
( cd lib ; rm -rf libnss_hesiod.so.2 )
( cd lib ; ln -sf libnss_hesiod-@@VERSION@@.so libnss_hesiod.so.2 )
( cd lib ; rm -rf libanl.so.1 )
( cd lib ; ln -sf libanl-@@VERSION@@.so libanl.so.1 )
( cd lib ; rm -rf libcrypt.so.1 )
( cd lib ; ln -sf libcrypt1-@@VERSION@@.so libcrypt.so.1 )
( cd lib ; rm -rf libcrypt.so.2 )
( cd lib ; ln -sf libcrypt2-@@VERSION@@.so libcrypt.so.2 )
( cd lib ; rm -rf libBrokenLocale.so.1 )
( cd lib ; ln -sf libBrokenLocale-@@VERSION@@.so libBrokenLocale.so.1 )
( cd lib ; rm -rf ld-linux.so.2 )
( cd lib ; ln -sf ld-@@VERSION@@.so ld-linux.so.2 )
( cd lib ; rm -rf libdl.so.2 )
( cd lib ; ln -sf libdl-@@VERSION@@.so libdl.so.2 )
( cd lib ; rm -rf libnss_dns.so.2 )
( cd lib ; ln -sf libnss_dns-@@VERSION@@.so libnss_dns.so.2 )
( cd lib ; rm -rf libpthread.so.0 )
( cd lib ; ln -sf libpthread-@@VERSION@@.so libpthread.so.0 )
( cd lib ; rm -rf libc.so.6 )
( cd lib ; ln -sf libc-@@VERSION@@.so libc.so.6 )
( cd lib ; rm -rf librt.so.1 )
( cd lib ; ln -sf librt-@@VERSION@@.so librt.so.1 )
fi
# More links:

View file

@ -0,0 +1,14 @@
--- ./localedata/locales/en_US.orig 2021-01-16 18:40:31.050990981 -0600
+++ ./localedata/locales/en_US 2021-01-16 18:42:44.784983583 -0600
@@ -121,7 +121,10 @@
% different from d_t_fmt for historical reasons and has been different
% since 2000 when date_fmt was added as a GNU extension. At the end
% of 2018 it was adjusted to use 12H time (bug 24046) instead of 24H.
-date_fmt "%a %b %e %r %Z %Y"
+% [ Slackware editor's note - no thank you, US users
+% of UNIX-like systems expect a 24 hour clock, just
+% like users in the vast majority of other locales. ]
+%date_fmt "%a %d %b %Y %r %Z"
%
% Strings for AM/PM
%

View file

@ -0,0 +1,3 @@
echo "The password below is \"anoncvs\":"
cvs -z 9 -d :pserver:anoncvs@sources.redhat.com:/cvs/glibc login
cvs -z 9 -d :pserver:anoncvs@sources.redhat.com:/cvs/glibc co libc

View file

@ -0,0 +1,512 @@
#!/bin/bash
# Copyright 2006, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2018, 2019, 2020, 2021, 2022, 2023 Patrick J. Volkerding, Sebeka, MN, USA
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
# permitted provided that the following conditions are met:
#
# 1. Redistributions of this script must retain the above copyright
# notice, this list of conditions and the following disclaimer.
#
# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED
# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
cd $(dirname $0) ; CWD=$(pwd)
PKGNAM=glibc
VERSION=${VERSION:-$(echo glibc-*.tar.xz | rev | cut -f 3- -d . | cut -f 1 -d - | rev)}
CHECKOUT=${CHECKOUT:-""}
BUILD=${BUILD:-1}
# I was considering disabling NSCD, but MoZes talked me out of it. :)
#DISABLE_NSCD=" --disable-nscd "
# $ARCH may be preset, otherwise i586 compatibility with i686 binary
# structuring is the Slackware default.
if [ -z "$ARCH" ]; then
case "$( uname -m )" in
i?86) export ARCH=i586 ;;
arm*) export ARCH=arm ;;
# Unless $ARCH is already set, use uname -m for all other archs:
*) export ARCH=$( uname -m ) ;;
esac
fi
# If the variable PRINT_PACKAGE_NAME is set, then this script will report what
# the name of the created package would be, and then exit. This information
# could be useful to other scripts.
if [ ! -z "${PRINT_PACKAGE_NAME}" ]; then
echo "glibc-$VERSION-$ARCH-$BUILD.txz"
echo "glibc-i18n-$VERSION-$ARCH-$BUILD.txz"
echo "glibc-profile-$VERSION-$ARCH-$BUILD.txz"
echo "aaa_glibc-solibs-$VERSION-$ARCH-$BUILD.txz"
exit 0
fi
NUMJOBS=${NUMJOBS:-" -j$(expr $(nproc) + 1) "}
# Work around -Werror failure with gcc-10.2.0.
# NOTE: Until the next glibc release takes care of this issue, this will
# likely need to be updated with every new gcc release's version. Yes, we
# could pass --disable-werror by default, but I'd rather not just shove a
# stick in it like that.
if [ "$(gcc -dumpversion)" = "10.2.0" ]; then
if [ "$VERSION" = "2.30" ]; then
WERROR="--disable-werror"
fi
fi
# I'll break this out as an option for fun :-)
case $ARCH in
i386)
OPTIMIZ="-O3 -march=i386 -mcpu=i686"
LIBDIRSUFFIX=""
;;
i486)
OPTIMIZ="-O3 -march=i486 -mtune=i686"
LIBDIRSUFFIX=""
;;
i586)
OPTIMIZ="-O3 -march=i586 -mtune=i686"
LIBDIRSUFFIX=""
;;
i686)
OPTIMIZ="-O3 -march=i686"
LIBDIRSUFFIX=""
;;
athlon)
OPTIMIZ="-O3 -march=athlon"
LIBDIRSUFFIX=""
;;
s390)
OPTIMIZ="-O3"
LIBDIRSUFFIX=""
;;
x86_64)
OPTIMIZ="-O3 -fPIC"
LIBDIRSUFFIX="64"
;;
*)
OPTIMIZ="-O3"
LIBDIRSUFFIX=""
;;
esac
case $ARCH in
x86_64)
TARGET=${TARGET:-x86_64}
;;
i586)
# This should be i586 for all 32-bit x86 arch:
TARGET=${TARGET:-i586}
;;
esac
# Hand off the $ARCH variable to $SLACKWARE_ARCH to avoid confusing glibc:
SLACKWARE_ARCH=$ARCH
unset ARCH
CVSVER=${VERSION}${CHECKOUT}
# NOTE!!! glibc needs to be built against the sanitized kernel headers,
# which will be installed under /usr/include by the kernel-headers package.
# Be sure the correct version of the headers package is installed BEFORE
# building glibc!
TMP=${TMP:-/tmp}
mkdir -p $TMP
# This function fixes a doinst.sh file for x86_64.
# With thanks to Fred Emmott.
fix_doinst() {
if [ "x$LIBDIRSUFFIX" = "x" ]; then
return;
fi;
# Fix "( cd usr/lib ;" occurrences
sed -i "s#lib ;#lib${LIBDIRSUFFIX} ;#" install/doinst.sh
# Fix "lib/" occurrences
sed -i "s#lib/#lib${LIBDIRSUFFIX}/#g" install/doinst.sh
# Fix "( cd lib" occurrences
sed -i "s#( cd lib\$#( cd lib${LIBDIRSUFFIX}#" install/doinst.sh
if [ "$SLACKWARE_ARCH" = "x86_64" ]; then
sed -i 's#ld-linux.so.2#ld-linux-x86-64.so.2#' install/doinst.sh
fi
}
# This is a patch function to put all glibc patches in the build script
# up near the top.
apply_patches() {
# Use old-style locale directories rather than a single (and strangely
# formatted) /usr/lib/locale/locale-archive file:
zcat $CWD/glibc.locale.no-archive.diff.gz | patch -p1 --verbose || exit 1
# Support ru_RU.CP1251 locale:
zcat $CWD/glibc.ru_RU.CP1251.diff.gz | patch -p1 --verbose || exit 1
# Don't use AM/PM format for date(1). That's just plain crazy.
zcat $CWD/glibc-2.32.en_US.no.am.pm.date.format.diff.gz | patch -p1 --verbose || exit 1
# Other regression fixes from git:
for git_patch in $CWD/patches/*.patch.gz ; do
zcat $git_patch | patch -p1 --verbose || exit 1
done
}
# This is going to be the initial $DESTDIR:
export PKG=$TMP/package-glibc-incoming-tree
PGLIBC=$TMP/package-glibc
PSOLIBS=$TMP/package-aaa_glibc-solibs
PI18N=$TMP/package-glibc-i18n
PPROFILE=$TMP/package-glibc-profile
PDEBUG=$TMP/package-glibc-debug
# Empty these locations first:
for dir in $PKG $PGLIBC $PSOLIBS $PZONE $PI18N $PPROFILE $PDEBUG ; do
if [ -d $dir ]; then
rm -rf $dir
fi
mkdir -p $dir
done
if [ -d $TMP/glibc-$VERSION ]; then
rm -rf $TMP/glibc-$VERSION
fi
# Create an incoming directory structure for glibc to be built into:
mkdir -p $PKG/lib${LIBDIRSUFFIX}
mkdir -p $PKG/sbin
mkdir -p $PKG/usr/bin
mkdir -p $PKG/usr/lib${LIBDIRSUFFIX}
mkdir -p $PKG/usr/sbin
mkdir -p $PKG/usr/include
mkdir -p $PKG/usr/doc
mkdir -p $PKG/usr/man
mkdir -p $PKG/usr/share
mkdir -p $PKG/var/db/nscd
mkdir -p $PKG/var/run/nscd
# Begin extract/compile:
cd $TMP
rm -rf glibc-$CVSVER
tar xvf $CWD/glibc-$CVSVER.tar.xz \
|| tar xvf $CWD/glibc-$CVSVER.tar.lz \
|| tar xvf $CWD/glibc-$CVSVER.tar.bz2 \
|| tar xvf $CWD/glibc-$CVSVER.tar.gz
cd glibc-$CVSVER
# Apply patches; exit if any fail.
apply_patches
if [ ! $? = 0 ]; then
exit 1
fi
# Clean up leftover CVS directories:
find . -type d -name CVS -exec rm -r {} \+ 2> /dev/null
chown -R root:root .
find . \
\( -perm 777 -o -perm 775 -o -perm 711 -o -perm 555 -o -perm 511 \) \
-exec chmod 755 {} \+ -o \
\( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \
-exec chmod 644 {} \+
# Make build directory:
mkdir build-glibc-$VERSION
cd build-glibc-$VERSION || exit 1
echo "BUILDING DAS NPTL GLIBC"
# We are setting the variable below so that x86 ISA level is not included
# in shared libraries. Without this, glibc compiled with -march= may not
# run on some CPUs that it should be able to support. Needed for glibc-2.33.
# FIXME: revisit this with future glibc releases!
libc_cv_include_x86_isa_level=no \
CFLAGS="-g $OPTIMIZ" \
../configure \
--prefix=/usr \
--libdir=/usr/lib${LIBDIRSUFFIX} \
--enable-kernel=4.4 \
--with-headers=/usr/include \
--enable-add-ons \
--enable-profile \
$DISABLE_NSCD \
$WERROR \
--infodir=/usr/info \
--mandir=/usr/man \
--with-tls \
--with-__thread \
--without-cvs \
$TARGET-slackware-linux
make $NUMJOBS || exit 1
make $NUMJOBS install install_root=$PKG || exit 1
# Don't use this, as it makes the i18n package WAY bigger:
#make localedata/install-locale-files DESTDIR=$PKG || exit 1
# This is ugly run in parallel, and seems to hang at the end. But it actually
# completes much faster. :)
make $NUMJOBS localedata/install-locales install_root=$PKG DESTDIR=$PKG || exit 1
# Build and install libxcrypt:
pushd $CWD
ARCH=$SLACKWARE_ARCH LIBDIRSUFFIX=$LIBDIRSUFFIX SLKCFLAGS=$OPTIMIZ ./libxcrypt.build
popd
# We've always had an sln symlink in /bin, so let's make sure it
# remains there so as not to break any scripts that might need it:
mkdir -p $PKG/bin
( cd $PKG/bin ; ln -sf /sbin/sln sln )
# This bit was mostly copped from Fedora Rawhide's .spec file. I'm not
# entirely sure how important it is, since I'm not aware of anything
# we ship trying to link libpthread as static. What it does is make sure
# that anything linking libpthread static includes all of the functions
# so that the resulting binary doesn't rely on parts of the library that
# were not linked in. Optimizing actually working over binary size, so
# to speak.
( cd $PKG/usr/lib${LIBDIRSUFFIX}
gcc -r -nostdlib -o libpthread.o -Wl,--whole-archive ./libpthread.a
rm libpthread.a
ar rcs libpthread.a libpthread.o
rm libpthread.o
)
# The prevailing standard seems to be putting unstripped libraries in
# /usr/lib/debug/ and stripping the debugging symbols from all the other
# libraries.
mkdir -p $PKG/usr/lib${LIBDIRSUFFIX}/debug
cp -a $PKG/lib${LIBDIRSUFFIX}/l*.so* $PKG/usr/lib${LIBDIRSUFFIX}/debug
cp -a $PKG/usr/lib${LIBDIRSUFFIX}/*.a $PKG/usr/lib${LIBDIRSUFFIX}/debug
# Don't need debug+profile:
( cd $PKG/usr/lib${LIBDIRSUFFIX}/debug ; rm -f *_p.* )
# NOTE: Is there really a reason for the glibc-debug package?
# If you're debugging glibc, you can also compile it, right?
## COMMENTED OUT: There's no reason for profile libs to include -g information.
## Put back unstripped profiling libraries:
#mv $PKG/usr/lib${LIBDIRSUFFIX}/debug/*_p.a $PKG/usr/lib${LIBDIRSUFFIX}
# It might be best to put the unstripped and profiling libraries in glibc-debug and glibc-profile.
# I don't think "strip -g" causes the pthread problems. It's --strip-unneeded that does.
strip -g $PKG/lib${LIBDIRSUFFIX}/l*.so*
strip -g $PKG/usr/lib${LIBDIRSUFFIX}/l*.so*
strip -g $PKG/usr/lib${LIBDIRSUFFIX}/lib*.a
# Remove the rquota.x and rquota.h include files, as they are provided by
# the quota package:
rm -f $PKG/usr/include/rpcsvc/rquota.{h,x}
# Back to the sources dir to add some files/docs:
cd $TMP/glibc-$CVSVER
# We'll automatically install the config file for the Name Server Cache Daemon.
# Perhaps this should also have some commented-out startup code in rc.inet2...
mkdir -p $PKG/etc
cat nscd/nscd.conf > $PKG/etc/nscd.conf.new
# Install docs:
( mkdir -p $PKG/usr/doc/glibc-$VERSION
cp -a \
CONTRIBUTED-BY* COPYING* INSTALL* LICENSES* MAINTAINERS* NEWS* README* SECURITY* SHARED-FILES* \
$PKG/usr/doc/glibc-$VERSION
)
# Trim the NEWS file to omit ancient history:
if [ -r NEWS ]; then
DOCSDIR=$(echo $PKG/usr/doc/glibc-$VERSION)
cat NEWS | head -n 1000 > $DOCSDIR/NEWS
touch -r NEWS $DOCSDIR/NEWS
fi
# OK, there are some very old Linux standards that say that any binaries in a /bin or
# /sbin directory (and the directories themselves) should be group bin rather than
# group root, unless a specific group is really needed for some reason.
#
# I can't find any mention of this in more recent standards docs, and always thought
# that it was pretty cosmetic anyway (hey, if there's a reason -- fill me in!), so
# it's possible that this ownership change won't be followed in the near future
# (it's a PITA, and causes many bug reports when the perms change is occasionally
# forgotten).
#
# But, it's hard to get me to break old habits, so we'll continue the tradition here:
#
# No, no we won't. You know how we love to break traditions.
# Strip most binaries:
( cd $PKG
find . | xargs file | grep "executable" | grep ELF | cut -f 1 -d : | xargs strip --strip-debug 2> /dev/null
find . | xargs file | grep "shared object" | grep ELF | cut -f 1 -d : | xargs strip -g 2> /dev/null
)
# Fix info dir:
rm $PKG/usr/info/dir
gzip -9 $PKG/usr/info/*
# This is junk
rm $PKG/etc/ld.so.cache
( cd $PKG
find . -name "*.orig" -exec rm {} \+
)
##################################
# OK, time to make some packages #
##################################
# glibc-profile:
cd $PPROFILE
mkdir -p usr/lib${LIBDIRSUFFIX}
# Might as well just grab these with 'mv' to simplify things later:
mv $PKG/usr/lib${LIBDIRSUFFIX}/lib*_p.a usr/lib${LIBDIRSUFFIX}
# Profile libs should be stripped. Use the debug libs to debug...
( cd usr/lib${LIBDIRSUFFIX} ; strip -g *.a )
mkdir install
cp -a $CWD/slack-desc.glibc-profile install/slack-desc
makepkg -l y -c n $TMP/glibc-profile-$VERSION-$SLACKWARE_ARCH-$BUILD.txz
# THIS IS NO LONGER PACKAGED (or is it? might be better to let it be made, and then ship it or not...)
# glibc-debug:
cd $PDEBUG
mkdir -p usr/lib${LIBDIRSUFFIX}
# Might as well just grab these with 'mv' to simplify things later:
mv $PKG/usr/lib${LIBDIRSUFFIX}/debug usr/lib${LIBDIRSUFFIX}
mkdir install
cp -a $CWD/slack-desc.glibc-debug install/slack-desc
## Don't package this:
#makepkg -l y -c n $TMP/glibc-debug-$VERSION-$SLACKWARE_ARCH-$BUILD.txz
## INSTEAD, NUKE THESE LIBS
#rm -rf $PKG/usr/lib${LIBDIRSUFFIX}/debug
# glibc-i18n:
cd $PI18N
mkdir -p usr/lib${LIBDIRSUFFIX}/locale
mv $PKG/usr/lib${LIBDIRSUFFIX}/locale/* usr/lib${LIBDIRSUFFIX}/locale
mkdir -p usr/share/{i18n,locale}
mv $PKG/usr/share/i18n/* usr/share/i18n
mv $PKG/usr/share/locale/* usr/share/locale
# Leave copies of the C, POSIX, and en_US locales in the main glibc package:
cp -a usr/lib${LIBDIRSUFFIX}/locale/{C,en_US}* $PKG/usr/lib${LIBDIRSUFFIX}/locale
mkdir -p $PKG/usr/share/i18n/locales
cp -a usr/share/i18n/locales/{C,POSIX,en_US} $PKG/usr/share/i18n/locales
mkdir install
cp -a $CWD/slack-desc.glibc-i18n install/slack-desc
makepkg -l y -c n $TMP/glibc-i18n-$VERSION-$SLACKWARE_ARCH-$BUILD.txz
# aaa_glibc-solibs:
cd $PSOLIBS
mkdir -p etc/profile.d
cp -a $CWD/profile.d/* etc/profile.d
chown -R root:root etc
chmod 755 etc/profile.d/*
mkdir -p lib${LIBDIRSUFFIX}
cp -a $PKG/lib${LIBDIRSUFFIX}/* lib${LIBDIRSUFFIX}
( cd lib${LIBDIRSUFFIX}
mkdir incoming
mv *so* incoming
mv incoming/libmemusage.so .
# Beginning with glibc-2.34, shared objects are using their ABI sonames
# directly, which is frankly, a terrible idea. It might help other package
# managers, but doesn't do us any favors where we already had a system for
# dealing with upgrades (and downgrades!). We'll change these libraries to
# use the versioned naming system of glibc-2.33 and earlier so that we don't
# have to handle these files differently and so that it's easy to see what
# version of glibc is in use at a glance.
cd incoming
# First do the new libxcrypt links (a little bit differently):
for cryptlib in libcrypt.so.* ; do
CRYPTSO=$(echo $cryptlib | cut -f 3 -d .)
mv $cryptlib libcrypt${CRYPTSO}-${VERSION}.so
done
for library in *.so.* ; do
mv $library $(echo $library | cut -f 1 -d .)-${VERSION}.so
done
# This one is a special case. We don't want an $ARCH embedded in the
# filename. It prevents using the same install scripts on all $ARCH
# and does no good since we'll never have multiple $ARCH libraries
# installed in the same directory anyway. So give it the previous name
# format:
mv ld-linux*-${VERSION}.so ld-${VERSION}.so
)
mkdir -p usr
cp -a $PKG/usr/bin usr
mv usr/bin/ldd .
rm usr/bin/*
mv ldd usr/bin
mkdir -p usr/lib${LIBDIRSUFFIX}
# The gconv directory has a lot of stuff, but including it here will save some problems.
# Seems standard elsewhere.
cp -a $PKG/usr/lib${LIBDIRSUFFIX}/gconv usr/lib${LIBDIRSUFFIX}
mkdir -p usr/libexec
cp -a $PKG/usr/libexec/pt_chown usr/libexec
# Same usr.bin deal:
cp -a $PKG/sbin .
mv sbin/ldconfig .
rm sbin/*
mv ldconfig sbin
mkdir install
cp -a $CWD/slack-desc.aaa_glibc-solibs install/slack-desc
cp -a $CWD/doinst.sh-aaa_glibc-solibs install/doinst.sh
# Fix specific versioning for the symlink creation script. This part of the
# script would only be used in the case where there is no ldconfig on the
# running system that's used to install the package. That should never be the
# case, but we'll leave the code in place anyway just in case.
sed -i "s/@@VERSION@@/$VERSION/g" install/doinst.sh
# Call the function to fix doinst.sh where $LIBDIRSUFFIX is needed:
fix_doinst
# Only scrub the links in /lib{,64} that will be created by ldconfig:
find lib${LIBDIRSUFFIX} -type l -exec rm {} \+
# Build the package:
makepkg -l y -c n $TMP/aaa_glibc-solibs-$VERSION-$SLACKWARE_ARCH-$BUILD.txz
# And finally, the complete "all-in-one" glibc package is created
# from whatever was leftover:
cd $PGLIBC
mv $PKG/* .
mkdir -p etc/profile.d
cp -a $CWD/profile.d/* etc/profile.d
chown -R root:root etc
chmod 755 etc/profile.d/*
# Only scrub the links in /lib{,64} that will be created by ldconfig:
find lib${LIBDIRSUFFIX} -type l -exec rm {} \+
mkdir install
cp -a $CWD/slack-desc.glibc install/slack-desc
cp -a $CWD/doinst.sh-glibc install/doinst.sh
# Call the function to fix doinst.sh where $LIBDIRSUFFIX is needed:
fix_doinst
( cd lib${LIBDIRSUFFIX}
mkdir incoming
mv *so* incoming
mv incoming/libmemusage.so .
#mv incoming/libcrypt* .
# Beginning with glibc-2.34, shared objects are using their ABI sonames
# directly, which is frankly, a terrible idea. It might help other package
# managers, but doesn't do us any favors where we already had a system for
# dealing with upgrades (and downgrades!). We'll change these libraries to
# use the versioned naming system of glibc-2.33 and earlier so that we don't
# have to handle these files differently and so that it's easy to see what
# version of glibc is in use at a glance.
cd incoming
# First do the new libxcrypt links (a little bit differently):
for cryptlib in libcrypt.so.* ; do
CRYPTSO=$(echo $cryptlib | cut -f 3 -d .)
mv $cryptlib libcrypt${CRYPTSO}-${VERSION}.so
done
for library in *.so.* ; do
mv $library $(echo $library | cut -f 1 -d .)-${VERSION}.so
done
# This one is a special case. We don't want an $ARCH embedded in the
# filename. It prevents using the same install scripts on all $ARCH
# and does no good since we'll never have multiple $ARCH libraries
# installed in the same directory anyway. So give it the previous name
# format:
mv ld-linux*-${VERSION}.so ld-${VERSION}.so
)
# Build the package:
/sbin/makepkg -l y -c n $TMP/glibc-$VERSION-$SLACKWARE_ARCH-$BUILD.txz
# Done!
echo
echo "glibc packages built in $TMP!"

View file

@ -0,0 +1,10 @@
--- ./localedata/Makefile.orig 2019-02-16 14:05:01.794154302 -0600
+++ ./localedata/Makefile 2019-02-16 14:06:25.744146460 -0600
@@ -413,6 +413,7 @@
echo -n '...'; \
input=`echo $$locale | sed 's/\([^.]*\)[^@]*\(.*\)/\1\2/'`; \
$(LOCALEDEF) $$flags --alias-file=../intl/locale.alias \
+ --no-archive \
-i locales/$$input -f charmaps/$$charset \
$(addprefix --prefix=,$(install_root)) $$locale \
&& echo ' done';

View file

@ -0,0 +1,10 @@
--- ./localedata/SUPPORTED.orig 2005-07-17 20:50:35.000000000 -0500
+++ ./localedata/SUPPORTED 2006-08-22 01:33:09.000000000 -0500
@@ -270,6 +270,7 @@
ro_RO/ISO-8859-2 \
ru_RU.KOI8-R/KOI8-R \
ru_RU.UTF-8/UTF-8 \
+ru_RU.CP1251/CP1251 \
ru_RU/ISO-8859-5 \
ru_UA.UTF-8/UTF-8 \
ru_UA/KOI8-U \

View file

@ -0,0 +1,119 @@
#!/bin/bash
# Copyright 2023 Patrick J. Volkerding, Sebeka, Minnesota, USA
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
# permitted provided that the following conditions are met:
#
# 1. Redistributions of this script must retain the above copyright
# notice, this list of conditions and the following disclaimer.
#
# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED
# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
cd $(dirname $0) ; CWD=$(pwd)
PKGNAM=libxcrypt
VERSION=${VERSION:-$(echo $PKGNAM-*.tar.?z | rev | cut -f 3- -d . | cut -f 1 -d - | rev)}
TMP=${TMP:-/tmp}
PKG=$TMP/package-glibc-incoming-tree
cd $TMP
rm -rf $PKGNAM-$VERSION
tar xvf $CWD/$PKGNAM-$VERSION.tar.?z || exit 1
cd $PKGNAM-$VERSION || exit 1
chown -R root:root .
find . \
\( -perm 777 -o -perm 775 -o -perm 711 -o -perm 555 -o -perm 511 \) \
-exec chmod 755 {} \+ -o \
\( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \
-exec chmod 644 {} \+
# Configure, build, and install:
if [ ! -r configure ]; then
if [ -x ./autogen.sh ]; then
NOCONFIGURE=1 ./autogen.sh
else
autoreconf -vif
fi
fi
# First, build and install the compat library:
mkdir build-libxcrypt-compat
cd build-libxcrypt-compat
CFLAGS="$SLKCFLAGS" \
CXXFLAGS="$SLKCFLAGS" \
../configure \
--prefix=/usr \
--libdir=/usr/lib${LIBDIRSUFFIX} \
--mandir=/usr/man \
--enable-hashes=strong,glibc \
--enable-obsolete-api=glibc \
--disable-failure-tokens \
--build=$ARCH-slackware-linux || exit 1
make $NUMJOBS || make || exit 1
make install DESTDIR=$PKG || exit 1
cd ..
# Next, build the next-gen crypt library. We'll see what can link to it. :)
mkdir build-libxcrypt
cd build-libxcrypt
CFLAGS="$SLKCFLAGS" \
CXXFLAGS="$SLKCFLAGS" \
../configure \
--prefix=/usr \
--libdir=/usr/lib${LIBDIRSUFFIX} \
--mandir=/usr/man \
--enable-hashes=strong,glibc \
--enable-obsolete-api=no \
--disable-failure-tokens \
--build=$ARCH-slackware-linux || exit 1
make $NUMJOBS || make || exit 1
make install DESTDIR=$PKG || exit 1
cd ..
# Don't ship .la files:
rm -f $PKG/{,usr/}lib${LIBDIRSUFFIX}/libcrypt*.la
# Strip binaries:
find $PKG | xargs file | grep -e "executable" -e "shared object" | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
# Move libraries out of /usr:
mkdir -p $PKG/lib${LIBDIRSUFFIX}
( cd $PKG/usr/lib${LIBDIRSUFFIX}
## Actually, glibc always had libcrypt.a, so...
## No static crypt() libraries:
#rm libcrypt*.a
# No .so symlinks (yet):
rm libcrypt*.so
# Move libraries and remaining symlinks:
mv libcrypt*so* ../../lib${LIBDIRSUFFIX}
# Add .so symlinks for libcrypt and libxcrypt:
ln -sf ../../lib${LIBDIRSUFFIX}/libcrypt.so.2 libcrypt.so
ln -sf ../../lib${LIBDIRSUFFIX}/libcrypt.so.2 libxcrypt.so
)
# Add a documentation directory:
mkdir -p $PKG/usr/doc/${PKGNAM}-$VERSION
cp -a \
AUTHORS* ChangeLog COPYING* LICENSING* NEWS* README* THANKS* TODO* \
$PKG/usr/doc/${PKGNAM}-$VERSION
# If there's a ChangeLog, installing at least part of the recent history
# is useful, but don't let it get totally out of control:
if [ -r ChangeLog ]; then
DOCSDIR=$(echo $PKG/usr/doc/${PKGNAM}-$VERSION)
cat ChangeLog | head -n 1000 > $DOCSDIR/ChangeLog
touch -r ChangeLog $DOCSDIR/ChangeLog
fi

View file

@ -0,0 +1 @@
https://github.com/besser82/libxcrypt

View file

@ -0,0 +1,695 @@
Submitted By: Xi Ruoyao <xry111 at xry111.site>
Date: 2023-09-13
Initial Package Version: 2.38
Upstream Status: Under review
Origin: Upstream & Self
- 1/5: https://sourceware.org/git/?p=glibc.git;a=patch;h=542b11058525
- 2/5: https://sourceware.org/pipermail/libc-alpha/2023-August/150857.html
- 3/5: Trivial unused code removal
- 4/5: https://sourceware.org/pipermail/libc-alpha/2023-September/151522.html
- 5/5: https://sourceware.org/pipermail/libc-alpha/2023-September/151548.html
Description: Fixes a regression causing posix_memalign()
very slow in certain conditions to avoid
breaking ffmpeg-based applications;
fixes two security vulnerabilities,
CVE-2023-4527 and CVE-2023-4806.
From fc01478d06658ace8d57e5328c1e717275acfe84 Mon Sep 17 00:00:00 2001
From: Florian Weimer <fweimer@redhat.com>
Date: Fri, 11 Aug 2023 11:18:17 +0200
Subject: [PATCH 1/3] malloc: Enable merging of remainders in memalign (bug
30723)
Previously, calling _int_free from _int_memalign could put remainders
into the tcache or into fastbins, where they are invisible to the
low-level allocator. This results in missed merge opportunities
because once these freed chunks become available to the low-level
allocator, further memalign allocations (even of the same size are)
likely obstructing merges.
Furthermore, during forwards merging in _int_memalign, do not
completely give up when the remainder is too small to serve as a
chunk on its own. We can still give it back if it can be merged
with the following unused chunk. This makes it more likely that
memalign calls in a loop achieve a compact memory layout,
independently of initial heap layout.
Drop some useless (unsigned long) casts along the way, and tweak
the style to more closely match GNU on changed lines.
Reviewed-by: DJ Delorie <dj@redhat.com>
(cherry picked from commit 542b1105852568c3ebc712225ae78b8c8ba31a78)
---
malloc/malloc.c | 197 +++++++++++++++++++++++++++++-------------------
1 file changed, 121 insertions(+), 76 deletions(-)
diff --git a/malloc/malloc.c b/malloc/malloc.c
index e2f1a615a4..948f9759af 100644
--- a/malloc/malloc.c
+++ b/malloc/malloc.c
@@ -1086,6 +1086,11 @@ typedef struct malloc_chunk* mchunkptr;
static void* _int_malloc(mstate, size_t);
static void _int_free(mstate, mchunkptr, int);
+static void _int_free_merge_chunk (mstate, mchunkptr, INTERNAL_SIZE_T);
+static INTERNAL_SIZE_T _int_free_create_chunk (mstate,
+ mchunkptr, INTERNAL_SIZE_T,
+ mchunkptr, INTERNAL_SIZE_T);
+static void _int_free_maybe_consolidate (mstate, INTERNAL_SIZE_T);
static void* _int_realloc(mstate, mchunkptr, INTERNAL_SIZE_T,
INTERNAL_SIZE_T);
static void* _int_memalign(mstate, size_t, size_t);
@@ -4637,31 +4642,52 @@ _int_free (mstate av, mchunkptr p, int have_lock)
if (!have_lock)
__libc_lock_lock (av->mutex);
- nextchunk = chunk_at_offset(p, size);
-
- /* Lightweight tests: check whether the block is already the
- top block. */
- if (__glibc_unlikely (p == av->top))
- malloc_printerr ("double free or corruption (top)");
- /* Or whether the next chunk is beyond the boundaries of the arena. */
- if (__builtin_expect (contiguous (av)
- && (char *) nextchunk
- >= ((char *) av->top + chunksize(av->top)), 0))
- malloc_printerr ("double free or corruption (out)");
- /* Or whether the block is actually not marked used. */
- if (__glibc_unlikely (!prev_inuse(nextchunk)))
- malloc_printerr ("double free or corruption (!prev)");
-
- nextsize = chunksize(nextchunk);
- if (__builtin_expect (chunksize_nomask (nextchunk) <= CHUNK_HDR_SZ, 0)
- || __builtin_expect (nextsize >= av->system_mem, 0))
- malloc_printerr ("free(): invalid next size (normal)");
+ _int_free_merge_chunk (av, p, size);
- free_perturb (chunk2mem(p), size - CHUNK_HDR_SZ);
+ if (!have_lock)
+ __libc_lock_unlock (av->mutex);
+ }
+ /*
+ If the chunk was allocated via mmap, release via munmap().
+ */
+
+ else {
+ munmap_chunk (p);
+ }
+}
+
+/* Try to merge chunk P of SIZE bytes with its neighbors. Put the
+ resulting chunk on the appropriate bin list. P must not be on a
+ bin list yet, and it can be in use. */
+static void
+_int_free_merge_chunk (mstate av, mchunkptr p, INTERNAL_SIZE_T size)
+{
+ mchunkptr nextchunk = chunk_at_offset(p, size);
+
+ /* Lightweight tests: check whether the block is already the
+ top block. */
+ if (__glibc_unlikely (p == av->top))
+ malloc_printerr ("double free or corruption (top)");
+ /* Or whether the next chunk is beyond the boundaries of the arena. */
+ if (__builtin_expect (contiguous (av)
+ && (char *) nextchunk
+ >= ((char *) av->top + chunksize(av->top)), 0))
+ malloc_printerr ("double free or corruption (out)");
+ /* Or whether the block is actually not marked used. */
+ if (__glibc_unlikely (!prev_inuse(nextchunk)))
+ malloc_printerr ("double free or corruption (!prev)");
+
+ INTERNAL_SIZE_T nextsize = chunksize(nextchunk);
+ if (__builtin_expect (chunksize_nomask (nextchunk) <= CHUNK_HDR_SZ, 0)
+ || __builtin_expect (nextsize >= av->system_mem, 0))
+ malloc_printerr ("free(): invalid next size (normal)");
+
+ free_perturb (chunk2mem(p), size - CHUNK_HDR_SZ);
- /* consolidate backward */
- if (!prev_inuse(p)) {
- prevsize = prev_size (p);
+ /* Consolidate backward. */
+ if (!prev_inuse(p))
+ {
+ INTERNAL_SIZE_T prevsize = prev_size (p);
size += prevsize;
p = chunk_at_offset(p, -((long) prevsize));
if (__glibc_unlikely (chunksize(p) != prevsize))
@@ -4669,9 +4695,25 @@ _int_free (mstate av, mchunkptr p, int have_lock)
unlink_chunk (av, p);
}
- if (nextchunk != av->top) {
+ /* Write the chunk header, maybe after merging with the following chunk. */
+ size = _int_free_create_chunk (av, p, size, nextchunk, nextsize);
+ _int_free_maybe_consolidate (av, size);
+}
+
+/* Create a chunk at P of SIZE bytes, with SIZE potentially increased
+ to cover the immediately following chunk NEXTCHUNK of NEXTSIZE
+ bytes (if NEXTCHUNK is unused). The chunk at P is not actually
+ read and does not have to be initialized. After creation, it is
+ placed on the appropriate bin list. The function returns the size
+ of the new chunk. */
+static INTERNAL_SIZE_T
+_int_free_create_chunk (mstate av, mchunkptr p, INTERNAL_SIZE_T size,
+ mchunkptr nextchunk, INTERNAL_SIZE_T nextsize)
+{
+ if (nextchunk != av->top)
+ {
/* get and clear inuse bit */
- nextinuse = inuse_bit_at_offset(nextchunk, nextsize);
+ bool nextinuse = inuse_bit_at_offset (nextchunk, nextsize);
/* consolidate forward */
if (!nextinuse) {
@@ -4686,8 +4728,8 @@ _int_free (mstate av, mchunkptr p, int have_lock)
been given one chance to be used in malloc.
*/
- bck = unsorted_chunks(av);
- fwd = bck->fd;
+ mchunkptr bck = unsorted_chunks (av);
+ mchunkptr fwd = bck->fd;
if (__glibc_unlikely (fwd->bk != bck))
malloc_printerr ("free(): corrupted unsorted chunks");
p->fd = fwd;
@@ -4706,61 +4748,52 @@ _int_free (mstate av, mchunkptr p, int have_lock)
check_free_chunk(av, p);
}
- /*
- If the chunk borders the current high end of memory,
- consolidate into top
- */
-
- else {
+ else
+ {
+ /* If the chunk borders the current high end of memory,
+ consolidate into top. */
size += nextsize;
set_head(p, size | PREV_INUSE);
av->top = p;
check_chunk(av, p);
}
- /*
- If freeing a large space, consolidate possibly-surrounding
- chunks. Then, if the total unused topmost memory exceeds trim
- threshold, ask malloc_trim to reduce top.
-
- Unless max_fast is 0, we don't know if there are fastbins
- bordering top, so we cannot tell for sure whether threshold
- has been reached unless fastbins are consolidated. But we
- don't want to consolidate on each free. As a compromise,
- consolidation is performed if FASTBIN_CONSOLIDATION_THRESHOLD
- is reached.
- */
+ return size;
+}
- if ((unsigned long)(size) >= FASTBIN_CONSOLIDATION_THRESHOLD) {
+/* If freeing a large space, consolidate possibly-surrounding
+ chunks. Then, if the total unused topmost memory exceeds trim
+ threshold, ask malloc_trim to reduce top. */
+static void
+_int_free_maybe_consolidate (mstate av, INTERNAL_SIZE_T size)
+{
+ /* Unless max_fast is 0, we don't know if there are fastbins
+ bordering top, so we cannot tell for sure whether threshold has
+ been reached unless fastbins are consolidated. But we don't want
+ to consolidate on each free. As a compromise, consolidation is
+ performed if FASTBIN_CONSOLIDATION_THRESHOLD is reached. */
+ if (size >= FASTBIN_CONSOLIDATION_THRESHOLD)
+ {
if (atomic_load_relaxed (&av->have_fastchunks))
malloc_consolidate(av);
- if (av == &main_arena) {
+ if (av == &main_arena)
+ {
#ifndef MORECORE_CANNOT_TRIM
- if ((unsigned long)(chunksize(av->top)) >=
- (unsigned long)(mp_.trim_threshold))
- systrim(mp_.top_pad, av);
+ if (chunksize (av->top) >= mp_.trim_threshold)
+ systrim (mp_.top_pad, av);
#endif
- } else {
- /* Always try heap_trim(), even if the top chunk is not
- large, because the corresponding heap might go away. */
- heap_info *heap = heap_for_ptr(top(av));
+ }
+ else
+ {
+ /* Always try heap_trim, even if the top chunk is not large,
+ because the corresponding heap might go away. */
+ heap_info *heap = heap_for_ptr (top (av));
- assert(heap->ar_ptr == av);
- heap_trim(heap, mp_.top_pad);
- }
+ assert (heap->ar_ptr == av);
+ heap_trim (heap, mp_.top_pad);
+ }
}
-
- if (!have_lock)
- __libc_lock_unlock (av->mutex);
- }
- /*
- If the chunk was allocated via mmap, release via munmap().
- */
-
- else {
- munmap_chunk (p);
- }
}
/*
@@ -5221,7 +5254,7 @@ _int_memalign (mstate av, size_t alignment, size_t bytes)
(av != &main_arena ? NON_MAIN_ARENA : 0));
set_inuse_bit_at_offset (newp, newsize);
set_head_size (p, leadsize | (av != &main_arena ? NON_MAIN_ARENA : 0));
- _int_free (av, p, 1);
+ _int_free_merge_chunk (av, p, leadsize);
p = newp;
assert (newsize >= nb &&
@@ -5232,15 +5265,27 @@ _int_memalign (mstate av, size_t alignment, size_t bytes)
if (!chunk_is_mmapped (p))
{
size = chunksize (p);
- if ((unsigned long) (size) > (unsigned long) (nb + MINSIZE))
+ mchunkptr nextchunk = chunk_at_offset(p, size);
+ INTERNAL_SIZE_T nextsize = chunksize(nextchunk);
+ if (size > nb)
{
remainder_size = size - nb;
- remainder = chunk_at_offset (p, nb);
- set_head (remainder, remainder_size | PREV_INUSE |
- (av != &main_arena ? NON_MAIN_ARENA : 0));
- set_head_size (p, nb);
- _int_free (av, remainder, 1);
- }
+ if (remainder_size >= MINSIZE
+ || nextchunk == av->top
+ || !inuse_bit_at_offset (nextchunk, nextsize))
+ {
+ /* We can only give back the tail if it is larger than
+ MINSIZE, or if the following chunk is unused (top
+ chunk or unused in-heap chunk). Otherwise we would
+ create a chunk that is smaller than MINSIZE. */
+ remainder = chunk_at_offset (p, nb);
+ set_head_size (p, nb);
+ remainder_size = _int_free_create_chunk (av, remainder,
+ remainder_size,
+ nextchunk, nextsize);
+ _int_free_maybe_consolidate (av, remainder_size);
+ }
+ }
}
check_inuse_chunk (av, p);
--
2.41.0
From b37e836b7cc2dba672e1de1cc7e076ba1c712614 Mon Sep 17 00:00:00 2001
From: Florian Weimer <fweimer@redhat.com>
Date: Fri, 11 Aug 2023 17:48:13 +0200
Subject: [PATCH 2/3] malloc: Remove bin scanning from memalign (bug 30723)
On the test workload (mpv --cache=yes with VP9 video decoding), the
bin scanning has a very poor success rate (less than 2%). The tcache
scanning has about 50% success rate, so keep that.
Update comments in malloc/tst-memalign-2 to indicate the purpose
of the tests. Even with the scanning removed, the additional
merging opportunities since commit 542b1105852568c3ebc712225ae78b
("malloc: Enable merging of remainders in memalign (bug 30723)")
are sufficient to pass the existing large bins test.
Link: https://sourceware.org/pipermail/libc-alpha/2023-August/150857.html
---
malloc/malloc.c | 127 ++--------------------------------------
malloc/tst-memalign-2.c | 7 ++-
2 files changed, 10 insertions(+), 124 deletions(-)
diff --git a/malloc/malloc.c b/malloc/malloc.c
index 948f9759af..9c2cab7a59 100644
--- a/malloc/malloc.c
+++ b/malloc/malloc.c
@@ -5082,7 +5082,6 @@ _int_memalign (mstate av, size_t alignment, size_t bytes)
mchunkptr remainder; /* spare room at end to split off */
unsigned long remainder_size; /* its size */
INTERNAL_SIZE_T size;
- mchunkptr victim;
nb = checked_request2size (bytes);
if (nb == 0)
@@ -5101,129 +5100,13 @@ _int_memalign (mstate av, size_t alignment, size_t bytes)
we don't find anything in those bins, the common malloc code will
scan starting at 2x. */
- /* This will be set if we found a candidate chunk. */
- victim = NULL;
+ /* Call malloc with worst case padding to hit alignment. */
+ m = (char *) (_int_malloc (av, nb + alignment + MINSIZE));
- /* Fast bins are singly-linked, hard to remove a chunk from the middle
- and unlikely to meet our alignment requirements. We have not done
- any experimentation with searching for aligned fastbins. */
+ if (m == 0)
+ return 0; /* propagate failure */
- if (av != NULL)
- {
- int first_bin_index;
- int first_largebin_index;
- int last_bin_index;
-
- if (in_smallbin_range (nb))
- first_bin_index = smallbin_index (nb);
- else
- first_bin_index = largebin_index (nb);
-
- if (in_smallbin_range (nb * 2))
- last_bin_index = smallbin_index (nb * 2);
- else
- last_bin_index = largebin_index (nb * 2);
-
- first_largebin_index = largebin_index (MIN_LARGE_SIZE);
-
- int victim_index; /* its bin index */
-
- for (victim_index = first_bin_index;
- victim_index < last_bin_index;
- victim_index ++)
- {
- victim = NULL;
-
- if (victim_index < first_largebin_index)
- {
- /* Check small bins. Small bin chunks are doubly-linked despite
- being the same size. */
-
- mchunkptr fwd; /* misc temp for linking */
- mchunkptr bck; /* misc temp for linking */
-
- bck = bin_at (av, victim_index);
- fwd = bck->fd;
- while (fwd != bck)
- {
- if (chunk_ok_for_memalign (fwd, alignment, nb) > 0)
- {
- victim = fwd;
-
- /* Unlink it */
- victim->fd->bk = victim->bk;
- victim->bk->fd = victim->fd;
- break;
- }
-
- fwd = fwd->fd;
- }
- }
- else
- {
- /* Check large bins. */
- mchunkptr fwd; /* misc temp for linking */
- mchunkptr bck; /* misc temp for linking */
- mchunkptr best = NULL;
- size_t best_size = 0;
-
- bck = bin_at (av, victim_index);
- fwd = bck->fd;
-
- while (fwd != bck)
- {
- int extra;
-
- if (chunksize (fwd) < nb)
- break;
- extra = chunk_ok_for_memalign (fwd, alignment, nb);
- if (extra > 0
- && (extra <= best_size || best == NULL))
- {
- best = fwd;
- best_size = extra;
- }
-
- fwd = fwd->fd;
- }
- victim = best;
-
- if (victim != NULL)
- {
- unlink_chunk (av, victim);
- break;
- }
- }
-
- if (victim != NULL)
- break;
- }
- }
-
- /* Strategy: find a spot within that chunk that meets the alignment
- request, and then possibly free the leading and trailing space.
- This strategy is incredibly costly and can lead to external
- fragmentation if header and footer chunks are unused. */
-
- if (victim != NULL)
- {
- p = victim;
- m = chunk2mem (p);
- set_inuse (p);
- if (av != &main_arena)
- set_non_main_arena (p);
- }
- else
- {
- /* Call malloc with worst case padding to hit alignment. */
-
- m = (char *) (_int_malloc (av, nb + alignment + MINSIZE));
-
- if (m == 0)
- return 0; /* propagate failure */
-
- p = mem2chunk (m);
- }
+ p = mem2chunk (m);
if ((((unsigned long) (m)) % alignment) != 0) /* misaligned */
{
diff --git a/malloc/tst-memalign-2.c b/malloc/tst-memalign-2.c
index f229283dbf..ecd6fa249e 100644
--- a/malloc/tst-memalign-2.c
+++ b/malloc/tst-memalign-2.c
@@ -86,7 +86,8 @@ do_test (void)
TEST_VERIFY (tcache_allocs[i].ptr1 == tcache_allocs[i].ptr2);
}
- /* Test for non-head tcache hits. */
+ /* Test for non-head tcache hits. This exercises the memalign
+ scanning code to find matching allocations. */
for (i = 0; i < array_length (ptr); ++ i)
{
if (i == 4)
@@ -113,7 +114,9 @@ do_test (void)
free (p);
TEST_VERIFY (count > 0);
- /* Large bins test. */
+ /* Large bins test. This verifies that the over-allocated parts
+ that memalign releases for future allocations can be reused by
+ memalign itself at least in some cases. */
for (i = 0; i < LN; ++ i)
{
--
2.41.0
From 26973f7b09c33e67f6bcbc79371796c8dd334528 Mon Sep 17 00:00:00 2001
From: Xi Ruoyao <xry111@xry111.site>
Date: Mon, 14 Aug 2023 11:05:18 +0800
Subject: [PATCH 3/3] malloc: Remove unused functions and variables
Remove unused chunk_ok_for_memalign function and unused local variables
in _int_free.
Signed-off-by: Xi Ruoyao <xry111@xry111.site>
---
malloc/malloc.c | 42 ------------------------------------------
1 file changed, 42 deletions(-)
diff --git a/malloc/malloc.c b/malloc/malloc.c
index 9c2cab7a59..d0bbbf3710 100644
--- a/malloc/malloc.c
+++ b/malloc/malloc.c
@@ -4488,12 +4488,6 @@ _int_free (mstate av, mchunkptr p, int have_lock)
{
INTERNAL_SIZE_T size; /* its size */
mfastbinptr *fb; /* associated fastbin */
- mchunkptr nextchunk; /* next contiguous chunk */
- INTERNAL_SIZE_T nextsize; /* its size */
- int nextinuse; /* true if nextchunk is used */
- INTERNAL_SIZE_T prevsize; /* size of previous contiguous chunk */
- mchunkptr bck; /* misc temp for linking */
- mchunkptr fwd; /* misc temp for linking */
size = chunksize (p);
@@ -5032,42 +5026,6 @@ _int_realloc (mstate av, mchunkptr oldp, INTERNAL_SIZE_T oldsize,
------------------------------ memalign ------------------------------
*/
-/* Returns 0 if the chunk is not and does not contain the requested
- aligned sub-chunk, else returns the amount of "waste" from
- trimming. NB is the *chunk* byte size, not the user byte
- size. */
-static size_t
-chunk_ok_for_memalign (mchunkptr p, size_t alignment, size_t nb)
-{
- void *m = chunk2mem (p);
- INTERNAL_SIZE_T size = chunksize (p);
- void *aligned_m = m;
-
- if (__glibc_unlikely (misaligned_chunk (p)))
- malloc_printerr ("_int_memalign(): unaligned chunk detected");
-
- aligned_m = PTR_ALIGN_UP (m, alignment);
-
- INTERNAL_SIZE_T front_extra = (intptr_t) aligned_m - (intptr_t) m;
-
- /* We can't trim off the front as it's too small. */
- if (front_extra > 0 && front_extra < MINSIZE)
- return 0;
-
- /* If it's a perfect fit, it's an exception to the return value rule
- (we would return zero waste, which looks like "not usable"), so
- handle it here by returning a small non-zero value instead. */
- if (size == nb && front_extra == 0)
- return 1;
-
- /* If the block we need fits in the chunk, calculate total waste. */
- if (size > nb + front_extra)
- return size - nb;
-
- /* Can't use this chunk. */
- return 0;
-}
-
/* BYTES is user requested bytes, not requested chunksize bytes. */
static void *
_int_memalign (mstate av, size_t alignment, size_t bytes)
--
2.41.0
diff --git a/resolv/nss_dns/dns-host.c b/resolv/nss_dns/dns-host.c
index c8b77bbc35..119dc9f00f 100644
--- a/resolv/nss_dns/dns-host.c
+++ b/resolv/nss_dns/dns-host.c
@@ -427,7 +427,7 @@ _nss_dns_gethostbyname4_r (const char *name, struct gaih_addrtuple **pat,
{
n = __res_context_search (ctx, name, C_IN, T_A,
dns_packet_buffer, sizeof (dns_packet_buffer),
- NULL, NULL, NULL, NULL, NULL);
+ &alt_dns_packet_buffer, NULL, NULL, NULL, NULL);
if (n >= 0)
status = gaih_getanswer_noaaaa (alt_dns_packet_buffer, n,
&abuf, pat, errnop, herrnop, ttlp);
diff --git a/sysdeps/posix/getaddrinfo.c b/sysdeps/posix/getaddrinfo.c
index 6ae6744fe4..eb5ba59dac 100644
--- a/sysdeps/posix/getaddrinfo.c
+++ b/sysdeps/posix/getaddrinfo.c
@@ -120,6 +120,7 @@ struct gaih_result
{
struct gaih_addrtuple *at;
char *canon;
+ char *hname;
bool free_at;
bool got_ipv6;
};
@@ -165,6 +166,7 @@ gaih_result_reset (struct gaih_result *res)
if (res->free_at)
free (res->at);
free (res->canon);
+ free (res->hname);
memset (res, 0, sizeof (*res));
}
@@ -203,9 +205,8 @@ gaih_inet_serv (const char *servicename, const struct gaih_typeproto *tp,
return 0;
}
-/* Convert struct hostent to a list of struct gaih_addrtuple objects. h_name
- is not copied, and the struct hostent object must not be deallocated
- prematurely. The new addresses are appended to the tuple array in RES. */
+/* Convert struct hostent to a list of struct gaih_addrtuple objects. The new
+ addresses are appended to the tuple array in RES. */
static bool
convert_hostent_to_gaih_addrtuple (const struct addrinfo *req, int family,
struct hostent *h, struct gaih_result *res)
@@ -238,6 +239,15 @@ convert_hostent_to_gaih_addrtuple (const struct addrinfo *req, int family,
res->at = array;
res->free_at = true;
+ /* Duplicate h_name because it may get reclaimed when the underlying storage
+ is freed. */
+ if (res->hname == NULL)
+ {
+ res->hname = __strdup (h->h_name);
+ if (res->hname == NULL)
+ return false;
+ }
+
/* Update the next pointers on reallocation. */
for (size_t i = 0; i < old; i++)
array[i].next = array + i + 1;
@@ -262,7 +272,6 @@ convert_hostent_to_gaih_addrtuple (const struct addrinfo *req, int family,
}
array[i].next = array + i + 1;
}
- array[0].name = h->h_name;
array[count - 1].next = NULL;
return true;
@@ -324,15 +333,15 @@ gethosts (nss_gethostbyname3_r fct, int family, const char *name,
memory allocation failure. The returned string is allocated on the
heap; the caller has to free it. */
static char *
-getcanonname (nss_action_list nip, struct gaih_addrtuple *at, const char *name)
+getcanonname (nss_action_list nip, const char *hname, const char *name)
{
nss_getcanonname_r *cfct = __nss_lookup_function (nip, "getcanonname_r");
char *s = (char *) name;
if (cfct != NULL)
{
char buf[256];
- if (DL_CALL_FCT (cfct, (at->name ?: name, buf, sizeof (buf),
- &s, &errno, &h_errno)) != NSS_STATUS_SUCCESS)
+ if (DL_CALL_FCT (cfct, (hname ?: name, buf, sizeof (buf), &s, &errno,
+ &h_errno)) != NSS_STATUS_SUCCESS)
/* If the canonical name cannot be determined, use the passed
string. */
s = (char *) name;
@@ -740,6 +749,7 @@ get_nss_addresses (const char *name, const struct addrinfo *req,
}
no_inet6_data = no_data;
inet6_status = status;
+
}
if (req->ai_family == AF_INET
|| req->ai_family == AF_UNSPEC
@@ -771,7 +781,7 @@ get_nss_addresses (const char *name, const struct addrinfo *req,
if ((req->ai_flags & AI_CANONNAME) != 0
&& res->canon == NULL)
{
- char *canonbuf = getcanonname (nip, res->at, name);
+ char *canonbuf = getcanonname (nip, res->hname, name);
if (canonbuf == NULL)
{
__resolv_context_put (res_ctx);

View file

@ -0,0 +1,101 @@
diff -up glibc-2.38/Makeconfig.45~ glibc-2.38/Makeconfig
--- glibc-2.38/Makeconfig.45~ 2023-08-01 01:02:58.246719027 +0200
+++ glibc-2.38/Makeconfig 2023-08-01 01:02:58.303719582 +0200
@@ -381,6 +381,15 @@ relro-LDFLAGS = -Wl,-z,relro
LDFLAGS.so += $(relro-LDFLAGS)
LDFLAGS-rtld += $(relro-LDFLAGS)
+ifeq (yes,$(have-hash-style))
+# For the time being we unconditionally use 'both'. At some time we
+# should declare statically linked code as 'out of luck' and compile
+# with --hash-style=gnu only.
+hashstyle-LDFLAGS = -Wl,--hash-style=both
+LDFLAGS.so += $(hashstyle-LDFLAGS)
+LDFLAGS-rtld += $(hashstyle-LDFLAGS)
+endif
+
# Linker options to enable and disable DT_RELR.
ifeq ($(have-dt-relr),yes)
dt-relr-ldflag = -Wl,-z,pack-relative-relocs
diff -up glibc-2.38/Makerules.45~ glibc-2.38/Makerules
diff -up glibc-2.38/config.make.in.45~ glibc-2.38/config.make.in
--- glibc-2.38/config.make.in.45~ 2023-08-01 01:02:58.301719562 +0200
+++ glibc-2.38/config.make.in 2023-08-01 01:03:54.721267748 +0200
@@ -71,6 +71,7 @@ have-libaudit = @have_libaudit@
have-libcap = @have_libcap@
have-cc-with-libunwind = @libc_cv_cc_with_libunwind@
bind-now = @bindnow@
+have-hash-style = @libc_cv_hashstyle@
have-cxx-thread_local = @libc_cv_cxx_thread_local@
have-loop-to-function = @libc_cv_cc_loop_to_function@
have-textrel_ifunc = @libc_cv_textrel_ifunc@
diff -up glibc-2.38/configure.45~ glibc-2.38/configure
--- glibc-2.38/configure.45~ 2023-07-31 19:54:16.000000000 +0200
+++ glibc-2.38/configure 2023-08-01 01:04:54.904850299 +0200
@@ -655,6 +655,7 @@ libc_cv_cc_submachine
libc_cv_cc_nofma
libc_cv_mtls_dialect_gnu2
libc_cv_has_glob_dat
+libc_cv_hashstyle
libc_cv_fpie
libc_cv_z_execstack
ASFLAGS_config
@@ -7107,6 +7108,32 @@ fi
printf "%s\n" "$libc_cv_fpie" >&6; }
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for --hash-style option" >&5
+$as_echo_n "checking for --hash-style option... " >&6; }
+if ${libc_cv_hashstyle+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ cat > conftest.c <<EOF
+int _start (void) { return 42; }
+EOF
+if { ac_try='${CC-cc} $CFLAGS $CPPFLAGS $LDFLAGS $no_ssp
+ -fPIC -shared -o conftest.so conftest.c
+ -Wl,--hash-style=both -nostdlib 1>&5'
+ { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_try\""; } >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+ test $ac_status = 0; }; }
+then
+ libc_cv_hashstyle=yes
+else
+ libc_cv_hashstyle=no
+fi
+rm -f conftest*
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $libc_cv_hashstyle" >&5
+$as_echo "$libc_cv_hashstyle" >&6; }
+
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for GLOB_DAT reloc" >&5
printf %s "checking for GLOB_DAT reloc... " >&6; }
diff -up glibc-2.38/configure.ac.45~ glibc-2.38/configure.ac
--- glibc-2.38/configure.ac.45~ 2023-07-31 19:54:16.000000000 +0200
+++ glibc-2.38/configure.ac 2023-08-01 01:02:58.303719582 +0200
@@ -1339,6 +1339,22 @@ LIBC_TRY_CC_OPTION([-fpie], [libc_cv_fpi
AC_SUBST(libc_cv_fpie)
+AC_CACHE_CHECK(for --hash-style option,
+ libc_cv_hashstyle, [dnl
+cat > conftest.c <<EOF
+int _start (void) { return 42; }
+EOF
+if AC_TRY_COMMAND([${CC-cc} $CFLAGS $CPPFLAGS $LDFLAGS $no_ssp
+ -fPIC -shared -o conftest.so conftest.c
+ -Wl,--hash-style=both -nostdlib 1>&AS_MESSAGE_LOG_FD])
+then
+ libc_cv_hashstyle=yes
+else
+ libc_cv_hashstyle=no
+fi
+rm -f conftest*])
+AC_SUBST(libc_cv_hashstyle)
+
AC_CACHE_CHECK(for GLOB_DAT reloc,
libc_cv_has_glob_dat, [dnl
cat > conftest.c <<EOF

View file

@ -0,0 +1,9 @@
#!/bin/csh
# Set more relaxed (glibc-2.3.5 like) malloc() checking.
#
# This relaxes the default paranoia level so that it reports
# bugs, but does not kill the questionable process. You can
# get away with running broken programs with this setting,
# but at a possible performance and security cost.
#
#setenv MALLOC_CHECK_ 1

View file

@ -0,0 +1,8 @@
#!/bin/sh
# Set more relaxed (glibc-2.3.5 like) malloc() checking.
#
# This relaxes the default paranoia level so that it reports
# bugs, but does not kill the questionable process. You can
# get away with running broken programs with this setting,
# but at a possible performance and security cost.
#export MALLOC_CHECK_=1

View file

@ -0,0 +1,19 @@
# HOW TO EDIT THIS FILE:
# The "handy ruler" below makes it easier to edit a package description. Line
# up the first '|' above the ':' following the base package name, and the '|' on
# the right side marks the last column you can put a character in. You must make
# exactly 11 lines for the formatting to be correct. It's also customary to
# leave one space after the ':'.
|-----handy-ruler------------------------------------------------------|
aaa_glibc-solibs: aaa_glibc-solibs (shared GNU C libraries)
aaa_glibc-solibs:
aaa_glibc-solibs: This package contains the shared libraries, binaries, and support
aaa_glibc-solibs: files required to run most Linux applications linked with glibc.
aaa_glibc-solibs:
aaa_glibc-solibs:
aaa_glibc-solibs:
aaa_glibc-solibs:
aaa_glibc-solibs:
aaa_glibc-solibs:
aaa_glibc-solibs:

View file

@ -0,0 +1,19 @@
# HOW TO EDIT THIS FILE:
# The "handy ruler" below makes it easier to edit a package description. Line
# up the first '|' above the ':' following the base package name, and the '|' on
# the right side marks the last column you can put a character in. You must make
# exactly 11 lines for the formatting to be correct. It's also customary to
# leave one space after the ':'.
|-----handy-ruler------------------------------------------------------|
glibc: glibc (GNU C libraries)
glibc:
glibc: This package contains the GNU C libraries and header files. You'll
glibc: need this package to compile programs.
glibc:
glibc: The GNU C library was originally authored by Roland McGrath.
glibc:
glibc: Homepage: https://www.gnu.org/software/libc/
glibc:
glibc:
glibc:

View file

@ -0,0 +1,19 @@
# HOW TO EDIT THIS FILE:
# The "handy ruler" below makes it easier to edit a package description. Line
# up the first '|' above the ':' following the base package name, and the '|' on
# the right side marks the last column you can put a character in. You must make
# exactly 11 lines for the formatting to be correct. It's also customary to
# leave one space after the ':'.
|-----handy-ruler------------------------------------------------------|
glibc-debug: glibc-debug (GNU C libraries with debugging symbols)
glibc-debug:
glibc-debug: This package contains versions of the GNU C libraries with debugging
glibc-debug: information. These are needed only if you wish to be able to step
glibc-debug: through C library routines while debugging programs. Most debugging
glibc-debug: efforts will not require these.
glibc-debug: To use these libraries, set LD_LIBRARY_PATH when calling the debugger:
glibc-debug: LD_LIBRARY_PATH=/usr/lib/debug gdb <executable>
glibc-debug:
glibc-debug: Or, use this approach if you need to debug a setuid binary:
glibc-debug: su user -c "LD_LIBRARY_PATH=/usr/lib/debug gdb <executable>"

View file

@ -0,0 +1,19 @@
# HOW TO EDIT THIS FILE:
# The "handy ruler" below makes it easier to edit a package description. Line
# up the first '|' above the ':' following the base package name, and the '|' on
# the right side marks the last column you can put a character in. You must make
# exactly 11 lines for the formatting to be correct. It's also customary to
# leave one space after the ':'.
|-----handy-ruler------------------------------------------------------|
glibc-i18n: glibc-i18n (locale files from glibc)
glibc-i18n:
glibc-i18n: These files go in /usr/lib/locale, /usr/share/i18n/, and
glibc-i18n: /usr/share/locale/ to provide internationalization support.
glibc-i18n: You'll need this package unless you will be using US English only.
glibc-i18n:
glibc-i18n:
glibc-i18n:
glibc-i18n:
glibc-i18n:
glibc-i18n:

View file

@ -0,0 +1,19 @@
# HOW TO EDIT THIS FILE:
# The "handy ruler" below makes it easier to edit a package description. Line
# up the first '|' above the ':' following the base package name, and the '|' on
# the right side marks the last column you can put a character in. You must make
# exactly 11 lines for the formatting to be correct. It's also customary to
# leave one space after the ':'.
|-----handy-ruler------------------------------------------------------|
glibc-profile: glibc-profile (GNU C libraries with profiling support)
glibc-profile:
glibc-profile: This package contains static versions of the GNU C libraries with
glibc-profile: support for profiling binaries using gprof. gprof calculates how
glibc-profile: much time a program spends in each routine which can suggest where
glibc-profile: to concentrate efforts to improve performance.
glibc-profile:
glibc-profile: See the gprof man page for more details.
glibc-profile:
glibc-profile:
glibc-profile: