Sun Dec 25 23:21:25 UTC 2022

Hey folks, Merry Christmas and Hanukkah Sameach! Figured it was about time to
get some kind of kernel activity going again, but it most definitely belongs
in /testing for now. I've been trying to shape this up for weeks, but there
are still issues, and maybe someone out there can help. The biggest problem
is that the 32-bit kernels crash on boot. Initially there's some sort of
Intel ME failure (this is on a Thinkpad X1E). If those modules are
blacklisted, then the kernel will go on to crash loading the snd_hda_intel
module. The other issue is that I've got a 4K panel in this machine, and
have always appended the kernel option video=1920x1080@60 to put the console
in HD instead, and then loaded a Terminus console font to make the text even
larger. With these kernels, that option is completely ignored. I've tried some
other syntax I've seen online to no avail. And when the Terminus font is
loaded the text gets *even smaller* for some reason.
So be careful of these kernels (especially the 32-bit ones), but I welcome
any hints about what's going on here or if there are config changes that
might get this working properly. Is anyone out there running a 6.x kernel on
bare metal 32-bit x86?
Cheers!
ap/vim-9.0.1091-x86_64-1.txz:  Upgraded.
d/meson-1.0.0-x86_64-1.txz:  Upgraded.
d/ruby-3.2.0-x86_64-1.txz:  Upgraded.
  Shared library .so-version bump.
d/subversion-1.14.2-x86_64-3.txz:  Rebuilt.
  Recompiled against ruby-3.2.0.
l/glib2-2.74.4-x86_64-1.txz:  Upgraded.
l/netpbm-11.00.03-x86_64-1.txz:  Upgraded.
l/rubygem-asciidoctor-2.0.18-x86_64-1.txz:  Upgraded.
  Compiled against ruby-3.2.0.
n/epic5-2.1.12-x86_64-2.txz:  Rebuilt.
  Recompiled against ruby-3.2.0.
x/marisa-0.2.6-x86_64-6.txz:  Rebuilt.
  Recompiled against ruby-3.2.0.
xap/vim-gvim-9.0.1091-x86_64-1.txz:  Upgraded.
testing/packages/linux-6.1.x/kernel-generic-6.1.1-x86_64-1.txz:  Added.
testing/packages/linux-6.1.x/kernel-headers-6.1.1-x86-1.txz:  Added.
testing/packages/linux-6.1.x/kernel-huge-6.1.1-x86_64-1.txz:  Added.
testing/packages/linux-6.1.x/kernel-modules-6.1.1-x86_64-1.txz:  Added.
testing/packages/linux-6.1.x/kernel-source-6.1.1-noarch-1.txz:  Added.
This commit is contained in:
Patrick J Volkerding 2022-12-25 23:21:25 +00:00 committed by Eric Hameleers
parent 0f2ac1afc0
commit 5d902bcdde
32 changed files with 65974 additions and 87 deletions

View file

@ -11,9 +11,57 @@
<description>Tracking Slackware development in git.</description>
<language>en-us</language>
<id xmlns="http://www.w3.org/2005/Atom">urn:uuid:c964f45e-6732-11e8-bbe5-107b4450212f</id>
<pubDate>Fri, 23 Dec 2022 20:27:02 GMT</pubDate>
<lastBuildDate>Fri, 23 Dec 2022 21:34:26 GMT</lastBuildDate>
<pubDate>Sun, 25 Dec 2022 23:21:25 GMT</pubDate>
<lastBuildDate>Mon, 26 Dec 2022 00:38:27 GMT</lastBuildDate>
<generator>maintain_current_git.sh v 1.17</generator>
<item>
<title>Sun, 25 Dec 2022 23:21:25 GMT</title>
<pubDate>Sun, 25 Dec 2022 23:21:25 GMT</pubDate>
<link>https://git.slackware.nl/current/tag/?h=20221225232125</link>
<guid isPermaLink="false">20221225232125</guid>
<description>
<![CDATA[<pre>
Hey folks, Merry Christmas and Hanukkah Sameach! Figured it was about time to
get some kind of kernel activity going again, but it most definitely belongs
in /testing for now. I've been trying to shape this up for weeks, but there
are still issues, and maybe someone out there can help. The biggest problem
is that the 32-bit kernels crash on boot. Initially there's some sort of
Intel ME failure (this is on a Thinkpad X1E). If those modules are
blacklisted, then the kernel will go on to crash loading the snd_hda_intel
module. The other issue is that I've got a 4K panel in this machine, and
have always appended the kernel option video=1920x1080@60 to put the console
in HD instead, and then loaded a Terminus console font to make the text even
larger. With these kernels, that option is completely ignored. I've tried some
other syntax I've seen online to no avail. And when the Terminus font is
loaded the text gets *even smaller* for some reason.
So be careful of these kernels (especially the 32-bit ones), but I welcome
any hints about what's going on here or if there are config changes that
might get this working properly. Is anyone out there running a 6.x kernel on
bare metal 32-bit x86?
Cheers!
ap/vim-9.0.1091-x86_64-1.txz: Upgraded.
d/meson-1.0.0-x86_64-1.txz: Upgraded.
d/ruby-3.2.0-x86_64-1.txz: Upgraded.
Shared library .so-version bump.
d/subversion-1.14.2-x86_64-3.txz: Rebuilt.
Recompiled against ruby-3.2.0.
l/glib2-2.74.4-x86_64-1.txz: Upgraded.
l/netpbm-11.00.03-x86_64-1.txz: Upgraded.
l/rubygem-asciidoctor-2.0.18-x86_64-1.txz: Upgraded.
Compiled against ruby-3.2.0.
n/epic5-2.1.12-x86_64-2.txz: Rebuilt.
Recompiled against ruby-3.2.0.
x/marisa-0.2.6-x86_64-6.txz: Rebuilt.
Recompiled against ruby-3.2.0.
xap/vim-gvim-9.0.1091-x86_64-1.txz: Upgraded.
testing/packages/linux-6.1.x/kernel-generic-6.1.1-x86_64-1.txz: Added.
testing/packages/linux-6.1.x/kernel-headers-6.1.1-x86-1.txz: Added.
testing/packages/linux-6.1.x/kernel-huge-6.1.1-x86_64-1.txz: Added.
testing/packages/linux-6.1.x/kernel-modules-6.1.1-x86_64-1.txz: Added.
testing/packages/linux-6.1.x/kernel-source-6.1.1-noarch-1.txz: Added.
</pre>]]>
</description>
</item>
<item>
<title>Fri, 23 Dec 2022 20:27:02 GMT</title>
<pubDate>Fri, 23 Dec 2022 20:27:02 GMT</pubDate>

View file

@ -1,3 +1,43 @@
Sun Dec 25 23:21:25 UTC 2022
Hey folks, Merry Christmas and Hanukkah Sameach! Figured it was about time to
get some kind of kernel activity going again, but it most definitely belongs
in /testing for now. I've been trying to shape this up for weeks, but there
are still issues, and maybe someone out there can help. The biggest problem
is that the 32-bit kernels crash on boot. Initially there's some sort of
Intel ME failure (this is on a Thinkpad X1E). If those modules are
blacklisted, then the kernel will go on to crash loading the snd_hda_intel
module. The other issue is that I've got a 4K panel in this machine, and
have always appended the kernel option video=1920x1080@60 to put the console
in HD instead, and then loaded a Terminus console font to make the text even
larger. With these kernels, that option is completely ignored. I've tried some
other syntax I've seen online to no avail. And when the Terminus font is
loaded the text gets *even smaller* for some reason.
So be careful of these kernels (especially the 32-bit ones), but I welcome
any hints about what's going on here or if there are config changes that
might get this working properly. Is anyone out there running a 6.x kernel on
bare metal 32-bit x86?
Cheers!
ap/vim-9.0.1091-x86_64-1.txz: Upgraded.
d/meson-1.0.0-x86_64-1.txz: Upgraded.
d/ruby-3.2.0-x86_64-1.txz: Upgraded.
Shared library .so-version bump.
d/subversion-1.14.2-x86_64-3.txz: Rebuilt.
Recompiled against ruby-3.2.0.
l/glib2-2.74.4-x86_64-1.txz: Upgraded.
l/netpbm-11.00.03-x86_64-1.txz: Upgraded.
l/rubygem-asciidoctor-2.0.18-x86_64-1.txz: Upgraded.
Compiled against ruby-3.2.0.
n/epic5-2.1.12-x86_64-2.txz: Rebuilt.
Recompiled against ruby-3.2.0.
x/marisa-0.2.6-x86_64-6.txz: Rebuilt.
Recompiled against ruby-3.2.0.
xap/vim-gvim-9.0.1091-x86_64-1.txz: Upgraded.
testing/packages/linux-6.1.x/kernel-generic-6.1.1-x86_64-1.txz: Added.
testing/packages/linux-6.1.x/kernel-headers-6.1.1-x86-1.txz: Added.
testing/packages/linux-6.1.x/kernel-huge-6.1.1-x86_64-1.txz: Added.
testing/packages/linux-6.1.x/kernel-modules-6.1.1-x86_64-1.txz: Added.
testing/packages/linux-6.1.x/kernel-source-6.1.1-noarch-1.txz: Added.
+--------------------------+
Fri Dec 23 20:27:02 UTC 2022
a/btrfs-progs-6.1-x86_64-1.txz: Upgraded.
a/kernel-firmware-20221216_52261d0-noarch-1.txz: Upgraded.

View file

@ -1,20 +1,20 @@
Fri Dec 23 20:39:51 UTC 2022
Sun Dec 25 23:25:45 UTC 2022
Here is the file list for this directory. If you are using a
mirror site and find missing or extra files in the disk
subdirectories, please have the archive administrator refresh
the mirror.
drwxr-xr-x 12 root root 4096 2022-12-23 20:30 .
drwxr-xr-x 12 root root 4096 2022-12-25 23:21 .
-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 1107047 2022-12-23 20:30 ./CHECKSUMS.md5
-rw-r--r-- 1 root root 163 2022-12-23 20:30 ./CHECKSUMS.md5.asc
-rw-r--r-- 1 root root 1107047 2022-12-23 20:40 ./CHECKSUMS.md5
-rw-r--r-- 1 root root 163 2022-12-23 20:40 ./CHECKSUMS.md5.asc
-rw-r--r-- 1 root root 17976 1994-06-10 02:28 ./COPYING
-rw-r--r-- 1 root root 35147 2007-06-30 04:21 ./COPYING3
-rw-r--r-- 1 root root 19573 2016-06-23 20:08 ./COPYRIGHT.TXT
-rw-r--r-- 1 root root 616 2006-10-02 04:37 ./CRYPTO_NOTICE.TXT
-rw-r--r-- 1 root root 437143 2022-12-23 20:27 ./ChangeLog.txt
-rw-r--r-- 1 root root 439353 2022-12-25 23:21 ./ChangeLog.txt
drwxr-xr-x 3 root root 4096 2013-03-20 22:17 ./EFI
drwxr-xr-x 2 root root 4096 2022-10-24 18:57 ./EFI/BOOT
-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 2022-10-24 18:57 ./EFI/BOOT
-rwxr-xr-x 1 root root 2504 2019-07-05 18:54 ./EFI/BOOT/make-grub.sh
-rw-r--r-- 1 root root 10722 2013-09-21 19:02 ./EFI/BOOT/osdetect.cfg
-rw-r--r-- 1 root root 1273 2013-08-12 21:08 ./EFI/BOOT/tools.cfg
-rw-r--r-- 1 root root 1441441 2022-12-23 20:29 ./FILELIST.TXT
-rw-r--r-- 1 root root 1441441 2022-12-23 20:39 ./FILELIST.TXT
-rw-r--r-- 1 root root 1572 2012-08-29 18:27 ./GPG-KEY
-rw-r--r-- 1 root root 861665 2022-12-23 20:29 ./PACKAGES.TXT
-rw-r--r-- 1 root root 861664 2022-12-25 23:24 ./PACKAGES.TXT
-rw-r--r-- 1 root root 8034 2022-02-02 03:36 ./README.TXT
-rw-r--r-- 1 root root 3635 2022-10-24 18:47 ./README.initrd
-rw-r--r-- 1 root root 34162 2022-01-30 20:35 ./README_CRYPT.TXT
@ -746,11 +746,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 14 2022-02-03 07:02 ./patches/MANIFEST.bz2
-rw-r--r-- 1 root root 224 2022-02-03 07:02 ./patches/PACKAGES.TXT
drwxr-xr-x 17 root root 4096 2022-12-23 20:29 ./slackware64
-rw-r--r-- 1 root root 336292 2022-12-23 20:29 ./slackware64/CHECKSUMS.md5
-rw-r--r-- 1 root root 163 2022-12-23 20:29 ./slackware64/CHECKSUMS.md5.asc
-rw-r--r-- 1 root root 417067 2022-12-23 20:29 ./slackware64/FILE_LIST
-rw-r--r-- 1 root root 4294108 2022-12-23 20:29 ./slackware64/MANIFEST.bz2
drwxr-xr-x 17 root root 4096 2022-12-25 23:24 ./slackware64
-rw-r--r-- 1 root root 336289 2022-12-25 23:24 ./slackware64/CHECKSUMS.md5
-rw-r--r-- 1 root root 163 2022-12-25 23:24 ./slackware64/CHECKSUMS.md5.asc
-rw-r--r-- 1 root root 417064 2022-12-25 23:24 ./slackware64/FILE_LIST
-rw-r--r-- 1 root root 4295635 2022-12-25 23:24 ./slackware64/MANIFEST.bz2
lrwxrwxrwx 1 root root 15 2009-08-23 23:34 ./slackware64/PACKAGES.TXT -> ../PACKAGES.TXT
drwxr-xr-x 2 root root 32768 2022-12-23 20:29 ./slackware64/a
-rw-r--r-- 1 root root 327 2022-02-15 18:16 ./slackware64/a/aaa_base-15.1-x86_64-2.txt
@ -1136,7 +1136,7 @@ drwxr-xr-x 2 root root 32768 2022-12-23 20:29 ./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 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
drwxr-xr-x 2 root root 20480 2022-12-23 20:29 ./slackware64/ap
drwxr-xr-x 2 root root 20480 2022-12-25 23:24 ./slackware64/ap
-rw-r--r-- 1 root root 291 2021-02-13 11:23 ./slackware64/ap/a2ps-4.14-x86_64-9.txt
-rw-r--r-- 1 root root 703580 2021-02-13 11:23 ./slackware64/ap/a2ps-4.14-x86_64-9.txz
-rw-r--r-- 1 root root 163 2021-02-13 11:23 ./slackware64/ap/a2ps-4.14-x86_64-9.txz.asc
@ -1376,9 +1376,9 @@ drwxr-xr-x 2 root root 20480 2022-12-23 20:29 ./slackware64/ap
-rw-r--r-- 1 root root 375 2021-02-13 11:46 ./slackware64/ap/vbetool-1.2.2-x86_64-4.txt
-rw-r--r-- 1 root root 14756 2021-02-13 11:46 ./slackware64/ap/vbetool-1.2.2-x86_64-4.txz
-rw-r--r-- 1 root root 163 2021-02-13 11:46 ./slackware64/ap/vbetool-1.2.2-x86_64-4.txz.asc
-rw-r--r-- 1 root root 383 2022-12-08 18:25 ./slackware64/ap/vim-9.0.1034-x86_64-1.txt
-rw-r--r-- 1 root root 8540944 2022-12-08 18:25 ./slackware64/ap/vim-9.0.1034-x86_64-1.txz
-rw-r--r-- 1 root root 163 2022-12-08 18:25 ./slackware64/ap/vim-9.0.1034-x86_64-1.txz.asc
-rw-r--r-- 1 root root 383 2022-12-25 19:49 ./slackware64/ap/vim-9.0.1091-x86_64-1.txt
-rw-r--r-- 1 root root 8548224 2022-12-25 19:49 ./slackware64/ap/vim-9.0.1091-x86_64-1.txz
-rw-r--r-- 1 root root 163 2022-12-25 19:49 ./slackware64/ap/vim-9.0.1091-x86_64-1.txz.asc
-rw-r--r-- 1 root root 604 2022-11-19 19:14 ./slackware64/ap/vorbis-tools-1.4.2-x86_64-3.txt
-rw-r--r-- 1 root root 179028 2022-11-19 19:14 ./slackware64/ap/vorbis-tools-1.4.2-x86_64-3.txz
-rw-r--r-- 1 root root 163 2022-11-19 19:14 ./slackware64/ap/vorbis-tools-1.4.2-x86_64-3.txz.asc
@ -1391,7 +1391,7 @@ drwxr-xr-x 2 root root 20480 2022-12-23 20:29 ./slackware64/ap
-rw-r--r-- 1 root root 506 2022-05-15 17:09 ./slackware64/ap/zsh-5.9-x86_64-1.txt
-rw-r--r-- 1 root root 3156392 2022-05-15 17:09 ./slackware64/ap/zsh-5.9-x86_64-1.txz
-rw-r--r-- 1 root root 163 2022-05-15 17:09 ./slackware64/ap/zsh-5.9-x86_64-1.txz.asc
drwxr-xr-x 2 root root 20480 2022-12-23 02:40 ./slackware64/d
drwxr-xr-x 2 root root 20480 2022-12-25 23:24 ./slackware64/d
-rw-r--r-- 1 root root 360 2022-03-09 03:58 ./slackware64/d/Cython-0.29.28-x86_64-1.txt
-rw-r--r-- 1 root root 2393012 2022-03-09 03:58 ./slackware64/d/Cython-0.29.28-x86_64-1.txz
-rw-r--r-- 1 root root 163 2022-03-09 03:58 ./slackware64/d/Cython-0.29.28-x86_64-1.txz.asc
@ -1522,9 +1522,9 @@ drwxr-xr-x 2 root root 20480 2022-12-23 02:40 ./slackware64/d
-rw-r--r-- 1 root root 659 2022-11-21 19:52 ./slackware64/d/mercurial-6.3.1-x86_64-1.txt
-rw-r--r-- 1 root root 4535184 2022-11-21 19:52 ./slackware64/d/mercurial-6.3.1-x86_64-1.txz
-rw-r--r-- 1 root root 163 2022-11-21 19:52 ./slackware64/d/mercurial-6.3.1-x86_64-1.txz.asc
-rw-r--r-- 1 root root 410 2022-11-23 18:57 ./slackware64/d/meson-0.64.1-x86_64-1.txt
-rw-r--r-- 1 root root 1216580 2022-11-23 18:57 ./slackware64/d/meson-0.64.1-x86_64-1.txz
-rw-r--r-- 1 root root 163 2022-11-23 18:57 ./slackware64/d/meson-0.64.1-x86_64-1.txz.asc
-rw-r--r-- 1 root root 410 2022-12-25 19:22 ./slackware64/d/meson-1.0.0-x86_64-1.txt
-rw-r--r-- 1 root root 1223300 2022-12-25 19:22 ./slackware64/d/meson-1.0.0-x86_64-1.txz
-rw-r--r-- 1 root root 163 2022-12-25 19:22 ./slackware64/d/meson-1.0.0-x86_64-1.txz.asc
-rw-r--r-- 1 root root 339 2022-12-22 18:47 ./slackware64/d/nasm-2.16.01-x86_64-1.txt
-rw-r--r-- 1 root root 434764 2022-12-22 18:47 ./slackware64/d/nasm-2.16.01-x86_64-1.txz
-rw-r--r-- 1 root root 163 2022-12-22 18:47 ./slackware64/d/nasm-2.16.01-x86_64-1.txz.asc
@ -1582,9 +1582,9 @@ drwxr-xr-x 2 root root 20480 2022-12-23 02:40 ./slackware64/d
-rw-r--r-- 1 root root 488 2022-05-19 16:54 ./slackware64/d/rinutils-0.10.1-x86_64-1.txt
-rw-r--r-- 1 root root 6808 2022-05-19 16:54 ./slackware64/d/rinutils-0.10.1-x86_64-1.txz
-rw-r--r-- 1 root root 163 2022-05-19 16:54 ./slackware64/d/rinutils-0.10.1-x86_64-1.txz.asc
-rw-r--r-- 1 root root 385 2022-11-24 20:07 ./slackware64/d/ruby-3.1.3-x86_64-1.txt
-rw-r--r-- 1 root root 8236188 2022-11-24 20:07 ./slackware64/d/ruby-3.1.3-x86_64-1.txz
-rw-r--r-- 1 root root 163 2022-11-24 20:07 ./slackware64/d/ruby-3.1.3-x86_64-1.txz.asc
-rw-r--r-- 1 root root 385 2022-12-25 19:33 ./slackware64/d/ruby-3.2.0-x86_64-1.txt
-rw-r--r-- 1 root root 9082820 2022-12-25 19:33 ./slackware64/d/ruby-3.2.0-x86_64-1.txz
-rw-r--r-- 1 root root 163 2022-12-25 19:33 ./slackware64/d/ruby-3.2.0-x86_64-1.txz.asc
-rw-r--r-- 1 root root 426 2022-11-14 19:42 ./slackware64/d/rust-1.65.0-x86_64-1.txt
-rw-r--r-- 1 root root 72876944 2022-11-14 19:42 ./slackware64/d/rust-1.65.0-x86_64-1.txz
-rw-r--r-- 1 root root 163 2022-11-14 19:42 ./slackware64/d/rust-1.65.0-x86_64-1.txz.asc
@ -1603,9 +1603,9 @@ drwxr-xr-x 2 root root 20480 2022-12-23 02:40 ./slackware64/d
-rw-r--r-- 1 root root 547 2022-12-14 19:22 ./slackware64/d/strace-6.1-x86_64-1.txt
-rw-r--r-- 1 root root 458204 2022-12-14 19:22 ./slackware64/d/strace-6.1-x86_64-1.txz
-rw-r--r-- 1 root root 163 2022-12-14 19:22 ./slackware64/d/strace-6.1-x86_64-1.txz.asc
-rw-r--r-- 1 root root 547 2022-06-03 04:13 ./slackware64/d/subversion-1.14.2-x86_64-2.txt
-rw-r--r-- 1 root root 4199932 2022-06-03 04:13 ./slackware64/d/subversion-1.14.2-x86_64-2.txz
-rw-r--r-- 1 root root 163 2022-06-03 04:13 ./slackware64/d/subversion-1.14.2-x86_64-2.txz.asc
-rw-r--r-- 1 root root 547 2022-12-25 19:42 ./slackware64/d/subversion-1.14.2-x86_64-3.txt
-rw-r--r-- 1 root root 4210864 2022-12-25 19:42 ./slackware64/d/subversion-1.14.2-x86_64-3.txz
-rw-r--r-- 1 root root 163 2022-12-25 19:42 ./slackware64/d/subversion-1.14.2-x86_64-3.txz.asc
-rw-r--r-- 1 root root 559 2021-02-13 10:53 ./slackware64/d/swig-4.0.2-x86_64-3.txt
-rw-r--r-- 1 root root 2654592 2021-02-13 10:53 ./slackware64/d/swig-4.0.2-x86_64-3.txz
-rw-r--r-- 1 root root 163 2021-02-13 10:53 ./slackware64/d/swig-4.0.2-x86_64-3.txz.asc
@ -2774,7 +2774,7 @@ drwxr-xr-x 2 root root 86016 2022-12-20 20:44 ./slackware64/kde
-rw-r--r-- 1 root root 517 2022-12-08 20:47 ./slackware64/kde/zanshin-22.12.0-x86_64-1.txt
-rw-r--r-- 1 root root 682872 2022-12-08 20:47 ./slackware64/kde/zanshin-22.12.0-x86_64-1.txz
-rw-r--r-- 1 root root 163 2022-12-08 20:47 ./slackware64/kde/zanshin-22.12.0-x86_64-1.txz.asc
drwxr-xr-x 2 root root 86016 2022-12-23 20:29 ./slackware64/l
drwxr-xr-x 2 root root 86016 2022-12-25 23:24 ./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 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
@ -3024,9 +3024,9 @@ drwxr-xr-x 2 root root 86016 2022-12-23 20:29 ./slackware64/l
-rw-r--r-- 1 root root 300 2022-11-19 19:59 ./slackware64/l/glib-networking-2.74.0-x86_64-1.txt
-rw-r--r-- 1 root root 144184 2022-11-19 19:59 ./slackware64/l/glib-networking-2.74.0-x86_64-1.txz
-rw-r--r-- 1 root root 163 2022-11-19 19:59 ./slackware64/l/glib-networking-2.74.0-x86_64-1.txz.asc
-rw-r--r-- 1 root root 407 2022-12-02 02:16 ./slackware64/l/glib2-2.74.3-x86_64-1.txt
-rw-r--r-- 1 root root 4133652 2022-12-02 02:16 ./slackware64/l/glib2-2.74.3-x86_64-1.txz
-rw-r--r-- 1 root root 163 2022-12-02 02:16 ./slackware64/l/glib2-2.74.3-x86_64-1.txz.asc
-rw-r--r-- 1 root root 407 2022-12-25 20:15 ./slackware64/l/glib2-2.74.4-x86_64-1.txt
-rw-r--r-- 1 root root 4148144 2022-12-25 20:15 ./slackware64/l/glib2-2.74.4-x86_64-1.txz
-rw-r--r-- 1 root root 163 2022-12-25 20:15 ./slackware64/l/glib2-2.74.4-x86_64-1.txz.asc
-rw-r--r-- 1 root root 313 2022-09-01 02:33 ./slackware64/l/glibc-2.36-x86_64-3.txt
-rw-r--r-- 1 root root 5417592 2022-09-01 02:33 ./slackware64/l/glibc-2.36-x86_64-3.txz
-rw-r--r-- 1 root root 163 2022-09-01 02:33 ./slackware64/l/glibc-2.36-x86_64-3.txz.asc
@ -3580,9 +3580,9 @@ drwxr-xr-x 2 root root 86016 2022-12-23 20:29 ./slackware64/l
-rw-r--r-- 1 root root 345 2022-09-11 18:23 ./slackware64/l/neon-0.32.4-x86_64-1.txt
-rw-r--r-- 1 root root 215092 2022-09-11 18:23 ./slackware64/l/neon-0.32.4-x86_64-1.txz
-rw-r--r-- 1 root root 163 2022-09-11 18:23 ./slackware64/l/neon-0.32.4-x86_64-1.txz.asc
-rw-r--r-- 1 root root 271 2022-11-16 17:57 ./slackware64/l/netpbm-11.00.02-x86_64-1.txt
-rw-r--r-- 1 root root 2130028 2022-11-16 17:57 ./slackware64/l/netpbm-11.00.02-x86_64-1.txz
-rw-r--r-- 1 root root 163 2022-11-16 17:57 ./slackware64/l/netpbm-11.00.02-x86_64-1.txz.asc
-rw-r--r-- 1 root root 271 2022-12-25 19:25 ./slackware64/l/netpbm-11.00.03-x86_64-1.txt
-rw-r--r-- 1 root root 2130212 2022-12-25 19:25 ./slackware64/l/netpbm-11.00.03-x86_64-1.txz
-rw-r--r-- 1 root root 163 2022-12-25 19:25 ./slackware64/l/netpbm-11.00.03-x86_64-1.txz.asc
-rw-r--r-- 1 root root 423 2022-11-30 20:09 ./slackware64/l/newt-0.52.23-x86_64-1.txt
-rw-r--r-- 1 root root 115100 2022-11-30 20:09 ./slackware64/l/newt-0.52.23-x86_64-1.txz
-rw-r--r-- 1 root root 163 2022-11-30 20:09 ./slackware64/l/newt-0.52.23-x86_64-1.txz.asc
@ -3835,9 +3835,9 @@ drwxr-xr-x 2 root root 86016 2022-12-23 20:29 ./slackware64/l
-rw-r--r-- 1 root root 354 2021-02-13 08:57 ./slackware64/l/rttr-0.9.6-x86_64-4.txt
-rw-r--r-- 1 root root 256864 2021-02-13 08:57 ./slackware64/l/rttr-0.9.6-x86_64-4.txz
-rw-r--r-- 1 root root 163 2021-02-13 08:57 ./slackware64/l/rttr-0.9.6-x86_64-4.txz.asc
-rw-r--r-- 1 root root 469 2022-03-22 00:42 ./slackware64/l/rubygem-asciidoctor-2.0.17-x86_64-1.txt
-rw-r--r-- 1 root root 585952 2022-03-22 00:42 ./slackware64/l/rubygem-asciidoctor-2.0.17-x86_64-1.txz
-rw-r--r-- 1 root root 163 2022-03-22 00:42 ./slackware64/l/rubygem-asciidoctor-2.0.17-x86_64-1.txz.asc
-rw-r--r-- 1 root root 469 2022-12-25 19:36 ./slackware64/l/rubygem-asciidoctor-2.0.18-x86_64-1.txt
-rw-r--r-- 1 root root 587416 2022-12-25 19:36 ./slackware64/l/rubygem-asciidoctor-2.0.18-x86_64-1.txz
-rw-r--r-- 1 root root 163 2022-12-25 19:36 ./slackware64/l/rubygem-asciidoctor-2.0.18-x86_64-1.txz.asc
-rw-r--r-- 1 root root 414 2021-02-13 08:57 ./slackware64/l/sbc-1.5-x86_64-3.txt
-rw-r--r-- 1 root root 49936 2021-02-13 08:57 ./slackware64/l/sbc-1.5-x86_64-3.txz
-rw-r--r-- 1 root root 163 2021-02-13 08:57 ./slackware64/l/sbc-1.5-x86_64-3.txz.asc
@ -3947,7 +3947,7 @@ drwxr-xr-x 2 root root 86016 2022-12-23 20:29 ./slackware64/l
-rw-r--r-- 1 root root 463 2022-01-21 04:11 ./slackware64/l/zstd-1.5.2-x86_64-1.txt
-rw-r--r-- 1 root root 437228 2022-01-21 04:11 ./slackware64/l/zstd-1.5.2-x86_64-1.txz
-rw-r--r-- 1 root root 163 2022-01-21 04:11 ./slackware64/l/zstd-1.5.2-x86_64-1.txz.asc
drwxr-xr-x 2 root root 36864 2022-12-23 02:40 ./slackware64/n
drwxr-xr-x 2 root root 36864 2022-12-25 23:24 ./slackware64/n
-rw-r--r-- 1 root root 357 2022-09-10 18:15 ./slackware64/n/ModemManager-1.18.12-x86_64-1.txt
-rw-r--r-- 1 root root 2148884 2022-09-10 18:15 ./slackware64/n/ModemManager-1.18.12-x86_64-1.txz
-rw-r--r-- 1 root root 163 2022-09-10 18:15 ./slackware64/n/ModemManager-1.18.12-x86_64-1.txz.asc
@ -4026,9 +4026,9 @@ drwxr-xr-x 2 root root 36864 2022-12-23 02:40 ./slackware64/n
-rw-r--r-- 1 root root 224 2021-02-13 12:01 ./slackware64/n/elm-2.5.8-x86_64-7.txt
-rw-r--r-- 1 root root 259064 2021-02-13 12:01 ./slackware64/n/elm-2.5.8-x86_64-7.txz
-rw-r--r-- 1 root root 163 2021-02-13 12:01 ./slackware64/n/elm-2.5.8-x86_64-7.txz.asc
-rw-r--r-- 1 root root 318 2022-06-17 18:52 ./slackware64/n/epic5-2.1.12-x86_64-1.txt
-rw-r--r-- 1 root root 837604 2022-06-17 18:52 ./slackware64/n/epic5-2.1.12-x86_64-1.txz
-rw-r--r-- 1 root root 163 2022-06-17 18:52 ./slackware64/n/epic5-2.1.12-x86_64-1.txz.asc
-rw-r--r-- 1 root root 318 2022-12-25 19:45 ./slackware64/n/epic5-2.1.12-x86_64-2.txt
-rw-r--r-- 1 root root 837516 2022-12-25 19:45 ./slackware64/n/epic5-2.1.12-x86_64-2.txz
-rw-r--r-- 1 root root 163 2022-12-25 19:45 ./slackware64/n/epic5-2.1.12-x86_64-2.txz.asc
-rw-r--r-- 1 root root 440 2022-08-23 02:53 ./slackware64/n/ethtool-5.19-x86_64-1.txt
-rw-r--r-- 1 root root 182852 2022-08-23 02:53 ./slackware64/n/ethtool-5.19-x86_64-1.txz
-rw-r--r-- 1 root root 163 2022-08-23 02:53 ./slackware64/n/ethtool-5.19-x86_64-1.txz.asc
@ -4454,7 +4454,7 @@ drwxr-xr-x 2 root root 4096 2022-11-23 19:54 ./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 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
drwxr-xr-x 2 root root 65536 2022-12-20 20:44 ./slackware64/x
drwxr-xr-x 2 root root 65536 2022-12-25 23:24 ./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 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
@ -4909,9 +4909,9 @@ drwxr-xr-x 2 root root 65536 2022-12-20 20:44 ./slackware64/x
-rw-r--r-- 1 root root 163 2022-12-14 19:12 ./slackware64/x/makedepend-1.0.8-x86_64-1.txz.asc
-rw-r--r-- 1 root root 22551 2022-10-15 20:16 ./slackware64/x/maketag
-rw-r--r-- 1 root root 22551 2022-10-15 20:16 ./slackware64/x/maketag.ez
-rw-r--r-- 1 root root 485 2022-03-06 20:48 ./slackware64/x/marisa-0.2.6-x86_64-5.txt
-rw-r--r-- 1 root root 156984 2022-03-06 20:48 ./slackware64/x/marisa-0.2.6-x86_64-5.txz
-rw-r--r-- 1 root root 163 2022-03-06 20:48 ./slackware64/x/marisa-0.2.6-x86_64-5.txz.asc
-rw-r--r-- 1 root root 485 2022-12-25 19:47 ./slackware64/x/marisa-0.2.6-x86_64-6.txt
-rw-r--r-- 1 root root 157376 2022-12-25 19:47 ./slackware64/x/marisa-0.2.6-x86_64-6.txz
-rw-r--r-- 1 root root 163 2022-12-25 19:47 ./slackware64/x/marisa-0.2.6-x86_64-6.txz.asc
-rw-r--r-- 1 root root 362 2022-12-16 04:36 ./slackware64/x/mesa-22.3.1-x86_64-1.txt
-rw-r--r-- 1 root root 27965664 2022-12-16 04:36 ./slackware64/x/mesa-22.3.1-x86_64-1.txz
-rw-r--r-- 1 root root 163 2022-12-16 04:36 ./slackware64/x/mesa-22.3.1-x86_64-1.txz.asc
@ -5327,7 +5327,7 @@ drwxr-xr-x 2 root root 65536 2022-12-20 20:44 ./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 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
drwxr-xr-x 2 root root 16384 2022-12-22 03:47 ./slackware64/xap
drwxr-xr-x 2 root root 16384 2022-12-25 23:24 ./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 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
@ -5441,9 +5441,9 @@ drwxr-xr-x 2 root root 16384 2022-12-22 03:47 ./slackware64/xap
-rw-r--r-- 1 root root 1351876 2022-10-09 17:57 ./slackware64/xap/ssr-0.4.4-x86_64-1.txz
-rw-r--r-- 1 root root 163 2022-10-09 17:57 ./slackware64/xap/ssr-0.4.4-x86_64-1.txz.asc
-rw-r--r-- 1 root root 676 2021-09-23 19:13 ./slackware64/xap/tagfile
-rw-r--r-- 1 root root 503 2022-12-08 18:26 ./slackware64/xap/vim-gvim-9.0.1034-x86_64-1.txt
-rw-r--r-- 1 root root 1723120 2022-12-08 18:26 ./slackware64/xap/vim-gvim-9.0.1034-x86_64-1.txz
-rw-r--r-- 1 root root 163 2022-12-08 18:26 ./slackware64/xap/vim-gvim-9.0.1034-x86_64-1.txz.asc
-rw-r--r-- 1 root root 503 2022-12-25 19:50 ./slackware64/xap/vim-gvim-9.0.1091-x86_64-1.txt
-rw-r--r-- 1 root root 1728704 2022-12-25 19:50 ./slackware64/xap/vim-gvim-9.0.1091-x86_64-1.txz
-rw-r--r-- 1 root root 163 2022-12-25 19:50 ./slackware64/xap/vim-gvim-9.0.1091-x86_64-1.txz.asc
-rw-r--r-- 1 root root 455 2021-02-13 13:43 ./slackware64/xap/windowmaker-0.95.9-x86_64-3.txt
-rw-r--r-- 1 root root 1761052 2021-02-13 13:43 ./slackware64/xap/windowmaker-0.95.9-x86_64-3.txz
-rw-r--r-- 1 root root 163 2021-02-13 13:43 ./slackware64/xap/windowmaker-0.95.9-x86_64-3.txz.asc
@ -5594,11 +5594,11 @@ drwxr-xr-x 2 root root 4096 2021-02-15 19:33 ./slackware64/y
-rw-r--r-- 1 root root 1486956 2021-02-13 13:56 ./slackware64/y/nethack-3.6.6-x86_64-3.txz
-rw-r--r-- 1 root root 163 2021-02-13 13:56 ./slackware64/y/nethack-3.6.6-x86_64-3.txz.asc
-rw-r--r-- 1 root root 26 2020-12-30 21:55 ./slackware64/y/tagfile
drwxr-xr-x 18 root root 4096 2022-12-23 20:39 ./source
-rw-r--r-- 1 root root 594721 2022-12-23 20:39 ./source/CHECKSUMS.md5
-rw-r--r-- 1 root root 163 2022-12-23 20:39 ./source/CHECKSUMS.md5.asc
-rw-r--r-- 1 root root 827238 2022-12-23 20:39 ./source/FILE_LIST
-rw-r--r-- 1 root root 24042936 2022-12-23 20:39 ./source/MANIFEST.bz2
drwxr-xr-x 18 root root 4096 2022-12-25 23:25 ./source
-rw-r--r-- 1 root root 594775 2022-12-25 23:25 ./source/CHECKSUMS.md5
-rw-r--r-- 1 root root 163 2022-12-25 23:25 ./source/CHECKSUMS.md5.asc
-rw-r--r-- 1 root root 827309 2022-12-25 23:25 ./source/FILE_LIST
-rw-r--r-- 1 root root 24035616 2022-12-25 23:25 ./source/MANIFEST.bz2
-rw-r--r-- 1 root root 828 2022-02-02 04:43 ./source/README.TXT
drwxr-xr-x 123 root root 4096 2022-10-07 02:22 ./source/a
-rw-r--r-- 1 root root 234 2022-10-16 18:39 ./source/a/FTBFSlog
@ -7272,14 +7272,14 @@ drwxr-xr-x 2 root root 4096 2021-02-13 05:31 ./source/ap/vbetool
-rw-r--r-- 1 root root 24915 2015-12-20 20:37 ./source/ap/vbetool/vbetool-1.2.2.tar.gz
-rwxr-xr-x 1 root root 3202 2021-02-13 05:31 ./source/ap/vbetool/vbetool.SlackBuild
-rw-r--r-- 1 root root 129 2008-11-24 18:23 ./source/ap/vbetool/vbetool.info
drwxr-xr-x 2 root root 4096 2022-12-08 18:30 ./source/ap/vim
drwxr-xr-x 2 root root 4096 2022-12-25 19:49 ./source/ap/vim
-rw-r--r-- 1 root root 299348 2009-07-09 22:03 ./source/ap/vim/ctags-5.8.tar.xz
-rw-r--r-- 1 root root 2768 2022-02-12 08:11 ./source/ap/vim/ctags.use-conventional-unused-marker.patch.gz
-rw-r--r-- 1 root root 505 2022-09-26 18:00 ./source/ap/vim/doinst.sh.gz
-rw-r--r-- 1 root root 8249 2006-01-19 17:01 ./source/ap/vim/gvim.png
-rw-r--r-- 1 root root 834 2018-02-27 06:13 ./source/ap/vim/slack-desc.vim
-rw-r--r-- 1 root root 959 2018-03-15 02:41 ./source/ap/vim/slack-desc.vim-gvim
-rw-r--r-- 1 root root 10753720 2022-12-08 18:24 ./source/ap/vim/vim-9.0.1034.tar.lz
-rw-r--r-- 1 root root 10774744 2022-12-25 19:48 ./source/ap/vim/vim-9.0.1091.tar.lz
-rwxr-xr-x 1 root root 6360 2022-06-29 20:12 ./source/ap/vim/vim-gvim.SlackBuild
-rwxr-xr-x 1 root root 7539 2022-09-26 18:17 ./source/ap/vim/vim.SlackBuild
-rw-r--r-- 1 root root 76 2022-12-08 18:30 ./source/ap/vim/vim.url
@ -7559,8 +7559,8 @@ drwxr-xr-x 2 root root 4096 2022-11-21 19:51 ./source/d/mercurial
-rwxr-xr-x 1 root root 4114 2021-11-23 19:08 ./source/d/mercurial/mercurial.SlackBuild
-rw-r--r-- 1 root root 38 2017-12-02 19:13 ./source/d/mercurial/mercurial.url
-rw-r--r-- 1 root root 1245 2018-02-27 06:13 ./source/d/mercurial/slack-desc
drwxr-xr-x 2 root root 4096 2022-11-23 18:57 ./source/d/meson
-rw-r--r-- 1 root root 3908678 2022-11-22 17:13 ./source/d/meson/meson-0.64.1.tar.lz
drwxr-xr-x 2 root root 4096 2022-12-25 19:22 ./source/d/meson
-rw-r--r-- 1 root root 3915195 2022-12-23 16:13 ./source/d/meson/meson-1.0.0.tar.lz
-rwxr-xr-x 1 root root 2771 2022-11-08 20:31 ./source/d/meson/meson.SlackBuild
-rw-r--r-- 1 root root 36 2018-11-09 03:24 ./source/d/meson/meson.url
-rw-r--r-- 1 root root 895 2018-02-27 06:13 ./source/d/meson/slack-desc
@ -7695,8 +7695,8 @@ drwxr-xr-x 2 root root 4096 2022-09-06 18:27 ./source/d/rinutils
-rwxr-xr-x 1 root root 3811 2022-09-06 18:27 ./source/d/rinutils/rinutils.SlackBuild
-rw-r--r-- 1 root root 36 2020-11-12 19:40 ./source/d/rinutils/rinutils.url
-rw-r--r-- 1 root root 944 2020-11-12 20:33 ./source/d/rinutils/slack-desc
drwxr-xr-x 2 root root 4096 2022-11-24 20:04 ./source/d/ruby
-rw-r--r-- 1 root root 14915069 2022-11-24 13:05 ./source/d/ruby/ruby-3.1.3.tar.lz
drwxr-xr-x 2 root root 4096 2022-12-25 19:30 ./source/d/ruby
-rw-r--r-- 1 root root 14711535 2022-12-25 07:47 ./source/d/ruby/ruby-3.2.0.tar.lz
-rwxr-xr-x 1 root root 4807 2022-11-24 20:05 ./source/d/ruby/ruby.SlackBuild
-rw-r--r-- 1 root root 837 2019-03-13 16:43 ./source/d/ruby/slack-desc
drwxr-xr-x 2 root root 4096 2022-11-21 20:14 ./source/d/rust
@ -7731,12 +7731,12 @@ drwxr-xr-x 2 root root 4096 2022-12-14 19:07 ./source/d/strace
-rw-r--r-- 1 root root 801 2022-12-12 20:31 ./source/d/strace/strace-6.1.tar.xz.asc
-rwxr-xr-x 1 root root 3545 2021-02-18 19:04 ./source/d/strace/strace.SlackBuild
-rw-r--r-- 1 root root 33 2018-12-27 22:59 ./source/d/strace/strace.url
drwxr-xr-x 2 root root 4096 2022-06-03 04:07 ./source/d/subversion
drwxr-xr-x 2 root root 4096 2022-12-25 19:37 ./source/d/subversion
-rwxr-xr-x 1 root root 211 2020-05-27 22:59 ./source/d/subversion/get-svn-book.sh
-rw-r--r-- 1 root root 1005 2018-07-23 18:17 ./source/d/subversion/slack-desc
-rw-r--r-- 1 root root 6694189 2022-04-10 21:17 ./source/d/subversion/subversion-1.14.2.tar.lz
-rwxr-xr-x 1 root root 6688 2022-06-03 04:07 ./source/d/subversion/subversion.SlackBuild
-rw-r--r-- 1 root root 471363 2022-04-12 02:01 ./source/d/subversion/svn-book-html.tar.bz2
-rwxr-xr-x 1 root root 6688 2022-12-25 19:37 ./source/d/subversion/subversion.SlackBuild
-rw-r--r-- 1 root root 471373 2022-12-25 02:00 ./source/d/subversion/svn-book-html.tar.bz2
drwxr-xr-x 2 root root 4096 2021-02-13 05:31 ./source/d/swig
-rw-r--r-- 1 root root 1013 2018-02-27 06:13 ./source/d/swig/slack-desc
-rw-r--r-- 1 root root 5863984 2020-06-08 19:20 ./source/d/swig/swig-4.0.2.tar.lz
@ -9759,7 +9759,7 @@ drwxr-xr-x 2 root root 4096 2022-10-13 17:17 ./source/kde/kuserfeedback
-rw-r--r-- 1 root root 833 2022-02-04 17:42 ./source/kde/kuserfeedback/kuserfeedback-1.2.0.tar.xz.sig
-rwxr-xr-x 1 root root 4826 2022-10-13 17:05 ./source/kde/kuserfeedback/kuserfeedback.SlackBuild
-rw-r--r-- 1 root root 899 2022-10-13 17:16 ./source/kde/kuserfeedback/slack-desc
drwxr-xr-x 388 root root 12288 2022-12-23 02:36 ./source/l
drwxr-xr-x 388 root root 12288 2022-12-25 20:12 ./source/l
-rw-r--r-- 1 root root 462 2022-11-01 18:49 ./source/l/FTBFSlog
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
@ -10222,10 +10222,11 @@ drwxr-xr-x 2 root root 4096 2022-11-19 19:52 ./source/l/glib-networking
-rw-r--r-- 1 root root 346080 2001-03-15 14:59 ./source/l/glib/glib-1.2.10.tar.bz2
-rwxr-xr-x 1 root root 5498 2021-02-13 05:31 ./source/l/glib/glib.SlackBuild
-rw-r--r-- 1 root root 754 2018-02-27 06:12 ./source/l/glib/slack-desc
drwxr-xr-x 2 root root 4096 2022-12-02 02:12 ./source/l/glib2
drwxr-xr-x 2 root root 4096 2022-12-25 20:10 ./source/l/glib2
-rw-r--r-- 1 root root 14032 2022-12-25 19:14 ./source/l/glib2/3120.patch
-rw-r--r-- 1 root root 516 2011-11-06 22:03 ./source/l/glib2/doinst.sh.gz
-rw-r--r-- 1 root root 5181732 2022-12-01 14:24 ./source/l/glib2/glib-2.74.3.tar.xz
-rwxr-xr-x 1 root root 5295 2022-12-04 03:20 ./source/l/glib2/glib2.SlackBuild
-rw-r--r-- 1 root root 5208484 2022-12-21 21:23 ./source/l/glib2/glib-2.74.4.tar.xz
-rwxr-xr-x 1 root root 5403 2022-12-25 20:12 ./source/l/glib2/glib2.SlackBuild
-rw-r--r-- 1 root root 913 2021-09-02 23:31 ./source/l/glib2/libglib2.csh
-rw-r--r-- 1 root root 909 2021-09-01 17:51 ./source/l/glib2/libglib2.sh
-rw-r--r-- 1 root root 860 2018-11-15 04:21 ./source/l/glib2/slack-desc
@ -11207,8 +11208,8 @@ drwxr-xr-x 2 root root 4096 2022-09-11 18:23 ./source/l/neon
-rwxr-xr-x 1 root root 4451 2021-09-21 02:45 ./source/l/neon/neon.SlackBuild
-rw-r--r-- 1 root root 31 2020-04-18 18:41 ./source/l/neon/neon.url
-rw-r--r-- 1 root root 797 2020-04-18 18:41 ./source/l/neon/slack-desc
drwxr-xr-x 2 root root 4096 2022-11-16 17:56 ./source/l/netpbm
-rw-r--r-- 1 root root 3236727 2022-11-16 17:56 ./source/l/netpbm/netpbm-11.00.02.tar.lz
drwxr-xr-x 2 root root 4096 2022-12-25 19:23 ./source/l/netpbm
-rw-r--r-- 1 root root 3237342 2022-12-25 19:23 ./source/l/netpbm/netpbm-11.00.03.tar.lz
-rw-r--r-- 1 root root 381 2019-04-17 08:07 ./source/l/netpbm/netpbm-CAN-2005-2471.patch.gz
-rw-r--r-- 1 root root 382 2019-04-17 08:07 ./source/l/netpbm/netpbm-CVE-2017-2587.patch.gz
-rw-r--r-- 1 root root 284 2019-04-17 08:07 ./source/l/netpbm/netpbm-bmptopnm.patch.gz
@ -11719,8 +11720,8 @@ drwxr-xr-x 2 root root 4096 2022-09-06 18:27 ./source/l/rttr
-rwxr-xr-- 1 root root 4478 2022-09-06 18:27 ./source/l/rttr/rttr.SlackBuild
-rw-r--r-- 1 root root 30 2020-09-29 05:08 ./source/l/rttr/rttr.url
-rw-r--r-- 1 root root 806 2020-11-01 20:04 ./source/l/rttr/slack-desc
drwxr-xr-x 2 root root 4096 2022-09-06 18:27 ./source/l/rubygem-asciidoctor
-rw-r--r-- 1 root root 279040 2022-01-06 00:42 ./source/l/rubygem-asciidoctor/asciidoctor-2.0.17.gem
drwxr-xr-x 2 root root 4096 2022-12-25 19:36 ./source/l/rubygem-asciidoctor
-rw-r--r-- 1 root root 280064 2022-10-15 06:25 ./source/l/rubygem-asciidoctor/asciidoctor-2.0.18.gem
-rw-r--r-- 1 root root 38 2021-06-01 18:16 ./source/l/rubygem-asciidoctor/asciidoctor.url
-rwxr-xr-x 1 root root 4352 2022-09-06 18:27 ./source/l/rubygem-asciidoctor/rubygem-asciidoctor.SlackBuild
-rw-r--r-- 1 root root 969 2018-11-10 00:54 ./source/l/rubygem-asciidoctor/slack-desc
@ -11936,7 +11937,7 @@ drwxr-xr-x 4 root root 4096 2022-12-17 19:41 ./source/n/NetworkManager
-rw-r--r-- 1 root root 189 2015-01-02 05:15 ./source/n/NetworkManager/10-org.freedesktop.NetworkManager.rules
-rw-r--r-- 1 root root 6518080 2022-12-16 14:55 ./source/n/NetworkManager/NetworkManager-1.40.8.tar.xz
-rwxr-xr-x 1 root root 7100 2022-11-21 20:13 ./source/n/NetworkManager/NetworkManager.SlackBuild
-rw-r--r-- 1 root root 139 2016-04-22 03:58 ./source/n/NetworkManager/NetworkManager.conf
-rw-r--r-- 1 root root 139 2016-04-22 03:58 ./source/n/NetworkManager/NetworkManager.conf
drwxr-xr-x 2 root root 4096 2016-03-25 04:54 ./source/n/NetworkManager/conf.d
-rw-r--r-- 1 root root 329 2021-09-17 06:12 ./source/n/NetworkManager/conf.d/00-dhcp-client.conf
-rw-r--r-- 1 root root 23 2016-03-24 19:11 ./source/n/NetworkManager/conf.d/00-rc-manager.conf
@ -12154,7 +12155,7 @@ drwxr-xr-x 2 root root 4096 2021-02-13 05:32 ./source/n/elm
drwxr-xr-x 2 root root 4096 2022-06-17 18:52 ./source/n/epic5
-rw-r--r-- 1 root root 249636 2005-03-16 01:15 ./source/n/epic5/epic-help-current.tar.xz
-rw-r--r-- 1 root root 891200 2022-06-15 21:33 ./source/n/epic5/epic5-2.1.12.tar.xz
-rwxr-xr-x 1 root root 4286 2022-06-08 17:57 ./source/n/epic5/epic5.SlackBuild
-rwxr-xr-x 1 root root 4286 2022-12-25 19:42 ./source/n/epic5/epic5.SlackBuild
-rw-r--r-- 1 root root 33 2022-03-28 18:33 ./source/n/epic5/epic5.url
-rw-r--r-- 1 root root 771 2018-02-27 06:13 ./source/n/epic5/slack-desc
drwxr-xr-x 2 root root 4096 2022-08-23 02:53 ./source/n/ethtool
@ -13435,7 +13436,7 @@ drwxr-xr-x 2 root root 4096 2022-08-14 16:51 ./source/x/m17n-lib
-rw-r--r-- 1 root root 870 2018-02-27 06:13 ./source/x/m17n-lib/slack-desc
drwxr-xr-x 2 root root 4096 2022-03-06 20:46 ./source/x/marisa
-rw-r--r-- 1 root root 111401 2020-06-14 08:41 ./source/x/marisa/marisa-trie-0.2.6.tar.lz
-rwxr-xr-x 1 root root 4717 2022-03-06 20:46 ./source/x/marisa/marisa.SlackBuild
-rwxr-xr-x 1 root root 4717 2022-12-25 19:46 ./source/x/marisa/marisa.SlackBuild
-rw-r--r-- 1 root root 38 2020-12-08 18:39 ./source/x/marisa/marisa.url
-rw-r--r-- 1 root root 972 2020-11-28 00:57 ./source/x/marisa/slack-desc
drwxr-xr-x 5 root root 4096 2022-12-16 04:32 ./source/x/mesa
@ -15242,7 +15243,7 @@ drwxr-xr-x 2 root root 4096 2022-08-27 16:40 ./source/xfce/xfce4-terminal
-rwxr-xr-x 1 root root 4058 2022-08-27 16:40 ./source/xfce/xfce4-terminal/xfce4-terminal.SlackBuild
-rw-r--r-- 1 root root 52 2022-08-27 16:40 ./source/xfce/xfce4-terminal/xfce4-terminal.url
drwxr-xr-x 2 root root 4096 2022-12-17 20:50 ./source/xfce/xfce4-weather-plugin
-rw-r--r-- 1 root root 837 2018-02-27 06:13 ./source/xfce/xfce4-weather-plugin/slack-desc
-rw-r--r-- 1 root root 837 2018-02-27 06:13 ./source/xfce/xfce4-weather-plugin/slack-desc
-rw-r--r-- 1 root root 2769985 2021-02-11 21:22 ./source/xfce/xfce4-weather-plugin/xfce4-weather-plugin-0.11.0.tar.lz
-rwxr-xr-x 1 root root 3721 2022-12-17 20:50 ./source/xfce/xfce4-weather-plugin/xfce4-weather-plugin.SlackBuild
-rw-r--r-- 1 root root 65 2018-09-22 21:37 ./source/xfce/xfce4-weather-plugin/xfce4-weather-plugin.url
@ -15303,17 +15304,60 @@ drwxr-xr-x 2 root root 4096 2022-09-06 18:27 ./source/y/nethack
-rwxr-xr-x 1 root root 5000 2022-09-06 18:27 ./source/y/nethack/nethack.SlackBuild
-rw-r--r-- 1 root root 59 2020-12-30 20:25 ./source/y/nethack/nethack.url
-rw-r--r-- 1 root root 1031 2020-12-30 21:50 ./source/y/nethack/slack-desc
drwxr-xr-x 4 root root 4096 2022-12-19 21:23 ./testing
-rw-r--r-- 1 root root 1086 2022-12-19 21:23 ./testing/CHECKSUMS.md5
-rw-r--r-- 1 root root 163 2022-12-19 21:23 ./testing/CHECKSUMS.md5.asc
-rw-r--r-- 1 root root 1451 2022-12-19 21:23 ./testing/FILE_LIST
-rw-r--r-- 1 root root 1448440 2022-12-19 21:23 ./testing/MANIFEST.bz2
-rw-r--r-- 1 root root 832 2022-12-19 21:23 ./testing/PACKAGES.TXT
drwxr-xr-x 2 root root 4096 2022-12-19 21:23 ./testing/packages
drwxr-xr-x 4 root root 4096 2022-12-25 23:25 ./testing
-rw-r--r-- 1 root root 4621 2022-12-25 23:25 ./testing/CHECKSUMS.md5
-rw-r--r-- 1 root root 163 2022-12-25 23:25 ./testing/CHECKSUMS.md5.asc
-rw-r--r-- 1 root root 5922 2022-12-25 23:25 ./testing/FILE_LIST
-rw-r--r-- 1 root root 2771037 2022-12-25 23:25 ./testing/MANIFEST.bz2
-rw-r--r-- 1 root root 4092 2022-12-25 23:25 ./testing/PACKAGES.TXT
drwxr-xr-x 3 root root 4096 2022-12-25 23:09 ./testing/packages
drwxr-xr-x 2 root root 4096 2022-12-25 23:25 ./testing/packages/linux-6.1.x
-rw-r--r-- 1 root root 624 2022-12-25 19:36 ./testing/packages/linux-6.1.x/kernel-generic-6.1.1-x86_64-1.txt
-rw-r--r-- 1 root root 8710300 2022-12-25 19:36 ./testing/packages/linux-6.1.x/kernel-generic-6.1.1-x86_64-1.txz
-rw-r--r-- 1 root root 163 2022-12-25 19:36 ./testing/packages/linux-6.1.x/kernel-generic-6.1.1-x86_64-1.txz.asc
-rw-r--r-- 1 root root 332 2022-12-25 19:52 ./testing/packages/linux-6.1.x/kernel-headers-6.1.1-x86-1.txt
-rw-r--r-- 1 root root 1144360 2022-12-25 19:52 ./testing/packages/linux-6.1.x/kernel-headers-6.1.1-x86-1.txz
-rw-r--r-- 1 root root 163 2022-12-25 19:52 ./testing/packages/linux-6.1.x/kernel-headers-6.1.1-x86-1.txz.asc
-rw-r--r-- 1 root root 636 2022-12-25 19:34 ./testing/packages/linux-6.1.x/kernel-huge-6.1.1-x86_64-1.txt
-rw-r--r-- 1 root root 12835996 2022-12-25 19:34 ./testing/packages/linux-6.1.x/kernel-huge-6.1.1-x86_64-1.txz
-rw-r--r-- 1 root root 163 2022-12-25 19:34 ./testing/packages/linux-6.1.x/kernel-huge-6.1.1-x86_64-1.txz.asc
-rw-r--r-- 1 root root 567 2022-12-25 19:51 ./testing/packages/linux-6.1.x/kernel-modules-6.1.1-x86_64-1.txt
-rw-r--r-- 1 root root 53004644 2022-12-25 19:51 ./testing/packages/linux-6.1.x/kernel-modules-6.1.1-x86_64-1.txz
-rw-r--r-- 1 root root 163 2022-12-25 19:51 ./testing/packages/linux-6.1.x/kernel-modules-6.1.1-x86_64-1.txz.asc
-rw-r--r-- 1 root root 317 2022-12-25 19:29 ./testing/packages/linux-6.1.x/kernel-source-6.1.1-noarch-1.txt
-rw-r--r-- 1 root root 131242372 2022-12-25 19:29 ./testing/packages/linux-6.1.x/kernel-source-6.1.1-noarch-1.txz
-rw-r--r-- 1 root root 163 2022-12-25 19:29 ./testing/packages/linux-6.1.x/kernel-source-6.1.1-noarch-1.txz.asc
-rw-r--r-- 1 root root 426 2022-12-19 21:16 ./testing/packages/rust-1.66.0-x86_64-1.txt
-rw-r--r-- 1 root root 73060604 2022-12-19 21:16 ./testing/packages/rust-1.66.0-x86_64-1.txz
-rw-r--r-- 1 root root 163 2022-12-19 21:16 ./testing/packages/rust-1.66.0-x86_64-1.txz.asc
drwxr-xr-x 3 root root 4096 2022-12-19 20:10 ./testing/source
drwxr-xr-x 4 root root 4096 2022-12-25 17:46 ./testing/source
drwxr-xr-x 4 root root 4096 2022-12-21 18:38 ./testing/source/linux-6.1.x
-rwxr-xr-x 1 root root 8310 2022-10-22 18:02 ./testing/source/linux-6.1.x/build-all-kernels.sh
drwxr-xr-x 2 root root 4096 2022-12-25 17:46 ./testing/source/linux-6.1.x/kernel-configs
-rw-r--r-- 1 root root 248548 2022-12-25 17:42 ./testing/source/linux-6.1.x/kernel-configs/config-generic-6.1.1
-rw-r--r-- 1 root root 252495 2022-12-25 17:45 ./testing/source/linux-6.1.x/kernel-configs/config-generic-6.1.1.x64
-rw-r--r-- 1 root root 249792 2022-12-25 17:42 ./testing/source/linux-6.1.x/kernel-configs/config-generic-smp-6.1.1-smp
-rw-r--r-- 1 root root 248517 2022-12-25 17:42 ./testing/source/linux-6.1.x/kernel-configs/config-huge-6.1.1
-rw-r--r-- 1 root root 252464 2022-12-25 17:44 ./testing/source/linux-6.1.x/kernel-configs/config-huge-6.1.1.x64
-rw-r--r-- 1 root root 249761 2022-12-25 17:42 ./testing/source/linux-6.1.x/kernel-configs/config-huge-smp-6.1.1-smp
-rwxr-xr-x 1 root root 7441 2020-06-11 19:56 ./testing/source/linux-6.1.x/kernel-generic.SlackBuild
-rwxr-xr-x 1 root root 3779 2019-09-29 23:48 ./testing/source/linux-6.1.x/kernel-headers.SlackBuild
-rwxr-xr-x 1 root root 6504 2022-10-22 18:03 ./testing/source/linux-6.1.x/kernel-modules.SlackBuild
-rwxr-xr-x 1 root root 8863 2021-10-29 17:19 ./testing/source/linux-6.1.x/kernel-source.SlackBuild
-rw-r--r-- 1 root root 987 2022-12-21 16:57 ./testing/source/linux-6.1.x/linux-6.1.1.tar.sign
-rw-r--r-- 1 root root 134730676 2022-12-21 16:57 ./testing/source/linux-6.1.x/linux-6.1.1.tar.xz
drwxr-xr-x 2 root root 4096 2018-03-05 18:29 ./testing/source/linux-6.1.x/slack-desc
-rw-r--r-- 1 root root 1138 2018-02-27 06:16 ./testing/source/linux-6.1.x/slack-desc/slack-desc.kernel-generic-smp.i686
-rw-r--r-- 1 root root 1041 2018-02-27 06:16 ./testing/source/linux-6.1.x/slack-desc/slack-desc.kernel-generic.i586
-rw-r--r-- 1 root root 1086 2018-02-27 06:16 ./testing/source/linux-6.1.x/slack-desc/slack-desc.kernel-generic.x86_64
-rw-r--r-- 1 root root 794 2018-03-05 04:04 ./testing/source/linux-6.1.x/slack-desc/slack-desc.kernel-headers
-rw-r--r-- 1 root root 1151 2018-02-27 06:16 ./testing/source/linux-6.1.x/slack-desc/slack-desc.kernel-huge-smp.i686
-rw-r--r-- 1 root root 1060 2018-02-27 06:16 ./testing/source/linux-6.1.x/slack-desc/slack-desc.kernel-huge.i586
-rw-r--r-- 1 root root 1095 2018-02-27 06:16 ./testing/source/linux-6.1.x/slack-desc/slack-desc.kernel-huge.x86_64
-rw-r--r-- 1 root root 1029 2018-03-05 18:29 ./testing/source/linux-6.1.x/slack-desc/slack-desc.kernel-modules-template
-rw-r--r-- 1 root root 778 2018-02-27 06:16 ./testing/source/linux-6.1.x/slack-desc/slack-desc.kernel-source
-rw-r--r-- 1 root root 778 2018-02-27 06:16 ./testing/source/linux-6.1.x/slack-desc/slack-desc.kernel-source.vanilla
-rw-r--r-- 1 root root 1000 2018-03-05 08:27 ./testing/source/linux-6.1.x/slack-desc/slack-desc.kernel-template
drwxr-xr-x 2 root root 4096 2022-12-19 20:08 ./testing/source/rust
-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 9879 2022-12-19 20:08 ./testing/source/rust/rust.SlackBuild

View file

@ -24,7 +24,7 @@ cd $(dirname $0) ; CWD=$(pwd)
PKGNAM=subversion
VERSION=${VERSION:-$(echo subversion-*.tar.?z* | rev | cut -f 3- -d . | cut -f 1 -d - | rev)}
BUILD=${BUILD:-2}
BUILD=${BUILD:-3}
# Automatically determine the architecture we're building on:
if [ -z "$ARCH" ]; then

395
source/l/glib2/3120.patch Normal file
View file

@ -0,0 +1,395 @@
From f67e8636dad3038b584887bd1edf4515fbd7ac4a Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Sebastian=20Dr=C3=B6ge?= <sebastian@centricular.com>
Date: Tue, 13 Dec 2022 15:05:06 +0200
Subject: [PATCH 1/2] glib/gthread-posix: Use `cc.compiles()` instead of
`cc.links()` for checking for `__NR_futex`
`cc.compiles()` is minimally faster.
We only want to check here whether `__NR_futex` is defined and don't
want to check anything at link-time.
---
meson.build | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/meson.build b/meson.build
index 2305b3a08e..c763857ea9 100644
--- a/meson.build
+++ b/meson.build
@@ -887,7 +887,7 @@ if host_system == 'qnx'
endif
# Check for futex(2)
-if cc.links('''#include <linux/futex.h>
+if cc.compiles('''#include <linux/futex.h>
#include <sys/syscall.h>
#include <unistd.h>
int main (int argc, char ** argv) {
--
GitLab
From a79c6af23eff5ee978db62e048828c9a992a1261 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Sebastian=20Dr=C3=B6ge?= <sebastian@centricular.com>
Date: Mon, 12 Dec 2022 19:58:21 +0200
Subject: [PATCH 2/2] glib/gthread-posix: Conditionally use `futex` and/or
`futex_time64` syscalls as necessary and use the correct `struct timespec`
definition
On some systems only `futex_time64` exists (e.g. riscv32) while on
others only `futex` exists (old Linux, 64 bit platforms), so it is
necessary to check for both and try calling both at runtime.
Additionally use the correct `struct timespec` definition. There is not
necessarily any relation between the libc's definition and the kernel's.
Specifically, the libc headers might use 64-bit `time_t` while the kernel
headers use 32-bit `__kernel_old_time_t` on certain systems.
To get around this problem we
a) check if `futex_time64` is available, which only exists on 32-bit
platforms and always uses 64-bit `time_t`.
b) otherwise (or if that returns `ENOSYS`), we call the normal `futex`
syscall with the `struct timespec` used by the kernel, which uses
`__kernel_long_t` for both its fields. We use that instead of
`__kernel_old_time_t` because it is equivalent and available in the
kernel headers for a longer time.
---
glib/gbitlock.c | 15 ++----
glib/gthread-posix.c | 120 ++++++++++++++++++++++++++----------------
glib/gthreadprivate.h | 49 +++++++++++++++++
meson.build | 9 ++++
4 files changed, 137 insertions(+), 56 deletions(-)
diff --git a/glib/gbitlock.c b/glib/gbitlock.c
index 81bfb339f3..9c34de80c8 100644
--- a/glib/gbitlock.c
+++ b/glib/gbitlock.c
@@ -35,6 +35,7 @@
#ifdef G_BIT_LOCK_FORCE_FUTEX_EMULATION
#undef HAVE_FUTEX
+#undef HAVE_FUTEX_TIME64
#endif
#ifndef HAVE_FUTEX
@@ -42,7 +43,7 @@ static GMutex g_futex_mutex;
static GSList *g_futex_address_list = NULL;
#endif
-#ifdef HAVE_FUTEX
+#if defined(HAVE_FUTEX) || defined(HAVE_FUTEX_TIME64)
/*
* We have headers for futex(2) on the build machine. This does not
* imply that every system that ever runs the resulting glib will have
@@ -51,14 +52,6 @@ static GSList *g_futex_address_list = NULL;
*
* If anyone actually gets bit by this, please file a bug. :)
*/
-#include <linux/futex.h>
-#include <sys/syscall.h>
-#include <unistd.h>
-
-#ifndef FUTEX_WAIT_PRIVATE
-#define FUTEX_WAIT_PRIVATE FUTEX_WAIT
-#define FUTEX_WAKE_PRIVATE FUTEX_WAKE
-#endif
/* < private >
* g_futex_wait:
@@ -81,7 +74,7 @@ static void
g_futex_wait (const gint *address,
gint value)
{
- syscall (__NR_futex, address, (gsize) FUTEX_WAIT_PRIVATE, (gsize) value, NULL);
+ g_futex_simple (address, (gsize) FUTEX_WAIT_PRIVATE, (gsize) value, NULL);
}
/* < private >
@@ -98,7 +91,7 @@ g_futex_wait (const gint *address,
static void
g_futex_wake (const gint *address)
{
- syscall (__NR_futex, address, (gsize) FUTEX_WAKE_PRIVATE, (gsize) 1, NULL);
+ g_futex_simple (address, (gsize) FUTEX_WAKE_PRIVATE, (gsize) 1, NULL);
}
#else
diff --git a/glib/gthread-posix.c b/glib/gthread-posix.c
index d96fca5ca2..84f62881d8 100644
--- a/glib/gthread-posix.c
+++ b/glib/gthread-posix.c
@@ -74,7 +74,7 @@
#include <sys/syscall.h>
#endif
-#if defined(HAVE_FUTEX) && \
+#if (defined(HAVE_FUTEX) || defined(HAVE_FUTEX_TIME64)) && \
(defined(HAVE_STDATOMIC_H) || defined(__ATOMIC_SEQ_CST))
#define USE_NATIVE_MUTEX
#endif
@@ -1397,15 +1397,6 @@ g_system_thread_set_name (const gchar *name)
/* {{{1 GMutex and GCond futex implementation */
#if defined(USE_NATIVE_MUTEX)
-
-#include <linux/futex.h>
-#include <sys/syscall.h>
-
-#ifndef FUTEX_WAIT_PRIVATE
-#define FUTEX_WAIT_PRIVATE FUTEX_WAIT
-#define FUTEX_WAKE_PRIVATE FUTEX_WAKE
-#endif
-
/* We should expand the set of operations available in gatomic once we
* have better C11 support in GCC in common distributions (ie: 4.9).
*
@@ -1500,8 +1491,8 @@ g_mutex_lock_slowpath (GMutex *mutex)
*/
while (exchange_acquire (&mutex->i[0], G_MUTEX_STATE_CONTENDED) != G_MUTEX_STATE_EMPTY)
{
- syscall (__NR_futex, &mutex->i[0], (gsize) FUTEX_WAIT_PRIVATE,
- G_MUTEX_STATE_CONTENDED, NULL);
+ g_futex_simple (&mutex->i[0], (gsize) FUTEX_WAIT_PRIVATE,
+ G_MUTEX_STATE_CONTENDED, NULL);
}
}
@@ -1519,7 +1510,7 @@ g_mutex_unlock_slowpath (GMutex *mutex,
g_abort ();
}
- syscall (__NR_futex, &mutex->i[0], (gsize) FUTEX_WAKE_PRIVATE, (gsize) 1, NULL);
+ g_futex_simple (&mutex->i[0], (gsize) FUTEX_WAKE_PRIVATE, (gsize) 1, NULL);
}
void
@@ -1587,7 +1578,7 @@ g_cond_wait (GCond *cond,
guint sampled = (guint) g_atomic_int_get (&cond->i[0]);
g_mutex_unlock (mutex);
- syscall (__NR_futex, &cond->i[0], (gsize) FUTEX_WAIT_PRIVATE, (gsize) sampled, NULL);
+ g_futex_simple (&cond->i[0], (gsize) FUTEX_WAIT_PRIVATE, (gsize) sampled, NULL);
g_mutex_lock (mutex);
}
@@ -1596,7 +1587,7 @@ g_cond_signal (GCond *cond)
{
g_atomic_int_inc (&cond->i[0]);
- syscall (__NR_futex, &cond->i[0], (gsize) FUTEX_WAKE_PRIVATE, (gsize) 1, NULL);
+ g_futex_simple (&cond->i[0], (gsize) FUTEX_WAKE_PRIVATE, (gsize) 1, NULL);
}
void
@@ -1604,7 +1595,7 @@ g_cond_broadcast (GCond *cond)
{
g_atomic_int_inc (&cond->i[0]);
- syscall (__NR_futex, &cond->i[0], (gsize) FUTEX_WAKE_PRIVATE, (gsize) INT_MAX, NULL);
+ g_futex_simple (&cond->i[0], (gsize) FUTEX_WAKE_PRIVATE, (gsize) INT_MAX, NULL);
}
gboolean
@@ -1614,12 +1605,6 @@ g_cond_wait_until (GCond *cond,
{
struct timespec now;
struct timespec span;
-#ifdef __NR_futex_time64
- long span_arg[2];
- G_STATIC_ASSERT (sizeof (span_arg[0]) == 4);
-#else
- struct timespec span_arg;
-#endif
guint sampled;
int res;
@@ -1640,37 +1625,82 @@ g_cond_wait_until (GCond *cond,
if (span.tv_sec < 0)
return FALSE;
- /* On x32 (ILP32 ABI on x86_64) and potentially sparc64, the raw futex()
- * syscall takes a 32-bit timespan argument *regardless* of whether userspace
- * is using 32-bit or 64-bit `struct timespec`. This means that we cant
- * unconditionally pass a `struct timespec` pointer into the syscall.
+ /* `struct timespec` as defined by the libc headers does not necessarily
+ * have any relation to the one used by the kernel for the `futex` syscall.
*
- * Assume that any such platform is new enough to define the
- * `__NR_futex_time64` workaround syscall (which accepts 64-bit timespecs,
- * introduced in kernel 5.1), and use that as a proxy for whether to pass in
- * `long[2]` or `struct timespec`.
+ * Specifically, the libc headers might use 64-bit `time_t` while the kernel
+ * headers use 32-bit `__kernel_old_time_t` on certain systems.
*
- * As per https://lwn.net/Articles/776427/, the `time64` syscalls only exist
- * on 32-bit platforms, so in this case `sizeof(long)` should always be
- * 32 bits.
+ * To get around this problem we
+ * a) check if `futex_time64` is available, which only exists on 32-bit
+ * platforms and always uses 64-bit `time_t`.
+ * b) otherwise (or if that returns `ENOSYS`), we call the normal `futex`
+ * syscall with the `struct timespec` used by the kernel, which uses
+ * `__kernel_long_t` for both its fields. We use that instead of
+ * `__kernel_old_time_t` because it is equivalent and available in the
+ * kernel headers for a longer time.
*
- * Dont bother actually calling `__NR_futex_time64` as the `span` is relative
- * and hence very unlikely to overflow, even if using 32-bit longs.
+ * Also some 32-bit systems do not define `__NR_futex` at all and only
+ * define `__NR_futex_time64`.
*/
-#ifdef __NR_futex_time64
- span_arg[0] = span.tv_sec;
- span_arg[1] = span.tv_nsec;
-#else
- span_arg = span;
-#endif
sampled = cond->i[0];
g_mutex_unlock (mutex);
- res = syscall (__NR_futex, &cond->i[0], (gsize) FUTEX_WAIT_PRIVATE, (gsize) sampled, &span_arg);
- success = (res < 0 && errno == ETIMEDOUT) ? FALSE : TRUE;
- g_mutex_lock (mutex);
- return success;
+#ifdef __NR_futex_time64
+ {
+ struct
+ {
+ gint64 tv_sec;
+ gint64 tv_nsec;
+ } span_arg;
+
+ span_arg.tv_sec = span.tv_sec;
+ span_arg.tv_nsec = span.tv_nsec;
+
+ res = syscall (__NR_futex_time64, &cond->i[0], (gsize) FUTEX_WAIT_PRIVATE, (gsize) sampled, &span_arg);
+
+ /* If the syscall does not exist (`ENOSYS`), we retry again below with the
+ * normal `futex` syscall. This can happen if newer kernel headers are
+ * used than the kernel that is actually running.
+ */
+# ifdef __NR_futex
+ if (res >= 0 || errno != ENOSYS)
+# endif /* defined(__NR_futex) */
+ {
+ success = (res < 0 && errno == ETIMEDOUT) ? FALSE : TRUE;
+ g_mutex_lock (mutex);
+
+ return success;
+ }
+ }
+#endif
+
+#ifdef __NR_futex
+ {
+ struct
+ {
+ __kernel_long_t tv_sec;
+ __kernel_long_t tv_nsec;
+ } span_arg;
+
+ /* Make sure to only ever call this if the end time actually fits into the target type */
+ if (G_UNLIKELY (sizeof (__kernel_long_t) < 8 && span.tv_sec > G_MAXINT32))
+ g_error ("%s: Cant wait for more than %us", G_STRFUNC, G_MAXINT32);
+
+ span_arg.tv_sec = span.tv_sec;
+ span_arg.tv_nsec = span.tv_nsec;
+
+ res = syscall (__NR_futex, &cond->i[0], (gsize) FUTEX_WAIT_PRIVATE, (gsize) sampled, &span_arg);
+ success = (res < 0 && errno == ETIMEDOUT) ? FALSE : TRUE;
+ g_mutex_lock (mutex);
+
+ return success;
+ }
+#endif /* defined(__NR_futex) */
+
+ /* We can't end up here because of the checks above */
+ g_assert_not_reached ();
}
#endif
diff --git a/glib/gthreadprivate.h b/glib/gthreadprivate.h
index 2ae705d4f5..6eaf422753 100644
--- a/glib/gthreadprivate.h
+++ b/glib/gthreadprivate.h
@@ -40,6 +40,55 @@ struct _GRealThread
/* system thread implementation (gthread-posix.c, gthread-win32.c) */
+#if defined(HAVE_FUTEX) || defined(HAVE_FUTEX_TIME64)
+#include <linux/futex.h>
+#include <sys/syscall.h>
+#include <unistd.h>
+
+#ifndef FUTEX_WAIT_PRIVATE
+#define FUTEX_WAIT_PRIVATE FUTEX_WAIT
+#define FUTEX_WAKE_PRIVATE FUTEX_WAKE
+#endif
+
+/* Wrapper macro to call `futex_time64` and/or `futex` with simple
+ * parameters and without returning the return value.
+ *
+ * If the `futex_time64` syscall does not exist (`ENOSYS`), we retry again
+ * with the normal `futex` syscall. This can happen if newer kernel headers
+ * are used than the kernel that is actually running.
+ *
+ * This must not be called with a timeout parameter as that differs
+ * in size between the two syscall variants!
+ */
+#if defined(__NR_futex) && defined(__NR_futex_time64)
+#define g_futex_simple(uaddr, futex_op, ...) \
+ G_STMT_START \
+ { \
+ int res = syscall (__NR_futex_time64, uaddr, (gsize) futex_op, __VA_ARGS__); \
+ if (res < 0 && errno == ENOSYS) \
+ syscall (__NR_futex, uaddr, (gsize) futex_op, __VA_ARGS__); \
+ } \
+ G_STMT_END
+#elif defined(__NR_futex_time64)
+#define g_futex_simple(uaddr, futex_op, ...) \
+ G_STMT_START \
+ { \
+ syscall (__NR_futex_time64, uaddr, (gsize) futex_op, __VA_ARGS__); \
+ } \
+ G_STMT_END
+#elif defined(__NR_futex)
+#define g_futex_simple(uaddr, futex_op, ...) \
+ G_STMT_START \
+ { \
+ syscall (__NR_futex, uaddr, (gsize) futex_op, __VA_ARGS__); \
+ } \
+ G_STMT_END
+#else /* !defined(__NR_futex) && !defined(__NR_futex_time64) */
+#error "Neither __NR_futex nor __NR_futex_time64 are defined but were found by meson"
+#endif /* defined(__NR_futex) && defined(__NR_futex_time64) */
+
+#endif
+
/* Platform-specific scheduler settings for a thread */
typedef struct
{
diff --git a/meson.build b/meson.build
index c763857ea9..75a3db504e 100644
--- a/meson.build
+++ b/meson.build
@@ -896,6 +896,15 @@ if cc.compiles('''#include <linux/futex.h>
}''', name : 'futex(2) system call')
glib_conf.set('HAVE_FUTEX', 1)
endif
+if cc.compiles('''#include <linux/futex.h>
+ #include <sys/syscall.h>
+ #include <unistd.h>
+ int main (int argc, char ** argv) {
+ syscall (__NR_futex_time64, NULL, FUTEX_WAKE, FUTEX_WAIT);
+ return 0;
+ }''', name : 'futex(2) system call')
+ glib_conf.set('HAVE_FUTEX_TIME64', 1)
+endif
# Check for eventfd(2)
if cc.links('''#include <sys/eventfd.h>
--
GitLab

View file

@ -77,6 +77,9 @@ find . \
\( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \
-exec chmod 644 {} \+
# Revert a patch that causes 32-bit builds to fail:
cat $CWD/3120.patch | patch -R -p1 --verbose || exit 1
# Configure, build, and install:
export CFLAGS="$SLKCFLAGS"
export CXXFLAGS="$SLKCFLAGS"

Binary file not shown.

View file

@ -26,7 +26,7 @@ PKGNAM=epic5
VERSION=${VERSION:-$(echo $PKGNAM-*.tar.xz | rev | cut -f 3- -d . | cut -f 1 -d - | rev)}
EPICVER=5
HELPFILE=current
BUILD=${BUILD:-1}
BUILD=${BUILD:-2}
## Default to no Ruby support, since it seems that ruby-2.7.0 is not compatible.
## Patches to fix this are welcome, otherwise we'll keep an eye on upstream.

View file

@ -26,7 +26,7 @@ cd $(dirname $0) ; CWD=$(pwd)
PKGNAM=marisa
SRCNAM=marisa-trie
VERSION=${VERSION:-$(echo $SRCNAM-*.tar.?z | rev | cut -f 3- -d . | cut -f 1 -d- | rev)}
BUILD=${BUILD:-5}
BUILD=${BUILD:-6}
NUMJOBS=${NUMJOBS:-" -j$(expr $(nproc) + 1) "}

View file

@ -0,0 +1,175 @@
#!/bin/sh
# Copyright 2018, 2021, 2022 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.
# This script uses the SlackBuild scripts present here to build a
# complete set of kernel packages for the currently running architecture.
# It needs to be run once on 64-bit (uname -m = x86_64) and once on IA32
# (uname -m = i586 or i686).
cd $(dirname $0) ; CWD=$(pwd)
BUILD=${BUILD:-1}
if [ -z "$VERSION" ]; then
# Get the filename of the newest kernel tarball:
KERNEL_SOURCE_FILE="$(/bin/ls -t linux-*.tar.?z | head -n 1 )"
if echo $KERNEL_SOURCE_FILE | grep -q rc ; then # need to get rc versions a bit differently
VERSION=$(/bin/ls -t linux-*.tar.?z | head -n 1 | rev | cut -f 3- -d . | cut -f 1,2 -d - | rev)
else # normal release version
VERSION=$(/bin/ls -t linux-*.tar.?z | head -n 1 | rev | cut -f 3- -d . | cut -f 1 -d - | rev)
fi
fi
TMP=${TMP:-/tmp}
# By default, install the packages as we build them and update the initrd.
INSTALL_PACKAGES=${INSTALL_PACKAGES:-YES}
# Clean kernels before building them. Not doing so quit working some time
# after 4.19.x.
export KERNEL_CLEAN=YES
# A list of recipes for build may be passed in the $RECIPES variable, otherwise
# we have defaults based on uname -m:
if [ -z "$RECIPES" ]; then
if uname -m | grep -wq x86_64 ; then
RECIPES="x86_64"
elif uname -m | grep -wq i.86 ; then
RECIPES="IA32_NO_SMP IA32_SMP"
else
echo "Error: no build recipes available for $(uname -m)"
exit 1
fi
fi
# Main build loop:
for recipe in $RECIPES ; do
# Build recipes are defined here. These will select the appropriate .config
# files and package naming scheme, and define the output location.
if [ "$recipe" = "x86_64" ]; then
# Recipe for x86_64:
export CONFIG_SUFFIX=".x64"
unset LOCALVERSION
OUTPUT=${OUTPUT:-${TMP}/output-x86_64-${VERSION}}
elif [ "$recipe" = "IA32_SMP" ]; then
# Recipe for IA32_SMP:
unset CONFIG_SUFFIX
LOCALVERSION="-smp"
OUTPUT=${OUTPUT:-${TMP}/output-ia32-${VERSION}}
elif [ "$recipe" = "IA32_NO_SMP" ]; then
# Recipe for IA32_NO_SMP:
unset CONFIG_SUFFIX
unset LOCALVERSION
OUTPUT=${OUTPUT:-${TMP}/output-ia32-${VERSION}}
else
echo "Error: recipe ${recipe} not implemented"
exit 1
fi
echo
echo "*************************************************"
echo "* Building kernels for recipe ${recipe}..."
echo "*************************************************"
echo
# Build kernel-source package:
KERNEL_SOURCE_PACKAGE_NAME=$(PRINT_PACKAGE_NAME=YES KERNEL_CONFIG="config-generic${LOCALVERSION}-${VERSION}${LOCALVERSION}${CONFIG_SUFFIX}" VERSION=$VERSION BUILD=$BUILD ./kernel-source.SlackBuild)
KERNEL_CONFIG="config-generic${LOCALVERSION}-${VERSION}${LOCALVERSION}${CONFIG_SUFFIX}" VERSION=$VERSION BUILD=$BUILD ./kernel-source.SlackBuild
mkdir -p $OUTPUT
mv ${TMP}/${KERNEL_SOURCE_PACKAGE_NAME} $OUTPUT || exit 1
if [ "${INSTALL_PACKAGES}" = "YES" ]; then
installpkg ${OUTPUT}/${KERNEL_SOURCE_PACKAGE_NAME} || exit 1
fi
# Build kernel-huge package:
# We will build in the just-built kernel tree. First, let's put back the
# symlinks:
( cd $TMP/package-kernel-source
sh install/doinst.sh
)
KERNEL_HUGE_PACKAGE_NAME=$(PRINT_PACKAGE_NAME=YES KERNEL_NAME=huge KERNEL_SOURCE=$TMP/package-kernel-source/usr/src/linux KERNEL_CONFIG=./kernel-configs/config-huge${LOCALVERSION}-${VERSION}${LOCALVERSION}${CONFIG_SUFFIX} CONFIG_SUFFIX=${CONFIG_SUFFIX} KERNEL_OUTPUT_DIRECTORY=$OUTPUT/kernels/huge$(echo ${LOCALVERSION} | tr -d -).s BUILD=$BUILD ./kernel-generic.SlackBuild)
KERNEL_NAME=huge KERNEL_SOURCE=$TMP/package-kernel-source/usr/src/linux KERNEL_CONFIG=./kernel-configs/config-huge${LOCALVERSION}-${VERSION}${LOCALVERSION}${CONFIG_SUFFIX} CONFIG_SUFFIX=${CONFIG_SUFFIX} KERNEL_OUTPUT_DIRECTORY=$OUTPUT/kernels/huge$(echo ${LOCALVERSION} | tr -d -).s BUILD=$BUILD ./kernel-generic.SlackBuild
if [ -r ${TMP}/${KERNEL_HUGE_PACKAGE_NAME} ]; then
mv ${TMP}/${KERNEL_HUGE_PACKAGE_NAME} $OUTPUT
else
echo "kernel-source build failed."
exit 1
fi
if [ "${INSTALL_PACKAGES}" = "YES" ]; then
installpkg ${OUTPUT}/${KERNEL_HUGE_PACKAGE_NAME} || exit 1
fi
# Build kernel-generic package:
KERNEL_GENERIC_PACKAGE_NAME=$(PRINT_PACKAGE_NAME=YES KERNEL_NAME=generic KERNEL_SOURCE=$TMP/package-kernel-source/usr/src/linux KERNEL_CONFIG=./kernel-configs/config-generic${LOCALVERSION}-${VERSION}${LOCALVERSION}${CONFIG_SUFFIX} CONFIG_SUFFIX=${CONFIG_SUFFIX} KERNEL_OUTPUT_DIRECTORY=$OUTPUT/kernels/generic$(echo ${LOCALVERSION} | tr -d -).s BUILD=$BUILD ./kernel-generic.SlackBuild)
KERNEL_NAME=generic KERNEL_SOURCE=$TMP/package-kernel-source/usr/src/linux KERNEL_CONFIG=./kernel-configs/config-generic${LOCALVERSION}-${VERSION}${LOCALVERSION}${CONFIG_SUFFIX} CONFIG_SUFFIX=${CONFIG_SUFFIX} KERNEL_OUTPUT_DIRECTORY=$OUTPUT/kernels/generic$(echo ${LOCALVERSION} | tr -d -).s BUILD=$BUILD ./kernel-generic.SlackBuild
if [ -r ${TMP}/${KERNEL_GENERIC_PACKAGE_NAME} ]; then
mv ${TMP}/${KERNEL_GENERIC_PACKAGE_NAME} $OUTPUT
else
echo "kernel-generic build failed."
exit 1
fi
if [ "${INSTALL_PACKAGES}" = "YES" ]; then
installpkg ${OUTPUT}/${KERNEL_GENERIC_PACKAGE_NAME} || exit 1
fi
# Build kernel-modules (for the just built generic kernel, but most of them
# will also work with the huge kernel):
KERNEL_MODULES_PACKAGE_NAME=$(PRINT_PACKAGE_NAME=YES KERNEL_SOURCE=$TMP/package-kernel-source/usr/src/linux KERNEL_CONFIG=$TMP/package-kernel-source/usr/src/linux/.config BUILD=$BUILD ./kernel-modules.SlackBuild)
KERNEL_SOURCE=$TMP/package-kernel-source/usr/src/linux KERNEL_CONFIG=$TMP/package-kernel-source/usr/src/linux/.config BUILD=$BUILD ./kernel-modules.SlackBuild
if [ -r ${TMP}/${KERNEL_MODULES_PACKAGE_NAME} ]; then
mv ${TMP}/${KERNEL_MODULES_PACKAGE_NAME} $OUTPUT
else
echo "kernel-modules build failed."
exit 1
fi
if [ "${INSTALL_PACKAGES}" = "YES" ]; then
installpkg ${OUTPUT}/${KERNEL_MODULES_PACKAGE_NAME} || exit 1
fi
# Build kernel-headers:
KERNEL_HEADERS_PACKAGE_NAME=$(PRINT_PACKAGE_NAME=YES KERNEL_SOURCE=$TMP/package-kernel-source/usr/src/linux BUILD=$BUILD ./kernel-headers.SlackBuild)
KERNEL_SOURCE=$TMP/package-kernel-source/usr/src/linux BUILD=$BUILD ./kernel-headers.SlackBuild
if [ -r ${TMP}/${KERNEL_HEADERS_PACKAGE_NAME} ]; then
mv ${TMP}/${KERNEL_HEADERS_PACKAGE_NAME} $OUTPUT
else
echo "kernel-headers build failed."
exit 1
fi
if [ "${INSTALL_PACKAGES}" = "YES" ]; then
upgradepkg --reinstall --install-new ${OUTPUT}/${KERNEL_HEADERS_PACKAGE_NAME} || exit 1
fi
# Update initrd:
if [ "${INSTALL_PACKAGES}" = "YES" ]; then
INITRD_VERSION="$(grep "Kernel Configuration" $TMP/package-kernel-source/usr/src/linux/.config | cut -f 3 -d ' ')"
INITRD_LOCALVERSION="$(cat $TMP/package-kernel-source/usr/src/linux/.config 2> /dev/null | grep CONFIG_LOCALVERSION= | cut -f 2 -d = | tr -d \")"
if [ -r /etc/mkinitrd.conf ]; then
mkinitrd -F /etc/mkinitrd.conf -k ${INITRD_VERSION}${INITRD_LOCALVERSION}
else # try this?
sh /usr/share/mkinitrd/mkinitrd_command_generator.sh -k ${INITRD_VERSION}${INITRD_LOCALVERSION} | sed "s/-c -k/-k/g" | bash
fi
fi
echo
echo "${recipe} kernel packages done!"
echo
done

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

View file

@ -0,0 +1,158 @@
#!/bin/sh
# Copyright 2018, 2020 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.
# To use this script, point it to a Linux kernel source tree and a .config
# file by setting the appropriate environment variables:
#
# KERNEL_SOURCE=/usr/src/linux KERNEL_CONFIG=./kernel-configs/config-generic-4.14.23 ./kernel-generic.SlackBuild
#
# It can also build the huge (or any other) kernel:
#
# KERNEL_NAME=huge KERNEL_SOURCE=/usr/src/linux KERNEL_CONFIG=./kernel-configs/config-huge-4.14.23 ./kernel-generic.SlackBuild
#
# By default, it will call the package "kernel-generic" and use the source and
# .config already in /usr/src/linux (if possible).
cd $(dirname $0) ; CWD=$(pwd)
KERNEL_NAME=${KERNEL_NAME:-generic}
KERNEL_SOURCE=${KERNEL_SOURCE:-/usr/src/linux}
KERNEL_CONFIG=${KERNEL_CONFIG:-/usr/src/linux/.config}
CONFIG_SUFFIX=${CONFIG_SUFFIX:-}
BUILD=${BUILD:-1}
if [ ! -r "${KERNEL_CONFIG}" ]; then
echo "Error: the KERNEL_CONFIG environment variable needs to be set to the"
echo ".config file to be used to build this kernel. Example:"
echo "KERNEL_NAME=generic KERNEL_SOURCE=/usr/src/linux KERNEL_CONFIG=./kernel-configs/config-generic-4.14.23 ./kernel-generic.SlackBuild"
exit 1
fi
if [ ! -d "${KERNEL_SOURCE}" ]; then
echo "Error: kernel source directory ${KERNEL_SOURCE} does not exist."
exit 1
fi
# Get the kernel version from the kernel Makefile:
VERSION=$(grep "^VERSION = " ${KERNEL_SOURCE}/Makefile | rev | cut -f 1 -d ' ' | rev).$(grep "^PATCHLEVEL = " ${KERNEL_SOURCE}/Makefile | rev | cut -f 1 -d ' ' | rev).$(grep "^SUBLEVEL = " ${KERNEL_SOURCE}/Makefile | rev | cut -f 1 -d ' ' | rev)$(grep "^EXTRAVERSION = " ${KERNEL_SOURCE}/Makefile | rev | cut -f 1 -d ' ' | rev)
# Set LOCALVERSION to the value found inside the .config:
LOCALVERSION="$(cat ${KERNEL_SOURCE}/.config 2> /dev/null | grep CONFIG_LOCALVERSION= | cut -f 2 -d = | tr -d \")"
# The default kernel arch is x86 for all 32-bit and 64-bit x86:
if [ -z "${KERNEL_ARCH}" ]; then
case "$(uname -m)" in
i?86) KERNEL_ARCH=x86 ;;
x86_64) KERNEL_ARCH=x86 ;;
# Use uname -m for all other archs:
*) KERNEL_ARCH=$(uname -m) ;;
esac
fi
# If this variable is set to an output directory, we will also put copies of
# System.map.gz, bzImage, and config in there:
KERNEL_OUTPUT_DIRECTORY=${KERNEL_OUTPUT_DIRECTORY:-}
# 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
# We will need to copy the config and run make oldconfig and make
# prepare in order to generate kernel/bounds.s, where we can find
# the true $PACKAGE_ARCH.
if [ ! "${KERNEL_CONFIG}" = "${KERNEL_SOURCE}/.config" ]; then
cp -a ${KERNEL_CONFIG} ${KERNEL_SOURCE}/.config
fi
cd ${KERNEL_SOURCE}
make oldconfig 1> /dev/null 2> /dev/null
make prepare 1> /dev/null 2> /dev/null
PACKAGE_ARCH=$(cat kernel/bounds.s | grep -w "\-march=.*" | tr " " "\n" | grep -w "\-march=.*" | cut -f 2 -d = | tr - _)
echo "kernel-${KERNEL_NAME}${LOCALVERSION}-$(echo ${VERSION} | tr - _)$(echo ${LOCALVERSION} | tr - _)-${PACKAGE_ARCH}-$BUILD.txz"
exit 0
fi
NUMJOBS=${NUMJOBS:-" -j$(expr $(nproc) + 1) "}
TMP=${TMP:-/tmp}
PKG=$TMP/package-kernel-${KERNEL_NAME}
rm -rf $PKG
mkdir -p $TMP $PKG
# Set the variable $KERNEL_CLEAN to anything to run "make clean" before the
# build. Default is to start compiling in the tree as we found it.
if [ ! -z "${KERNEL_CLEAN}" ]; then
( cd ${KERNEL_SOURCE}
echo "Cleaning kernel source (make clean)..."
make clean
# Make sure header files aren't missing...
make prepare
# Don't package the kernel in the sources:
find . -name "*Image" -exec rm "{}" \+
# No need for these:
rm -f .config.old .version
find . -name "*.cmd" -exec rm -f "{}" \+
rm .*.d
)
fi
# Copy the .config into the kernel source directory (unless it's there already)
if [ ! "${KERNEL_CONFIG}" = "${KERNEL_SOURCE}/.config" ]; then
echo "Copying the .config file to the kernel source tree:"
cp -a --verbose ${KERNEL_CONFIG} ${KERNEL_SOURCE}/.config
fi
( cd ${KERNEL_SOURCE}
echo "Running make oldconfig..."
make oldconfig
echo "Building kernel..."
make $NUMJOBS bzImage || make bzImage || exit 1
# Output files to a directory, if requested:
if [ ! -z "${KERNEL_OUTPUT_DIRECTORY}" ]; then
echo "Copying files to ${KERNEL_OUTPUT_DIRECTORY}..."
mkdir -p ${KERNEL_OUTPUT_DIRECTORY}
rm -f ${KERNEL_OUTPUT_DIRECTORY}/*
cp -a --verbose System.map ${KERNEL_OUTPUT_DIRECTORY}
cp -a --verbose .config ${KERNEL_OUTPUT_DIRECTORY}/config
cp -a --verbose arch/${KERNEL_ARCH}/boot/bzImage ${KERNEL_OUTPUT_DIRECTORY}
gzip -9 ${KERNEL_OUTPUT_DIRECTORY}/System.map
fi
echo "Preparing the package in $PKG..."
mkdir -p $PKG/boot
cp -a --verbose System.map $PKG/boot/System.map-${KERNEL_NAME}${LOCALVERSION}-${VERSION}${LOCALVERSION}
cp -a --verbose .config $PKG/boot/config-${KERNEL_NAME}${LOCALVERSION}-${VERSION}${LOCALVERSION}${CONFIG_SUFFIX}
cp -a --verbose arch/${KERNEL_ARCH}/boot/bzImage $PKG/boot/vmlinuz-${KERNEL_NAME}${LOCALVERSION}-${VERSION}${LOCALVERSION}
# Make symlinks:
ln -sf System.map-${KERNEL_NAME}${LOCALVERSION}-${VERSION}${LOCALVERSION} $PKG/boot/System.map
ln -sf config-${KERNEL_NAME}${LOCALVERSION}-${VERSION}${LOCALVERSION}${CONFIG_SUFFIX} $PKG/boot/config
ln -sf vmlinuz-${KERNEL_NAME}${LOCALVERSION}-${VERSION}${LOCALVERSION} $PKG/boot/vmlinuz
ln -sf vmlinuz-${KERNEL_NAME}${LOCALVERSION}-${VERSION}${LOCALVERSION} $PKG/boot/vmlinuz-${KERNEL_NAME}${LOCALVERSION}
) || exit 1
# Fetch the kernel architecture from the source tree:
cd ${KERNEL_SOURCE}
PACKAGE_ARCH=$(cat kernel/bounds.s | grep -w "\-march=.*" | tr " " "\n" | grep -w "\-march=.*" | cut -f 2 -d = | tr - _)
mkdir $PKG/install
if [ -r $CWD/slack-desc/slack-desc.kernel-${KERNEL_NAME}${LOCALVERSION}.${PACKAGE_ARCH} ]; then
cat $CWD/slack-desc/slack-desc.kernel-${KERNEL_NAME}${LOCALVERSION}.${PACKAGE_ARCH} > $PKG/install/slack-desc
else
cat $CWD/slack-desc/slack-desc.kernel-template | sed "s/%PACKAGE_NAME%/kernel-${KERNEL_NAME}${LOCALVERSION}/g" > $PKG/install/slack-desc
fi
# Make the package:
cd $PKG
/sbin/makepkg -l y -c n $TMP/kernel-${KERNEL_NAME}${LOCALVERSION}-$(echo ${VERSION} | tr - _)$(echo ${LOCALVERSION} | tr - _)-${PACKAGE_ARCH}-$BUILD.txz

View file

@ -0,0 +1,90 @@
#!/bin/sh
# Copyright 2018 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.
# To use this script, point it to a Linux kernel source tree, and it will make
# the kernel-headers package using the .config to get all needed package
# version information:
#
# KERNEL_SOURCE=/usr/src/linux ./kernel-headers.SlackBuild
cd $(dirname $0) ; CWD=$(pwd)
PKGNAM=${PKGNAM:-kernel-headers}
BUILD=${BUILD:-1}
KERNEL_SOURCE=${KERNEL_SOURCE:-/usr/src/linux}
if [ -z "${HEADERS_ARCH}" ]; then
case "$(uname -m)" in
i?86) HEADERS_ARCH=x86 ;;
x86_64) HEADERS_ARCH=x86 ;;
# Use uname -m for all other archs:
*) HEADERS_ARCH=$(uname -m) ;;
esac
fi
if [ ! -d "${KERNEL_SOURCE}" ]; then
echo "Error: kernel source directory ${KERNEL_SOURCE} does not exist."
exit 1
elif [ ! -r ${KERNEL_SOURCE}/.config ]; then
echo "Error: a .config was not found in ${KERNEL_SOURCE}."
exit 1
fi
# Get the kernel version from the kernel Makefile:
VERSION=$(grep "^VERSION = " ${KERNEL_SOURCE}/Makefile | rev | cut -f 1 -d ' ' | rev).$(grep "^PATCHLEVEL = " ${KERNEL_SOURCE}/Makefile | rev | cut -f 1 -d ' ' | rev).$(grep "^SUBLEVEL = " ${KERNEL_SOURCE}/Makefile | rev | cut -f 1 -d ' ' | rev)$(grep "^EXTRAVERSION = " ${KERNEL_SOURCE}/Makefile | rev | cut -f 1 -d ' ' | rev)
# Set LOCALVERSION to the value found inside the .config:
LOCALVERSION="$(cat ${KERNEL_SOURCE}/.config 2> /dev/null | grep CONFIG_LOCALVERSION= | cut -f 2 -d = | tr -d \")"
TMP=${TMP:-/tmp}
PKG=$TMP/package-$PKGNAM
# 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 "kernel-headers-$(echo ${VERSION} | tr - _)$(echo ${LOCALVERSION} | tr - _)-${HEADERS_ARCH}-$BUILD.txz"
exit 0
fi
rm -rf $PKG
mkdir -p $TMP $PKG
mkdir -p $PKG/usr
# Generate the kernel headers and clean them up:
( cd ${KERNEL_SOURCE}
echo "Generating headers from the Linux kernel source tree in ${KERNEL_SOURCE}:"
make headers_install ARCH=${HEADERS_ARCH} INSTALL_HDR_PATH=$PKG/usr
cd $PKG/usr/include
# You won't want these files. The ones in libdrm work better.
rm -rf drm
# This next part seems pretty much cosmetic, but since we've been doing this
# for a long time (and others also do), we'll stick with it:
mv asm asm-${HEADERS_ARCH}
ln -sf asm-${HEADERS_ARCH} asm
# Remove unneeded dotfiles:
find . -name ".??*" -exec rm -f {} \+
)
mkdir -p $PKG/install
cat $CWD/slack-desc/slack-desc.kernel-headers > $PKG/install/slack-desc
# Make the package:
cd $PKG
/sbin/makepkg -l y -c n $TMP/kernel-headers-$(echo ${VERSION} | tr - _)$(echo ${LOCALVERSION} | tr - _)-${HEADERS_ARCH}-$BUILD.txz

View file

@ -0,0 +1,146 @@
#!/bin/sh
# Copyright 2018, 2020, 2022 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.
# To use this script, point it to a Linux kernel source tree and a .config
# file by setting the appropriate environment variables:
#
# KERNEL_SOURCE=/usr/src/linux KERNEL_CONFIG=./kernel-configs/config-generic-4.14.23 ./kernel-modules.SlackBuild
#
# By default, it will use the source and .config already in /usr/src/linux (if possible).
# KERNEL_NAME is optional, and we don't use it. Define it to "-name" if
# you'd like an extra string after "kernel" in the package name
# (i.e. "kernel-name-modules").
cd $(dirname $0) ; CWD=$(pwd)
KERNEL_NAME=${KERNEL_NAME:-}
KERNEL_SOURCE=${KERNEL_SOURCE:-/usr/src/linux}
KERNEL_CONFIG=${KERNEL_CONFIG:-/usr/src/linux/.config}
BUILD=${BUILD:-1}
# The CONFIG_DEBUG_INFO_BTF_MODULES option adds a huge amount of debugging
# data to the modules which we don't actually need. We'll strip debugging
# information from kernel modules by default. If you are building a debug
# kernel and wish to retain this data, export the variable below set to "NO".
STRIP_DEBUG=${STRIP_DEBUG:-YES}
if [ ! -r "${KERNEL_CONFIG}" ]; then
echo "Error: the KERNEL_CONFIG environment variable needs to be set to the"
echo ".config file to be used to build these modules. Example:"
echo "KERNEL_SOURCE=/usr/src/linux KERNEL_CONFIG=./kernel-configs/config-generic-4.14.23 ./kernel-modules.SlackBuild"
exit 1
fi
if [ ! -d "${KERNEL_SOURCE}" ]; then
echo "Error: kernel source directory ${KERNEL_SOURCE} does not exist."
exit 1
fi
# Get the kernel version from the kernel Makefile:
VERSION=$(grep "^VERSION = " ${KERNEL_SOURCE}/Makefile | rev | cut -f 1 -d ' ' | rev).$(grep "^PATCHLEVEL = " ${KERNEL_SOURCE}/Makefile | rev | cut -f 1 -d ' ' | rev).$(grep "^SUBLEVEL = " ${KERNEL_SOURCE}/Makefile | rev | cut -f 1 -d ' ' | rev)$(grep "^EXTRAVERSION = " ${KERNEL_SOURCE}/Makefile | rev | cut -f 1 -d ' ' | rev)
# Set LOCALVERSION to the value found inside the .config:
LOCALVERSION="$(cat ${KERNEL_SOURCE}/.config 2> /dev/null | grep CONFIG_LOCALVERSION= | cut -f 2 -d = | tr -d \")"
# 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
# We will need to copy the config and run make oldconfig and make
# prepare in order to generate kernel/bounds.s, where we can find
# the true $PACKAGE_ARCH.
if [ ! "${KERNEL_CONFIG}" = "${KERNEL_SOURCE}/.config" ]; then
cp -a ${KERNEL_CONFIG} ${KERNEL_SOURCE}/.config
fi
cd ${KERNEL_SOURCE}
make oldconfig 1> /dev/null 2> /dev/null
make prepare 1> /dev/null 2> /dev/null
PACKAGE_ARCH=$(cat kernel/bounds.s | grep -w "\-march=.*" | tr " " "\n" | grep -w "\-march=.*" | cut -f 2 -d = | tr - _)
echo "kernel${KERNEL_NAME}-modules${LOCALVERSION}-$(echo ${VERSION} | tr - _)$(echo ${LOCALVERSION} | tr - _)-${PACKAGE_ARCH}-$BUILD.txz"
exit 0
fi
NUMJOBS=${NUMJOBS:-" -j$(expr $(nproc) + 1) "}
TMP=${TMP:-/tmp}
PKG=$TMP/package-kernel${KERNEL_NAME}-modules
rm -rf $PKG
mkdir -p $TMP $PKG
# Set the variable $KERNEL_CLEAN to anything to run "make clean" before the
# build. Default is to start compiling in the tree as we found it.
if [ ! -z "${KERNEL_CLEAN}" ]; then
( cd ${KERNEL_SOURCE}
echo "Cleaning kernel source (make clean)..."
make clean
# Make sure header files aren't missing...
make prepare
# Don't package the kernel in the sources:
find . -name "*Image" -exec rm "{}" \+
# No need for these:
rm -f .config.old .version
find . -name "*.cmd" -exec rm -f "{}" \+
rm .*.d
)
fi
# Copy the .config into the kernel source directory (unless it's there already)
if [ ! "${KERNEL_CONFIG}" = "${KERNEL_SOURCE}/.config" ]; then
echo "Copying the .config file to the kernel source tree:"
cp -a --verbose ${KERNEL_CONFIG} ${KERNEL_SOURCE}/.config
fi
( cd ${KERNEL_SOURCE}
echo "Running make oldconfig..."
make oldconfig
echo "Running a preliminary make (needed to create modules.builtin.modinfo)..."
make $NUMJOBS || exit 1
echo "Building kernel modules..."
make $NUMJOBS modules || exit 1
echo "Installing kernel modules to $PKG..."
make INSTALL_MOD_PATH=$PKG modules_install || exit 1
if [ "$STRIP_DEBUG" = "YES" ]; then
echo "Stripping debug info from kernel modules..."
find $PKG -name "*.ko" -exec strip --strip-debug "{}" \;
fi
# Fix build and source symlinks if they are pointing into $TMP:
( cd $PKG/lib/modules/${VERSION}${LOCALVERSION}
for symlink in build source ; do
target=$(readlink $symlink)
if echo $target | grep -q "^$TMP/package-kernel-source/" ; then
rm -f $symlink
ln -sf $(echo $target | sed "s|$TMP/package-kernel-source/|/|g") $symlink
fi
done
)
depmod -b $PKG -a ${VERSION}${LOCALVERSION}
) || exit 1
mkdir $PKG/install
cat $CWD/slack-desc/slack-desc.kernel-modules-template | sed "s/%PACKAGE_NAME%/kernel${KERNEL_NAME}-modules${LOCALVERSION}/g" > $PKG/install/slack-desc
# Fetch the kernel architecture from the source tree:
cd ${KERNEL_SOURCE}
PACKAGE_ARCH=$(cat kernel/bounds.s | grep -w "\-march=.*" | tr " " "\n" | grep -w "\-march=.*" | cut -f 2 -d = | tr - _)
# Make the package:
cd $PKG
/sbin/makepkg -l y -c n $TMP/kernel${KERNEL_NAME}-modules${LOCALVERSION}-$(echo ${VERSION} | tr - _)$(echo ${LOCALVERSION} | tr - _)-${PACKAGE_ARCH}-$BUILD.txz

View file

@ -0,0 +1,194 @@
#!/bin/sh
# Copyright 2018, 2020, 2021 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=${PKGNAM:-kernel-source}
BUILD=${BUILD:-1}
NUMJOBS=${NUMJOBS:-" -j$(expr $(nproc) + 1) "}
TMP=${TMP:-/tmp}
PKG=$TMP/package-$PKGNAM
# If CONFIG_PREEMPT=y and CONFIG_PREEMPT_DYNAMIC=y, then set a default preempt
# mode (none, voluntary, or full):
CONFIG_PREEMPT_DEFAULT_MODE=${CONFIG_PREEMPT_DEFAULT_MODE:-voluntary}
# If a $VERSION is not passed to this script, use the newest linux-*.tar.xz
# found in this directory:
VERSION=${VERSION:-$(/bin/ls -t linux-*.tar.?z | head -n 1 | rev | cut -f 3- -d . | cut -f 1 -d - | rev)}
if ! /bin/ls linux-*.tar.?z 1> /dev/null 2> /dev/null ; then
echo "Error: kernel source not found. (/bin/ls linux-*.tar.?z)"
fi
# Automatically determine the architecture we're building on:
if [ -z "$ARCH" ]; then
case "$(uname -m)" in
# Use uname -m for all archs:
*) ARCH=$(uname -m) ;;
esac
fi
# Kernel extraversion, such as "-smp" on 32-bit. There's usually no need to set
# this unless you're using something unusual. We use it to find which .config
# file to use, but we'll then use whatever CONFIG_LOCALVERSION is set to
# inside the .config.
LOCALVERSION=${LOCALVERSION:-""}
# If KERNEL_CONFIG (name of kernel .config file in ./kernel-configs to use)
# has not been passed to this script, then we will select one. We will prefer
# to use a generic, SMP-supporting .config with a version number exactly
# matching the kernel sources. But if there's no exact version match, we will
# start with the newest .config we can find that's of the appropriate type.
if [ -z "${KERNEL_CONFIG}" ]; then # figure out the best matching .config
if [ "$ARCH" = "x86_64" ]; then
CONFIG_SUFFIX=".x64"
fi
if [ -z "${LOCALVERSION}" ]; then
if echo $ARCH | grep -q -E "i?86$" ; then
# Default to SMP extraversion on 32-bit:
LOCALVERSION="-smp"
fi
fi
if [ -r "$CWD/kernel-configs/config-generic${LOCALVERSION}-${VERSION}$LOCALVERSION${CONFIG_SUFFIX}" ]; then
# Exact match!
KERNEL_CONFIG="config-generic${LOCALVERSION}-${VERSION}${LOCALVERSION}${CONFIG_SUFFIX}"
else # no exact match, so find newest with the same name:
FIND_MATCH="$(/bin/ls -t $CWD/kernel-configs/config-generic${LOCALVERSION}-*${LOCALVERSION}${CONFIG_SUFFIX} 2> /dev/null | head -n 1)"
if [ -r "${FIND_MATCH}" ]; then
KERNEL_CONFIG="$(basename ${FIND_MATCH})"
unset FIND_MATCH
else
echo "Error: no matching .config file could be found for this kernel. Tried:"
echo " $CWD/kernel-configs/config-generic${LOCALVERSION}-${VERSION}${LOCALVERSION}${CONFIG_SUFFIX} (not found)"
exit 1
fi
fi
else # We were given a name to use:
if [ ! -r "$CWD/kernel-configs/${KERNEL_CONFIG}" ]; then
echo "Error: specified kernel .config $CWD/kernel-configs/${KERNEL_CONFIG} was not found."
exit 1
fi
fi
# Set LOCALVERSION to the value found inside the .config:
LOCALVERSION="$(cat $CWD/kernel-configs/${KERNEL_CONFIG} | grep CONFIG_LOCALVERSION= | cut -f 2 -d = | tr -d \")"
# 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
# We will have to extract and patch the kernel sources to find out the kernel version:
TEMPDIR=$(mktemp -d)
cd $TEMPDIR
tar xf $CWD/linux-${VERSION}.tar.?z || exit 1
cd linux*
if [ -d $CWD/patches-${VERSION} ]; then
zcat $CWD/patches-${VERSION}/*.gz | patch -p1 --backup --suffix=.orig 1> /dev/null 2> /dev/null || exit 1
fi
PACKAGE_VERSION=$(grep "^VERSION = " Makefile | rev | cut -f 1 -d ' ' | rev).$(grep "^PATCHLEVEL = " Makefile | rev | cut -f 1 -d ' ' | rev).$(grep "^SUBLEVEL = " Makefile | rev | cut -f 1 -d ' ' | rev)$(grep "^EXTRAVERSION = " Makefile | rev | cut -f 1 -d ' ' | rev)
cd $CWD
rm -rf $TEMPDIR
echo "kernel-source-$(echo ${PACKAGE_VERSION} | tr - _)$(echo ${LOCALVERSION} | tr - _)-noarch-$BUILD.txz"
exit 0
fi
echo "Using kernel config: $CWD/kernel-configs/${KERNEL_CONFIG}"
rm -rf $PKG
mkdir -p $TMP $PKG
mkdir -p $PKG/usr/src
echo "Untarring $CWD/linux-${VERSION}.tar.?z in $PKG/usr/src..."
( cd $PKG/usr/src
tar xf $CWD/linux-${VERSION}.tar.?z || exit 1
echo "Making /usr/src/linux symlink..."
ln -sf linux-* linux
cd linux-*
if [ -d $CWD/patches-${VERSION} ]; then
echo "Applying kernel patches in $CWD/patches-${VERSION} and copying patches to $PKG/usr/src/linux-${VERSION}..."
zcat $CWD/patches-${VERSION}/*.gz | patch -p1 --verbose --backup --suffix=.orig || exit 1
cp -a $CWD/patches-${VERSION}/*.gz .
fi
echo "Copying $CWD/kernel-configs/${KERNEL_CONFIG} to .config..."
cp -a $CWD/kernel-configs/${KERNEL_CONFIG} .config
echo "Fixing permissions/ownership..."
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 {} \+
) || exit 1
# Kernel is now ready to configure. We will also build this kernel so that
# the installed kernel source package is fully configured, and building an
# out-of-tree module (such as the NVIDIA driver) won't require the user
# to build the kernel sources first.
( cd $PKG/usr/src/linux-${VERSION}
echo "Making oldconfig..."
make oldconfig
if [ ! -r $CWD/kernel-configs/config-generic${LOCALVERSION}-${VERSION}${LOCALVERSION}${CONFIG_SUFFIX} ]; then
echo "Saving new .config as: $CWD/kernel-configs/config-generic${LOCALVERSION}-${VERSION}${LOCALVERSION}${CONFIG_SUFFIX}"
cp -a .config $CWD/kernel-configs/config-generic${LOCALVERSION}-${VERSION}${LOCALVERSION}${CONFIG_SUFFIX}
fi
# If CONFIG_PREEMPT=y and CONFIG_PREEMPT_DYNAMIC=y, then set a default preempt
# mode (none, voluntary, or full):
if grep -wq CONFIG_PREEMPT=y .config ; then
if grep -wq CONFIG_PREEMPT_DYNAMIC=y .config ; then
# Sanity check:
if ! echo $CONFIG_PREEMPT_DEFAULT_MODE | grep -wq -e none -e voluntary -e full ; then
echo "ERROR: Invalid mode for CONFIG_PREEMPT_DEFAULT_MODE: $CONFIG_PREEMPT_DEFAULT_MODE"
exit 1
fi
echo "Setting default PREEMPT mode: $CONFIG_PREEMPT_DEFAULT_MODE"
sed -i "s/^int preempt_dynamic_mode = preempt_dynamic_full;$/int preempt_dynamic_mode = preempt_dynamic_$CONFIG_PREEMPT_DEFAULT_MODE;/g" kernel/sched/core.c
fi
fi
echo "Building kernel and modules (needed before clean for building NVIDIA to work)..."
make ${NUMJOBS} || exit 1
make ${NUMJOBS} modules || exit 1
echo "Cleaning up..."
make clean
# Make sure header files aren't missing...
make prepare
# Don't package the kernel in the sources:
find . -name "*Image" -exec rm "{}" \+
# No need for these:
rm -f .config.old .version
find . -name "*.cmd" -exec rm -f "{}" \+
rm .*.d
# Still some dotfiles laying around... probably fine though
) || exit 1
cd $PKG/usr/src/linux-${VERSION}
# Use the version number found in the Makefile in the package name. This is not
# always the same as the version in the source tarball's filename. For example,
# linux-4.14.tar.xz will have 4.14.0 as the version in the Makefile:
PACKAGE_VERSION=$(grep "^VERSION = " Makefile | rev | cut -f 1 -d ' ' | rev).$(grep "^PATCHLEVEL = " Makefile | rev | cut -f 1 -d ' ' | rev).$(grep "^SUBLEVEL = " Makefile | rev | cut -f 1 -d ' ' | rev)$(grep "^EXTRAVERSION = " Makefile | rev | cut -f 1 -d ' ' | rev)
mkdir $PKG/install
cat $CWD/slack-desc/slack-desc.kernel-source > $PKG/install/slack-desc
# Make the package:
cd $PKG
/sbin/makepkg -l y -c n $TMP/kernel-source-$(echo ${PACKAGE_VERSION} | tr - _)$(echo ${LOCALVERSION} | tr - _)-noarch-$BUILD.txz

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------------------------------------------------------|
kernel-generic-smp: kernel-generic-smp (a general purpose SMP Linux kernel)
kernel-generic-smp:
kernel-generic-smp: This is a Linux kernel with built-in support for most disk
kernel-generic-smp: controllers. To use filesystems, or to load support for a SCSI or
kernel-generic-smp: other controller, then you'll need to load one or more kernel
kernel-generic-smp: modules using an initial ramdisk, or initrd. For more information
kernel-generic-smp: about creating an initrd, see the README.initrd file in the /boot
kernel-generic-smp: directory.
kernel-generic-smp:
kernel-generic-smp: SMP is "Symmetric multiprocessing", or multiple CPU/core support.
kernel-generic-smp:

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------------------------------------------------------|
kernel-generic: kernel-generic (a general purpose single processor Linux kernel)
kernel-generic:
kernel-generic: A Linux kernel with built-in support for most disk controllers.
kernel-generic: For filesystem support, or if you need to load support for a SCSI or
kernel-generic: other controller, then you'll need to load one or more kernel modules
kernel-generic: using an initial ramdisk, or initrd. For more information about
kernel-generic: creating an initrd, see the README.initrd file in the /boot directory.
kernel-generic:
kernel-generic:
kernel-generic:
kernel-generic:

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------------------------------------------------------|
kernel-generic: kernel-generic (a general purpose SMP Linux kernel)
kernel-generic:
kernel-generic: This is a Linux kernel with built-in support for most disk
kernel-generic: controllers. To use filesystems, or to load support for a SCSI or
kernel-generic: other controller, then you'll need to load one or more kernel
kernel-generic: modules using an initial ramdisk, or initrd. For more information
kernel-generic: about creating an initrd, see the README.initrd file in the /boot
kernel-generic: directory.
kernel-generic:
kernel-generic: SMP is "Symmetric multiprocessing", or multiple CPU/core support.
kernel-generic:

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------------------------------------------------------|
kernel-headers: kernel-headers (Linux kernel include files)
kernel-headers:
kernel-headers: These are the include files from the Linux kernel.
kernel-headers:
kernel-headers: You'll need these to compile most system software for Linux.
kernel-headers:
kernel-headers:
kernel-headers:
kernel-headers:
kernel-headers:
kernel-headers:

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------------------------------------------------------|
kernel-huge-smp: kernel-huge-smp (a fully-loaded SMP Linux kernel)
kernel-huge-smp:
kernel-huge-smp: This is a Linux kernel with built-in support for most disk
kernel-huge-smp: controllers. If you're looking for a more stripped down kernel
kernel-huge-smp: (this one contains everything but the kitchen sink ;-), then install
kernel-huge-smp: the kernel-generic-smp in the /boot directory along with an initrd to
kernel-huge-smp: load support for your boot device and filesystem. For instructions
kernel-huge-smp: on the initrd, see README.initrd in the /boot directory.
kernel-huge-smp:
kernel-huge-smp: SMP is "Symmetric multiprocessing", or multiple CPU/core support.
kernel-huge-smp:

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------------------------------------------------------|
kernel-huge: kernel-huge (a fully-loaded single processor Linux kernel)
kernel-huge:
kernel-huge: This is a Linux kernel with built-in support for most disk controllers
kernel-huge: and filesystems. If you're looking for a more stripped down kernel
kernel-huge: (this one contains everything but the kitchen sink ;-), then install
kernel-huge: the kernel-generic from the /boot directory along with an initrd to
kernel-huge: load support for your boot device and filesystem. For instructions
kernel-huge: on the initrd, see README.initrd in the /boot directory.
kernel-huge:
kernel-huge:
kernel-huge:

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------------------------------------------------------|
kernel-huge: kernel-huge (a fully-loaded SMP Linux kernel)
kernel-huge:
kernel-huge: This is a Linux kernel with built-in support for most disk
kernel-huge: controllers. If you're looking for a more stripped down kernel
kernel-huge: (this one contains everything but the kitchen sink ;-), then install
kernel-huge: the kernel-generic in the /boot directory along with an initrd to
kernel-huge: load support for your boot device and filesystem. For instructions
kernel-huge: on the initrd, see README.initrd in the /boot directory.
kernel-huge:
kernel-huge: SMP is "Symmetric multiprocessing", or multiple CPU/core support.
kernel-huge:

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------------------------------------------------------|
%PACKAGE_NAME%: %PACKAGE_NAME% (Linux kernel modules)
%PACKAGE_NAME%:
%PACKAGE_NAME%: Kernel modules are pieces of code that can be loaded and unloaded into
%PACKAGE_NAME%: the kernel upon demand. They extend the functionality of the kernel
%PACKAGE_NAME%: without the need to reboot the system. These modules provide support
%PACKAGE_NAME%: for hardware such as USB devices, RAID controllers, network
%PACKAGE_NAME%: interfaces, and display devices, or add other additional capabilities
%PACKAGE_NAME%: to the kernel.
%PACKAGE_NAME%:
%PACKAGE_NAME%:
%PACKAGE_NAME%:

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------------------------------------------------------|
kernel-source: kernel-source (Linux kernel source)
kernel-source:
kernel-source: Source code for Linus Torvalds' Linux kernel.
kernel-source:
kernel-source: This is the complete and unmodified source code for the Linux kernel.
kernel-source:
kernel-source:
kernel-source:
kernel-source:
kernel-source:
kernel-source:

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------------------------------------------------------|
kernel-source: kernel-source (Linux kernel source)
kernel-source:
kernel-source: Source code for Linus Torvalds' Linux kernel.
kernel-source:
kernel-source: This is the complete and unmodified source code for the Linux kernel.
kernel-source:
kernel-source:
kernel-source:
kernel-source:
kernel-source:
kernel-source:

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------------------------------------------------------|
%PACKAGE_NAME%: %PACKAGE_NAME% (a Linux kernel)
%PACKAGE_NAME%:
%PACKAGE_NAME%: This is a Linux kernel with built-in support for most disk
%PACKAGE_NAME%: controllers. To use filesystems, or to load support for a SCSI or
%PACKAGE_NAME%: other controller, then you'll need to load one or more kernel
%PACKAGE_NAME%: modules using an initial ramdisk, or initrd. For more information
%PACKAGE_NAME%: about creating an initrd, see the README.initrd file in the /boot
%PACKAGE_NAME%: directory.
%PACKAGE_NAME%:
%PACKAGE_NAME%:
%PACKAGE_NAME%: