summaryrefslogtreecommitdiffstats
path: root/system
diff options
context:
space:
mode:
Diffstat (limited to 'system')
-rw-r--r--system/CPU-X/CPU-X.SlackBuild6
-rw-r--r--system/CPU-X/CPU-X.info6
-rw-r--r--system/CPU-X/README2
-rw-r--r--system/CPU-X/doinst.sh7
-rw-r--r--system/CPU-X/slack-desc2
-rw-r--r--system/I-Nex/I-Nex.SlackBuild5
-rw-r--r--system/I-Nex/I-Nex.info6
-rw-r--r--system/I-Nex/I-Nex_fix.patch23
-rw-r--r--system/Iosevka-slab/Iosevka-slab.SlackBuild64
-rw-r--r--system/Iosevka-slab/Iosevka-slab.info10
-rw-r--r--system/Iosevka-slab/LICENSE92
-rw-r--r--system/Iosevka-slab/README3
-rw-r--r--system/Iosevka-slab/doinst.sh10
-rw-r--r--system/Iosevka-slab/slack-desc19
-rw-r--r--system/Iosevka/Iosevka.SlackBuild15
-rw-r--r--system/Iosevka/Iosevka.info14
-rw-r--r--system/Iosevka/README10
-rw-r--r--system/Iosevka/doinst.sh12
-rw-r--r--system/Iosevka/slack-desc4
-rw-r--r--system/JetBrainsMono/JetBrainsMono.SlackBuild60
-rw-r--r--system/JetBrainsMono/JetBrainsMono.info10
-rw-r--r--system/JetBrainsMono/README15
-rw-r--r--system/JetBrainsMono/doinst.sh10
-rw-r--r--system/JetBrainsMono/slack-desc19
-rw-r--r--system/Sl/README24
-rw-r--r--system/Sl/README.upstream223
-rw-r--r--system/Sl/Sl.1110
-rw-r--r--system/Sl/Sl.SlackBuild52
-rw-r--r--system/Sl/Sl.info10
-rw-r--r--system/Sl/Sl.rst101
-rw-r--r--system/Sl/doinst.sh8
-rw-r--r--system/Sl/sl.tcl.example110
-rw-r--r--system/Sl/slack-desc19
-rw-r--r--system/Solaar/README26
-rw-r--r--system/Solaar/Solaar.SlackBuild78
-rw-r--r--system/Solaar/Solaar.info10
-rw-r--r--system/Solaar/doinst.sh (renamed from system/fs-uae-arcade/doinst.sh)0
-rw-r--r--system/Solaar/slack-desc19
-rw-r--r--system/ZoneMinder/ZoneMinder.info2
-rw-r--r--system/ack/ack.SlackBuild5
-rw-r--r--system/ack/ack.info6
-rw-r--r--system/acpi_call/acpi_call.SlackBuild1
-rw-r--r--system/acpi_call/fix-5.x-kernel.patch29
-rw-r--r--system/acpitool/acpitool.SlackBuild2
-rw-r--r--system/acpitool/acpitool.info4
-rw-r--r--system/adobe-source-sans-pro-font/adobe-source-sans-pro-font.SlackBuild30
-rw-r--r--system/adobe-source-sans-pro-font/adobe-source-sans-pro-font.info6
-rw-r--r--system/afio/README10
-rw-r--r--system/afio/afio.SlackBuild6
-rw-r--r--system/afio/afio.info8
-rw-r--r--system/agedu/agedu.SlackBuild5
-rw-r--r--system/agedu/agedu.info6
-rw-r--r--system/aha/aha.SlackBuild3
-rw-r--r--system/aha/aha.info6
-rw-r--r--system/aide/aide.SlackBuild4
-rw-r--r--system/aide/aide.info6
-rw-r--r--system/alacritty/6f4ad9bb4f82bfdc4d8aac883a65ddd8c6acd45d.patch.gzbin1215 -> 0 bytes
-rw-r--r--system/alacritty/alacritty.SlackBuild6
-rw-r--r--system/alacritty/alacritty.info800
-rw-r--r--system/anacron/anacron.info4
-rw-r--r--system/android-file-transfer/README8
-rw-r--r--system/android-file-transfer/android-file-transfer.SlackBuild10
-rw-r--r--system/android-file-transfer/android-file-transfer.info8
-rw-r--r--system/ansible/ansible.SlackBuild4
-rw-r--r--system/ansible/ansible.info6
-rw-r--r--system/apache-tomcat/apache-tomcat.SlackBuild4
-rw-r--r--system/apache-tomcat/apache-tomcat.info8
-rw-r--r--system/apg/README18
-rw-r--r--system/apg/apg.SlackBuild77
-rw-r--r--system/apg/apg.info10
-rw-r--r--system/apg/slack-desc19
-rw-r--r--system/apparmor/apparmor.SlackBuild13
-rw-r--r--system/apparmor/apparmor.info8
-rw-r--r--system/archivemount/README10
-rw-r--r--system/archivemount/archivemount.SlackBuild86
-rw-r--r--system/archivemount/archivemount.info10
-rw-r--r--system/archivemount/manpage.diff335
-rw-r--r--system/archivemount/slack-desc19
-rw-r--r--system/asbt/README.Slackware3
-rw-r--r--system/asbt/asbt.SlackBuild4
-rw-r--r--system/asbt/asbt.info6
-rw-r--r--system/atool/atool.SlackBuild2
-rw-r--r--system/atool/atool.info2
-rw-r--r--system/atop/142.patch47
-rw-r--r--system/atop/atop.SlackBuild6
-rw-r--r--system/atop/atop.info6
-rw-r--r--system/autojump/README32
-rw-r--r--system/autojump/autojump.SlackBuild6
-rw-r--r--system/autojump/autojump.info6
-rw-r--r--system/autoslackpkg/README55
-rw-r--r--system/autoslackpkg/autoslackpkg.SlackBuild79
-rw-r--r--system/autoslackpkg/autoslackpkg.info10
-rw-r--r--system/autoslackpkg/doinst.sh16
-rw-r--r--system/autoslackpkg/slack-desc (renamed from system/fs-uae-launcher/slack-desc)24
-rw-r--r--system/avfs/avfs.SlackBuild2
-rw-r--r--system/avfs/avfs.info6
-rw-r--r--system/babeltrace/slack-desc2
-rw-r--r--system/bacula-client/bacula-client.SlackBuild4
-rw-r--r--system/bacula-client/bacula-client.info6
-rw-r--r--system/bacula/README.SLACKWARE4
-rw-r--r--system/bacula/bacula.SlackBuild4
-rw-r--r--system/bacula/bacula.info6
-rw-r--r--system/bat/README1
-rw-r--r--system/bat/bat.SlackBuild154
-rw-r--r--system/bat/bat.info304
-rw-r--r--system/bat/slack-desc (renamed from system/slack-scripts/slack-desc)24
-rw-r--r--system/beebem/README7
-rw-r--r--system/beebem/beebem.SlackBuild116
-rw-r--r--system/beebem/beebem.desktop10
-rw-r--r--system/beebem/beebem.info16
-rw-r--r--system/beebem/doinst.sh3
-rw-r--r--system/beebem/slack-desc (renamed from system/fs-uae/slack-desc)22
-rw-r--r--system/bin2iso/bin2iso.SlackBuild20
-rw-r--r--system/bin2iso/bin2iso.info2
-rw-r--r--system/bindfs/README6
-rw-r--r--system/bindfs/bindfs.SlackBuild4
-rw-r--r--system/bindfs/bindfs.info6
-rw-r--r--system/binfmt-support/binfmt-support.SlackBuild4
-rw-r--r--system/binfmt-support/binfmt-support.info6
-rw-r--r--system/bitmapfont2ttf/README17
-rw-r--r--system/bitmapfont2ttf/bitmapfont2ttf.SlackBuild82
-rw-r--r--system/bitmapfont2ttf/bitmapfont2ttf.info10
-rw-r--r--system/bitmapfont2ttf/derive_pixel_size.diff13
-rw-r--r--system/bitmapfont2ttf/slack-desc19
-rw-r--r--system/bleachbit/bleachbit.SlackBuild11
-rw-r--r--system/bleachbit/bleachbit.info8
-rw-r--r--system/blktrace/blktrace.info4
-rw-r--r--system/bonnie++/bonnie++.SlackBuild6
-rw-r--r--system/bonnie++/bonnie++.info6
-rw-r--r--system/borgbackup/borgbackup.SlackBuild4
-rw-r--r--system/borgbackup/borgbackup.info6
-rw-r--r--system/btrbk/README4
-rw-r--r--system/btrbk/btrbk.SlackBuild4
-rw-r--r--system/btrbk/btrbk.info8
-rw-r--r--system/bubblewrap/bubblewrap.SlackBuild2
-rw-r--r--system/bubblewrap/bubblewrap.info6
-rw-r--r--system/ccd2cue/README5
-rw-r--r--system/ccd2cue/ccd2cue.SlackBuild82
-rw-r--r--system/ccd2cue/ccd2cue.info10
-rw-r--r--system/ccd2cue/slack-desc19
-rw-r--r--system/cdemu-client/cdemu-client.SlackBuild4
-rw-r--r--system/cdemu-client/cdemu-client.info6
-rw-r--r--system/cdemu-client/slack-desc6
-rw-r--r--system/cdemu-daemon/README4
-rw-r--r--system/cdemu-daemon/cdemu-daemon.SlackBuild4
-rw-r--r--system/cdemu-daemon/cdemu-daemon.info6
-rw-r--r--system/cfpeek/README7
-rw-r--r--system/cfpeek/cfpeek.SlackBuild (renamed from system/fs-uae/fs-uae.SlackBuild)51
-rw-r--r--system/cfpeek/cfpeek.info10
-rw-r--r--system/cfpeek/slack-desc19
-rw-r--r--system/chkrootkit/README29
-rw-r--r--system/chkrootkit/chkrootkit.SlackBuild6
-rw-r--r--system/chkrootkit/chkrootkit.info10
-rw-r--r--system/chronograf/README5
-rw-r--r--system/chronograf/chronograf.SlackBuild4
-rw-r--r--system/chronograf/chronograf.info10
-rw-r--r--system/ciopfs/README10
-rw-r--r--system/ciopfs/ciopfs.SlackBuild37
-rw-r--r--system/ciopfs/ciopfs.info4
-rw-r--r--system/ciopfs/ciopfs.txt138
-rw-r--r--system/ciopfs/slack-desc2
-rw-r--r--system/ck4up/README2
-rw-r--r--system/ck4up/ck4up.info2
-rw-r--r--system/ck4up/slack-desc2
-rw-r--r--system/clamav/clamav.SlackBuild10
-rw-r--r--system/clamav/clamav.info6
-rw-r--r--system/clamtk/README5
-rw-r--r--system/clamtk/clamtk.SlackBuild11
-rw-r--r--system/clamtk/clamtk.info8
-rw-r--r--system/clamtk/slack-desc2
-rw-r--r--system/cluster-glue/README4
-rw-r--r--system/cluster-glue/cluster-glue.SlackBuild4
-rw-r--r--system/cluster-glue/cluster-glue.info6
-rw-r--r--system/cluster-glue/slack-desc4
-rw-r--r--system/cnijfilter2/cnijfilter2.SlackBuild34
-rw-r--r--system/cnijfilter2/cnijfilter2.info8
-rw-r--r--system/cnijfilter2/slack-desc12
-rw-r--r--system/colorize/README6
-rw-r--r--system/colorize/colorize.SlackBuild66
-rw-r--r--system/colorize/colorize.info10
-rw-r--r--system/colorize/slack-desc19
-rw-r--r--system/compsize/README6
-rw-r--r--system/compsize/compsize.SlackBuild2
-rw-r--r--system/compsize/compsize.info6
-rw-r--r--system/conmon/slack-desc1
-rw-r--r--system/consolation/README4
-rw-r--r--system/consolation/consolation.SlackBuild102
-rw-r--r--system/consolation/consolation.info10
-rw-r--r--system/consolation/slack-desc19
-rw-r--r--system/conspy/README8
-rw-r--r--system/conspy/conspy.SlackBuild77
-rw-r--r--system/conspy/conspy.info10
-rw-r--r--system/conspy/slack-desc19
-rw-r--r--system/containerd/containerd.SlackBuild14
-rw-r--r--system/containerd/containerd.info6
-rw-r--r--system/coolkey/coolkey.info4
-rw-r--r--system/corosync/corosync.SlackBuild5
-rw-r--r--system/corosync/corosync.info10
-rw-r--r--system/cpmtools/README2
-rw-r--r--system/cpmtools/cpmtools.SlackBuild30
-rw-r--r--system/cpmtools/cpmtools.info6
-rw-r--r--system/cpuid2cpuflags/cpuid2cpuflags.SlackBuild6
-rw-r--r--system/cpuid2cpuflags/cpuid2cpuflags.info6
-rw-r--r--system/crc32_simple/README6
-rw-r--r--system/crc32_simple/crc32_simple.161
-rw-r--r--system/crc32_simple/crc32_simple.SlackBuild67
-rw-r--r--system/crc32_simple/crc32_simple.info10
-rw-r--r--system/crc32_simple/crc32_simple.rst44
-rw-r--r--system/crc32_simple/slack-desc19
-rw-r--r--system/createrepo_c/README16
-rw-r--r--system/createrepo_c/createrepo_c.SlackBuild104
-rw-r--r--system/createrepo_c/createrepo_c.info10
-rw-r--r--system/createrepo_c/slack-desc19
-rw-r--r--system/daa2iso/daa2iso.SlackBuild2
-rw-r--r--system/daa2iso/daa2iso.info2
-rw-r--r--system/daemontools-bin/slack-desc4
-rw-r--r--system/dash/dash.SlackBuild4
-rw-r--r--system/dash/dash.info6
-rw-r--r--system/dateutils/dateutils.SlackBuild4
-rw-r--r--system/dateutils/dateutils.info10
-rw-r--r--system/davfs2/davfs2.SlackBuild4
-rw-r--r--system/davfs2/davfs2.info6
-rw-r--r--system/ddrescue-gui/ddrescue-gui.SlackBuild2
-rw-r--r--system/ddrescue-gui/ddrescue-gui.info4
-rw-r--r--system/ded/ded.SlackBuild21
-rw-r--r--system/ded/ded.info10
-rw-r--r--system/ded/td_lib_no_write_usr.diff12
-rw-r--r--system/dfu-util/dfu-util.SlackBuild4
-rw-r--r--system/dfu-util/dfu-util.info6
-rw-r--r--system/dget/dget.SlackBuild4
-rw-r--r--system/dget/dget.info10
-rw-r--r--system/direvent/README11
-rw-r--r--system/direvent/direvent.SlackBuild106
-rw-r--r--system/direvent/direvent.info10
-rw-r--r--system/direvent/slack-desc19
-rw-r--r--system/disk-manager/disk-manager.desktop3
-rw-r--r--system/dlm/dlm.SlackBuild4
-rw-r--r--system/dlm/dlm.info6
-rw-r--r--system/dlm/patches/Check-sscanf-return-value.patch24
-rw-r--r--system/dlm/patches/Use-CPPFLAGS-from-the-environment.patch18
-rw-r--r--system/dlm/patches/series1
-rw-r--r--system/docker-cli/README1
-rw-r--r--system/docker-cli/docker-cli.SlackBuild88
-rw-r--r--system/docker-cli/docker-cli.info10
-rw-r--r--system/docker-cli/slack-desc19
-rw-r--r--system/docker-proxy/docker-proxy.SlackBuild6
-rw-r--r--system/docker-proxy/docker-proxy.info8
-rw-r--r--system/docker-proxy/slack-desc2
-rw-r--r--system/docker/docker.SlackBuild47
-rw-r--r--system/docker/docker.info8
-rw-r--r--system/docker/slack-desc2
-rw-r--r--system/dosbox-dev/dosbox-dev.SlackBuild4
-rw-r--r--system/dosbox-dev/dosbox-dev.info6
-rw-r--r--system/dosbox-x/dosbox-x.SlackBuild4
-rw-r--r--system/dosbox-x/dosbox-x.info6
-rw-r--r--system/drbd-utils/drbd-utils.SlackBuild4
-rw-r--r--system/drbd-utils/drbd-utils.info6
-rw-r--r--system/driconf/driconf.SlackBuild2
-rw-r--r--system/driconf/driconf.info2
-rw-r--r--system/dse-typewriter-font/README17
-rw-r--r--system/dse-typewriter-font/doinst.sh8
-rw-r--r--system/dse-typewriter-font/dse-typewriter-font.SlackBuild47
-rw-r--r--system/dse-typewriter-font/dse-typewriter-font.info10
-rw-r--r--system/dse-typewriter-font/git2tarxz.sh45
-rw-r--r--system/dse-typewriter-font/slack-desc19
-rw-r--r--system/dtrx/dtrx.SlackBuild7
-rw-r--r--system/dtrx/dtrx.info6
-rw-r--r--system/duplicity/duplicity.SlackBuild2
-rw-r--r--system/duplicity/duplicity.info8
-rw-r--r--system/duply/duply.SlackBuild2
-rw-r--r--system/duply/duply.info8
-rw-r--r--system/dust/README6
-rw-r--r--system/dust/dust.SlackBuild154
-rw-r--r--system/dust/dust.info128
-rw-r--r--system/dust/slack-desc19
-rw-r--r--system/early-ssh/early-ssh.SlackBuild5
-rw-r--r--system/entr/entr.SlackBuild10
-rw-r--r--system/entr/entr.info6
-rw-r--r--system/epson-inkjet-printer-escpr/README.models99
-rw-r--r--system/epson-inkjet-printer-escpr/epson-inkjet-printer-escpr.SlackBuild2
-rw-r--r--system/epson-inkjet-printer-escpr/epson-inkjet-printer-escpr.info6
-rw-r--r--system/epson-inkjet-printer-escpr2/README1
-rw-r--r--system/epson-inkjet-printer-escpr2/README.models61
-rw-r--r--system/epson-inkjet-printer-escpr2/doinst.sh6
-rw-r--r--system/epson-inkjet-printer-escpr2/epson-inkjet-printer-escpr2.SlackBuild12
-rw-r--r--system/epson-inkjet-printer-escpr2/epson-inkjet-printer-escpr2.info6
-rw-r--r--system/epson-inkjet-printer-escpr2/fixrm30
-rw-r--r--system/epson-printer-utility/LICENCE.html98
-rw-r--r--system/epson-printer-utility/README6
-rw-r--r--system/epson-printer-utility/README.models208
-rw-r--r--system/epson-printer-utility/doinst.sh37
-rw-r--r--system/epson-printer-utility/epson-printer-utility.SlackBuild248
-rw-r--r--system/epson-printer-utility/epson-printer-utility.desktop8
-rw-r--r--system/epson-printer-utility/epson-printer-utility.info10
-rw-r--r--system/epson-printer-utility/fixrm30
-rw-r--r--system/epson-printer-utility/rc.ecbd33
-rw-r--r--system/epson-printer-utility/slack-desc19
-rw-r--r--system/esekeyd/README26
-rw-r--r--system/esekeyd/config.snippet22
-rw-r--r--system/esekeyd/doinst.sh11
-rw-r--r--system/esekeyd/esekeyd.SlackBuild100
-rw-r--r--system/esekeyd/esekeyd.info10
-rw-r--r--system/esekeyd/keyboard_detection.diff101
-rw-r--r--system/esekeyd/slack-desc19
-rw-r--r--system/etsh/etsh.SlackBuild12
-rw-r--r--system/etsh/etsh.info12
-rw-r--r--system/evilvte/evilvte.SlackBuild2
-rw-r--r--system/evilvte/evilvte.info4
-rw-r--r--system/exa/exa.SlackBuild17
-rw-r--r--system/exa/exa.info180
-rw-r--r--system/execline/README26
-rw-r--r--system/execline/execline.SlackBuild33
-rw-r--r--system/execline/execline.info10
-rw-r--r--system/execline/slack-desc14
-rw-r--r--system/exomizer/exomizer.SlackBuild18
-rw-r--r--system/exomizer/exomizer.info6
-rw-r--r--system/extract-xiso/extract-xiso.SlackBuild2
-rw-r--r--system/extract-xiso/extract-xiso.info4
-rw-r--r--system/f2fs_tools/f2fs_tools.SlackBuild2
-rw-r--r--system/f2fs_tools/f2fs_tools.info6
-rw-r--r--system/fantasque-sans-mono/README2
-rw-r--r--system/fantasque-sans-mono/doinst.sh10
-rw-r--r--system/fantasque-sans-mono/fantasque-sans-mono.SlackBuild72
-rw-r--r--system/fantasque-sans-mono/fantasque-sans-mono.info10
-rw-r--r--system/fantasque-sans-mono/slack-desc19
-rw-r--r--system/fasd/slack-desc2
-rw-r--r--system/fatrace/fatrace.SlackBuild6
-rw-r--r--system/fatrace/fatrace.info6
-rw-r--r--system/fatsort/fatsort.SlackBuild39
-rw-r--r--system/fatsort/fatsort.info6
-rw-r--r--system/fcron/fcron.SlackBuild9
-rw-r--r--system/fd/fd.SlackBuild6
-rw-r--r--system/fd/fd.info178
-rw-r--r--system/fdclone/01_previous_changes.patch85
-rw-r--r--system/fdclone/30_makefilein_setting.patch53
-rw-r--r--system/fdclone/README12
-rw-r--r--system/fdclone/doinst.sh22
-rw-r--r--system/fdclone/fd2rc613
-rw-r--r--system/fdclone/fdclone.SlackBuild122
-rw-r--r--system/fdclone/fdclone.info10
-rw-r--r--system/fdclone/slack-desc19
-rw-r--r--system/fence-agents/README4
-rw-r--r--system/fence-agents/fence-agents.SlackBuild2
-rw-r--r--system/fence-agents/fence-agents.info8
-rw-r--r--system/fence-agents/slack-desc4
-rw-r--r--system/filerunner/README12
-rw-r--r--system/filerunner/doinst.sh14
-rw-r--r--system/filerunner/filerunner.SlackBuild114
-rw-r--r--system/filerunner/filerunner.info10
-rw-r--r--system/filerunner/slack-desc19
-rw-r--r--system/fio/fio.SlackBuild4
-rw-r--r--system/fio/fio.info6
-rw-r--r--system/firejail/firejail.SlackBuild6
-rw-r--r--system/firejail/firejail.info6
-rw-r--r--system/firetools/firetools.SlackBuild5
-rw-r--r--system/firetools/firetools.info8
-rw-r--r--system/fish/README23
-rw-r--r--system/fish/fish.SlackBuild68
-rw-r--r--system/fish/fish.info12
-rw-r--r--system/fish/slack-desc2
-rw-r--r--system/flashcards/fixes.diff24
-rw-r--r--system/flashcards/flashcards.SlackBuild6
-rw-r--r--system/forkstat/forkstat.SlackBuild4
-rw-r--r--system/forkstat/forkstat.info10
-rw-r--r--system/fs-uae-arcade/README1
-rw-r--r--system/fs-uae-arcade/fs-uae-arcade.SlackBuild86
-rw-r--r--system/fs-uae-arcade/fs-uae-arcade.info10
-rw-r--r--system/fs-uae-launcher/README1
-rw-r--r--system/fs-uae-launcher/fs-uae-launcher.SlackBuild86
-rw-r--r--system/fs-uae-launcher/fs-uae-launcher.info10
-rw-r--r--system/fs-uae/README4
-rw-r--r--system/fs-uae/fs-uae.info10
-rw-r--r--system/fswatch/slack-desc4
-rw-r--r--system/ft2demos/README26
-rw-r--r--system/ft2demos/ft2demos.SlackBuild158
-rw-r--r--system/ft2demos/ft2demos.info16
-rw-r--r--system/ft2demos/slack-desc19
-rw-r--r--system/fuse-overlayfs/fuse-overlayfs.info2
-rw-r--r--system/fuse3/README5
-rw-r--r--system/fuse3/fuse3.SlackBuild18
-rw-r--r--system/fuse3/fuse3.info8
-rw-r--r--system/fwupd/README2
-rw-r--r--system/fwupd/doinst.sh7
-rw-r--r--system/fwupd/fwupd.SlackBuild14
-rw-r--r--system/fwupd/fwupd.info6
-rw-r--r--system/fzf/fzf.SlackBuild35
-rw-r--r--system/fzf/fzf.info50
-rw-r--r--system/gcdemu/gcdemu.SlackBuild6
-rw-r--r--system/gcdemu/gcdemu.info6
-rw-r--r--system/gigolo/gigolo.SlackBuild2
-rw-r--r--system/gksu/gksu.info4
-rw-r--r--system/glances/README10
-rw-r--r--system/glances/glances.SlackBuild4
-rw-r--r--system/glances/glances.info6
-rw-r--r--system/gnu-unifont/README21
-rw-r--r--system/gnu-unifont/gnu-unifont.SlackBuild18
-rw-r--r--system/gnu-unifont/gnu-unifont.info6
-rw-r--r--system/gnu-unifont/slack-desc2
-rw-r--r--system/goaccess/README19
-rw-r--r--system/goaccess/goaccess.SlackBuild21
-rw-r--r--system/goaccess/goaccess.info10
-rw-r--r--system/grub4dos/grub4dos.info4
-rw-r--r--system/guake/doinst.sh12
-rw-r--r--system/guake/guake-3.7.0-fix-paths.patch22
-rw-r--r--system/guake/guake.SlackBuild49
-rw-r--r--system/guake/guake.info12
-rw-r--r--system/hddtemp/README20
-rw-r--r--system/hddtemp/README.Slackware27
-rw-r--r--system/hddtemp/doinst.sh1
-rw-r--r--system/hddtemp/hddtemp.SlackBuild44
-rw-r--r--system/hddtemp/hddtemp.info6
-rw-r--r--system/hddtemp/rc.hddtemp.new102
-rw-r--r--system/hddtemp/slack-desc10
-rw-r--r--system/heartbeat/README13
-rw-r--r--system/heartbeat/doinst.sh27
-rw-r--r--system/heartbeat/heartbeat.SlackBuild121
-rw-r--r--system/heartbeat/heartbeat.info10
-rw-r--r--system/heartbeat/slack-desc19
-rw-r--r--system/hexec/README12
-rw-r--r--system/hexec/hexec.SlackBuild82
-rw-r--r--system/hexec/hexec.info10
-rw-r--r--system/hexec/slack-desc (renamed from system/isdct/slack-desc)22
-rw-r--r--system/hstr/hstr.SlackBuild4
-rw-r--r--system/hstr/hstr.info6
-rw-r--r--system/hwinfo/hwinfo.SlackBuild2
-rw-r--r--system/hwinfo/hwinfo.info6
-rw-r--r--system/hwloc/hwloc.SlackBuild5
-rw-r--r--system/hwloc/hwloc.info8
-rw-r--r--system/ifuse/ifuse.SlackBuild20
-rw-r--r--system/ifuse/ifuse.info6
-rw-r--r--system/image-analyzer/image-analyzer.SlackBuild4
-rw-r--r--system/image-analyzer/image-analyzer.info10
-rw-r--r--system/imwheel/imwheel.SlackBuild2
-rw-r--r--system/imwheel/imwheel.info2
-rw-r--r--system/info2man/README2
-rw-r--r--system/info2man/flush.pl32
-rw-r--r--system/info2man/info2man.SlackBuild45
-rw-r--r--system/info2man/info2man.info8
-rw-r--r--system/info2man/slack-desc2
-rw-r--r--system/intel-microcode/README17
-rw-r--r--system/intel-microcode/intel-microcode.SlackBuild8
-rw-r--r--system/intel-microcode/intel-microcode.info8
-rw-r--r--system/intelmas/README13
-rw-r--r--system/intelmas/intelmas.SlackBuild (renamed from system/isdct/isdct.SlackBuild)14
-rw-r--r--system/intelmas/intelmas.info10
-rw-r--r--system/intelmas/slack-desc19
-rw-r--r--system/inxi/inxi.SlackBuild2
-rw-r--r--system/inxi/inxi.info6
-rw-r--r--system/ipmitool/ipmitool-openssl-1.1.patch88
-rw-r--r--system/ipmitool/ipmitool.SlackBuild22
-rw-r--r--system/ipmitool/ipmitool.info10
-rw-r--r--system/irqbalance/irqbalance.SlackBuild4
-rw-r--r--system/irqbalance/irqbalance.info6
-rw-r--r--system/isdct/README11
-rw-r--r--system/isdct/isdct.info10
-rw-r--r--system/isextract/README10
-rw-r--r--system/isextract/fix_output_formatting.diff12
-rw-r--r--system/isextract/git2tarxz.sh44
-rw-r--r--system/isextract/isextract.197
-rw-r--r--system/isextract/isextract.SlackBuild72
-rw-r--r--system/isextract/isextract.info10
-rw-r--r--system/isextract/isextract.rst74
-rw-r--r--system/isextract/slack-desc19
-rw-r--r--system/isight-firmware-tools/isight-firmware-tools.info4
-rw-r--r--system/jdupes/jdupes.SlackBuild3
-rw-r--r--system/jdupes/jdupes.info6
-rw-r--r--system/jenkins/README8
-rw-r--r--system/jenkins/files/jenkins.conf6
-rw-r--r--system/jenkins/files/jenkinsd.sh12
-rw-r--r--system/jenkins/jenkins.SlackBuild3
-rw-r--r--system/jenkins/jenkins.info12
-rw-r--r--system/john/README13
-rw-r--r--system/john/john.SlackBuild9
-rw-r--r--system/john/john.info8
-rw-r--r--system/joyce/joyce.SlackBuild9
-rw-r--r--system/joyce/joyce.info6
-rw-r--r--system/jsawk/jsawk.SlackBuild9
-rw-r--r--system/kapacitor/kapacitor.SlackBuild4
-rw-r--r--system/kapacitor/kapacitor.info12
-rw-r--r--system/kbfs/kbfs.SlackBuild6
-rw-r--r--system/kbfs/kbfs.info10
-rw-r--r--system/kegs/README.Slackware35
-rw-r--r--system/kegs/allow_sound_open_fail.diff15
-rw-r--r--system/kegs/allow_window_close.diff63
-rw-r--r--system/kegs/config.kegs.default2
-rw-r--r--system/kegs/doinst.sh6
-rw-r--r--system/kegs/icons/128.png (renamed from system/kegs/kegs.png)bin40005 -> 40005 bytes
-rw-r--r--system/kegs/icons/16.pngbin0 -> 941 bytes
-rw-r--r--system/kegs/icons/32.pngbin0 -> 3067 bytes
-rw-r--r--system/kegs/icons/48.pngbin0 -> 6483 bytes
-rw-r--r--system/kegs/kegs.SlackBuild100
-rw-r--r--system/kegs/kegs.desktop4
-rw-r--r--system/kegs/kegs.info8
-rw-r--r--system/kegs/makevars/vars.alsa7
-rw-r--r--system/kegs/makevars/vars.oss7
-rw-r--r--system/kegs/makevars/vars.pulse7
-rw-r--r--system/kegs/man/partls.1 (renamed from system/kegs/partls.1)0
-rw-r--r--system/kegs/man/to_pro.1 (renamed from system/kegs/to_pro.1)0
-rw-r--r--system/kegs/man/xkegs.1 (renamed from system/kegs/xkegs.1)3
-rw-r--r--system/kegs/slack-desc2
-rw-r--r--system/kegs/xkegs.sh7
-rw-r--r--system/kexec-tools/kexec-tools.SlackBuild2
-rw-r--r--system/kexec-tools/kexec-tools.info6
-rw-r--r--system/keybase/keybase.SlackBuild4
-rw-r--r--system/keybase/keybase.info6
-rw-r--r--system/kfc/README4
-rw-r--r--system/kfc/kfc.192
-rw-r--r--system/kfc/kfc.SlackBuild71
-rw-r--r--system/kfc/kfc.info10
-rw-r--r--system/kfc/kfc.rst68
-rw-r--r--system/kfc/slack-desc19
-rw-r--r--system/kitchen-sync/kitchen-sync.SlackBuild6
-rw-r--r--system/kitchen-sync/kitchen-sync.info6
-rw-r--r--system/kitty/README14
-rw-r--r--system/kitty/doinst.sh (renamed from system/fs-uae/doinst.sh)3
-rw-r--r--system/kitty/kitty.SlackBuild99
-rw-r--r--system/kitty/kitty.info10
-rw-r--r--system/kitty/slack-desc19
-rw-r--r--system/komparator4/komparator4.info4
-rw-r--r--system/laptop-mode-tools/laptop-mode-tools.SlackBuild2
-rw-r--r--system/laptop-mode-tools/laptop-mode-tools.info6
-rw-r--r--system/lbench/lbench.info2
-rw-r--r--system/lddsafe/README6
-rw-r--r--system/lddsafe/lddsafe.166
-rw-r--r--system/lddsafe/lddsafe.SlackBuild38
-rw-r--r--system/lddsafe/lddsafe.info12
-rw-r--r--system/lddsafe/lddsafe.rst52
-rw-r--r--system/lddsafe/slack-desc19
-rw-r--r--system/letsencrypt/README2
-rw-r--r--system/letsencrypt/letsencrypt.SlackBuild14
-rw-r--r--system/letsencrypt/letsencrypt.info8
-rw-r--r--system/libsignal-protocol-c/README2
-rw-r--r--system/libsignal-protocol-c/libsignal-protocol-c.SlackBuild99
-rw-r--r--system/libsignal-protocol-c/libsignal-protocol-c.info10
-rw-r--r--system/libsignal-protocol-c/slack-desc19
-rw-r--r--system/libtrash/README6
-rw-r--r--system/libtrash/libtrash.SlackBuild92
-rw-r--r--system/libtrash/libtrash.info10
-rw-r--r--system/libtrash/slack-desc19
-rw-r--r--system/linux-vt-setcolors/README8
-rw-r--r--system/linux-vt-setcolors/linux-vt-setcolors.SlackBuild76
-rw-r--r--system/linux-vt-setcolors/linux-vt-setcolors.info10
-rw-r--r--system/linux-vt-setcolors/slack-desc19
-rw-r--r--system/linuxconsoletools/README4
-rw-r--r--system/linuxconsoletools/linuxconsoletools.SlackBuild13
-rw-r--r--system/linuxconsoletools/linuxconsoletools.info6
-rw-r--r--system/lirc/lirc.SlackBuild4
-rw-r--r--system/lirc/lirc.info2
-rw-r--r--system/listpkg/listpkg.SlackBuild2
-rw-r--r--system/listpkg/listpkg.info6
-rw-r--r--system/lnav/lnav.SlackBuild2
-rw-r--r--system/lnav/lnav.info6
-rw-r--r--system/local-persist/slack-desc12
-rw-r--r--system/localepurge/localepurge.SlackBuild8
-rw-r--r--system/localepurge/localepurge.info6
-rw-r--r--system/logtool/logtool.SlackBuild2
-rw-r--r--system/logtool/logtool.info4
-rw-r--r--system/logwatch/README6
-rw-r--r--system/logwatch/logwatch.SlackBuild4
-rw-r--r--system/logwatch/logwatch.info8
-rw-r--r--system/logwatch/slack-desc10
-rw-r--r--system/loksh/loksh.SlackBuild46
-rw-r--r--system/loksh/loksh.info8
-rw-r--r--system/lolcat/README5
-rw-r--r--system/lolcat/lolcat.SlackBuild87
-rw-r--r--system/lolcat/lolcat.info10
-rw-r--r--system/lolcat/slack-desc19
-rw-r--r--system/lomoco/lomoco.SlackBuild2
-rw-r--r--system/lomoco/lomoco.info2
-rw-r--r--system/lshw/README32
-rw-r--r--system/lshw/lshw.SlackBuild59
-rw-r--r--system/lshw/lshw.info8
-rw-r--r--system/lv/README17
-rw-r--r--system/lv/lv.SlackBuild119
-rw-r--r--system/lv/lv.info12
-rw-r--r--system/lv/patches/change-maximum-height-to-144.patch17
-rw-r--r--system/lv/patches/fix_implicit_decls.diff41
-rw-r--r--system/lv/patches/makefile.diff53
-rw-r--r--system/lv/patches/man_typos.diff65
-rw-r--r--system/lv/patches/no_inline.diff19
-rw-r--r--system/lv/patches/series6
-rw-r--r--system/lv/patches/shows-the-filename-only.diff25
-rw-r--r--system/lv/slack-desc19
-rw-r--r--system/lxsession/lxsession.SlackBuild4
-rw-r--r--system/lxsession/lxsession.info6
-rw-r--r--system/lxtask/lxtask.SlackBuild4
-rw-r--r--system/lxtask/lxtask.info6
-rw-r--r--system/lxterminal/lxterminal.SlackBuild6
-rw-r--r--system/lxterminal/lxterminal.info6
-rw-r--r--system/lynis/lynis.SlackBuild4
-rw-r--r--system/lynis/lynis.info6
-rw-r--r--system/lz4/lz4.SlackBuild15
-rw-r--r--system/lz4/lz4.info6
-rw-r--r--system/lzop/README13
-rw-r--r--system/lzop/lzop.SlackBuild26
-rw-r--r--system/lzop/lzop.info4
-rw-r--r--system/lzop/slack-desc4
-rw-r--r--system/magiic/README15
-rw-r--r--system/magiic/magiic.SlackBuild (renamed from system/slack-scripts/slack-scripts.SlackBuild)16
-rw-r--r--system/magiic/magiic.info10
-rw-r--r--system/magiic/slack-desc19
-rw-r--r--system/mailfromd/mailfromd.SlackBuild4
-rw-r--r--system/mailfromd/mailfromd.info6
-rw-r--r--system/mailutils/mailutils.SlackBuild4
-rw-r--r--system/mailutils/mailutils.info6
-rw-r--r--system/makeself/makeself.SlackBuild10
-rw-r--r--system/makeself/makeself.info10
-rw-r--r--system/man-db/README13
-rw-r--r--system/man-db/man-db.SlackBuild35
-rw-r--r--system/man-db/man-db.info10
-rw-r--r--system/man-pages-ja/man-pages-ja.SlackBuild9
-rw-r--r--system/man-pages-ja/man-pages-ja.info6
-rw-r--r--system/man-pages-ru/README11
-rw-r--r--system/man-pages-ru/man-pages-ru.SlackBuild33
-rw-r--r--system/man-pages-ru/man-pages-ru.info12
-rw-r--r--system/man-pages-ru/slack-desc10
-rw-r--r--system/maxcso/maxcso.SlackBuild4
-rw-r--r--system/maxcso/maxcso.info6
-rw-r--r--system/md5deep/md5deep.SlackBuild10
-rw-r--r--system/md5deep/md5deep.info2
-rw-r--r--system/mdf2iso/README2
-rw-r--r--system/megacli/README6
-rw-r--r--system/megacli/megacli.SlackBuild84
-rw-r--r--system/megacli/megacli.info10
-rw-r--r--system/megacli/slack-desc19
-rw-r--r--system/memtester/README23
-rw-r--r--system/memtester/memtester.SlackBuild78
-rw-r--r--system/memtester/memtester.info12
-rw-r--r--system/memtester/slack-desc19
-rw-r--r--system/mjpg-streamer/mjpg-streamer.SlackBuild2
-rw-r--r--system/mjpg-streamer/mjpg-streamer.info2
-rw-r--r--system/mksh/README3
-rw-r--r--system/mksh/mksh.SlackBuild19
-rw-r--r--system/mksh/mksh.info6
-rw-r--r--system/mkslack/ChangeLog.txt182
-rw-r--r--system/mkslack/README76
-rw-r--r--system/mkslack/mkslack.SlackBuild36
-rw-r--r--system/mkslack/mkslack.info12
-rw-r--r--system/mkslack/slack-desc22
-rw-r--r--system/mktorrent/mktorrent.info4
-rw-r--r--system/mlocate/README31
-rw-r--r--system/mlocate/doinst.sh24
-rw-r--r--system/mlocate/mlocate-run-updatedb4
-rw-r--r--system/mlocate/mlocate.SlackBuild120
-rw-r--r--system/mlocate/mlocate.cron2
-rw-r--r--system/mlocate/mlocate.info10
-rw-r--r--system/mlocate/slack-desc19
-rw-r--r--system/mlocate/updatedb.conf.new4
-rw-r--r--system/mlterm/mlterm.SlackBuild4
-rw-r--r--system/mlterm/mlterm.info6
-rw-r--r--system/mmv/README10
-rw-r--r--system/mmv/compilefix.diff15
-rw-r--r--system/mmv/mmv.SlackBuild93
-rw-r--r--system/mmv/mmv.info12
-rw-r--r--system/mmv/slack-desc19
-rw-r--r--system/modules/README18
-rw-r--r--system/modules/modules.SlackBuild6
-rw-r--r--system/modules/modules.info8
-rw-r--r--system/monitorix/README24
-rw-r--r--system/monitorix/monitorix.SlackBuild3
-rw-r--r--system/monitorix/monitorix.info12
-rw-r--r--system/motion/motion.SlackBuild9
-rw-r--r--system/motion/motion.info8
-rw-r--r--system/mpack/mpack.SlackBuild12
-rw-r--r--system/mpack/mpack.info6
-rw-r--r--system/mpack/mpack.patch (renamed from system/mpack/mpack.diff)0
-rw-r--r--system/mpich/mpich.SlackBuild5
-rw-r--r--system/mpich/mpich.info6
-rw-r--r--system/musl/README5
-rw-r--r--system/musl/musl.SlackBuild3
-rw-r--r--system/musl/musl.info12
-rw-r--r--system/musl/slack-desc2
-rw-r--r--system/ncdu/ncdu.SlackBuild4
-rw-r--r--system/ncdu/ncdu.info6
-rw-r--r--system/netdata/netdata.SlackBuild6
-rw-r--r--system/netdata/netdata.info8
-rw-r--r--system/newLd/newLd.SlackBuild84
-rw-r--r--system/nmtree/README7
-rw-r--r--system/nmtree/nmtree.SlackBuild114
-rw-r--r--system/nmtree/nmtree.info10
-rw-r--r--system/nmtree/slack-desc19
-rw-r--r--system/nnn/nnn.SlackBuild4
-rw-r--r--system/nnn/nnn.info6
-rw-r--r--system/nologind/slack-desc2
-rw-r--r--system/noto-emoji/noto-emoji.SlackBuild7
-rw-r--r--system/noto-emoji/noto-emoji.info6
-rw-r--r--system/numactl/numactl.SlackBuild2
-rw-r--r--system/numactl/numactl.info6
-rw-r--r--system/nvidia-driver/README74
-rw-r--r--system/nvidia-driver/README.nvidia-persistenced33
-rw-r--r--system/nvidia-driver/changelog.txt48
-rw-r--r--system/nvidia-driver/nvidia-driver.SlackBuild189
-rw-r--r--system/nvidia-driver/nvidia-driver.info30
-rw-r--r--system/nvidia-driver/nvidia-switch89
-rw-r--r--system/nvidia-driver/rc.nvidia-persistenced61
-rw-r--r--system/nvidia-driver/skip_conflict-GPU_detect.patch52
-rw-r--r--system/nvidia-driver/slack-desc4
-rw-r--r--system/nvidia-kernel/README14
-rw-r--r--system/nvidia-kernel/nvidia-kernel.SlackBuild7
-rw-r--r--system/nvidia-kernel/nvidia-kernel.info10
-rw-r--r--system/nvidia-legacy304-driver/nvidia-legacy304-driver.info4
-rw-r--r--system/nvidia-legacy304-kernel/nvidia-legacy304-kernel.info4
-rw-r--r--system/nvidia-legacy340-driver/README12
-rw-r--r--system/nvidia-legacy340-driver/changelog.txt3
-rw-r--r--system/nvidia-legacy340-driver/nvidia-legacy340-driver.SlackBuild29
-rw-r--r--system/nvidia-legacy340-driver/nvidia-legacy340-driver.info46
-rw-r--r--system/nvidia-legacy340-driver/nvidia-switch21
-rw-r--r--system/nvidia-legacy340-kernel/kernel-4.4.168.patch67
-rw-r--r--system/nvidia-legacy340-kernel/nvidia-legacy340-kernel.SlackBuild6
-rw-r--r--system/nvidia-legacy340-kernel/nvidia-legacy340-kernel.info14
-rw-r--r--system/nvidia-legacy390-driver/README79
-rw-r--r--system/nvidia-legacy390-driver/README.nvidia-persistenced32
-rw-r--r--system/nvidia-legacy390-driver/changelog.txt42
-rw-r--r--system/nvidia-legacy390-driver/doinst.sh2
-rw-r--r--system/nvidia-legacy390-driver/nvidia-legacy390-driver.SlackBuild228
-rw-r--r--system/nvidia-legacy390-driver/nvidia-legacy390-driver.info54
-rw-r--r--system/nvidia-legacy390-driver/nvidia-switch186
-rw-r--r--system/nvidia-legacy390-driver/rc.nvidia-persistenced61
-rw-r--r--system/nvidia-legacy390-driver/slack-desc2
-rw-r--r--system/nvidia-legacy390-kernel/README17
-rw-r--r--system/nvidia-legacy390-kernel/nvidia-legacy390-kernel.SlackBuild4
-rw-r--r--system/nvidia-legacy390-kernel/nvidia-legacy390-kernel.info14
-rw-r--r--system/nvme-cli/nvme-cli.SlackBuild19
-rw-r--r--system/nvme-cli/nvme-cli.info6
-rw-r--r--system/oksh/README1
-rw-r--r--system/oksh/doinst.sh8
-rw-r--r--system/oksh/oksh.SlackBuild100
-rw-r--r--system/oksh/oksh.info10
-rw-r--r--system/oksh/slack-desc19
-rw-r--r--system/oldschool-pc-fonts/README16
-rw-r--r--system/oldschool-pc-fonts/doinst.sh4
-rw-r--r--system/oldschool-pc-fonts/oldschool-pc-fonts.SlackBuild47
-rw-r--r--system/oldschool-pc-fonts/oldschool-pc-fonts.info6
-rw-r--r--system/oldschool-pc-fonts/slack-desc4
-rw-r--r--system/opendoas/README67
-rw-r--r--system/opendoas/doinst.sh14
-rw-r--r--system/opendoas/opendoas.SlackBuild136
-rw-r--r--system/opendoas/opendoas.info10
-rw-r--r--system/opendoas/slack-desc19
-rw-r--r--system/openmpi/openmpi.SlackBuild4
-rw-r--r--system/openmpi/openmpi.info6
-rw-r--r--system/openrc-services/README.Slackware5
-rw-r--r--system/openrc-services/slack-desc2
-rw-r--r--system/opensc/opensc.SlackBuild13
-rw-r--r--system/opensc/opensc.info10
-rw-r--r--system/openstego/README3
-rw-r--r--system/openstego/openstego.SlackBuild8
-rw-r--r--system/openstego/openstego.info6
-rw-r--r--system/osinfo-db-tools/osinfo-db-tools.SlackBuild34
-rw-r--r--system/osinfo-db-tools/osinfo-db-tools.info8
-rw-r--r--system/osinfo-db/osinfo-db.SlackBuild4
-rw-r--r--system/osinfo-db/osinfo-db.info6
-rw-r--r--system/osquery-bin/README4
-rw-r--r--system/osquery-bin/doinst.sh22
-rw-r--r--system/osquery-bin/osquery-bin.SlackBuild95
-rw-r--r--system/osquery-bin/osquery-bin.info10
-rw-r--r--system/osquery-bin/slack-desc19
-rw-r--r--system/ossec-agent/README9
-rw-r--r--system/ossec-agent/ossec-agent.SlackBuild23
-rw-r--r--system/ossec-agent/ossec-agent.info8
-rw-r--r--system/ossec-local/README9
-rw-r--r--system/ossec-local/ossec-local.SlackBuild23
-rw-r--r--system/ossec-local/ossec-local.info8
-rw-r--r--system/ossec-server/README9
-rw-r--r--system/ossec-server/ossec-server.SlackBuild23
-rw-r--r--system/ossec-server/ossec-server.info8
-rw-r--r--system/ostree/ostree.SlackBuild2
-rw-r--r--system/ostree/ostree.info6
-rw-r--r--system/otf2bdf/otf2bdf.info2
-rw-r--r--system/pacemaker/pacemaker.SlackBuild5
-rw-r--r--system/pacemaker/pacemaker.info10
-rw-r--r--system/parallel/parallel.SlackBuild6
-rw-r--r--system/parallel/parallel.info12
-rw-r--r--system/pass-otp/README2
-rw-r--r--system/pass-otp/pass-otp.SlackBuild65
-rw-r--r--system/pass-otp/pass-otp.info10
-rw-r--r--system/pass-otp/slack-desc19
-rw-r--r--system/passwdqc/passwdqc.SlackBuild2
-rw-r--r--system/passwdqc/passwdqc.info6
-rw-r--r--system/password-store/password-store.SlackBuild2
-rw-r--r--system/passwordsafe/README20
-rw-r--r--system/passwordsafe/passwordsafe.SlackBuild4
-rw-r--r--system/passwordsafe/passwordsafe.info8
-rw-r--r--system/pax/pax.SlackBuild54
-rw-r--r--system/pax/pax.info6
-rw-r--r--system/pce/pce.SlackBuild5
-rw-r--r--system/pcf2bdf/README5
-rw-r--r--system/pcf2bdf/pcf2bdf.SlackBuild72
-rw-r--r--system/pcf2bdf/pcf2bdf.info10
-rw-r--r--system/pcf2bdf/slack-desc19
-rw-r--r--system/pcmanfm/patches/0001-avoid-undefined-isdigit-behaviour.patch54
-rw-r--r--system/pcmanfm/pcmanfm.SlackBuild7
-rw-r--r--system/pcmanfm/pcmanfm.info6
-rw-r--r--system/pcsc-lite/pcsc-lite.SlackBuild22
-rw-r--r--system/pcsc-lite/pcsc-lite.info10
-rw-r--r--system/ph/README6
-rw-r--r--system/ph/ph.SlackBuild79
-rw-r--r--system/ph/ph.info10
-rw-r--r--system/ph/slack-desc19
-rw-r--r--system/phoronix-test-suite/phoronix-test-suite.SlackBuild4
-rw-r--r--system/phoronix-test-suite/phoronix-test-suite.info6
-rw-r--r--system/pigz/README8
-rw-r--r--system/pigz/math_fix.diff12
-rw-r--r--system/pigz/pigz.SlackBuild60
-rw-r--r--system/pigz/pigz.info12
-rw-r--r--system/pigz/slack-desc12
-rw-r--r--system/pixma/pixma.SlackBuild7
-rw-r--r--system/plan9port/plan9port.info4
-rw-r--r--system/plymouth/slack-desc14
-rw-r--r--system/podman/podman.SlackBuild2
-rw-r--r--system/pommed-light/slack-desc4
-rw-r--r--system/porg/porg.SlackBuild2
-rw-r--r--system/porg/porg.info2
-rw-r--r--system/posh/posh.SlackBuild6
-rw-r--r--system/posh/posh.info6
-rw-r--r--system/posixovl/slack-desc2
-rw-r--r--system/powerkit/README10
-rw-r--r--system/powerkit/slack-desc2
-rw-r--r--system/powernowd/powernowd.SlackBuild2
-rw-r--r--system/powernowd/powernowd.info2
-rw-r--r--system/powerpanel/powerpanel.SlackBuild11
-rw-r--r--system/powerpanel/powerpanel.info12
-rw-r--r--system/powershell/README7
-rw-r--r--system/powershell/powershell.SlackBuild68
-rw-r--r--system/powershell/powershell.info10
-rw-r--r--system/powershell/slack-desc19
-rw-r--r--system/prometheus/README24
-rw-r--r--system/prometheus/doinst.sh26
-rw-r--r--system/prometheus/prometheus.SlackBuild106
-rw-r--r--system/prometheus/prometheus.info10
-rw-r--r--system/prometheus/rc.prometheus.new65
-rw-r--r--system/prometheus/slack-desc19
-rw-r--r--system/pspg/pspg.SlackBuild4
-rw-r--r--system/pspg/pspg.info6
-rw-r--r--system/psuinfo/README5
-rw-r--r--system/psuinfo/psuinfo.SlackBuild70
-rw-r--r--system/psuinfo/psuinfo.info10
-rw-r--r--system/psuinfo/slack-desc19
-rw-r--r--system/pucrunch/pucrunch.info2
-rw-r--r--system/pwman/README19
-rw-r--r--system/pwman/pwman.SlackBuild113
-rw-r--r--system/pwman/pwman.info10
-rw-r--r--system/pwman/slack-desc19
-rw-r--r--system/python3-urwid/python3-urwid.SlackBuild2
-rw-r--r--system/python3-urwid/python3-urwid.info2
-rw-r--r--system/qdirstat/qdirstat.SlackBuild2
-rw-r--r--system/qdirstat/qdirstat.info6
-rw-r--r--system/qemu/qemu.SlackBuild5
-rw-r--r--system/qemu/qemu.info6
-rw-r--r--system/quake-par/quake-par.info2
-rw-r--r--system/rEFInd/README13
-rw-r--r--system/rEFInd/rEFInd.SlackBuild105
-rw-r--r--system/rEFInd/rEFInd.info10
-rw-r--r--system/rEFInd/slack-desc19
-rw-r--r--system/rEFInd/slackware-banner.pngbin0 -> 27832 bytes
-rw-r--r--system/rEFInd/slackware-banner.svg136
-rw-r--r--system/ranger/ranger.SlackBuild8
-rw-r--r--system/ranger/ranger.info6
-rw-r--r--system/rar2fs/rar2fs.SlackBuild12
-rw-r--r--system/rar2fs/rar2fs.info6
-rw-r--r--system/rdiff-backup/rdiff-backup.info4
-rw-r--r--system/refind/README2
-rw-r--r--system/refind/refind.SlackBuild8
-rw-r--r--system/refind/refind.info8
-rw-r--r--system/regionset/regionset.SlackBuild2
-rw-r--r--system/regionset/regionset.info2
-rw-r--r--system/reiser4progs/reiser4progs.SlackBuild8
-rw-r--r--system/reiser4progs/reiser4progs.info10
-rw-r--r--system/reptyr/reptyr.SlackBuild11
-rw-r--r--system/reptyr/reptyr.info6
-rw-r--r--system/reptyr/slack-desc2
-rw-r--r--system/resource-agents/README4
-rw-r--r--system/resource-agents/resource-agents.SlackBuild4
-rw-r--r--system/resource-agents/resource-agents.info6
-rw-r--r--system/resource-agents/slack-desc4
-rw-r--r--system/restic/README5
-rw-r--r--system/restic/restic.SlackBuild82
-rw-r--r--system/restic/restic.info10
-rw-r--r--system/restic/slack-desc19
-rw-r--r--system/rhash/rhash.SlackBuild15
-rw-r--r--system/rhash/rhash.info10
-rw-r--r--system/ripgrep/ripgrep.SlackBuild8
-rw-r--r--system/ripgrep/ripgrep.info198
-rw-r--r--system/rmw/README.Slackware23
-rw-r--r--system/rmw/rmw.SlackBuild4
-rw-r--r--system/rmw/rmw.info6
-rw-r--r--system/rox-filer/rox-filer.SlackBuild3
-rw-r--r--system/rox-filer/rox-filer.info4
-rw-r--r--system/rox-filer/session_auto_respawn.diff11
-rw-r--r--system/rsyslog/rsyslog.SlackBuild7
-rw-r--r--system/rsyslog/rsyslog.info8
-rw-r--r--system/rtirq/rtirq.info2
-rw-r--r--system/runc/runc.SlackBuild22
-rw-r--r--system/runc/runc.info6
-rw-r--r--system/runit/config.tarbin30720 -> 30720 bytes
-rw-r--r--system/rxvt-unicode/rxvt-unicode.SlackBuild2
-rw-r--r--system/s3fs-fuse/README7
-rw-r--r--system/s3fs-fuse/s3fs-fuse.SlackBuild101
-rw-r--r--system/s3fs-fuse/s3fs-fuse.info10
-rw-r--r--system/s3fs-fuse/slack-desc19
-rw-r--r--system/s6-linux-init/README64
-rw-r--r--system/s6-linux-init/s6-linux-init.SlackBuild131
-rw-r--r--system/s6-linux-init/s6-linux-init.info10
-rw-r--r--system/s6-linux-init/slack-desc19
-rw-r--r--system/s6-rc/README41
-rw-r--r--system/s6-rc/s6-rc.SlackBuild117
-rw-r--r--system/s6-rc/s6-rc.info10
-rw-r--r--system/s6-rc/slack-desc19
-rw-r--r--system/s6/README52
-rw-r--r--system/s6/README.Slackware21
-rw-r--r--system/s6/s6.SlackBuild53
-rw-r--r--system/s6/s6.info12
-rw-r--r--system/s6/slack-desc12
-rw-r--r--system/saleae-logic/saleae-logic.SlackBuild1
-rw-r--r--system/saleae-logic/slack-desc17
-rw-r--r--system/sandbox/sandbox.SlackBuild4
-rw-r--r--system/sandbox/sandbox.info6
-rw-r--r--system/sandy/sandy.info2
-rw-r--r--system/sargon/slack-desc6
-rw-r--r--system/scangearmp2/README9
-rw-r--r--system/scangearmp2/scangearmp2.SlackBuild117
-rw-r--r--system/scangearmp2/scangearmp2.info10
-rw-r--r--system/scangearmp2/slack-desc19
-rw-r--r--system/scdoc/README3
-rw-r--r--system/scdoc/fix-makefile.patch.gzbin0 -> 689 bytes
-rw-r--r--system/scdoc/scdoc.SlackBuild97
-rw-r--r--system/scdoc/scdoc.info10
-rw-r--r--system/scdoc/slack-desc19
-rw-r--r--system/scrypt/README25
-rw-r--r--system/scrypt/scrypt.SlackBuild60
-rw-r--r--system/scrypt/scrypt.info10
-rw-r--r--system/scrypt/slack-desc16
-rw-r--r--system/sddm/sddm.SlackBuild21
-rw-r--r--system/sddm/sddm.info2
-rw-r--r--system/sdl-jstest/sdl-jstest.info2
-rw-r--r--system/secure-delete/README7
-rw-r--r--system/secure-delete/secure-delete-3.1-do-not-use-the-kernel-module.patch41
-rw-r--r--system/secure-delete/secure-delete-3.1-makefile.patch25
-rw-r--r--system/secure-delete/secure-delete.SlackBuild12
-rw-r--r--system/secure-delete/secure-delete.info10
-rw-r--r--system/secure-delete/secure-delete_3.1_6.diff478
-rw-r--r--system/secure-delete/slack-desc2
-rw-r--r--system/setconf/setconf.SlackBuild4
-rw-r--r--system/setconf/setconf.info6
-rw-r--r--system/siji-font/siji-font.SlackBuild8
-rw-r--r--system/skim/README2
-rw-r--r--system/skim/skim.SlackBuild161
-rw-r--r--system/skim/skim.info240
-rw-r--r--system/skim/slack-desc19
-rw-r--r--system/skopeo/skopeo.SlackBuild2
-rw-r--r--system/skopeo/skopeo.info6
-rw-r--r--system/slack-osquery/README11
-rw-r--r--system/slack-osquery/slack-desc (renamed from system/fs-uae-arcade/slack-desc)22
-rw-r--r--system/slack-osquery/slack-osquery.SlackBuild120
-rw-r--r--system/slack-osquery/slack-osquery.info26
-rw-r--r--system/slack-scripts/README83
-rw-r--r--system/slack-scripts/slack-scripts.info10
-rw-r--r--system/slackroll/slackroll.SlackBuild15
-rw-r--r--system/slackroll/slackroll.info6
-rw-r--r--system/sleepd/fix_acpica_version.patch12
-rw-r--r--system/sleepd/rc.sleepd25
-rw-r--r--system/sleepd/sleepd.SlackBuild5
-rw-r--r--system/sleuthkit/sleuthkit.SlackBuild4
-rw-r--r--system/sleuthkit/sleuthkit.info6
-rw-r--r--system/slpkg/slpkg.SlackBuild7
-rw-r--r--system/slpkg/slpkg.info8
-rw-r--r--system/socketcand/socketcand.SlackBuild1
-rw-r--r--system/softhsm/doinst.sh14
-rw-r--r--system/softhsm/softhsm.SlackBuild7
-rw-r--r--system/softhsm/softhsm.info6
-rw-r--r--system/solarize-12x29-psf/solarize-12x29-psf.info2
-rw-r--r--system/splix/README28
-rw-r--r--system/splix/splix.SlackBuild37
-rw-r--r--system/splix/splix.info14
-rw-r--r--system/sqlcipher/sqlcipher.SlackBuild9
-rw-r--r--system/sqlcipher/sqlcipher.info6
-rw-r--r--system/sqlite2/sqlite2.info2
-rw-r--r--system/st/doinst.sh3
-rw-r--r--system/st/st.SlackBuild26
-rw-r--r--system/st/st.info6
-rw-r--r--system/steghide/README2
-rw-r--r--system/steghide/steghide.SlackBuild2
-rw-r--r--system/stegseek/README1
-rw-r--r--system/stegseek/slack-desc19
-rw-r--r--system/stegseek/stegseek.SlackBuild96
-rw-r--r--system/stegseek/stegseek.info10
-rw-r--r--system/stress-ng/stress-ng.SlackBuild4
-rw-r--r--system/stress-ng/stress-ng.info2
-rw-r--r--system/sunflower/README5
-rw-r--r--system/sunflower/doinst.sh (renamed from system/fs-uae-launcher/doinst.sh)0
-rw-r--r--system/sunflower/slack-desc19
-rw-r--r--system/sunflower/sunflower.SlackBuild98
-rw-r--r--system/sunflower/sunflower.info10
-rw-r--r--system/symbola-font-ttf/README4
-rw-r--r--system/symbola-font-ttf/doinst.sh5
-rw-r--r--system/symbola-font-ttf/slack-desc2
-rw-r--r--system/symbola-font-ttf/symbola-font-ttf.SlackBuild16
-rw-r--r--system/symbola-font-ttf/symbola-font-ttf.info16
-rw-r--r--system/sysbench/README4
-rw-r--r--system/sysbench/slack-desc19
-rw-r--r--system/sysbench/sysbench.SlackBuild103
-rw-r--r--system/sysbench/sysbench.info10
-rw-r--r--system/sysdig/sysdig.SlackBuild4
-rw-r--r--system/sysdig/sysdig.info8
-rw-r--r--system/system76-io-dkms/doinst.sh2
-rw-r--r--system/system76-io-dkms/system76-io-dkms.SlackBuild4
-rw-r--r--system/system76-power/README19
-rw-r--r--system/system76-power/config/system76-power.logrotate1
-rw-r--r--system/system76-power/system76-power.SlackBuild134
-rw-r--r--system/system76-power/system76-power.info216
-rw-r--r--system/t1utils/t1utils.SlackBuild5
-rw-r--r--system/t1utils/t1utils.info6
-rw-r--r--system/tagtools/tagtools.info2
-rw-r--r--system/targetcli-fb/targetcli-fb.SlackBuild6
-rw-r--r--system/targetcli-fb/targetcli-fb.info14
-rw-r--r--system/tbsm/README7
-rw-r--r--system/tbsm/README.SLACKWARE6
-rw-r--r--system/telegraf/telegraf.SlackBuild6
-rw-r--r--system/telegraf/telegraf.default3
-rw-r--r--system/telegraf/telegraf.info12
-rw-r--r--system/terminology/terminology.SlackBuild7
-rw-r--r--system/terminology/terminology.info8
-rw-r--r--system/thin-provisioning-tools/thin-provisioning-tools.SlackBuild4
-rw-r--r--system/thin-provisioning-tools/thin-provisioning-tools.info6
-rw-r--r--system/thinkfan/thinkfan.SlackBuild4
-rw-r--r--system/thinkfan/thinkfan.info6
-rw-r--r--system/ticpp/README8
-rw-r--r--system/ticpp/slack-desc19
-rw-r--r--system/ticpp/ticpp.SlackBuild111
-rw-r--r--system/ticpp/ticpp.info10
-rw-r--r--system/tiger/tiger.SlackBuild2
-rw-r--r--system/tini/tini.SlackBuild6
-rw-r--r--system/tini/tini.info6
-rw-r--r--system/tinycdb/tinycdb.SlackBuild2
-rw-r--r--system/tinycdb/tinycdb.info1
-rw-r--r--system/tinyterm/tinyterm.SlackBuild21
-rw-r--r--system/tinyterm/tinyterm.info6
-rw-r--r--system/tinyvm/tinyvm.SlackBuild7
-rw-r--r--system/tinyvm/tinyvm.info6
-rw-r--r--system/tmpwatch/README5
-rw-r--r--system/tmpwatch/slack-desc19
-rw-r--r--system/tmpwatch/tmpwatch.SlackBuild80
-rw-r--r--system/tmpwatch/tmpwatch.info10
-rw-r--r--system/tmuxp/tmuxp.SlackBuild8
-rw-r--r--system/tmuxp/tmuxp.info8
-rw-r--r--system/tomb/tomb.SlackBuild4
-rw-r--r--system/tomb/tomb.info6
-rw-r--r--system/tpc/README2
-rw-r--r--system/tpm/README17
-rw-r--r--system/tpm/tpm.SlackBuild12
-rw-r--r--system/tpm/tpm.info6
-rw-r--r--system/trackfs/trackfs.info4
-rw-r--r--system/triggerhappy/README29
-rw-r--r--system/triggerhappy/rc.triggerhappy24
-rw-r--r--system/triggerhappy/slack-desc19
-rw-r--r--system/triggerhappy/test.conf.example10
-rw-r--r--system/triggerhappy/triggerhappy.SlackBuild84
-rw-r--r--system/triggerhappy/triggerhappy.info10
-rw-r--r--system/ttf-ancient-fonts/README20
-rw-r--r--system/ttf-ancient-fonts/README.debian21
-rw-r--r--system/ttf-ancient-fonts/copyright.debian26
-rw-r--r--system/ttf-ancient-fonts/doinst.sh13
-rw-r--r--system/ttf-ancient-fonts/slack-desc19
-rw-r--r--system/ttf-ancient-fonts/ttf-ancient-fonts.SlackBuild89
-rw-r--r--system/ttf-ancient-fonts/ttf-ancient-fonts.info10
-rw-r--r--system/ttf-console-fonts/ttf-console-fonts.info4
-rw-r--r--system/ttf-dark-courier/slack-desc2
-rw-r--r--system/ttf-ibm-plex/slack-desc24
-rw-r--r--system/ttf-ibm-plex/ttf-ibm-plex.SlackBuild4
-rw-r--r--system/ttf-ibm-plex/ttf-ibm-plex.info6
-rw-r--r--system/ttf-ipaex/ttf-ipaex.SlackBuild5
-rw-r--r--system/ttf-ipaex/ttf-ipaex.info6
-rw-r--r--system/ttf-mononoki/ttf-mononoki.SlackBuild4
-rw-r--r--system/ttf-mononoki/ttf-mononoki.info6
-rw-r--r--system/ttf-paratype-pt-fonts/OFL.txt90
-rw-r--r--system/ttf-paratype-pt-fonts/README25
-rw-r--r--system/ttf-paratype-pt-fonts/slack-desc14
-rw-r--r--system/ttf-paratype-pt-fonts/ttf-paratype-pt-fonts.SlackBuild22
-rw-r--r--system/ttf-paratype-pt-fonts/ttf-paratype-pt-fonts.info18
-rw-r--r--system/ttf-xo-fonts/README17
-rw-r--r--system/ttf-xo-fonts/doinst.sh10
-rw-r--r--system/ttf-xo-fonts/slack-desc19
-rw-r--r--system/ttf-xo-fonts/ttf-xo-fonts.SlackBuild61
-rw-r--r--system/ttf-xo-fonts/ttf-xo-fonts.info10
-rw-r--r--system/ufiformat/slack-desc2
-rw-r--r--system/ufiformat/ufiformat.SlackBuild6
-rw-r--r--system/ufiformat/ufiformat.info12
-rw-r--r--system/uhubctl/uhubctl.SlackBuild1
-rw-r--r--system/uif2iso/uif2iso.SlackBuild2
-rw-r--r--system/uif2iso/uif2iso.info2
-rw-r--r--system/unar/unar.SlackBuild4
-rw-r--r--system/unar/unar.info6
-rw-r--r--system/unetbootin/unetbootin.SlackBuild3
-rw-r--r--system/unetbootin/unetbootin.info6
-rw-r--r--system/unicode-character-database/unicode-character-database.SlackBuild4
-rw-r--r--system/unicode-character-database/unicode-character-database.info10
-rw-r--r--system/unigine-heaven-benchmark/README9
-rw-r--r--system/unigine-heaven-benchmark/doinst.sh4
-rw-r--r--system/unigine-heaven-benchmark/slack-desc19
-rw-r--r--system/unigine-heaven-benchmark/unigine-heaven-benchmark.SlackBuild94
-rw-r--r--system/unigine-heaven-benchmark/unigine-heaven-benchmark.desktop9
-rw-r--r--system/unigine-heaven-benchmark/unigine-heaven-benchmark.info10
-rw-r--r--system/unigine-valley-benchmark/README7
-rw-r--r--system/unigine-valley-benchmark/doinst.sh4
-rw-r--r--system/unigine-valley-benchmark/slack-desc19
-rw-r--r--system/unigine-valley-benchmark/unigine-valley-benchmark.SlackBuild94
-rw-r--r--system/unigine-valley-benchmark/unigine-valley-benchmark.desktop9
-rw-r--r--system/unigine-valley-benchmark/unigine-valley-benchmark.info10
-rw-r--r--system/unionfs-fuse/README15
-rw-r--r--system/unionfs-fuse/slack-desc19
-rw-r--r--system/unionfs-fuse/unionfs-fuse.SlackBuild92
-rw-r--r--system/unionfs-fuse/unionfs-fuse.info10
-rw-r--r--system/unison/old_ocaml.diff.gzbin0 -> 393 bytes
-rw-r--r--system/unison/unison.SlackBuild9
-rw-r--r--system/unison/unison.info8
-rw-r--r--system/univga-font/README35
-rw-r--r--system/univga-font/doinst.sh5
-rw-r--r--system/univga-font/slack-desc8
-rw-r--r--system/univga-font/univga-font.SlackBuild81
-rw-r--r--system/upass/upass.SlackBuild2
-rw-r--r--system/upass/upass.info2
-rw-r--r--system/usbguard/usbguard.SlackBuild2
-rw-r--r--system/usbguard/usbguard.info6
-rw-r--r--system/usbrelay/slack-desc2
-rw-r--r--system/usbrelay/usbrelay.SlackBuild2
-rw-r--r--system/usbrelay/usbrelay.info6
-rw-r--r--system/usermin/usermin.SlackBuild4
-rw-r--r--system/usermin/usermin.info6
-rw-r--r--system/v4l2loopback/README9
-rw-r--r--system/v4l2loopback/doinst.sh3
-rw-r--r--system/v4l2loopback/slack-desc19
-rw-r--r--system/v4l2loopback/update_to_master_17JUN2020.patch671
-rw-r--r--system/v4l2loopback/v4l2loopback.SlackBuild98
-rw-r--r--system/v4l2loopback/v4l2loopback.info10
-rw-r--r--system/vagrant-public-key/README11
-rw-r--r--system/vagrant-public-key/slack-desc19
-rw-r--r--system/vagrant-public-key/vagrant-basebox48
-rw-r--r--system/vagrant-public-key/vagrant-public-key.SlackBuild60
-rw-r--r--system/vagrant-public-key/vagrant-public-key.info10
-rw-r--r--system/vagrant/vagrant.SlackBuild4
-rw-r--r--system/vagrant/vagrant.info10
-rw-r--r--system/vhba-module/vhba-module.SlackBuild4
-rw-r--r--system/vhba-module/vhba-module.info6
-rw-r--r--system/vice/README14
-rw-r--r--system/vice/README_SBo.txt21
-rw-r--r--system/vice/config/vsid.desktop9
-rw-r--r--system/vice/config/x128.desktop2
-rw-r--r--system/vice/config/x64.desktop2
-rw-r--r--system/vice/config/x64dtv.desktop2
-rw-r--r--system/vice/config/x64sc.desktop9
-rw-r--r--system/vice/config/xcbm2.desktop4
-rw-r--r--system/vice/config/xcbm5x0.desktop9
-rw-r--r--system/vice/config/xpet.desktop2
-rw-r--r--system/vice/config/xplus4.desktop4
-rw-r--r--system/vice/config/xscpu64.desktop9
-rw-r--r--system/vice/config/xvic.desktop2
-rw-r--r--system/vice/doinst.sh3
-rw-r--r--system/vice/psiddrv.h.prebuilt.3.428
-rw-r--r--system/vice/slack-desc16
-rw-r--r--system/vice/vice.SlackBuild155
-rw-r--r--system/vice/vice.info14
-rw-r--r--system/victor-mono-fonts/README9
-rw-r--r--system/victor-mono-fonts/doinst.sh14
-rw-r--r--system/victor-mono-fonts/slack-desc19
-rw-r--r--system/victor-mono-fonts/victor-mono-fonts.SlackBuild68
-rw-r--r--system/victor-mono-fonts/victor-mono-fonts.info10
-rw-r--r--system/vifm/README4
-rw-r--r--system/vifm/slack-desc4
-rw-r--r--system/vifm/vifm.SlackBuild78
-rw-r--r--system/vifm/vifm.info10
-rw-r--r--system/vinterm/vinterm.info4
-rw-r--r--system/vtcol/0bca17247120d2ec2ae465bac7dd6d0354189175.patch.gzbin0 -> 866 bytes
-rw-r--r--system/vtcol/9dda18921a25f64e0a0da06e3417ce99f8bf9b41.patch24
-rw-r--r--system/vtcol/9dda18921a25f64e0a0da06e3417ce99f8bf9b41.patch.gzbin0 -> 654 bytes
-rw-r--r--system/vtcol/f00fed1f947dcd372a598f1e2905ae9d4c8a1b0c.patch.gzbin0 -> 762 bytes
-rw-r--r--system/vtcol/vtcol.SlackBuild16
-rw-r--r--system/vtcol/vtcol.info14
-rw-r--r--system/webmin/webmin.SlackBuild2
-rw-r--r--system/webmin/webmin.info8
-rw-r--r--system/whowatch/whowatch.SlackBuild2
-rw-r--r--system/wiimms-iso-tools/cflags.diff38
-rw-r--r--system/wiimms-iso-tools/wiimms-iso-tools.SlackBuild14
-rw-r--r--system/wiimms-iso-tools/wiimms-iso-tools.info6
-rw-r--r--system/wine-staging/README96
-rw-r--r--system/wine-staging/wine-staging.SlackBuild42
-rw-r--r--system/wine-staging/wine-staging.info16
-rw-r--r--system/wine-staging/x86_remove_fpic.patch202
-rw-r--r--system/wine/README20
-rw-r--r--system/wine/wine.SlackBuild16
-rw-r--r--system/wine/wine.info6
-rw-r--r--system/wine/x86_remove_fpic.patch202
-rw-r--r--system/wipe/wipe.SlackBuild2
-rw-r--r--system/wipe/wipe.info4
-rw-r--r--system/wmgtemp/bugfix.diff14
-rw-r--r--system/wmgtemp/wmgtemp.SlackBuild34
-rw-r--r--system/wmgtemp/wmgtemp.info10
-rw-r--r--system/worker/worker.SlackBuild2
-rw-r--r--system/worker/worker.info6
-rw-r--r--system/xarchiver/xarchiver.SlackBuild2
-rw-r--r--system/xarchiver/xarchiver.info8
-rw-r--r--system/xbattmon/README3
-rw-r--r--system/xbattmon/slack-desc2
-rw-r--r--system/xbattmon/xbattmon.info4
-rw-r--r--system/xboxdrv-linux/xboxdrv-linux.SlackBuild5
-rw-r--r--system/xboxdrv-linux/xboxdrv-linux.info8
-rw-r--r--system/xbrightness/slack-desc4
-rw-r--r--system/xcdroast/README8
-rw-r--r--system/xcdroast/io_compile.patch21
-rw-r--r--system/xcdroast/xcdroast.SlackBuild40
-rw-r--r--system/xcdroast/xcdroast.info10
-rw-r--r--system/xen/README5
-rw-r--r--system/xen/dom0/README.dom02
-rw-r--r--system/xen/dom0/config-4.4.240-xen.i686 (renamed from system/xen/dom0/config-4.4.202-xen.i686)5
-rw-r--r--system/xen/dom0/config-4.4.240-xen.x86_64 (renamed from system/xen/dom0/config-4.4.202-xen.x86_64)5
-rw-r--r--system/xen/dom0/kernel-xen.sh4
-rw-r--r--system/xen/domU/domU.sh2
-rw-r--r--system/xen/xen.SlackBuild28
-rw-r--r--system/xen/xen.info18
-rw-r--r--system/xen/xsa/xsa296.patch195
-rw-r--r--system/xen/xsa/xsa298.patch89
-rw-r--r--system/xen/xsa/xsa299-4.12-0001-x86-mm-L1TF-checks-don-t-leave-a-partial-entry.patch94
-rw-r--r--system/xen/xsa/xsa299-4.12-0002-x86-mm-Don-t-re-set-PGT_pinned-on-a-partially-de-val.patch99
-rw-r--r--system/xen/xsa/xsa299-4.12-0003-x86-mm-Separate-out-partial_pte-tristate-into-indivi.patch618
-rw-r--r--system/xen/xsa/xsa299-4.12-0004-x86-mm-Use-flags-for-_put_page_type-rather-than-a-bo.patch140
-rw-r--r--system/xen/xsa/xsa299-4.12-0005-x86-mm-Rework-get_page_and_type_from_mfn-conditional.patch79
-rw-r--r--system/xen/xsa/xsa299-4.12-0006-x86-mm-Have-alloc_l-23-_table-clear-partial_flags-wh.patch111
-rw-r--r--system/xen/xsa/xsa299-4.12-0007-x86-mm-Always-retain-a-general-ref-on-partial.patch378
-rw-r--r--system/xen/xsa/xsa299-4.12-0008-x86-mm-Collapse-PTF_partial_set-and-PTF_partial_gene.patch227
-rw-r--r--system/xen/xsa/xsa299-4.12-0009-x86-mm-Properly-handle-linear-pagetable-promotion-fa.patch106
-rw-r--r--system/xen/xsa/xsa299-4.12-0010-x86-mm-Fix-nested-de-validation-on-error.patch166
-rw-r--r--system/xen/xsa/xsa299-4.12-0011-x86-mm-Don-t-drop-a-type-ref-unless-you-held-a-ref-t.patch413
-rw-r--r--system/xen/xsa/xsa301-master-1.patch80
-rw-r--r--system/xen/xsa/xsa301-master-2.patch92
-rw-r--r--system/xen/xsa/xsa301-master-3.patch67
-rw-r--r--system/xen/xsa/xsa302-4.12-0001-IOMMU-add-missing-HVM-check.patch37
-rw-r--r--system/xen/xsa/xsa302-4.12-0002-passthrough-quarantine-PCI-devices.patch499
-rw-r--r--system/xen/xsa/xsa303-0001-xen-arm32-entry-Split-__DEFINE_ENTRY_TRAP-in-two.patch74
-rw-r--r--system/xen/xsa/xsa303-0002-xen-arm32-entry-Fold-the-macro-SAVE_ALL-in-the-macro.patch97
-rw-r--r--system/xen/xsa/xsa303-0003-xen-arm32-Don-t-blindly-unmask-interrupts-on-trap-wi.patch226
-rw-r--r--system/xen/xsa/xsa303-0004-xen-arm64-Don-t-blindly-unmask-interrupts-on-trap-wi.patch114
-rw-r--r--system/xen/xsa/xsa304-4.12-1.patch71
-rw-r--r--system/xen/xsa/xsa304-4.12-2.patch272
-rw-r--r--system/xen/xsa/xsa304-4.12-3.patch108
-rw-r--r--system/xen/xsa/xsa305-4.12-1.patch288
-rw-r--r--system/xen/xsa/xsa305-4.12-2.patch192
-rw-r--r--system/xen/xsa/xsa317.patch50
-rw-r--r--system/xen/xsa/xsa319.patch27
-rw-r--r--system/xen/xsa/xsa320-4.13-1.patch117
-rw-r--r--system/xen/xsa/xsa320-4.13-2.patch179
-rw-r--r--system/xen/xsa/xsa320-4.13-3.patch36
-rw-r--r--system/xen/xsa/xsa327.patch63
-rw-r--r--system/xen/xsa/xsa328-4.13-1.patch118
-rw-r--r--system/xen/xsa/xsa328-4.13-2.patch48
-rw-r--r--system/xen/xsa/xsa328-post-xsa321-4.13-1.patch31
-rw-r--r--system/xen/xsa/xsa328-post-xsa321-4.13-2.patch175
-rw-r--r--system/xen/xsa/xsa328-post-xsa321-4.13-3.patch82
-rw-r--r--system/xen/xsa/xsa328-post-xsa321-4.13-4.patch36
-rw-r--r--system/xen/xsa/xsa328-post-xsa321-4.13-5.patch24
-rw-r--r--system/xen/xsa/xsa328-post-xsa321-4.13-6.patch91
-rw-r--r--system/xen/xsa/xsa328-post-xsa321-4.13-7.patch153
-rw-r--r--system/xen/xsa/xsa333.patch39
-rw-r--r--system/xen/xsa/xsa334.patch51
-rw-r--r--system/xen/xsa/xsa335-qemu.patch84
-rw-r--r--system/xen/xsa/xsa336.patch283
-rw-r--r--system/xen/xsa/xsa337-4.13-1.patch87
-rw-r--r--system/xen/xsa/xsa337-4.13-2.patch181
-rw-r--r--system/xen/xsa/xsa338.patch42
-rw-r--r--system/xen/xsa/xsa339.patch76
-rw-r--r--system/xen/xsa/xsa340.patch65
-rw-r--r--system/xen/xsa/xsa342-4.13.patch145
-rw-r--r--system/xen/xsa/xsa343-1.patch199
-rw-r--r--system/xen/xsa/xsa343-2.patch295
-rw-r--r--system/xen/xsa/xsa343-3.patch392
-rw-r--r--system/xen/xsa/xsa344-4.13-1.patch130
-rw-r--r--system/xen/xsa/xsa344-4.13-2.patch203
-rw-r--r--system/xen/xsa/xsa345-0001-x86-mm-Refactor-map_pages_to_xen-to-have-only-a-sing.patch94
-rw-r--r--system/xen/xsa/xsa345-0002-x86-mm-Refactor-modify_xen_mappings-to-have-one-exit.patch68
-rw-r--r--system/xen/xsa/xsa345-0003-x86-mm-Prevent-some-races-in-hypervisor-mapping-upda.patch249
-rw-r--r--system/xen/xsa/xsa346-4.13-1.patch50
-rw-r--r--system/xen/xsa/xsa346-4.13-2.patch204
-rw-r--r--system/xen/xsa/xsa347-4.13-1.patch149
-rw-r--r--system/xen/xsa/xsa347-4.13-2.patch72
-rw-r--r--system/xen/xsa/xsa347-4.13-3.patch59
-rw-r--r--system/xidel/README28
-rw-r--r--system/xidel/slack-desc19
-rw-r--r--system/xidel/xidel.SlackBuild62
-rw-r--r--system/xidel/xidel.info10
-rw-r--r--system/xldconfig/xldconfig.SlackBuild2
-rw-r--r--system/xldconfig/xldconfig.info6
-rw-r--r--system/xorgxrdp/README8
-rw-r--r--system/xorgxrdp/doinst.sh14
-rw-r--r--system/xorgxrdp/slack-desc19
-rw-r--r--system/xorgxrdp/xorgxrdp.SlackBuild86
-rw-r--r--system/xorgxrdp/xorgxrdp.info10
-rw-r--r--system/xrdp/README79
-rw-r--r--system/xrdp/doinst.sh42
-rw-r--r--system/xrdp/rc.xrdp153
-rw-r--r--system/xrdp/slack-desc12
-rw-r--r--system/xrdp/xrdp11
-rw-r--r--system/xrdp/xrdp-sesman11
-rw-r--r--system/xrdp/xrdp.SlackBuild63
-rw-r--r--system/xrdp/xrdp.info8
-rw-r--r--system/xvfb-run/README1
-rw-r--r--system/xvfb-run/slack-desc19
-rw-r--r--system/xvfb-run/xvfb-run.SlackBuild60
-rw-r--r--system/xvfb-run/xvfb-run.info10
-rw-r--r--system/yaft/README23
-rw-r--r--system/yaft/sbo-patches/background-drawm.patch11
-rw-r--r--system/yaft/slack-desc19
-rw-r--r--system/yaft/yaft.SlackBuild74
-rw-r--r--system/yaft/yaft.info10
-rw-r--r--system/yash/yash.SlackBuild6
-rw-r--r--system/yash/yash.info6
-rw-r--r--system/zfs-on-linux/README10
-rw-r--r--system/zfs-on-linux/zfs-on-linux.SlackBuild7
-rw-r--r--system/zfs-on-linux/zfs-on-linux.info10
-rw-r--r--system/znapzend/slack-desc9
-rw-r--r--system/zsh-completions/zsh-completions.SlackBuild4
-rw-r--r--system/zsh-completions/zsh-completions.info6
-rw-r--r--system/zsh-syntax-highlighting/zsh-syntax-highlighting.SlackBuild12
-rw-r--r--system/zsh-syntax-highlighting/zsh-syntax-highlighting.info6
-rw-r--r--system/zuluCrypt/zuluCrypt.SlackBuild2
-rw-r--r--system/zuluCrypt/zuluCrypt.info4
1323 files changed, 27632 insertions, 11121 deletions
diff --git a/system/CPU-X/CPU-X.SlackBuild b/system/CPU-X/CPU-X.SlackBuild
index 8530510954..7136be3143 100644
--- a/system/CPU-X/CPU-X.SlackBuild
+++ b/system/CPU-X/CPU-X.SlackBuild
@@ -23,7 +23,7 @@
# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
PRGNAM=CPU-X
-VERSION=${VERSION:-3.2.4}
+VERSION=${VERSION:-4.2.0}
BUILD=${BUILD:-1}
TAG=${TAG:-_SBo}
@@ -84,10 +84,8 @@ cd ..
find $PKG -print0 | xargs -0 file | grep -e "executable" -e "shared object" | grep ELF \
| cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null || true
-find $PKG -name perllocal.pod -o -name ".packlist" -o -name "*.bs" | xargs rm -f || true
-
mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION
-cp -a ChangeLog COPYING README.md $PKG/usr/doc/$PRGNAM-$VERSION
+cp -a ChangeLog.md COPYING README.md $PKG/usr/doc/$PRGNAM-$VERSION
cat $CWD/$PRGNAM.SlackBuild > $PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM.SlackBuild
mkdir -p $PKG/install
diff --git a/system/CPU-X/CPU-X.info b/system/CPU-X/CPU-X.info
index 8a160e9c04..c38afb294d 100644
--- a/system/CPU-X/CPU-X.info
+++ b/system/CPU-X/CPU-X.info
@@ -1,8 +1,8 @@
PRGNAM="CPU-X"
-VERSION="3.2.4"
+VERSION="4.2.0"
HOMEPAGE="https://x0rg.github.io/CPU-X/"
-DOWNLOAD="https://github.com/X0rg/CPU-X/archive/v3.2.4/CPU-X-3.2.4.tar.gz"
-MD5SUM="1f6f8f4efedd04d6197db0b62f724e62"
+DOWNLOAD="https://github.com/X0rg/CPU-X/archive/v4.2.0/CPU-X-4.2.0.tar.gz"
+MD5SUM="70c2f0626cdf3b193c0639c1395066a6"
DOWNLOAD_x86_64=""
MD5SUM_x86_64=""
REQUIRES="libcpuid"
diff --git a/system/CPU-X/README b/system/CPU-X/README
index e298395571..ebacfe5e95 100644
--- a/system/CPU-X/README
+++ b/system/CPU-X/README
@@ -1,3 +1,3 @@
Free software that gathers information on CPU, motherboard and more.
CPU-X is similar to CPU-Z (Windows), but CPU-X is a Free and
-Open Source software designed for GNU/Linux; also, it works on *BSD. \ No newline at end of file
+Open Source software designed for GNU/Linux and FreeBSD.
diff --git a/system/CPU-X/doinst.sh b/system/CPU-X/doinst.sh
index a5749a8f36..401d987795 100644
--- a/system/CPU-X/doinst.sh
+++ b/system/CPU-X/doinst.sh
@@ -7,4 +7,9 @@ if [ -e usr/share/icons/hicolor/icon-theme.cache ]; then
/usr/bin/gtk-update-icon-cache -f usr/share/icons/hicolor >/dev/null 2>&1
fi
fi
-
+
+if [ -e usr/share/glib-2.0/schemas ]; then
+ if [ -x /usr/bin/glib-compile-schemas ]; then
+ /usr/bin/glib-compile-schemas usr/share/glib-2.0/schemas >/dev/null 2>&1
+ fi
+fi
diff --git a/system/CPU-X/slack-desc b/system/CPU-X/slack-desc
index e298c2544b..06f7f5051d 100644
--- a/system/CPU-X/slack-desc
+++ b/system/CPU-X/slack-desc
@@ -10,7 +10,7 @@ CPU-X: CPU-X (System information tool)
CPU-X:
CPU-X: Free software that gathers information on CPU, motherboard and more.
CPU-X: CPU-X is similar to CPU-Z (Windows), but CPU-X is a Free and
-CPU-X: Open Source software designed for GNU/Linux; also, it works on *BSD.
+CPU-X: Open Source software designed for GNU/Linux and FreeBSD.
CPU-X:
CPU-X: Homepage: https://x0rg.github.io/CPU-X/
CPU-X:
diff --git a/system/I-Nex/I-Nex.SlackBuild b/system/I-Nex/I-Nex.SlackBuild
index a094087108..bf8428c4f9 100644
--- a/system/I-Nex/I-Nex.SlackBuild
+++ b/system/I-Nex/I-Nex.SlackBuild
@@ -23,7 +23,7 @@
# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
PRGNAM=I-Nex
-VERSION=${VERSION:-7.6.0}
+VERSION=${VERSION:-7.6.1}
BUILD=${BUILD:-1}
TAG=${TAG:-_SBo}
@@ -69,11 +69,8 @@ find -L . \
\( -perm 666 -o -perm 664 -o -perm 640 -o -perm 600 -o -perm 444 \
-o -perm 440 -o -perm 400 \) -exec chmod 644 {} \;
-sed -i 's|python3$|python2|' pastebinit
sed -i -e 's|^STATIC.*|STATIC = false|' i-nex.mk
-patch -p1 -i $CWD/I-Nex_fix.patch
-
cd $PRGNAM
autoreconf --install
diff --git a/system/I-Nex/I-Nex.info b/system/I-Nex/I-Nex.info
index 33cd77088d..434197af8a 100644
--- a/system/I-Nex/I-Nex.info
+++ b/system/I-Nex/I-Nex.info
@@ -1,8 +1,8 @@
PRGNAM="I-Nex"
-VERSION="7.6.0"
+VERSION="7.6.1"
HOMEPAGE="https://github.com/eloaders/I-Nex"
-DOWNLOAD="https://github.com/i-nex/I-Nex/archive/7.6.0/I-Nex-7.6.0.tar.gz"
-MD5SUM="4fd4686e860b7dc47c8baccce5764d3b"
+DOWNLOAD="https://github.com/i-nex/I-Nex/archive/7.6.1/I-Nex-7.6.1.tar.gz"
+MD5SUM="03c2622075c15f24b3b3fa5dd7cf3597"
DOWNLOAD_x86_64=""
MD5SUM_x86_64=""
REQUIRES="qt5 gambas3 libcpuid"
diff --git a/system/I-Nex/I-Nex_fix.patch b/system/I-Nex/I-Nex_fix.patch
deleted file mode 100644
index bdf439f84f..0000000000
--- a/system/I-Nex/I-Nex_fix.patch
+++ /dev/null
@@ -1,23 +0,0 @@
---- a/I-Nex/i-nex/.src/Finfosys.class 2019-09-28 17:03:37.613473723 +0200
-+++ b/I-Nex/i-nex/.src/Finfosys.class 2019-09-28 17:04:45.017472516 +0200
-@@ -322,6 +322,7 @@
- Public Sub System()
- Dim hostname, arch, gcc, timezone, xorg_version, glx_version As String
- Dim SCREENFETCH_P As Process
-+ Dim sLine2 As String
- SCREENFETCH_P = Exec ["" & ChkPrm.ChkExecDir("bash") & ""] For Write
- Write #SCREENFETCH_P, File.Load("Data/screenfetch-dev")
- SCREENFETCH_P.Wait
-@@ -332,9 +333,9 @@
- Shell "timedatectl status | grep \"Time zone:\" | cut -d \":\" -f 2 | cut -d \"(\" -f 1" Wait To timezone
- Endif
- 'Detect heap size
-- For Each sLine In Split(File.Load("/proc/self/maps"), "\n")
-- If InStr(sLine, "[heap]") Then
-- aScan = Scan(sLine, "*-* *")
-+ For Each sLine2 In Split(File.Load("/proc/self/maps"), "\n")
-+ If InStr(sLine2, "[heap]") Then
-+ aScan = Scan(sLine2, "*-* *")
- Label176.Text = "Heap size is " & Format(Val("&H" & aScan[1] & "&") - Val("&H" & aScan[0] & "&"), "#,##0") & " bytes."
- Break
- Endif
diff --git a/system/Iosevka-slab/Iosevka-slab.SlackBuild b/system/Iosevka-slab/Iosevka-slab.SlackBuild
new file mode 100644
index 0000000000..90175e9ce6
--- /dev/null
+++ b/system/Iosevka-slab/Iosevka-slab.SlackBuild
@@ -0,0 +1,64 @@
+#!/bin/sh
+
+# Slackware build script for Iosevka-slab
+
+# Copyright 2020-2021 Eugene M., <damagedone at gmx dot com>
+# 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.
+
+PRGNAM=Iosevka-slab
+VERSION=${VERSION:-5.1.1}
+BUILD=${BUILD:-1}
+TAG=${TAG:-_SBo}
+
+ARCH=noarch
+
+CWD=$(pwd)
+TMP=${TMP:-/tmp/SBo}
+PKG=$TMP/package-$PRGNAM
+OUTPUT=${OUTPUT:-/tmp}
+
+set -e
+
+rm -rf $PKG
+mkdir -p $TMP $PKG $OUTPUT
+cd $TMP
+rm -rf $PRGNAM-$VERSION
+unzip -o $CWD/ttc-iosevka-slab-$VERSION.zip -d $TMP/$PRGNAM-$VERSION
+cd $PRGNAM-$VERSION
+chown -R root:root .
+find -L . \
+ \( -perm 777 -o -perm 775 -o -perm 750 -o -perm 711 -o -perm 555 \
+ -o -perm 511 \) -exec chmod 755 {} \; -o \
+ \( -perm 666 -o -perm 664 -o -perm 640 -o -perm 600 -o -perm 444 \
+ -o -perm 440 -o -perm 400 \) -exec chmod 644 {} \;
+
+mkdir -p $PKG/usr/share/fonts/TTF
+cp -a *.ttc $PKG/usr/share/fonts/TTF
+
+mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION
+cat $CWD/LICENSE > $PKG/usr/doc/$PRGNAM-$VERSION/LICENSE
+cat $CWD/$PRGNAM.SlackBuild > $PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM.SlackBuild
+
+mkdir -p $PKG/install
+cat $CWD/slack-desc > $PKG/install/slack-desc
+cat $CWD/doinst.sh > $PKG/install/doinst.sh
+
+cd $PKG
+/sbin/makepkg -l y -c n $OUTPUT/$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.${PKGTYPE:-tgz}
diff --git a/system/Iosevka-slab/Iosevka-slab.info b/system/Iosevka-slab/Iosevka-slab.info
new file mode 100644
index 0000000000..1d011a5459
--- /dev/null
+++ b/system/Iosevka-slab/Iosevka-slab.info
@@ -0,0 +1,10 @@
+PRGNAM="Iosevka-slab"
+VERSION="5.1.1"
+HOMEPAGE="https://typeof.net/Iosevka/"
+DOWNLOAD="https://github.com/be5invis/Iosevka/releases/download/v5.1.1/ttc-iosevka-slab-5.1.1.zip"
+MD5SUM="e0d5b48c59fc117a6fbbf7ee1b821461"
+DOWNLOAD_x86_64=""
+MD5SUM_x86_64=""
+REQUIRES=""
+MAINTAINER="Eugene M."
+EMAIL="damagedone@gmx.com"
diff --git a/system/Iosevka-slab/LICENSE b/system/Iosevka-slab/LICENSE
new file mode 100644
index 0000000000..d952d62c06
--- /dev/null
+++ b/system/Iosevka-slab/LICENSE
@@ -0,0 +1,92 @@
+This Font Software is licensed under the SIL Open Font License,
+Version 1.1.
+
+This license is copied below, and is also available with a FAQ at:
+http://scripts.sil.org/OFL
+
+-----------------------------------------------------------
+SIL OPEN FONT LICENSE Version 1.1 - 26 February 2007
+-----------------------------------------------------------
+
+PREAMBLE
+The goals of the Open Font License (OFL) are to stimulate worldwide
+development of collaborative font projects, to support the font
+creation efforts of academic and linguistic communities, and to
+provide a free and open framework in which fonts may be shared and
+improved in partnership with others.
+
+The OFL allows the licensed fonts to be used, studied, modified and
+redistributed freely as long as they are not sold by themselves. The
+fonts, including any derivative works, can be bundled, embedded,
+redistributed and/or sold with any software provided that any reserved
+names are not used by derivative works. The fonts and derivatives,
+however, cannot be released under any other type of license. The
+requirement for fonts to remain under this license does not apply to
+any document created using the fonts or their derivatives.
+
+DEFINITIONS
+"Font Software" refers to the set of files released by the Copyright
+Holder(s) under this license and clearly marked as such. This may
+include source files, build scripts and documentation.
+
+"Reserved Font Name" refers to any names specified as such after the
+copyright statement(s).
+
+"Original Version" refers to the collection of Font Software
+components as distributed by the Copyright Holder(s).
+
+"Modified Version" refers to any derivative made by adding to,
+deleting, or substituting -- in part or in whole -- any of the
+components of the Original Version, by changing formats or by porting
+the Font Software to a new environment.
+
+"Author" refers to any designer, engineer, programmer, technical
+writer or other person who contributed to the Font Software.
+
+PERMISSION & CONDITIONS
+Permission is hereby granted, free of charge, to any person obtaining
+a copy of the Font Software, to use, study, copy, merge, embed,
+modify, redistribute, and sell modified and unmodified copies of the
+Font Software, subject to the following conditions:
+
+1) Neither the Font Software nor any of its individual components, in
+Original or Modified Versions, may be sold by itself.
+
+2) Original or Modified Versions of the Font Software may be bundled,
+redistributed and/or sold with any software, provided that each copy
+contains the above copyright notice and this license. These can be
+included either as stand-alone text files, human-readable headers or
+in the appropriate machine-readable metadata fields within text or
+binary files as long as those fields can be easily viewed by the user.
+
+3) No Modified Version of the Font Software may use the Reserved Font
+Name(s) unless explicit written permission is granted by the
+corresponding Copyright Holder. This restriction only applies to the
+primary font name as presented to the users.
+
+4) The name(s) of the Copyright Holder(s) or the Author(s) of the Font
+Software shall not be used to promote, endorse or advertise any
+Modified Version, except to acknowledge the contribution(s) of the
+Copyright Holder(s) and the Author(s) or with their explicit written
+permission.
+
+5) The Font Software, modified or unmodified, in part or in whole,
+must be distributed entirely under this license, and must not be
+distributed under any other license. The requirement for fonts to
+remain under this license does not apply to any document created using
+the Font Software.
+
+TERMINATION
+This license becomes null and void if any of the above conditions are
+not met.
+
+DISCLAIMER
+THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF
+MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT
+OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL THE
+COPYRIGHT HOLDER BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
+INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL
+DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+FROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM
+OTHER DEALINGS IN THE FONT SOFTWARE.
diff --git a/system/Iosevka-slab/README b/system/Iosevka-slab/README
new file mode 100644
index 0000000000..ccf6ccfb46
--- /dev/null
+++ b/system/Iosevka-slab/README
@@ -0,0 +1,3 @@
+Iosevka is an open-source, sans-serif, monospace quasi‑proportional
+typeface family, designed for writing code, using in terminals,
+and preparing technical documents.
diff --git a/system/Iosevka-slab/doinst.sh b/system/Iosevka-slab/doinst.sh
new file mode 100644
index 0000000000..f0ffee7710
--- /dev/null
+++ b/system/Iosevka-slab/doinst.sh
@@ -0,0 +1,10 @@
+# Update the X font indexes:
+
+if [ -x /usr/bin/mkfontdir ]; then
+ ( cd usr/share/fonts/TTF
+ /usr/bin/mkfontscale .
+ /usr/bin/mkfontdir .
+ )
+
+ [ -x /usr/bin/fc-cache ] && /usr/bin/fc-cache -f
+fi
diff --git a/system/Iosevka-slab/slack-desc b/system/Iosevka-slab/slack-desc
new file mode 100644
index 0000000000..03734d2dd2
--- /dev/null
+++ b/system/Iosevka-slab/slack-desc
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description.
+# Line up the first '|' above the ':' following the base package name, and
+# the '|' on the right side marks the last column you can put a character in.
+# You must make exactly 11 lines for the formatting to be correct. It's also
+# customary to leave one space after the ':' except on otherwise blank lines.
+
+ |-----handy-ruler------------------------------------------------------|
+Iosevka-slab: Iosevka-slab (Slender monospace slab-serif typeface)
+Iosevka-slab:
+Iosevka-slab: Iosevka is a monospace typeface inspired by Pragmata Pro, M+, and
+Iosevka-slab: DIN Mono. It is designed to have a narrow shape to be space
+Iosevka-slab: efficient and compatible to CJK characters.
+Iosevka-slab:
+Iosevka-slab: Homepage: https://typeof.net/Iosevka/
+Iosevka-slab:
+Iosevka-slab:
+Iosevka-slab:
+Iosevka-slab:
diff --git a/system/Iosevka/Iosevka.SlackBuild b/system/Iosevka/Iosevka.SlackBuild
index c791211400..fcd4d2aca7 100644
--- a/system/Iosevka/Iosevka.SlackBuild
+++ b/system/Iosevka/Iosevka.SlackBuild
@@ -2,7 +2,7 @@
# Slackware build script for Iosevka
-# Copyright 2015-2019 Eugene M., <damagedone at gmx dot com>
+# Copyright 2015-2021 Eugene M., <damagedone at gmx dot com>
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
@@ -23,7 +23,7 @@
# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
PRGNAM=Iosevka
-VERSION=${VERSION:-2.3.3}
+VERSION=${VERSION:-5.1.1}
BUILD=${BUILD:-1}
TAG=${TAG:-_SBo}
@@ -40,13 +40,8 @@ rm -rf $PKG
mkdir -p $TMP $PKG $OUTPUT
cd $TMP
rm -rf $PRGNAM-$VERSION
-mkdir $TMP/$PRGNAM-$VERSION
-unzip -o $CWD/01-iosevka-$VERSION.zip -d $TMP/$PRGNAM-$VERSION
-unzip -o $CWD/02-iosevka-term-$VERSION.zip -d $TMP/$PRGNAM-$VERSION
-unzip -o $CWD/03-iosevka-type-$VERSION.zip -d $TMP/$PRGNAM-$VERSION
-unzip -o $CWD/04-iosevka-cc-$VERSION.zip -d $TMP/$PRGNAM-$VERSION
-unzip -o $CWD/05-iosevka-slab-$VERSION.zip -d $TMP/$PRGNAM-$VERSION
-cd $PRGNAM-$VERSION/ttf
+unzip -o $CWD/ttc-iosevka-$VERSION.zip -d $TMP/$PRGNAM-$VERSION
+cd $PRGNAM-$VERSION
chown -R root:root .
find -L . \
\( -perm 777 -o -perm 775 -o -perm 750 -o -perm 711 -o -perm 555 \
@@ -55,7 +50,7 @@ find -L . \
-o -perm 440 -o -perm 400 \) -exec chmod 644 {} \;
mkdir -p $PKG/usr/share/fonts/TTF
-cp -a *.ttf $PKG/usr/share/fonts/TTF
+cp -a *.ttc $PKG/usr/share/fonts/TTF
mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION
cat $CWD/LICENSE > $PKG/usr/doc/$PRGNAM-$VERSION/LICENSE
diff --git a/system/Iosevka/Iosevka.info b/system/Iosevka/Iosevka.info
index 5a30c879a0..13e3da213a 100644
--- a/system/Iosevka/Iosevka.info
+++ b/system/Iosevka/Iosevka.info
@@ -1,16 +1,8 @@
PRGNAM="Iosevka"
-VERSION="2.3.3"
+VERSION="5.1.1"
HOMEPAGE="https://typeof.net/Iosevka/"
-DOWNLOAD="https://github.com/be5invis/Iosevka/releases/download/v2.3.3/01-iosevka-2.3.3.zip \
- https://github.com/be5invis/Iosevka/releases/download/v2.3.3/02-iosevka-term-2.3.3.zip \
- https://github.com/be5invis/Iosevka/releases/download/v2.3.3/03-iosevka-type-2.3.3.zip \
- https://github.com/be5invis/Iosevka/releases/download/v2.3.3/04-iosevka-cc-2.3.3.zip \
- https://github.com/be5invis/Iosevka/releases/download/v2.3.3/05-iosevka-slab-2.3.3.zip"
-MD5SUM="d05451d88596d711bf4bb1fa9b17fc41 \
- e10873b36f1e8ea1fabfb67c52751342 \
- d06b4a4d4e5d14a553c041bc26191582 \
- 20b220837781508c1c7e54174efacfc8 \
- 2122ec0ad1dde2edd7003b6d08d07782"
+DOWNLOAD="https://github.com/be5invis/Iosevka/releases/download/v5.1.1/ttc-iosevka-5.1.1.zip"
+MD5SUM="223ff002dcad132138f2b3b0602c5162"
DOWNLOAD_x86_64=""
MD5SUM_x86_64=""
REQUIRES=""
diff --git a/system/Iosevka/README b/system/Iosevka/README
index cf9f1b1825..ccf6ccfb46 100644
--- a/system/Iosevka/README
+++ b/system/Iosevka/README
@@ -1,7 +1,3 @@
-Iosevka is a slender monospace, sans-serif and slab-serif typeface
-inspired by Pragmata Pro, M+ and PF DIN Mono, designed to be the
-ideal font for programming.
-
-- Four styles: Regular, Italic, Bold, and Bold Italic;
-- Extended language support for most Latin-based Western, Central and
- Northern European languages, as well as Greek and Cyrillic.
+Iosevka is an open-source, sans-serif, monospace quasi‑proportional
+typeface family, designed for writing code, using in terminals,
+and preparing technical documents.
diff --git a/system/Iosevka/doinst.sh b/system/Iosevka/doinst.sh
index 883c47ac0a..f0ffee7710 100644
--- a/system/Iosevka/doinst.sh
+++ b/system/Iosevka/doinst.sh
@@ -1,10 +1,10 @@
# Update the X font indexes:
+
if [ -x /usr/bin/mkfontdir ]; then
- ( cd /usr/share/fonts/TTF
- mkfontscale .
- mkfontdir .
+ ( cd usr/share/fonts/TTF
+ /usr/bin/mkfontscale .
+ /usr/bin/mkfontdir .
)
-fi
-if [ -x /usr/bin/fc-cache ]; then
- /usr/bin/fc-cache -f
+
+ [ -x /usr/bin/fc-cache ] && /usr/bin/fc-cache -f
fi
diff --git a/system/Iosevka/slack-desc b/system/Iosevka/slack-desc
index d2113d77a5..540e5c73cf 100644
--- a/system/Iosevka/slack-desc
+++ b/system/Iosevka/slack-desc
@@ -6,14 +6,14 @@
# customary to leave one space after the ':' except on otherwise blank lines.
|-----handy-ruler------------------------------------------------------|
-Iosevka: Iosevka (Open source monospace coding font)
+Iosevka: Iosevka (Slender monospace sans-serif typeface)
Iosevka:
Iosevka: Iosevka is a monospace typeface inspired by Pragmata Pro, M+, and
Iosevka: DIN Mono. It is designed to have a narrow shape to be space
Iosevka: efficient and compatible to CJK characters.
Iosevka:
-Iosevka:
Iosevka: Homepage: https://typeof.net/Iosevka/
Iosevka:
Iosevka:
Iosevka:
+Iosevka:
diff --git a/system/JetBrainsMono/JetBrainsMono.SlackBuild b/system/JetBrainsMono/JetBrainsMono.SlackBuild
new file mode 100644
index 0000000000..fc74eb4097
--- /dev/null
+++ b/system/JetBrainsMono/JetBrainsMono.SlackBuild
@@ -0,0 +1,60 @@
+#!/bin/sh
+
+# Slackware build script for JetBrainsMono
+
+# Copyright 2020 wainamoinen@gmail.com Liege, Belgium
+# 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.
+
+PRGNAM=JetBrainsMono
+VERSION=${VERSION:-2.001}
+BUILD=${BUILD:-1}
+TAG=${TAG:-_SBo}
+
+ARCH=noarch
+
+CWD=$(pwd)
+TMP=${TMP:-/tmp/SBo}
+PKG=$TMP/package-$PRGNAM
+OUTPUT=${OUTPUT:-/tmp}
+
+set -eu
+
+rm -rf $PKG
+mkdir -p $TMP $PKG $OUTPUT
+cd $TMP
+rm -rf $PRGNAM-$VERSION
+mkdir $PRGNAM-$VERSION
+cd $PRGNAM-$VERSION
+unzip $CWD/$PRGNAM-$VERSION.zip
+chown -R root:root .
+
+mkdir -p $PKG/usr/share/fonts/TTF
+cp -a ttf/*.ttf ttf/"No ligatures"/*.ttf ttf/Variable/*\.ttf $PKG/usr/share/fonts/TTF
+
+mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION
+cp -a LICENSE $PKG/usr/doc/$PRGNAM-$VERSION/.
+cp $CWD/README $CWD/$PRGNAM.SlackBuild $PKG/usr/doc/$PRGNAM-$VERSION/.
+
+mkdir -p $PKG/install
+cat $CWD/slack-desc > $PKG/install/slack-desc
+cat $CWD/doinst.sh > $PKG/install/doinst.sh
+
+cd $PKG
+/sbin/makepkg -l y -c n $OUTPUT/$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.${PKGTYPE:-tgz}
diff --git a/system/JetBrainsMono/JetBrainsMono.info b/system/JetBrainsMono/JetBrainsMono.info
new file mode 100644
index 0000000000..febfb8453c
--- /dev/null
+++ b/system/JetBrainsMono/JetBrainsMono.info
@@ -0,0 +1,10 @@
+PRGNAM="JetBrainsMono"
+VERSION="2.001"
+HOMEPAGE="https://www.jetbrains.com/lp/mono/"
+DOWNLOAD="https://download.jetbrains.com/fonts/JetBrainsMono-2.001.zip"
+MD5SUM="62f02985bfef43a27dbdd17641fec210"
+DOWNLOAD_x86_64=""
+MD5SUM_x86_64=""
+REQUIRES=""
+MAINTAINER="Wainamoinen"
+EMAIL="wainamoinen@gmail.com"
diff --git a/system/JetBrainsMono/README b/system/JetBrainsMono/README
new file mode 100644
index 0000000000..c8b05b84d9
--- /dev/null
+++ b/system/JetBrainsMono/README
@@ -0,0 +1,15 @@
+JetBrainsMono (a typeface for developers)
+
+JetBrains Mono's typeface forms are simple and free from unnecessary
+details. Rendered in small sizes, the text looks crisper.
+
+JetBrains Mono italic uses a 9 degree angle; this maintains the
+optimal contrast to minimize distraction and eye strain.
+
+138 code-specific ligatures to reduce noise by merging symbols and
+removing details so the eyes are processing less.
+
+A radical cut at the end of strokes fits the pixel grid better and
+gives the typeface a stricter and more 'tech' personality.
+
+https://www.jetbrains.com/lp/mono/
diff --git a/system/JetBrainsMono/doinst.sh b/system/JetBrainsMono/doinst.sh
new file mode 100644
index 0000000000..883c47ac0a
--- /dev/null
+++ b/system/JetBrainsMono/doinst.sh
@@ -0,0 +1,10 @@
+# Update the X font indexes:
+if [ -x /usr/bin/mkfontdir ]; then
+ ( cd /usr/share/fonts/TTF
+ mkfontscale .
+ mkfontdir .
+ )
+fi
+if [ -x /usr/bin/fc-cache ]; then
+ /usr/bin/fc-cache -f
+fi
diff --git a/system/JetBrainsMono/slack-desc b/system/JetBrainsMono/slack-desc
new file mode 100644
index 0000000000..192fa9d8bb
--- /dev/null
+++ b/system/JetBrainsMono/slack-desc
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description.
+# Line up the first '|' above the ':' following the base package name, and
+# the '|' on the right side marks the last column you can put a character in.
+# You must make exactly 11 lines for the formatting to be correct. It's also
+# customary to leave one space after the ':' except on otherwise blank lines.
+
+ |-----handy-ruler------------------------------------------------------|
+JetBrainsMono: JetBrainsMono (a typeface for developers)
+JetBrainsMono:
+JetBrainsMono: JetBrains Mono's typeface forms are simple and free from unnecessary
+JetBrainsMono: details. Rendered in small sizes, the text looks crisper. JetBrains
+JetBrainsMono: Mono italic uses a 9 degree angle; this maintains the optimal
+JetBrainsMono: contrast to minimize distraction and eye strain.
+JetBrainsMono: 138 code-specific ligatures. To reduce noise by merging symbols and
+JetBrainsMono: removing details so the eyes are processing less.
+JetBrainsMono: A radical cut at the end of strokes fits the pixel grid better and
+JetBrainsMono: gives the typeface a stricter and more 'tech' personality.
+JetBrainsMono:
diff --git a/system/Sl/README b/system/Sl/README
new file mode 100644
index 0000000000..97058f6a3a
--- /dev/null
+++ b/system/Sl/README
@@ -0,0 +1,24 @@
+Sl (ls with enhancements)
+
+sl takes the most common use of Unix ls, to display the files in a
+directory compactly in multiple columns, and makes it substantially
+more useful.
+
+sl groups files by purpose so you can mentally organize many files
+quickly; for instance, it collects HTML and PHP files together, as
+opposed to leaving them mixed up with supporting images, CSS, and
+JavaScript. sl points out interesting files, which include those that
+have been recently modified, read relatively recently, are relatively
+large, have warnings, or need to be checked in to or out of version
+control.
+
+sl is also aesthetically pleasing due to attention to layout and
+filtering as well as limiting color and text annotations to salient
+information.
+
+Since there's already an "sl" on SlackBuilds.org (in games/), this is
+called Sl. If you install it on a system that doesn't have games/sl
+installed, a /usr/bin/sl symlink will be created.
+
+The ".sl.tcl" referred to in the documentation is installed in the doc
+dir as "sl.tcl.example".
diff --git a/system/Sl/README.upstream b/system/Sl/README.upstream
new file mode 100644
index 0000000000..e258bfe683
--- /dev/null
+++ b/system/Sl/README.upstream
@@ -0,0 +1,223 @@
+ sl
+
+sl takes the most common use of Unix ls, to display the files in a directory
+compactly in multiple columns, and makes it substantially more useful.
+
+sl groups files by purpose so you can mentally organize many files quickly; for
+instance, it collects HTML and PHP files together, as opposed to leaving them
+mixed up with supporting images, CSS, and JavaScript. sl points out interesting
+files, which include those that have been recently modified, read relatively
+recently, are relatively large, have warnings, or need to be checked in to or
+out of version control.
+
+sl is also aesthetically pleasing due to attention to layout and filtering as
+well as limiting color and text annotations to salient information.
+
+ ----------------------------------------------------------------------------
+
+Screen Shots
+
+ls vs sl on WWW site:
+
+sl on a software development directory:
+
+sl on a collection (photos, audio, video, even apps):
+On this directory of music, which is managed by iTunes, we see all the albums by
+an artist. sl also shows /number of songs in each album, the relatively recent
+CD rips (which not coincidentally correspond to the latest two albums), which we
+ripped about 2 months ago (58 days) and 7 months ago (228 days). The summary
+line at bottom shows the total number of CDs and the (total number) of songs.
+Note that the directories were determined to hold audio material, and sorting
+works as it should with inital "The"s ignored. This display is useful for other
+kinds of hierarchy.
+
+Features
+
+ * sort
+ * group by purpose to organize and make understandable so many files
+ (like Apple II catalog arrangers, but automatically)
+ For subdirectories, look at the files they contain and if warranted
+ reclassify directory into image, audio, or video group.
+ * normalize: fold case for most groups (rather than all files starting
+ with an uppercase letter followed by all lowercase files), ignore
+ initial the/an/a, treat various word separators (space . _ -) as
+ equivalent
+ * numbers ordered properly (8.jpg before 10.jpg — no need for leading 0s
+ just for sorting)
+ * mark
+ * important (highlight in inverse colors)
+ * autosearch for keywords, such as "urgent" or "password"
+ * quickly see what's new by looking at recently changed files (think red
+ hot)
+ or recent relative to other files in that directory (think once hot now
+ still glowing orange)
+ * → files read relatively recently. The file you worked with more
+ recently than the others is often the one you're looking for now.
+ * large files relative to other files in that directory (indent by a
+ space — easy to pick out against column edge)
+ e.g., largest fonts may have CJK or extensive Unicode, largest among
+ source code may be site of heavy lifting, in directory of directories
+ call out ones with most files
+ * classification by trailing character (like ls -F): directory/, link->,
+ executable*, special_
+ * colorize directory, executable*, special (like ls -G, though more
+ subtle since have groupings and warnings)
+ * info
+ * spot info: brief, particularly relevant additional information on a
+ highly limited number of files. Since few files are targeted, this is
+ fast and avoids visual clutter. Standard spot info details the recently
+ read (-age), recently changed (<age, with < implying it may be earlier
+ if a download or sloppy copy reset the last modified time), and
+ relatively large (size-in-bytes). Per-file customizations can display,
+ for example, latest build time and build number next to Ant build.xml,
+ count of critical bugs filed against source code file, number of lines
+ in TODO list, warning if HTML has not been validated, you name it.
+ * /number of files in subdirectories, which can be a useful if rough
+ survey (this is not slow)
+ e.g., only 2 files, 1000 files, TOSORT/27, tests/27, Yosemite 2007
+ photos/316 vs Detroit photos/2
+ * summary line with counts and totals. Includes a count of .dotfiles,
+ which are rare outside of the home directory.
+ * filter
+ * ignore clutter: Emacs auto backup (like GNU ls -B), generated (Java
+ .class, C .o), C .h, Macintosh Desktop DB, TAGS
+ * identify series (like audiobook ch 01.mp3 ... audiobook ch 27.mp3) and
+ condense to first one plus count
+ e.g., DSC00423.jpg, DSC00424.jpg, DSC00427.jpg ... DSC01072.jpg ⇒
+ DSC00423.jpg...227. Also look at /dev.
+ * elision of shared prefixes reduces the amount of text to read and
+ implicitly clusters similar files. Here's one spectacular application.
+ * distill: If you are already familiar with a directory or it is very
+ large, use the -only command-line option to distill the listing to only
+ distinctive files. A file is considered distinctive if it's: recently
+ changed, recently read, a warning, or spot info. sl -only on /usr/bin
+ and OS X /Library/Fonts can be interesting.
+ * layout
+ * column widths tailored to what's needed by individual columns (as
+ opposed to uniform width by ls dictated by the single longest filename
+ in the directory), giving a more natural appearance and freeing space
+ for more columns
+ * if group title would be at bottom of column, bump to top of next column
+ if room
+ * shorten very f...ing long names if necessary to achieve multiple
+ columns. Shortened names retain the first characters of the file, file
+ suffix, and the first number which is usually a series number or year
+ or video resolution (1080p).
+ * warnings
+ * broken link X (base file moved, renamed, or deleted): symlink, ~ file
+ from Emacs backup or CVS previous version
+ * not readable by current user
+ * directory Writable by public
+ * directory not searchable/enterable (executable permission not set) by
+ current user
+ * peculiar permissions: owner can't read, group or public can write or
+ execute but not read, or owner has less permission than group or
+ public. For example, a dropbox directory may display permissions
+ rwx-wx-wx
+ * special permission bits: setuid, setgid, sticky. These are not errors,
+ but something to be aware of.
+ * file 0-length or directory is empty, directory contains only 1 file
+ (Strunk and White: "omit needless hierarchy")
+ * file has 2 or more ↠hard links. Under normal conditions, a file has
+ exactly 1 (from its parent directory).
+ * file changed vis-a-vis version control: either local copy has been
+ edited and needs to be uploaded^ to repository, or another worker
+ updated the repository rendering the local copy stale and in need of
+ downloadingv (stale files checked only in local repositories, not
+ remote servers, for performance). Support for RCS and CVS is built in,
+ and you can customize to add support for others.
+
+sl does not replace ls. Use ls to see all files and full metadata.
+
+Software
+
+for OS X, Solaris, Unix, and GNU/Linux
+Licensed under the GNU Public License version 3. NO WARRANTY.
+
+Install:
+ 1. Download software, probably to /usr/local/bin or ~/bin.
+ * v1.1.2 of February 16. Support filenames that are not UTF-8 and not
+ ASCII (thanks Christian Neukirchen).
+ * v1.1 of February 12. Support file sizes larger than 4GB on 32-bit
+ systems (thanks Giuseppe Merigo), tightened tolerances, new feature:
+ autosearch.
+ * v1.0 of January 26, 2012
+ 2. From the command line:
+
+ chmod +x download-dir/sl
+ unalias sl
+ rehash
+
+ 3. Install Tcl, if needed (which tclsh comes up empty). Install into
+ /usr/local/bin or change the first line of the sl script. Tcl is already
+ installed in OS X.
+
+Use: Now more-useful listings are as convenient to type as the usual ls.
+
+ sl directory-path
+
+Convenience: Automatically see an overview and interesting files when switching
+to a new directory:
+
+ alias cd 'cd \!*; sl'
+ alias pd 'pushd \!*; sl'
+ alias pdo 'pushd \!*; sl -only'
+
+Customization
+
+Customization is done via a startup file, at the path ~/.sl.tcl. You can control
+colors, new suffixes, localization of the most used text, switches that control
+system operation, and even exactly what is shown for every file. For example,
+here's a custom color scheme that makes files and directories brighter and
+blends the text annotations into the background.
+
+The startup file is executed as Tcl code, so you can implement substantial
+changes, such as adding support for another version control system. Rather than
+hacking the source code, it is better to put customizations in the startup file
+so that you can easily update to new versions without reapplying your hacks. Tcl
+lets you go so far as redefining whole procedures, so any change you want can be
+done in the startup file.
+ * .sl.tcl sample startup file, download to your home directory. It shows how
+ to make many of the most likely changes, as well as how to turn on features
+ that are too mind blowing to be the default settings, including prefix and
+ suffix elision.
+
+Support
+
+Troubleshooting:
+ * If you see lots of garbage that looks like ^[[31m, enable color for your
+ terminal or turn off color in your startup file.
+ * To change colors or bold on OS X, use Terminal's Preferences. Be sure to
+ pick a font that has a bold variation, such as Menlo.
+ * To view color output with less, set the LESS environment variable to include
+ --RAW-CONTROL-CHARS.
+ * Error reported no such file or directory, but file definitely exists. If you
+ have a legacy filesystem with filenames that are not encoded in Unicode
+ UTF-8 (or ASCII, which is a subset of UTF-8), you should migrate the names
+ to UTF-8 with a tool such as convmv. sl tries to handle this situation, but
+ for paths passed to it on the command line it is already too late.
+ * Previously, transposing the letters of ls was a misspelling. In some
+ systems, it resulted in a Command not found error. Some shells prepared for
+ this and aliased the transposition and other misspellings to in effect
+ autocorrect to what the user meant to type. If the output still looks like
+ ls, it's probably an alias. You can unalias in open terminals and take out
+ the line in the shell startup file. In another case, a Linux distribution
+ surprised you with ASCII art of a train. You can delete it, or if an ASCII
+ train is a key part of your problem-solving toolkit you can rename it.
+
+Known bugs:
+ * On OS X, the Spotlight search engine indexes the contents of files. As a
+ side effect of reading the content of a file, the file system updates the
+ file's last accessed time (atime). Because Spotlight is continuously
+ indexing, often within seconds of a file being changed, almost all files
+ have very recent atimes. For sl, this makes the atime useless for showing
+ recently accessed files: because everybody's special, nobody's special.
+ Spotlight should consider its work to be stealthy and reset the atime.
+ * Some file systems do not update atime, which is used to determine recently
+ read files.
+
+Send suggestions and bug reports to
+
+ ----------------------------------------------------------------------------
+
+Invented by Tom Phelps on December 30, 2011.
diff --git a/system/Sl/Sl.1 b/system/Sl/Sl.1
new file mode 100644
index 0000000000..2bf8b8e26c
--- /dev/null
+++ b/system/Sl/Sl.1
@@ -0,0 +1,110 @@
+.\" Man page generated from reStructuredText.
+.
+.TH SL 1 "2020-11-13" "1.1.3" "SlackBuilds.org"
+.SH NAME
+Sl \- ls with enhancements
+.
+.nr rst2man-indent-level 0
+.
+.de1 rstReportMargin
+\\$1 \\n[an-margin]
+level \\n[rst2man-indent-level]
+level margin: \\n[rst2man-indent\\n[rst2man-indent-level]]
+-
+\\n[rst2man-indent0]
+\\n[rst2man-indent1]
+\\n[rst2man-indent2]
+..
+.de1 INDENT
+.\" .rstReportMargin pre:
+. RS \\$1
+. nr rst2man-indent\\n[rst2man-indent-level] \\n[an-margin]
+. nr rst2man-indent-level +1
+.\" .rstReportMargin post:
+..
+.de UNINDENT
+. RE
+.\" indent \\n[an-margin]
+.\" old: \\n[rst2man-indent\\n[rst2man-indent-level]]
+.nr rst2man-indent-level -1
+.\" new: \\n[rst2man-indent\\n[rst2man-indent-level]]
+.in \\n[rst2man-indent\\n[rst2man-indent-level]]u
+..
+.\" RST source for Sl(1) man page. Convert with:
+.
+.\" rst2man.py Sl.rst > Sl.1
+.
+.\" rst2man.py comes from the SBo development/docutils package.
+.
+.SH SYNOPSIS
+.sp
+Sl [\fB\-1\fP] [\fB\-a\fP] [\fB\-atime\fP] [\fB\-only\fP] [\fB\-startup\fP] \fIstartup\-file\fP [\fB\-width\fP] \fIterminal\-width\fP [\fB\-log\fP] [\fB\-version\fP]
+.SH SBO NOTE
+.sp
+\fBSl\fP may also be run as \fBsl\fP, unless \fIgames/sl\fP is installed. The
+documentation here uses the lowercase version of the name.
+.SH DESCRIPTION
+.sp
+sl takes the most common use of Unix ls, to display the files in a
+directory compactly in multiple columns, and makes it substantially
+more useful.
+.sp
+sl groups files by purpose so you can mentally organize many files
+quickly; for instance, it collects HTML and PHP files together, as
+opposed to leaving them mixed up with supporting images, CSS, and
+JavaScript. sl points out interesting files, which include those that
+have been recently modified, read relatively recently, are relatively
+large, have warnings, or need to be checked in to or out of version
+control.
+.sp
+sl is also aesthetically pleasing due to attention to layout and
+filtering as well as limiting color and text annotations to salient
+information.
+.SH OPTIONS
+.INDENT 0.0
+.TP
+.B \fB\-1\fP
+Single column output (same as ls)
+.TP
+.B \fB\-a\fP
+Show hidden (dot) files (same as ls)
+.TP
+.B \fB\-atime\fP
+Use access time instead of modification time, for marking "recent" files.
+.TP
+.B \fB\-only\fP
+Don\(aqt show summary (e.g. "6 files, 11K") at the end of the output
+.TP
+.B \fB\-startup\fP \fIfile.tcl\fP
+Use this startup file instead of \fI~/.sl.tcl\fP\&.
+.TP
+.B \fB\-width\fP \fIterminal\-width\fP
+Assume the terminal is this many columns wide. Default is to query the
+terminal via \fBstty(1)\fP, or the \fB$COLUMNS\fP environment variable.
+.TP
+.B \fB\-log\fP
+Print some debugging info (probably only useful if you\(aqre hacking sl\(aqs code)
+.TP
+.B \fB\-version\fP
+Output version number
+.UNINDENT
+.SH FILES
+.INDENT 0.0
+.TP
+.B \fB~/.sl.tcl\fP
+Startup file. See /usr/doc/Sl\-1.1.3/sl.tcl.example.
+.UNINDENT
+.SH COPYRIGHT
+.sp
+sl is licensed under the GNU Public License version 3.
+.SH AUTHORS
+.sp
+sl was written by Tom Phelps.
+.sp
+This man page written for the SlackBuilds.org project
+by B. Watson, and is licensed under the WTFPL.
+.SH SEE ALSO
+.sp
+The complete documentation: /usr/doc/Sl\-1.1.3/README.upstream
+.\" Generated by docutils manpage writer.
+.
diff --git a/system/Sl/Sl.SlackBuild b/system/Sl/Sl.SlackBuild
new file mode 100644
index 0000000000..6dfc1440e3
--- /dev/null
+++ b/system/Sl/Sl.SlackBuild
@@ -0,0 +1,52 @@
+#!/bin/sh
+
+# Slackware build script for Sl
+
+# Written by B. Watson (yalhcru@gmail.com)
+
+# Licensed under the WTFPL. See http://www.wtfpl.net/txt/copying/ for details.
+
+# There's already an "sl" on SBo, so this is named Sl. The version number
+# comes from the -version option.
+
+PRGNAM=Sl
+VERSION=${VERSION:-1.1.3}
+BUILD=${BUILD:-1}
+TAG=${TAG:-_SBo}
+ARCH=noarch
+
+CWD=$(pwd)
+TMP=${TMP:-/tmp/SBo}
+PKG=$TMP/package-$PRGNAM
+OUTPUT=${OUTPUT:-/tmp}
+
+SRCNAM="sl"
+
+PKGBIN=$PKG/usr/bin
+PKGMAN1=$PKG/usr/man/man1
+PKGDOC=$PKG/usr/doc/$PRGNAM-$VERSION
+PKGINST=$PKG/install
+
+set -e
+
+rm -rf $PKG
+mkdir -p $OUTPUT $PKGBIN $PKGDOC $PKGMAN1 $PKGINST
+
+# Look, Ma, no source directory!
+cat $SRCNAM > $PKGBIN/$PRGNAM
+chmod 755 $PKGBIN/$PRGNAM
+
+gzip -9c < $PRGNAM.1 > $PKGMAN1/$PRGNAM.1.gz
+
+# README.upstream is just a text rendition of the homepage, sl.tcl-example
+# is linked to by the homepage.
+cat README.upstream > $PKGDOC/README.txt
+cat sl.tcl.example > $PKGDOC/sl.tcl.example
+cat README > $PKGDOC/README_SBo.txt
+cat $PRGNAM.SlackBuild > $PKGDOC/$PRGNAM.SlackBuild
+
+cat slack-desc > $PKGINST/slack-desc
+cat doinst.sh > $PKGINST/doinst.sh
+
+cd $PKG
+/sbin/makepkg -l y -c n $OUTPUT/$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.${PKGTYPE:-tgz}
diff --git a/system/Sl/Sl.info b/system/Sl/Sl.info
new file mode 100644
index 0000000000..37bd254292
--- /dev/null
+++ b/system/Sl/Sl.info
@@ -0,0 +1,10 @@
+PRGNAM="Sl"
+VERSION="1.1.3"
+HOMEPAGE="http://web.archive.org/web/20131228142311/http://practicalthought.com/sl/"
+DOWNLOAD="http://web.archive.org/web/20150726011829/http://practicalthought.com:80/sl/sl"
+MD5SUM="ed4c22a531e957c95df5f41206d6ed2f"
+DOWNLOAD_x86_64=""
+MD5SUM_x86_64=""
+REQUIRES=""
+MAINTAINER="B. Watson"
+EMAIL="yalhcru@gmail.com"
diff --git a/system/Sl/Sl.rst b/system/Sl/Sl.rst
new file mode 100644
index 0000000000..c6d417d809
--- /dev/null
+++ b/system/Sl/Sl.rst
@@ -0,0 +1,101 @@
+.. RST source for Sl(1) man page. Convert with:
+.. rst2man.py Sl.rst > Sl.1
+.. rst2man.py comes from the SBo development/docutils package.
+
+.. |version| replace:: 1.1.3
+.. |date| date::
+
+==
+Sl
+==
+
+--------------------
+ls with enhancements
+--------------------
+
+:Manual section: 1
+:Manual group: SlackBuilds.org
+:Date: |date|
+:Version: |version|
+
+SYNOPSIS
+========
+
+Sl [**-1**] [**-a**] [**-atime**] [**-only**] [**-startup**] *startup-file* [**-width**] *terminal-width* [**-log**] [**-version**]
+
+SBO NOTE
+========
+
+**Sl** may also be run as **sl**, unless *games/sl* is installed. The
+documentation here uses the lowercase version of the name.
+
+DESCRIPTION
+===========
+
+sl takes the most common use of Unix ls, to display the files in a
+directory compactly in multiple columns, and makes it substantially
+more useful.
+
+sl groups files by purpose so you can mentally organize many files
+quickly; for instance, it collects HTML and PHP files together, as
+opposed to leaving them mixed up with supporting images, CSS, and
+JavaScript. sl points out interesting files, which include those that
+have been recently modified, read relatively recently, are relatively
+large, have warnings, or need to be checked in to or out of version
+control.
+
+sl is also aesthetically pleasing due to attention to layout and
+filtering as well as limiting color and text annotations to salient
+information.
+
+OPTIONS
+=======
+
+**-1**
+ Single column output (same as ls)
+
+**-a**
+ Show hidden (dot) files (same as ls)
+
+**-atime**
+ Use access time instead of modification time, for marking "recent" files.
+
+**-only**
+ Don't show summary (e.g. "6 files, 11K") at the end of the output
+
+**-startup** *file.tcl*
+ Use this startup file instead of *~/.sl.tcl*.
+
+**-width** *terminal-width*
+ Assume the terminal is this many columns wide. Default is to query the
+ terminal via **stty(1)**, or the **$COLUMNS** environment variable.
+
+**-log**
+ Print some debugging info (probably only useful if you're hacking sl's code)
+
+**-version**
+ Output version number
+
+FILES
+=====
+
+**~/.sl.tcl**
+ Startup file. See /usr/doc/Sl-|version|/sl.tcl.example.
+
+COPYRIGHT
+=========
+
+sl is licensed under the GNU Public License version 3.
+
+AUTHORS
+=======
+
+sl was written by Tom Phelps.
+
+This man page written for the SlackBuilds.org project
+by B. Watson, and is licensed under the WTFPL.
+
+SEE ALSO
+========
+
+The complete documentation: /usr/doc/Sl-|version|/README.upstream
diff --git a/system/Sl/doinst.sh b/system/Sl/doinst.sh
new file mode 100644
index 0000000000..604a5c77f7
--- /dev/null
+++ b/system/Sl/doinst.sh
@@ -0,0 +1,8 @@
+# If there's no sl link, take over:
+if [ ! -r usr/games/sl ]; then
+ ( cd usr/bin ; rm -rf sl )
+ ( cd usr/bin ; ln -sf Sl sl )
+ ( cd usr/man/man1 ; rm -rf sl.1.gz )
+ ( cd usr/man/man1 ; ln -sf Sl.1.gz sl.1.gz )
+fi
+
diff --git a/system/Sl/sl.tcl.example b/system/Sl/sl.tcl.example
new file mode 100644
index 0000000000..d5e0adf99d
--- /dev/null
+++ b/system/Sl/sl.tcl.example
@@ -0,0 +1,110 @@
+#
+# runtime configuration file for sl (http://www.PracticalThought.com/sl/)
+#
+
+
+
+# 1. override variables
+
+# turn off color
+#set COLORIZE 0
+
+# if your terminal supports Unicode characters, use them
+set I18N(...) "\u2026"
+
+set SWITCH(title) 1 ;# turn on prettyname
+set SWITCH(nosfx) 1 ;# once you know it's audio or video, don't care what arcane file format it is
+set SWITCH(prefix) 3 ;# turn on prefix elision
+
+# if your terminal supports 256 colors, these may be preferable
+# For other color codes, see colortest (http://www.vim.org/scripts/script.php?script_id=1349).
+array set STYLE {
+ file ";38;5;28" dir ";38;5;20"
+ relrec,file ";38;5;202" relrec,dir ";38;5;202"
+ warning ";38;5;196"
+ post ";38;5;232"
+}
+
+
+# add names to highlight or not show at all
+#append NOTABLE {|TODO$|notes|TOSORT}
+#append IGNORE {|^(tmp|old|obsolete|ignore|bkup)$}
+
+#set K 1000; # set K/M/G/T size suffixes to base 10 vs base 2
+
+# set TIME(recent) [expr $TIME(DAY)*2]
+
+#set COLSEP 4
+#set NAMEMIN 1000; # turn off name shortening
+
+# see supporting files like C .h and .o
+#set SWITCH(ignore) 2
+
+# consider .xml a document, not data
+#set EQ(.xml) doc
+
+# some Linux file systems do not update atime, so turn off to avoid stale information
+#set SWITCH(relread) 0
+
+# L10N
+set I18N(file) fecho
+
+
+
+# 2. per file hook to override properties
+# startup file gets tuple for each file fully loaded with data, just before display, to modify as he pleases
+proc perfile {dir tuple} {
+ global EQ
+
+ # a. unpack
+ lassign $tuple tail sfx type group sortkey style pre display warning post size mtime atime
+
+
+ # b. your changes here
+
+ # example: negate dir reclassification
+ if {$type=="directory"} {set group "dir"}
+
+ # example: show #lines of selected file
+ if {$tail=="sl" && $type=="file"} {
+ append post " [lindex [exec wc sl] 0]l"
+
+ # example: on Ant build.xml, show date and number of last build (<buildnumber /> task)
+ } elseif {$tail=="build.xml" && [file readable [set f "$dir/build.number"]]} {
+ set fid [open $f]; set txt [read $fid]; close $fid
+#puts $txt
+ regexp {build.number=(\d+)} $txt all num
+ if {$num!=""} {append post " #$num"}
+ append post "[reltime [file mtime $f]]"
+ }
+
+ # example: auto search for filename matching regexp and highlight (show in black on magenta background)
+ #if {[regexp -nocase {license|password} $tail]} {set style ";30;46"}
+
+ # example: local naming convention that puts date at start of file in form yyyymmdd-filename,
+ # but problematic for sorting by Tcl lsort -dictionary, so reformat
+ regsub {^(19|20)(\d\d)(\d\d)(\d\d\D)} $sortkey {\1\2.\3.\4} sortkey
+ regsub {^(19|20)(\d\d)(\d\d\D)} $sortkey {\1\2.\3} sortkey
+
+
+ # c. repack
+ return [list $tail $sfx $type $group $sortkey $style $pre $display $warning $post $size $mtime $atime]
+}
+
+
+
+# 3. redefine procs
+
+#proc vc {} ...
+
+# turn off series construction
+#set SWITCH(series) 0
+
+# change how names are shortened
+#proc shorten {txt w} {}
+
+# classify dir as plain dir, not audio/video and not separate uppercase/lowercase
+#proc classifydir {dir tail l} {return "dir"}
+
+# change evaluation of what constitutes a distinctive file for -only
+#proc distinctive {tuple} {return 1}
diff --git a/system/Sl/slack-desc b/system/Sl/slack-desc
new file mode 100644
index 0000000000..4b629ecc80
--- /dev/null
+++ b/system/Sl/slack-desc
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description.
+# Line up the first '|' above the ':' following the base package name, and
+# the '|' on the right side marks the last column you can put a character in.
+# You must make exactly 11 lines for the formatting to be correct. It's also
+# customary to leave one space after the ':' except on otherwise blank lines.
+
+ |-----handy-ruler------------------------------------------------------|
+Sl: Sl (ls with enhancements)
+Sl:
+Sl: sl takes the most common use of Unix ls, to display the files in a
+Sl: directory compactly in multiple columns, and makes it substantially
+Sl: more useful.
+Sl:
+Sl: sl groups files by purpose so you can mentally organize many files
+Sl: quickly; for instance, it collects HTML and PHP files together, as
+Sl: opposed to leaving them mixed up with supporting images, CSS, and
+Sl: JavaScript.
+Sl:
diff --git a/system/Solaar/README b/system/Solaar/README
new file mode 100644
index 0000000000..cb67a12858
--- /dev/null
+++ b/system/Solaar/README
@@ -0,0 +1,26 @@
+Solaar is a Linux device manager for Logitech's Unifying Receiver
+peripherals. It is able to pair/unpair devices to the receiver, and for
+most devices read battery status.
+
+It comes in two flavors, command-line and GUI. Both are able to list the
+devices paired to a Unifying Receiver, show detailed info for each
+device, and also pair/unpair supported devices with the receiver.
+
+Solaar will detect all devices paired with your Unifying Receiver, and
+at the very least display some basic information about them. For some
+devices, extra settings (usually not available through the standard
+Linux system configuration) are supported.
+
+By default, the udev rule
+/etc/udev/rules.d/42-logitech-unifying-receiver.rules
+allows all members of the plugdev group to have read/write access to the
+Unifying Receiver device. Therefore, make sure all desktop users are
+part of the plugdev group:
+usermod -a -G plugdev <username>
+
+After installation, you must physically remove the Unifying Receiver and
+re-insert it for the device node permissions to take effect for the
+first time.
+
+NOTE: As of 1.0.2 Solaar has moved to python3, so all of its
+dependencies must be built with python3 support.
diff --git a/system/Solaar/Solaar.SlackBuild b/system/Solaar/Solaar.SlackBuild
new file mode 100644
index 0000000000..02f2eb1027
--- /dev/null
+++ b/system/Solaar/Solaar.SlackBuild
@@ -0,0 +1,78 @@
+#!/bin/sh
+
+# Slackware build script for Solaar
+
+# Copyright 2019-2020 Erich Ritz, Scottsdale, Arizona, 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.
+
+PRGNAM=Solaar
+VERSION=${VERSION:-1.0.4}
+BUILD=${BUILD:-1}
+TAG=${TAG:-_SBo}
+
+if [ -z "$ARCH" ]; then
+ case "$( uname -m )" in
+ i?86) ARCH=i586 ;;
+ arm*) ARCH=arm ;;
+ *) ARCH=$( uname -m ) ;;
+ esac
+fi
+
+CWD=$(pwd)
+TMP=${TMP:-/tmp/SBo}
+PKG=$TMP/package-$PRGNAM
+OUTPUT=${OUTPUT:-/tmp}
+
+set -e
+
+rm -rf $PKG
+mkdir -p $TMP $PKG $OUTPUT
+cd $TMP
+rm -rf $PRGNAM-$VERSION
+if [ -e $CWD/$VERSION.tar.gz ]; then
+ tar xvf $CWD/$VERSION.tar.gz
+else
+ tar xvf $CWD/$PRGNAM-$VERSION.tar.gz
+fi
+cd $PRGNAM-$VERSION
+chown -R root:root .
+find -L . \
+ \( -perm 777 -o -perm 775 -o -perm 750 -o -perm 711 -o -perm 555 \
+ -o -perm 511 \) -exec chmod 755 {} \; -o \
+ \( -perm 666 -o -perm 664 -o -perm 640 -o -perm 600 -o -perm 444 \
+ -o -perm 440 -o -perm 400 \) -exec chmod 644 {} \;
+
+python3 setup.py install --root=$PKG
+
+mkdir -p $PKG/etc/udev/rules.d
+cp -a rules.d/42-logitech-unify-permissions.rules $PKG/etc/udev/rules.d
+
+mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION
+cp -a \
+ COPYING COPYRIGHT ChangeLog README.md \
+ $PKG/usr/doc/$PRGNAM-$VERSION
+cat $CWD/$PRGNAM.SlackBuild > $PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM.SlackBuild
+
+mkdir -p $PKG/install
+cat $CWD/slack-desc > $PKG/install/slack-desc
+cat $CWD/doinst.sh > $PKG/install/doinst.sh
+
+cd $PKG
+/sbin/makepkg -l y -c n $OUTPUT/$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.${PKGTYPE:-tgz}
diff --git a/system/Solaar/Solaar.info b/system/Solaar/Solaar.info
new file mode 100644
index 0000000000..b42550bf28
--- /dev/null
+++ b/system/Solaar/Solaar.info
@@ -0,0 +1,10 @@
+PRGNAM="Solaar"
+VERSION="1.0.4"
+HOMEPAGE="https://pwr-solaar.github.io/Solaar/"
+DOWNLOAD="https://github.com/pwr-Solaar/Solaar/archive/1.0.4/Solaar-1.0.4.tar.gz"
+MD5SUM="da7074a03814b42372b6aea31078c9f7"
+DOWNLOAD_x86_64=""
+MD5SUM_x86_64=""
+REQUIRES="pyudev pygobject3-python3"
+MAINTAINER="Erich Ritz"
+EMAIL="erich.public@protonmail.com"
diff --git a/system/fs-uae-arcade/doinst.sh b/system/Solaar/doinst.sh
index 65c7e2eeb9..65c7e2eeb9 100644
--- a/system/fs-uae-arcade/doinst.sh
+++ b/system/Solaar/doinst.sh
diff --git a/system/Solaar/slack-desc b/system/Solaar/slack-desc
new file mode 100644
index 0000000000..d532bc432d
--- /dev/null
+++ b/system/Solaar/slack-desc
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description.
+# Line up the first '|' above the ':' following the base package name, and
+# the '|' on the right side marks the last column you can put a character in.
+# You must make exactly 11 lines for the formatting to be correct. It's also
+# customary to leave one space after the ':' except on otherwise blank lines.
+
+ |-----handy-ruler------------------------------------------------------|
+Solaar: Solaar (Linux device manager for Logitech's Unifying Receiver periphs)
+Solaar:
+Solaar: Solaar is a Linux device manager for Logitech's Unifying Receiver
+Solaar: peripherals. It is able to pair/unpair devices to the receiver, and
+Solaar: for most devices read battery status.
+Solaar:
+Solaar: It comes in two flavors, command-line and GUI. Both are able to list
+Solaar: the devices paired to a Unifying Receiver, show detailed info for each
+Solaar: device, and alos pair/unpair supported devices with the receiver.
+Solaar:
+Solaar: Homepage: https://pwr-solaar.github.io/Solaar/
diff --git a/system/ZoneMinder/ZoneMinder.info b/system/ZoneMinder/ZoneMinder.info
index a9356391b8..5e2c800c75 100644
--- a/system/ZoneMinder/ZoneMinder.info
+++ b/system/ZoneMinder/ZoneMinder.info
@@ -1,7 +1,7 @@
PRGNAM="ZoneMinder"
VERSION="1.32.2"
HOMEPAGE="https://www.ZoneMinder.com"
-DOWNLOAD="http://urchlay.naptime.net/~urchlay/src/ZoneMinder-1.32.2.tar.gz \
+DOWNLOAD="https://slackware.uk/~urchlay/src/ZoneMinder-1.32.2.tar.gz \
http://www.andywilcock.com/code/cambozola/cambozola-0.936.tar.gz \
https://downloads.sourceforge.net/jscalendar/jscalendar-1.0.zip"
MD5SUM="fc986fcb7601d3fe463a2970ead67cf7 \
diff --git a/system/ack/ack.SlackBuild b/system/ack/ack.SlackBuild
index e86888926c..7d14084397 100644
--- a/system/ack/ack.SlackBuild
+++ b/system/ack/ack.SlackBuild
@@ -1,7 +1,8 @@
#!/bin/sh
# Slackware build script for ack
-# Copyright 2013-2019 Matteo Bernardini <ponce@slackbuilds.org>, Pisa, Italy
+
+# Copyright 2013-2020 Matteo Bernardini <ponce@slackbuilds.org>, Pisa, Italy
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
@@ -22,7 +23,7 @@
# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
PRGNAM=ack
-VERSION=${VERSION:-3.0.2}
+VERSION=${VERSION:-3.4.0}
BUILD=${BUILD:-1}
TAG=${TAG:-_SBo}
diff --git a/system/ack/ack.info b/system/ack/ack.info
index e55e27b337..887de2ab3d 100644
--- a/system/ack/ack.info
+++ b/system/ack/ack.info
@@ -1,8 +1,8 @@
PRGNAM="ack"
-VERSION="3.0.2"
+VERSION="3.4.0"
HOMEPAGE="https://beyondgrep.com"
-DOWNLOAD="https://beyondgrep.com/ack-v3.0.2"
-MD5SUM="0fed116cb8a53825e041b4a04d282849"
+DOWNLOAD="https://beyondgrep.com/ack-v3.4.0"
+MD5SUM="f8537c7a1a89749f0130627cb7de1515"
DOWNLOAD_x86_64=""
MD5SUM_x86_64=""
REQUIRES=""
diff --git a/system/acpi_call/acpi_call.SlackBuild b/system/acpi_call/acpi_call.SlackBuild
index 9be2bed29b..cbba19ee17 100644
--- a/system/acpi_call/acpi_call.SlackBuild
+++ b/system/acpi_call/acpi_call.SlackBuild
@@ -65,6 +65,7 @@ find -L . \
-o -perm 440 -o -perm 400 \) -exec chmod 644 {} \;
patch -p0 < $CWD/fix-acpi-include.patch
+patch -p0 < $CWD/fix-5.x-kernel.patch
make KDIR=$KERNELPATH
diff --git a/system/acpi_call/fix-5.x-kernel.patch b/system/acpi_call/fix-5.x-kernel.patch
new file mode 100644
index 0000000000..5ed4392857
--- /dev/null
+++ b/system/acpi_call/fix-5.x-kernel.patch
@@ -0,0 +1,29 @@
+--- acpi_call.c.orig 2020-10-28 23:05:01.875849692 +0100
++++ acpi_call.c 2020-10-28 23:07:50.658179392 +0100
+@@ -7,6 +7,7 @@
+ #include <linux/slab.h>
+ #include <asm/uaccess.h>
+ #include <linux/acpi.h>
++#include <linux/uaccess.h>
+
+ MODULE_LICENSE("GPL");
+
+@@ -317,11 +318,18 @@
+ return ret;
+ }
+
++#if LINUX_VERSION_CODE >= KERNEL_VERSION(5, 6, 0)
++static struct proc_ops proc_acpi_operations = {
++ .proc_read = acpi_proc_read,
++ .proc_write = acpi_proc_write,
++};
++#else
+ static struct file_operations proc_acpi_operations = {
+ .owner = THIS_MODULE,
+ .read = acpi_proc_read,
+ .write = acpi_proc_write,
+ };
++#endif
+
+ #else
+ static int acpi_proc_read(char *page, char **start, off_t off,
diff --git a/system/acpitool/acpitool.SlackBuild b/system/acpitool/acpitool.SlackBuild
index 2158cdd3a9..9f1d0e1865 100644
--- a/system/acpitool/acpitool.SlackBuild
+++ b/system/acpitool/acpitool.SlackBuild
@@ -1,6 +1,8 @@
#!/bin/sh
# Copyright 2007 by ktabic (rdc@ktabic.co.uk)
+# Copyright 2020 Ricardo J. Barberis <ricardo.barberis@gmail.com>
+
# Permission to use, copy, modify, and distribute this software for
# any purpose with or without fee is hereby granted, provided that
# the above copyright notice and this permission notice appear in all
diff --git a/system/acpitool/acpitool.info b/system/acpitool/acpitool.info
index dc3b540b34..6b9e652e62 100644
--- a/system/acpitool/acpitool.info
+++ b/system/acpitool/acpitool.info
@@ -6,5 +6,5 @@ MD5SUM="9e4ec55201be0be71ffbc56d38b42b57"
DOWNLOAD_x86_64=""
MD5SUM_x86_64=""
REQUIRES=""
-MAINTAINER="Rodney Cobb"
-EMAIL="rdc@ktabic.co.uk"
+MAINTAINER="Ricardo J. Barberis"
+EMAIL="ricardo.barberis@gmail.com"
diff --git a/system/adobe-source-sans-pro-font/adobe-source-sans-pro-font.SlackBuild b/system/adobe-source-sans-pro-font/adobe-source-sans-pro-font.SlackBuild
index 8da987f567..01520ef778 100644
--- a/system/adobe-source-sans-pro-font/adobe-source-sans-pro-font.SlackBuild
+++ b/system/adobe-source-sans-pro-font/adobe-source-sans-pro-font.SlackBuild
@@ -1,6 +1,7 @@
#!/bin/sh
# Copyright (c) 2012 Daniel LEVAI
+# Copyright (c) 2020 Matteo Bernardini <ponce@slackbuilds.org>, Pisa, Italy
# All rights reserved.
#
# * Redistribution and use in source and binary forms, with or without
@@ -22,23 +23,10 @@
# 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.
-#
-# Currently maintained by Dugan Chen.
PRGNAM=adobe-source-sans-pro-font
-
-# The version in the tarball
-SRCVERSION=${VERSION:-1.065R-it}
-
-# The version in the package
-VERSION=${PKG_VERSION:-2.010.ro.1.065.it}
-
-# The version in the untarred source directory
-SRC_VERSION=2.010R-ro-1.065R-it
-
-SRC=${SRCVERSION}.tar.gz
-SRCDIR=source-sans-pro-${SRC_VERSION}
-
+SRCNAM=source-sans-pro
+VERSION=${VERSION:-3.006R}
BUILD=${BUILD:-1}
TAG=${TAG:-_SBo}
@@ -54,9 +42,9 @@ set -e
rm -rf $PKG
mkdir -p $TMP $PKG $OUTPUT
cd $TMP
-rm -rf ${SRCDIR}
-tar xvf $CWD/$SRC || tar xvf $CWD/$SRCDIR.tar.gz
-cd $SRCDIR
+rm -rf $SRCNAM-$VERSION
+tar xvf $CWD/$SRCNAM-$VERSION.tar.?z*
+cd $SRCNAM-$VERSION
chown -R root:root .
find -L . \
\( -perm 777 -o -perm 775 -o -perm 750 -o -perm 711 -o -perm 555 \
@@ -64,11 +52,11 @@ find -L . \
\( -perm 666 -o -perm 664 -o -perm 640 -o -perm 600 -o -perm 444 \
-o -perm 440 -o -perm 400 \) -exec chmod 644 {} \;
-mkdir -p $PKG/usr/share/fonts/OTF/
-cp OTF/*.otf $PKG/usr/share/fonts/OTF/
+mkdir -p $PKG/usr/share/fonts/OTF
+cp OTF/*.otf VAR/*.otf $PKG/usr/share/fonts/OTF/
mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION
-cp -a LICENSE.txt ReadMe.html SourceSansProReadMe.html $PKG/usr/doc/$PRGNAM-$VERSION
+cp -a *.md $PKG/usr/doc/$PRGNAM-$VERSION
cat $CWD/$PRGNAM.SlackBuild > $PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM.SlackBuild
mkdir -p $PKG/install
diff --git a/system/adobe-source-sans-pro-font/adobe-source-sans-pro-font.info b/system/adobe-source-sans-pro-font/adobe-source-sans-pro-font.info
index f8916d79a3..f7cdb2b4ca 100644
--- a/system/adobe-source-sans-pro-font/adobe-source-sans-pro-font.info
+++ b/system/adobe-source-sans-pro-font/adobe-source-sans-pro-font.info
@@ -1,8 +1,8 @@
PRGNAM="adobe-source-sans-pro-font"
-VERSION="2.010.ro.1.065.it"
+VERSION="3.006R"
HOMEPAGE="http://adobe-fonts.github.io/source-sans-pro"
-DOWNLOAD="https://github.com/adobe-fonts/source-sans-pro/archive/2.010R-ro/1.065R-it.tar.gz"
-MD5SUM="5dfa6f327cdd4cb363f8887493696a4c"
+DOWNLOAD="https://github.com/adobe-fonts/source-sans-pro/archive/3.006R/source-sans-pro-3.006R.tar.gz"
+MD5SUM="7e8b5f1898287eb5242645abfdeb527b"
DOWNLOAD_x86_64=""
MD5SUM_x86_64=""
REQUIRES=""
diff --git a/system/afio/README b/system/afio/README
index 51e85268ab..6ff9ad41b5 100644
--- a/system/afio/README
+++ b/system/afio/README
@@ -1,8 +1,8 @@
-Afio makes compressed archives that are safer than compressed tar or
-cpio archives, allowing better handling of input data corruption. Afio
+Afio makes compressed archives that are safer than compressed tar or
+cpio archives, allowing better handling of input data corruption. Afio
also supports multi-volume archives during interactive operation.
-Afio makes cpio archives with ASCII-formatted header information (odc).
-Where the odc format cannot represent some files and file properties
-that could be present on a modern UNIX filesystem, it uses an afio-
+Afio makes cpio archives with ASCII-formatted header information (odc).
+Where the odc format cannot represent some files and file properties
+that could be present on a modern UNIX filesystem, it uses an afio-
specific 'large ASCII' header for the files concerned.
diff --git a/system/afio/afio.SlackBuild b/system/afio/afio.SlackBuild
index a22fb9c783..c6b9c4e6ba 100644
--- a/system/afio/afio.SlackBuild
+++ b/system/afio/afio.SlackBuild
@@ -5,13 +5,13 @@
# Written by ruario <sbo@ruari.com>
PRGNAM=afio
-VERSION=${VERSION:-2.5.1}
+VERSION=${VERSION:-2.5.2}
BUILD=${BUILD:-1}
TAG=${TAG:-_SBo}
if [ -z "$ARCH" ]; then
case "$( uname -m )" in
- i?86) ARCH=i486 ;;
+ i?86) ARCH=i586 ;;
arm*) ARCH=arm ;;
*) ARCH=$( uname -m ) ;;
esac
@@ -38,7 +38,7 @@ rm -rf $PKG
mkdir -p $TMP $PKG $OUTPUT
cd $TMP
rm -rf $PRGNAM-$VERSION
-tar xvf $CWD/$PRGNAM-$VERSION.tgz
+tar xvf $CWD/v$VERSION.tar.gz
cd $PRGNAM-$VERSION
chown -R root:root .
find -L . \
diff --git a/system/afio/afio.info b/system/afio/afio.info
index 161531dea5..93f2229d06 100644
--- a/system/afio/afio.info
+++ b/system/afio/afio.info
@@ -1,8 +1,8 @@
PRGNAM="afio"
-VERSION="2.5.1"
-HOMEPAGE="http://members.chello.nl/~k.holtman/afio.html"
-DOWNLOAD="http://members.chello.nl/~k.holtman/afio-2.5.1.tgz"
-MD5SUM="03a04d7b16684dce6c628eba5a4c7c93"
+VERSION="2.5.2"
+HOMEPAGE="https://github.com/kholtman/afio"
+DOWNLOAD="https://github.com/kholtman/afio/archive/v2.5.2.tar.gz"
+MD5SUM="2ab7c66d2b6c100aef5fce596baf2247"
DOWNLOAD_x86_64=""
MD5SUM_x86_64=""
REQUIRES=""
diff --git a/system/agedu/agedu.SlackBuild b/system/agedu/agedu.SlackBuild
index 86fb1bc893..ad6f833c72 100644
--- a/system/agedu/agedu.SlackBuild
+++ b/system/agedu/agedu.SlackBuild
@@ -6,6 +6,9 @@
# Licensed under the WTFPL. See http://www.wtfpl.net/txt/copying/ for details.
+# 20201025 bkw: Update for v20200705.2a7d4a2.
+# 20200302 bkw: Update for v20200206.963bc9d.
+# 20191130 bkw: Update for v20190630.66cb14d.
# 20180918 bkw: Update for v20180918.80c7beb.
# 20180612 bkw: Update for v20180522.5b12791.
# 20171219 bkw: Update for v20171202.8a8299e.
@@ -13,7 +16,7 @@
# as upstream deletes the old version as soon as a new one is released.
PRGNAM=agedu
-VERSION=${VERSION:-20180918.80c7beb}
+VERSION=${VERSION:-20200705.2a7d4a2}
BUILD=${BUILD:-1}
TAG=${TAG:-_SBo}
diff --git a/system/agedu/agedu.info b/system/agedu/agedu.info
index 0646ba10fe..0570282f19 100644
--- a/system/agedu/agedu.info
+++ b/system/agedu/agedu.info
@@ -1,8 +1,8 @@
PRGNAM="agedu"
-VERSION="20180918.80c7beb"
+VERSION="20200705.2a7d4a2"
HOMEPAGE="https://www.chiark.greenend.org.uk/~sgtatham/agedu/"
-DOWNLOAD="http://urchlay.naptime.net/~urchlay/src/agedu-20180918.80c7beb.tar.gz"
-MD5SUM="7f4671dab1e8896b780f37166aba5f1f"
+DOWNLOAD="https://slackware.uk/~urchlay/src/agedu-20200705.2a7d4a2.tar.gz"
+MD5SUM="db17b0c0a7ee222e54e02e6a53ac10d7"
DOWNLOAD_x86_64=""
MD5SUM_x86_64=""
REQUIRES=""
diff --git a/system/aha/aha.SlackBuild b/system/aha/aha.SlackBuild
index 3650feb9c5..360d780e10 100644
--- a/system/aha/aha.SlackBuild
+++ b/system/aha/aha.SlackBuild
@@ -7,13 +7,14 @@
# Licensed under the WTFPL. See http://www.wtfpl.net/txt/copying/
# for details.
+# 20200927 bkw: update for 0.5.1
# 20181201 bkw: update for 0.5
# 20170328 bkw: update for 0.4.10.6, use 'make install' instead of manually
# 20170301 bkw: update for 0.4.10.5, use long-form github URL
# 20170122 bkw: update for 0.4.10.3
PRGNAM=aha
-VERSION=${VERSION:-0.5}
+VERSION=${VERSION:-0.5.1}
BUILD=${BUILD:-1}
TAG=${TAG:-_SBo}
diff --git a/system/aha/aha.info b/system/aha/aha.info
index de779cecc8..ad321b92ed 100644
--- a/system/aha/aha.info
+++ b/system/aha/aha.info
@@ -1,8 +1,8 @@
PRGNAM="aha"
-VERSION="0.5"
+VERSION="0.5.1"
HOMEPAGE="https://github.com/theZiz/aha"
-DOWNLOAD="https://github.com/theZiz/aha/archive/0.5/aha-0.5.tar.gz"
-MD5SUM="bac3269f6ec0218a62e4379ed9253c8a"
+DOWNLOAD="https://github.com/theZiz/aha/archive/0.5.1/aha-0.5.1.tar.gz"
+MD5SUM="ec74d076dd6c5e3a9a8b5e2cb1e2a48d"
DOWNLOAD_x86_64=""
MD5SUM_x86_64=""
REQUIRES=""
diff --git a/system/aide/aide.SlackBuild b/system/aide/aide.SlackBuild
index b87c666081..a03e45be96 100644
--- a/system/aide/aide.SlackBuild
+++ b/system/aide/aide.SlackBuild
@@ -2,11 +2,11 @@
# Slackware build script for AIDE
# Andy Bailey <GooseYArd@gmail.com>
-# Emmanuel N. Millan <emmanueln@gmail.com> - 2018,2019
+# Emmanuel N. Millan <emmanueln@gmail.com> - 2018,2021
PRGNAM=aide
#PKGVER=`basename $PRGNAM*tar.gz .tar.gz | cut -d- -f2`
-VERSION=${VERSION:-0.16.2}
+VERSION=${VERSION:-0.17.3}
BUILD=${BUILD:-1}
TAG=${TAG:-_SBo}
diff --git a/system/aide/aide.info b/system/aide/aide.info
index 8caec1c7d3..2fa8767204 100644
--- a/system/aide/aide.info
+++ b/system/aide/aide.info
@@ -1,8 +1,8 @@
PRGNAM="aide"
-VERSION="0.16.2"
+VERSION="0.17.3"
HOMEPAGE="https://aide.github.io/"
-DOWNLOAD="https://github.com/aide/aide/releases/download/v0.16.2/aide-0.16.2.tar.gz"
-MD5SUM="9835914273bb06f9b3263ce36ef7149b"
+DOWNLOAD="https://github.com/aide/aide/releases/download/v0.17.3/aide-0.17.3.tar.gz"
+MD5SUM="b642b5da44e827da57ae24b3670e4b33"
DOWNLOAD_x86_64=""
MD5SUM_x86_64=""
REQUIRES=""
diff --git a/system/alacritty/6f4ad9bb4f82bfdc4d8aac883a65ddd8c6acd45d.patch.gz b/system/alacritty/6f4ad9bb4f82bfdc4d8aac883a65ddd8c6acd45d.patch.gz
deleted file mode 100644
index c0ddc5f048..0000000000
--- a/system/alacritty/6f4ad9bb4f82bfdc4d8aac883a65ddd8c6acd45d.patch.gz
+++ /dev/null
Binary files differ
diff --git a/system/alacritty/alacritty.SlackBuild b/system/alacritty/alacritty.SlackBuild
index eae1e286bb..b776ff04fc 100644
--- a/system/alacritty/alacritty.SlackBuild
+++ b/system/alacritty/alacritty.SlackBuild
@@ -2,7 +2,7 @@
# Slackware build script for alacritty
-# Copyright 2017-2019 Andrew Clemons, Wellington New Zealand
+# Copyright 2017-2020 Andrew Clemons, Wellington New Zealand
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
@@ -23,7 +23,7 @@
# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
PRGNAM=alacritty
-VERSION=${VERSION:-0.3.3}
+VERSION=${VERSION:-0.4.3}
BUILD=${BUILD:-1}
TAG=${TAG:-_SBo}
@@ -115,7 +115,7 @@ mkdir vendor
sha256sum "$CWD/$dep-$ver.crate" | cut -f1 -d' ' | sed 's/$/"/'
printf "}\n"
- } | python -c "import sys, json; data = sys.stdin.read(); print json.dumps(json.loads(data), sort_keys=True, indent=4, separators=(',', ' : '))" > $dep-$ver/.cargo-checksum.json
+ } > $dep-$ver/.cargo-checksum.json
done
)
diff --git a/system/alacritty/alacritty.info b/system/alacritty/alacritty.info
index f5d8af2239..a2b156f48f 100644
--- a/system/alacritty/alacritty.info
+++ b/system/alacritty/alacritty.info
@@ -1,558 +1,524 @@
PRGNAM="alacritty"
-VERSION="0.3.3"
+VERSION="0.4.3"
HOMEPAGE="https://github.com/jwilm/alacritty"
-DOWNLOAD="https://github.com/jwilm/alacritty/archive/v0.3.3/alacritty-0.3.3.tar.gz \
- https://crates-io.s3-us-west-1.amazonaws.com/crates/adler32/adler32-1.0.3.crate \
- https://crates-io.s3-us-west-1.amazonaws.com/crates/aho-corasick/aho-corasick-0.6.10.crate \
- https://crates-io.s3-us-west-1.amazonaws.com/crates/aho-corasick/aho-corasick-0.7.3.crate \
+DOWNLOAD="https://github.com/jwilm/alacritty/archive/v0.4.3/alacritty-0.4.3.tar.gz \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/adler32/adler32-1.0.4.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/aho-corasick/aho-corasick-0.7.10.crate \
https://crates-io.s3-us-west-1.amazonaws.com/crates/andrew/andrew-0.2.1.crate \
https://crates-io.s3-us-west-1.amazonaws.com/crates/android_glue/android_glue-0.2.3.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/android_log-sys/android_log-sys-0.1.2.crate \
https://crates-io.s3-us-west-1.amazonaws.com/crates/ansi_term/ansi_term-0.11.0.crate \
https://crates-io.s3-us-west-1.amazonaws.com/crates/approx/approx-0.3.2.crate \
- https://crates-io.s3-us-west-1.amazonaws.com/crates/arc-swap/arc-swap-0.3.11.crate \
- https://crates-io.s3-us-west-1.amazonaws.com/crates/argon2rs/argon2rs-0.2.5.crate \
- https://crates-io.s3-us-west-1.amazonaws.com/crates/arrayvec/arrayvec-0.4.10.crate \
- https://crates-io.s3-us-west-1.amazonaws.com/crates/atty/atty-0.2.11.crate \
- https://crates-io.s3-us-west-1.amazonaws.com/crates/autocfg/autocfg-0.1.4.crate \
- https://crates-io.s3-us-west-1.amazonaws.com/crates/backtrace-sys/backtrace-sys-0.1.28.crate \
- https://crates-io.s3-us-west-1.amazonaws.com/crates/backtrace/backtrace-0.3.30.crate \
- https://crates-io.s3-us-west-1.amazonaws.com/crates/base64/base64-0.10.1.crate \
- https://crates-io.s3-us-west-1.amazonaws.com/crates/bindgen/bindgen-0.33.2.crate \
- https://crates-io.s3-us-west-1.amazonaws.com/crates/bitflags/bitflags-1.1.0.crate \
- https://crates-io.s3-us-west-1.amazonaws.com/crates/blake2-rfc/blake2-rfc-0.2.18.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/arc-swap/arc-swap-0.4.6.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/arrayref/arrayref-0.3.6.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/arrayvec/arrayvec-0.4.12.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/arrayvec/arrayvec-0.5.1.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/atty/atty-0.2.14.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/autocfg/autocfg-1.0.0.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/base64/base64-0.11.0.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/bindgen/bindgen-0.53.2.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/bitflags/bitflags-1.2.1.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/blake2b_simd/blake2b_simd-0.5.10.crate \
https://crates-io.s3-us-west-1.amazonaws.com/crates/block/block-0.1.6.crate \
- https://crates-io.s3-us-west-1.amazonaws.com/crates/byteorder/byteorder-1.3.2.crate \
- https://crates-io.s3-us-west-1.amazonaws.com/crates/bzip2-sys/bzip2-sys-0.1.7.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/bytemuck/bytemuck-1.2.0.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/byteorder/byteorder-1.3.4.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/bzip2-sys/bzip2-sys-0.1.8+1.0.8.crate \
https://crates-io.s3-us-west-1.amazonaws.com/crates/bzip2/bzip2-0.3.3.crate \
- https://crates-io.s3-us-west-1.amazonaws.com/crates/cc/cc-1.0.37.crate \
- https://crates-io.s3-us-west-1.amazonaws.com/crates/cexpr/cexpr-0.2.3.crate \
- https://crates-io.s3-us-west-1.amazonaws.com/crates/cfg-if/cfg-if-0.1.9.crate \
- https://crates-io.s3-us-west-1.amazonaws.com/crates/cgl/cgl-0.2.3.crate \
- https://crates-io.s3-us-west-1.amazonaws.com/crates/clang-sys/clang-sys-0.22.0.crate \
- https://crates-io.s3-us-west-1.amazonaws.com/crates/clap/clap-2.33.0.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/calloop/calloop-0.4.4.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/cc/cc-1.0.53.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/cexpr/cexpr-0.4.0.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/cfg-if/cfg-if-0.1.10.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/cgl/cgl-0.3.2.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/clang-sys/clang-sys-0.29.3.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/clap/clap-2.33.1.crate \
https://crates-io.s3-us-west-1.amazonaws.com/crates/clipboard-win/clipboard-win-2.2.0.crate \
https://crates-io.s3-us-west-1.amazonaws.com/crates/cloudabi/cloudabi-0.0.3.crate \
- https://crates-io.s3-us-west-1.amazonaws.com/crates/cmake/cmake-0.1.40.crate \
- https://crates-io.s3-us-west-1.amazonaws.com/crates/cocoa/cocoa-0.18.4.crate \
- https://crates-io.s3-us-west-1.amazonaws.com/crates/color_quant/color_quant-1.0.1.crate \
- https://crates-io.s3-us-west-1.amazonaws.com/crates/constant_time_eq/constant_time_eq-0.1.3.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/cmake/cmake-0.1.43.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/cocoa/cocoa-0.19.1.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/cocoa/cocoa-0.20.0.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/constant_time_eq/constant_time_eq-0.1.5.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/copypasta/copypasta-0.6.3.crate \
https://crates-io.s3-us-west-1.amazonaws.com/crates/core-foundation-sys/core-foundation-sys-0.6.2.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/core-foundation-sys/core-foundation-sys-0.7.0.crate \
https://crates-io.s3-us-west-1.amazonaws.com/crates/core-foundation/core-foundation-0.6.4.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/core-foundation/core-foundation-0.7.0.crate \
https://crates-io.s3-us-west-1.amazonaws.com/crates/core-graphics/core-graphics-0.17.3.crate \
- https://crates-io.s3-us-west-1.amazonaws.com/crates/core-text/core-text-13.2.0.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/core-graphics/core-graphics-0.19.0.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/core-text/core-text-15.0.0.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/core-video-sys/core-video-sys-0.1.4.crate \
https://crates-io.s3-us-west-1.amazonaws.com/crates/crc32fast/crc32fast-1.2.0.crate \
- https://crates-io.s3-us-west-1.amazonaws.com/crates/crossbeam-channel/crossbeam-channel-0.3.8.crate \
- https://crates-io.s3-us-west-1.amazonaws.com/crates/crossbeam-deque/crossbeam-deque-0.6.3.crate \
- https://crates-io.s3-us-west-1.amazonaws.com/crates/crossbeam-epoch/crossbeam-epoch-0.7.1.crate \
- https://crates-io.s3-us-west-1.amazonaws.com/crates/crossbeam-queue/crossbeam-queue-0.1.2.crate \
- https://crates-io.s3-us-west-1.amazonaws.com/crates/crossbeam-utils/crossbeam-utils-0.6.5.crate \
- https://crates-io.s3-us-west-1.amazonaws.com/crates/deflate/deflate-0.7.19.crate \
- https://crates-io.s3-us-west-1.amazonaws.com/crates/derivative/derivative-1.0.2.crate \
- https://crates-io.s3-us-west-1.amazonaws.com/crates/dirs/dirs-1.0.5.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/crossbeam-utils/crossbeam-utils-0.7.2.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/deflate/deflate-0.8.4.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/derivative/derivative-2.1.1.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/dirs-sys/dirs-sys-0.3.4.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/dirs/dirs-2.0.2.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/dispatch/dispatch-0.2.0.crate \
https://crates-io.s3-us-west-1.amazonaws.com/crates/dlib/dlib-0.4.1.crate \
- https://crates-io.s3-us-west-1.amazonaws.com/crates/downcast-rs/downcast-rs-1.0.4.crate \
- https://crates-io.s3-us-west-1.amazonaws.com/crates/dtoa/dtoa-0.4.4.crate \
- https://crates-io.s3-us-west-1.amazonaws.com/crates/dunce/dunce-1.0.0.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/downcast-rs/downcast-rs-1.1.1.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/dtoa/dtoa-0.4.5.crate \
https://crates-io.s3-us-west-1.amazonaws.com/crates/dwrote/dwrote-0.9.0.crate \
- https://crates-io.s3-us-west-1.amazonaws.com/crates/either/either-1.5.2.crate \
- https://crates-io.s3-us-west-1.amazonaws.com/crates/embed-resource/embed-resource-1.2.0.crate \
- https://crates-io.s3-us-west-1.amazonaws.com/crates/env_logger/env_logger-0.5.13.crate \
- https://crates-io.s3-us-west-1.amazonaws.com/crates/env_logger/env_logger-0.6.1.crate \
- https://crates-io.s3-us-west-1.amazonaws.com/crates/errno-dragonfly/errno-dragonfly-0.1.1.crate \
- https://crates-io.s3-us-west-1.amazonaws.com/crates/errno/errno-0.2.4.crate \
- https://crates-io.s3-us-west-1.amazonaws.com/crates/euclid/euclid-0.19.9.crate \
- https://crates-io.s3-us-west-1.amazonaws.com/crates/euclid_macros/euclid_macros-0.1.0.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/embed-resource/embed-resource-1.3.3.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/env_logger/env_logger-0.7.1.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/euclid/euclid-0.20.11.crate \
https://crates-io.s3-us-west-1.amazonaws.com/crates/expat-sys/expat-sys-2.1.6.crate \
- https://crates-io.s3-us-west-1.amazonaws.com/crates/failure/failure-0.1.5.crate \
- https://crates-io.s3-us-west-1.amazonaws.com/crates/failure_derive/failure_derive-0.1.5.crate \
- https://crates-io.s3-us-west-1.amazonaws.com/crates/filetime/filetime-0.2.5.crate \
- https://crates-io.s3-us-west-1.amazonaws.com/crates/fnv/fnv-1.0.6.crate \
- https://crates-io.s3-us-west-1.amazonaws.com/crates/foreign-types-macros/foreign-types-macros-0.1.0.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/filetime/filetime-0.2.10.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/flate2/flate2-1.0.14.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/fnv/fnv-1.0.7.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/foreign-types-macros/foreign-types-macros-0.2.1.crate \
https://crates-io.s3-us-west-1.amazonaws.com/crates/foreign-types-shared/foreign-types-shared-0.1.1.crate \
- https://crates-io.s3-us-west-1.amazonaws.com/crates/foreign-types-shared/foreign-types-shared-0.2.0.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/foreign-types-shared/foreign-types-shared-0.3.0.crate \
https://crates-io.s3-us-west-1.amazonaws.com/crates/foreign-types/foreign-types-0.3.2.crate \
- https://crates-io.s3-us-west-1.amazonaws.com/crates/foreign-types/foreign-types-0.4.0.crate \
- https://crates-io.s3-us-west-1.amazonaws.com/crates/freetype-rs/freetype-rs-0.19.1.crate \
- https://crates-io.s3-us-west-1.amazonaws.com/crates/freetype-sys/freetype-sys-0.7.1.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/foreign-types/foreign-types-0.5.0.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/freetype-rs/freetype-rs-0.23.0.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/freetype-sys/freetype-sys-0.9.0.crate \
https://crates-io.s3-us-west-1.amazonaws.com/crates/fsevent-sys/fsevent-sys-2.0.1.crate \
https://crates-io.s3-us-west-1.amazonaws.com/crates/fsevent/fsevent-0.4.0.crate \
- https://crates-io.s3-us-west-1.amazonaws.com/crates/fuchsia-cprng/fuchsia-cprng-0.1.1.crate \
https://crates-io.s3-us-west-1.amazonaws.com/crates/fuchsia-zircon-sys/fuchsia-zircon-sys-0.3.3.crate \
https://crates-io.s3-us-west-1.amazonaws.com/crates/fuchsia-zircon/fuchsia-zircon-0.3.3.crate \
- https://crates-io.s3-us-west-1.amazonaws.com/crates/gcc/gcc-0.3.55.crate \
- https://crates-io.s3-us-west-1.amazonaws.com/crates/gif/gif-0.10.2.crate \
- https://crates-io.s3-us-west-1.amazonaws.com/crates/gl_generator/gl_generator-0.11.0.crate \
- https://crates-io.s3-us-west-1.amazonaws.com/crates/gleam/gleam-0.6.17.crate \
- https://crates-io.s3-us-west-1.amazonaws.com/crates/glob/glob-0.2.11.crate \
- https://crates-io.s3-us-west-1.amazonaws.com/crates/glutin/glutin-0.21.0.crate \
- https://crates-io.s3-us-west-1.amazonaws.com/crates/glutin_egl_sys/glutin_egl_sys-0.1.3.crate \
- https://crates-io.s3-us-west-1.amazonaws.com/crates/glutin_emscripten_sys/glutin_emscripten_sys-0.1.0.crate \
- https://crates-io.s3-us-west-1.amazonaws.com/crates/glutin_gles2_sys/glutin_gles2_sys-0.1.3.crate \
- https://crates-io.s3-us-west-1.amazonaws.com/crates/glutin_glx_sys/glutin_glx_sys-0.1.5.crate \
- https://crates-io.s3-us-west-1.amazonaws.com/crates/glutin_wgl_sys/glutin_wgl_sys-0.1.3.crate \
- https://crates-io.s3-us-west-1.amazonaws.com/crates/http_req/http_req-0.5.0.crate \
- https://crates-io.s3-us-west-1.amazonaws.com/crates/humantime/humantime-1.2.0.crate \
- https://crates-io.s3-us-west-1.amazonaws.com/crates/idna/idna-0.1.5.crate \
- https://crates-io.s3-us-west-1.amazonaws.com/crates/image/image-0.21.2.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/getrandom/getrandom-0.1.14.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/gl_generator/gl_generator-0.13.1.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/gl_generator/gl_generator-0.14.0.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/glob/glob-0.3.0.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/glutin/glutin-0.24.0.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/glutin_egl_sys/glutin_egl_sys-0.1.4.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/glutin_emscripten_sys/glutin_emscripten_sys-0.1.1.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/glutin_gles2_sys/glutin_gles2_sys-0.1.4.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/glutin_glx_sys/glutin_glx_sys-0.1.6.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/glutin_wgl_sys/glutin_wgl_sys-0.1.4.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/hermit-abi/hermit-abi-0.1.13.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/http_req/http_req-0.5.5.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/humantime/humantime-1.3.0.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/idna/idna-0.2.0.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/image/image-0.23.4.crate \
https://crates-io.s3-us-west-1.amazonaws.com/crates/inflate/inflate-0.4.5.crate \
https://crates-io.s3-us-west-1.amazonaws.com/crates/inotify-sys/inotify-sys-0.1.3.crate \
- https://crates-io.s3-us-west-1.amazonaws.com/crates/inotify/inotify-0.6.1.crate \
- https://crates-io.s3-us-west-1.amazonaws.com/crates/iovec/iovec-0.1.2.crate \
- https://crates-io.s3-us-west-1.amazonaws.com/crates/itoa/itoa-0.4.4.crate \
- https://crates-io.s3-us-west-1.amazonaws.com/crates/jpeg-decoder/jpeg-decoder-0.1.15.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/inotify/inotify-0.7.0.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/instant/instant-0.1.3.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/iovec/iovec-0.1.4.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/itoa/itoa-0.4.5.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/jni-sys/jni-sys-0.3.0.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/jobserver/jobserver-0.1.21.crate \
https://crates-io.s3-us-west-1.amazonaws.com/crates/kernel32-sys/kernel32-sys-0.2.2.crate \
https://crates-io.s3-us-west-1.amazonaws.com/crates/khronos_api/khronos_api-3.1.0.crate \
- https://crates-io.s3-us-west-1.amazonaws.com/crates/lazy_static/lazy_static-1.3.0.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/lazy_static/lazy_static-1.4.0.crate \
https://crates-io.s3-us-west-1.amazonaws.com/crates/lazycell/lazycell-1.2.1.crate \
- https://crates-io.s3-us-west-1.amazonaws.com/crates/libc/libc-0.2.58.crate \
- https://crates-io.s3-us-west-1.amazonaws.com/crates/libflate/libflate-0.1.23.crate \
- https://crates-io.s3-us-west-1.amazonaws.com/crates/libloading/libloading-0.5.1.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/lexical-core/lexical-core-0.6.2.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/libc/libc-0.2.70.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/libloading/libloading-0.5.2.crate \
https://crates-io.s3-us-west-1.amazonaws.com/crates/libz-sys/libz-sys-1.0.25.crate \
https://crates-io.s3-us-west-1.amazonaws.com/crates/line_drawing/line_drawing-0.7.0.crate \
- https://crates-io.s3-us-west-1.amazonaws.com/crates/linked-hash-map/linked-hash-map-0.5.2.crate \
- https://crates-io.s3-us-west-1.amazonaws.com/crates/lock_api/lock_api-0.1.5.crate \
- https://crates-io.s3-us-west-1.amazonaws.com/crates/log/log-0.4.6.crate \
- https://crates-io.s3-us-west-1.amazonaws.com/crates/lzw/lzw-0.10.0.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/linked-hash-map/linked-hash-map-0.5.3.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/lock_api/lock_api-0.3.4.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/log/log-0.4.8.crate \
https://crates-io.s3-us-west-1.amazonaws.com/crates/malloc_buf/malloc_buf-0.0.6.crate \
https://crates-io.s3-us-west-1.amazonaws.com/crates/matches/matches-0.1.8.crate \
- https://crates-io.s3-us-west-1.amazonaws.com/crates/memchr/memchr-1.0.2.crate \
- https://crates-io.s3-us-west-1.amazonaws.com/crates/memchr/memchr-2.2.0.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/maybe-uninit/maybe-uninit-2.0.0.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/memchr/memchr-2.3.3.crate \
https://crates-io.s3-us-west-1.amazonaws.com/crates/memmap/memmap-0.7.0.crate \
- https://crates-io.s3-us-west-1.amazonaws.com/crates/memoffset/memoffset-0.2.1.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/miniz_oxide/miniz_oxide-0.3.6.crate \
https://crates-io.s3-us-west-1.amazonaws.com/crates/mio-anonymous-pipes/mio-anonymous-pipes-0.1.0.crate \
- https://crates-io.s3-us-west-1.amazonaws.com/crates/mio-extras/mio-extras-2.0.5.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/mio-extras/mio-extras-2.0.6.crate \
https://crates-io.s3-us-west-1.amazonaws.com/crates/mio-named-pipes/mio-named-pipes-0.1.6.crate \
- https://crates-io.s3-us-west-1.amazonaws.com/crates/mio-uds/mio-uds-0.6.7.crate \
- https://crates-io.s3-us-west-1.amazonaws.com/crates/mio/mio-0.6.19.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/mio/mio-0.6.22.crate \
https://crates-io.s3-us-west-1.amazonaws.com/crates/miow/miow-0.2.1.crate \
https://crates-io.s3-us-west-1.amazonaws.com/crates/miow/miow-0.3.3.crate \
- https://crates-io.s3-us-west-1.amazonaws.com/crates/named_pipe/named_pipe-0.3.0.crate \
- https://crates-io.s3-us-west-1.amazonaws.com/crates/native-tls/native-tls-0.2.3.crate \
- https://crates-io.s3-us-west-1.amazonaws.com/crates/net2/net2-0.2.33.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/native-tls/native-tls-0.2.4.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/ndk-glue/ndk-glue-0.1.0.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/ndk-sys/ndk-sys-0.1.0.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/ndk/ndk-0.1.0.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/net2/net2-0.2.34.crate \
https://crates-io.s3-us-west-1.amazonaws.com/crates/nix/nix-0.14.1.crate \
- https://crates-io.s3-us-west-1.amazonaws.com/crates/nodrop/nodrop-0.1.13.crate \
- https://crates-io.s3-us-west-1.amazonaws.com/crates/nom/nom-3.2.1.crate \
- https://crates-io.s3-us-west-1.amazonaws.com/crates/nom/nom-4.2.3.crate \
- https://crates-io.s3-us-west-1.amazonaws.com/crates/notify/notify-4.0.12.crate \
- https://crates-io.s3-us-west-1.amazonaws.com/crates/num-derive/num-derive-0.2.5.crate \
- https://crates-io.s3-us-west-1.amazonaws.com/crates/num-integer/num-integer-0.1.41.crate \
- https://crates-io.s3-us-west-1.amazonaws.com/crates/num-iter/num-iter-0.1.39.crate \
- https://crates-io.s3-us-west-1.amazonaws.com/crates/num-rational/num-rational-0.2.2.crate \
- https://crates-io.s3-us-west-1.amazonaws.com/crates/num-traits/num-traits-0.2.8.crate \
- https://crates-io.s3-us-west-1.amazonaws.com/crates/num_cpus/num_cpus-1.10.1.crate \
- https://crates-io.s3-us-west-1.amazonaws.com/crates/numtoa/numtoa-0.1.0.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/nix/nix-0.17.0.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/nodrop/nodrop-0.1.14.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/nom/nom-5.1.1.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/notify/notify-4.0.15.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/num-integer/num-integer-0.1.42.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/num-iter/num-iter-0.1.40.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/num-rational/num-rational-0.2.4.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/num-traits/num-traits-0.2.11.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/num_enum/num_enum-0.4.3.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/num_enum_derive/num_enum_derive-0.4.3.crate \
https://crates-io.s3-us-west-1.amazonaws.com/crates/objc-foundation/objc-foundation-0.1.1.crate \
- https://crates-io.s3-us-west-1.amazonaws.com/crates/objc/objc-0.2.6.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/objc/objc-0.2.7.crate \
https://crates-io.s3-us-west-1.amazonaws.com/crates/objc_id/objc_id-0.1.1.crate \
https://crates-io.s3-us-west-1.amazonaws.com/crates/openssl-probe/openssl-probe-0.1.2.crate \
- https://crates-io.s3-us-west-1.amazonaws.com/crates/openssl-sys/openssl-sys-0.9.47.crate \
- https://crates-io.s3-us-west-1.amazonaws.com/crates/openssl/openssl-0.10.23.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/openssl-sys/openssl-sys-0.9.56.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/openssl/openssl-0.10.29.crate \
https://crates-io.s3-us-west-1.amazonaws.com/crates/ordered-float/ordered-float-1.0.2.crate \
https://crates-io.s3-us-west-1.amazonaws.com/crates/osmesa-sys/osmesa-sys-0.1.2.crate \
- https://crates-io.s3-us-west-1.amazonaws.com/crates/owning_ref/owning_ref-0.4.0.crate \
- https://crates-io.s3-us-west-1.amazonaws.com/crates/parking_lot/parking_lot-0.7.1.crate \
- https://crates-io.s3-us-west-1.amazonaws.com/crates/parking_lot_core/parking_lot_core-0.4.0.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/parking_lot/parking_lot-0.10.2.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/parking_lot_core/parking_lot_core-0.7.2.crate \
https://crates-io.s3-us-west-1.amazonaws.com/crates/peeking_take_while/peeking_take_while-0.1.2.crate \
- https://crates-io.s3-us-west-1.amazonaws.com/crates/percent-encoding/percent-encoding-1.0.1.crate \
- https://crates-io.s3-us-west-1.amazonaws.com/crates/phf/phf-0.7.24.crate \
- https://crates-io.s3-us-west-1.amazonaws.com/crates/phf_codegen/phf_codegen-0.7.24.crate \
- https://crates-io.s3-us-west-1.amazonaws.com/crates/phf_generator/phf_generator-0.7.24.crate \
- https://crates-io.s3-us-west-1.amazonaws.com/crates/phf_shared/phf_shared-0.7.24.crate \
- https://crates-io.s3-us-west-1.amazonaws.com/crates/pkg-config/pkg-config-0.3.14.crate \
- https://crates-io.s3-us-west-1.amazonaws.com/crates/png/png-0.14.1.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/percent-encoding/percent-encoding-2.1.0.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/phf/phf-0.8.0.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/phf_codegen/phf_codegen-0.8.0.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/phf_generator/phf_generator-0.8.0.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/phf_shared/phf_shared-0.8.0.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/pkg-config/pkg-config-0.3.17.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/png/png-0.16.3.crate \
https://crates-io.s3-us-west-1.amazonaws.com/crates/podio/podio-0.1.6.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/ppv-lite86/ppv-lite86-0.2.7.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/proc-macro-crate/proc-macro-crate-0.1.4.crate \
https://crates-io.s3-us-west-1.amazonaws.com/crates/proc-macro2/proc-macro2-0.4.30.crate \
- https://crates-io.s3-us-west-1.amazonaws.com/crates/quick-error/quick-error-1.2.2.crate \
- https://crates-io.s3-us-west-1.amazonaws.com/crates/quote/quote-0.3.15.crate \
- https://crates-io.s3-us-west-1.amazonaws.com/crates/quote/quote-0.6.12.crate \
- https://crates-io.s3-us-west-1.amazonaws.com/crates/rand/rand-0.6.5.crate \
- https://crates-io.s3-us-west-1.amazonaws.com/crates/rand_chacha/rand_chacha-0.1.1.crate \
- https://crates-io.s3-us-west-1.amazonaws.com/crates/rand_core/rand_core-0.3.1.crate \
- https://crates-io.s3-us-west-1.amazonaws.com/crates/rand_core/rand_core-0.4.0.crate \
- https://crates-io.s3-us-west-1.amazonaws.com/crates/rand_hc/rand_hc-0.1.0.crate \
- https://crates-io.s3-us-west-1.amazonaws.com/crates/rand_isaac/rand_isaac-0.1.1.crate \
- https://crates-io.s3-us-west-1.amazonaws.com/crates/rand_jitter/rand_jitter-0.1.4.crate \
- https://crates-io.s3-us-west-1.amazonaws.com/crates/rand_os/rand_os-0.1.3.crate \
- https://crates-io.s3-us-west-1.amazonaws.com/crates/rand_pcg/rand_pcg-0.1.2.crate \
- https://crates-io.s3-us-west-1.amazonaws.com/crates/rand_xorshift/rand_xorshift-0.1.1.crate \
- https://crates-io.s3-us-west-1.amazonaws.com/crates/rayon-core/rayon-core-1.5.0.crate \
- https://crates-io.s3-us-west-1.amazonaws.com/crates/rayon/rayon-1.1.0.crate \
- https://crates-io.s3-us-west-1.amazonaws.com/crates/rdrand/rdrand-0.4.0.crate \
- https://crates-io.s3-us-west-1.amazonaws.com/crates/redox_syscall/redox_syscall-0.1.54.crate \
- https://crates-io.s3-us-west-1.amazonaws.com/crates/redox_termios/redox_termios-0.1.1.crate \
- https://crates-io.s3-us-west-1.amazonaws.com/crates/redox_users/redox_users-0.3.0.crate \
- https://crates-io.s3-us-west-1.amazonaws.com/crates/regex-syntax/regex-syntax-0.5.6.crate \
- https://crates-io.s3-us-west-1.amazonaws.com/crates/regex-syntax/regex-syntax-0.6.7.crate \
- https://crates-io.s3-us-west-1.amazonaws.com/crates/regex/regex-0.2.11.crate \
- https://crates-io.s3-us-west-1.amazonaws.com/crates/regex/regex-1.1.7.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/proc-macro2/proc-macro2-1.0.13.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/quick-error/quick-error-1.2.3.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/quote/quote-0.6.13.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/quote/quote-1.0.5.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/rand/rand-0.7.3.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/rand_chacha/rand_chacha-0.2.2.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/rand_core/rand_core-0.5.1.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/rand_hc/rand_hc-0.2.0.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/rand_pcg/rand_pcg-0.2.1.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/raw-window-handle/raw-window-handle-0.3.3.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/redox_syscall/redox_syscall-0.1.56.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/redox_users/redox_users-0.3.4.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/regex-syntax/regex-syntax-0.6.17.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/regex/regex-1.3.7.crate \
https://crates-io.s3-us-west-1.amazonaws.com/crates/remove_dir_all/remove_dir_all-0.5.2.crate \
- https://crates-io.s3-us-west-1.amazonaws.com/crates/rustc-demangle/rustc-demangle-0.1.15.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/rust-argon2/rust-argon2-0.7.0.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/rustc-hash/rustc-hash-1.1.0.crate \
https://crates-io.s3-us-west-1.amazonaws.com/crates/rustc_tools_util/rustc_tools_util-0.2.0.crate \
https://crates-io.s3-us-west-1.amazonaws.com/crates/rustc_version/rustc_version-0.2.3.crate \
- https://crates-io.s3-us-west-1.amazonaws.com/crates/rusttype/rusttype-0.7.7.crate \
- https://crates-io.s3-us-west-1.amazonaws.com/crates/ryu/ryu-0.2.8.crate \
- https://crates-io.s3-us-west-1.amazonaws.com/crates/same-file/same-file-1.0.4.crate \
- https://crates-io.s3-us-west-1.amazonaws.com/crates/schannel/schannel-0.1.15.crate \
- https://crates-io.s3-us-west-1.amazonaws.com/crates/scoped_threadpool/scoped_threadpool-0.1.9.crate \
- https://crates-io.s3-us-west-1.amazonaws.com/crates/scopeguard/scopeguard-0.3.3.crate \
- https://crates-io.s3-us-west-1.amazonaws.com/crates/security-framework-sys/security-framework-sys-0.3.1.crate \
- https://crates-io.s3-us-west-1.amazonaws.com/crates/security-framework/security-framework-0.3.1.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/rusttype/rusttype-0.7.9.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/rusttype/rusttype-0.8.3.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/ryu/ryu-1.0.4.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/same-file/same-file-1.0.6.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/schannel/schannel-0.1.19.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/scopeguard/scopeguard-1.1.0.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/security-framework-sys/security-framework-sys-0.4.3.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/security-framework/security-framework-0.4.4.crate \
https://crates-io.s3-us-west-1.amazonaws.com/crates/semver-parser/semver-parser-0.7.0.crate \
https://crates-io.s3-us-west-1.amazonaws.com/crates/semver/semver-0.9.0.crate \
- https://crates-io.s3-us-west-1.amazonaws.com/crates/serde/serde-1.0.92.crate \
- https://crates-io.s3-us-west-1.amazonaws.com/crates/serde_derive/serde_derive-1.0.92.crate \
- https://crates-io.s3-us-west-1.amazonaws.com/crates/serde_json/serde_json-1.0.39.crate \
- https://crates-io.s3-us-west-1.amazonaws.com/crates/serde_yaml/serde_yaml-0.8.9.crate \
- https://crates-io.s3-us-west-1.amazonaws.com/crates/servo-fontconfig-sys/servo-fontconfig-sys-4.0.7.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/serde/serde-1.0.110.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/serde_derive/serde_derive-1.0.110.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/serde_json/serde_json-1.0.53.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/serde_yaml/serde_yaml-0.8.12.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/servo-fontconfig-sys/servo-fontconfig-sys-4.0.9.crate \
https://crates-io.s3-us-west-1.amazonaws.com/crates/servo-fontconfig/servo-fontconfig-0.4.0.crate \
https://crates-io.s3-us-west-1.amazonaws.com/crates/shared_library/shared_library-0.1.9.crate \
- https://crates-io.s3-us-west-1.amazonaws.com/crates/signal-hook-registry/signal-hook-registry-1.0.1.crate \
- https://crates-io.s3-us-west-1.amazonaws.com/crates/signal-hook/signal-hook-0.1.9.crate \
- https://crates-io.s3-us-west-1.amazonaws.com/crates/siphasher/siphasher-0.2.3.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/shlex/shlex-0.1.1.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/signal-hook-registry/signal-hook-registry-1.2.0.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/signal-hook/signal-hook-0.1.15.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/siphasher/siphasher-0.3.3.crate \
https://crates-io.s3-us-west-1.amazonaws.com/crates/slab/slab-0.4.2.crate \
- https://crates-io.s3-us-west-1.amazonaws.com/crates/smallvec/smallvec-0.6.10.crate \
- https://crates-io.s3-us-west-1.amazonaws.com/crates/smithay-client-toolkit/smithay-client-toolkit-0.4.6.crate \
- https://crates-io.s3-us-west-1.amazonaws.com/crates/smithay-client-toolkit/smithay-client-toolkit-0.6.2.crate \
- https://crates-io.s3-us-west-1.amazonaws.com/crates/smithay-clipboard/smithay-clipboard-0.3.3.crate \
- https://crates-io.s3-us-west-1.amazonaws.com/crates/socket2/socket2-0.3.9.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/smallvec/smallvec-1.4.0.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/smithay-client-toolkit/smithay-client-toolkit-0.6.6.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/smithay-clipboard/smithay-clipboard-0.4.0.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/socket2/socket2-0.3.12.crate \
https://crates-io.s3-us-west-1.amazonaws.com/crates/spsc-buffer/spsc-buffer-0.1.1.crate \
- https://crates-io.s3-us-west-1.amazonaws.com/crates/stable_deref_trait/stable_deref_trait-1.1.1.crate \
- https://crates-io.s3-us-west-1.amazonaws.com/crates/static_assertions/static_assertions-0.3.3.crate \
- https://crates-io.s3-us-west-1.amazonaws.com/crates/stb_truetype/stb_truetype-0.2.6.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/static_assertions/static_assertions-0.3.4.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/stb_truetype/stb_truetype-0.3.1.crate \
https://crates-io.s3-us-west-1.amazonaws.com/crates/strsim/strsim-0.8.0.crate \
- https://crates-io.s3-us-west-1.amazonaws.com/crates/syn/syn-0.15.36.crate \
- https://crates-io.s3-us-west-1.amazonaws.com/crates/synstructure/synstructure-0.10.2.crate \
- https://crates-io.s3-us-west-1.amazonaws.com/crates/tempfile/tempfile-3.0.8.crate \
- https://crates-io.s3-us-west-1.amazonaws.com/crates/termcolor/termcolor-1.0.5.crate \
- https://crates-io.s3-us-west-1.amazonaws.com/crates/terminfo/terminfo-0.6.1.crate \
- https://crates-io.s3-us-west-1.amazonaws.com/crates/termion/termion-1.5.3.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/syn/syn-1.0.22.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/tempfile/tempfile-3.1.0.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/termcolor/termcolor-1.1.0.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/terminfo/terminfo-0.7.2.crate \
https://crates-io.s3-us-west-1.amazonaws.com/crates/textwrap/textwrap-0.11.0.crate \
- https://crates-io.s3-us-west-1.amazonaws.com/crates/thread_local/thread_local-0.3.6.crate \
- https://crates-io.s3-us-west-1.amazonaws.com/crates/tiff/tiff-0.2.2.crate \
- https://crates-io.s3-us-west-1.amazonaws.com/crates/time/time-0.1.42.crate \
- https://crates-io.s3-us-west-1.amazonaws.com/crates/ucd-util/ucd-util-0.1.3.crate \
- https://crates-io.s3-us-west-1.amazonaws.com/crates/unicase/unicase-2.4.0.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/thread_local/thread_local-1.0.1.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/time/time-0.1.43.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/toml/toml-0.5.6.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/unicase/unicase-2.6.0.crate \
https://crates-io.s3-us-west-1.amazonaws.com/crates/unicode-bidi/unicode-bidi-0.3.4.crate \
- https://crates-io.s3-us-west-1.amazonaws.com/crates/unicode-normalization/unicode-normalization-0.1.8.crate \
- https://crates-io.s3-us-west-1.amazonaws.com/crates/unicode-width/unicode-width-0.1.5.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/unicode-normalization/unicode-normalization-0.1.12.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/unicode-width/unicode-width-0.1.7.crate \
https://crates-io.s3-us-west-1.amazonaws.com/crates/unicode-xid/unicode-xid-0.1.0.crate \
- https://crates-io.s3-us-west-1.amazonaws.com/crates/url/url-1.7.2.crate \
- https://crates-io.s3-us-west-1.amazonaws.com/crates/utf8-ranges/utf8-ranges-1.0.3.crate \
- https://crates-io.s3-us-west-1.amazonaws.com/crates/utf8parse/utf8parse-0.1.1.crate \
- https://crates-io.s3-us-west-1.amazonaws.com/crates/vcpkg/vcpkg-0.2.6.crate \
- https://crates-io.s3-us-west-1.amazonaws.com/crates/vec_map/vec_map-0.8.1.crate \
- https://crates-io.s3-us-west-1.amazonaws.com/crates/version_check/version_check-0.1.5.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/unicode-xid/unicode-xid-0.2.0.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/url/url-2.1.1.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/urlocator/urlocator-0.1.3.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/utf8parse/utf8parse-0.2.0.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/vcpkg/vcpkg-0.2.8.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/vec_map/vec_map-0.8.2.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/version_check/version_check-0.9.1.crate \
https://crates-io.s3-us-west-1.amazonaws.com/crates/void/void-1.0.2.crate \
https://crates-io.s3-us-west-1.amazonaws.com/crates/vswhom-sys/vswhom-sys-0.1.0.crate \
https://crates-io.s3-us-west-1.amazonaws.com/crates/vswhom/vswhom-0.1.0.crate \
- https://crates-io.s3-us-west-1.amazonaws.com/crates/vte/vte-0.3.3.crate \
- https://crates-io.s3-us-west-1.amazonaws.com/crates/walkdir/walkdir-2.2.8.crate \
- https://crates-io.s3-us-west-1.amazonaws.com/crates/wayland-client/wayland-client-0.21.13.crate \
- https://crates-io.s3-us-west-1.amazonaws.com/crates/wayland-client/wayland-client-0.23.5.crate \
- https://crates-io.s3-us-west-1.amazonaws.com/crates/wayland-commons/wayland-commons-0.21.13.crate \
- https://crates-io.s3-us-west-1.amazonaws.com/crates/wayland-commons/wayland-commons-0.23.5.crate \
- https://crates-io.s3-us-west-1.amazonaws.com/crates/wayland-protocols/wayland-protocols-0.21.13.crate \
- https://crates-io.s3-us-west-1.amazonaws.com/crates/wayland-protocols/wayland-protocols-0.23.5.crate \
- https://crates-io.s3-us-west-1.amazonaws.com/crates/wayland-scanner/wayland-scanner-0.21.13.crate \
- https://crates-io.s3-us-west-1.amazonaws.com/crates/wayland-scanner/wayland-scanner-0.23.5.crate \
- https://crates-io.s3-us-west-1.amazonaws.com/crates/wayland-sys/wayland-sys-0.21.13.crate \
- https://crates-io.s3-us-west-1.amazonaws.com/crates/wayland-sys/wayland-sys-0.23.5.crate \
- https://crates-io.s3-us-west-1.amazonaws.com/crates/which/which-1.0.5.crate \
- https://crates-io.s3-us-west-1.amazonaws.com/crates/widestring/widestring-0.4.0.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/vte/vte-0.8.0.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/vte_generate_state_changes/vte_generate_state_changes-0.1.1.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/walkdir/walkdir-2.3.1.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/wasi/wasi-0.9.0+wasi-snapshot-preview1.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/wayland-client/wayland-client-0.23.6.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/wayland-commons/wayland-commons-0.23.6.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/wayland-protocols/wayland-protocols-0.23.6.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/wayland-scanner/wayland-scanner-0.23.6.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/wayland-sys/wayland-sys-0.23.6.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/which/which-3.1.1.crate \
https://crates-io.s3-us-west-1.amazonaws.com/crates/winapi-build/winapi-build-0.1.1.crate \
https://crates-io.s3-us-west-1.amazonaws.com/crates/winapi-i686-pc-windows-gnu/winapi-i686-pc-windows-gnu-0.4.0.crate \
- https://crates-io.s3-us-west-1.amazonaws.com/crates/winapi-util/winapi-util-0.1.2.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/winapi-util/winapi-util-0.1.5.crate \
https://crates-io.s3-us-west-1.amazonaws.com/crates/winapi-x86_64-pc-windows-gnu/winapi-x86_64-pc-windows-gnu-0.4.0.crate \
https://crates-io.s3-us-west-1.amazonaws.com/crates/winapi/winapi-0.2.8.crate \
- https://crates-io.s3-us-west-1.amazonaws.com/crates/winapi/winapi-0.3.7.crate \
- https://crates-io.s3-us-west-1.amazonaws.com/crates/wincolor/wincolor-1.0.1.crate \
- https://crates-io.s3-us-west-1.amazonaws.com/crates/winit/winit-0.19.1.crate \
- https://crates-io.s3-us-west-1.amazonaws.com/crates/winpty-sys/winpty-sys-0.4.3.crate \
- https://crates-io.s3-us-west-1.amazonaws.com/crates/winreg/winreg-0.5.1.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/winapi/winapi-0.3.8.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/winit/winit-0.22.2.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/winpty-sys/winpty-sys-0.5.0.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/winpty/winpty-0.2.0.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/winreg/winreg-0.6.2.crate \
https://crates-io.s3-us-west-1.amazonaws.com/crates/ws2_32-sys/ws2_32-sys-0.2.1.crate \
- https://crates-io.s3-us-west-1.amazonaws.com/crates/x11-clipboard/x11-clipboard-0.3.2.crate \
- https://crates-io.s3-us-west-1.amazonaws.com/crates/x11-dl/x11-dl-2.18.3.crate \
- https://crates-io.s3-us-west-1.amazonaws.com/crates/xcb/xcb-0.8.2.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/x11-clipboard/x11-clipboard-0.5.1.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/x11-dl/x11-dl-2.18.5.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/xcb/xcb-0.9.0.crate \
https://crates-io.s3-us-west-1.amazonaws.com/crates/xdg/xdg-2.2.0.crate \
https://crates-io.s3-us-west-1.amazonaws.com/crates/xml-rs/xml-rs-0.8.0.crate \
https://crates-io.s3-us-west-1.amazonaws.com/crates/yaml-rust/yaml-rust-0.4.3.crate \
- https://crates-io.s3-us-west-1.amazonaws.com/crates/zip/zip-0.5.2.crate"
-MD5SUM="0c1e3e18b1aeaa286b988a30666497e1 \
- 94e5e4da83397101dcac50eba7f31787 \
- 5e41b84ab6486427a9de0aaa8414cfe6 \
- cb23a78f4c35abcb2d8d1394645674fe \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/zip/zip-0.5.5.crate"
+MD5SUM="bf062ba33330ef00d5ad7fe5c0209964 \
+ 853b409f126727af3ee29ae2de887271 \
+ abc51f82118d86e83165ba87e2521e96 \
6cceeb8df4bc23fa37bfcd31dfa3277d \
196a2eb81627baf71f6677a3c669e6ac \
+ 55fb1d6c71bdf258f91759517ac64c8e \
294a49d3c53865fa7ac5d0ce2f5d5735 \
711b149cf4767597fc265983750f4da3 \
- ec73dcad9c7833b70e14a9da2e5da81d \
- e1efb9a37395a38bd80ccfc911d4a6e8 \
- 46a048c0b8b765bcbdc131e166410510 \
- 5d7155b7fbc0e234c017f418f0dc9d64 \
- 3664ceb4b5c686f1adabe1f57931c425 \
- b94bcb41f342404852b7d763700fb6fe \
- cd634d501d88cc342424ce2ced0d634b \
- 9ed1fef898024a6aaf3e3878cd83c103 \
- 18b867a604c1e8303d01bd107179cffa \
- b06fb4397c2a873a4034136154da23c8 \
- 027635e453eccbfd0a2b02a440e334a6 \
+ da0c3fb9229aa468e48f73aa614b9823 \
+ 6ff474dd60c839a9c788844b7a42c72c \
+ 11364a62687e5682d652aeafe1a13ed2 \
+ 38a5278571eefda86428a8ebfc1cedc2 \
+ 142cb4b9a653e56e56311f0c883b8582 \
+ 7c6515c4b7f4c7723a3c6d1f07acc261 \
+ bbaf2cabce203fecd54c0c294eb7fb2b \
+ 064762ae7ae5feb9af472e8e8900aea9 \
+ 6799c26a7eacaf8e58d3e45c6c5add89 \
+ 085f6f44e54f62691bf3cf3365f5544a \
ea2d23ceb9f98853a7dffc6c02884464 \
- 85562346cef4a44a32cc1fadcdd06b50 \
- 43c46e86e471f6a4e7bdaea0d6505c27 \
+ 3b74244d96b3c60d2bf930a363679415 \
+ e502e6c6b0dca9c1ae2d99e92b26f645 \
+ ff4e1560b7d0ac5c4ae2688bc27f9c98 \
e0bf3b40b2d51cb52f40647b368efb50 \
- 8ab6d9b27c886c7c96858a2c71741164 \
- 759bdda054c794e4e553ed446e6ac8ce \
- 63d698a8b3fb9512be9744135d9eda89 \
- c7423534a43c27cdc442119c42084350 \
- f203b3252adb458272effbcc3c7dbe6e \
- 135f6d6306e50606f0475ada50c33ce2 \
+ 0935eb9ddb26216e9dfd44bb249457b2 \
+ 547dbf225c61b70c81f74f79a83affc9 \
+ dcb58f182347515cab229f836dd8e6d1 \
+ 882dbbc613a93f64c3709b0a2bd0d6dc \
+ 5739f950bcce803d986d189b128861b0 \
+ 20cac860cf8ea29dd8e7e6f76eae9639 \
+ 42af3a1e965585d80dcc1e0324fda6eb \
eb6e4217d79aefec36a4d1068b4ae278 \
1c8b50f8528dd37df7d984e0e4b61bd5 \
- 4d763fb41f7957ff7615553ae57ba8b2 \
- e64cf567826858b7e0f15478d275da4d \
- 7faf8117463c4b739c6660436a8fbe21 \
- 701334c674b3fc3ace74045e3a2fae50 \
+ bfa12a07125b5aadf803aa3b5f939aa8 \
+ 8de0c85238890738ff538f1548be52f0 \
+ 50a7fcd4cdc347a06d3702c8dea6e926 \
+ ec9751a4c0d35e7313e52ddb7147376b \
+ a31d6dd3fb5148b9f87bf0b5e2761585 \
6a97194aa07f7993298563f012b05a73 \
+ 9754db1eb3e8b15807f05a3540d2ab39 \
ee7b2dc49246abc5b91ed9feccbde82f \
+ f0682cfdc40af509c98f46f6350c1ba5 \
868723b977d47531ecfc00d431362acd \
- 357c7d43455265105824c56b6a0476d2 \
+ 2a9cc9f6b6f7399263d93df520be6ff6 \
+ bae239f1a0c474035926b65a8b271305 \
+ ba5527be251aede09ca0c45331f0feca \
3c153e21729b743f5127dec47670de17 \
- 76a551a94205546800857c329ac20bf5 \
- 4cae42fb57b3567007308d7ade16a628 \
- d01af9a3605a069d945a0dd3fcaa2313 \
- 7c90c5d981a715d9863d6bfcc984d6ed \
- 7b9ff702e267c8908dd0cbf0ba018715 \
- 386f954916833e36520d464e6df280ca \
- 099f3b0e4a69b2c3cb590da02eca01ac \
- f9f233221c0202b616d6957925c41ac8 \
+ ff67cf2eb9668167782b8012d3b48e7b \
+ ba7b8f06debf4491d6d530caaa4d3e66 \
+ 1bb3b5328fdb89edf639fd9c3613e61f \
+ 1946cef415cbf82cdcb975d813dd9696 \
+ 8b418106a3968619300a2af8f6b4f200 \
+ 03f2b7eae8b6491dbd3caacd842cb8cb \
1886bdaca29d3af3cc1178fe96dc3876 \
- de5f9ef892bd0784eb269a60d6cfb2da \
- b5c83d38a90566cce432ca48643d1f1f \
- 1c789384eb241637bff244ef52fedae5 \
+ 8cf354694bfabc868c506a648839b84c \
+ f8e21d57a92cfe87510176559f2118f0 \
a227f79f30fea6e06777524ce2602f18 \
- abb97af4431fad67b1efe8da1a620aca \
- 6d75ea5fbd4859dc22c45be9d2c75e31 \
- 3986bd8fb612a68cf2b3c6fd81464457 \
- a52ad1aa4f05f96817c8c8e66deebf29 \
- 79ebbe1e2546bb4181125af1ccf7a1e5 \
- 24336494a47aa7a99a43c81d57e7e71f \
- 8329e48da50d8b65a032a680f2323a2b \
- 7514d58ed1f772598ac209e8fbc48fc2 \
+ 146047ba26d24cfcfc6cf91979df6bc4 \
+ 081ed755ceb8e0b7c78cffde40fd084d \
+ 788b783fe3389534dc509539c20b7612 \
d318084a7a361875006cd156c19db3dc \
- 6d780ab18da07be9ed423e7edfbcfd7e \
- e8e663e88ee02ec47cfb984382cb62ae \
- cc8fc424b76adad82cf175c5fa836159 \
- b0fd8ad50f5e64c71f0daf8af79ca952 \
- 4936c8c0a623d3a865948345c3bdc6e2 \
+ b9f03f84345e22eae7858abc75dea31c \
+ 5941f4a3d3435767e79260f61093ecd3 \
+ 8dab3b3ec00dc56cffde0b0c410d47b5 \
+ 506b571683460afdd2674576c022ff76 \
667e86b8b8d96ab4e9605627ce7dcc9a \
- d73dd912043cd89845d6e137250b6069 \
+ 13c3c9f696793ecdc507877849cd3e02 \
78c898fdaa3968e23904bf8538c4a271 \
- 229c7522d38854c9508cba0c10463d84 \
- 69e372361dc4cd4060c2ee5327bf0148 \
- 3082906ed23225bc8ee4e2585c4254cf \
+ 24210500b0b946ed658dd20037cdf5b4 \
+ 4f87f1d369fc881d9c09b8c60f08e40e \
+ 9337eab4f601d1770903c6d3f3bde679 \
7c292ae288fae4b3dd8f4871f7ec54e9 \
49c7c8d8dff092a63277ed8d8a3b383b \
- 27260b46db6b9ac40318143d70a80ba3 \
54cfab480b7a5f7302eadf44129d3f4b \
dd7c80c2d04d2e9ceba82826cf69764d \
- d024d23a2c7e5dae75422a514daa686f \
- 35b2358ce27320434f7e9ce272f437b4 \
- 61af0a81b544ec9cbd86f349bad3b705 \
- 1f531d19a917456acae63e778a7ebfa3 \
- f8ece52bd2dc2019f8ccc8401d259ecf \
- 05a4d494bcfdc0348023616f10a0c169 \
- 5672de82d0bd2c6e3502b0bf916146a6 \
- 758b7c1f511a2b578c0ed79c1f197e99 \
- e0a513526c8896fbdca49c5d805d4a35 \
- 5b21e1f0d584fa3448ae0236d48a1106 \
- a6c0334d34f420b865c0393ad79eb85c \
- 2b43e792b7a0e48597593e11d37956c8 \
- 4583a67acf00a437e5cd27857210a526 \
- 89cabfcb37602a7b200b1a9cd660ee2e \
- 006bc2d89baf267747228363797d9c30 \
+ de1228e571c94ef53ec4c21db57279ab \
+ 849054e0df3292687cc1a3971d65ec2e \
+ cd6875725af793cd82db47d68b00ee93 \
+ e7c07242a95ee1df865efe9534e10a34 \
+ 8d6d77db0129da96cc9bbf3f7649d5af \
+ a2532fe5c5af23f578e58f47c8b512f0 \
+ 443d79d3dc7fbcd8b2ca67a3caa717b1 \
+ 197834cb95fbe6ee356760ede252f4d1 \
+ 42111d38dc2b5b6f96aae7ea6412605f \
+ c6384052cffdc4f368edd4efd5c67c42 \
+ be4d52524ec8485abc40efba317b1e4c \
+ edc41639aa4527c8cd965e601d4a1b4d \
+ bb2582cae7b3d837f5da1df153001db5 \
+ 54ac4c56d9ec2800b8428020f24be67c \
+ c93dba5222b7abb3e2377590fcdb0d13 \
8ece65b4db64f81379cbd293e2f04d39 \
50929c2de8a472031f43c9fc371f2111 \
- 66dc0bb75af270eaae7297cab2268102 \
- e3c41d159635384c1fcacb375d490ec1 \
- a5143958be2dfd4f34d4634973c12da2 \
- f044f1455445ddd8d3ad7bdb6d69b224 \
+ 2be25e9b80e7d5a98393dc83069dc1b9 \
+ f73657307861e5406065d5171ad8ccdc \
+ f1c40b9836035b69e464df711a1d2950 \
+ 493f4bd45cf2a6c3963f66f58884f622 \
+ 73272fe4aadb91d550dca8fc7ead8bf7 \
+ 04a84513cdad48c92d8363d627904227 \
9d033cc2daa6924420a4a89e6705773f \
8bc92e2d422193be1d498146e34a0b85 \
- 1c9fee8f180b6f3402849983a45bbd6d \
+ fba3b040a55c01be7376d3dd5c4d4920 \
09c2a456bd4064675a0c53ca70f5eea1 \
- 0c5dc0c601d5590f3ec6da338abc7892 \
- 8d2feeed8413012876e9a7e2693913f5 \
- 63e3a6b5ab75568a510b8cc43275516f \
+ a2f5808f8787bdbcf577f560c70b5dba \
+ 6db136a3e060ff39fc699991b77b0170 \
+ 16b94c53885cc430711a85db2ea665e4 \
8a79353ba205d0a86f695053dd4d15be \
4e3c46643b83ce53618c9bcd211f111a \
- 7442f011dffa49333c3c49eed18209a1 \
- ac6a4d0d3c5cd5718800d285c2da55c5 \
- cc65f96341390c0f60f5216e829486e7 \
- 7d95c53a33d0c550267b89a19899a6fa \
+ ccfdc823f169bd2016cb508b117dae67 \
+ 19466d8edb3c032438026125770b17f9 \
+ 61e508ca2eee543023c5e1ba777e5ede \
7c81e7a61ec172a229d6fdbc553e883d \
7916dcd738a8fa6a2798754c20d6e146 \
- b961d154bd164250ba7b651a1643db72 \
- 514a89ff59a9bf0671d7db4812725459 \
+ b5cf10e268e8a3bee2de8a734104245e \
+ 124ec4f35274a0e9c1a4ef3dc0958643 \
bdb38691302aeb63500e053919f5f0f7 \
- 43452a6296aea71bef32661bee169d21 \
+ 6ad7c30338903afc3521369ecd826cfb \
eb7a07c42356ca50832d5a7ca0e738d3 \
- d239185493ee6c699d6b582eecbf34be \
+ 0d4dc4bd76fdb66114874a4afae6834b \
0e68149cff6d0663d9d70dc88a3f124a \
- 9bbda7eebf6492e19b5168690e5b1251 \
- d1bd78063d761e41baf99ca63a8237aa \
+ e820082de1cf13e1111d2acbae898fcc \
a82e0b9efe7f6385071c9fd9b3bccfa3 \
6217ae55f37fa0c9a37595276ead194a \
- 3ccff603a5f886b5a2ac727c05e83ef5 \
- 13bbe3e6bc0cf7e6e5e877d7c2587ab4 \
- 2ab09fa67b2a6b3b33eb15d8f23814ec \
+ 98731fbefe42841dce239a8e8064431d \
+ e4b3317d33ff0d40a2a0f5195673ec38 \
+ fbccda0cd4fb98e305ba86c4dd5567bc \
+ 7cc35774447d1ec5b7a6f0ebf8765c39 \
+ 683a998da434a7ff8558bdf6eaa7b8c7 \
0cddb62b3dcfb814b4e0b9441c5c1a18 \
- 8a39d8bd95f15af0840d2049f0e78a37 \
- 1ee36ecee72339333335c8dbc5a5f501 \
- 92bcd45a654d9e24c86f3465c6387c47 \
- 576e22400ee2d022f29c2601f195761e \
- 454c083d76bb77b896f229d1c25efd15 \
- a09680cc667e663b1b19320b8614166b \
- 3f8e3010da14cb08648783296e2b172a \
- dae789d1958abac54ffdd3a73ee54fff \
- c802dfc397819893a4b50e37aac5fa38 \
- e8eef33ab80bc4d918213a28886d88db \
- bbda7e9c572f651774dfdb0006b9f085 \
+ c45800f4dfb888a928c772b081065214 \
+ 2bd60bd849926090bd69a9fca2706c62 \
+ 8efd24bdaba2414159d5c9c7d146f3ca \
+ d29e8c70063563f063eb6647ddd187ff \
+ 9c52a747ee0325081e566c9f700a8d7e \
+ 7ea8e5ad906d517aa522b8fcbc49e8dd \
+ 99e024622d98dc28a8a5f37afccaf20a \
+ c3df6ec550943c6ccd356272db8eb202 \
+ fdb01eb939ccb5c5ff66970427d22c48 \
+ 03442e847beac2997633c93f7ecb9cc2 \
aecd889de42c8168e1bc97a6f2720d8f \
- 99a6a9be1be275c72126e9474e1973fa \
+ b4dcac855af5df71f3383d86c4a96b78 \
fd9aa273ad560dedd00ddcf3dbe808ce \
0fb8f799f959c69991d54556c5457068 \
- e9841fe3647cb717ba37bd36d17eee22 \
- 0d3a44e7e7782867e657f119e5fd0751 \
+ c20de7948428395a51bbd46dd03dbfc8 \
+ 59b36aa3bae0b2fa7d338e71da2e309f \
1d457c63e43a46ed899f3c644ffb2d92 \
e1e7dd5a92eecf2d6a2430313d5b4de5 \
- 992a7f71deab703f19c419d3a4303b55 \
- e0493a4c121cded246f611c435dce2b7 \
- f59fef46e6ebc8bfcca5bd8c05e23089 \
+ 8d7308960df5143fe29a4a31c0c5f9c9 \
+ be2af3efcea9586194e249f646161d83 \
7e264bc8f23a45ad680668cb5e57d9fd \
- 8a5fc6ba84f3ac8a7e43ecb99322866c \
- b8db92fd9b5ab0acb0e107e2663e29ce \
- 208dec586f410e1e0f73922920496c17 \
- c9b8a4037f18a98c6c48e91ad0337aad \
- 9f78b722429cc2f34dfab91ba302cae6 \
- 87a9d36f5ebe5eae0c3e8d69d58752e1 \
- 6f0ea9e00157e4fb8b77a4c468745968 \
+ f490982aceabdbd515348f63e638a782 \
+ a580658df3c2da1e8fed41a7a51389d0 \
+ 4964b67b085fa4433b67dbde4d986c31 \
+ fd3df95de65e4c1fe6c9c4a8399cb7e7 \
+ f27cbb8b66feb1cc9ab1b9af8a1a2c51 \
+ d6f8f8aba0bdb5edb2dc41705b9d1144 \
+ e23545b69ca2087070db2432c9e9f52f \
7261ce43635fd9c2a009810db04d6901 \
+ 31e22078d1d024582e5116669d6714e4 \
+ d120d82e6be8b10ed122a6b026db4199 \
020c7d0be083642e24a1499122793006 \
- 4563373184ff931ec276dc1a659d52d2 \
- e4dce2134a2e4ae3bc240f8b09287d8f \
- 54694fe2ab822610b6ee4ccc048752eb \
- 793627c8c18012ad77cb3e81fa4c2195 \
- 3ab5a79607a4d260bf61cd99dc82ab05 \
- 8cab41822d03dfa674870315308fa392 \
- 7058895bdca83bbda052d66b087f902e \
- 28b1e6d15e1ba8cf3a2e953ce7fcd3de \
- 74b15f1928431937f14ed91fdc12b542 \
- 2255d3d9a603e177985602a7df1c5bbc \
- 5acfdc8656212bce8df1bcc43db34c3d \
- f9e08a49715c401602243230b28d86f0 \
- 7826deb76941fc36c2391951bd65ba47 \
- b2d345671d53275030f8a2195bb54e6c \
- 7fe8eb12db2c069b8902b57608fee859 \
- c8d655d206cbe48b84a22544d6fc6d15 \
- 14fab6ea3c2c94779d3c50dd2dffd10e \
- 01cb5402c0fd99cebac702b76f2f2669 \
- d5a91ba6d74914190df5b355f891d6b1 \
- de7bb5037caf6403d859c56b09fedcd2 \
- 2c8aefb686a9e9fe7de0cb49641a93bf \
- d3652677415c9ed4cae3b602316ff8bd \
- b54a0e2463e7e0fb2dfdcb5d14f9e3e8 \
+ 54b1bfe8bed9df22acc8e98f0761f527 \
+ 3181dca31efe33cbed29a45d0ec67848 \
+ e6692d52f35aa3b9311d7d7748fa25ea \
+ d3c0a18ae8f426b3659405203a88f182 \
+ 66d1cb32dce999907409f636f004b884 \
+ 0a80ed36a125ac3cdfa09f8707055873 \
+ a0f55fda89c0f97784edb18f4c253a49 \
+ b269356e8646f3184a0e8d52a58cee69 \
+ 7b0715affe44616a992f113ad7ab7d50 \
+ 6840e02794f8d1a270f10a743f62d8b2 \
+ 8dc2aa474c2cba342120ade9e98de066 \
+ 31d088af3982b271b2afdda37e963518 \
+ 04031b2ff0f95e8fb3c09d2d1d3b3b77 \
+ 26e3fed1cf505f5fd65b98fb149ca1aa \
526f5ebac8d794185afbc71959c5c968 \
- 0e1337ce36a0524b79c563ff5d5d55a0 \
+ c9a135ad3406eeeffb425d585d4567d7 \
+ 7b1261ea730a9314bc9bcdf4a379bf98 \
675704441633e4a46e05d0dec5671a70 \
4d101ab24d14c54937c5f45ece8fad5f \
- 9495d5a14ac751d6e9fce9d1365bef2a \
- 7d4f84f72195bbdddcf9dc0d8e78e21d \
- 6bccc3d52555a67d135ee83a4f7ffade \
- ca86bd23ecb6fed99d42f56646cbb23c \
- b492e0a70603c3903a44ec5cabd3ba21 \
- 500e5bb7d9b5a8882e2e961012391a58 \
- 3ef5c635367a7b730e87f4630a165396 \
- 0866d83901a03ba059b6bf926d1b0e5d \
+ f69d418c4e60b38ce069f8778208b520 \
+ 55ba60123c22238764e9007b3152f6cc \
+ 44d95c1ed46baee736c9420ad1de3228 \
+ 2d8d8b377d144f5e32b4f65a69eb0b24 \
+ f505a218806e44b2369671089d65e839 \
+ b4a0a98a54439a5a37952c8879187ee3 \
+ 1024ac462fe90a1d7882a6911bd70604 \
+ 9e0c7fedb6287e5090bab920da5c1d09 \
8b4d8c7b6e3a060d365bc1ad650929fa \
64111c20b69aa1532fb66b70c4660b55 \
- 139b53176d233a23a1e15cffbe572ff8 \
- 0497165afc09536175b4de3d34b0bdb5 \
- 499034935525a3fe9e30152ce1577967 \
- afe9fc29477e734b6659bf1a0f6eed1a \
- 2aaa993ba5f5cb24369e21647549188a \
+ 3879349fe374e764e24f37ce40ac9824 \
+ 9b7d58f6341fb619ff2190481ce13b84 \
+ ce76f5430cd6d2ab76d0d86ecb8a4f4d \
+ edc6879bb5e213331662862bb4a68145 \
+ 1e7f016a7eff797498f28cba0e156d3a \
0a1c33ff15279010692af23566070deb \
e0a0f1fa737110ffd0b04af8d1062edd \
- 0d35570b33776ab2873b8755987d52f0 \
- 62913042ad8b4c0c5e28a31149f850bf \
- 85e4e64ebc6bd76f1b9ff5be147a918d \
+ e4e7efe2ab7921499d5c247a349e9e1f \
+ 6baa5e1feb7ae90febb0ce028b0e4117 \
+ 25d8a9b311bab576201d2d2bf19492e4 \
+ 760118daf11b1985e22552de2b5b868a \
c7bfa89e6da163f1474bb3787987bb12 \
- 3ac52ba7f73e0cd8e00f60d16ff45514 \
- 9e3e8bdc88d464f09a91ed2f3a846135 \
- bd1c86f58ed7a3c8e7df1c30fea5dbef \
- aba44e01d79201aae0411bfa585469e7 \
- f8940031ec32d380377b08b094eb0e8b \
+ 079297fc0fb968f749368577d9131549 \
+ d542cb62835e6715b6971ef7af7a592c \
+ 0f842e0256ed664e51aca8ca2e306c57 \
+ 77db363940fc8039d4389406375031d0 \
557d2ae2d0ba91790dfa7b2a894807e8 \
- a986c51d8a91f91704da0c440295640d \
- 40e4dd995bedecf33061a2261bb16fd3 \
- 375d34988f445cb9a9f7f1100e6b55c2 \
+ 180a73ec075244f3a7a519160efade32 \
+ 3cea882cebbb1273387568cf938abe35 \
781d4ccf5d04c98fa02af207a9639249 \
- 43a04c8941705f2248c62841892631be \
- 5a48d337526e8242824526547370549b \
- 85703ae5de861e4eb47f74fafca6a7be \
- 4df756b9ab1b163e13a390b204b3d092 \
- 051f9a8b684a784c146a4ab0b79de48e \
- ab9746687f0c2a9b8270bb4ed1ea0306 \
+ 67ddc5f26cbbc715dfa213c9e4881dd7 \
+ bb3ae104a9fa1b31568cc98c920a4653 \
+ 62e883807a65ebe1ba9d0e555d703339 \
+ c4fcdc44105c5e02def5a4ea19f1775f \
a8de006fe0c7e373c560dd51599287a8 \
- baaa166f66e90e94b76b7418afd5df90 \
- f1edd49410255effa61359d30c9ce5fe \
- 3d311d2cedf2d3d7b11b32baf470b178 \
- d34a9f507f3ecf7d93c07deb74f1cd7c \
- efe755cdb3d22d67bcc79ec27f020cf4 \
+ a5dd75e77c7324f5c1d2d372c990d0a7 \
+ 9d66208e00715217a8c1f2e40efe4a0c \
+ 2e99b7fe9fc50def58bf0b391c149b1c \
+ 36cbce768155bdac8934efa262d75fe3 \
f403bbb812ce1a2d9270d9159cf9e8d3 \
- 60eec117e8efaa29b898e43319da2b05 \
- d7c493ca4f84a7d50b53646421a37487 \
+ 3d394ff298f20e04de3ce053ab63ccc7 \
+ 0f65fd26370e1fd67c8e8812cabea574 \
5aaf04f9a94a6450e3e4963ddd62b92d \
- 32f0ced8a8881d2c0572b879bf15b91e \
- f8a47b6fe6c71c2fd9908dae88f94347 \
- 3b656a3aebdf60145eb01a1300cd85ca \
- e75c0721667b6bc86472ecf7b286d9fc \
- 0eedbc32447f40b3045d6de3910b5415 \
- f48add3d6234e8b9829fa5364509f425 \
+ e628ca8adb2b572bffb210f014656b6f \
+ 81821d39675a1f584546b9920e5d6b5d \
+ f0fec022d543fb5d2575bd32ee6803a4 \
+ 9d83f7627e511837fb2d94fbad338d35 \
+ aab44b0dae2fc434c7b1f119ffb100b9 \
+ 333b4ba3f64c35b6f89b521e8d64548b \
+ 0d6976e8a1a1e69abc8ba8f6966cddb8 \
689203efc084fc0f1d1f74f5d354ae75 \
6fe13b4122d83cd239b61466ede3198c \
32222c3df2805eabcfe92432db2aee8f \
- 9f49c12903d0319936054bf1c128f112 \
- 4ed944c2f68d75e58ac06508506b6d93 \
- de799253b8652e46cec72a7758a6085b \
- 7be5a2215ac3986bada28d4ccc507493 \
- 71879bfa56c9dac9c3eca0d7d90058a4 \
- 9fc85ffd5936eace50827d3b590f694f \
- 7467a7f88ab3ca5f94d048d9737c824c \
- 72d14cc739ee18887d3868bcc8c3b5ca \
- 00003a4613ca60c5df2df4b2d9748524 \
- e3ffa289da472afbb6a5617cb167fadb \
- 9fd3c9dbdf06eb833ef876a62db982d6 \
- 342af756bc2b863a8984debc25883cc4 \
- 2d007e6bd4d52c23e864eaa2f9fcbc2f \
- 85a67f6f40cf2df6e1f12791a2b1cf9a \
+ 03d7d776edd1a01dbc81f955fa9a9d41 \
+ a29fec77b1e07caf7b682b881b676c06 \
+ 1092a4a24e80f8856efc71af51a06114 \
+ 6e23e0eee42b1ba9ec61a6db7ec2dc08 \
+ a59b9a01b4de22db8d7287f945bce33c \
+ b5015d777b19cae7d1c9a40622c74b03 \
+ 45a3312c06fe9539a292146025f02426 \
+ fbdc95c195b987c8d75dc92c97a10307 \
+ 5a2a0beb0c61c93106161a473bb9df12 \
+ 7035a08f69721a134bd3f401d977fb57 \
c900e7dbce808ff8ced375077b17a163 \
db96b50050277bf05a3c68534bbb9586 \
- 4724370f3179d1ab61f3fd8fa60a2368 \
+ b9e37d5fc4ad28b612b78ad37816684d \
09de9d01e7331ff3da11f58be8bef0df \
b44489eb4799c4fabac3fceb48de54f7 \
- 38569b37293d94fc57b6e1449a1c38aa \
- 2f9f840bd479751f715a8f530976b6bf \
- 7ef28b3568806be8d1bd0ac841cecc16 \
- 35dc54bd806e940d9fd1fcdab28a5fc3 \
- d9c86ac3f5060d384d3a4c3f99fdadeb \
+ ce68e06a2cd4f180747cf169fc388a95 \
+ 8125488182a6ce236cdc8508ae1ad6a2 \
+ b047c36ce2c3277ec2f9d0b88b17a082 \
+ a5993712501e0c03db6ec7a31c4d6d50 \
+ e01f3a4b5c3690899e5975c90bf12174 \
38346bab0933c9eb1e36d22fe4220ba7 \
- de3533ffd04f40669651c646bef3ad88 \
- 65c71ba710824feabcdbc340aa9dbebe \
- aa21a0ccffbd119424b5ab3b14a1d753 \
+ 8aa5631ce68ab505b09a7e01fd704f65 \
+ 6e5896b10ddc995243e45e5482e7ee43 \
+ bc17188adb6a07610c3a78bfb184ef59 \
1628d3f26e3f952d8c43973ade1f2dad \
9039399ab9632e189ce70d8008011d34 \
0541629539c6bf2359a81746df61d841 \
- 3e408e8700abf85f83c4e0ec6afe3172"
+ 7ae9feef92beadbfbb0caa8c2fee28d6"
DOWNLOAD_x86_64=""
MD5SUM_x86_64=""
REQUIRES="python3"
diff --git a/system/anacron/anacron.info b/system/anacron/anacron.info
index 71048247dd..470d0e504f 100644
--- a/system/anacron/anacron.info
+++ b/system/anacron/anacron.info
@@ -6,5 +6,5 @@ MD5SUM="865cc1dfe1ed75c470d3e6de13763f03"
DOWNLOAD_x86_64=""
MD5SUM_x86_64=""
REQUIRES=""
-MAINTAINER="Michael Wagner"
-EMAIL="lapinours@web.de"
+MAINTAINER="orphaned - no maintainer"
+EMAIL="nobody@nowhere.com"
diff --git a/system/android-file-transfer/README b/system/android-file-transfer/README
index a2ec55f725..a0b712341a 100644
--- a/system/android-file-transfer/README
+++ b/system/android-file-transfer/README
@@ -1,8 +1,10 @@
Android File Transfer for Linux - reliable MTP client with
minimalistic UI similar to Android File Transfer for Mac.
-Android File Transfer by default builds qt4 ui (or qt5,
-if installed). However, in building only the client,
-without ui, run the script with the following command:
+Android File Transfer by default builds qt5 ui. This version
+of Android File Transfer does not support qt4 ui.
+
+In building only the command-line client (this does not require
+qt5), run the script with the following command:
QT_GUI=no ./android-file-transfer.SlackBuild
diff --git a/system/android-file-transfer/android-file-transfer.SlackBuild b/system/android-file-transfer/android-file-transfer.SlackBuild
index 809af5be97..07699f3c7d 100644
--- a/system/android-file-transfer/android-file-transfer.SlackBuild
+++ b/system/android-file-transfer/android-file-transfer.SlackBuild
@@ -2,7 +2,7 @@
# Slackware build script for android-file-transfer
#
-# Copyright 2019 Isaac Yu <isaacyu1@isaacyu1.com>
+# Copyright 2019-2021 Isaac Yu <isaacyu1@isaacyu1.com>
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
@@ -23,7 +23,7 @@
# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
PRGNAM=android-file-transfer
-VERSION=${VERSION:-3.9}
+VERSION=${VERSION:-4.2}
BUILD=${BUILD:-1}
TAG=${TAG:-_SBo}
@@ -81,9 +81,9 @@ cd build
-DCMAKE_C_FLAGS:STRING="$SLKCFLAGS" \
-DCMAKE_CXX_FLAGS:STRING="$SLKCFLAGS" \
-DCMAKE_INSTALL_PREFIX=/usr \
- -DMAN_INSTALL_DIR=/usr/man \
- -DCMAKE_BUILD_TYPE=Release .. \
- -DBUILD_QT_UI=$GUI
+ -DLIB_SUFFIX=${LIBDIRSUFFIX} \
+ -DBUILD_QT_UI=$GUI \
+ -DCMAKE_BUILD_TYPE=Release ..
make
make install DESTDIR=$PKG
cd ..
diff --git a/system/android-file-transfer/android-file-transfer.info b/system/android-file-transfer/android-file-transfer.info
index e2ec031b1b..256a032663 100644
--- a/system/android-file-transfer/android-file-transfer.info
+++ b/system/android-file-transfer/android-file-transfer.info
@@ -1,10 +1,10 @@
PRGNAM="android-file-transfer"
-VERSION="3.9"
+VERSION="4.2"
HOMEPAGE="https://github.com/whoozle/android-file-transfer-linux"
-DOWNLOAD="https://github.com/whoozle/android-file-transfer-linux/archive/v3.9/android-file-transfer-3.9.tar.gz"
-MD5SUM="84c28538f03802a3f0dda71e53564034"
+DOWNLOAD="https://github.com/whoozle/android-file-transfer-linux/archive/v4.2/android-file-transfer-4.2.tar.gz"
+MD5SUM="861de28c87f095a32808d0cbf9bb897a"
DOWNLOAD_x86_64=""
MD5SUM_x86_64=""
-REQUIRES=""
+REQUIRES="qt5"
MAINTAINER="Isaac Yu"
EMAIL="isaacyu1@isaacyu1.com"
diff --git a/system/ansible/ansible.SlackBuild b/system/ansible/ansible.SlackBuild
index ec0f26b82f..f5043880e4 100644
--- a/system/ansible/ansible.SlackBuild
+++ b/system/ansible/ansible.SlackBuild
@@ -4,7 +4,7 @@
# Copyright 2014 Alex Diaconu <alex.diaconu@gmx.com>
# Copyright 2016 Ciorceri Petru Sorin <cpsorin@gmail.com>
-# Copyright 2017-2019 Marek Wodzinski <majek@w7i.pl>
+# Copyright 2017-2020 Marek Wodzinski <majek@w7i.pl>
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
@@ -25,7 +25,7 @@
# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
PRGNAM=ansible
-VERSION=${VERSION:-2.8.7}
+VERSION=${VERSION:-2.9.20}
BUILD=${BUILD:-1}
TAG=${TAG:-_SBo}
diff --git a/system/ansible/ansible.info b/system/ansible/ansible.info
index db03d05c8e..bd7b3a06ee 100644
--- a/system/ansible/ansible.info
+++ b/system/ansible/ansible.info
@@ -1,8 +1,8 @@
PRGNAM="ansible"
-VERSION="2.8.7"
+VERSION="2.9.20"
HOMEPAGE="https://www.ansible.com"
-DOWNLOAD="https://releases.ansible.com/ansible/ansible-2.8.7.tar.gz"
-MD5SUM="33d3ab8c6c2f27024ba9e3197457d577"
+DOWNLOAD="https://releases.ansible.com/ansible/ansible-2.9.20.tar.gz"
+MD5SUM="47226da137b30883f166d5543882d66f"
DOWNLOAD_x86_64=""
MD5SUM_x86_64=""
REQUIRES="cryptography python3-PyYAML Jinja2"
diff --git a/system/apache-tomcat/apache-tomcat.SlackBuild b/system/apache-tomcat/apache-tomcat.SlackBuild
index 541033b591..28eec47580 100644
--- a/system/apache-tomcat/apache-tomcat.SlackBuild
+++ b/system/apache-tomcat/apache-tomcat.SlackBuild
@@ -24,7 +24,7 @@
# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
PRGNAM=apache-tomcat
-VERSION=${VERSION:-7.0.67}
+VERSION=${VERSION:-7.0.103}
ARCH=noarch
BUILD=${BUILD:-1}
TAG=${TAG:-_SBo}
@@ -66,7 +66,7 @@ find -L . \
mkdir -p $PKG/etc/tomcat $PKG/usr/share/{tomcat,java} \
$PKG/var/{run,lib,log,tmp,spool}/tomcat
- # required, otherwise, permissions on /var/tmp will be
+ # required, otherwise, permissions on /var/tmp will be
# (re)set to 755 when package is installed.
#
chmod 1777 $PKG/var/tmp
diff --git a/system/apache-tomcat/apache-tomcat.info b/system/apache-tomcat/apache-tomcat.info
index 3de9bf59f8..2750dfb566 100644
--- a/system/apache-tomcat/apache-tomcat.info
+++ b/system/apache-tomcat/apache-tomcat.info
@@ -1,8 +1,8 @@
PRGNAM="apache-tomcat"
-VERSION="7.0.67"
-HOMEPAGE="http://tomcat.apache.org/"
-DOWNLOAD="http://archive.apache.org/dist/tomcat/tomcat-7/v7.0.67/bin/apache-tomcat-7.0.67.tar.gz"
-MD5SUM="55a5ef91b4bd9082ad5faf91d3372ae2"
+VERSION="7.0.103"
+HOMEPAGE="https://tomcat.apache.org/"
+DOWNLOAD="https://archive.apache.org/dist/tomcat/tomcat-7/v7.0.103/bin/apache-tomcat-7.0.103.tar.gz"
+MD5SUM="8dd9df51900023107e0c24f4ed105b01"
DOWNLOAD_x86_64=""
MD5SUM_x86_64=""
REQUIRES="jdk commons-daemon"
diff --git a/system/apg/README b/system/apg/README
new file mode 100644
index 0000000000..5185c1ddd4
--- /dev/null
+++ b/system/apg/README
@@ -0,0 +1,18 @@
+apg (automated password generator)
+
+apg generates random passwords according to several algorithms. The
+default algorithm is pronounceable password generation algorithm
+designed by Morrie Gasser and described in 'A Random Word Generator
+For Pronounceable Passwords (National Technical Information Service
+(NTIS) AD-A-017676)'.
+
+This SlackBuild by default patches apg to use /dev/urandom rather than
+/dev/random for generating random seeds, to avoid apg blocking while
+waiting for the kernel to gather more entropy. If you're worried about
+this being possibly insecure, first read:
+
+http://web.archive.org/web/20201109034537/https://www.2uo.de/myths-about-urandom/
+
+Then, if you remain unconvinced, you can run this script with
+URANDOM=no in the environment to use /dev/random. Remember, apg is
+only using this to generate *seeds* for its own built-in PRNG!
diff --git a/system/apg/apg.SlackBuild b/system/apg/apg.SlackBuild
new file mode 100644
index 0000000000..a213d6346e
--- /dev/null
+++ b/system/apg/apg.SlackBuild
@@ -0,0 +1,77 @@
+#!/bin/sh
+
+# Slackware build script for apg
+
+# Written by B. Watson (yalhcru@gmail.com)
+
+# Licensed under the WTFPL. See http://www.wtfpl.net/txt/copying/ for details.
+
+# TODO: figure out what's wrong with apgd. It works fine when called
+# from the command line, but when starting it from inetd it seems
+# to get stuck in a loop, never prints any output, logs hundreds
+# of requests, and never generates any output. This is low-priority
+# because nobody actually *uses* a password-generation TCP service...
+
+PRGNAM=apg
+VERSION=${VERSION:-2.2.3}
+BUILD=${BUILD:-1}
+TAG=${TAG:-_SBo}
+
+if [ -z "$ARCH" ]; then
+ case "$( uname -m )" in
+ i?86) ARCH=i586 ;;
+ arm*) ARCH=arm ;;
+ *) ARCH=$( uname -m ) ;;
+ esac
+fi
+
+CWD=$(pwd)
+TMP=${TMP:-/tmp/SBo}
+PKG=$TMP/package-$PRGNAM
+OUTPUT=${OUTPUT:-/tmp}
+
+if [ "$ARCH" = "i586" ]; then
+ SLKCFLAGS="-O2 -march=i586 -mtune=i686"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "i686" ]; then
+ SLKCFLAGS="-O2 -march=i686 -mtune=i686"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "x86_64" ]; then
+ SLKCFLAGS="-O2 -fPIC"
+ LIBDIRSUFFIX="64"
+else
+ SLKCFLAGS="-O2"
+ LIBDIRSUFFIX=""
+fi
+
+set -e
+
+rm -rf $PKG
+mkdir -p $TMP $PKG $OUTPUT
+cd $TMP
+rm -rf $PRGNAM-$VERSION
+tar xvf $CWD/$PRGNAM-$VERSION.tar.gz
+cd $PRGNAM-$VERSION
+chown -R root:root .
+find -L . -perm /111 -a \! -perm 755 -a -exec chmod 755 {} \+ -o \
+ \! -perm /111 -a \! -perm 644 -a -exec chmod 644 {} \+
+
+[ "${URANDOM:-yes}" = "no" ] || sed -i 's,/dev/random,/dev/urandom,' rnd.h
+
+# If we were going to build the daemon, we'd use "make all".
+
+make FLAGS="$SLKCFLAGS -Wl,-s"
+make install INSTALL_PREFIX=$PKG/usr
+gzip -9 $PKG/usr/man/man?/*.?
+
+rm -rf doc/man
+mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION
+cp -a CHANGES COPYING LICENSE README README.md THANKS TODO doc/* \
+ $PKG/usr/doc/$PRGNAM-$VERSION
+cat $CWD/$PRGNAM.SlackBuild > $PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM.SlackBuild
+
+mkdir -p $PKG/install
+cat $CWD/slack-desc > $PKG/install/slack-desc
+
+cd $PKG
+/sbin/makepkg -l y -c n $OUTPUT/$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.${PKGTYPE:-tgz}
diff --git a/system/apg/apg.info b/system/apg/apg.info
new file mode 100644
index 0000000000..89d7456f13
--- /dev/null
+++ b/system/apg/apg.info
@@ -0,0 +1,10 @@
+PRGNAM="apg"
+VERSION="2.2.3"
+HOMEPAGE="https://github.com/jabenninghoff/apg/blob/master/rnd.c"
+DOWNLOAD="https://github.com/jabenninghoff/apg/archive/v2.2.3/apg-2.2.3.tar.gz"
+MD5SUM="6d1490d7835dbf5a04ade75fbad3d726"
+DOWNLOAD_x86_64=""
+MD5SUM_x86_64=""
+REQUIRES=""
+MAINTAINER="B. Watson"
+EMAIL="yalhcru@gmail.com"
diff --git a/system/apg/slack-desc b/system/apg/slack-desc
new file mode 100644
index 0000000000..7278d89849
--- /dev/null
+++ b/system/apg/slack-desc
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description.
+# Line up the first '|' above the ':' following the base package name, and
+# the '|' on the right side marks the last column you can put a character in.
+# You must make exactly 11 lines for the formatting to be correct. It's also
+# customary to leave one space after the ':' except on otherwise blank lines.
+
+ |-----handy-ruler------------------------------------------------------|
+apg: apg (automated password generator)
+apg:
+apg: apg generates random passwords according to several algorithms. The
+apg: default algorithm is pronounceable password generation algorithm
+apg: designed by Morrie Gasser and described in 'A Random Word Generator
+apg: For Pronounceable Passwords (National Technical Information Service
+apg: (NTIS) AD-A-017676)'.
+apg:
+apg:
+apg:
+apg:
diff --git a/system/apparmor/apparmor.SlackBuild b/system/apparmor/apparmor.SlackBuild
index cf7e299959..9f1dcc2c1a 100644
--- a/system/apparmor/apparmor.SlackBuild
+++ b/system/apparmor/apparmor.SlackBuild
@@ -23,24 +23,22 @@
# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
PRGNAM=apparmor
-VERSION=${VERSION:-2.13.3}
+VERSION=${VERSION:-2.13.4}
BUILD=${BUILD:-1}
TAG=${TAG:-_SBo}
-# Automatically determine the architecture we're building on:
if [ -z "$ARCH" ]; then
case "$( uname -m )" in
i?86) ARCH=i586 ;;
arm*) ARCH=arm ;;
- # Unless $ARCH is already set, use uname -m for all other archs:
*) ARCH=$( uname -m ) ;;
esac
fi
CWD=$(pwd)
-TMP=${TMP:-/tmp/SBo} # For consistency's sake, use this
+TMP=${TMP:-/tmp/SBo}
PKG=$TMP/package-$PRGNAM
-OUTPUT=${OUTPUT:-/tmp} # Drop the package in /tmp
+OUTPUT=${OUTPUT:-/tmp}
if [ "$ARCH" = "i586" ]; then
SLKCFLAGS="-O2 -march=i586 -mtune=i686"
@@ -128,11 +126,9 @@ make
make install DESTDIR=$PKG
popd
-# Strip binaries and libraries
find $PKG -print0 | xargs -0 file | grep -e "executable" -e "shared object" | grep ELF \
| cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null || true
-# Compress man pages
find $PKG/usr/man -type f -exec gzip -9 {} \;
for i in $( find $PKG/usr/man -type l ) ; do ln -s $( readlink $i ).gz $i.gz ; rm $i ; done
@@ -141,18 +137,15 @@ find $PKG -name perllocal.pod \
-o -name "*.bs" \
| xargs rm -f
-# Copy program documentation into the package
mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION
cp -a \
LICENSE README.md documentation/ \
$PKG/usr/doc/$PRGNAM-$VERSION
cat $CWD/$PRGNAM.SlackBuild > $PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM.SlackBuild
-# Copy the slack-desc and a custom doinst.sh into ./install
mkdir -p $PKG/install
cat $CWD/slack-desc > $PKG/install/slack-desc
cat $CWD/doinst.sh > $PKG/install/doinst.sh
-# Make the package
cd $PKG
/sbin/makepkg -l y -c n $OUTPUT/$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.${PKGTYPE:-tgz}
diff --git a/system/apparmor/apparmor.info b/system/apparmor/apparmor.info
index 0a9a93a3fc..d1f682368f 100644
--- a/system/apparmor/apparmor.info
+++ b/system/apparmor/apparmor.info
@@ -1,10 +1,10 @@
PRGNAM="apparmor"
-VERSION="2.13.3"
+VERSION="2.13.4"
HOMEPAGE="https://gitlab.com/apparmor/"
-DOWNLOAD="https://gitlab.com/apparmor/apparmor/-/archive/v2.13.3/apparmor-v2.13.3.tar.bz2"
-MD5SUM="0ac3ec21b3139ef09e48d84b5c091f46"
+DOWNLOAD="https://gitlab.com/apparmor/apparmor/-/archive/v2.13.4/apparmor-v2.13.4.tar.bz2"
+MD5SUM="ac50e8bec220d62a350661ee88fd41b4"
DOWNLOAD_x86_64=""
MD5SUM_x86_64=""
REQUIRES="python3"
MAINTAINER="pyllyukko"
-EMAIL="pyllyukko AT maimed dot org"
+EMAIL="pyllyukko@maimed.org"
diff --git a/system/archivemount/README b/system/archivemount/README
new file mode 100644
index 0000000000..c3cec52a31
--- /dev/null
+++ b/system/archivemount/README
@@ -0,0 +1,10 @@
+archivemount (mounts an archive for access as a file system)
+
+archivemount is a FUSE based file system. Its purpose is to mount
+an archive on a mount point where it can be read from or written to
+as with any other file system. This makes accessing the contents of
+the archive, which may be compressed, transparent to other programs,
+without decompressing them.
+
+Supported archive formats: tar, pax, cpio, iso9660 (CD-ROM) images,
+zip, shar. Other archive types such as rar and 7z may also work.
diff --git a/system/archivemount/archivemount.SlackBuild b/system/archivemount/archivemount.SlackBuild
new file mode 100644
index 0000000000..4b2001ae1d
--- /dev/null
+++ b/system/archivemount/archivemount.SlackBuild
@@ -0,0 +1,86 @@
+#!/bin/sh
+
+# Slackware build script for archivemount
+
+# Written by B. Watson (yalhcru@gmail.com)
+
+# Licensed under the WTFPL. See http://www.wtfpl.net/txt/copying/ for details.
+
+# 20200923 bkw: Update for v0.9.1. Thanks to Alexander Verbovetsky
+# for pointing out the real homepage and new version of archivemount.
+# Also, reflowed the README, all the lines are <= 72 characters now.
+
+PRGNAM=archivemount
+VERSION=${VERSION:-0.9.1}
+BUILD=${BUILD:-1}
+TAG=${TAG:-_SBo}
+
+if [ -z "$ARCH" ]; then
+ case "$( uname -m )" in
+ i?86) ARCH=i586 ;;
+ arm*) ARCH=arm ;;
+ *) ARCH=$( uname -m ) ;;
+ esac
+fi
+
+CWD=$(pwd)
+TMP=${TMP:-/tmp/SBo}
+PKG=$TMP/package-$PRGNAM
+OUTPUT=${OUTPUT:-/tmp}
+
+if [ "$ARCH" = "i586" ]; then
+ SLKCFLAGS="-O2 -march=i586 -mtune=i686"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "i686" ]; then
+ SLKCFLAGS="-O2 -march=i686 -mtune=i686"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "x86_64" ]; then
+ SLKCFLAGS="-O2 -fPIC"
+ LIBDIRSUFFIX="64"
+else
+ SLKCFLAGS="-O2"
+ LIBDIRSUFFIX=""
+fi
+
+set -e
+
+rm -rf $PKG
+mkdir -p $TMP $PKG $OUTPUT
+cd $TMP
+rm -rf $PRGNAM-$VERSION
+tar xvf $CWD/$PRGNAM-$VERSION.tar.gz
+cd $PRGNAM-$VERSION
+chown -R root:root .
+find -L . -perm /111 -a \! -perm 755 -a -exec chmod 755 {} \+ -o \
+ \! -perm /111 -a \! -perm 644 -a -exec chmod 644 {} \+
+
+# Man page says to use umount, which works but requires root privs.
+# The normal way for a user to umount a fuse fs is with fusermount.
+# Also fix hyphen/minus formatting errors.
+patch -p1 < $CWD/manpage.diff
+rm -f $PRGNAM.1 # make sure it will be rebuilt
+
+CFLAGS="$SLKCFLAGS" \
+CXXFLAGS="$SLKCFLAGS" \
+./configure \
+ --prefix=/usr \
+ --libdir=/usr/lib${LIBDIRSUFFIX} \
+ --sysconfdir=/etc \
+ --localstatedir=/var \
+ --mandir=/usr/man \
+ --docdir=/usr/doc/$PRGNAM-$VERSION \
+ --build=$ARCH-slackware-linux
+
+make
+make install-strip DESTDIR=$PKG
+gzip -9 $PKG/usr/man/man1/$PRGNAM.1
+
+mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION
+cp -a CHANGELOG COPYING README $PKG/usr/doc/$PRGNAM-$VERSION
+cat $CWD/$PRGNAM.SlackBuild > $PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM.SlackBuild
+
+mkdir -p $PKG/install
+cat $CWD/slack-desc > $PKG/install/slack-desc
+
+cd $PKG
+/sbin/makepkg -l y -c n $OUTPUT/$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.${PKGTYPE:-tgz}
diff --git a/system/archivemount/archivemount.info b/system/archivemount/archivemount.info
new file mode 100644
index 0000000000..0a2296ff0b
--- /dev/null
+++ b/system/archivemount/archivemount.info
@@ -0,0 +1,10 @@
+PRGNAM="archivemount"
+VERSION="0.9.1"
+HOMEPAGE="https://www.cybernoia.de/software/archivemount.html"
+DOWNLOAD="https://www.cybernoia.de/software/archivemount/archivemount-0.9.1.tar.gz"
+MD5SUM="954c096230ab1e1f7153555c0221b37d"
+DOWNLOAD_x86_64=""
+MD5SUM_x86_64=""
+REQUIRES=""
+MAINTAINER="B. Watson"
+EMAIL="yalhcru@gmail.com"
diff --git a/system/archivemount/manpage.diff b/system/archivemount/manpage.diff
new file mode 100644
index 0000000000..ed745b1897
--- /dev/null
+++ b/system/archivemount/manpage.diff
@@ -0,0 +1,335 @@
+diff -Naur archivemount-0.8.7/archivemount.1.in archivemount-0.8.7.patched/archivemount.1.in
+--- archivemount-0.8.7/archivemount.1.in 2013-10-24 00:52:59.000000000 -0400
++++ archivemount-0.8.7.patched/archivemount.1.in 2019-12-17 03:06:50.655875322 -0500
+@@ -5,12 +5,12 @@
+ .SH NAME
+ archivemount \- mounts an archive for access as a file system
+ .SH SYNOPSIS
+-\fBarchivemount\fP [\fB-hVdfs\fP] [\fB-o\fP \fIoptions\fP] \fIarchivepath\fP \fImountpoint\fP
++\fBarchivemount\fP [\fB\-hVdfs\fP] [\fB\-o\fP \fIoptions\fP] \fIarchivepath\fP \fImountpoint\fP
+ .SH DESCRIPTION
+ The \fBarchivemount\fP command mounts the file tree contained in the archive
+ \fIarchivepath\fP on the directory \fImountpoint\fP. The archive's contents
+ can subsequently be accessed inside \fImountpoint\fP as a file system. The
+-\fBumount\fP(8) command performs the corresponding unmount operation.
++\fBumount\fP(8) command (or \fBfusermount \-u\fP) performs the corresponding unmount operation.
+
+ \fBarchivemount\fP is known to work under both linux and Mac OS X (via
+ MacFUSE).
+@@ -34,7 +34,7 @@
+ [... Perform desired read/write operations on the archive via mnt/ ...]
+
+ .nf
+-$ umount mnt
++$ fusermount -u mnt
+
+ [... Any changes are saved to the archive ...]
+
+@@ -44,13 +44,13 @@
+ Read operations are supported for:
+ .RS
+ .IP \(bu
+-old-style tar archives,
++old\-style tar archives,
+ .IP \(bu
+ most variants of the POSIX ``ustar'' format,
+ .IP \(bu
+ the POSIX ``pax interchange'' format,
+ .IP \(bu
+-GNU-format tar archives,
++GNU\-format tar archives,
+ .IP \(bu
+ most common cpio archive formats,
+ .IP \(bu
+@@ -65,11 +65,11 @@
+ The following formats can be written:
+ .RS
+ .IP \(bu
+-POSIX-standard ``ustar'' archives,
++POSIX\-standard ``ustar'' archives,
+ .IP \(bu
+ POSIX ``pax interchange format'' archives,
+ .IP \(bu
+-POSIX octet-oriented cpio archives,
++POSIX octet\-oriented cpio archives,
+ .IP \(bu
+ two different variants of shar archives.
+ .RE
+@@ -83,7 +83,7 @@
+
+ \fBarchivemount\fP is built upon the FUSE (Filesystem in Userspace)
+ library, and the complete set of available options depends upon the
+-specific FUSE implementation. Execute \fBarchivemount -h\fP to retrieve
++specific FUSE implementation. Execute \fBarchivemount \-h\fP to retrieve
+ a definitive list.
+
+ .SS "general options"
+@@ -216,168 +216,168 @@
+ These options are available to Mac users using MacFUSE.
+
+ .TP
+-\fB-o\fR allow_other
++\fB\-o\fR allow_other
+ allow access to others besides the user who mounted the file system
+ .TP
+-\fB-o\fR allow_recursion
++\fB\-o\fR allow_recursion
+ allow a mount point that itself resides on a MacFUSE volume (by default,
+ such mounting is disallowed)
+ .TP
+-\fB-o\fR allow_root
++\fB\-o\fR allow_root
+ allow access to root (can't be used with allow_other)
+ .TP
+-\fB-o\fR auto_xattr
++\fB\-o\fR auto_xattr
+ handle extended attributes entirely through ._ files
+ .TP
+-\fB-o\fR blocksize=SIZE
++\fB\-o\fR blocksize=SIZE
+ specify block size in bytes of "storage"
+ .TP
+-\fB-o\fR case_insensitive
+-enable case-insensitive mode
++\fB\-o\fR case_insensitive
++enable case\-insensitive mode
+ .TP
+-\fB-o\fR daemon_timeout=T
++\fB\-o\fR daemon_timeout=T
+ timeout in seconds for kernel calls to daemon
+ .TP
+-\fB-o\fR debug
++\fB\-o\fR debug
+ turn on debug information printing
+ .TP
+-\fB-o\fR default_permissions
++\fB\-o\fR default_permissions
+ let the kernel handle permission checks locally
+ .TP
+-\fB-o\fR defer_permissions
++\fB\-o\fR defer_permissions
+ defer permission checks to file operations themselves
+ .TP
+-\fB-o\fR direct_io
+-use alternative (direct) path for kernel-user I/O
++\fB\-o\fR direct_io
++use alternative (direct) path for kernel\-user I/O
+ .TP
+-\fB-o\fR extended_security
++\fB\-o\fR extended_security
+ turn on Mac OS X extended security (ACLs)
+ .TP
+-\fB-o\fR fsid=FSID
+-set the second 32-bit component of the fsid
++\fB\-o\fR fsid=FSID
++set the second 32\-bit component of the fsid
+ .TP
+-\fB-o\fR fsname=NAME
++\fB\-o\fR fsname=NAME
+ set the file system's name
+ .TP
+-\fB-o\fR fssubtype=NUM
++\fB\-o\fR fssubtype=NUM
+ set the file system's fssubtype identifier
+ .TP
+-\fB-o\fR fstypename=NAME
++\fB\-o\fR fstypename=NAME
+ set the file system's type name
+ .TP
+-\fB-o\fR iosize=SIZE
++\fB\-o\fR iosize=SIZE
+ specify maximum I/O size in bytes
+ .TP
+-\fB-o\fR jail_symlinks
++\fB\-o\fR jail_symlinks
+ contain symbolic links within the mount
+ .TP
+-\fB-o\fR kill_on_unmount
++\fB\-o\fR kill_on_unmount
+ kernel will send a signal (SIGKILL by default) to the daemon after unmount
+ finishes
+ .TP
+-\fB-o\fR local
++\fB\-o\fR local
+ mark the volume as ``local'' (default is ``nonlocal'')
+ .TP
+-\fB-o\fR negative_vncache
+-enable vnode name caching of non-existent objects
++\fB\-o\fR negative_vncache
++enable vnode name caching of non\-existent objects
+ .TP
+-\fB-o\fR volname=NAME
++\fB\-o\fR volname=NAME
+ set the file system's volume name
+
+ .TP
+-\fB-o\fR noalerts
++\fB\-o\fR noalerts
+ disable all graphical alerts (if any) in MacFUSE Core
+ .TP
+-\fB-o\fR noappledouble
++\fB\-o\fR noappledouble
+ ignore Apple Double (._) and .DS_Store files entirely
+ .TP
+-\fB-o\fR noapplexattr
++\fB\-o\fR noapplexattr
+ ignore all ``com.apple.*'' extended attributes
+ .TP
+-\fB-o\fR nobrowse
+-mark the volume as non-browsable by the Finder
++\fB\-o\fR nobrowse
++mark the volume as non\-browsable by the Finder
+ .TP
+-\fB-o\fR nolocalcaches
++\fB\-o\fR nolocalcaches
+ meta option equivalent to noreadahead,noubc,novncache
+ .TP
+-\fB-o\fR noping_diskarb
++\fB\-o\fR noping_diskarb
+ do not ping Disk Arbitration (pings by default)
+ .TP
+-\fB-o\fR noreadahead
+-disable I/O read-ahead behavior for this file system
++\fB\-o\fR noreadahead
++disable I/O read\-ahead behavior for this file system
+ .TP
+-\fB-o\fR nosynconclose
+-disable sync-on-close behavior (enabled by default)
++\fB\-o\fR nosynconclose
++disable sync\-on\-close behavior (enabled by default)
+ .TP
+-\fB-o\fR nosyncwrites
+-disable synchronous-writes behavior (dangerous)
++\fB\-o\fR nosyncwrites
++disable synchronous\-writes behavior (dangerous)
+ .TP
+-\fB-o\fR noubc
++\fB\-o\fR noubc
+ disable the unified buffer cache for this file system
+ .TP
+-\fB-o\fR novncache
++\fB\-o\fR novncache
+ disable the vnode name cache for this file system
+
+ .TP
+-\fB-o\fR hard_remove
++\fB\-o\fR hard_remove
+ immediate removal (don't hide files)
+ .TP
+-\fB-o\fR use_ino
++\fB\-o\fR use_ino
+ let filesystem set inode numbers
+ .TP
+-\fB-o\fR readdir_ino
++\fB\-o\fR readdir_ino
+ try to fill in d_ino in readdir
+ .TP
+-\fB-o\fR direct_io
++\fB\-o\fR direct_io
+ use direct I/O
+ .TP
+-\fB-o\fR kernel_cache
++\fB\-o\fR kernel_cache
+ cache files in kernel
+ .TP
+-\fB-o\fR [no]auto_cache
++\fB\-o\fR [no]auto_cache
+ enable caching based on modification times
+ .TP
+-\fB-o\fR umask=M
++\fB\-o\fR umask=M
+ set file permissions (octal)
+ .TP
+-\fB-o\fR uid=N
++\fB\-o\fR uid=N
+ set file owner
+ .TP
+-\fB-o\fR gid=N
++\fB\-o\fR gid=N
+ set file group
+ .TP
+-\fB-o\fR entry_timeout=T
++\fB\-o\fR entry_timeout=T
+ cache timeout for names (1.0s)
+ .TP
+-\fB-o\fR negative_timeout=T
++\fB\-o\fR negative_timeout=T
+ cache timeout for deleted names (0.0s)
+ .TP
+-\fB-o\fR attr_timeout=T
++\fB\-o\fR attr_timeout=T
+ cache timeout for attributes (1.0s)
+ .TP
+-\fB-o\fR ac_attr_timeout=T
++\fB\-o\fR ac_attr_timeout=T
+ auto cache timeout for attributes (attr_timeout)
+ .TP
+-\fB-o\fR intr
++\fB\-o\fR intr
+ allow requests to be interrupted
+ .TP
+-\fB-o\fR intr_signal=NUM
++\fB\-o\fR intr_signal=NUM
+ signal to send on interrupt (30)
+ .TP
+-\fB-o\fR modules=M1[:M2...]
++\fB\-o\fR modules=M1[:M2...]
+ names of modules to push onto filesystem stack
+
+ .TP
+-\fB-o\fR max_write=N
++\fB\-o\fR max_write=N
+ set maximum size of write requests
+ .TP
+-\fB-o\fR max_readahead=N
++\fB\-o\fR max_readahead=N
+ set maximum readahead
+ .TP
+-\fB-o\fR async_read
++\fB\-o\fR async_read
+ perform reads asynchronously (default)
+ .TP
+-\fB-o\fR sync_read
++\fB\-o\fR sync_read
+ perform reads synchronously
+
+ .SS "Module options"
+@@ -393,10 +393,10 @@
+ [iconv]
+ .TP
+ \fB\-o\fR from_code=CHARSET
+-original encoding of file names (default: UTF-8)
++original encoding of file names (default: UTF\-8)
+ .TP
+ \fB\-o\fR to_code=CHARSET
+-new encoding of the file names (default: ISO-8859-2)
++new encoding of the file names (default: ISO\-8859\-2)
+ .PD
+
+
+@@ -414,7 +414,7 @@
+
+ You should have received a copy of the GNU Library General Public
+ License along with this software; if not, write to the Free Software
+-Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
++Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111\-1307 USA
+
+
+ .SH KNOWN BUGS
+@@ -422,7 +422,7 @@
+ This is beta software and should be treated as such. Bug reports to the
+ AUTHORS listed below would be appreciated.
+
+-archivemount is forced to run a single-thread mode for now. Support for
++archivemount is forced to run a single\-thread mode for now. Support for
+ stable multithreading is planned in a future release.
+
+
+@@ -436,6 +436,7 @@
+ .BR pax (1),
+ .BR tar (1),
+ .BR umount (8),
++.BR fusermount (1),
+ and
+ .BR zip (1)
+
diff --git a/system/archivemount/slack-desc b/system/archivemount/slack-desc
new file mode 100644
index 0000000000..c87b440dae
--- /dev/null
+++ b/system/archivemount/slack-desc
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description.
+# Line up the first '|' above the ':' following the base package name, and
+# the '|' on the right side marks the last column you can put a character in.
+# You must make exactly 11 lines for the formatting to be correct. It's also
+# customary to leave one space after the ':' except on otherwise blank lines.
+
+ |-----handy-ruler------------------------------------------------------|
+archivemount: archivemount (mounts an archive for access as a file system)
+archivemount:
+archivemount: archivemount is a FUSE based file system. Its purpose is to mount
+archivemount: an archive on a mount point where it can be read from or written to
+archivemount: as with any other file system. This makes accessing the contents of
+archivemount: the archive, which may be compressed, transparent to other programs,
+archivemount: without decompressing them.
+archivemount:
+archivemount: Supported archive formats: tar, pax, cpio, iso9660 (CD-ROM) images,
+archivemount: zip, shar. Other archive types such as rar and 7z may also work.
+archivemount:
diff --git a/system/asbt/README.Slackware b/system/asbt/README.Slackware
index 259969778c..c1c3728cdb 100644
--- a/system/asbt/README.Slackware
+++ b/system/asbt/README.Slackware
@@ -1,5 +1,4 @@
-The variables used in the script, which you would probably
-adjust according to your wish, are:
+Some variables used in the script:
1) REPODIR="$HOME/slackbuilds"
# Repository for slackbuilds.
diff --git a/system/asbt/asbt.SlackBuild b/system/asbt/asbt.SlackBuild
index 94668c93e9..bcc5aa17ba 100644
--- a/system/asbt/asbt.SlackBuild
+++ b/system/asbt/asbt.SlackBuild
@@ -2,7 +2,7 @@
# Slackware build script for asbt
-# Copyright 2014-2019 Aaditya Bagga <aaditya_gnulinux@zoho.com>
+# Copyright 2014-2020 Aaditya Bagga <aaditya_gnulinux@zoho.com>
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
@@ -23,7 +23,7 @@
# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
PRGNAM=asbt
-VERSION=${VERSION:-2.0.0}
+VERSION=${VERSION:-2.1.1}
BUILD=${BUILD:-1}
TAG=${TAG:-_SBo}
diff --git a/system/asbt/asbt.info b/system/asbt/asbt.info
index 213c092236..d8bd20df07 100644
--- a/system/asbt/asbt.info
+++ b/system/asbt/asbt.info
@@ -1,8 +1,8 @@
PRGNAM="asbt"
-VERSION="2.0.0"
+VERSION="2.1.1"
HOMEPAGE="https://github.com/aadityabagga/asbt"
-DOWNLOAD="https://github.com/aadityabagga/asbt/archive/2.0.0.tar.gz"
-MD5SUM="d2d3f6f39c8607dee90af435d0789ea9"
+DOWNLOAD="https://github.com/aadityabagga/asbt/archive/2.1.1.tar.gz"
+MD5SUM="22a9bda61fc6eb4124ecf13a9ece85aa"
DOWNLOAD_x86_64=""
MD5SUM_x86_64=""
REQUIRES=""
diff --git a/system/atool/atool.SlackBuild b/system/atool/atool.SlackBuild
index fe7947a69c..6ccd335da1 100644
--- a/system/atool/atool.SlackBuild
+++ b/system/atool/atool.SlackBuild
@@ -2,7 +2,7 @@
# Slackware build script for atool
-# Copyright 2010 David Woodfall <dave@dawoodfall.net>
+# Copyright 2010 David Woodfall <dave@slackbuilds.org>
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
diff --git a/system/atool/atool.info b/system/atool/atool.info
index d016b9a028..6853b6cc31 100644
--- a/system/atool/atool.info
+++ b/system/atool/atool.info
@@ -7,4 +7,4 @@ DOWNLOAD_x86_64=""
MD5SUM_x86_64=""
REQUIRES=""
MAINTAINER="David Woodfall"
-EMAIL="dave@dawoodfall.net"
+EMAIL="dave@slackbuilds.org"
diff --git a/system/atop/142.patch b/system/atop/142.patch
new file mode 100644
index 0000000000..b17fe2d6ca
--- /dev/null
+++ b/system/atop/142.patch
@@ -0,0 +1,47 @@
+From aff473ee28903775e1bb35793b9c4c50ee0c7270 Mon Sep 17 00:00:00 2001
+From: Fabrice Fontaine <fontaine.fabrice@gmail.com>
+Date: Tue, 22 Dec 2020 12:23:33 +0100
+Subject: [PATCH] ifprop.c: fix build with kernel < 4.6
+
+Build fails with kernel headers < 4.6 since version 2.6.0 and
+https://github.com/Atoptool/atop/commit/08c622ecaa5bb0bb260984ceaddc4730d1b312a7
+
+Indeed, ethtool_link_settings and ETHTOOL_GLINKSETTINGS are only
+available since
+https://github.com/torvalds/linux/commit/3f1ac7a700d039c61d8d8b99f28d605d489a60cf
+
+Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
+---
+ ifprop.c | 4 ++++
+ 1 file changed, 4 insertions(+)
+
+diff --git a/ifprop.c b/ifprop.c
+index 60fa3fa..63fce5a 100644
+--- a/ifprop.c
++++ b/ifprop.c
+@@ -104,7 +104,9 @@ initifprop(void)
+ char *cp, linebuf[2048];
+ int i=0, sockfd;
+
++#ifdef ETHTOOL_GLINKSETTINGS
+ struct ethtool_link_settings ethlink; // preferred!
++#endif
+ struct ethtool_cmd ethcmd; // deprecated
+
+ struct ifreq ifreq;
+@@ -153,6 +155,7 @@ initifprop(void)
+ strncpy((void *)&ifreq.ifr_ifrn.ifrn_name, ifprops[i].name,
+ sizeof ifreq.ifr_ifrn.ifrn_name-1);
+
++#ifdef ETHTOOL_GLINKSETTINGS
+ ethlink.cmd = ETHTOOL_GLINKSETTINGS;
+ ifreq.ifr_ifru.ifru_data = (void *)&ethlink;
+
+@@ -164,6 +167,7 @@ initifprop(void)
+ phy_addr = ethlink.phy_address;
+ }
+ else
++#endif
+ {
+ ethcmd.cmd = ETHTOOL_GSET;
+ ifreq.ifr_ifru.ifru_data = (void *)&ethcmd;
diff --git a/system/atop/atop.SlackBuild b/system/atop/atop.SlackBuild
index 971777441c..a8302f3497 100644
--- a/system/atop/atop.SlackBuild
+++ b/system/atop/atop.SlackBuild
@@ -12,8 +12,8 @@
# http://sam.zoy.org/wtfpl/COPYING for more details.
PRGNAM=atop
-VERSION=${VERSION:-2.5.0}
-BUILD=${BUILD:-1}
+VERSION=${VERSION:-2.6.0}
+BUILD=${BUILD:-2}
TAG=${TAG:-_SBo}
if [ -z "$ARCH" ]; then
@@ -58,6 +58,8 @@ find -L . \
\( -perm 666 -o -perm 664 -o -perm 640 -o -perm 600 -o -perm 444 \
-o -perm 440 -o -perm 400 \) -exec chmod 644 {} \;
+patch -p1 < $CWD/142.patch
+
make CFLAGS="$SLKCFLAGS"
# Install the binary sgid utmp in order to allow accounting
diff --git a/system/atop/atop.info b/system/atop/atop.info
index f34f8750fe..4e380ae2da 100644
--- a/system/atop/atop.info
+++ b/system/atop/atop.info
@@ -1,8 +1,8 @@
PRGNAM="atop"
-VERSION="2.5.0"
+VERSION="2.6.0"
HOMEPAGE="https://www.atoptool.nl/"
-DOWNLOAD="https://www.atoptool.nl/download/atop-2.5.0.tar.gz"
-MD5SUM="5a63d28c276e8f65e8186083b51c7f3a"
+DOWNLOAD="https://www.atoptool.nl/download/atop-2.6.0.tar.gz"
+MD5SUM="1cb879c4e98de49dc66ab79791f435d0"
DOWNLOAD_x86_64=""
MD5SUM_x86_64=""
REQUIRES=""
diff --git a/system/autojump/README b/system/autojump/README
index 3d2ad6a249..3e949333ec 100644
--- a/system/autojump/README
+++ b/system/autojump/README
@@ -5,3 +5,35 @@ becomes usable. Autojump will listen and rank your 'cd' commands by
frequency. Once your database is reasonably complete, you can "jump"
to a commonly "cd"ed directory. It supports the bash, zsh, and
tcsh shells.
+
+Additional Installation Steps
+------------------------------
+
+Add the following to your .bashrc to enable autojump for your
+account:
+
+[[ -s /etc/profile.d/autojump.sh ]] && source /etc/profile.d/autojump.sh
+
+You must open a new shell for autojump to become active. You may
+also need to log in and out of your desktop environment.
+
+The default shell in Slackware is Bash. Further steps may be
+required for other shell environments.
+
+Example Usage
+--------------
+
+$ cd /tmp
+$ cd /home
+$ cd /var
+$ cd /var/log
+$ j tmp
+$ j log
+$ jo /home
+$ j -s
+
+The "j" command drops you back into each directory. The "jo"
+command will launch a file manager for the home directory if
+you are using a graphical environment. Adding "-s" to the "j"
+command will list your autojump database. See the man page
+for further details.
diff --git a/system/autojump/autojump.SlackBuild b/system/autojump/autojump.SlackBuild
index 94d4f6746c..ba2c4d9d93 100644
--- a/system/autojump/autojump.SlackBuild
+++ b/system/autojump/autojump.SlackBuild
@@ -3,7 +3,7 @@
# Slackware build script for autojump
# Copyright 2010-2012 Binh Nguyen <binhvng@gmail.com>
-# Copyright 2015-2018 Brenton Earl <brent@exitstatusone.com>
+# Copyright 2015-2018, 2020 Brenton Earl <brent@exitstatusone.com>
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
@@ -24,7 +24,7 @@
# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
PRGNAM=autojump
-VERSION=${VERSION:-22.5.1}
+VERSION=${VERSION:-22.5.3}
BUILD=${BUILD:-1}
TAG=${TAG:-_SBo}
@@ -55,7 +55,7 @@ sed -i "s/'share', 'man'/'man'/" install.py
# Post install message may confuse users, removed
# Details listed in included README
-sed -i '213,215d' install.py
+sed -i '229,232d' install.py
# Adjust path for bash file source
sed -i "s:/usr/local/:/usr/:g" bin/$PRGNAM.sh
diff --git a/system/autojump/autojump.info b/system/autojump/autojump.info
index fc62a2a7d5..dcaf89b49a 100644
--- a/system/autojump/autojump.info
+++ b/system/autojump/autojump.info
@@ -1,8 +1,8 @@
PRGNAM="autojump"
-VERSION="22.5.1"
+VERSION="22.5.3"
HOMEPAGE="https://github.com/wting/autojump"
-DOWNLOAD="https://github.com/wting/autojump/archive/release-v22.5.1.tar.gz"
-MD5SUM="eaa7344925ae9a03a19cf9b9a3cdb4b4"
+DOWNLOAD="https://github.com/wting/autojump/archive/release-v22.5.3.tar.gz"
+MD5SUM="29f1a7df736814c747645703bf00ce48"
DOWNLOAD_x86_64=""
MD5SUM_x86_64=""
REQUIRES=""
diff --git a/system/autoslackpkg/README b/system/autoslackpkg/README
new file mode 100644
index 0000000000..b99aa806f8
--- /dev/null
+++ b/system/autoslackpkg/README
@@ -0,0 +1,55 @@
+autoslackpkg automates the use of slackpkg. The script expects to be run
+as the root user. It also expects specific modifications to blacklist,
+mkinitrd.conf, efi.conf & lilo.conf.
+
+The script maintains multiple kernels and manages EFI & LILO setups (not
+GRUB yet). The default boot kernel is changed to the most recent kernel.
+In the unlikely event the most recent kernel is not functioning properly
+the system can be rebooted with the previous kernel.
+
+The script has a config file /etc/slackpkg/autoslackpkg.conf that sets
+default variables. These variables can be changed based on unique system
+requirements.
+
+The script requires options and arguments. To see usage help
+run (autoslackpkg) without options or arguments. Usage help also is
+displayed if there is a script option or argument error.
+
+When run with the -h option and a valid argument (autoslackpkg -h
+overview | blacklist | elilo | lilo | mkinitrd) the script provides
+help.
+
+When run with the -m option and a valid argument (autoslackpkg -m dialog
+| batch) the script runs in either dialog mode or batch mode. Dialog
+mode is a hands-on, interactive mode. Batch mode runs without user
+input.
+
+When run with the -s option (autoslackpkg -s update | install-new |
+upgrade-all | clean-system | install-kernel | remove-kernel |
+new-config) the script only runs a specific section of the overall
+script.
+
+The script runs in 2 Phases. If not installing a new kernel then
+autoslackpkg runs both Phase 1 & Phase 2 in succession. If a new kernel
+is installed then only Phase 1 is run & reboot is required. After
+reboot, rerun autoslackpkg then Phase 1 is skipped & only Phase 2 is
+run.
+
+Phase 1 includes:
+
+ 1) slackpkg update
+ 2) slackpkg install-new
+ 3) slackpkg upgrade-all (see blacklist help)
+ 4) new kernel download & installation (see blacklist help)
+ 5) mkinitrd for new kernel (see mkitrd help)
+ 6) EFI system new kernel management (see elilo help)
+ 7) LILO system new kernel management (see lilo help)
+
+Phase 2 includes:
+
+ 1) slackpkg clean-system
+ 2) EFI system old kernel management (see elilo help)
+ 3) LILO system old kernel management (see lilo help)
+ 4) run updatedb
+ 5) slackpkg new-config
+ 6) find /etc *.new & *.orig
diff --git a/system/autoslackpkg/autoslackpkg.SlackBuild b/system/autoslackpkg/autoslackpkg.SlackBuild
new file mode 100644
index 0000000000..e1b22b7102
--- /dev/null
+++ b/system/autoslackpkg/autoslackpkg.SlackBuild
@@ -0,0 +1,79 @@
+#!/bin/sh
+
+# Slackware build script for autoslackpkg
+
+# Copyright 2019, 2020 Stu Miller, Colorado, 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.
+
+PRGNAM=autoslackpkg
+VERSION=${VERSION:-1.1}
+BUILD=${BUILD:-1}
+TAG=${TAG:-_SBo}
+
+ARCH=noarch
+
+CWD=$(pwd)
+TMP=${TMP:-/tmp/SBo}
+PKG=$TMP/package-$PRGNAM
+OUTPUT=${OUTPUT:-/tmp}
+
+set -e
+
+rm -rf $PKG
+mkdir -p $TMP $PKG $OUTPUT
+cd $TMP
+rm -rf $PRGNAM-$VERSION
+tar xvf $CWD/$PRGNAM-$VERSION.tar.gz
+cd $PRGNAM-$VERSION
+chown -R root:root .
+find -L . \
+ \( -perm 777 -o -perm 775 -o -perm 750 -o -perm 711 -o -perm 555 \
+ -o -perm 511 \) -exec chmod 755 {} \; -o \
+ \( -perm 666 -o -perm 664 -o -perm 640 -o -perm 600 -o -perm 444 \
+ -o -perm 440 -o -perm 400 \) -exec chmod 644 {} \;
+
+mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION
+cp -a \
+ CHANGELOG \
+ README \
+ $PKG/usr/doc/$PRGNAM-$VERSION/
+cat $CWD/$PRGNAM.SlackBuild > $PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM.SlackBuild
+
+mkdir -p $PKG/etc/slackpkg
+cp -a \
+ $PRGNAM.conf.new \
+ $PKG/etc/slackpkg/
+
+mkdir -p $PKG/usr/sbin
+cp -a \
+ $PRGNAM \
+ $PKG/usr/sbin/
+
+mkdir -p $PKG/usr/libexec/$PRGNAM
+cp -a \
+ libexec/$PRGNAM/* \
+ $PKG/usr/libexec/$PRGNAM/
+
+mkdir -p $PKG/install
+cat $CWD/slack-desc > $PKG/install/slack-desc
+cat $CWD/doinst.sh > $PKG/install/doinst.sh
+
+cd $PKG
+/sbin/makepkg -l y -c n $OUTPUT/$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.${PKGTYPE:-tgz}
diff --git a/system/autoslackpkg/autoslackpkg.info b/system/autoslackpkg/autoslackpkg.info
new file mode 100644
index 0000000000..1539f227e6
--- /dev/null
+++ b/system/autoslackpkg/autoslackpkg.info
@@ -0,0 +1,10 @@
+PRGNAM="autoslackpkg"
+VERSION="1.1"
+HOMEPAGE="https://www.go4it2day.com/news/autoslackpkg-1.1.html"
+DOWNLOAD="https://www.go4it2day.com/downloads/autoslackpkg/1.1/autoslackpkg-1.1.tar.gz"
+MD5SUM="02c46c7abf1d532fbba82abb7b73b71c"
+DOWNLOAD_x86_64=""
+MD5SUM_x86_64=""
+REQUIRES=""
+MAINTAINER="Stu Miller"
+EMAIL="slackbuilds@go4it2day.com"
diff --git a/system/autoslackpkg/doinst.sh b/system/autoslackpkg/doinst.sh
new file mode 100644
index 0000000000..fbcc100866
--- /dev/null
+++ b/system/autoslackpkg/doinst.sh
@@ -0,0 +1,16 @@
+# doinst.sh for autoslackpkg
+
+config() {
+ NEW="$1"
+ OLD="$(dirname $NEW)/$(basename $NEW .new)"
+ # If there's no config file by that name, mv it over:
+ if [ ! -r $OLD ]; then
+ mv $NEW $OLD
+ elif [ "$(cat $OLD | md5sum)" = "$(cat $NEW | md5sum)" ]; then
+ # toss the redundant copy
+ rm $NEW
+ fi
+ # Otherwise, we leave the .new copy for the admin to consider...
+}
+
+config etc/slackpkg/autoslackpkg.conf.new
diff --git a/system/fs-uae-launcher/slack-desc b/system/autoslackpkg/slack-desc
index a5db678416..12e6cf2207 100644
--- a/system/fs-uae-launcher/slack-desc
+++ b/system/autoslackpkg/slack-desc
@@ -5,15 +5,15 @@
# You must make exactly 11 lines for the formatting to be correct. It's also
# customary to leave one space after the ':' except on otherwise blank lines.
- |-----handy-ruler------------------------------------------------------|
-fs-uae-launcher: fs-uae-launcher (FS-UAE GUI)
-fs-uae-launcher:
-fs-uae-launcher: FS-UAE Launcher is a graphical user interface for FS-UAE.
-fs-uae-launcher:
-fs-uae-launcher: Homepage: http://fs-uae.net/
-fs-uae-launcher:
-fs-uae-launcher:
-fs-uae-launcher:
-fs-uae-launcher:
-fs-uae-launcher:
-fs-uae-launcher:
+ |-----handy-ruler------------------------------------------------------|
+autoslackpkg: autoslackpkg (automates the use of slackpkg)
+autoslackpkg:
+autoslackpkg: To see autoslackpkg usage run: autoslackpkg
+autoslackpkg:
+autoslackpkg: Home: https://www.go4it2day.com/news/autoslackpkg-1.1.html
+autoslackpkg:
+autoslackpkg:
+autoslackpkg:
+autoslackpkg:
+autoslackpkg:
+autoslackpkg:
diff --git a/system/avfs/avfs.SlackBuild b/system/avfs/avfs.SlackBuild
index 52ba030a2d..9e384ac6d5 100644
--- a/system/avfs/avfs.SlackBuild
+++ b/system/avfs/avfs.SlackBuild
@@ -25,7 +25,7 @@
# Modified by Eugene M., <damagedone at gmx dot com>
PRGNAM=avfs
-VERSION=${VERSION:-1.1.1}
+VERSION=${VERSION:-1.1.4}
BUILD=${BUILD:-1}
TAG=${TAG:-_SBo}
diff --git a/system/avfs/avfs.info b/system/avfs/avfs.info
index ea312d68cf..8313618311 100644
--- a/system/avfs/avfs.info
+++ b/system/avfs/avfs.info
@@ -1,8 +1,8 @@
PRGNAM="avfs"
-VERSION="1.1.1"
+VERSION="1.1.4"
HOMEPAGE="http://avf.sourceforge.net"
-DOWNLOAD="http://sourceforge.net/projects/avf/files/avfs/1.1.1/avfs-1.1.1.tar.bz2"
-MD5SUM="ca10d1abc657ca72a68a43dd76dda6ef"
+DOWNLOAD="http://sourceforge.net/projects/avf/files/avfs/1.1.4/avfs-1.1.4.tar.bz2"
+MD5SUM="c333462d744aeab2e6bee7a1af02350e"
DOWNLOAD_x86_64=""
MD5SUM_x86_64=""
REQUIRES="p7zip unrar"
diff --git a/system/babeltrace/slack-desc b/system/babeltrace/slack-desc
index 77775eeee2..b40062e8fa 100644
--- a/system/babeltrace/slack-desc
+++ b/system/babeltrace/slack-desc
@@ -6,7 +6,7 @@
# customary to leave one space after the ':' except on otherwise blank lines.
|-----handy-ruler------------------------------------------------------|
-babeltrace: babeltracer (trace format converter)
+babeltrace: babeltrace (trace format converter)
babeltrace:
babeltrace: The Babeltrace project provides a library, Python bindings of this
babeltrace: library, as well as a handy little command-line tool aptly named
diff --git a/system/bacula-client/bacula-client.SlackBuild b/system/bacula-client/bacula-client.SlackBuild
index f2e5727f0e..c481a020db 100644
--- a/system/bacula-client/bacula-client.SlackBuild
+++ b/system/bacula-client/bacula-client.SlackBuild
@@ -2,7 +2,7 @@
# Slackware build script for Bacula Client
-# Copyright 2010, 2012, 2013, 2018 Mario Preksavec, Zagreb, Croatia
+# Copyright 2010, 2012, 2013, 2018, 2020 Mario Preksavec, Zagreb, Croatia
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
@@ -23,7 +23,7 @@
# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
PRGNAM=bacula-client
-VERSION=${VERSION:-9.0.6}
+VERSION=${VERSION:-9.6.3}
BUILD=${BUILD:-1}
TAG=${TAG:-_SBo}
diff --git a/system/bacula-client/bacula-client.info b/system/bacula-client/bacula-client.info
index c819e6ad41..506b822dd6 100644
--- a/system/bacula-client/bacula-client.info
+++ b/system/bacula-client/bacula-client.info
@@ -1,8 +1,8 @@
PRGNAM="bacula-client"
-VERSION="9.0.6"
+VERSION="9.6.3"
HOMEPAGE="http://www.bacula.org"
-DOWNLOAD="http://downloads.sourceforge.net/bacula/bacula-9.0.6.tar.gz"
-MD5SUM="9168e398808c42bf290515f60892f643"
+DOWNLOAD="http://downloads.sourceforge.net/bacula/bacula-9.6.3.tar.gz"
+MD5SUM="6d64bc27de773ee0e0ca1d836cbe4008"
DOWNLOAD_x86_64=""
MD5SUM_x86_64=""
REQUIRES=""
diff --git a/system/bacula/README.SLACKWARE b/system/bacula/README.SLACKWARE
index eaf57eba47..6429187729 100644
--- a/system/bacula/README.SLACKWARE
+++ b/system/bacula/README.SLACKWARE
@@ -17,8 +17,8 @@ Remember to give executable permission to /etc/rc.d/rc.local_shutdown:
chmod 0755 /etc/rc.d/rc.local_shutdown
-Upgrading from 5.2.13 to 9.0.6
-------------------------------
+Upgrading from 5.2.13/9.0.6 to 9.6.3
+------------------------------------
Before installing the new package, make sure to:
diff --git a/system/bacula/bacula.SlackBuild b/system/bacula/bacula.SlackBuild
index a7e1856c7d..30b0059daa 100644
--- a/system/bacula/bacula.SlackBuild
+++ b/system/bacula/bacula.SlackBuild
@@ -2,7 +2,7 @@
# Slackware build script for Bacula
-# Copyright 2010, 2012, 2013, 2018 Mario Preksavec, Zagreb, Croatia
+# Copyright 2010, 2012, 2013, 2018, 2020 Mario Preksavec, Zagreb, Croatia
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
@@ -23,7 +23,7 @@
# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
PRGNAM=bacula
-VERSION=${VERSION:-9.0.6}
+VERSION=${VERSION:-9.6.3}
BUILD=${BUILD:-1}
TAG=${TAG:-_SBo}
diff --git a/system/bacula/bacula.info b/system/bacula/bacula.info
index 4721c04f6d..8ecb0e383d 100644
--- a/system/bacula/bacula.info
+++ b/system/bacula/bacula.info
@@ -1,8 +1,8 @@
PRGNAM="bacula"
-VERSION="9.0.6"
+VERSION="9.6.3"
HOMEPAGE="http://www.bacula.org"
-DOWNLOAD="http://downloads.sourceforge.net/bacula/bacula-9.0.6.tar.gz"
-MD5SUM="9168e398808c42bf290515f60892f643"
+DOWNLOAD="http://downloads.sourceforge.net/bacula/bacula-9.6.3.tar.gz"
+MD5SUM="6d64bc27de773ee0e0ca1d836cbe4008"
DOWNLOAD_x86_64=""
MD5SUM_x86_64=""
REQUIRES=""
diff --git a/system/bat/README b/system/bat/README
new file mode 100644
index 0000000000..40a04228e8
--- /dev/null
+++ b/system/bat/README
@@ -0,0 +1 @@
+bat is a cat clone with syntax highlighting and Git integration.
diff --git a/system/bat/bat.SlackBuild b/system/bat/bat.SlackBuild
new file mode 100644
index 0000000000..3ad1d70525
--- /dev/null
+++ b/system/bat/bat.SlackBuild
@@ -0,0 +1,154 @@
+#!/bin/sh
+
+# Slackware build script for bat
+
+# Copyright 2019-2021 Benjamin Trigona-Harany <slackbuilds@jaxartes.net>
+# 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.
+
+PRGNAM=bat
+VERSION=${VERSION:-0.18.0}
+BUILD=${BUILD:-1}
+TAG=${TAG:-_SBo}
+
+if [ -z "$ARCH" ]; then
+ case "$( uname -m )" in
+ i?86) ARCH=i586 ;;
+ arm*) ARCH=arm ;;
+ *) ARCH=$( uname -m ) ;;
+ esac
+
+ if [ "$ARCH" = "i586" ]; then
+ if rustc -Vv | grep host | grep i686 > /dev/null ; then
+ ARCH=i686
+ fi
+ fi
+fi
+
+CWD=$(pwd)
+TMP=${TMP:-/tmp/SBo}
+PKG=$TMP/package-$PRGNAM
+OUTPUT=${OUTPUT:-/tmp}
+
+if [ "$ARCH" = "i586" ]; then
+ SLKCFLAGS="-O2 -march=i586 -mtune=i686"
+ LIBDIRSUFFIX=""
+ CARGOTARGET="--target i586-unknown-linux-gnu"
+elif [ "$ARCH" = "i686" ]; then
+ SLKCFLAGS="-O2 -march=i686 -mtune=i686"
+ LIBDIRSUFFIX=""
+ CARGOTARGET="--target i686-unknown-linux-gnu"
+elif [ "$ARCH" = "x86_64" ]; then
+ SLKCFLAGS="-O2 -fPIC"
+ LIBDIRSUFFIX="64"
+ CARGOTARGET="--target x86_64-unknown-linux-gnu"
+else
+ SLKCFLAGS="-O2"
+ LIBDIRSUFFIX=""
+ CARGOTARGET=""
+fi
+
+set -e
+
+rm -rf $PKG
+mkdir -p $TMP $PKG $OUTPUT
+cd $TMP
+rm -rf $PRGNAM-$VERSION
+tar xvf $CWD/$PRGNAM-$VERSION.tar.gz
+cd $PRGNAM-$VERSION
+
+# build offline
+# configuration tells cargo to use the configured directory
+# for dependencies intead of downloading from crates.io
+mkdir .cargo
+cat << EOF >> .cargo/config
+[source.crates-io]
+registry = 'https://github.com/rust-lang/crates.io-index'
+replace-with = 'vendored-sources'
+
+[source.vendored-sources]
+directory = '$(pwd)/vendor'
+EOF
+
+# deps and versions come from Cargo.lock
+mkdir vendor
+(
+ cd vendor
+
+ grep -h -A 3 "\[\[package\]\]" $(find ../ -maxdepth 1 -mindepth 1 -name Cargo.lock | tr '\n' ' ') | \
+ sed 's/[[:space:]]*=[[:space:]]*/=/g;s/^--//;s/^\[\[/--\n[[/' | \
+ awk 'BEGIN { RS = "--\n" ; FS="\n" } { print $2, $3, $4 }' | sed 's/"//g;s/name=//;s/ version=/=/' | \
+ grep crates\.io-index | sed 's/ source=.*$//' | sort -u | while read -r dep ; do
+
+ ver="$(printf "%s\n" "$dep" | cut -d= -f2)"
+ dep="$(printf "%s\n" "$dep" | cut -d= -f1)"
+
+ tar xvf $CWD/$dep-$ver.crate
+
+ touch $dep-$ver/.cargo-ok
+
+ # generate checksum
+ {
+ printf "{\n"
+ printf ' "files": {\n'
+
+ (
+ cd $dep-$ver
+ find . -type f -print0 | xargs -0 sha256sum | sed -n '/\.cargo-checksum\.json/!p' | sed 's/\.\///;s/^\([^ ]*\)[[:space:]][[:space:]]*\(.*\)$/"\2":"\1",/'
+ ) | sed '$ s/,$//'
+
+ printf " },\n"
+ printf ' "package": "'
+
+ sha256sum "$CWD/$dep-$ver.crate" | cut -f1 -d' ' | sed 's/$/"/'
+
+ printf "}\n"
+ } | python -c "import sys, json; data = sys.stdin.read(); print json.dumps(json.loads(data), sort_keys=True, indent=4, separators=(',', ' : '))" > $dep-$ver/.cargo-checksum.json
+ done
+)
+
+chown -R root:root .
+find -L . \
+ \( -perm 777 -o -perm 775 -o -perm 750 -o -perm 711 -o -perm 555 \
+ -o -perm 511 \) -exec chmod 755 {} \; -o \
+ \( -perm 666 -o -perm 664 -o -perm 640 -o -perm 600 -o -perm 444 \
+ -o -perm 440 -o -perm 400 \) -exec chmod 644 {} \;
+
+CFLAGS="$SLKCFLAGS" \
+CXXFLAGS="$SLKCFLAGS" \
+cargo build --offline --release $CARGOTARGET
+
+mkdir -p $PKG/usr/bin/
+
+find target -name $PRGNAM -exec install -m 755 {} $PKG/usr/bin/$PRGNAM \;
+
+find $PKG -print0 | xargs -0 file | grep -e "executable" -e "shared object" | grep ELF \
+ | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null || true
+
+mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION
+cp -a -r \
+ LICENSE-APACHE LICENSE-MIT README.md \
+ $PKG/usr/doc/$PRGNAM-$VERSION
+cat $CWD/$PRGNAM.SlackBuild > $PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM.SlackBuild
+
+mkdir -p $PKG/install
+cat $CWD/slack-desc > $PKG/install/slack-desc
+
+cd $PKG
+/sbin/makepkg -l y -c n $OUTPUT/$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.${PKGTYPE:-tgz}
diff --git a/system/bat/bat.info b/system/bat/bat.info
new file mode 100644
index 0000000000..9a8337b2f1
--- /dev/null
+++ b/system/bat/bat.info
@@ -0,0 +1,304 @@
+PRGNAM="bat"
+VERSION="0.18.0"
+HOMEPAGE="https://github.com/sharkdp/bat"
+DOWNLOAD="https://github.com/sharkdp/bat/archive/v0.18.0/bat-0.18.0.tar.gz \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/adler/adler-0.2.3.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/aho-corasick/aho-corasick-0.7.15.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/ansi_colours/ansi_colours-1.0.2.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/ansi_term/ansi_term-0.11.0.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/ansi_term/ansi_term-0.12.1.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/assert_cmd/assert_cmd-1.0.3.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/atty/atty-0.2.14.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/autocfg/autocfg-1.0.1.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/base64/base64-0.13.0.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/bat/bat-0.18.0.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/bincode/bincode-1.3.1.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/bit-set/bit-set-0.5.2.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/bit-vec/bit-vec-0.6.3.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/bitflags/bitflags-1.2.1.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/bstr/bstr-0.2.15.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/bugreport/bugreport-0.3.0.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/byteorder/byteorder-1.4.2.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/cc/cc-1.0.66.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/cfg-if/cfg-if-1.0.0.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/chrono/chrono-0.4.19.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/clap/clap-2.33.3.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/clircle/clircle-0.3.0.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/console/console-0.14.0.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/content_inspector/content_inspector-0.2.4.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/crc32fast/crc32fast-1.2.1.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/difference/difference-2.0.0.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/dirs-next/dirs-next-2.0.0.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/dirs-sys-next/dirs-sys-next-0.1.2.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/doc-comment/doc-comment-0.3.3.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/dtoa/dtoa-0.4.7.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/encode_unicode/encode_unicode-0.3.6.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/encoding/encoding-0.2.33.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/encoding-index-japanese/encoding-index-japanese-1.20141219.5.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/encoding-index-korean/encoding-index-korean-1.20141219.5.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/encoding-index-simpchinese/encoding-index-simpchinese-1.20141219.5.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/encoding-index-singlebyte/encoding-index-singlebyte-1.20141219.5.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/encoding-index-tradchinese/encoding-index-tradchinese-1.20141219.5.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/encoding_index_tests/encoding_index_tests-0.1.4.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/error-chain/error-chain-0.12.4.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/fancy-regex/fancy-regex-0.3.5.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/flate2/flate2-1.0.20.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/float-cmp/float-cmp-0.8.0.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/fnv/fnv-1.0.7.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/form_urlencoded/form_urlencoded-1.0.0.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/getrandom/getrandom-0.2.2.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/git2/git2-0.13.15.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/glob/glob-0.3.0.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/globset/globset-0.4.6.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/hashbrown/hashbrown-0.9.1.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/hermit-abi/hermit-abi-0.1.18.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/idna/idna-0.2.1.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/indexmap/indexmap-1.6.1.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/instant/instant-0.1.9.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/itoa/itoa-0.4.7.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/jobserver/jobserver-0.1.21.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/lazy_static/lazy_static-1.4.0.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/lazycell/lazycell-1.3.0.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/libc/libc-0.2.86.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/libgit2-sys/libgit2-sys-0.12.18+1.1.0.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/libz-sys/libz-sys-1.1.2.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/line-wrap/line-wrap-0.1.1.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/linked-hash-map/linked-hash-map-0.5.4.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/lock_api/lock_api-0.4.2.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/log/log-0.4.14.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/matches/matches-0.1.8.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/memchr/memchr-2.3.4.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/miniz_oxide/miniz_oxide-0.4.3.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/nix/nix-0.19.1.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/normalize-line-endings/normalize-line-endings-0.3.0.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/num-integer/num-integer-0.1.44.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/num-traits/num-traits-0.2.14.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/once_cell/once_cell-1.5.2.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/onig/onig-6.1.1.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/onig_sys/onig_sys-69.6.0.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/parking_lot/parking_lot-0.11.1.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/parking_lot_core/parking_lot_core-0.8.3.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/path_abs/path_abs-0.5.0.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/percent-encoding/percent-encoding-2.1.0.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/pest/pest-2.1.3.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/pkg-config/pkg-config-0.3.19.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/plist/plist-1.1.0.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/ppv-lite86/ppv-lite86-0.2.10.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/predicates/predicates-1.0.7.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/predicates-core/predicates-core-1.0.2.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/predicates-tree/predicates-tree-1.0.2.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/proc-macro2/proc-macro2-1.0.24.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/quote/quote-1.0.9.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/rand/rand-0.8.3.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/rand_chacha/rand_chacha-0.3.0.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/rand_core/rand_core-0.6.2.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/rand_hc/rand_hc-0.3.0.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/redox_syscall/redox_syscall-0.2.5.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/redox_users/redox_users-0.4.0.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/regex/regex-1.4.3.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/regex-automata/regex-automata-0.1.9.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/regex-syntax/regex-syntax-0.6.22.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/remove_dir_all/remove_dir_all-0.5.3.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/ryu/ryu-1.0.5.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/safemem/safemem-0.3.3.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/same-file/same-file-1.0.6.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/scopeguard/scopeguard-1.1.0.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/semver/semver-0.11.0.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/semver-parser/semver-parser-0.10.2.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/serde/serde-1.0.123.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/serde_derive/serde_derive-1.0.123.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/serde_json/serde_json-1.0.62.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/serde_yaml/serde_yaml-0.8.17.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/serial_test/serial_test-0.5.1.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/serial_test_derive/serial_test_derive-0.5.1.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/shell-words/shell-words-1.0.0.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/smallvec/smallvec-1.6.1.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/snailquote/snailquote-0.3.0.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/std_prelude/std_prelude-0.2.12.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/strsim/strsim-0.8.0.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/syn/syn-1.0.60.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/syntect/syntect-4.5.0.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/sys-info/sys-info-0.7.0.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/tempfile/tempfile-3.2.0.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/term_size/term_size-0.3.2.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/terminal_size/terminal_size-0.1.16.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/textwrap/textwrap-0.11.0.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/thiserror/thiserror-1.0.23.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/thiserror-impl/thiserror-impl-1.0.23.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/thread_local/thread_local-1.1.3.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/tinyvec/tinyvec-1.1.1.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/tinyvec_macros/tinyvec_macros-0.1.0.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/treeline/treeline-0.1.0.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/ucd-trie/ucd-trie-0.1.3.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/unicode-bidi/unicode-bidi-0.3.4.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/unicode-normalization/unicode-normalization-0.1.17.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/unicode-width/unicode-width-0.1.8.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/unicode-xid/unicode-xid-0.2.1.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/unicode_categories/unicode_categories-0.1.1.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/url/url-2.2.0.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/vcpkg/vcpkg-0.2.11.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/vec_map/vec_map-0.8.2.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/version_check/version_check-0.9.2.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/wait-timeout/wait-timeout-0.2.0.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/walkdir/walkdir-2.3.1.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/wasi/wasi-0.10.2+wasi-snapshot-preview1.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/wild/wild-2.0.4.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/winapi/winapi-0.3.9.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/winapi-i686-pc-windows-gnu/winapi-i686-pc-windows-gnu-0.4.0.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/winapi-util/winapi-util-0.1.5.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/winapi-x86_64-pc-windows-gnu/winapi-x86_64-pc-windows-gnu-0.4.0.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/xml-rs/xml-rs-0.8.3.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/yaml-rust/yaml-rust-0.4.5.crate"
+MD5SUM="e49ce07dd1c51c91f67423d62af32abf \
+ c9d0c8f38c6686e47c29fe9b409c25c2 \
+ 93850f8bf39e61dcf80ce49b5e0943d7 \
+ 3b493a3c9dcd266b3b682e2c2f2191e1 \
+ 294a49d3c53865fa7ac5d0ce2f5d5735 \
+ f44e8d1d2e61974b268852797530ea41 \
+ 6bd91b6b8d9a78a24535d0ed8c738a6c \
+ 142cb4b9a653e56e56311f0c883b8582 \
+ c6443ec8d007c729ba5482008d0c864d \
+ 80a2c27647a6acb1890a3a7de8fded72 \
+ 75337445ec034d3b0c5c191bc9f10e9a \
+ de348f8664b16740eb8d438f9c2fb8a7 \
+ 8f8acc3c1caff2043085a0cc28a92757 \
+ 45a867175c81501378699f80724393c0 \
+ 6799c26a7eacaf8e58d3e45c6c5add89 \
+ 5521c32e5f09faa1fbbdb584c95316dc \
+ 5d0d14275cf3dd93c93733d3f02613c3 \
+ c0c854d9b92b342470c85564612651fb \
+ b3ebb5d4433417e998d982d46334a6f4 \
+ 74634128440dbc3766bda76fdf0aaa05 \
+ 1581b390d17f6e73a43ffc8a7b009e57 \
+ bc79e0eb364df515a33755ac9a581cfd \
+ 1d8b58aa271a21c4196bf1d2a0bb61d1 \
+ 4b95605e5c36d3757bad8eb17a64097c \
+ 64bebafaf681f39deebbc41b24b3527f \
+ e5b87a7cd8e16e7f46ee58f0e75c026a \
+ 5e49f4c3f9076fe30ae207fe951f9195 \
+ 3681f813c502d911e9eea940dddd26a5 \
+ 056c8d712ee146347c412b72f4077b2f \
+ dd1e49c76e9d5853e673a3b41ba02917 \
+ 99e2caee477220b4f0dcf7fdc6fb1b96 \
+ 95a243b2d7c30018a643e218b3c5d693 \
+ 1cdd23edc54b385ee5cfb6a0f9f52f17 \
+ c19b47edfeea6760da864066bba50208 \
+ bb17317266b63ce2a7eb7b8a47f35594 \
+ 1618bf8d183d5cee0b6db1392a8f874b \
+ 0dbb2c3d83adb1fa4f17ac94e2bef0dc \
+ afdb4c49775dbcd9c76763052433d370 \
+ 5c31515f4fc8fc5167a5b64f816e915e \
+ da699c4c8e4c153cbdb9fb0ef3fb3056 \
+ 480f00b3768504ade60944b9b340bc67 \
+ 7881509413936dc7382f9314f632787e \
+ 2a49454320cf4ea4fde553c66e2e9522 \
+ 8dab3b3ec00dc56cffde0b0c410d47b5 \
+ e3225eb6ecda0f2c3d1d09c8450f7ef8 \
+ b8a0cdd510c32ee8b6cdd47ba3ea3a4c \
+ f6ff4e5808bcd44a99b19384561b4f52 \
+ e7c07242a95ee1df865efe9534e10a34 \
+ 1b94f32581a557963eecb29761e9c0eb \
+ 58285dfb5134c5df5503066a20dc9d2c \
+ 2c4bc5c16b345ce4d4bbf977577fab35 \
+ 37526dd3d44994407f5d2e9ab4fc022d \
+ acd3ce35bdaa48ec384fcfec07c0f0dd \
+ 1509d8c3ecae86153ea1e5724d2018c9 \
+ 4379362bf1be77d47a45c7223a01eead \
+ 04a84513cdad48c92d8363d627904227 \
+ fba3b040a55c01be7376d3dd5c4d4920 \
+ 23cc9e52c52465f5b225e62ab7cc3457 \
+ 04f84e88732a1057a37b5d01c23eac1d \
+ b5b2006aeb90fbd6a12b32ed9c19bb37 \
+ e5768043e447a7423f030c1394440502 \
+ 651dd38020e02806ccadcc41df89c7dc \
+ 0d60bc25ce9a0383bf64efc300f4cb16 \
+ 474d078cf6fb1ea92ec630c7ffa5df90 \
+ 40e508baeee8cdccbc471489b0f449ff \
+ 7916dcd738a8fa6a2798754c20d6e146 \
+ fa3630e5867493e09296155763e4f4a0 \
+ c291ac2f4465c030c058a7c1bc595783 \
+ 4ade3dff4f5f96ff3aa1c04fd28ac11d \
+ f9ddf92ded75c1df47b2dd1379a482fd \
+ a8ec1126ef06244ac1e3773981a005f1 \
+ c0e036fd990d0c9cae11b5876a5cb572 \
+ d227ca24b102ae4ab2a4f3bc3bd44bf3 \
+ e7de14df5369a22fe08167972e34df14 \
+ 2c223fe5b38361c4aa8b8a4ea832e910 \
+ fc5f09918af1f97297e928d728e07236 \
+ 467a9abc6c4099e5cb830a0eed66cbfb \
+ 88b078aad93b7c645bd6c127e910051b \
+ f490982aceabdbd515348f63e638a782 \
+ 37cf6acd1c3259eefeba636e4cc9b365 \
+ 448bc61aee07661464d98da7660e9a1d \
+ 899b172855b10f2e76eea3ecc6314a7d \
+ a4ff7abd41c57dfd24bbd4b50edb848f \
+ e93afff8bd2e6bc78ba02d6312d7c006 \
+ 30d783a004d6ae43913983d49b8466c9 \
+ 59425b318d7a80253445671a9fda0aa4 \
+ 0736e4f76f4f8f0a29563b0608ca3974 \
+ 3233400d1bc56e7c78d4d7564d8e5b74 \
+ e878596904877d1d7933d8f89a63dd49 \
+ bacea6e63b5b0b7a55a8881b47d80f3a \
+ b5b168b1af99cbb8c0f5556ffe56f1e5 \
+ 69e9436d5c9889a6fdf199dfc5c3d3fe \
+ 03fb8f44e1d4f958154720139bde9cb0 \
+ d961a02195226cfce1a1e23ba5980cb4 \
+ 26d687e0e0e8b04fafabfcd88f594a53 \
+ 3b298ba1d0e5e75b14765b2c48d52b13 \
+ bef05db0f0e720c1fd56505850065ae1 \
+ 0538d1da369f3e3f0412aa4d735c1b61 \
+ a69721c73263cd2040e1a5f120b03a6f \
+ 994b165f971ecfc09dc13fca8d394691 \
+ 2d8d8b377d144f5e32b4f65a69eb0b24 \
+ b4a0a98a54439a5a37952c8879187ee3 \
+ d2cc4e584ed64165fc56d2c9081eb3ee \
+ 42408be0352a76b14f1e77a6b8858a77 \
+ e16bb0d9c46839fbf5d1a69673b00c4c \
+ 6ec70075835fed0250bc4407f32d5928 \
+ f024ce4a4f4ff7326d9bbe3039017081 \
+ 540180a044c1a83c751915586ee3a81c \
+ ae34124843bda798c5e387a28ad4b5ea \
+ a7bf8d2fe33b8dd1cad14d9f6bd19a7f \
+ 1a3070ee58d2d21cb6adaacc71ff27cd \
+ e1b37f2526a1f0eed9c0bda62b8095ba \
+ 3268d0bb1ba1e9a04ef5d70ceec8cef0 \
+ 8e320697cbdcd4b294e671888e746131 \
+ 781d4ccf5d04c98fa02af207a9639249 \
+ c72a927acc4cc7695ae9c73c19964a6f \
+ 4417301f71d3f8408073b0c5dad21697 \
+ 0c6cfebb3f8a7b21c76e30d7a59c9fdb \
+ 6e328718765f2352dd34f10215488fbb \
+ 73d602cc41e3e431bf4fabd129ae1616 \
+ 62a72aa48fde11aa7b0daf7788009ca5 \
+ a8de006fe0c7e373c560dd51599287a8 \
+ b5e95a9fbe4c8fa6b1cee73db0aca22c \
+ 85e9f0e4567eafc985f4f4375bf383a6 \
+ 36f6470713fffe6b98b6f457c2d2c299 \
+ f7d6a4f32f22507c694dd2f2251076aa \
+ 7bfcad253aff26bc26c5e3521f3ba891 \
+ 8f1da9ba3b7b793efa8a39a159d06035 \
+ 6cae4969689ecc3b4b4c31a9fb9539a6 \
+ f403bbb812ce1a2d9270d9159cf9e8d3 \
+ 9acda194d3610e7d42e09b6de24c717a \
+ 4272c279b06b88f8b0ffce7109348e27 \
+ a51c43692084979295641a7ffba4b297 \
+ 5d5167f36e5fb271a426dfead24427fc \
+ 2b19b51b60f46edd8f7826a3e8be2de9 \
+ e17e2583e10c6947982de78aeae42a5c \
+ 333b4ba3f64c35b6f89b521e8d64548b \
+ 8b01b016a9b6deebc1b43f296057efb5 \
+ 6708629acf3d2ecb7404e43255d2df85 \
+ 1092a4a24e80f8856efc71af51a06114 \
+ a061ad1db3e0d839725b037ff8be84e7 \
+ 95491f9095e26cbd501d6aadc7322e1c \
+ 0498c4a11448bfc35dc7bb2caa64c753 \
+ db96b50050277bf05a3c68534bbb9586 \
+ b9e37d5fc4ad28b612b78ad37816684d \
+ 09de9d01e7331ff3da11f58be8bef0df \
+ c78fded8bcf586e5b389e3366d55f9c0 \
+ 331d07cdd036d528ede2f69c7ff0beb6"
+DOWNLOAD_x86_64=""
+MD5SUM_x86_64=""
+REQUIRES=""
+MAINTAINER="Benjamin Trigona-Harany"
+EMAIL="slackbuilds@jaxartes.net"
diff --git a/system/slack-scripts/slack-desc b/system/bat/slack-desc
index 090e02679a..ce9f6468e9 100644
--- a/system/slack-scripts/slack-desc
+++ b/system/bat/slack-desc
@@ -5,15 +5,15 @@
# You must make exactly 11 lines for the formatting to be correct. It's also
# customary to leave one space after the ':' except on otherwise blank lines.
- |-----handy-ruler------------------------------------------------------|
-slack-scripts: slack-scripts (Some Slackware Utilities)
-slack-scripts:
-slack-scripts: ph A Slackware Package History
-slack-scripts: slkcfg A Sysvinit Script Utility
-slack-scripts:
-slack-scripts: Use <script> -h for usage.
-slack-scripts:
-slack-scripts: http://tty1.uk
-slack-scripts:
-slack-scripts:
-slack-scripts:
+ |-----handy-ruler------------------------------------------------------|
+bat: bat (cat clone)
+bat:
+bat: bat is a cat clone with syntax highlighting and Git integration.
+bat:
+bat:
+bat:
+bat:
+bat:
+bat:
+bat:
+bat:
diff --git a/system/beebem/README b/system/beebem/README
new file mode 100644
index 0000000000..4235aeacc2
--- /dev/null
+++ b/system/beebem/README
@@ -0,0 +1,7 @@
+beebem (BeebEm is a popular Acorn BBC Micro and Master 128 emulator)
+
+This version of BeebEm for UNIX is an SDL port of the Windows version
+of BeebEm. To get the menu system for changing settings, loading and
+running disc images and so-on, press F12 when the emulater is running.
+It's not as polished as the windows version, especially keyboard
+mapping is limited to querty, but its better than nothing. enjoy! :-)
diff --git a/system/beebem/beebem.SlackBuild b/system/beebem/beebem.SlackBuild
new file mode 100644
index 0000000000..7a2d3c3c1e
--- /dev/null
+++ b/system/beebem/beebem.SlackBuild
@@ -0,0 +1,116 @@
+#!/bin/sh
+
+# Slackware build script for beebem
+
+# Copyright 2020 Tim Dickson Scotland
+# 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.
+
+PRGNAM=beebem
+VERSION=${VERSION:-0.0.13}
+BUILD=${BUILD:-1}
+TAG=${TAG:-_SBo}
+
+if [ -z "$ARCH" ]; then
+ case "$( uname -m )" in
+ i?86) ARCH=i586 ;;
+ arm*) ARCH=arm ;;
+ *) ARCH=$( uname -m ) ;;
+ esac
+fi
+
+CWD=$(pwd)
+TMP=${TMP:-/tmp/SBo}
+PKG=$TMP/package-$PRGNAM
+OUTPUT=${OUTPUT:-/tmp}
+
+if [ "$ARCH" = "i586" ]; then
+ SLKCFLAGS="-O2 -march=i586 -mtune=i686"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "i686" ]; then
+ SLKCFLAGS="-O2 -march=i686 -mtune=i686"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "x86_64" ]; then
+ SLKCFLAGS="-O2 -fPIC"
+ LIBDIRSUFFIX="64"
+else
+ SLKCFLAGS="-O2"
+ LIBDIRSUFFIX=""
+fi
+
+set -e
+
+rm -rf $PKG
+mkdir -p $TMP $PKG $OUTPUT
+cd $TMP
+rm -rf ${PRGNAM}-${VERSION}
+tar xvf $CWD/${PRGNAM}-${VERSION}.tar.gz
+patch -p0 <${CWD}/${PRGNAM}-${VERSION}_64bit.patch
+patch -p0 <${CWD}/${PRGNAM}-${VERSION}-keys.patch
+patch -p0 <${CWD}/${PRGNAM}-${VERSION}_menu_crash.patch
+cd ${PRGNAM}-${VERSION}/
+chown -R root:root .
+find -L . \
+ \( -perm 777 -o -perm 775 -o -perm 750 -o -perm 711 -o -perm 555 \
+ -o -perm 511 \) -exec chmod 755 {} \; -o \
+ \( -perm 666 -o -perm 664 -o -perm 640 -o -perm 600 -o -perm 444 \
+ -o -perm 440 -o -perm 400 \) -exec chmod 644 {} \;
+
+CFLAGS="$SLKCFLAGS" \
+CXXFLAGS="$SLKCFLAGS" \
+./configure \
+ --prefix=/usr \
+ --libdir=/usr/lib${LIBDIRSUFFIX} \
+ --sysconfdir=/etc \
+ --localstatedir=/var \
+ --mandir=/usr/man \
+ --disable-welcome-message \
+ --disable-static \
+ --enable-econet \
+ --build=$ARCH-slackware-linux
+
+make
+#make install does not honour DESTDIR for anything but the binary, so we
+#do a manual install.
+#lets create an icon for the .desktop file
+convert data/resources/icon.bmp -transparent magenta -resize 64 data/resources/beebem.png
+WKDIR=$PKG/usr/share/$PRGNAM
+mkdir -p $PKG/usr/bin $WKDIR/config $WKFIR/resources $WKDIR/media $WKDIR/roms $WKDIR/phroms
+mkdir -p $WKDIR/state/ $PKG/usr/doc/${PRGNAM}-${VERSION} $WKDIR/src
+mkdir -p $PKG/usr/share/pixmaps $PKG/usr/share/applications
+cp -a data/resources/${PRGNAM}.png $PKG/usr/share/pixmaps/
+cp $CWD/${PRGNAM}.desktop $PKG/usr/share/applications/
+cp -ar src/$PRGNAM $PKG/usr/bin/$PRGNAM
+for i in config media phroms resources roms state; do
+ cp -ar data/$i $WKDIR/
+done
+
+find $PKG -print0 | xargs -0 file | grep -e "executable" -e "shared object" | grep ELF \
+ | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null || true
+
+mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION
+cp -a COPYING $PKG/usr/doc/${PRGNAM}-${VERSION}/COPYING
+cat $CWD/$PRGNAM.SlackBuild > $PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM.SlackBuild
+
+mkdir -p $PKG/install
+cat $CWD/slack-desc > $PKG/install/slack-desc
+cat $CWD/doinst.sh > $PKG/install/doinst.sh
+
+cd $PKG
+/sbin/makepkg -l y -c n $OUTPUT/$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.${PKGTYPE:-tgz}
diff --git a/system/beebem/beebem.desktop b/system/beebem/beebem.desktop
new file mode 100644
index 0000000000..bcb002059b
--- /dev/null
+++ b/system/beebem/beebem.desktop
@@ -0,0 +1,10 @@
+[Desktop Entry]
+Version=1.0
+Type=Application
+Name=beebem
+GenericName=emulator
+Comment=bbc microcomputer emulator. When running press F12 to activate menu
+Categories=System;Emulator;
+Exec=beebem %F
+Icon=beebem
+
diff --git a/system/beebem/beebem.info b/system/beebem/beebem.info
new file mode 100644
index 0000000000..e75a5b9736
--- /dev/null
+++ b/system/beebem/beebem.info
@@ -0,0 +1,16 @@
+PRGNAM="beebem"
+VERSION="0.0.13"
+HOMEPAGE="http://beebem-unix.bbcmicro.com/index.html"
+DOWNLOAD="http://beebem-unix.bbcmicro.com/download/beebem-0.0.13.tar.gz \
+ http://beebem-unix.bbcmicro.com/download/beebem-0.0.13_64bit.patch \
+ http://beebem-unix.bbcmicro.com/download/beebem-0.0.13-keys.patch \
+ http://beebem-unix.bbcmicro.com/download/beebem-0.0.13_menu_crash.patch"
+MD5SUM="44e6edc5c3e5fca9a84e2cddc4bf4858 \
+ fb4b26c4b0189dbf0407816314a42ec6 \
+ 05d373f8c295039b62f9b48cc4dad9fa \
+ 32de835139acabb7b919c18a9ebad830"
+DOWNLOAD_x86_64=""
+MD5SUM_x86_64=""
+REQUIRES=""
+MAINTAINER="Tim Dickson"
+EMAIL="dickson.tim@googlemail.com"
diff --git a/system/beebem/doinst.sh b/system/beebem/doinst.sh
new file mode 100644
index 0000000000..5fb28930db
--- /dev/null
+++ b/system/beebem/doinst.sh
@@ -0,0 +1,3 @@
+if [ -x /usr/bin/update-desktop-database ]; then
+ /usr/bin/update-desktop-database -q usr/share/applications >/dev/null 2>&1
+fi
diff --git a/system/fs-uae/slack-desc b/system/beebem/slack-desc
index bab0cb5292..d89bff9124 100644
--- a/system/fs-uae/slack-desc
+++ b/system/beebem/slack-desc
@@ -6,14 +6,14 @@
# customary to leave one space after the ':' except on otherwise blank lines.
|-----handy-ruler------------------------------------------------------|
-fs-uae: fs-uae (Amiga Emulator)
-fs-uae:
-fs-uae: FS-UAE focuses on emulating Amiga games using the accurate emulation
-fs-uae: code from WinUAE. It also has features to emulate a high-end Amiga
-fs-uae: with expansions.
-fs-uae:
-fs-uae: Homepage: http://fs-uae.net/
-fs-uae:
-fs-uae:
-fs-uae:
-fs-uae:
+beebem: beebem (popular Acorn BBC Micro and Master 128 emulator)
+beebem:
+beebem: This version of BeebEm for UNIX is an SDL port of the Windows version
+beebem: of BeebEm
+beebem:
+beebem: Homepage http://beebem-unix.bbcmicro.com/index.html
+beebem:
+beebem:
+beebem:
+beebem:
+beebem:
diff --git a/system/bin2iso/bin2iso.SlackBuild b/system/bin2iso/bin2iso.SlackBuild
index 51c13bbd10..91ef15daf5 100644
--- a/system/bin2iso/bin2iso.SlackBuild
+++ b/system/bin2iso/bin2iso.SlackBuild
@@ -2,7 +2,7 @@
# Slackware build script for bin2iso
-# Copyright 2016 Hunter Sezen California, USA
+# Copyright 2016, 2019 Hunter Sezen California, USA
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
@@ -24,7 +24,7 @@
PRGNAM=bin2iso
VERSION=${VERSION:-19b}
-BUILD=${BUILD:-1}
+BUILD=${BUILD:-2}
TAG=${TAG:-_SBo}
if [ -z "$ARCH" ]; then
@@ -54,7 +54,7 @@ else
LIBDIRSUFFIX=""
fi
-set -e
+set -eu
rm -rf $PKG
mkdir -p $TMP $PKG $OUTPUT
@@ -63,12 +63,16 @@ rm -rf $PRGNAM-$VERSION
mkdir $PRGNAM-$VERSION
cd $PRGNAM-$VERSION
-[ -z "$CC" ] && CC=cc
-$CC $SLKCFLAGS -Wall -o $PRGNAM $CWD/$PRGNAM${VERSION}_linux.c
-install -Dm0755 $PRGNAM $PKG/usr/bin/$PRGNAM
+${CC:-cc} \
+ $(printf %s "$SLKCFLAGS") -Wall -o $PRGNAM \
+ $CWD/$PRGNAM${VERSION}_linux.c
-find $PKG -print0 | xargs -0 file | grep -e "executable" -e "shared object" | grep ELF \
- | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null || true
+mkdir -p -- "$PKG/usr/bin"
+cp -- $PRGNAM "$PKG/usr/bin/"
+chmod 0755 -- "$PKG/usr/bin/$PRGNAM"
+
+find $PKG -print0 | xargs -0 file | grep -e "executable" -e "shared object" |
+ grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null || true
mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION
cp $CWD/readme.txt $PKG/usr/doc/$PRGNAM-$VERSION
diff --git a/system/bin2iso/bin2iso.info b/system/bin2iso/bin2iso.info
index 9b01a3aab8..a6adee948f 100644
--- a/system/bin2iso/bin2iso.info
+++ b/system/bin2iso/bin2iso.info
@@ -1,7 +1,7 @@
PRGNAM="bin2iso"
VERSION="19b"
HOMEPAGE="http://users.eastlink.ca/~doiron/bin2iso/"
-DOWNLOAD="http://users.eastlink.ca/~doiron/bin2iso/linux/bin2iso19b_linux.c"
+DOWNLOAD="http://slackware.uk/sbosrcarch/by-name/system/bin2iso/bin2iso19b_linux.c"
MD5SUM="01dab72496175a772bcf6e08c854d440"
DOWNLOAD_x86_64=""
MD5SUM_x86_64=""
diff --git a/system/bindfs/README b/system/bindfs/README
index bb05846c4c..42d162bd3e 100644
--- a/system/bindfs/README
+++ b/system/bindfs/README
@@ -1,3 +1,3 @@
-bindfs is a FUSE filesystem for mounting a directory to another location,
-similarly to mount --bind. The permissions inside the mountpoint can be
-altered using various rules.
+bindfs is a FUSE filesystem for mounting a directory to another
+location, similarly to mount --bind. The permissions inside the
+mountpoint can be altered using various rules.
diff --git a/system/bindfs/bindfs.SlackBuild b/system/bindfs/bindfs.SlackBuild
index 9e4b1a24ed..390476cdfd 100644
--- a/system/bindfs/bindfs.SlackBuild
+++ b/system/bindfs/bindfs.SlackBuild
@@ -2,7 +2,7 @@
# Slackware build script for bindfs
-# Copyright 2013-2019 Kent Fritz Mountain View, CA, USA
+# Copyright 2013-2020 Kent Fritz Mountain View, CA, USA
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
@@ -23,7 +23,7 @@
# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
PRGNAM=bindfs
-VERSION=${VERSION:-1.13.10}
+VERSION=${VERSION:-1.14.7}
BUILD=${BUILD:-1}
TAG=${TAG:-_SBo}
diff --git a/system/bindfs/bindfs.info b/system/bindfs/bindfs.info
index 6da2fe7080..e37c36f5ad 100644
--- a/system/bindfs/bindfs.info
+++ b/system/bindfs/bindfs.info
@@ -1,8 +1,8 @@
PRGNAM="bindfs"
-VERSION="1.13.10"
+VERSION="1.14.7"
HOMEPAGE="https://bindfs.org"
-DOWNLOAD="https://bindfs.org/downloads/bindfs-1.13.10.tar.gz"
-MD5SUM="2a9e47a97d0e54f2fa6c24751993fc58"
+DOWNLOAD="https://bindfs.org/downloads/bindfs-1.14.7.tar.gz"
+MD5SUM="047ca696707077c05d2d995fbd9aec7d"
DOWNLOAD_x86_64=""
MD5SUM_x86_64=""
REQUIRES=""
diff --git a/system/binfmt-support/binfmt-support.SlackBuild b/system/binfmt-support/binfmt-support.SlackBuild
index 3471378594..b60ef0d36d 100644
--- a/system/binfmt-support/binfmt-support.SlackBuild
+++ b/system/binfmt-support/binfmt-support.SlackBuild
@@ -2,7 +2,7 @@
# Slackware build script for binfmt-support
-# Copyright 2019 Andrew Clemons, Wellington New Zealand
+# Copyright 2019-2020 Andrew Clemons, Wellington New Zealand
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
@@ -23,7 +23,7 @@
# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
PRGNAM=binfmt-support
-VERSION=${VERSION:-2.2.0}
+VERSION=${VERSION:-2.2.1}
BUILD=${BUILD:-1}
TAG=${TAG:-_SBo}
diff --git a/system/binfmt-support/binfmt-support.info b/system/binfmt-support/binfmt-support.info
index 37201e7fb5..bf6c570f5a 100644
--- a/system/binfmt-support/binfmt-support.info
+++ b/system/binfmt-support/binfmt-support.info
@@ -1,8 +1,8 @@
PRGNAM="binfmt-support"
-VERSION="2.2.0"
+VERSION="2.2.1"
HOMEPAGE="http://binfmt-support.nongnu.org/"
-DOWNLOAD="http://deb.debian.org/debian/pool/main/b/binfmt-support/binfmt-support_2.2.0.orig.tar.gz"
-MD5SUM="94e715eb371f0b8823cd7a24692cda20"
+DOWNLOAD="http://deb.debian.org/debian/pool/main/b/binfmt-support/binfmt-support_2.2.1.orig.tar.gz"
+MD5SUM="c62b74a8862575f321f8c1ef3e4b8a2e"
DOWNLOAD_x86_64=""
MD5SUM_x86_64=""
REQUIRES="man-db"
diff --git a/system/bitmapfont2ttf/README b/system/bitmapfont2ttf/README
new file mode 100644
index 0000000000..1c9b9a50e0
--- /dev/null
+++ b/system/bitmapfont2ttf/README
@@ -0,0 +1,17 @@
+bitmapfont2ttf (convert bitmap BDF fonts to vector TTF)
+
+bitmapfont2ttf is a fontforge Python script which autotraces the glyphs
+in a bitmap font and converts it to a vector (outline) TrueType font.
+The resulting font retains its "pixelated" look when scaled up to any
+size.
+
+bitmapfont2ttf is a bit picky about the BDF fonts it will accept as
+input. This build includes a patch that allows it to work with fonts
+produced by psf2bdf (from psftools). The patch is applied by default,
+but you can export PRISTINE=yes in the environment if you really don't
+want it.
+
+If you're trying to convert a PCF font, use pcf2bdf to turn it into a
+BDF first.
+
+If you're looking for exact-autotrace, it's included in this build.
diff --git a/system/bitmapfont2ttf/bitmapfont2ttf.SlackBuild b/system/bitmapfont2ttf/bitmapfont2ttf.SlackBuild
new file mode 100644
index 0000000000..683b4abfce
--- /dev/null
+++ b/system/bitmapfont2ttf/bitmapfont2ttf.SlackBuild
@@ -0,0 +1,82 @@
+#!/bin/sh
+
+# Slackware build script for bitmapfont2ttf
+
+# Written by B. Watson (yalhcru@gmail.com)
+
+# Licensed under the WTFPL. See http://www.wtfpl.net/txt/copying/ for details.
+
+# The source tarball contains code from 3 git repositories:
+# https://github.com/dse/bitmapfont2ttf
+# https://github.com/dse/exact-autotrace
+# https://github.com/wernsey/bitmap.git
+# ...plus some minor fixes by me to get exact-autotrace to compile.
+
+PRGNAM=bitmapfont2ttf
+VERSION=${VERSION:-20200215_03529d2}
+BUILD=${BUILD:-1}
+TAG=${TAG:-_SBo}
+
+if [ -z "$ARCH" ]; then
+ case "$( uname -m )" in
+ i?86) ARCH=i586 ;;
+ arm*) ARCH=arm ;;
+ *) ARCH=$( uname -m ) ;;
+ esac
+fi
+
+CWD=$(pwd)
+TMP=${TMP:-/tmp/SBo}
+PKG=$TMP/package-$PRGNAM
+OUTPUT=${OUTPUT:-/tmp}
+
+if [ "$ARCH" = "i586" ]; then
+ SLKCFLAGS="-O2 -march=i586 -mtune=i686"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "i686" ]; then
+ SLKCFLAGS="-O2 -march=i686 -mtune=i686"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "x86_64" ]; then
+ SLKCFLAGS="-O2 -fPIC"
+ LIBDIRSUFFIX="64"
+else
+ SLKCFLAGS="-O2"
+ LIBDIRSUFFIX=""
+fi
+
+set -e
+
+rm -rf $PKG
+mkdir -p $TMP $PKG $OUTPUT
+cd $TMP
+rm -rf $PRGNAM-$VERSION
+tar xvf $CWD/$PRGNAM-$VERSION.tar.xz
+cd $PRGNAM-$VERSION
+chown -R root:root .
+find -L . -perm /111 -a \! -perm 755 -a -exec chmod 755 {} \+ -o \
+ \! -perm /111 -a \! -perm 644 -a -exec chmod 644 {} \+
+
+# 20200621 bkw: the fonts produced by some tools (notably psf2bdf)
+# are missing the PIXEL_SIZE property. Patched code derives it from the
+# ascent and descent properties, if necessary. This isn't always correct,
+# but for the 670 fonts in /usr/share/fonts/misc (converted to BDF),
+# it's correct for 654 (98%) of them.
+if [ "${PRISTINE:-no}" != "yes" ]; then
+ patch -p1 < $CWD/derive_pixel_size.diff
+ PATCHDESC=" This package includes a patch for fonts without PIXEL_SIZE."
+fi
+
+make -C exact-autotrace CFLAGS="$SLKCFLAGS"
+strip exact-autotrace/bin/exact-autotrace-c
+mkdir -p $PKG/usr/bin
+install -m0755 exact-autotrace/bin/* bin/$PRGNAM $PKG/usr/bin
+
+mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION
+cp -a README.md exact-autotrace/LICENSE $PKG/usr/doc/$PRGNAM-$VERSION
+cat $CWD/$PRGNAM.SlackBuild > $PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM.SlackBuild
+
+mkdir -p $PKG/install
+sed "16s/$/$PATCHDESC/" $CWD/slack-desc > $PKG/install/slack-desc
+
+cd $PKG
+/sbin/makepkg -l y -c n $OUTPUT/$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.${PKGTYPE:-tgz}
diff --git a/system/bitmapfont2ttf/bitmapfont2ttf.info b/system/bitmapfont2ttf/bitmapfont2ttf.info
new file mode 100644
index 0000000000..a245e0f4b4
--- /dev/null
+++ b/system/bitmapfont2ttf/bitmapfont2ttf.info
@@ -0,0 +1,10 @@
+PRGNAM="bitmapfont2ttf"
+VERSION="20200215_03529d2"
+HOMEPAGE="https://github.com/dse/bitmapfont2ttf"
+DOWNLOAD="https://slackware.uk/~urchlay/src/bitmapfont2ttf-20200215_03529d2.tar.xz"
+MD5SUM="5f4ab36a5d56c79e28ce38841f063bdc"
+DOWNLOAD_x86_64=""
+MD5SUM_x86_64=""
+REQUIRES=""
+MAINTAINER="B. Watson"
+EMAIL="yalhcru@gmail.com"
diff --git a/system/bitmapfont2ttf/derive_pixel_size.diff b/system/bitmapfont2ttf/derive_pixel_size.diff
new file mode 100644
index 0000000000..60afe3242c
--- /dev/null
+++ b/system/bitmapfont2ttf/derive_pixel_size.diff
@@ -0,0 +1,13 @@
+diff -Naur bitmapfont2ttf-20200215_03529d2/bin/bitmapfont2ttf bitmapfont2ttf-20200215_03529d2.patched/bin/bitmapfont2ttf
+--- bitmapfont2ttf-20200215_03529d2/bin/bitmapfont2ttf 2020-06-08 17:30:53.000000000 -0400
++++ bitmapfont2ttf-20200215_03529d2.patched/bin/bitmapfont2ttf 2020-06-21 04:06:26.622171278 -0400
+@@ -122,6 +122,9 @@
+ continue
+ (cmd, args) = (args[0].upper(), args[1:])
+ if cmd == 'ENDPROPERTIES':
++ if self.pixelSize == None:
++ self.pixelSize = int(self.ascent + self.descent)
++ sys.stderr.write('*** missing PIXEL_SIZE property, derived from FONT_ASCENT + FONT_DESCENT: %d\n' % self.pixelSize);
+ return
+ if cmd == 'PIXEL_SIZE' and len(args) >= 1:
+ self.pixelSize = float(args[0])
diff --git a/system/bitmapfont2ttf/slack-desc b/system/bitmapfont2ttf/slack-desc
new file mode 100644
index 0000000000..dd948af0b8
--- /dev/null
+++ b/system/bitmapfont2ttf/slack-desc
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description.
+# Line up the first '|' above the ':' following the base package name, and
+# the '|' on the right side marks the last column you can put a character in.
+# You must make exactly 11 lines for the formatting to be correct. It's also
+# customary to leave one space after the ':' except on otherwise blank lines.
+
+ |-----handy-ruler------------------------------------------------------|
+bitmapfont2ttf: bitmapfont2ttf (convert bitmap BDF fonts to vector TTF)
+bitmapfont2ttf:
+bitmapfont2ttf: bitmapfont2ttf is a fontforge Python script which autotraces the
+bitmapfont2ttf: glyphs in a bitmap font and converts it to a vector (outline)
+bitmapfont2ttf: TrueType font. The resulting font retains its "pixelated" look
+bitmapfont2ttf: when scaled up to any size.
+bitmapfont2ttf:
+bitmapfont2ttf:
+bitmapfont2ttf:
+bitmapfont2ttf:
+bitmapfont2ttf:
diff --git a/system/bleachbit/bleachbit.SlackBuild b/system/bleachbit/bleachbit.SlackBuild
index 6654c0752a..5309956821 100644
--- a/system/bleachbit/bleachbit.SlackBuild
+++ b/system/bleachbit/bleachbit.SlackBuild
@@ -3,7 +3,7 @@
# Slackware build script for bleachbit
#
# Copyright 2013-2018 Erwin van Zanten, Dordrecht, The Netherlands, Europe
-# Copyright 2018-2019 Edinaldo P. Silva, Rio de Janeiro, Brazil.
+# Copyright 2018-2021 Edinaldo P. Silva, Rio de Janeiro, Brazil.
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
@@ -24,7 +24,7 @@
# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
PRGNAM=bleachbit
-VERSION=${VERSION:-3.0}
+VERSION=${VERSION:-4.2.0}
BUILD=${BUILD:-1}
TAG=${TAG:-_SBo}
@@ -61,7 +61,7 @@ rm -rf $PKG
mkdir -p $TMP $PKG $OUTPUT
cd $TMP
rm -rf $PRGNAM-$VERSION
-tar -xvf $CWD/$PRGNAM-$VERSION.tar.bz2
+tar -xvf $CWD/$PRGNAM-$VERSION.tar.gz
cd $PRGNAM-$VERSION
chown -R root:root .
find -L . \
@@ -70,9 +70,6 @@ find -L . \
\( -perm 666 -o -perm 664 -o -perm 640 -o -perm 600 -o -perm 444 \
-o -perm 440 -o -perm 400 \) -exec chmod 644 {} \;
-# Exclude the Windows-only cleaners from the source per author's instructions.
-grep -l os=.windows. cleaners/*xml | xargs rm -f
-
make
make install DESTDIR=$PKG prefix=/usr
@@ -80,7 +77,7 @@ find $PKG -print0 | xargs -0 file | grep -e "executable" -e "shared object" | gr
| cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null || true
mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION
-cp MANIFEST* COPYING PKG-INFO README* doc/* $PKG/usr/doc/$PRGNAM-$VERSION
+cp COPYING README.md doc/* $PKG/usr/doc/$PRGNAM-$VERSION
cat $CWD/$PRGNAM.SlackBuild > $PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM.SlackBuild
mkdir -p $PKG/install
diff --git a/system/bleachbit/bleachbit.info b/system/bleachbit/bleachbit.info
index 5034a1f853..b2b644d918 100644
--- a/system/bleachbit/bleachbit.info
+++ b/system/bleachbit/bleachbit.info
@@ -1,10 +1,10 @@
PRGNAM="bleachbit"
-VERSION="3.0"
+VERSION="4.2.0"
HOMEPAGE="https://www.bleachbit.org/"
-DOWNLOAD="https://download.bleachbit.org/bleachbit-3.0.tar.bz2"
-MD5SUM="b6bf8d2a955708e3511906543ccfed5b"
+DOWNLOAD="https://github.com/bleachbit/bleachbit/archive/v4.2.0/bleachbit-4.2.0.tar.gz"
+MD5SUM="39856abb5f3a0bdadf83b07609bed3e3"
DOWNLOAD_x86_64=""
MD5SUM_x86_64=""
-REQUIRES=""
+REQUIRES="pygobject3-python3"
MAINTAINER="Edinaldo P. Silva"
EMAIL="edps.mundognu@gmail.com"
diff --git a/system/blktrace/blktrace.info b/system/blktrace/blktrace.info
index b85ff5617f..bfa19c5b18 100644
--- a/system/blktrace/blktrace.info
+++ b/system/blktrace/blktrace.info
@@ -1,7 +1,7 @@
PRGNAM="blktrace"
VERSION="1.2.0"
-HOMEPAGE="http://brick.kernel.dk/snaps/"
-DOWNLOAD="http://brick.kernel.dk/snaps/blktrace-1.2.0.tar.gz"
+HOMEPAGE="https://brick.kernel.dk/snaps/"
+DOWNLOAD="https://brick.kernel.dk/snaps/blktrace-1.2.0.tar.gz"
MD5SUM="05abb873b4de96c5e7b2deba80695bf1"
DOWNLOAD_x86_64=""
MD5SUM_x86_64=""
diff --git a/system/bonnie++/bonnie++.SlackBuild b/system/bonnie++/bonnie++.SlackBuild
index fe1243f8bb..b9c011e052 100644
--- a/system/bonnie++/bonnie++.SlackBuild
+++ b/system/bonnie++/bonnie++.SlackBuild
@@ -1,11 +1,11 @@
#!/bin/sh
# Slackware build script for bonnie++
-# Written by Vincent Batts, vbatts@batts.mine.nu
+# Written by Vincent Batts <vbatts@hashbangbash.com>
# Modified by Michiel van Wessem <michiel@slackbuils.org>
PRGNAM=bonnie++
-VERSION=${VERSION:-1.03e}
+VERSION=${VERSION:-1.04}
BUILD=${BUILD:-1}
TAG=${TAG:-_SBo}
@@ -42,7 +42,7 @@ rm -rf $PKG
mkdir -p $TMP $PKG $OUTPUT
cd $TMP
rm -rf $PRGNAM-$VERSION
-tar xvf $CWD/$PRGNAM-$VERSION.tgz
+tar xvf $CWD/${PRGNAM}_${VERSION}.tgz
cd $PRGNAM-$VERSION
chown -R root:root .
find -L . \
diff --git a/system/bonnie++/bonnie++.info b/system/bonnie++/bonnie++.info
index cc63a14cc4..620997acb5 100644
--- a/system/bonnie++/bonnie++.info
+++ b/system/bonnie++/bonnie++.info
@@ -1,8 +1,8 @@
PRGNAM="bonnie++"
-VERSION="1.03e"
+VERSION="1.04"
HOMEPAGE="http://www.coker.com.au/bonnie++/"
-DOWNLOAD="http://www.coker.com.au/bonnie++/bonnie++-1.03e.tgz"
-MD5SUM="750aa5b5051263a99c6c195888c74968"
+DOWNLOAD="http://www.coker.com.au/bonnie++/bonnie++_1.04.tgz"
+MD5SUM="1414aab86e2db1b4691bd4be82031012"
DOWNLOAD_x86_64=""
MD5SUM_x86_64=""
REQUIRES=""
diff --git a/system/borgbackup/borgbackup.SlackBuild b/system/borgbackup/borgbackup.SlackBuild
index 93a2e84d8d..e7b71cf172 100644
--- a/system/borgbackup/borgbackup.SlackBuild
+++ b/system/borgbackup/borgbackup.SlackBuild
@@ -2,7 +2,7 @@
# Slackware build script for borgbackup
-# Copyright 2019 Andrzej Telszewski, Szczecin
+# Copyright 2020 Andrzej Telszewski, Szczecin
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
@@ -23,7 +23,7 @@
# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
PRGNAM=borgbackup
-VERSION=${VERSION:-1.1.10}
+VERSION=${VERSION:-1.1.13}
BUILD=${BUILD:-1}
TAG=${TAG:-_SBo}
diff --git a/system/borgbackup/borgbackup.info b/system/borgbackup/borgbackup.info
index 5a963a72fb..57a140bdfd 100644
--- a/system/borgbackup/borgbackup.info
+++ b/system/borgbackup/borgbackup.info
@@ -1,8 +1,8 @@
PRGNAM="borgbackup"
-VERSION="1.1.10"
+VERSION="1.1.13"
HOMEPAGE="https://borgbackup.readthedocs.io/"
-DOWNLOAD="https://github.com/borgbackup/borg/releases/download/1.1.10/borgbackup-1.1.10.tar.gz"
-MD5SUM="0a27e660ace162e41ea1d80e4b700808"
+DOWNLOAD="https://github.com/borgbackup/borg/releases/download/1.1.13/borgbackup-1.1.13.tar.gz"
+MD5SUM="a82d2bdf61bfaeebb90ac8ab1347657a"
DOWNLOAD_x86_64=""
MD5SUM_x86_64=""
REQUIRES="libb2 lz4 msgpack-python python3 setuptools-scm zstd"
diff --git a/system/btrbk/README b/system/btrbk/README
index 76bff1ea52..6e1e0c0835 100644
--- a/system/btrbk/README
+++ b/system/btrbk/README
@@ -24,5 +24,5 @@ Key Features:
* Display file changes between two backups
btrbk is designed to run as a cron job for triggering periodic snapshots
-and backups, as well as from the command line (e.g. for instantly creating
-additional snapshots).
+and backups, as well as from the command line (e.g. for instantly
+creating additional snapshots).
diff --git a/system/btrbk/btrbk.SlackBuild b/system/btrbk/btrbk.SlackBuild
index 4c8c81c7ee..b6f317e277 100644
--- a/system/btrbk/btrbk.SlackBuild
+++ b/system/btrbk/btrbk.SlackBuild
@@ -2,7 +2,7 @@
# Slackware build script for btrbk
-# Copyright 2019 Alan Aversa
+# Copyright 2020 Alan Aversa
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
@@ -23,7 +23,7 @@
# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
PRGNAM=btrbk
-VERSION=${VERSION:-0.28.3}
+VERSION=${VERSION:-0.31.0}
BUILD=${BUILD:-1}
TAG=${TAG:-_SBo}
diff --git a/system/btrbk/btrbk.info b/system/btrbk/btrbk.info
index 9725c2ada1..e7725f2fe6 100644
--- a/system/btrbk/btrbk.info
+++ b/system/btrbk/btrbk.info
@@ -1,10 +1,10 @@
PRGNAM="btrbk"
-VERSION="0.28.3"
+VERSION="0.31.0"
HOMEPAGE="https://digint.ch/btrbk/"
-DOWNLOAD="https://digint.ch/download/btrbk/releases/btrbk-0.28.3.tar.xz"
-MD5SUM="05e45bc1a3988f37a595c1074cb11d3b"
+DOWNLOAD="https://digint.ch/download/btrbk/releases/btrbk-0.31.0.tar.xz"
+MD5SUM="e6d430a3145d021672f11a2a5dbe05b3"
DOWNLOAD_x86_64=""
MD5SUM_x86_64=""
-REQUIRES=""
+REQUIRES="rubygem-asciidoctor"
MAINTAINER="Alan Aversa"
EMAIL="alan.aveNOrsaSP@AMcox.net (remove NO and SPAM)"
diff --git a/system/bubblewrap/bubblewrap.SlackBuild b/system/bubblewrap/bubblewrap.SlackBuild
index a48ec5c789..53d6bef9fb 100644
--- a/system/bubblewrap/bubblewrap.SlackBuild
+++ b/system/bubblewrap/bubblewrap.SlackBuild
@@ -24,7 +24,7 @@
PRGNAM=bubblewrap
-VERSION=${VERSION:-0.3.3}
+VERSION=${VERSION:-0.4.0}
BUILD=${BUILD:-1}
TAG=${TAG:-_SBo}
diff --git a/system/bubblewrap/bubblewrap.info b/system/bubblewrap/bubblewrap.info
index e600edd797..9366cd4180 100644
--- a/system/bubblewrap/bubblewrap.info
+++ b/system/bubblewrap/bubblewrap.info
@@ -1,8 +1,8 @@
PRGNAM="bubblewrap"
-VERSION="0.3.3"
+VERSION="0.4.0"
HOMEPAGE="https://github.com/containers/bubblewrap/"
-DOWNLOAD="https://github.com/containers/bubblewrap/releases/download/v0.3.3/bubblewrap-0.3.3.tar.xz"
-MD5SUM="69ce48ca2d637eaf6b42674ee903e5ad"
+DOWNLOAD="https://github.com/containers/bubblewrap/releases/download/v0.4.0/bubblewrap-0.4.0.tar.xz"
+MD5SUM="a0f3f2c80a3bad535af5bbd1b502450c"
DOWNLOAD_x86_64=""
MD5SUM_x86_64=""
REQUIRES=""
diff --git a/system/ccd2cue/README b/system/ccd2cue/README
new file mode 100644
index 0000000000..fa0b35ab09
--- /dev/null
+++ b/system/ccd2cue/README
@@ -0,0 +1,5 @@
+ccd2cue (convert proprietary CloneCD images to bin/cue)
+
+GNU ccd2cue is a CCD sheet to CUE sheet converter. It supports the full
+extent of CUE sheet format expressiveness, including mixed-mode discs
+and CD-Text meta-data.
diff --git a/system/ccd2cue/ccd2cue.SlackBuild b/system/ccd2cue/ccd2cue.SlackBuild
new file mode 100644
index 0000000000..743c380b2b
--- /dev/null
+++ b/system/ccd2cue/ccd2cue.SlackBuild
@@ -0,0 +1,82 @@
+#!/bin/sh
+
+# Slackware build script for ccd2cue
+
+# Written by B. Watson (yalhcru@gmail.com)
+
+# Licensed under the WTFPL. See http://www.wtfpl.net/txt/copying/ for details.
+
+PRGNAM=ccd2cue
+VERSION=${VERSION:-0.5}
+BUILD=${BUILD:-1}
+TAG=${TAG:-_SBo}
+
+if [ -z "$ARCH" ]; then
+ case "$( uname -m )" in
+ i?86) ARCH=i586 ;;
+ arm*) ARCH=arm ;;
+ *) ARCH=$( uname -m ) ;;
+ esac
+fi
+
+CWD=$(pwd)
+TMP=${TMP:-/tmp/SBo}
+PKG=$TMP/package-$PRGNAM
+OUTPUT=${OUTPUT:-/tmp}
+
+if [ "$ARCH" = "i586" ]; then
+ SLKCFLAGS="-O2 -march=i586 -mtune=i686"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "i686" ]; then
+ SLKCFLAGS="-O2 -march=i686 -mtune=i686"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "x86_64" ]; then
+ SLKCFLAGS="-O2 -fPIC"
+ LIBDIRSUFFIX="64"
+else
+ SLKCFLAGS="-O2"
+ LIBDIRSUFFIX=""
+fi
+
+set -e
+
+rm -rf $PKG
+mkdir -p $TMP $PKG $OUTPUT
+cd $TMP
+rm -rf $PRGNAM-$VERSION
+tar xvf $CWD/$PRGNAM-$VERSION.tar.gz
+cd $PRGNAM-$VERSION
+chown -R root:root .
+find -L . -perm /111 -a \! -perm 755 -a -exec chmod 755 {} \+ -o \
+ \! -perm /111 -a \! -perm 644 -a -exec chmod 644 {} \+
+
+CFLAGS="$SLKCFLAGS" \
+CXXFLAGS="$SLKCFLAGS" \
+./configure \
+ --prefix=/usr \
+ --libdir=/usr/lib${LIBDIRSUFFIX} \
+ --sysconfdir=/etc \
+ --localstatedir=/var \
+ --mandir=/usr/man \
+ --docdir=/usr/doc/$PRGNAM-$VERSION \
+ --infodir=/usr/info \
+ --build=$ARCH-slackware-linux
+
+make
+make install-strip DESTDIR=$PKG
+
+find $PKG/usr/man -type f -exec gzip -9 {} \;
+
+rm -f $PKG/usr/info/dir
+gzip -9 $PKG/usr/info/*.info*
+
+mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION
+# Skip Makefile*, INSTALL, and long political rants.
+cp -a THANKS A[NU]* [B-HN-SUVXYZ]* $PKG/usr/doc/$PRGNAM-$VERSION
+cat $CWD/$PRGNAM.SlackBuild > $PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM.SlackBuild
+
+mkdir -p $PKG/install
+cat $CWD/slack-desc > $PKG/install/slack-desc
+
+cd $PKG
+/sbin/makepkg -l y -c n $OUTPUT/$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.${PKGTYPE:-tgz}
diff --git a/system/ccd2cue/ccd2cue.info b/system/ccd2cue/ccd2cue.info
new file mode 100644
index 0000000000..02c096e670
--- /dev/null
+++ b/system/ccd2cue/ccd2cue.info
@@ -0,0 +1,10 @@
+PRGNAM="ccd2cue"
+VERSION="0.5"
+HOMEPAGE="https://www.gnu.org/software/ccd2cue/"
+DOWNLOAD="http://ftpmirror.gnu.org/ccd2cue/ccd2cue-0.5.tar.gz"
+MD5SUM="565eb34e3ab5331ee5aab2fe215118aa"
+DOWNLOAD_x86_64=""
+MD5SUM_x86_64=""
+REQUIRES=""
+MAINTAINER="B. Watson"
+EMAIL="yalhcru@gmail.com"
diff --git a/system/ccd2cue/slack-desc b/system/ccd2cue/slack-desc
new file mode 100644
index 0000000000..c0973a04e7
--- /dev/null
+++ b/system/ccd2cue/slack-desc
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description.
+# Line up the first '|' above the ':' following the base package name, and
+# the '|' on the right side marks the last column you can put a character in.
+# You must make exactly 11 lines for the formatting to be correct. It's also
+# customary to leave one space after the ':' except on otherwise blank lines.
+
+ |-----handy-ruler------------------------------------------------------|
+ccd2cue: ccd2cue (convert proprietary CloneCD images to bin/cue)
+ccd2cue:
+ccd2cue: GNU ccd2cue is a CCD sheet to CUE sheet converter. It supports the
+ccd2cue: full extent of CUE sheet format expressiveness, including mixed-mode
+ccd2cue: discs and CD-Text meta-data.
+ccd2cue:
+ccd2cue:
+ccd2cue:
+ccd2cue:
+ccd2cue:
+ccd2cue:
diff --git a/system/cdemu-client/cdemu-client.SlackBuild b/system/cdemu-client/cdemu-client.SlackBuild
index 7ff7a2b47c..9afa65b685 100644
--- a/system/cdemu-client/cdemu-client.SlackBuild
+++ b/system/cdemu-client/cdemu-client.SlackBuild
@@ -4,7 +4,7 @@
# command-line client for cdemu-daemon
# Copyright 2010-2013 Niels Horn, Rio de Janeiro, RJ, Brazil <niels.horn@gmail.com>
-# Copyright 2018-2019 Isaac Yu <isaacyu1@isaacyu1.com>
+# Copyright 2018-2020 Isaac Yu <isaacyu1@isaacyu1.com>
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
@@ -25,7 +25,7 @@
# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
PRGNAM=cdemu-client
-VERSION=${VERSION:-3.2.3}
+VERSION=${VERSION:-3.2.4}
ARCH=noarch
BUILD=${BUILD:-1}
TAG=${TAG:-_SBo}
diff --git a/system/cdemu-client/cdemu-client.info b/system/cdemu-client/cdemu-client.info
index dec0a00e66..1d646ff8f3 100644
--- a/system/cdemu-client/cdemu-client.info
+++ b/system/cdemu-client/cdemu-client.info
@@ -1,8 +1,8 @@
PRGNAM="cdemu-client"
-VERSION="3.2.3"
+VERSION="3.2.4"
HOMEPAGE="https://cdemu.sourceforge.io/about/client/"
-DOWNLOAD="https://downloads.sourceforge.net/cdemu/cdemu-client-3.2.3.tar.bz2"
-MD5SUM="92cbbee4cab8964e76081a4a0bdf4c23"
+DOWNLOAD="https://downloads.sourceforge.net/cdemu/cdemu-client-3.2.4.tar.bz2"
+MD5SUM="5eadc5691fabfc7c54e926d5d1ceb8bc"
DOWNLOAD_x86_64=""
MD5SUM_x86_64=""
REQUIRES="cdemu-daemon pygobject3-python3"
diff --git a/system/cdemu-client/slack-desc b/system/cdemu-client/slack-desc
index 095b48ccf2..e882420ec0 100644
--- a/system/cdemu-client/slack-desc
+++ b/system/cdemu-client/slack-desc
@@ -8,12 +8,12 @@
|-----handy-ruler------------------------------------------------------|
cdemu-client: cdemu-client (command-line client for CDEmu-daemon)
cdemu-client:
-cdemu-client: CDEmu client is a simple command-line client for controlling CDEmu-
-cdemu-client: daemon.
+cdemu-client: CDEmu client is a simple command-line client for controlling
+cdemu-client: CDEmu-daemon.
+cdemu-client:
cdemu-client: It provides a way to perform the key tasks related to controlling the
cdemu-client: CDEmu daemon, such as loading and unloading devices, displaying
cdemu-client: devices' status and retrieving/setting devices' debug masks.
cdemu-client:
cdemu-client: Homepage: https://cdemu.sourceforge.io/about/client/
cdemu-client:
-cdemu-client:
diff --git a/system/cdemu-daemon/README b/system/cdemu-daemon/README
index b0bc1b62a4..b1229b97fc 100644
--- a/system/cdemu-daemon/README
+++ b/system/cdemu-daemon/README
@@ -2,6 +2,8 @@ CDEmu daemon is the userspace daemon part of the cdemu suite.
a free, GPL CD/DVD-ROM device emulator for linux.
This SlackBuild uses group cdrom as default.
-To use another group ex. cdemu run the script like this:
+To use another group (e.x. cdemu), add its name as an
+argument to the GROUP variable when running the build script.
+For example:
GROUP=cdemu ./cdemu-daemon.SlackBuild
diff --git a/system/cdemu-daemon/cdemu-daemon.SlackBuild b/system/cdemu-daemon/cdemu-daemon.SlackBuild
index 6ac09d201d..691c02f314 100644
--- a/system/cdemu-daemon/cdemu-daemon.SlackBuild
+++ b/system/cdemu-daemon/cdemu-daemon.SlackBuild
@@ -4,7 +4,7 @@
# Copyright 2008 Niklas "Nille" Åkerström
# Copyright 2010-2013 Niels Horn, Rio de Janeiro, RJ, Brazil <niels.horn@gmail.com>
-# Copyright 2018-2019 Isaac Yu <isaacyu1@isaacyu1.com>
+# Copyright 2018-2020 Isaac Yu <isaacyu1@isaacyu1.com>
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
@@ -25,7 +25,7 @@
# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
PRGNAM=cdemu-daemon
-VERSION=${VERSION:-3.2.3}
+VERSION=${VERSION:-3.2.4}
BUILD=${BUILD:-1}
TAG=${TAG:-_SBo}
diff --git a/system/cdemu-daemon/cdemu-daemon.info b/system/cdemu-daemon/cdemu-daemon.info
index ae8100f106..3a27c0b19b 100644
--- a/system/cdemu-daemon/cdemu-daemon.info
+++ b/system/cdemu-daemon/cdemu-daemon.info
@@ -1,8 +1,8 @@
PRGNAM="cdemu-daemon"
-VERSION="3.2.3"
+VERSION="3.2.4"
HOMEPAGE="https://cdemu.sourceforge.io/about/daemon/"
-DOWNLOAD="https://downloads.sourceforge.net/cdemu/cdemu-daemon-3.2.3.tar.bz2"
-MD5SUM="fbc4be370ebb9cec0b8593f91370be58"
+DOWNLOAD="https://downloads.sourceforge.net/cdemu/cdemu-daemon-3.2.4.tar.bz2"
+MD5SUM="9021f56fd95686f5b14d3b32f68e7b1a"
DOWNLOAD_x86_64=""
MD5SUM_x86_64=""
REQUIRES="libmirage vhba-module"
diff --git a/system/cfpeek/README b/system/cfpeek/README
new file mode 100644
index 0000000000..849f86b127
--- /dev/null
+++ b/system/cfpeek/README
@@ -0,0 +1,7 @@
+Cfpeek provides a uniform and consistent command line interface for
+various operations on structured configuration files, such as
+named.conf, .gitconfig, etc. It can be used to look up and retrieve
+settings, reformat the files and to apply external scripts to them.
+
+Support for Guile extension language is enabled on systems with Guile
+2.2 or newer (slackware-current).
diff --git a/system/fs-uae/fs-uae.SlackBuild b/system/cfpeek/cfpeek.SlackBuild
index e1383204ba..c9b16c02fb 100644
--- a/system/fs-uae/fs-uae.SlackBuild
+++ b/system/cfpeek/cfpeek.SlackBuild
@@ -1,31 +1,29 @@
#!/bin/sh
-# SlackBuild script for "fs-uae".
+# Slackware build script for cfpeek
-# Copyright 2012-2016 Marcel Saegebarth <marc@mos6581.de>
+# Copyright 2021 Sergey Poznyakoff <gray@gnu.org>
# All rights reserved.
#
-# Redistribution and use in source and binary forms, with or without
-# modification, are permitted provided that the following conditions are
-# met:
+# Redistribution and use of this script, with or without modification, is
+# permitted provided that the following conditions are met:
#
-# * Redistributions of source code must retain the above copyright
-# notice, this list of conditions and the following disclaimer.
+# 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 COPYRIGHT HOLDERS AND CONTRIBUTORS
-# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-# A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-# OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+# 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.
-PRGNAM=fs-uae
-VERSION=${VERSION:-2.8.1}
+PRGNAM=cfpeek
+VERSION=${VERSION:-1.2}
BUILD=${BUILD:-1}
TAG=${TAG:-_SBo}
@@ -79,17 +77,28 @@ CXXFLAGS="$SLKCFLAGS" \
--sysconfdir=/etc \
--localstatedir=/var \
--mandir=/usr/man \
+ --infodir=/usr/info \
--docdir=/usr/doc/$PRGNAM-$VERSION \
+ --disable-static \
--build=$ARCH-slackware-linux
make
make install-strip DESTDIR=$PKG
+find $PKG/usr/man -type f -exec gzip -9 {} \;
+for i in $( find $PKG/usr/man -type l ) ; do ln -s $( readlink $i ).gz $i.gz ; rm $i ; done
+
+rm -f $PKG/usr/info/dir
+gzip -9 $PKG/usr/info/*.info*
+
+mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION
+cp -a \
+ README NEWS \
+ $PKG/usr/doc/$PRGNAM-$VERSION
cat $CWD/$PRGNAM.SlackBuild > $PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM.SlackBuild
mkdir -p $PKG/install
cat $CWD/slack-desc > $PKG/install/slack-desc
-cat $CWD/doinst.sh > $PKG/install/doinst.sh
cd $PKG
/sbin/makepkg -l y -c n $OUTPUT/$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.${PKGTYPE:-tgz}
diff --git a/system/cfpeek/cfpeek.info b/system/cfpeek/cfpeek.info
new file mode 100644
index 0000000000..5769a7f01f
--- /dev/null
+++ b/system/cfpeek/cfpeek.info
@@ -0,0 +1,10 @@
+PRGNAM="cfpeek"
+VERSION="1.2"
+HOMEPAGE="https://www.gnu.org.ua/software/cfpeek/"
+DOWNLOAD="http://download.gnu.org.ua/pub/release/cfpeek/cfpeek-1.2.tar.gz"
+MD5SUM="b9f112fd9e3376c1ee46ff7f5c61853f"
+DOWNLOAD_x86_64=""
+MD5SUM_x86_64=""
+REQUIRES="%README%"
+MAINTAINER="Sergey Poznyakoff"
+EMAIL="gray@gnu.org"
diff --git a/system/cfpeek/slack-desc b/system/cfpeek/slack-desc
new file mode 100644
index 0000000000..bdf9575ea8
--- /dev/null
+++ b/system/cfpeek/slack-desc
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description.
+# Line up the first '|' above the ':' following the base package name, and
+# the '|' on the right side marks the last column you can put a character in.
+# You must make exactly 11 lines for the formatting to be correct. It's also
+# customary to leave one space after the ':' except on otherwise blank lines.
+
+ |-----handy-ruler------------------------------------------------------|
+cfpeek: cfpeek (Command line processor for structured configuration files)
+cfpeek:
+cfpeek: Cfpeek provides a uniform and consistent command line interface for
+cfpeek: various operations on structured configuration files, such as
+cfpeek: named.conf, .gitconfig, etc. It can be used to look up and retrieve
+cfpeek: settings, reformat the files and to apply external scripts to them.
+cfpeek:
+cfpeek: Cfpeek is a handy tool for use in scripting.
+cfpeek:
+cfpeek: Homepage: https://puszcza.gnu.org.ua/projects/cfpeek
+cfpeek:
diff --git a/system/chkrootkit/README b/system/chkrootkit/README
index 31c9fa8506..0ea9bf08e8 100644
--- a/system/chkrootkit/README
+++ b/system/chkrootkit/README
@@ -1,16 +1,17 @@
-chkrootkit (Check Rootkit) is a common unix-based program intended to help
-system administrators check their system for known rootkits. It is a shell
-script using common UNIX/Linux tools like the strings and grep commands to
-search core system programs for signatures and for comparing a traversal of the
-/proc filesystem with the output of the ps (process status) command to look for
-discrepancies.
+chkrootkit (Check Rootkit) is a common unix-based program intended to
+help system administrators check their system for known rootkits. It is
+a shell script using common UNIX/Linux tools like the strings and grep
+commands to search core system programs for signatures and for comparing
+a traversal of the /proc filesystem with the output of the ps (process
+status) command to look for discrepancies.
-It can be used from a "rescue disc" (typically a LiveCD) or it can optionally
-use an alternative directory from which to run all of its own commands. These
-techniques allow chkrootkit to trust the commands upon which it depends a bit
-more.
+It can be used from a "rescue disc" (typically a LiveCD) or it can
+optionally use an alternative directory from which to run all of its own
+commands. These techniques allow chkrootkit to trust the commands upon
+which it depends a bit more.
-There are inherent limitations to the reliability of any program that attempts
-to detect compromises (such as rootkits and computer viruses). Newer rootkits
-may specifically attempt to detect and compromise copies of the chkrootkit
-programs or take other measures to evade detection by them.
+There are inherent limitations to the reliability of any program that
+attempts to detect compromises (such as rootkits and computer viruses).
+Newer rootkits may specifically attempt to detect and compromise copies
+of the chkrootkit programs or take other measures to evade detection by
+them.
diff --git a/system/chkrootkit/chkrootkit.SlackBuild b/system/chkrootkit/chkrootkit.SlackBuild
index 6c119ee964..73fba3775a 100644
--- a/system/chkrootkit/chkrootkit.SlackBuild
+++ b/system/chkrootkit/chkrootkit.SlackBuild
@@ -22,8 +22,10 @@
# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+# Updated by Emmanuel N. Millan 2020-2021
+
PRGNAM=chkrootkit
-VERSION=${VERSION:-0.52}
+VERSION=${VERSION:-0.54}
BUILD=${BUILD:-1}
TAG=${TAG:-_SBo}
@@ -79,6 +81,7 @@ done
# Thanks to Erik Jan Tromp (alphageek) for the suggestion on this
# Install a wrapper script
+###sbolint off
mkdir -p $PKG/usr/sbin
cat << EOF > $PKG/usr/sbin/chkrootkit
#!/bin/sh
@@ -87,6 +90,7 @@ PRGDIR=/usr/lib${LIBDIRSUFFIX}/${PRGNAM}/bin
cd \$PRGDIR && exec ./$PRGNAM \$*
EOF
chmod 0755 $PKG/usr/sbin/$PRGNAM
+###sbolint on
find $PKG | xargs file | grep -e "executable" -e "shared object" | grep ELF \
| cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null || true
diff --git a/system/chkrootkit/chkrootkit.info b/system/chkrootkit/chkrootkit.info
index 666b3c2490..f70ed2dba7 100644
--- a/system/chkrootkit/chkrootkit.info
+++ b/system/chkrootkit/chkrootkit.info
@@ -1,10 +1,10 @@
PRGNAM="chkrootkit"
-VERSION="0.52"
+VERSION="0.54"
HOMEPAGE="http://www.chkrootkit.org"
-DOWNLOAD="https://sourceforge.net/projects/slackbuildsdirectlinks/files/chkrootkit/chkrootkit-0.52.tar.gz"
-MD5SUM="0c864b41cae9ef9381292b51104b0a04"
+DOWNLOAD="ftp://ftp.pangeia.com.br/pub/seg/pac/chkrootkit-0.54.tar.gz"
+MD5SUM="af81e9b9038019ea53e5d24d34901153"
DOWNLOAD_x86_64=""
MD5SUM_x86_64=""
REQUIRES=""
-MAINTAINER="Michiel van Wessem"
-EMAIL="michiel@slackbuilds.org"
+MAINTAINER="Emmanuel N. Millan"
+EMAIL="emmanueln@gmail.com"
diff --git a/system/chronograf/README b/system/chronograf/README
index 37c8860d14..fbaadf0fc4 100644
--- a/system/chronograf/README
+++ b/system/chronograf/README
@@ -8,8 +8,9 @@ visualizations of your data.
Groupname and Username
-You must have the "chronograf" group and user to run this script, for
+You must have the "chronograf" group and user to run this script, for
example:
groupadd -g 350 chronograf
- useradd -u 350 -s /bin/false -d /var/lib/chronograf -g chronograf chronograf
+ useradd -u 350 -s /bin/false -d /var/lib/chronograf \
+ -g chronograf chronograf
diff --git a/system/chronograf/chronograf.SlackBuild b/system/chronograf/chronograf.SlackBuild
index 9f7c2d2209..c87bcb4f14 100644
--- a/system/chronograf/chronograf.SlackBuild
+++ b/system/chronograf/chronograf.SlackBuild
@@ -2,7 +2,7 @@
# Slackware build script for Chronograf
-# Copyright 2017-2019 Ebben Aries <e@dscp.org>
+# Copyright 2017-2020 Ebben Aries <e@dscp.org>
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
@@ -23,7 +23,7 @@
# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
PRGNAM=chronograf
-VERSION=${VERSION:-1.7.14}
+VERSION=${VERSION:-1.8.10}
BUILD=${BUILD:-1}
TAG=${TAG:-_SBo}
diff --git a/system/chronograf/chronograf.info b/system/chronograf/chronograf.info
index 0b67f27bf0..b8e6183cd4 100644
--- a/system/chronograf/chronograf.info
+++ b/system/chronograf/chronograf.info
@@ -1,10 +1,10 @@
PRGNAM="chronograf"
-VERSION="1.7.14"
+VERSION="1.8.10"
HOMEPAGE="https://www.influxdata.com"
-DOWNLOAD="https://dl.influxdata.com/chronograf/releases/chronograf-1.7.14_linux_i386.tar.gz"
-MD5SUM="217c420f48e4559f932fcb61cb8ab57a"
-DOWNLOAD_x86_64="https://dl.influxdata.com/chronograf/releases/chronograf-1.7.14_linux_amd64.tar.gz"
-MD5SUM_x86_64="3128775b70553a6d71b41fe41fcb814f"
+DOWNLOAD="https://dl.influxdata.com/chronograf/releases/chronograf-1.8.10_linux_i386.tar.gz"
+MD5SUM="7a06e74733b7d7931dc64562940956c2"
+DOWNLOAD_x86_64="https://dl.influxdata.com/chronograf/releases/chronograf-1.8.10_linux_amd64.tar.gz"
+MD5SUM_x86_64="29a4e1c6676ab3014c2f7659b62cc8bc"
REQUIRES=""
MAINTAINER="Ebben Aries"
EMAIL="e@dscp.org"
diff --git a/system/ciopfs/README b/system/ciopfs/README
index 8288557370..2c70999a57 100644
--- a/system/ciopfs/README
+++ b/system/ciopfs/README
@@ -1,3 +1,7 @@
-ciopfs is a case-insensitive FUSE filesystem. It is useful for getting
-around issues where, say, a game is ported from Linux to Windows but
-the mods for that game still expect a case-insenitive filesystem.
+ciopfs (case insensitive on purpose filesystem)
+
+ciopfs is a stackable or overlay linux userspace file system (implemented
+with FUSE) which mounts a normal directory on a regular file sytem in
+case insensitive fashion. It's useful for getting around issues where,
+say, a game is ported from Linux to Windows but the mods for that game
+still expect a case-insenitive filesystem.
diff --git a/system/ciopfs/ciopfs.SlackBuild b/system/ciopfs/ciopfs.SlackBuild
index 27b116836c..6658402742 100644
--- a/system/ciopfs/ciopfs.SlackBuild
+++ b/system/ciopfs/ciopfs.SlackBuild
@@ -3,6 +3,7 @@
# Slackware build script for ciopfs
# Copyright 2015 Dugan Chen Canada
+# Copyright 2020 B. Watson
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
@@ -22,6 +23,11 @@
# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+# 20200413 bkw:
+# - take over maintenance
+# - i486 => i586
+# - include "links -dump" of web page as ciopfs.txt
+
PRGNAM=ciopfs
VERSION=${VERSION:-0.4}
BUILD=${BUILD:-1}
@@ -29,7 +35,7 @@ TAG=${TAG:-_SBo}
if [ -z "$ARCH" ]; then
case "$( uname -m )" in
- i?86) ARCH=i486 ;;
+ i?86) ARCH=i586 ;;
arm*) ARCH=arm ;;
*) ARCH=$( uname -m ) ;;
esac
@@ -40,8 +46,8 @@ TMP=${TMP:-/tmp/SBo}
PKG=$TMP/package-$PRGNAM
OUTPUT=${OUTPUT:-/tmp}
-if [ "$ARCH" = "i486" ]; then
- SLKCFLAGS="-O2 -march=i486 -mtune=i686"
+if [ "$ARCH" = "i586" ]; then
+ SLKCFLAGS="-O2 -march=i586 -mtune=i686"
LIBDIRSUFFIX=""
elif [ "$ARCH" = "i686" ]; then
SLKCFLAGS="-O2 -march=i686 -mtune=i686"
@@ -63,28 +69,23 @@ rm -rf $PRGNAM-$VERSION
tar xvf $CWD/$PRGNAM-$VERSION.tar.gz
cd $PRGNAM-$VERSION
chown -R root:root .
-find -L . \
- \( -perm 777 -o -perm 775 -o -perm 750 -o -perm 711 -o -perm 555 \
- -o -perm 511 \) -exec chmod 755 {} \; -o \
- \( -perm 666 -o -perm 664 -o -perm 640 -o -perm 600 -o -perm 444 \
- -o -perm 440 -o -perm 400 \) -exec chmod 644 {} \;
-
+find -L . -perm /111 -a \! -perm 755 -a -exec chmod 755 {} \+ -o \
+ \! -perm /111 -a \! -perm 644 -a -exec chmod 644 {} \+
CFLAGS="$SLKCFLAGS" \
-CXXFLAGS="$SLKCFLAGS" \
-make
-install -Dm755 ciopfs $PKG/bin/ciopfs
-mkdir -p $PKG/sbin
-( cd $PKG/sbin
-ln -s ../bin/ciopfs mount.ciopfs
-)
+ make
-find $PKG -print0 | xargs -0 file | grep -e "executable" -e "shared object" | grep ELF \
- | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null || true
+install -s -Dm755 ciopfs $PKG/bin/ciopfs
+mkdir -p $PKG/sbin
+ln -s ../bin/ciopfs $PKG/sbin/mount.ciopfs
mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION
cat $CWD/$PRGNAM.SlackBuild > $PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM.SlackBuild
+# 20200413 bkw: Upstream includes no documentation. Text file made from
+# upstream's web site.
+cat $CWD/$PRGNAM.txt > $PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM.txt
+
mkdir -p $PKG/install
cat $CWD/slack-desc > $PKG/install/slack-desc
diff --git a/system/ciopfs/ciopfs.info b/system/ciopfs/ciopfs.info
index 1b7880ed43..64b2a2ee75 100644
--- a/system/ciopfs/ciopfs.info
+++ b/system/ciopfs/ciopfs.info
@@ -6,5 +6,5 @@ MD5SUM="1798fc043034f292efd887c05fc4ea1e"
DOWNLOAD_x86_64=""
MD5SUM_x86_64=""
REQUIRES=""
-MAINTAINER="Dugan Chen"
-EMAIL="thedoogster [at] gmail [dot] com"
+MAINTAINER="B. Watson"
+EMAIL="yalhcru@gmail.com"
diff --git a/system/ciopfs/ciopfs.txt b/system/ciopfs/ciopfs.txt
new file mode 100644
index 0000000000..2d5981faa0
--- /dev/null
+++ b/system/ciopfs/ciopfs.txt
@@ -0,0 +1,138 @@
+ ciopfs - case insensitive on purpose filesystem
+
+ciopfs is a stackable or overlay linux userspace file system (implemented with
+FUSE) which mounts a normal directory on a regular file system in case
+insensitive fashion.
+
+The commands below should illustrate it’s function:
+
+mkdir -p ~/tmp/ciopfs/{.data,case-insensitive}
+ciopfs ~/tmp/ciopfs/.data ~/tmp/ciopfs/case-insensitive
+cd ~/tmp/ciopfs
+mkdir -p case-insensitive/DeMo/SubFolder
+echo demo >> case-insensitive/DEMO/subFolder/MyFile
+
+At this point your file system should look like this:
+
+case-insensitive
+`-- DeMo
+ `-- SubFolder
+ `-- MyFile
+.data
+`-- demo
+ `-- subfolder
+ `-- myfile
+
+To avoid any conflicts you should not manipulate the data directory directly,
+any change should be done over the mount point. All filenames in the data
+directory which aren’t all lower case are ignored.
+
+If you want to mount the file system automatically at boot time add a line like
+the one below to your /etc/fstab.
+
+/ciopfs/data /ciopfs/mnt ciopfs allow_other,default_permissions,use_ino,attr_timeout=0 0 0
+
+Note that ciopfs is primarily designed for single user mode. It was originally
+developed to mount the wine program folder and provide faster case insensitive
+file access. If you want to give multiple users write access to the same file
+system, then you have to mount it as root. However, in order to avoid security
+problems ciopfs will force fuse into single threaded mode and thus hurt
+performance.
+
+News
+
+ * ciopfs-0.4 released (18.06.2011)
+ * Bugfix in symlink creation
+ * Better errno handling
+ * ciopfs-0.3 released (25.09.2010)
+ * Security improvements: ciopfs forces single threaded mode if the file
+ system is mounted by root and accessible for others
+ * ASCII mode should now work (an off by one error which caused a segfault
+ was fixed)
+ * Various bug fixes
+ * ciopfs-0.2 released (30.06.2008)
+ * Unicode support based on glib
+ * Better error handling in out of memory situations
+ * Various code cleanups
+ * ciopfs-0.1 released (24.05.2008)
+
+How it works
+
+ciopfs works by translating every path element to lower case before further
+operations take place. On file or directory creation the original file name is
+stored in an extended attribute which is later returned upon request.
+
+This is illustrated below:
+
+getfattr -dR .data
+# file: .data/demo
+user.filename="DeMo"
+
+# file: .data/demo/subfolder
+user.filename="SubFolder"
+
+# file: .data/demo/subfolder/myfile
+user.filename="MyFile"
+
+Runtime Requirements
+
+If you want the file system to preserve case information you have to make sure
+that the underlying file system supports extended attributes (for example for
+ext{2,3} you need a kernel with CONFIG_EXT{2,3}_FS_XATTR enabled). You probably
+also want to mount the underlying filesystem with the user_xattr option which
+allows non root users to create extended attributes.
+
+Build Requirements
+
+In order to compile ciopfs you will need the fuse development files, libattr and
+if you plan to use Unicode characters within file names you will either need
+glib which is the default or alternatively libicu.
+
+If you want to use neither of those the file system will fall back to libc’s
+tolower(3) function which is only defined for [a-zA-Z]. Hence, it will only work
+case insensitively for ASCII file names.
+
+For ease of use the following 3 Makefile targets are supported:
+
+ * unicode-glib (default)
+ * unicode-icu
+ * ascii
+
+Running one of those followed by sudo make install should do everything that is
+needed.
+
+Alternatively, you can also use one of the distribution provided binary
+packages.
+
+POSIX Compliance
+
+ciopfs passes all test of a slightly patched POSIX file system test suite when
+mounted as root user with the following options:
+
+allow_other,use_ino,attr_timeout=0,entry_timeout=0
+
+and $fs set to "ciopfs" in the test suite configuration file. This was last
+tested with pjd-fstest-20090130-RC.tgz and ext3 as the underlying file system.
+
+Stability and Speed
+
+ciopfs just passes every requested operation to the underlying file system, so
+in theory it shouldn’t have a negative impact on stability. However, if you find
+a bug then send me an email with the instruction to reproduce it.
+
+As far as speed is of concern, I didn’t really benchmark or optimize it so far.
+There is the usual overhead associated with user / kernel space context
+switches. Furthermore, ciopfs in it’s current implementation uses libc’s
+malloc/free quite extensively, maybe this could be a bottleneck.
+
+Development
+
+You can always fetch the current code base from the git repository located at
+Github or Sourcehut.
+
+If you have comments, suggestions, ideas, a bug report, a patch or something
+else related to ciopfs then don’t hesitate to write me an email.
+
+License
+
+ciopfs is licensed under the GNU GPL v2.
diff --git a/system/ciopfs/slack-desc b/system/ciopfs/slack-desc
index 71fd50e058..dc82790fcd 100644
--- a/system/ciopfs/slack-desc
+++ b/system/ciopfs/slack-desc
@@ -6,7 +6,7 @@
# customary to leave one space after the ':' except on otherwise blank lines.
|-----handy-ruler------------------------------------------------------|
-ciopfs: ciopfs (case insensitive FUSE filesystem)
+ciopfs: ciopfs (case insensitive on purpose filesystem)
ciopfs:
ciopfs: ciopfs is a stackable or overlay linux userspace file system
ciopfs: (implemented with fuse) which mounts a normal directory on a regular
diff --git a/system/ck4up/README b/system/ck4up/README
index eb376336b6..67e65fe544 100644
--- a/system/ck4up/README
+++ b/system/ck4up/README
@@ -1,6 +1,6 @@
ck4up is a small command-line utility, writen in ruby, primarily
intended for CRUX ports maintainers to watch http and ftp sites for
-updates, but may also be useful for others.
+updates, but may also be useful for others.
ck4up scans through a configuration file, fetches the listed URLs
from the web, computes the md5sum of the page, and compares the
diff --git a/system/ck4up/ck4up.info b/system/ck4up/ck4up.info
index 735564a00b..9b8acb0f1c 100644
--- a/system/ck4up/ck4up.info
+++ b/system/ck4up/ck4up.info
@@ -2,7 +2,7 @@ PRGNAM="ck4up"
VERSION="1.4"
HOMEPAGE="http://jue.li/crux/ck4up"
DOWNLOAD="http://jue.li/crux/ck4up/ck4up-1.4.tar.gz"
-MD5SUM="922d0c9ace75203047d98ab6c54a3a91"
+MD5SUM="181c8342e16a20bd6ebce0a6dd23b894"
DOWNLOAD_x86_64=""
MD5SUM_x86_64=""
REQUIRES=""
diff --git a/system/ck4up/slack-desc b/system/ck4up/slack-desc
index 08f7a66d53..36cedd873b 100644
--- a/system/ck4up/slack-desc
+++ b/system/ck4up/slack-desc
@@ -10,7 +10,7 @@ ck4up: ck4up (Check for Updates, a utility to monitor web pages for updates)
ck4up:
ck4up: ck4up is a small command-line utility, writen in ruby,
ck4up: primarily intended for CRUX ports maintainers to watch http
-ck4up: and ftp sites for updates, but may also be useful for others.
+ck4up: and ftp sites for updates, but may also be useful for others.
ck4up:
ck4up: Homepage: http://jue.li/crux/ck4up/
ck4up:
diff --git a/system/clamav/clamav.SlackBuild b/system/clamav/clamav.SlackBuild
index 28dec28ae4..79be84db92 100644
--- a/system/clamav/clamav.SlackBuild
+++ b/system/clamav/clamav.SlackBuild
@@ -1,7 +1,7 @@
#!/bin/sh
# Copyright (c) 2006,2007 Eric Hameleers <alien@slackware.com>
-# Copyright (c) 2011-2019 Matteo Bernardini <ponce@slackbuilds.org>
+# Copyright (c) 2011-2021 Matteo Bernardini <ponce@slackbuilds.org>
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
@@ -28,7 +28,7 @@
# No additional license terms added
PRGNAM=clamav
-VERSION=${VERSION:-0.102.1}
+VERSION=${VERSION:-0.103.2}
BUILD=${BUILD:-1}
TAG=${TAG:-_SBo}
@@ -180,7 +180,8 @@ install -D -m 0644 $CWD/logrotate.clamav $PKG/etc/logrotate.d/clamav.new
# init script must still ensure that /var/run/clamav exists
# and has proper ownership and permissions though
mkdir -p $PKG/var/lib/clamav $PKG/var/log/clamav $PKG/var/run/clamav
-chmod 771 $PKG/var/lib/clamav $PKG/var/log/clamav $PKG/var/run/clamav
+chmod 0771 $PKG/var/log/clamav $PKG/var/run/clamav
+chmod 0775 $PKG/var/lib/clamav
# Fixup some ownership and permissions issues
chown -R root:root $PKG
@@ -189,14 +190,13 @@ if [ "$milter" = "en" ]; then
chown clamav $PKG/usr/sbin/clamav-milter
chmod 4700 $PKG/usr/sbin/clamav-milter
fi
-chmod 0770 $PKG/var/lib/clamav
touch $PKG/var/lib/clamav/main.cvd $PKG/var/lib/clamav/daily.cvd
chmod 0660 $PKG/var/lib/clamav/*
# Create log files in such a way that they won't clobber existing ones
touch $PKG/var/log/clamav/clamd.log.new \
$PKG/var/log/clamav/freshclam.log.new
-chmod 660 $PKG/var/log/clamav/clamd.log.new \
+chmod 0660 $PKG/var/log/clamav/clamd.log.new \
$PKG/var/log/clamav/freshclam.log.new
chown -R clamav:clamav $PKG/var/lib/clamav $PKG/var/log/clamav \
diff --git a/system/clamav/clamav.info b/system/clamav/clamav.info
index 091e2af3e5..3e4a74944f 100644
--- a/system/clamav/clamav.info
+++ b/system/clamav/clamav.info
@@ -1,8 +1,8 @@
PRGNAM="clamav"
-VERSION="0.102.1"
+VERSION="0.103.2"
HOMEPAGE="https://www.clamav.net/"
-DOWNLOAD="https://www.clamav.net/downloads/production/clamav-0.102.1.tar.gz"
-MD5SUM="3d5f5f10a1bea212823050286c8c5b96"
+DOWNLOAD="https://www.clamav.net/downloads/production/clamav-0.103.2.tar.gz"
+MD5SUM="508e6988e2937985e702cc3a2202b6e7"
DOWNLOAD_x86_64=""
MD5SUM_x86_64=""
REQUIRES=""
diff --git a/system/clamtk/README b/system/clamtk/README
index 4b3b119fe4..2cf603fcfa 100644
--- a/system/clamtk/README
+++ b/system/clamtk/README
@@ -1,4 +1,5 @@
-ClamTk is a frontend for ClamAV using Gtk2-perl. It is intended to be
-an easy to use, light-weight, on-demand scanner for Linux systems.
+ClamTk is a frontend for ClamAV (Clam antivirus) using Gtk3-perl. It is
+intended to be an easy to use, light-weight, on-demand scanner for Linux
+systems.
If you are using XFCE you may wish to install thunar-sendto-clamtk.
diff --git a/system/clamtk/clamtk.SlackBuild b/system/clamtk/clamtk.SlackBuild
index dc74dad70b..17e5d69ac1 100644
--- a/system/clamtk/clamtk.SlackBuild
+++ b/system/clamtk/clamtk.SlackBuild
@@ -2,7 +2,7 @@
# Slackware build script for clamtk
-# Copyright 2012-2018 Petar Petrov slackalaxy@gmail.com
+# Copyright 2012-2020 Petar Petrov slackalaxy@gmail.com
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
@@ -26,7 +26,7 @@
# https://aur.archlinux.org/packages/clamtk/
PRGNAM=clamtk
-VERSION=${VERSION:-5.26}
+VERSION=${VERSION:-6.05}
BUILD=${BUILD:-1}
TAG=${TAG:-_SBo}
@@ -75,16 +75,15 @@ find -L . \
# Change the menu category to System and make sure the menu entry
# shows in other desktops than GNOME.
sed -i "s:Categories=GTK;GNOME;Utility;:Categories=System;:" $PRGNAM.desktop
-sed -i "s:OnlyShowIn=GNOME;:#OnlyShowIn=GNOME;:" $PRGNAM.desktop
install -D -m755 $PRGNAM $PKG/usr/bin/$PRGNAM
for i in lib/* ; do
-install -D -m644 $i $PKG/usr/lib${LIBDIRSUFFIX}/perl5/vendor_perl/ClamTk/`basename $i`
+ install -D -m644 $i $PKG/usr/lib${LIBDIRSUFFIX}/perl5/vendor_perl/ClamTk/`basename $i`
done
for i in po/*.mo ; do
-install -D -m644 $i $PKG/usr/share/locale/`basename $i .mo`/LC_MESSAGES/$PRGNAM.mo
+ install -D -m644 $i $PKG/usr/share/locale/`basename $i .mo`/LC_MESSAGES/$PRGNAM.mo
done
install -D -m644 $PRGNAM.1.gz $PKG/usr/man/man1/$PRGNAM.1.gz
@@ -97,7 +96,7 @@ find $PKG -print0 | xargs -0 file | grep -e "executable" -e "shared object" | gr
| cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null || true
mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION
-cp -a CHANGES DISCLAIMER LICENSE README.md $PKG/usr/doc/$PRGNAM-$VERSION
+cp -a CHANGES credits.md DISCLAIMER LICENSE README.md $PKG/usr/doc/$PRGNAM-$VERSION
cat $CWD/$PRGNAM.SlackBuild > $PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM.SlackBuild
mkdir -p $PKG/install
diff --git a/system/clamtk/clamtk.info b/system/clamtk/clamtk.info
index f092cd482c..a0a07e72d8 100644
--- a/system/clamtk/clamtk.info
+++ b/system/clamtk/clamtk.info
@@ -1,10 +1,10 @@
PRGNAM="clamtk"
-VERSION="5.26"
+VERSION="6.05"
HOMEPAGE="https://dave-theunsub.github.io/clamtk/"
-DOWNLOAD="https://bitbucket.org/davem_/clamtk/downloads/clamtk-5.26.tar.xz"
-MD5SUM="d77266a12b5cb40887b44e01adabbe27"
+DOWNLOAD="https://bitbucket.org/davem_/clamtk-gtk3/downloads/clamtk-6.05.tar.xz"
+MD5SUM="71896ca2ecabddf9938523a1f0e357ab"
DOWNLOAD_x86_64=""
MD5SUM_x86_64=""
-REQUIRES="libwww-perl perl-http-message perl-JSON perl-LWP-Protocol-https perl-Text-CSV perl-Time-Piece perl-gtk2 clamav zenity"
+REQUIRES="libwww-perl perl-http-message perl-JSON perl-LWP-Protocol-https perl-Text-CSV perl-Gtk3 clamav zenity"
MAINTAINER="Petar Petrov"
EMAIL="slackalaxy@gmail.com"
diff --git a/system/clamtk/slack-desc b/system/clamtk/slack-desc
index 41c3b077e3..d5204a3883 100644
--- a/system/clamtk/slack-desc
+++ b/system/clamtk/slack-desc
@@ -8,7 +8,7 @@
|-----handy-ruler------------------------------------------------------|
clamtk: clamtk (A frontend for ClamAV)
clamtk:
-clamtk: ClamTk is a frontend for ClamAV using Gtk2-perl.
+clamtk: ClamTk is a frontend for ClamAV using perl-Gtk3.
clamtk: It is intended to be an easy to use, light-weight,
clamtk: on-demand scanner for Linux systems.
clamtk:
diff --git a/system/cluster-glue/README b/system/cluster-glue/README
index b9e1a6c915..0f255839f9 100644
--- a/system/cluster-glue/README
+++ b/system/cluster-glue/README
@@ -2,8 +2,8 @@ cluster-glue (Reusable Cluster Components)
Additional cluster tools to play with e.g. some STONITH scripts.
-You might also want to install corosync, pacemaker, resource-agents, crmsh,
-fence-agents and eventually cluster-glue.
+You might also want to install cluster-glue, heartbeat, resource-agents,
+fence-agents.
You must have a haclient group and hacluster user to run this script.
diff --git a/system/cluster-glue/cluster-glue.SlackBuild b/system/cluster-glue/cluster-glue.SlackBuild
index 0b36765a43..1ae6d7be73 100644
--- a/system/cluster-glue/cluster-glue.SlackBuild
+++ b/system/cluster-glue/cluster-glue.SlackBuild
@@ -23,8 +23,8 @@
# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
PRGNAM=cluster-glue
-VERSION=${VERSION:-20180409_43b22d1}
-COMMIT=${COMMIT:-43b22d15db165b27743519da2c431a9f5d8062a6}
+VERSION=${VERSION:-20161102_afaeeb}
+COMMIT=${COMMIT:-afaeeb2f3e2a576c8a50ee3ce98e83e4da635c76}
BUILD=${BUILD:-1}
TAG=${TAG:-_SBo}
diff --git a/system/cluster-glue/cluster-glue.info b/system/cluster-glue/cluster-glue.info
index 5116c9026c..8c61443bd0 100644
--- a/system/cluster-glue/cluster-glue.info
+++ b/system/cluster-glue/cluster-glue.info
@@ -1,8 +1,8 @@
PRGNAM="cluster-glue"
-VERSION="20180409_43b22d1"
+VERSION="20161102_afaeeb"
HOMEPAGE="http://www.linux-ha.org/wiki/Cluster_Glue"
-DOWNLOAD="https://github.com/ClusterLabs/cluster-glue/archive/43b22d1/cluster-glue-43b22d15db165b27743519da2c431a9f5d8062a6.tar.gz"
-MD5SUM="d27f0580e690ed5425ad8e5135073c3e"
+DOWNLOAD="https://github.com/ClusterLabs/cluster-glue/archive/afaeeb/cluster-glue-afaeeb2f3e2a576c8a50ee3ce98e83e4da635c76.tar.gz"
+MD5SUM="50c799bb708921e9b44b1df161574fba"
DOWNLOAD_x86_64=""
MD5SUM_x86_64=""
REQUIRES=""
diff --git a/system/cluster-glue/slack-desc b/system/cluster-glue/slack-desc
index 62e9d250e8..1a57233cd3 100644
--- a/system/cluster-glue/slack-desc
+++ b/system/cluster-glue/slack-desc
@@ -10,8 +10,8 @@ cluster-glue: cluster-glue (Reusable Cluster Components)
cluster-glue:
cluster-glue: Additional cluster tools to play with e.g. some STONITH scripts.
cluster-glue:
-cluster-glue: You might also want to install corosync, pacemaker, resource-agents,
-cluster-glue: crmsh, fence-agents and eventually cluster-glue.
+cluster-glue: You might also want to install cluster-glue, heartbeat,
+cluster-glue: resource-agents, fence-agents.
cluster-glue:
cluster-glue:
cluster-glue:
diff --git a/system/cnijfilter2/cnijfilter2.SlackBuild b/system/cnijfilter2/cnijfilter2.SlackBuild
index 0fb2c334e3..32c58adad8 100644
--- a/system/cnijfilter2/cnijfilter2.SlackBuild
+++ b/system/cnijfilter2/cnijfilter2.SlackBuild
@@ -23,12 +23,13 @@
# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
PRGNAM=cnijfilter2
-SRCNAM=$PRGNAM-source
-SRCVERSION=${VERSION:-5.80-1}
-VERSION=${SRCVERSION/-/.}
+VERSION=${VERSION:-5.90.1}
BUILD=${BUILD:-1}
TAG=${TAG:-_SBo}
+SRCNAM=$PRGNAM-source
+SRCVERSION=5.90-1
+
if [ -z "$ARCH" ]; then
case "$( uname -m )" in
i?86) ARCH=i586 ;;
@@ -83,15 +84,17 @@ find -L . \
common_pkg="cmdtocanonij2 cmdtocanonij3 cnijbe2 lgmon3 rastertocanonij tocanonij tocnpwg"
for dir in $common_pkg; do
- ( cd $dir
+ cd $dir
./autogen.sh --prefix=/usr LDFLAGS="$LDFLAGS"
make
- make install-strip DESTDIR=$PKG )
+ make install-strip DESTDIR=$PKG
+ cd ..
done
-( cd lgmon3 ; ./autogen.sh --prefix=/usr --enable-libpath=/usr/lib/bjlib2 \
- LDFLAGS="$LDFLAGS"
+cd lgmon3
+ ./autogen.sh --prefix=/usr --enable-libpath=/usr/lib/bjlib2 LDFLAGS="$LDFLAGS"
make
- make install-strip DESTDIR=$PKG )
+ make install-strip DESTDIR=$PKG
+cd ..
if [ "$ARCH" = "x86_64" ]; then
mv $PKG/usr/lib $PKG/usr/lib64
@@ -110,24 +113,23 @@ elif [ "$ARCH" = "i686" ]; then
install -c -m 755 com/libs_bin32/libcnbpcnclapicom2.so.* $PKG/usr/lib/
fi
-mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION $PKG/usr/share/ppd/cnijfilter2 \
- $PKG/usr/doc/$PRGNAM-$VERSION/lproptions
+mkdir -p $PKG/usr/share/ppd/cnijfilter2
+cp -a ppd/*.ppd $PKG/usr/share/ppd/cnijfilter2
+
+mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION/lproptions
cp -a doc/* $PKG/usr/doc/$PRGNAM-$VERSION
cp -a lproptions/lpr* $PKG/usr/doc/$PRGNAM-$VERSION/lproptions
cat ppd/NEWS > $PKG/usr/doc/$PRGNAM-$VERSION/NEWS
-cp -a ppd/*.ppd $PKG/usr/share/ppd/cnijfilter2
-
# Copy all README to /usr/doc
for dir in $common_pkg; do
mkdir $PKG/usr/doc/$PRGNAM-$VERSION/$dir
- ( cd $dir
+ cd $dir
for file in AUTHORS COPYING ChangeLog INSTALL LICENSE NEWS README; do
[ -f $file ] && cp -a $file $PKG/usr/doc/$PRGNAM-$VERSION/$dir
done
- )
+ cd ..
done
-cat $CWD/README > $PKG/usr/doc/$PRGNAM-$VERSION/README
-
+cat $CWD/README > $PKG/usr/doc/$PRGNAM-$VERSION/README.SBo
cat $CWD/$PRGNAM.SlackBuild > $PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM.SlackBuild
mkdir -p $PKG/install
diff --git a/system/cnijfilter2/cnijfilter2.info b/system/cnijfilter2/cnijfilter2.info
index 59ea334515..f71f314189 100644
--- a/system/cnijfilter2/cnijfilter2.info
+++ b/system/cnijfilter2/cnijfilter2.info
@@ -1,8 +1,8 @@
PRGNAM="cnijfilter2"
-VERSION="5.80.1"
-HOMEPAGE="https://support-asia.canon-asia.com/contents/ASIA/EN/0101027301.html"
-DOWNLOAD="http://gdlp01.c-wss.com/gds/3/0100010273/01/cnijfilter2-source-5.80-1.tar.gz"
-MD5SUM="c201a3b93802ede86041616e678abba2"
+VERSION="5.90.1"
+HOMEPAGE="https://asia.canon/en/support/0101048401"
+DOWNLOAD="http://gdlp01.c-wss.com/gds/4/0100010484/01/cnijfilter2-source-5.90-1.tar.gz"
+MD5SUM="11029121b7003a3ebd5d53a1331673a7"
DOWNLOAD_x86_64=""
MD5SUM_x86_64=""
REQUIRES=""
diff --git a/system/cnijfilter2/slack-desc b/system/cnijfilter2/slack-desc
index 89b74ab1e7..5d9d84e58f 100644
--- a/system/cnijfilter2/slack-desc
+++ b/system/cnijfilter2/slack-desc
@@ -5,15 +5,15 @@
# make exactly 11 lines for the formatting to be correct. It's also
# customary to leave one space after the ':'.
- |-----handy-ruler----------------------------------------------------|
+ |-----handy-ruler------------------------------------------------------|
cnijfilter2: cnijfilter2 (Canon IJ Printer Driver)
-cnijfilter2:
-cnijfilter2: cnijfilter2 provides printing functions for Canon Inkjet printers
+cnijfilter2:
+cnijfilter2: cnijfilter2 provides printing functions for Canon Inkjet printers
cnijfilter2: operating under the CUPS (Common UNIX Printing System) environment.
-cnijfilter2:
-cnijfilter2: It supports MG7500 series, MG6700 series, MG6600 series, MG5600
+cnijfilter2:
+cnijfilter2: It supports MG7500 series, MG6700 series, MG6600 series, MG5600
cnijfilter2: series, MG2900 series, MB2000 series, MB2300, iB4000 series,
cnijfilter2: MB5000 series, MB5300 series, iP110 series, E450 series, MX490
cnijfilter2: series, E480 series.
cnijfilter2:
-cnijfilter2: http://support-asia.canon-asia.com/contents/ASIA/EN/0100666902.html
+cnijfilter2: Homepage: https://asia.canon/en/support/0101048401
diff --git a/system/colorize/README b/system/colorize/README
new file mode 100644
index 0000000000..51221064f1
--- /dev/null
+++ b/system/colorize/README
@@ -0,0 +1,6 @@
+colorize (colorize text on terminal)
+
+Colorize aims at being a small, independent and handy command-line
+text colorizing tool. It emits ANSI escape sequences in order to color
+lines of text; also, sequences emitted by colorize or foreign programs
+may be cleared.
diff --git a/system/colorize/colorize.SlackBuild b/system/colorize/colorize.SlackBuild
new file mode 100644
index 0000000000..0bb6b9d8b4
--- /dev/null
+++ b/system/colorize/colorize.SlackBuild
@@ -0,0 +1,66 @@
+#!/bin/sh
+
+# Slackware build script for colorize
+
+# Written by B. Watson (yalhcru@gmail.com)
+
+# Licensed under the WTFPL. See http://www.wtfpl.net/txt/copying/ for details.
+
+PRGNAM=colorize
+VERSION=${VERSION:-0.65}
+BUILD=${BUILD:-1}
+TAG=${TAG:-_SBo}
+
+if [ -z "$ARCH" ]; then
+ case "$( uname -m )" in
+ i?86) ARCH=i586 ;;
+ arm*) ARCH=arm ;;
+ *) ARCH=$( uname -m ) ;;
+ esac
+fi
+
+CWD=$(pwd)
+TMP=${TMP:-/tmp/SBo}
+PKG=$TMP/package-$PRGNAM
+OUTPUT=${OUTPUT:-/tmp}
+
+if [ "$ARCH" = "i586" ]; then
+ SLKCFLAGS="-O2 -march=i586 -mtune=i686"
+elif [ "$ARCH" = "i686" ]; then
+ SLKCFLAGS="-O2 -march=i686 -mtune=i686"
+elif [ "$ARCH" = "x86_64" ]; then
+ SLKCFLAGS="-O2 -fPIC"
+else
+ SLKCFLAGS="-O2"
+fi
+
+set -e
+
+rm -rf $PKG
+mkdir -p $TMP $PKG $OUTPUT
+cd $TMP
+rm -rf $PRGNAM-$VERSION
+tar xvf $CWD/$PRGNAM-$VERSION.tar.bz2
+cd $PRGNAM-$VERSION
+chown -R root:root .
+find -L . -perm /111 -a \! -perm 755 -a -exec chmod 755 {} \+ -o \
+ \! -perm /111 -a \! -perm 644 -a -exec chmod 644 {} \+
+
+make CFLAGS="$SLKCFLAGS"
+
+# disable tests by default
+[ "${CHECK:-no}" = "yes" ] && make check
+
+mkdir -p $PKG/usr/bin $PKG/usr/man/man1
+install -s -m0755 $PRGNAM $PKG/usr/bin
+gzip -9c < $PRGNAM.1 > $PKG/usr/man/man1/$PRGNAM.1.gz
+
+mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION
+cp -a AUTHORS* COPYING* HACKING* README* TODO* $PKG/usr/doc/$PRGNAM-$VERSION
+cat $CWD/$PRGNAM.SlackBuild > $PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM.SlackBuild
+
+mkdir -p $PKG/install
+cat $CWD/slack-desc > $PKG/install/slack-desc
+
+cd $PKG
+/sbin/makepkg -l y -c n $OUTPUT/$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.${PKGTYPE:-tgz}
diff --git a/system/colorize/colorize.info b/system/colorize/colorize.info
new file mode 100644
index 0000000000..2643a9c7fe
--- /dev/null
+++ b/system/colorize/colorize.info
@@ -0,0 +1,10 @@
+PRGNAM="colorize"
+VERSION="0.65"
+HOMEPAGE="http://cgit.refcnt.org/colorize.git/tree/README"
+DOWNLOAD="http://cgit.refcnt.org/colorize.git/snapshot/colorize-0.65.tar.bz2"
+MD5SUM="4ebbe5fd92ac1f69ce73ba4d6a0cbc78"
+DOWNLOAD_x86_64=""
+MD5SUM_x86_64=""
+REQUIRES=""
+MAINTAINER="B. Watson"
+EMAIL="yalhcru@gmail.com"
diff --git a/system/colorize/slack-desc b/system/colorize/slack-desc
new file mode 100644
index 0000000000..276034c426
--- /dev/null
+++ b/system/colorize/slack-desc
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description.
+# Line up the first '|' above the ':' following the base package name, and
+# the '|' on the right side marks the last column you can put a character in.
+# You must make exactly 11 lines for the formatting to be correct. It's also
+# customary to leave one space after the ':' except on otherwise blank lines.
+
+ |-----handy-ruler------------------------------------------------------|
+colorize: colorize (colorize text on terminal)
+colorize:
+colorize: Colorize aims at being a small, independent and handy command-line
+colorize: text colorizing tool. It emits ANSI escape sequences in order to color
+colorize: lines of text; also, sequences emitted by colorize or foreign programs
+colorize: may be cleared.
+colorize:
+colorize:
+colorize:
+colorize:
+colorize:
diff --git a/system/compsize/README b/system/compsize/README
index e930f6fe83..558075e74d 100644
--- a/system/compsize/README
+++ b/system/compsize/README
@@ -1,6 +1,6 @@
-compsize takes a list of files (given as arguments) on a btrfs filesystem
-and measures used compression types and effective compression ratio,
-producing a report such as:
+compsize takes a list of files (given as arguments) on a btrfs
+filesystem and measures used compression types and effective compression
+ratio, producing a report such as:
[~]$ compsize /usr/share
Processed 120101 files.
diff --git a/system/compsize/compsize.SlackBuild b/system/compsize/compsize.SlackBuild
index 0d1e7b2f55..bc8aaa229a 100644
--- a/system/compsize/compsize.SlackBuild
+++ b/system/compsize/compsize.SlackBuild
@@ -4,7 +4,7 @@
# Michales (clavisound) Michaloudes korgie@gmail.com <2017>
PRGNAM=compsize
-VERSION=${VERSION:-1.2}
+VERSION=${VERSION:-1.5}
BUILD=${BUILD:-1}
TAG=${TAG:-_SBo}
diff --git a/system/compsize/compsize.info b/system/compsize/compsize.info
index 1ee84575c8..ef7c7a2af2 100644
--- a/system/compsize/compsize.info
+++ b/system/compsize/compsize.info
@@ -1,8 +1,8 @@
PRGNAM="compsize"
-VERSION="1.2"
+VERSION="1.5"
HOMEPAGE="https://github.com/kilobyte/compsize"
-DOWNLOAD="https://github.com/kilobyte/compsize/archive/v1.2/compsize-1.2.tar.gz"
-MD5SUM="de6e7b8c9391dd8075fcedf62736d799"
+DOWNLOAD="https://github.com/kilobyte/compsize/archive/v1.5/compsize-1.5.tar.gz"
+MD5SUM="41ded6559cd7d1750e5cf967bf2eae08"
DOWNLOAD_x86_64=""
MD5SUM_x86_64=""
REQUIRES=""
diff --git a/system/conmon/slack-desc b/system/conmon/slack-desc
index e89fca90b6..0e310d52bf 100644
--- a/system/conmon/slack-desc
+++ b/system/conmon/slack-desc
@@ -16,3 +16,4 @@ conmon: Site: https://github.com/containers/conmon
conmon:
conmon:
conmon:
+conmon:
diff --git a/system/consolation/README b/system/consolation/README
new file mode 100644
index 0000000000..097e8b2ccf
--- /dev/null
+++ b/system/consolation/README
@@ -0,0 +1,4 @@
+Consolation is a daemon that provides copy-paste and scrolling
+support to the Linux console. It is based on the libinput library
+and supports all pointer devices and settings provided by this
+library. Similar software include gpm and jamd.
diff --git a/system/consolation/consolation.SlackBuild b/system/consolation/consolation.SlackBuild
new file mode 100644
index 0000000000..4ed2efbde9
--- /dev/null
+++ b/system/consolation/consolation.SlackBuild
@@ -0,0 +1,102 @@
+#!/bin/sh
+
+# Slackware build script for consolation
+
+# Copyright 2020 Robby Workman, Tuscaloosa, Alabama, 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.
+
+PRGNAM=consolation
+VERSION=${VERSION:-0.0.7}
+BUILD=${BUILD:-1}
+TAG=${TAG:-_SBo}
+
+if [ -z "$ARCH" ]; then
+ case "$( uname -m )" in
+ i?86) ARCH=i586 ;;
+ arm*) ARCH=arm ;;
+ *) ARCH=$( uname -m ) ;;
+ esac
+fi
+
+CWD=$(pwd)
+TMP=${TMP:-/tmp/SBo}
+PKG=$TMP/package-$PRGNAM
+OUTPUT=${OUTPUT:-/tmp}
+
+if [ "$ARCH" = "i586" ]; then
+ SLKCFLAGS="-O2 -march=i586 -mtune=i686"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "i686" ]; then
+ SLKCFLAGS="-O2 -march=i686 -mtune=i686"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "x86_64" ]; then
+ SLKCFLAGS="-O2 -fPIC"
+ LIBDIRSUFFIX="64"
+else
+ SLKCFLAGS="-O2"
+ LIBDIRSUFFIX=""
+fi
+
+set -e
+
+rm -rf $PKG
+mkdir -p $TMP $PKG $OUTPUT
+cd $TMP
+rm -rf $PRGNAM-$VERSION
+tar xvf $CWD/${PRGNAM}_${VERSION}.orig.tar.xz
+cd $PRGNAM-$VERSION
+chown -R root:root .
+find -L . \
+ \( -perm 777 -o -perm 775 -o -perm 750 -o -perm 711 -o -perm 555 \
+ -o -perm 511 \) -exec chmod 755 {} \; -o \
+ \( -perm 666 -o -perm 664 -o -perm 640 -o -perm 600 -o -perm 444 \
+ -o -perm 440 -o -perm 400 \) -exec chmod 644 {} \;
+
+CFLAGS="$SLKCFLAGS" \
+CXXFLAGS="$SLKCFLAGS" \
+./configure \
+ --prefix=/usr \
+ --libdir=/usr/lib${LIBDIRSUFFIX} \
+ --sysconfdir=/etc \
+ --localstatedir=/var \
+ --mandir=/usr/man \
+ --docdir=/usr/doc/$PRGNAM-$VERSION \
+ --build=$ARCH-slackware-linux
+
+make
+make install DESTDIR=$PKG
+
+find $PKG -print0 | xargs -0 file | grep -e "executable" -e "shared object" | grep ELF \
+ | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null || true
+
+find $PKG/usr/man -type f -exec gzip -9 {} \;
+for i in $( find $PKG/usr/man -type l ) ; do ln -s $( readlink $i ).gz $i.gz ; rm $i ; done
+
+mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION
+cp -a \
+ AUTHORS COPYING LICENSE README \
+ $PKG/usr/doc/$PRGNAM-$VERSION
+cat $CWD/$PRGNAM.SlackBuild > $PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM.SlackBuild
+
+mkdir -p $PKG/install
+cat $CWD/slack-desc > $PKG/install/slack-desc
+
+cd $PKG
+/sbin/makepkg -l y -c n $OUTPUT/$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.${PKGTYPE:-tgz}
diff --git a/system/consolation/consolation.info b/system/consolation/consolation.info
new file mode 100644
index 0000000000..dfa9635b08
--- /dev/null
+++ b/system/consolation/consolation.info
@@ -0,0 +1,10 @@
+PRGNAM="consolation"
+VERSION="0.0.7"
+HOMEPAGE="https://salsa.debian.org/consolation-team/consolation/"
+DOWNLOAD="http://deb.debian.org/debian/pool/main/c/consolation/consolation_0.0.7.orig.tar.xz"
+MD5SUM="5ac2520190ec74ec9170b7a3395b264f"
+DOWNLOAD_x86_64=""
+MD5SUM_x86_64=""
+REQUIRES="libinput"
+MAINTAINER="Robby Workman"
+EMAIL="rworkman@slackbuilds.org"
diff --git a/system/consolation/slack-desc b/system/consolation/slack-desc
new file mode 100644
index 0000000000..4ba13b62a8
--- /dev/null
+++ b/system/consolation/slack-desc
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description.
+# Line up the first '|' above the ':' following the base package name, and
+# the '|' on the right side marks the last column you can put a character in.
+# You must make exactly 11 lines for the formatting to be correct. It's also
+# customary to leave one space after the ':' except on otherwise blank lines.
+
+ |-----handy-ruler------------------------------------------------------|
+consolation: consolation (copy-paste for the Linux console)
+consolation:
+consolation: Consolation is a daemon to provide copy-paste and scrolling support
+consolation: to the Linux console. It is based on the libinput library and
+consolation: supports all pointer devices and settings provided by this library.
+consolation:
+consolation: Similar software include gpm and jamd.
+consolation:
+consolation: Homepage: https://salsa.debian.org/consolation-team/consolation/
+consolation:
+consolation:
diff --git a/system/conspy/README b/system/conspy/README
new file mode 100644
index 0000000000..6214505103
--- /dev/null
+++ b/system/conspy/README
@@ -0,0 +1,8 @@
+conspy (take control of a virtual console)
+
+Conspy allows the user to take control of a Linux virtual console.
+The user can see what is displayed on the console and their keystrokes
+are sent to it.
+
+Actually, conspy needs to be run as root, so "the user" above is a bit
+misleading...
diff --git a/system/conspy/conspy.SlackBuild b/system/conspy/conspy.SlackBuild
new file mode 100644
index 0000000000..ed1bb1afbc
--- /dev/null
+++ b/system/conspy/conspy.SlackBuild
@@ -0,0 +1,77 @@
+#!/bin/sh
+
+# Slackware build script for conspy
+
+# Written by B. Watson (yalhcru@gmail.com)
+
+# Licensed under the WTFPL. See http://www.wtfpl.net/txt/copying/ for details.
+
+PRGNAM=conspy
+VERSION=${VERSION:-1.16}
+BUILD=${BUILD:-1}
+TAG=${TAG:-_SBo}
+
+if [ -z "$ARCH" ]; then
+ case "$( uname -m )" in
+ i?86) ARCH=i586 ;;
+ arm*) ARCH=arm ;;
+ *) ARCH=$( uname -m ) ;;
+ esac
+fi
+
+CWD=$(pwd)
+TMP=${TMP:-/tmp/SBo}
+PKG=$TMP/package-$PRGNAM
+OUTPUT=${OUTPUT:-/tmp}
+
+if [ "$ARCH" = "i586" ]; then
+ SLKCFLAGS="-O2 -march=i586 -mtune=i686"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "i686" ]; then
+ SLKCFLAGS="-O2 -march=i686 -mtune=i686"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "x86_64" ]; then
+ SLKCFLAGS="-O2 -fPIC"
+ LIBDIRSUFFIX="64"
+else
+ SLKCFLAGS="-O2"
+ LIBDIRSUFFIX=""
+fi
+
+set -e
+
+rm -rf $PKG
+mkdir -p $TMP $PKG $OUTPUT
+cd $TMP
+rm -rf $PRGNAM-$VERSION
+tar xvf $CWD/$PRGNAM-$VERSION.tar.gz
+cd $PRGNAM-$VERSION
+chown -R root:root .
+find -L . -perm /111 -a \! -perm 755 -a -exec chmod 755 {} \+ -o \
+ \! -perm /111 -a \! -perm 644 -a -exec chmod 644 {} \+
+
+autoreconf -if
+CFLAGS="$SLKCFLAGS" \
+CXXFLAGS="$SLKCFLAGS" \
+./configure \
+ --prefix=/usr \
+ --libdir=/usr/lib${LIBDIRSUFFIX} \
+ --sysconfdir=/etc \
+ --localstatedir=/var \
+ --mandir=/usr/man \
+ --docdir=/usr/doc/$PRGNAM-$VERSION \
+ --build=$ARCH-slackware-linux
+
+make
+make install-strip DESTDIR=$PKG
+gzip -9 $PKG/usr/man/man1/$PRGNAM.1
+
+mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION
+cp -a *.txt *.html $PKG/usr/doc/$PRGNAM-$VERSION
+cat $CWD/$PRGNAM.SlackBuild > $PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM.SlackBuild
+
+mkdir -p $PKG/install
+cat $CWD/slack-desc > $PKG/install/slack-desc
+
+cd $PKG
+/sbin/makepkg -l y -c n $OUTPUT/$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.${PKGTYPE:-tgz}
diff --git a/system/conspy/conspy.info b/system/conspy/conspy.info
new file mode 100644
index 0000000000..139f0ecb86
--- /dev/null
+++ b/system/conspy/conspy.info
@@ -0,0 +1,10 @@
+PRGNAM="conspy"
+VERSION="1.16"
+HOMEPAGE="http://conspy.sourceforge.net/"
+DOWNLOAD="https://downloads.sourceforge.net/project/conspy/conspy-1.16-1/conspy-1.16.tar.gz"
+MD5SUM="c5ab86215e27a418f220d853b6ebf6d4"
+DOWNLOAD_x86_64=""
+MD5SUM_x86_64=""
+REQUIRES=""
+MAINTAINER="B. Watson"
+EMAIL="yalhcru@gmail.com"
diff --git a/system/conspy/slack-desc b/system/conspy/slack-desc
new file mode 100644
index 0000000000..551226aa69
--- /dev/null
+++ b/system/conspy/slack-desc
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description.
+# Line up the first '|' above the ':' following the base package name, and
+# the '|' on the right side marks the last column you can put a character in.
+# You must make exactly 11 lines for the formatting to be correct. It's also
+# customary to leave one space after the ':' except on otherwise blank lines.
+
+ |-----handy-ruler------------------------------------------------------|
+conspy: conspy (take control of a virtual console)
+conspy:
+conspy: Conspy allows the user to take control of a Linux virtual console.
+conspy: The user can see what is displayed on the console and their keystrokes
+conspy: are sent to it.
+conspy:
+conspy:
+conspy:
+conspy:
+conspy:
+conspy:
diff --git a/system/containerd/containerd.SlackBuild b/system/containerd/containerd.SlackBuild
index 4ae2a48b55..934a17ad35 100644
--- a/system/containerd/containerd.SlackBuild
+++ b/system/containerd/containerd.SlackBuild
@@ -3,7 +3,7 @@
# Slackware build script for containerd
# Copyright 2016 Asaf Ohayon <asaf@sysbind.co.il>
-# Copyright 2017-2019 Audrius Kažukauskas <audrius@neutrino.lt>
+# Copyright 2017-2021 Audrius Kažukauskas <audrius@neutrino.lt>
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
@@ -24,8 +24,8 @@
# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
PRGNAM=containerd
-VERSION=${VERSION:-1.2.4}
-GITHASH=${GITHASH:-e6b3f5632f50dbc4e9cb6288d911bf4f5e95b18e}
+VERSION=${VERSION:-1.4.3}
+GITHASH=${GITHASH:-269548fa27e0089a8b8278fc4fc781d7f65a939b}
BUILD=${BUILD:-1}
TAG=${TAG:-_SBo}
@@ -71,13 +71,7 @@ make \
BUILDTAGS="seccomp" \
GIT_COMMIT=$GITHASH \
GOPATH=$TMP/$PRGNAM-$VERSION/build
-
-# Install executables.
-install -D -m 0755 bin/containerd $PKG/usr/bin/containerd
-install -D -m 0755 bin/containerd-shim $PKG/usr/bin/containerd-shim
-install -D -m 0755 bin/containerd-shim-runc-v1 $PKG/usr/bin/containerd-shim-runc-v1
-install -D -m 0755 bin/containerd-stress $PKG/usr/bin/containerd-stress
-install -D -m 0755 bin/ctr $PKG/usr/bin/ctr
+make install DESTDIR=$PKG/usr
mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION
cp -a README.md LICENSE NOTICE $PKG/usr/doc/$PRGNAM-$VERSION
diff --git a/system/containerd/containerd.info b/system/containerd/containerd.info
index f715ffc485..4d93b7af95 100644
--- a/system/containerd/containerd.info
+++ b/system/containerd/containerd.info
@@ -1,10 +1,10 @@
PRGNAM="containerd"
-VERSION="1.2.4"
+VERSION="1.4.3"
HOMEPAGE="https://containerd.io/"
DOWNLOAD="UNSUPPORTED"
MD5SUM=""
-DOWNLOAD_x86_64="https://github.com/containerd/containerd/archive/v1.2.4/containerd-1.2.4.tar.gz"
-MD5SUM_x86_64="cd57e0c63d0b81d51cdc7f20101bfcfb"
+DOWNLOAD_x86_64="https://github.com/containerd/containerd/archive/v1.4.3/containerd-1.4.3.tar.gz"
+MD5SUM_x86_64="8b0201fa609d511ad01fd52d5b544fe7"
REQUIRES="runc"
MAINTAINER="Audrius Kažukauskas"
EMAIL="audrius@neutrino.lt"
diff --git a/system/coolkey/coolkey.info b/system/coolkey/coolkey.info
index 61dc6c0cf4..a8730df6bf 100644
--- a/system/coolkey/coolkey.info
+++ b/system/coolkey/coolkey.info
@@ -6,5 +6,5 @@ MD5SUM="815a1811a46bf9b8782107c073149cbe"
DOWNLOAD_x86_64=""
MD5SUM_x86_64=""
REQUIRES="pcsc-lite"
-MAINTAINER="Andy Bailey"
-EMAIL="GooseYArd@gmail.com"
+MAINTAINER="Michael Edie"
+EMAIL="michael@sawbox.net"
diff --git a/system/corosync/corosync.SlackBuild b/system/corosync/corosync.SlackBuild
index 7295b62883..bd5d435b25 100644
--- a/system/corosync/corosync.SlackBuild
+++ b/system/corosync/corosync.SlackBuild
@@ -2,7 +2,8 @@
# Slackware build script for corosync
-# Copyright 2018 Pierre-Philipp Braun, Russia
+# Copyright 2018 Pierre-Philipp Braun, Russia
+# Copyright 2020 Mario Preksavec, Zagreb, Croatia
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
@@ -23,7 +24,7 @@
# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
PRGNAM=corosync
-VERSION=${VERSION:-2.4.4}
+VERSION=${VERSION:-2.4.5}
BUILD=${BUILD:-1}
TAG=${TAG:-_SBo}
diff --git a/system/corosync/corosync.info b/system/corosync/corosync.info
index 84ec3fa09e..99fea50ff9 100644
--- a/system/corosync/corosync.info
+++ b/system/corosync/corosync.info
@@ -1,10 +1,10 @@
PRGNAM="corosync"
-VERSION="2.4.4"
+VERSION="2.4.5"
HOMEPAGE="http://corosync.github.io/corosync/"
-DOWNLOAD="http://build.clusterlabs.org/corosync/releases/corosync-2.4.4.tar.gz"
-MD5SUM="69db29ff4bc035936946be44fc8be5cd"
+DOWNLOAD="http://build.clusterlabs.org/corosync/releases/corosync-2.4.5.tar.gz"
+MD5SUM="e36a056b893c313c4ec1fe0d7e6cdebd"
DOWNLOAD_x86_64=""
MD5SUM_x86_64=""
REQUIRES="libqb"
-MAINTAINER="Pierre-Philipp Braun"
-EMAIL="pbraun@nethence.com"
+MAINTAINER="Mario Preksavec"
+EMAIL="mario at slackware dot hr"
diff --git a/system/cpmtools/README b/system/cpmtools/README
index b431569eb3..114bf0853b 100644
--- a/system/cpmtools/README
+++ b/system/cpmtools/README
@@ -1,4 +1,4 @@
cpmtools (access CP/M filesystem images or floppies)
cpmtools accesses CP/M file systems. It's similar to the well-known
-mtools package (which accesses MSDOS file systems).
+mtools package (which accesses MS-DOS file systems).
diff --git a/system/cpmtools/cpmtools.SlackBuild b/system/cpmtools/cpmtools.SlackBuild
index 81265004e5..0a34b57dd3 100644
--- a/system/cpmtools/cpmtools.SlackBuild
+++ b/system/cpmtools/cpmtools.SlackBuild
@@ -6,8 +6,13 @@
# Licensed under the WTFPL. See http://www.wtfpl.net/txt/copying/ for details.
+# 20201102 bkw:
+# - Updated for v2.21. Can't build older versions, sorry.
+# - Switch to freebsd distfile source, as upstream vanishes the old
+# source immediately upon a new release.
+
PRGNAM=cpmtools
-VERSION=${VERSION:-2.20}
+VERSION=${VERSION:-2.21}
BUILD=${BUILD:-1}
TAG=${TAG:-_SBo}
@@ -47,11 +52,8 @@ rm -rf $PRGNAM-$VERSION
tar xvf $CWD/$PRGNAM-$VERSION.tar.gz
cd $PRGNAM-$VERSION
chown -R root:root .
-find -L . \
- \( -perm 777 -o -perm 775 -o -perm 750 -o -perm 711 -o -perm 555 \
- -o -perm 511 \) -exec chmod 755 {} \; -o \
- \( -perm 666 -o -perm 664 -o -perm 640 -o -perm 600 -o -perm 444 \
- -o -perm 440 -o -perm 400 \) -exec chmod 644 {} \;
+find -L . -perm /111 -a \! -perm 755 -a -exec chmod 755 {} \+ -o \
+ \! -perm /111 -a \! -perm 644 -a -exec chmod 644 {} \+
CFLAGS="$SLKCFLAGS" \
CXXFLAGS="$SLKCFLAGS" \
@@ -64,19 +66,11 @@ CXXFLAGS="$SLKCFLAGS" \
--docdir=/usr/doc/$PRGNAM-$VERSION \
--build=$ARCH-slackware-linux
-make
-# make install fails to create these. Grr.
-mkdir -p $PKG/usr/bin $PKG/usr/man/man1 $PKG/usr/man/man5 $PKG/usr/share
-
-# really old configure script, no DESTDIR support. "autoreconf -fi" fails
-# to build a new configure script, too.
-make install prefix=$PKG/usr exec_prefix=$PKG/usr MANDIR=$PKG/usr/man
-
-find $PKG -print0 | xargs -0 file | grep -e "executable" -e "shared object" | grep ELF \
- | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null || true
+# 'make install' fails to create this:
+mkdir -p $PKG/usr/share/diskdefs
-find $PKG/usr/man -type f -exec gzip -9 {} \;
-for i in $( find $PKG/usr/man -type l ) ; do ln -s $( readlink $i ).gz $i.gz ; rm $i ; done
+make install DESTDIR=$PKG # binaries already stripped, yay!
+gzip $PKG/usr/man/man?/*.?
mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION
cp -a README NEWS COPYING $PKG/usr/doc/$PRGNAM-$VERSION
diff --git a/system/cpmtools/cpmtools.info b/system/cpmtools/cpmtools.info
index 57187fab70..8777c5480b 100644
--- a/system/cpmtools/cpmtools.info
+++ b/system/cpmtools/cpmtools.info
@@ -1,8 +1,8 @@
PRGNAM="cpmtools"
-VERSION="2.20"
+VERSION="2.21"
HOMEPAGE="http://www.moria.de/~michael/cpmtools/"
-DOWNLOAD="http://www.moria.de/~michael/cpmtools/files/cpmtools-2.20.tar.gz"
-MD5SUM="675dd715c93469330833c8b67abadcda"
+DOWNLOAD="http://distcache.freebsd.org/ports-distfiles/cpmtools-2.21.tar.gz"
+MD5SUM="b250cbcc09a0ca6fbdf850653f5f3e1f"
DOWNLOAD_x86_64=""
MD5SUM_x86_64=""
REQUIRES=""
diff --git a/system/cpuid2cpuflags/cpuid2cpuflags.SlackBuild b/system/cpuid2cpuflags/cpuid2cpuflags.SlackBuild
index bab761ce93..68f01eac11 100644
--- a/system/cpuid2cpuflags/cpuid2cpuflags.SlackBuild
+++ b/system/cpuid2cpuflags/cpuid2cpuflags.SlackBuild
@@ -2,7 +2,7 @@
#
# Slackware build script for cpuid2cpuflags.
#
-# Copyright 2017-2019 Edinaldo P. Silva, Rio de Janeiro, Brazil.
+# Copyright 2017-2020 Edinaldo P. Silva, Rio de Janeiro, Brazil.
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
@@ -23,7 +23,7 @@
# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
PRGNAM=cpuid2cpuflags
-VERSION=${VERSION:-8.0}
+VERSION=${VERSION:-11.0}
BUILD=${BUILD:-1}
TAG=${TAG:-_SBo}
@@ -56,7 +56,7 @@ fi
set -e
-SRCVER="8"
+SRCVER="11"
rm -rf $PKG
mkdir -p $TMP $PKG $OUTPUT
diff --git a/system/cpuid2cpuflags/cpuid2cpuflags.info b/system/cpuid2cpuflags/cpuid2cpuflags.info
index d156a35b47..0e9efd6ba2 100644
--- a/system/cpuid2cpuflags/cpuid2cpuflags.info
+++ b/system/cpuid2cpuflags/cpuid2cpuflags.info
@@ -1,8 +1,8 @@
PRGNAM="cpuid2cpuflags"
-VERSION="8.0"
+VERSION="11.0"
HOMEPAGE="https://github.com/mgorny/cpuid2cpuflags"
-DOWNLOAD="https://github.com/mgorny/cpuid2cpuflags/releases/download/v8/cpuid2cpuflags-8.tar.bz2"
-MD5SUM="ec89818b94f3c38d3ad4edddd1bc8531"
+DOWNLOAD="https://github.com/mgorny/cpuid2cpuflags/releases/download/v11/cpuid2cpuflags-11.tar.bz2"
+MD5SUM="c54deede1aee5d41decd5fd5969ff2d5"
DOWNLOAD_x86_64=""
MD5SUM_x86_64=""
REQUIRES=""
diff --git a/system/crc32_simple/README b/system/crc32_simple/README
new file mode 100644
index 0000000000..fa12639621
--- /dev/null
+++ b/system/crc32_simple/README
@@ -0,0 +1,6 @@
+crc32_simple (calculate crc32 checksum of files)
+
+Simple public domain implementation of the standard CRC32 checksum.
+Outputs the checksum for each file given as a command line argument.
+Invalid file names and files that cause errors are silently skipped.
+The program reads from stdin if it is called with no arguments.
diff --git a/system/crc32_simple/crc32_simple.1 b/system/crc32_simple/crc32_simple.1
new file mode 100644
index 0000000000..d5d119a2f6
--- /dev/null
+++ b/system/crc32_simple/crc32_simple.1
@@ -0,0 +1,61 @@
+.\" Man page generated from reStructuredText.
+.
+.TH CRC32_SIMPLE 1 "2020-05-05" "20120911" "SlackBuilds.org"
+.SH NAME
+crc32_simple \- calculate standard crc32 checksum
+.
+.nr rst2man-indent-level 0
+.
+.de1 rstReportMargin
+\\$1 \\n[an-margin]
+level \\n[rst2man-indent-level]
+level margin: \\n[rst2man-indent\\n[rst2man-indent-level]]
+-
+\\n[rst2man-indent0]
+\\n[rst2man-indent1]
+\\n[rst2man-indent2]
+..
+.de1 INDENT
+.\" .rstReportMargin pre:
+. RS \\$1
+. nr rst2man-indent\\n[rst2man-indent-level] \\n[an-margin]
+. nr rst2man-indent-level +1
+.\" .rstReportMargin post:
+..
+.de UNINDENT
+. RE
+.\" indent \\n[an-margin]
+.\" old: \\n[rst2man-indent\\n[rst2man-indent-level]]
+.nr rst2man-indent-level -1
+.\" new: \\n[rst2man-indent\\n[rst2man-indent-level]]
+.in \\n[rst2man-indent\\n[rst2man-indent-level]]u
+..
+.\" RST source for crc32_simple(1) man page. Convert with:
+.
+.\" rst2man.py crc32_simple.rst > crc32_simple.1
+.
+.\" rst2man.py comes from the SBo development/docutils package.
+.
+.\" converting from pod:
+.
+.\" s/B<\([^>]*\)>/**\1**/g
+.
+.\" s/I<\([^>]*\)>/*\1*/g
+.
+.SH SYNOPSIS
+.sp
+crc32_simple [filenames]
+.SH DESCRIPTION
+.sp
+Simple public domain implementation of the standard CRC32 checksum.
+Outputs the checksum for each file given as a command line argument.
+Invalid file names and files that cause errors are silently skipped.
+The program reads from stdin if it is called with no arguments.
+.SH AUTHORS
+.sp
+crc32_simple was written by Björn Samuelsson.
+.sp
+This man page written for the SlackBuilds.org project
+by B. Watson, and is licensed under the WTFPL.
+.\" Generated by docutils manpage writer.
+.
diff --git a/system/crc32_simple/crc32_simple.SlackBuild b/system/crc32_simple/crc32_simple.SlackBuild
new file mode 100644
index 0000000000..759078b08d
--- /dev/null
+++ b/system/crc32_simple/crc32_simple.SlackBuild
@@ -0,0 +1,67 @@
+#!/bin/sh
+
+# Slackware build script for crc32_simple
+
+# Written by B. Watson (yalhcru@gmail.com)
+
+# Licensed under the WTFPL. See http://www.wtfpl.net/txt/copying/ for details.
+
+# Why doesn't Slackware already have some tool that can do crc32?
+# There are TCL and PHP modules, the kernel includes its own crc32 algo,
+# but nothing you can run directly from the command line.
+
+# VERSION is from the timestamp on the source file.
+
+PRGNAM=crc32_simple
+VERSION=${VERSION:-20120911}
+BUILD=${BUILD:-1}
+TAG=${TAG:-_SBo}
+
+if [ -z "$ARCH" ]; then
+ case "$( uname -m )" in
+ i?86) ARCH=i586 ;;
+ arm*) ARCH=arm ;;
+ *) ARCH=$( uname -m ) ;;
+ esac
+fi
+
+CWD=$(pwd)
+TMP=${TMP:-/tmp/SBo}
+PKG=$TMP/package-$PRGNAM
+OUTPUT=${OUTPUT:-/tmp}
+
+if [ "$ARCH" = "i586" ]; then
+ SLKCFLAGS="-O2 -march=i586 -mtune=i686"
+elif [ "$ARCH" = "i686" ]; then
+ SLKCFLAGS="-O2 -march=i686 -mtune=i686"
+elif [ "$ARCH" = "x86_64" ]; then
+ SLKCFLAGS="-O2 -fPIC"
+else
+ SLKCFLAGS="-O2"
+fi
+
+set -e
+
+rm -rf $PKG
+mkdir -p $TMP $PKG $OUTPUT
+cd $TMP
+
+# Look ma, no source directory!
+mkdir -p $PKG/usr/bin
+gcc -Wall $SLKCFLAGS -Wl,-s -o $PKG/usr/bin/$PRGNAM $CWD/$PRGNAM.c
+ln -s $PRGNAM $PKG/usr/bin/crc32
+
+# It's probably overkill, but I wrote a man page for this...
+mkdir -p $PKG/usr/man/man1
+gzip -9c < $CWD/$PRGNAM.1 > $PKG/usr/man/man1/$PRGNAM.1.gz
+ln -s $PRGNAM.1.gz $PKG/usr/man/man1/crc32.1.gz
+
+mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION
+cat $CWD/README > $PKG/usr/doc/$PRGNAM-$VERSION/README
+cat $CWD/$PRGNAM.SlackBuild > $PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM.SlackBuild
+
+mkdir -p $PKG/install
+cat $CWD/slack-desc > $PKG/install/slack-desc
+
+cd $PKG
+/sbin/makepkg -l y -c n $OUTPUT/$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.${PKGTYPE:-tgz}
diff --git a/system/crc32_simple/crc32_simple.info b/system/crc32_simple/crc32_simple.info
new file mode 100644
index 0000000000..ee890f6530
--- /dev/null
+++ b/system/crc32_simple/crc32_simple.info
@@ -0,0 +1,10 @@
+PRGNAM="crc32_simple"
+VERSION="20120911"
+HOMEPAGE="http://home.thep.lu.se/~bjorn/crc/"
+DOWNLOAD="http://home.thep.lu.se/~bjorn/crc/crc32_simple.c"
+MD5SUM="da200e9ec1cb4f9e72ed6bd87cb43017"
+DOWNLOAD_x86_64=""
+MD5SUM_x86_64=""
+REQUIRES=""
+MAINTAINER="B. Watson"
+EMAIL="yalhcru@gmail.com"
diff --git a/system/crc32_simple/crc32_simple.rst b/system/crc32_simple/crc32_simple.rst
new file mode 100644
index 0000000000..d8842c4e29
--- /dev/null
+++ b/system/crc32_simple/crc32_simple.rst
@@ -0,0 +1,44 @@
+.. RST source for crc32_simple(1) man page. Convert with:
+.. rst2man.py crc32_simple.rst > crc32_simple.1
+.. rst2man.py comes from the SBo development/docutils package.
+
+.. |version| replace:: 20120911
+.. |date| date::
+
+.. converting from pod:
+.. s/B<\([^>]*\)>/**\1**/g
+.. s/I<\([^>]*\)>/*\1*/g
+
+============
+crc32_simple
+============
+
+---------------------------------
+calculate standard crc32 checksum
+---------------------------------
+
+:Manual section: 1
+:Manual group: SlackBuilds.org
+:Date: |date|
+:Version: |version|
+
+SYNOPSIS
+========
+
+crc32_simple [filenames]
+
+DESCRIPTION
+===========
+
+Simple public domain implementation of the standard CRC32 checksum.
+Outputs the checksum for each file given as a command line argument.
+Invalid file names and files that cause errors are silently skipped.
+The program reads from stdin if it is called with no arguments.
+
+AUTHORS
+=======
+
+crc32_simple was written by Björn Samuelsson.
+
+This man page written for the SlackBuilds.org project
+by B. Watson, and is licensed under the WTFPL.
diff --git a/system/crc32_simple/slack-desc b/system/crc32_simple/slack-desc
new file mode 100644
index 0000000000..c642cbd537
--- /dev/null
+++ b/system/crc32_simple/slack-desc
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description.
+# Line up the first '|' above the ':' following the base package name, and
+# the '|' on the right side marks the last column you can put a character in.
+# You must make exactly 11 lines for the formatting to be correct. It's also
+# customary to leave one space after the ':' except on otherwise blank lines.
+
+ |-----handy-ruler------------------------------------------------------|
+crc32_simple: crc32_simple (calculate crc32 checksum of files)
+crc32_simple:
+crc32_simple: Simple public domain implementation of the standard CRC32 checksum.
+crc32_simple: Outputs the checksum for each file given as a command line argument.
+crc32_simple: Invalid file names and files that cause errors are silently skipped.
+crc32_simple: The program reads from stdin if it is called with no arguments.
+crc32_simple:
+crc32_simple:
+crc32_simple:
+crc32_simple:
+crc32_simple:
diff --git a/system/createrepo_c/README b/system/createrepo_c/README
new file mode 100644
index 0000000000..c69040a2d0
--- /dev/null
+++ b/system/createrepo_c/README
@@ -0,0 +1,16 @@
+RPM metadata generator.
+
+Since we have very basic support of rpm in Slackware
+base, why not ship this utilities too?
+
+This is C implementation of createrepo.
+
+With this utility you can run repository of your own RPM
+package set.
+
+Please note that deltarpm in this package is off as it very
+rare cases where it used in practice because of difficulties
+in support this case on repo side.
+
+0.15.5 is the last version that can be built with python2
+support only. All further version require python3.
diff --git a/system/createrepo_c/createrepo_c.SlackBuild b/system/createrepo_c/createrepo_c.SlackBuild
new file mode 100644
index 0000000000..7595a494cd
--- /dev/null
+++ b/system/createrepo_c/createrepo_c.SlackBuild
@@ -0,0 +1,104 @@
+#!/bin/sh
+
+# Slackware build script for createrepo_c
+
+# Copyright 2019 Sergei Fedosoff <eleksir@gmail.com>
+# 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.
+
+PRGNAM=createrepo_c
+VERSION=${VERSION:-0.15.5}
+BUILD=${BUILD:-1}
+TAG=${TAG:-_SBo}
+
+if [ -z "$ARCH" ]; then
+ case "$( uname -m )" in
+ i?86) ARCH=i586 ;;
+ arm*) ARCH=arm ;;
+ *) ARCH=$( uname -m ) ;;
+ esac
+fi
+
+CWD=$(pwd)
+TMP=${TMP:-/tmp/SBo}
+PKG=$TMP/package-$PRGNAM
+OUTPUT=${OUTPUT:-/tmp}
+
+if [ "$ARCH" = "i586" ]; then
+ SLKCFLAGS="-O2 -march=i586 -mtune=i686"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "i686" ]; then
+ SLKCFLAGS="-O2 -march=i686 -mtune=i686"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "x86_64" ]; then
+ SLKCFLAGS="-O2 -fPIC"
+ LIBDIRSUFFIX="64"
+else
+ SLKCFLAGS="-O2"
+ LIBDIRSUFFIX=""
+fi
+
+set -e
+
+rm -rf $PKG
+mkdir -p $TMP $PKG $OUTPUT
+cd $TMP
+rm -rf $PRGNAM-$VERSION
+tar xvf $CWD/$PRGNAM-$VERSION.tar.gz
+cd $PRGNAM-$VERSION
+chown -R root:root .
+find -L . \
+ \( -perm 777 -o -perm 775 -o -perm 750 -o -perm 711 -o -perm 555 \
+ -o -perm 511 \) -exec chmod 755 {} \; -o \
+ \( -perm 666 -o -perm 664 -o -perm 640 -o -perm 600 -o -perm 444 \
+ -o -perm 440 -o -perm 400 \) -exec chmod 644 {} \;
+
+mkdir build
+cd build
+cmake .. \
+ -DPYTHON_DESIRED:FILEPATH=/usr/bin/python \
+ -DWITH_ZCHUNK=OFF \
+ -DWITH_LIBMODULEMD=OFF \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DCMAKE_C_FLAGS="$SLKCFLAGS" \
+ -DCMAKE_INSTALL_PREFIX=/usr \
+ -DENABLE_THREADED_XZ_ENCODER=on \
+ -DENABLE_DRPM=off
+
+make
+make install DESTDIR=$PKG
+cd ..
+
+find $PKG -print0 | xargs -0 file | grep -e "executable" -e "shared object" | grep ELF \
+ | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null || true
+
+mv $PKG/usr/share/man/ $PKG/usr/
+
+find $PKG/usr/man -type f -exec gzip -9 {} \;
+for i in $( find $PKG/usr/man -type l ) ; do ln -s $( readlink $i ).gz $i.gz ; rm $i ; done
+
+mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION
+cp -a AUTHORS README.md COPYING $PKG/usr/doc/$PRGNAM-$VERSION
+cat $CWD/$PRGNAM.SlackBuild > $PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM.SlackBuild
+
+mkdir -p $PKG/install
+cat $CWD/slack-desc > $PKG/install/slack-desc
+
+cd $PKG
+/sbin/makepkg -l y -c n $OUTPUT/$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.${PKGTYPE:-tgz}
diff --git a/system/createrepo_c/createrepo_c.info b/system/createrepo_c/createrepo_c.info
new file mode 100644
index 0000000000..450dcf3db9
--- /dev/null
+++ b/system/createrepo_c/createrepo_c.info
@@ -0,0 +1,10 @@
+PRGNAM="createrepo_c"
+VERSION="0.15.5"
+HOMEPAGE="https://github.com/rpm-software-management/createrepo_c"
+DOWNLOAD="https://github.com/rpm-software-management/createrepo_c/archive/0.15.5/createrepo_c-0.15.5.tar.gz"
+MD5SUM="207603d4c3594bf8f316ab3557fa0cce"
+DOWNLOAD_x86_64=""
+MD5SUM_x86_64=""
+REQUIRES=""
+MAINTAINER="Sergei Fedosoff"
+EMAIL="eleksir@gmail.com"
diff --git a/system/createrepo_c/slack-desc b/system/createrepo_c/slack-desc
new file mode 100644
index 0000000000..7621984882
--- /dev/null
+++ b/system/createrepo_c/slack-desc
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description.
+# Line up the first '|' above the ':' following the base package name, and
+# the '|' on the right side marks the last column you can put a character in.
+# You must make exactly 11 lines for the formatting to be correct. It's also
+# customary to leave one space after the ':' except on otherwise blank lines.
+
+ |-----handy-ruler------------------------------------------------------|
+createrepo_c: createrepo_c (rpm repository metadata generator)
+createrepo_c:
+createrepo_c: C implementation of Createrepo.
+createrepo_c: A set of utilities (createrepo_c, mergerepo_c, modifyrepo_c)
+createrepo_c: for generating a common metadata repository from a directory of
+createrepo_c: rpm packages and maintaining it.
+createrepo_c:
+createrepo_c:
+createrepo_c: Project URL: https://github.com/rpm-software-management/createrepo_c
+createrepo_c:
+createrepo_c:
diff --git a/system/daa2iso/daa2iso.SlackBuild b/system/daa2iso/daa2iso.SlackBuild
index 1d76c9938c..036aa72869 100644
--- a/system/daa2iso/daa2iso.SlackBuild
+++ b/system/daa2iso/daa2iso.SlackBuild
@@ -2,7 +2,7 @@
# Slackware build script for daa2iso
-# Copyright 2009 David Woodfall <dave@dawoodfall.net>
+# Copyright 2009 David Woodfall <dave@slackbuilds.org>
# All rights reserved.
#
# aka dive in #slackware on freenode.net
diff --git a/system/daa2iso/daa2iso.info b/system/daa2iso/daa2iso.info
index 8f2e76c4e9..9a68ed33a8 100644
--- a/system/daa2iso/daa2iso.info
+++ b/system/daa2iso/daa2iso.info
@@ -7,4 +7,4 @@ DOWNLOAD_x86_64=""
MD5SUM_x86_64=""
REQUIRES=""
MAINTAINER="David Woodfall"
-EMAIL="dave@dawoodfall.net"
+EMAIL="dave@slackbuilds.org"
diff --git a/system/daemontools-bin/slack-desc b/system/daemontools-bin/slack-desc
index b8b9a10d0a..5dd6fb1e00 100644
--- a/system/daemontools-bin/slack-desc
+++ b/system/daemontools-bin/slack-desc
@@ -6,7 +6,7 @@
# customary to leave one space after the ':' except on otherwise blank lines.
|-----handy-ruler------------------------------------------------------|
-daemontools-bin: daemontools (djb's tools for managing UNIX services)
+daemontools-bin: daemontools-bin (djb's tools for managing UNIX services)
daemontools-bin:
daemontools-bin: daemontools includes several programs. supervise monitors a service.
daemontools-bin: It starts the service and restarts the service if it dies. Setting up
@@ -14,6 +14,6 @@ daemontools-bin: a new service is easy: all supervise needs is a directory with
daemontools-bin: script that runs the service.
daemontools-bin:
daemontools-bin: Also included are multilog (for service logging), svcscan,
-daemontools-bin: svscanboot, readproctitle and many others.
+daemontools-bin: svscanboot, readproctitle, and many others.
daemontools-bin:
daemontools-bin: Homepage: https://cr.yp.to/daemontools.html
diff --git a/system/dash/dash.SlackBuild b/system/dash/dash.SlackBuild
index dfb7bdf565..e0d4ada3e3 100644
--- a/system/dash/dash.SlackBuild
+++ b/system/dash/dash.SlackBuild
@@ -3,10 +3,10 @@
# Slackware build script for dash
# Written by Vincent Batts, http://hashbangbash.com/
-# Copyright 2017-2018 Donald Cooley South Haven, Indiana USA
+# Copyright 2017-2020 Donald Cooley South Haven, Indiana USA
PRGNAM=dash
-VERSION=${VERSION:-0.5.10.2}
+VERSION=${VERSION:-0.5.11.2}
BUILD=${BUILD:-1}
TAG=${TAG:-_SBo}
diff --git a/system/dash/dash.info b/system/dash/dash.info
index 93724d2bb5..8404d7fbad 100644
--- a/system/dash/dash.info
+++ b/system/dash/dash.info
@@ -1,8 +1,8 @@
PRGNAM="dash"
-VERSION="0.5.10.2"
+VERSION="0.5.11.2"
HOMEPAGE="http://gondor.apana.org.au/~herbert/dash/"
-DOWNLOAD="http://gondor.apana.org.au/~herbert/dash/files/dash-0.5.10.2.tar.gz"
-MD5SUM="8f485f126c05d0ab800e85abfe1987aa"
+DOWNLOAD="http://gondor.apana.org.au/~herbert/dash/files/dash-0.5.11.2.tar.gz"
+MD5SUM="b9b71c72e40fdc4db9b4ffb81fc3bebc"
DOWNLOAD_x86_64=""
MD5SUM_x86_64=""
REQUIRES="libedit"
diff --git a/system/dateutils/dateutils.SlackBuild b/system/dateutils/dateutils.SlackBuild
index 999d9d9a8b..9a8919aa22 100644
--- a/system/dateutils/dateutils.SlackBuild
+++ b/system/dateutils/dateutils.SlackBuild
@@ -22,8 +22,10 @@
# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+# Update by: blizzack <slackbuilds@blizzack.com>
+
PRGNAM=dateutils
-VERSION=${VERSION:-0.4.2}
+VERSION=${VERSION:-0.4.7}
BUILD=${BUILD:-1}
TAG=${TAG:-_SBo}
diff --git a/system/dateutils/dateutils.info b/system/dateutils/dateutils.info
index 3819b6a2e3..a7901ac93e 100644
--- a/system/dateutils/dateutils.info
+++ b/system/dateutils/dateutils.info
@@ -1,10 +1,10 @@
PRGNAM="dateutils"
-VERSION="0.4.2"
+VERSION="0.4.7"
HOMEPAGE="http://www.fresse.org/dateutils/"
-DOWNLOAD="https://bitbucket.org/hroptatyr/dateutils/downloads/dateutils-0.4.2.tar.xz"
-MD5SUM="6ef4d3e6697588ef370e2174639535df"
+DOWNLOAD="https://bitbucket.org/hroptatyr/dateutils/downloads/dateutils-0.4.7.tar.xz"
+MD5SUM="41b11e705802768356abc4e1e9920055"
DOWNLOAD_x86_64=""
MD5SUM_x86_64=""
REQUIRES=""
-MAINTAINER="Audrius Kažukauskas"
-EMAIL="audrius@neutrino.lt"
+MAINTAINER="blizzack"
+EMAIL="slackbuilds@blizzack.com"
diff --git a/system/davfs2/davfs2.SlackBuild b/system/davfs2/davfs2.SlackBuild
index e5df20b2b4..b49822ae5a 100644
--- a/system/davfs2/davfs2.SlackBuild
+++ b/system/davfs2/davfs2.SlackBuild
@@ -5,7 +5,7 @@
# Copyright (c) 2008, Justin H Haynes <justin@justinhaynes.com>
# Copyright (c) 2012 Chris Abela, Malta
# Copyright 2014 Ryan P.C. McQuen, WA, ryanpcmcquen@member.fsf.org
-# Copyright 2014, 2016 Chris Abela, Malta
+# Copyright 2014, 2016, 2020 Chris Abela, Malta
#
# Permission to use, copy, modify, and/or distribute this software for any
# purpose with or without fee is hereby granted, provided that the above
@@ -22,7 +22,7 @@
# Modified by Robby Workman <rworkman@slackbuilds.org>
PRGNAM=davfs2
-VERSION=${VERSION:-1.5.4}
+VERSION=${VERSION:-1.5.6}
BUILD=${BUILD:-1}
TAG=${TAG:-_SBo}
diff --git a/system/davfs2/davfs2.info b/system/davfs2/davfs2.info
index 9cdfc478f0..7a0a62c2d0 100644
--- a/system/davfs2/davfs2.info
+++ b/system/davfs2/davfs2.info
@@ -1,8 +1,8 @@
PRGNAM="davfs2"
-VERSION="1.5.4"
+VERSION="1.5.6"
HOMEPAGE="http://savannah.nongnu.org/projects/davfs2"
-DOWNLOAD="http://ftp.cc.uoc.gr/mirrors/nongnu.org/davfs2/davfs2-1.5.4.tar.gz"
-MD5SUM="c9f0b557275b7ec88fec751bf22f30cf"
+DOWNLOAD="http://ftp.cc.uoc.gr/mirrors/nongnu.org/davfs2/davfs2-1.5.6.tar.gz"
+MD5SUM="eb9948097dc08664cbc19ad06eeacd97"
DOWNLOAD_x86_64=""
MD5SUM_x86_64=""
REQUIRES=""
diff --git a/system/ddrescue-gui/ddrescue-gui.SlackBuild b/system/ddrescue-gui/ddrescue-gui.SlackBuild
index bb34d4e374..f94df137a7 100644
--- a/system/ddrescue-gui/ddrescue-gui.SlackBuild
+++ b/system/ddrescue-gui/ddrescue-gui.SlackBuild
@@ -2,7 +2,7 @@
#
# Slackware build script for ddrescue-gui.
#
-# Copyright 2015-2019 Edinaldo P. Silva, Rio de Janeiro, Brazil.
+# Copyright 2015-2020 Edinaldo P. Silva, Rio de Janeiro, Brazil.
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
diff --git a/system/ddrescue-gui/ddrescue-gui.info b/system/ddrescue-gui/ddrescue-gui.info
index e6a68fdb77..0991194016 100644
--- a/system/ddrescue-gui/ddrescue-gui.info
+++ b/system/ddrescue-gui/ddrescue-gui.info
@@ -6,5 +6,5 @@ MD5SUM="963eb832ff9861af5f09e20029bf0cd2"
DOWNLOAD_x86_64=""
MD5SUM_x86_64=""
REQUIRES="wxPython4 python-requests getdevinfo"
-MAINTAINER="Edinaldo P. Silva"
-EMAIL="edps.mundognu@gmail.com"
+MAINTAINER="orphaned - no maintainer"
+EMAIL="nobody@nowhere"
diff --git a/system/ded/ded.SlackBuild b/system/ded/ded.SlackBuild
index 63085486f3..ca200877e3 100644
--- a/system/ded/ded.SlackBuild
+++ b/system/ded/ded.SlackBuild
@@ -10,8 +10,11 @@
# This build script was written from scratch for 14.1, without referring
# to the old script.
-# 20180915 bkw:
-# - updated for 20180324 release
+# 20210220 bkw: updated for 20210110. get rid of configure patch, found
+# a better way to disable the long filename test.
+# 20200111 bkw: updated for 20200428 release
+# 20200111 bkw: updated for 20191226 release
+# 20180915 bkw: updated for 20180324 release
# 20170819 bkw:
# - ftp server's been down >1 week, use http archives for DOWNLOAD
@@ -19,15 +22,13 @@
# 20170305 bkw:
# - stop gnulib's long filename test from writing to /usr/lib and /var/lib
-# 20150909 bkw:
-# - updated for 20150704 release
-
+# 20150909 bkw: updated for 20150704 release
# 20140826 bkw:
# - updated for 20140722 release
# - added td_lib docs in /usr/doc
PRGNAM=ded
-VERSION=${VERSION:-20180324}
+VERSION=${VERSION:-20210110}
BUILD=${BUILD:-1}
TAG=${TAG:-_SBo}
@@ -82,10 +83,13 @@ find -L . -perm /111 -a \! -perm 755 -a -exec chmod 755 {} \+ -o \
# "checking for long filenames" wants to create files in /usr/lib and
# /var/lib. Violates the principle of least surprise: users don't expect
# configure scripts (or SlackBuilds) to touch their system directories.
-patch -p1 < $CWD/td_lib_no_write_usr.diff
-# NB: the -j1's are necessary, even on 'make install'.
+# This *should* work, but doesn't, I guess because configure.in is too old.
+#sed -i '/^AC_SYS_LONG_FILE_NAMES/d' configure.in
+#autoreconf -i
+# It turns out we can force it in the environment.
+ac_cv_sys_long_file_names="set" \
CFLAGS="$SLKCFLAGS" \
CXXFLAGS="$SLKCFLAGS" \
./configure \
@@ -96,6 +100,7 @@ CXXFLAGS="$SLKCFLAGS" \
--mandir=/usr/man \
--build=$ARCH-slackware-linux
+# NB: the -j1's are necessary, even on 'make install'.
make -j1
# actually, don't really need to make install, ded's configure will find
diff --git a/system/ded/ded.info b/system/ded/ded.info
index 61f1f7855a..009d0a2485 100644
--- a/system/ded/ded.info
+++ b/system/ded/ded.info
@@ -1,10 +1,10 @@
PRGNAM="ded"
-VERSION="20180324"
+VERSION="20210110"
HOMEPAGE="http://invisible-island.net/ded/"
-DOWNLOAD="http://invisible-mirror.net/archives/ded/ded-20180324.tgz \
- http://invisible-mirror.net/archives/ded/td_lib-20180324.tgz"
-MD5SUM="2bea15142aa1c1a3f118a767ae43a7f4 \
- d38c1fd32f3f15aab40c5dde9d2f8611"
+DOWNLOAD="http://invisible-mirror.net/archives/ded/ded-20210110.tgz \
+ http://invisible-mirror.net/archives/ded/td_lib-20210110.tgz"
+MD5SUM="80a03899f46fe64179d824f65ed1491b \
+ 71a71fb677e480e293dc7907df23b70b"
DOWNLOAD_x86_64=""
MD5SUM_x86_64=""
REQUIRES=""
diff --git a/system/ded/td_lib_no_write_usr.diff b/system/ded/td_lib_no_write_usr.diff
deleted file mode 100644
index 455b1a85bf..0000000000
--- a/system/ded/td_lib_no_write_usr.diff
+++ /dev/null
@@ -1,12 +0,0 @@
-diff -Naur td_lib-20150704/configure td_lib-20150704.patched/configure
---- td_lib-20150704/configure 2015-07-04 11:20:27.000000000 -0400
-+++ td_lib-20150704.patched/configure 2017-03-05 11:29:40.888486013 -0500
-@@ -5031,7 +5031,7 @@
- else
- ac_tmpdirs='/tmp /var/tmp /usr/tmp'
- fi
--for ac_dir in . $ac_tmpdirs `eval echo $prefix/lib $exec_prefix/lib` ; do
-+for ac_dir in . $ac_tmpdirs ; do
- test -d $ac_dir || continue
- test -w $ac_dir || continue # It is less confusing to not echo anything here.
- ac_xdir=$ac_dir/cf$$
diff --git a/system/dfu-util/dfu-util.SlackBuild b/system/dfu-util/dfu-util.SlackBuild
index 890878e1f8..056010437e 100644
--- a/system/dfu-util/dfu-util.SlackBuild
+++ b/system/dfu-util/dfu-util.SlackBuild
@@ -1,10 +1,10 @@
#!/bin/sh
# Slackware build script for dfu-util
# Written by Damien Durand <splinux25@gmail.com>
-# 2018 Maintained by Christoph Willing <chris.willing@linux.com>
+# From 2018, maintained by Christoph Willing <chris.willing@linux.com>
PRGNAM=dfu-util
-VERSION=${VERSION:-0.9}
+VERSION=${VERSION:-0.10}
BUILD=${BUILD:-1}
TAG=${TAG:-_SBo}
diff --git a/system/dfu-util/dfu-util.info b/system/dfu-util/dfu-util.info
index a710e848d6..ecd8609d4e 100644
--- a/system/dfu-util/dfu-util.info
+++ b/system/dfu-util/dfu-util.info
@@ -1,8 +1,8 @@
PRGNAM="dfu-util"
-VERSION="0.9"
+VERSION="0.10"
HOMEPAGE="http://dfu-util.gnumonks.org"
-DOWNLOAD="http://dfu-util.sourceforge.net/releases/dfu-util-0.9.tar.gz"
-MD5SUM="233bb1e08ef4b405062445d84e28fde6"
+DOWNLOAD="http://dfu-util.sourceforge.net/releases/dfu-util-0.10.tar.gz"
+MD5SUM="8cf55663703cdc6b40f377f999eb8d3d"
DOWNLOAD_x86_64=""
MD5SUM_x86_64=""
REQUIRES=""
diff --git a/system/dget/dget.SlackBuild b/system/dget/dget.SlackBuild
index 0c39954e42..020bd65d4b 100644
--- a/system/dget/dget.SlackBuild
+++ b/system/dget/dget.SlackBuild
@@ -2,7 +2,7 @@
#
# Slackware build script for dget.
#
-# Copyright 2018-2019 Edinaldo P. Silva, Rio de Janeiro, Brazil.
+# Copyright 2018-2021 Edinaldo P. Silva, Rio de Janeiro, Brazil.
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
@@ -23,7 +23,7 @@
# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
PRGNAM=dget
-VERSION=${VERSION:-2.19.5}
+VERSION=${VERSION:-2.20.5}
BUILD=${BUILD:-1}
TAG=${TAG:-_SBo}
diff --git a/system/dget/dget.info b/system/dget/dget.info
index 0e021dd7b6..f2c54ec3b9 100644
--- a/system/dget/dget.info
+++ b/system/dget/dget.info
@@ -1,10 +1,10 @@
PRGNAM="dget"
-VERSION="2.19.5"
+VERSION="2.20.5"
HOMEPAGE="https://goo.gl/mr1Uz3"
-DOWNLOAD="http://snapshot.debian.org/archive/debian/20190511T144548Z/pool/main/d/devscripts/devscripts_2.19.5_i386.deb"
-MD5SUM="c7b4607ea004acc2e32ec98d424d12f8"
-DOWNLOAD_x86_64="http://snapshot.debian.org/archive/debian/20190511T144548Z/pool/main/d/devscripts/devscripts_2.19.5_amd64.deb"
-MD5SUM_x86_64="b79ea7d732bfa1ec92d20c5d0251b5fd"
+DOWNLOAD="http://http.us.debian.org/debian/pool/main/d/devscripts/devscripts_2.20.5_i386.deb"
+MD5SUM="064723c6fac020a141c0990c2e70c218"
+DOWNLOAD_x86_64="http://http.us.debian.org/debian/pool/main/d/devscripts/devscripts_2.20.5_amd64.deb"
+MD5SUM_x86_64="cf5cb14bfc90c75cc91772e2436f6c9e"
REQUIRES="dpkg"
MAINTAINER="Edinaldo P. Silva"
EMAIL="edps.mundognu@gmail.com"
diff --git a/system/direvent/README b/system/direvent/README
new file mode 100644
index 0000000000..63d8e873e1
--- /dev/null
+++ b/system/direvent/README
@@ -0,0 +1,11 @@
+GNU Direvent monitors events in the file system directories. For each
+event that occurs in a set of pre-configured directories, the program
+calls an external program associated with it, supplying it with the
+information about the event and the location within the file system
+where it occured.
+
+Interfaces for tracking changes to file systems are highly
+system-specific. Direvent aims to provide a uniform and
+system-independent command-level interface. It is known to work with
+all modern Linux kernels and BSD systems (FreeBSD, NetBSD, OpenBSD,
+Darwin).
diff --git a/system/direvent/direvent.SlackBuild b/system/direvent/direvent.SlackBuild
new file mode 100644
index 0000000000..a0e7c0c952
--- /dev/null
+++ b/system/direvent/direvent.SlackBuild
@@ -0,0 +1,106 @@
+#!/bin/sh
+
+# Slackware build script for direvent
+
+# Copyright 2020 Jeff Parent <jeff+SBo@sh0.xyz>
+# 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.
+
+PRGNAM=direvent
+VERSION=${VERSION:-5.2}
+BUILD=${BUILD:-1}
+TAG=${TAG:-_SBo}
+
+if [ -z "$ARCH" ]; then
+ case "$( uname -m )" in
+ i?86) ARCH=i586 ;;
+ arm*) ARCH=arm ;;
+ *) ARCH=$( uname -m ) ;;
+ esac
+fi
+
+CWD=$(pwd)
+TMP=${TMP:-/tmp/SBo}
+PKG=$TMP/package-$PRGNAM
+OUTPUT=${OUTPUT:-/tmp}
+
+if [ "$ARCH" = "i586" ]; then
+ SLKCFLAGS="-O2 -march=i586 -mtune=i686"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "i686" ]; then
+ SLKCFLAGS="-O2 -march=i686 -mtune=i686"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "x86_64" ]; then
+ SLKCFLAGS="-O2 -fPIC"
+ LIBDIRSUFFIX="64"
+else
+ SLKCFLAGS="-O2"
+ LIBDIRSUFFIX=""
+fi
+
+set -e
+
+rm -rf $PKG
+mkdir -p $TMP $PKG $OUTPUT
+cd $TMP
+rm -rf $PRGNAM-$VERSION
+tar xvf $CWD/$PRGNAM-$VERSION.tar.gz
+cd $PRGNAM-$VERSION
+chown -R root:root .
+find -L . \
+ \( -perm 777 -o -perm 775 -o -perm 750 -o -perm 711 -o -perm 555 \
+ -o -perm 511 \) -exec chmod 755 {} \; -o \
+ \( -perm 666 -o -perm 664 -o -perm 640 -o -perm 600 -o -perm 444 \
+ -o -perm 440 -o -perm 400 \) -exec chmod 644 {} \;
+
+CFLAGS="$SLKCFLAGS" \
+CXXFLAGS="$SLKCFLAGS" \
+./configure \
+ --prefix=/usr \
+ --libdir=/usr/lib${LIBDIRSUFFIX} \
+ --sysconfdir=/etc \
+ --localstatedir=/var \
+ --mandir=/usr/man \
+ --docdir=/usr/doc/$PRGNAM-$VERSION \
+ --build=$ARCH-slackware-linux
+
+make
+make install DESTDIR=$PKG
+
+find $PKG -print0 | xargs -0 file | grep -e "executable" -e "shared object" | grep ELF \
+ | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null || true
+
+find $PKG/usr/man -type f -exec gzip -9 {} \;
+for i in $( find $PKG/usr/man -type l ) ; do ln -s $( readlink $i ).gz $i.gz ; rm $i ; done
+
+rm -f $PKG/usr/share/info/dir
+mv $PKG/usr/share/info $PKG/usr/
+gzip -9 $PKG/usr/info/*.info*
+
+mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION
+cp -a \
+ AUTHORS ChangeLog COPYING doc NEWS README THANKS \
+ $PKG/usr/doc/$PRGNAM-$VERSION
+cat $CWD/$PRGNAM.SlackBuild > $PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM.SlackBuild
+
+mkdir -p $PKG/install
+cat $CWD/slack-desc > $PKG/install/slack-desc
+
+cd $PKG
+/sbin/makepkg -l y -c n $OUTPUT/$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.${PKGTYPE:-tgz}
diff --git a/system/direvent/direvent.info b/system/direvent/direvent.info
new file mode 100644
index 0000000000..6a0dbba331
--- /dev/null
+++ b/system/direvent/direvent.info
@@ -0,0 +1,10 @@
+PRGNAM="direvent"
+VERSION="5.2"
+HOMEPAGE="https://www.gnu.org.ua/software/direvent/direvent.html"
+DOWNLOAD="http://ftp.gnu.org/gnu/direvent/direvent-5.2.tar.gz"
+MD5SUM="3af3340ba9fce2cbd6580c19817fe811"
+DOWNLOAD_x86_64=""
+MD5SUM_x86_64=""
+REQUIRES=""
+MAINTAINER="Jeff Parent"
+EMAIL="jeff+SBo@sh0.xyz"
diff --git a/system/direvent/slack-desc b/system/direvent/slack-desc
new file mode 100644
index 0000000000..70e47ff935
--- /dev/null
+++ b/system/direvent/slack-desc
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description.
+# Line up the first '|' above the ':' following the base package name, and
+# the '|' on the right side marks the last column you can put a character in.
+# You must make exactly 11 lines for the formatting to be correct. It's also
+# customary to leave one space after the ':' except on otherwise blank lines.
+
+ |-----handy-ruler------------------------------------------------------|
+direvent: direvent (Directory event monitoring daemon)
+direvent:
+direvent: GNU Direvent monitors events in the file system directories. For each
+direvent: event that occurs in a set of pre-configured directories, the program
+direvent: calls an external program associated with it, supplying it with the
+direvent: information about the event and the location within the file system
+direvent: where it occured.
+direvent:
+direvent:
+direvent:
+direvent:
diff --git a/system/disk-manager/disk-manager.desktop b/system/disk-manager/disk-manager.desktop
index eb9a2d17a7..24b9e3088f 100644
--- a/system/disk-manager/disk-manager.desktop
+++ b/system/disk-manager/disk-manager.desktop
@@ -24,5 +24,4 @@ Icon=disk-manager
Exec=gksu /usr/sbin/disk-manager
Terminal=false
Type=Application
-Categories=Application;System;Settings
-GenericName[fr_FR]=
+Categories=System;
diff --git a/system/dlm/dlm.SlackBuild b/system/dlm/dlm.SlackBuild
index 1c5638ea33..ccebfec1f9 100644
--- a/system/dlm/dlm.SlackBuild
+++ b/system/dlm/dlm.SlackBuild
@@ -2,7 +2,7 @@
# Slackware build script for dlm
-# Copyright 2019 Mario Preksavec, Zagreb, Croatia
+# Copyright 2019, 2020 Mario Preksavec, Zagreb, Croatia
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
@@ -23,7 +23,7 @@
# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
PRGNAM=dlm
-VERSION=${VERSION:-4.0.8}
+VERSION=${VERSION:-4.0.9}
BUILD=${BUILD:-1}
TAG=${TAG:-_SBo}
diff --git a/system/dlm/dlm.info b/system/dlm/dlm.info
index f128b8592b..7343b4d19a 100644
--- a/system/dlm/dlm.info
+++ b/system/dlm/dlm.info
@@ -1,8 +1,8 @@
PRGNAM="dlm"
-VERSION="4.0.8"
+VERSION="4.0.9"
HOMEPAGE="https://pagure.io/dlm"
-DOWNLOAD="https://pagure.io/dlm/archive/dlm-4.0.8/dlm-dlm-4.0.8.tar.gz"
-MD5SUM="61e63252f2e0b72207497daf83a69719"
+DOWNLOAD="https://pagure.io/dlm/archive/dlm-4.0.9/dlm-dlm-4.0.9.tar.gz"
+MD5SUM="4c57a941a15547859cd38fd55f66388e"
DOWNLOAD_x86_64=""
MD5SUM_x86_64=""
REQUIRES="pacemaker"
diff --git a/system/dlm/patches/Check-sscanf-return-value.patch b/system/dlm/patches/Check-sscanf-return-value.patch
deleted file mode 100644
index 719e294fca..0000000000
--- a/system/dlm/patches/Check-sscanf-return-value.patch
+++ /dev/null
@@ -1,24 +0,0 @@
-From: Valentin Vidic <Valentin.Vidic@CARNet.hr>
-Date: Wed, 25 Apr 2018 23:13:29 +0200
-Subject: Check sscanf return value
-
----
- dlm_tool/main.c | 5 +++++
- 1 file changed, 5 insertions(+)
-
-diff --git a/dlm_tool/main.c b/dlm_tool/main.c
-index 042caa9..1900236 100644
---- a/dlm_tool/main.c
-+++ b/dlm_tool/main.c
-@@ -692,6 +692,11 @@ static void print_lkb(char *line, struct rinfo *ri)
- (unsigned long long *)&lkb.timestamp,
- (unsigned long long *)&lkb.time_bast);
-
-+ if (rv != 17) {
-+ fprintf(stderr, "print_lkb error rv %d line \"%s\"\n", rv, line);
-+ return;
-+ }
-+
- ri->lkb_count++;
-
- if (lkb.status == DLM_LKSTS_GRANTED) {
diff --git a/system/dlm/patches/Use-CPPFLAGS-from-the-environment.patch b/system/dlm/patches/Use-CPPFLAGS-from-the-environment.patch
index 7f32d838d2..d4e9f5bd89 100644
--- a/system/dlm/patches/Use-CPPFLAGS-from-the-environment.patch
+++ b/system/dlm/patches/Use-CPPFLAGS-from-the-environment.patch
@@ -9,12 +9,10 @@ Subject: Use CPPFLAGS from the environment
libdlm/Makefile | 4 ++--
4 files changed, 6 insertions(+), 6 deletions(-)
-diff --git a/dlm_controld/Makefile b/dlm_controld/Makefile
-index 75c5750..47af929 100644
--- a/dlm_controld/Makefile
+++ b/dlm_controld/Makefile
-@@ -58,10 +58,10 @@ endif
- all: $(LIB_TARGET) $(BIN_TARGET)
+@@ -62,10 +62,10 @@
+ all: $(LIB_TARGET) $(BIN_TARGET) $(LIB_PC)
$(BIN_TARGET): $(BIN_SOURCE)
- $(CC) $(BIN_SOURCE) $(BIN_CFLAGS) $(BIN_LDFLAGS) -o $@ -L.
@@ -26,11 +24,9 @@ index 75c5750..47af929 100644
ln -sf $(LIB_TARGET) $(LIB_SO)
ln -sf $(LIB_TARGET) $(LIB_SMAJOR)
-diff --git a/dlm_tool/Makefile b/dlm_tool/Makefile
-index 80d7725..a9b3be0 100644
--- a/dlm_tool/Makefile
+++ b/dlm_tool/Makefile
-@@ -27,7 +27,7 @@ LDFLAGS += -lpthread -ldlm -ldlmcontrol
+@@ -27,7 +27,7 @@
all: $(BIN_TARGET)
$(BIN_TARGET): $(BIN_SOURCE)
@@ -39,11 +35,9 @@ index 80d7725..a9b3be0 100644
clean:
rm -f *.o *.so *.so.* $(BIN_TARGET)
-diff --git a/fence/Makefile b/fence/Makefile
-index b927879..d4a3c09 100644
--- a/fence/Makefile
+++ b/fence/Makefile
-@@ -28,7 +28,7 @@ LDFLAGS += -ldl
+@@ -28,7 +28,7 @@
all: $(BIN_TARGET)
$(BIN_TARGET): $(BIN_SOURCE)
@@ -52,11 +46,9 @@ index b927879..d4a3c09 100644
clean:
rm -f *.o *.so *.so.* $(BIN_TARGET)
-diff --git a/libdlm/Makefile b/libdlm/Makefile
-index ab32761..21addf8 100644
--- a/libdlm/Makefile
+++ b/libdlm/Makefile
-@@ -90,10 +90,10 @@ LLT_LDFLAGS += $(LDFLAGS)
+@@ -90,10 +90,10 @@
all: $(LIB_TARGET) $(LLT_TARGET) $(LIB_PC) $(LLT_PC)
$(LIB_O): $(SOURCE)
diff --git a/system/dlm/patches/series b/system/dlm/patches/series
index 3b61b57b9b..17ef4f6ee0 100644
--- a/system/dlm/patches/series
+++ b/system/dlm/patches/series
@@ -2,4 +2,3 @@ Debian-path-for-the-config-file.patch
Enable-systemctl-help-dlm-to-show-relevant-man-pages.patch
Use-CPPFLAGS-from-the-environment.patch
Don-t-link-dlm_stonith-against-libxml2.patch
-Check-sscanf-return-value.patch
diff --git a/system/docker-cli/README b/system/docker-cli/README
new file mode 100644
index 0000000000..d22fbf077f
--- /dev/null
+++ b/system/docker-cli/README
@@ -0,0 +1 @@
+Command line tool for Docker engine.
diff --git a/system/docker-cli/docker-cli.SlackBuild b/system/docker-cli/docker-cli.SlackBuild
new file mode 100644
index 0000000000..b6451ec6fe
--- /dev/null
+++ b/system/docker-cli/docker-cli.SlackBuild
@@ -0,0 +1,88 @@
+#!/bin/sh
+
+# Slackware build script for docker-cli
+
+# Copyright 2021 Audrius Kažukauskas <audrius@neutrino.lt>
+# 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.
+
+PRGNAM=docker-cli
+VERSION=${VERSION:-20.10.2}
+GITHASH=${GITHASH:-2291f61}
+BUILD=${BUILD:-1}
+TAG=${TAG:-_SBo}
+
+SRCNAM=cli
+
+if [ -z "$ARCH" ]; then
+ case "$( uname -m )" in
+ i?86) ARCH=i586 ;;
+ arm*) ARCH=arm ;;
+ *) ARCH=$( uname -m ) ;;
+ esac
+fi
+
+CWD=$(pwd)
+TMP=${TMP:-/tmp/SBo}
+PKG=$TMP/package-$PRGNAM
+OUTPUT=${OUTPUT:-/tmp}
+
+set -e
+
+rm -rf $PKG
+mkdir -p $TMP $PKG $OUTPUT
+cd $TMP
+rm -rf $SRCNAM-$VERSION
+tar xvf $CWD/$SRCNAM-$VERSION.tar.gz
+cd $SRCNAM-$VERSION
+chown -R root:root .
+find -L . \
+ \( -perm 777 -o -perm 775 -o -perm 750 -o -perm 711 -o -perm 555 \
+ -o -perm 511 \) -exec chmod 755 {} \; -o \
+ \( -perm 666 -o -perm 664 -o -perm 640 -o -perm 600 -o -perm 444 \
+ -o -perm 440 -o -perm 400 \) -exec chmod 644 {} \;
+
+mkdir build
+mv vendor build/src
+ln -sf $TMP/$SRCNAM-$VERSION build/src/github.com/docker/cli
+
+DISABLE_WARN_OUTSIDE_CONTAINER=1 \
+make dynbinary \
+ GITCOMMIT=$GITHASH \
+ VERSION=$VERSION \
+ GOPATH=$TMP/$SRCNAM-$VERSION/build
+
+install -D -m 0755 build/docker-linux-amd64 $PKG/usr/bin/docker
+
+# Completion.
+( cd contrib/completion
+ install -D -m 0644 bash/docker $PKG/usr/share/bash-completion/completions/docker
+ install -D -m 0644 zsh/_docker $PKG/usr/share/zsh/site-functions/_docker
+ install -D -m 0644 fish/docker.fish $PKG/usr/share/fish/vendor_completions.d/docker.fish
+)
+
+mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION
+cp -a LICENSE NOTICE README.md $PKG/usr/doc/$PRGNAM-$VERSION
+cat $CWD/$PRGNAM.SlackBuild > $PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM.SlackBuild
+
+mkdir -p $PKG/install
+cat $CWD/slack-desc > $PKG/install/slack-desc
+
+cd $PKG
+/sbin/makepkg -l y -c n $OUTPUT/$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.${PKGTYPE:-tgz}
diff --git a/system/docker-cli/docker-cli.info b/system/docker-cli/docker-cli.info
new file mode 100644
index 0000000000..e004f9f2b5
--- /dev/null
+++ b/system/docker-cli/docker-cli.info
@@ -0,0 +1,10 @@
+PRGNAM="docker-cli"
+VERSION="20.10.2"
+HOMEPAGE="https://www.docker.com/products/container-runtime"
+DOWNLOAD="UNSUPPORTED"
+MD5SUM=""
+DOWNLOAD_x86_64="https://github.com/docker/cli/archive/v20.10.2/cli-20.10.2.tar.gz"
+MD5SUM_x86_64="b3e97ba282605d0c511d394d7a7be3b4"
+REQUIRES="docker"
+MAINTAINER="Audrius Kažukauskas"
+EMAIL="audrius@neutrino.lt"
diff --git a/system/docker-cli/slack-desc b/system/docker-cli/slack-desc
new file mode 100644
index 0000000000..944f01ec27
--- /dev/null
+++ b/system/docker-cli/slack-desc
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description.
+# Line up the first '|' above the ':' following the base package name, and
+# the '|' on the right side marks the last column you can put a character in.
+# You must make exactly 11 lines for the formatting to be correct. It's also
+# customary to leave one space after the ':' except on otherwise blank lines.
+
+ |-----handy-ruler------------------------------------------------------|
+docker-cli: docker-cli (command line tool for Docker engine)
+docker-cli:
+docker-cli: Docker is an open-source project to easily create lightweight,
+docker-cli: portable, self-sufficient containers from any application. The same
+docker-cli: container that a developer builds and tests on a laptop can run at
+docker-cli: scale, in production, on VMs, bare metal, OpenStack clusters, public
+docker-cli: clouds and more.
+docker-cli:
+docker-cli: Homepage: https://www.docker.com/products/container-runtime
+docker-cli:
+docker-cli:
diff --git a/system/docker-proxy/docker-proxy.SlackBuild b/system/docker-proxy/docker-proxy.SlackBuild
index b661560b73..ee04af839e 100644
--- a/system/docker-proxy/docker-proxy.SlackBuild
+++ b/system/docker-proxy/docker-proxy.SlackBuild
@@ -2,7 +2,7 @@
# Slackware build script for docker-proxy
-# Copyright 2017-2019 Audrius Kažukauskas <audrius@neutrino.lt>
+# Copyright 2017-2021 Audrius Kažukauskas <audrius@neutrino.lt>
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
@@ -23,8 +23,8 @@
# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
PRGNAM=docker-proxy
-VERSION=${VERSION:-20181207_2cfbf9b}
-GITHASH=${GITHASH:-2cfbf9b1f98162a55829a21cc603c76072a75382}
+VERSION=${VERSION:-20201215_fa125a3}
+GITHASH=${GITHASH:-fa125a3512ee0f6187721c88582bf8c4378bd4d7}
BUILD=${BUILD:-1}
TAG=${TAG:-_SBo}
diff --git a/system/docker-proxy/docker-proxy.info b/system/docker-proxy/docker-proxy.info
index d15326c460..6329993d4c 100644
--- a/system/docker-proxy/docker-proxy.info
+++ b/system/docker-proxy/docker-proxy.info
@@ -1,10 +1,10 @@
PRGNAM="docker-proxy"
-VERSION="20181207_2cfbf9b"
-HOMEPAGE="https://github.com/docker/libnetwork"
+VERSION="20201215_fa125a3"
+HOMEPAGE="https://github.com/moby/libnetwork"
DOWNLOAD="UNSUPPORTED"
MD5SUM=""
-DOWNLOAD_x86_64="https://github.com/docker/libnetwork/archive/2cfbf9b/libnetwork-2cfbf9b1f98162a55829a21cc603c76072a75382.tar.gz"
-MD5SUM_x86_64="d09e629940b04e24a2f91b535c073f83"
+DOWNLOAD_x86_64="https://github.com/moby/libnetwork/archive/fa125a3/libnetwork-fa125a3512ee0f6187721c88582bf8c4378bd4d7.tar.gz"
+MD5SUM_x86_64="0fa46e48ffcf64148df15a0739c06df4"
REQUIRES="google-go-lang"
MAINTAINER="Audrius Kažukauskas"
EMAIL="audrius@neutrino.lt"
diff --git a/system/docker-proxy/slack-desc b/system/docker-proxy/slack-desc
index 17cd924cb6..b51cd858b9 100644
--- a/system/docker-proxy/slack-desc
+++ b/system/docker-proxy/slack-desc
@@ -11,7 +11,7 @@ docker-proxy:
docker-proxy: docker-proxy enables a service consumer to communicate with the
docker-proxy: service providing container.
docker-proxy:
-docker-proxy: Homepage: https://github.com/docker/libnetwork
+docker-proxy: Homepage: https://github.com/moby/libnetwork
docker-proxy:
docker-proxy:
docker-proxy:
diff --git a/system/docker/docker.SlackBuild b/system/docker/docker.SlackBuild
index 5eaba151e9..c6631b2487 100644
--- a/system/docker/docker.SlackBuild
+++ b/system/docker/docker.SlackBuild
@@ -3,7 +3,7 @@
# Slackware build script for docker
# Copyright 2014-2015 Vincent Batts <vbatts@hashbangbash.com>
-# Copyright 2017-2019 Audrius Kažukauskas <audrius@neutrino.lt>
+# Copyright 2017-2021 Audrius Kažukauskas <audrius@neutrino.lt>
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
@@ -24,12 +24,12 @@
# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
PRGNAM=docker
-VERSION=${VERSION:-18.09.2}
-GITHASH=${GITHASH:-6247962}
+VERSION=${VERSION:-20.10.2}
+GITHASH=${GITHASH:-8891c58}
BUILD=${BUILD:-1}
TAG=${TAG:-_SBo}
-SRCNAM=$PRGNAM-ce
+SRCNAM=moby
if [ -z "$ARCH" ]; then
case "$( uname -m )" in
@@ -59,34 +59,18 @@ find -L . \
\( -perm 666 -o -perm 664 -o -perm 640 -o -perm 600 -o -perm 444 \
-o -perm 440 -o -perm 400 \) -exec chmod 644 {} \;
-mkdir -p build/src/github.com/docker
-( cd build/src/github.com/docker
- ln -s $TMP/$SRCNAM-$VERSION/components/engine docker
- ln -s $TMP/$SRCNAM-$VERSION/components/cli cli
-)
+mkdir build
+mv vendor build/src
+ln -sf $TMP/$SRCNAM-$VERSION build/src/github.com/docker/docker
-# Build daemon.
-cd components/engine
DOCKER_GITCOMMIT=$GITHASH \
DOCKER_BUILDTAGS="seccomp" \
-VERSION=$(cat ../../VERSION) \
+VERSION=$VERSION \
GOPATH=$TMP/$SRCNAM-$VERSION/build \
./hack/make.sh dynbinary
-install -D -m 0755 $(readlink -f bundles/latest/dynbinary-daemon/dockerd) \
+install -D -m 0755 bundles/dynbinary-daemon/dockerd-$VERSION \
$PKG/usr/bin/dockerd
-cd -
-
-# Build CLI.
-cd components/cli
-DISABLE_WARN_OUTSIDE_CONTAINER=1 \
-make dynbinary \
- GITCOMMIT=$GITHASH \
- VERSION=$(cat ../../VERSION) \
- GOPATH=$TMP/$SRCNAM-$VERSION/build
-
-install -D -m 0755 build/docker-linux-amd64 $PKG/usr/bin/docker
-cd -
# Integrate required components.
ln -s runc $PKG/usr/bin/docker-runc
@@ -95,25 +79,16 @@ ln -s containerd-shim $PKG/usr/bin/docker-containerd-shim
ln -s ctr $PKG/usr/bin/docker-containerd-ctr
ln -s tini-static $PKG/usr/bin/docker-init
-# Completion.
-( cd components/cli/contrib/completion
- install -D -m 0644 bash/docker $PKG/usr/share/bash-completion/completions/docker
- install -D -m 0644 zsh/_docker $PKG/usr/share/zsh/site-functions/_docker
- install -D -m 0644 fish/docker.fish $PKG/usr/share/fish/vendor_completions.d/docker.fish
-)
-
install -D -m 0644 $CWD/config/docker.default $PKG/etc/default/docker.new
install -D -m 0644 $CWD/config/docker.logrotate $PKG/etc/logrotate.d/docker.new
install -D -m 0644 $CWD/config/rc.docker $PKG/etc/rc.d/rc.docker.new
# Install udev rules.
-install -D -m 0644 components/engine/contrib/udev/80-docker.rules \
+install -D -m 0644 contrib/udev/80-docker.rules \
$PKG/lib/udev/rules.d/80-docker.rules
mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION
-cp -a \
- CHANGELOG.md components/engine/LICENSE components/engine/NOTICE README.md \
- $PKG/usr/doc/$PRGNAM-$VERSION
+cp -a LICENSE NOTICE README.md $PKG/usr/doc/$PRGNAM-$VERSION
cat $CWD/$PRGNAM.SlackBuild > $PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM.SlackBuild
mkdir -p $PKG/install
diff --git a/system/docker/docker.info b/system/docker/docker.info
index 111ee681c6..caf6c4c8b8 100644
--- a/system/docker/docker.info
+++ b/system/docker/docker.info
@@ -1,10 +1,10 @@
PRGNAM="docker"
-VERSION="18.09.2"
-HOMEPAGE="https://www.docker.com/products/docker-engine"
+VERSION="20.10.2"
+HOMEPAGE="https://www.docker.com/products/container-runtime"
DOWNLOAD="UNSUPPORTED"
MD5SUM=""
-DOWNLOAD_x86_64="https://github.com/docker/docker-ce/archive/v18.09.2/docker-ce-18.09.2.tar.gz"
-MD5SUM_x86_64="8a67b2ebca0d3dbc0a268183b0990bd5"
+DOWNLOAD_x86_64="https://github.com/moby/moby/archive/v20.10.2/moby-20.10.2.tar.gz"
+MD5SUM_x86_64="4a1025fd2affef73fb32e863ff6873bd"
REQUIRES="containerd docker-proxy tini"
MAINTAINER="Audrius Kažukauskas"
EMAIL="audrius@neutrino.lt"
diff --git a/system/docker/slack-desc b/system/docker/slack-desc
index 896dd91d1c..f6794fc5af 100644
--- a/system/docker/slack-desc
+++ b/system/docker/slack-desc
@@ -14,6 +14,6 @@ docker: container that a developer builds and tests on a laptop can run at
docker: scale, in production, on VMs, bare metal, OpenStack clusters, public
docker: clouds and more.
docker:
-docker: Homepage: https://www.docker.com/products/docker-engine
+docker: Homepage: https://www.docker.com/products/container-runtime
docker:
docker:
diff --git a/system/dosbox-dev/dosbox-dev.SlackBuild b/system/dosbox-dev/dosbox-dev.SlackBuild
index 6324a1e041..5ef88a37ec 100644
--- a/system/dosbox-dev/dosbox-dev.SlackBuild
+++ b/system/dosbox-dev/dosbox-dev.SlackBuild
@@ -26,8 +26,8 @@
# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
PRGNAM=dosbox-dev
-REVISION=${REVISION:-4267}
-VERSION=${VERSION:-0.74.3.r$REVISION}
+REVISION=${REVISION:-4441}
+VERSION=${VERSION:-0.75_pre4441}
BUILD=${BUILD:-1}
TAG=${TAG:-_SBo}
DOSBOXDEV=${DOSBOXDEV:-no}
diff --git a/system/dosbox-dev/dosbox-dev.info b/system/dosbox-dev/dosbox-dev.info
index 428e7b8ddc..7c9ee5d64b 100644
--- a/system/dosbox-dev/dosbox-dev.info
+++ b/system/dosbox-dev/dosbox-dev.info
@@ -1,8 +1,8 @@
PRGNAM="dosbox-dev"
-VERSION="0.74.3.r4267"
+VERSION="0.75_pre4441"
HOMEPAGE="http://dosbox.sourceforge.net"
-DOWNLOAD="https://sourceforge.net/projects/slackbuildsdirectlinks/files/dosbox/dosbox-dev-0.74.3.r4267.tar.xz"
-MD5SUM="f7318901c532e420b4c6830543ba0266"
+DOWNLOAD="https://sourceforge.net/projects/slackbuildsdirectlinks/files/dosbox/dosbox-dev-0.75_pre4441.tar.xz"
+MD5SUM="885571b284da48fb563161bb8da4abbd"
DOWNLOAD_x86_64=""
MD5SUM_x86_64=""
REQUIRES=""
diff --git a/system/dosbox-x/dosbox-x.SlackBuild b/system/dosbox-x/dosbox-x.SlackBuild
index 755cd5f2b9..5a04069ac3 100644
--- a/system/dosbox-x/dosbox-x.SlackBuild
+++ b/system/dosbox-x/dosbox-x.SlackBuild
@@ -2,7 +2,7 @@
# Slackware build script for dosbox-x
-# Copyright 2019 Leonardo Citrolo, Italy
+# Copyright 2019-2020 Leonardo Citrolo, Italy
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
@@ -23,7 +23,7 @@
# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
PRGNAM=dosbox-x
-VERSION=${VERSION:-0.82.19}
+VERSION=${VERSION:-0.83.2}
BUILD=${BUILD:-1}
TAG=${TAG:-_SBo}
diff --git a/system/dosbox-x/dosbox-x.info b/system/dosbox-x/dosbox-x.info
index e4243aef1d..0b95690601 100644
--- a/system/dosbox-x/dosbox-x.info
+++ b/system/dosbox-x/dosbox-x.info
@@ -1,8 +1,8 @@
PRGNAM="dosbox-x"
-VERSION="0.82.19"
+VERSION="0.83.2"
HOMEPAGE="http://dosbox-x.com/"
-DOWNLOAD="https://github.com/joncampbell123/dosbox-x/archive/dosbox-x-v0.82.19.tar.gz"
-MD5SUM="76648eabd63f9abab0ec27cef8c0daaa"
+DOWNLOAD="https://github.com/joncampbell123/dosbox-x/archive/dosbox-x-v0.83.2/dosbox-x-dosbox-x-v0.83.2.tar.gz"
+MD5SUM="3da8a408deaf9518da1423dff8021f53"
DOWNLOAD_x86_64=""
MD5SUM_x86_64=""
REQUIRES="SDL2"
diff --git a/system/drbd-utils/drbd-utils.SlackBuild b/system/drbd-utils/drbd-utils.SlackBuild
index 74d34e0a5a..e6eeb7f4ae 100644
--- a/system/drbd-utils/drbd-utils.SlackBuild
+++ b/system/drbd-utils/drbd-utils.SlackBuild
@@ -2,7 +2,7 @@
# Slackware build script for drbd-utils
-# Copyright 2014, 2015, 2016, 2017, 2018, 2019 Mario Preksavec, Zagreb, Croatia
+# Copyright 2014, 2015, 2016, 2017, 2018, 2019, 2020 Mario Preksavec, Zagreb, Croatia
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
@@ -23,7 +23,7 @@
# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
PRGNAM=drbd-utils
-VERSION=${VERSION:-9.8.0}
+VERSION=${VERSION:-9.15.1}
BUILD=${BUILD:-1}
TAG=${TAG:-_SBo}
diff --git a/system/drbd-utils/drbd-utils.info b/system/drbd-utils/drbd-utils.info
index 9934ce8b3c..49f7312a95 100644
--- a/system/drbd-utils/drbd-utils.info
+++ b/system/drbd-utils/drbd-utils.info
@@ -1,8 +1,8 @@
PRGNAM="drbd-utils"
-VERSION="9.8.0"
+VERSION="9.15.1"
HOMEPAGE="http://www.drbd.org"
-DOWNLOAD="https://www.linbit.com/downloads/drbd/utils/drbd-utils-9.8.0.tar.gz"
-MD5SUM="c9e079504f15e07166de9a3704eb63f5"
+DOWNLOAD="https://www.linbit.com/downloads/drbd/utils/drbd-utils-9.15.1.tar.gz"
+MD5SUM="5ff3c956aab8f022f676455162c91b21"
DOWNLOAD_x86_64=""
MD5SUM_x86_64=""
REQUIRES=""
diff --git a/system/driconf/driconf.SlackBuild b/system/driconf/driconf.SlackBuild
index e3ccdcaf35..42f886f8d0 100644
--- a/system/driconf/driconf.SlackBuild
+++ b/system/driconf/driconf.SlackBuild
@@ -1,7 +1,7 @@
#!/bin/sh
# Slackware build script for driconf
-# Copyright 2011 David Woodfall <dave@dawoodfall.net>
+# Copyright 2011 David Woodfall <dave@slackbuilds.org>
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
diff --git a/system/driconf/driconf.info b/system/driconf/driconf.info
index 8d99cd64be..4cd402ce10 100644
--- a/system/driconf/driconf.info
+++ b/system/driconf/driconf.info
@@ -7,4 +7,4 @@ DOWNLOAD_x86_64=""
MD5SUM_x86_64=""
REQUIRES=""
MAINTAINER="David Woodfall"
-EMAIL="dave@dawoodfall.net"
+EMAIL="dave@slackbuilds.org"
diff --git a/system/dse-typewriter-font/README b/system/dse-typewriter-font/README
new file mode 100644
index 0000000000..7a8d65d7a2
--- /dev/null
+++ b/system/dse-typewriter-font/README
@@ -0,0 +1,17 @@
+dse-typewriter-font (typewriter-style TrueType font)
+
+dse-typewriter-font is a coding font inspired by early 20th-century
+typewriters, with good Unicode coverage.
+
+This font is not the result of any scans or traces of samples, specimens,
+or other output from an actual typewriter. It's more like an amalgamation
+of old-school typewriter fonts with features semi-arbitrarily picked
+from each one, as well as a few not in use on actual typewriters.
+
+Features and Characteristics:
+
+* Relatively low ex-height.
+* Coding-friendly distinctive characters: li1| Oo0 `'"
+* Elite scale typeface (12 characters per inch at 12-point font size).
+* Perfectly useful as a traditional typewriter face for other purposes, if you
+ don’t mind the zero (0) having a dot in the middle.
diff --git a/system/dse-typewriter-font/doinst.sh b/system/dse-typewriter-font/doinst.sh
new file mode 100644
index 0000000000..c4c0e67fec
--- /dev/null
+++ b/system/dse-typewriter-font/doinst.sh
@@ -0,0 +1,8 @@
+if [ -x /usr/bin/mkfontdir -a -x /usr/bin/mkfontscale ]; then
+ ( cd usr/share/fonts/TTF
+ /usr/bin/mkfontscale .
+ /usr/bin/mkfontdir .
+ )
+fi
+
+[ -x /usr/bin/fc-cache ] && /usr/bin/fc-cache -f
diff --git a/system/dse-typewriter-font/dse-typewriter-font.SlackBuild b/system/dse-typewriter-font/dse-typewriter-font.SlackBuild
new file mode 100644
index 0000000000..857bfbcc46
--- /dev/null
+++ b/system/dse-typewriter-font/dse-typewriter-font.SlackBuild
@@ -0,0 +1,47 @@
+#!/bin/sh
+
+# Slackware build script for dse-typewriter-font
+
+# Written by B. Watson (yalhcru@gmail.com)
+
+# Licensed under the WTFPL. See http://www.wtfpl.net/txt/copying/ for details.
+
+PRGNAM=dse-typewriter-font
+VERSION=${VERSION:-20200507_1795eb8}
+BUILD=${BUILD:-1}
+TAG=${TAG:-_SBo}
+ARCH=noarch
+
+CWD=$(pwd)
+TMP=${TMP:-/tmp/SBo}
+PKG=$TMP/package-$PRGNAM
+OUTPUT=${OUTPUT:-/tmp}
+
+set -e
+
+rm -rf $PKG
+mkdir -p $TMP $PKG $OUTPUT
+cd $TMP
+rm -rf $PRGNAM-$VERSION
+tar xvf $CWD/$PRGNAM-$VERSION.tar.xz
+cd $PRGNAM-$VERSION
+chown -R root:root .
+# upstream permissions are bad
+find -L . -type d -exec chmod 755 {} \+
+find -L . -type f -exec chmod 644 {} \+
+
+mkdir -p $PKG/usr/share/fonts/TTF
+cp -a ttf/*.ttf $PKG/usr/share/fonts/TTF
+
+# don't include the HTML docs: they're just a copy of the homepage, except
+# they don't actually work right when installed locally.
+mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION
+cp -a *.md $PKG/usr/doc/$PRGNAM-$VERSION
+cat $CWD/$PRGNAM.SlackBuild > $PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM.SlackBuild
+
+mkdir -p $PKG/install
+cat $CWD/slack-desc > $PKG/install/slack-desc
+cat $CWD/doinst.sh > $PKG/install/doinst.sh
+
+cd $PKG
+/sbin/makepkg -l y -c n $OUTPUT/$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.${PKGTYPE:-tgz}
diff --git a/system/dse-typewriter-font/dse-typewriter-font.info b/system/dse-typewriter-font/dse-typewriter-font.info
new file mode 100644
index 0000000000..7e30ee6d05
--- /dev/null
+++ b/system/dse-typewriter-font/dse-typewriter-font.info
@@ -0,0 +1,10 @@
+PRGNAM="dse-typewriter-font"
+VERSION="20200507_1795eb8"
+HOMEPAGE="https://webonastick.com/fonts/dse-typewriter/"
+DOWNLOAD="https://slackware.uk/~urchlay/src/dse-typewriter-font-20200507_1795eb8.tar.xz"
+MD5SUM="fc138176cffc5e8acb8937132a16d4c6"
+DOWNLOAD_x86_64=""
+MD5SUM_x86_64=""
+REQUIRES=""
+MAINTAINER="B. Watson"
+EMAIL="yalhcru@gmail.com"
diff --git a/system/dse-typewriter-font/git2tarxz.sh b/system/dse-typewriter-font/git2tarxz.sh
new file mode 100644
index 0000000000..e4d12c1807
--- /dev/null
+++ b/system/dse-typewriter-font/git2tarxz.sh
@@ -0,0 +1,45 @@
+#!/bin/sh
+
+# Create source tarball from git repo, with generated version
+# number.
+
+# Note that this script doesn't need to be run as root. It does
+# need to be able to write to the current directory it's run from.
+
+# Takes one optional argument, which is the commit or tag to create
+# a tarball of. With no arg, HEAD is used.
+
+PRGNAM=dse-typewriter-font
+GITUSER=dse
+CLONE_URL=https://github.com/$GITUSER/$PRGNAM.git
+
+set -e
+
+GITDIR=$( mktemp -dt $PRGNAM.git.XXXXXX )
+rm -rf $GITDIR
+git clone $CLONE_URL $GITDIR
+
+CWD="$( pwd )"
+cd $GITDIR
+
+if [ "$1" != "" ]; then
+ git reset --hard "$1" || exit 1
+fi
+
+GIT_SHA=$( git rev-parse --short HEAD )
+
+DATE=$( git log --date=format:%Y%m%d --format=%cd | head -1 )
+
+VERSION=${DATE}_${GIT_SHA}
+
+rm -rf .git
+find . -name .gitignore -print0 | xargs -0 rm -f
+
+cd "$CWD"
+rm -rf $PRGNAM-$VERSION $PRGNAM-$VERSION.tar.xz
+mv $GITDIR $PRGNAM-$VERSION
+tar cvfJ $PRGNAM-$VERSION.tar.xz $PRGNAM-$VERSION
+
+echo
+echo "Created tarball: $PRGNAM-$VERSION.tar.xz"
+echo "VERSION=$VERSION"
diff --git a/system/dse-typewriter-font/slack-desc b/system/dse-typewriter-font/slack-desc
new file mode 100644
index 0000000000..d1ad44a2c3
--- /dev/null
+++ b/system/dse-typewriter-font/slack-desc
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description.
+# Line up the first '|' above the ':' following the base package name, and
+# the '|' on the right side marks the last column you can put a character in.
+# You must make exactly 11 lines for the formatting to be correct. It's also
+# customary to leave one space after the ':' except on otherwise blank lines.
+
+ |-----handy-ruler------------------------------------------------------|
+dse-typewriter-font: dse-typewriter-font (typewriter-style TrueType font)
+dse-typewriter-font:
+dse-typewriter-font: dse-typewriter-font is a coding font inspired by early 20th-century
+dse-typewriter-font: typewriters, with good Unicode coverage.
+dse-typewriter-font:
+dse-typewriter-font: This font is not the result of any scans or traces of samples,
+dse-typewriter-font: specimens, or other output from an actual typewriter. It's more
+dse-typewriter-font: like an amalgamation of old-school typewriter fonts with features
+dse-typewriter-font: semi-arbitrarily picked from each one, as well as a few not in use
+dse-typewriter-font: on actual typewriters.
+dse-typewriter-font:
diff --git a/system/dtrx/dtrx.SlackBuild b/system/dtrx/dtrx.SlackBuild
index 1d9ff74427..66ac134d48 100644
--- a/system/dtrx/dtrx.SlackBuild
+++ b/system/dtrx/dtrx.SlackBuild
@@ -2,10 +2,11 @@
# Slackware build script for dtrx
-# Petr Kletecka petr@kle.cz <2013>
+# Petr Kletecka petr@kle.cz <2020>
PRGNAM=dtrx
VERSION=${VERSION:-7.1}
+ARCHIVE=${ARCHIVE:-671ccf7d1b7ea90a6e6e6cc44234ef14874d59bf}
BUILD=${BUILD:-1}
TAG=${TAG:-_SBo}
@@ -22,8 +23,8 @@ rm -rf $PKG
mkdir -p $TMP $PKG $OUTPUT
cd $TMP
rm -rf $PRGNAM-$VERSION
-tar xf $CWD/${PRGNAM}-${VERSION}.tar.gz
-cd $PRGNAM-$VERSION
+unzip -o $CWD/$PRGNAM-$ARCHIVE.zip
+cd $PRGNAM-$ARCHIVE
chown -R root:root .
find -L . \
\( -perm 777 -o -perm 775 -o -perm 750 -o -perm 711 -o -perm 555 -o -perm 511 \) \
diff --git a/system/dtrx/dtrx.info b/system/dtrx/dtrx.info
index fde1387e1e..411479487b 100644
--- a/system/dtrx/dtrx.info
+++ b/system/dtrx/dtrx.info
@@ -1,8 +1,8 @@
PRGNAM="dtrx"
VERSION="7.1"
-HOMEPAGE="https://brettcsmith.org/2007/dtrx/"
-DOWNLOAD="https://brettcsmith.org/2007/dtrx/dtrx-7.1.tar.gz"
-MD5SUM="4be207724b75aea3e9f93374298b2174"
+HOMEPAGE="https://github.com/brettcs/dtrx"
+DOWNLOAD="https://github.com/brettcs/dtrx/archive/671ccf7d1b7ea90a6e6e6cc44234ef14874d59bf/dtrx-671ccf7d1b7ea90a6e6e6cc44234ef14874d59bf.zip"
+MD5SUM="80a5abf4324824e3bcaf70d03db37bdb"
DOWNLOAD_x86_64=""
MD5SUM_x86_64=""
REQUIRES=""
diff --git a/system/duplicity/duplicity.SlackBuild b/system/duplicity/duplicity.SlackBuild
index 96ba043d31..2630fa48a1 100644
--- a/system/duplicity/duplicity.SlackBuild
+++ b/system/duplicity/duplicity.SlackBuild
@@ -25,7 +25,7 @@
# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
PRGNAM=duplicity
-VERSION=${VERSION:-0.7.18.2}
+VERSION=${VERSION:-0.7.19}
BUILD=${BUILD:-1}
TAG=${TAG:-_SBo}
diff --git a/system/duplicity/duplicity.info b/system/duplicity/duplicity.info
index f3423d803f..a37512f9fa 100644
--- a/system/duplicity/duplicity.info
+++ b/system/duplicity/duplicity.info
@@ -1,10 +1,10 @@
PRGNAM="duplicity"
-VERSION="0.7.18.2"
+VERSION="0.7.19"
HOMEPAGE="http://duplicity.nongnu.org/"
-DOWNLOAD="https://code.launchpad.net/duplicity/0.7-series/0.7.18.2/+download/duplicity-0.7.18.2.tar.gz"
-MD5SUM="a5d16cc0a95f0fd2bb309cd0b8015945"
+DOWNLOAD="https://code.launchpad.net/duplicity/0.7-series/0.7.19/+download/duplicity-0.7.19.tar.gz"
+MD5SUM="b4decdb60275c87b4fafab55c31dc5ce"
DOWNLOAD_x86_64=""
MD5SUM_x86_64=""
-REQUIRES="librsync lockfile fasteners rename"
+REQUIRES="librsync lockfile fasteners rename six"
MAINTAINER="Jeff Parent"
EMAIL="jeff+SBo@sh0.xyz"
diff --git a/system/duply/duply.SlackBuild b/system/duply/duply.SlackBuild
index 1cfe4be321..ade04d8aa5 100644
--- a/system/duply/duply.SlackBuild
+++ b/system/duply/duply.SlackBuild
@@ -23,7 +23,7 @@
# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
PRGNAM=duply
-VERSION=${VERSION:-2.2}
+VERSION=${VERSION:-2.2.2}
BUILD=${BUILD:-1}
TAG=${TAG:-_SBo}
diff --git a/system/duply/duply.info b/system/duply/duply.info
index b78b1b2e19..0f07fc2b44 100644
--- a/system/duply/duply.info
+++ b/system/duply/duply.info
@@ -1,10 +1,10 @@
PRGNAM="duply"
-VERSION="2.2"
+VERSION="2.2.2"
HOMEPAGE="https://duply.net"
-DOWNLOAD="https://phoenixnap.dl.sourceforge.net/project/ftplicity/duply%20%28simple%20duplicity%29/2.2.x/duply_2.2.tgz"
-MD5SUM="1ea50f06e51f389c1f4075c2dbaecbc5"
+DOWNLOAD="https://cfhcable.dl.sourceforge.net/project/ftplicity/duply%20%28simple%20duplicity%29/2.2.x/duply_2.2.2.tgz"
+MD5SUM="22a8a0d1471d373a7989e698408274b0"
DOWNLOAD_x86_64=""
MD5SUM_x86_64=""
REQUIRES="duplicity"
MAINTAINER="Jeff Parent"
-EMAIL="jeff@sh0.xyz"
+EMAIL="jeff+SBo@sh0.xyz"
diff --git a/system/dust/README b/system/dust/README
new file mode 100644
index 0000000000..84a1a21a62
--- /dev/null
+++ b/system/dust/README
@@ -0,0 +1,6 @@
+Dust is meant to give you an instant overview of which directories are using
+disk space without requiring sort or head.
+
+Dust will list the 20 biggest sub directories or files and will smartly recurse
+down the tree to find the larger ones. There is no need for a '-d' flag or a
+'-h' flag. The largest sub directory will have its size shown in red.
diff --git a/system/dust/dust.SlackBuild b/system/dust/dust.SlackBuild
new file mode 100644
index 0000000000..0ff62de60d
--- /dev/null
+++ b/system/dust/dust.SlackBuild
@@ -0,0 +1,154 @@
+#!/bin/sh
+
+# Slackware build script for dust
+
+# Copyright 2019-2021 Benjamin Trigona-Harany <slackbuilds@jaxartes.net>
+# 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.
+
+PRGNAM=dust
+VERSION=${VERSION:-0.5.4}
+BUILD=${BUILD:-1}
+TAG=${TAG:-_SBo}
+
+if [ -z "$ARCH" ]; then
+ case "$( uname -m )" in
+ i?86) ARCH=i586 ;;
+ arm*) ARCH=arm ;;
+ *) ARCH=$( uname -m ) ;;
+ esac
+
+ if [ "$ARCH" = "i586" ]; then
+ if rustc -Vv | grep host | grep i686 > /dev/null ; then
+ ARCH=i686
+ fi
+ fi
+fi
+
+CWD=$(pwd)
+TMP=${TMP:-/tmp/SBo}
+PKG=$TMP/package-$PRGNAM
+OUTPUT=${OUTPUT:-/tmp}
+
+if [ "$ARCH" = "i586" ]; then
+ SLKCFLAGS="-O2 -march=i586 -mtune=i686"
+ LIBDIRSUFFIX=""
+ CARGOTARGET="--target i586-unknown-linux-gnu"
+elif [ "$ARCH" = "i686" ]; then
+ SLKCFLAGS="-O2 -march=i686 -mtune=i686"
+ LIBDIRSUFFIX=""
+ CARGOTARGET="--target i686-unknown-linux-gnu"
+elif [ "$ARCH" = "x86_64" ]; then
+ SLKCFLAGS="-O2 -fPIC"
+ LIBDIRSUFFIX="64"
+ CARGOTARGET="--target x86_64-unknown-linux-gnu"
+else
+ SLKCFLAGS="-O2"
+ LIBDIRSUFFIX=""
+ CARGOTARGET=""
+fi
+
+set -e
+
+rm -rf $PKG
+mkdir -p $TMP $PKG $OUTPUT
+cd $TMP
+rm -rf $PRGNAM-$VERSION
+tar xvf $CWD/$PRGNAM-$VERSION.tar.gz
+cd $PRGNAM-$VERSION
+
+# build offline
+# configuration tells cargo to use the configured directory
+# for dependencies intead of downloading from crates.io
+mkdir .cargo
+cat << EOF >> .cargo/config
+[source.crates-io]
+registry = 'https://github.com/rust-lang/crates.io-index'
+replace-with = 'vendored-sources'
+
+[source.vendored-sources]
+directory = '$(pwd)/vendor'
+EOF
+
+# deps and versions come from Cargo.lock
+mkdir vendor
+(
+ cd vendor
+
+ grep -h -A 3 "\[\[package\]\]" $(find ../ -maxdepth 1 -mindepth 1 -name Cargo.lock | tr '\n' ' ') | \
+ sed 's/[[:space:]]*=[[:space:]]*/=/g;s/^--//;s/^\[\[/--\n[[/' | \
+ awk 'BEGIN { RS = "--\n" ; FS="\n" } { print $2, $3, $4 }' | sed 's/"//g;s/name=//;s/ version=/=/' | \
+ grep crates\.io-index | sed 's/ source=.*$//' | sort -u | while read -r dep ; do
+
+ ver="$(printf "%s\n" "$dep" | cut -d= -f2)"
+ dep="$(printf "%s\n" "$dep" | cut -d= -f1)"
+
+ tar xvf $CWD/$dep-$ver.crate
+
+ touch $dep-$ver/.cargo-ok
+
+ # generate checksum
+ {
+ printf "{\n"
+ printf ' "files": {\n'
+
+ (
+ cd $dep-$ver
+ find . -type f -print0 | xargs -0 sha256sum | sed -n '/\.cargo-checksum\.json/!p' | sed 's/\.\///;s/^\([^ ]*\)[[:space:]][[:space:]]*\(.*\)$/"\2":"\1",/'
+ ) | sed '$ s/,$//'
+
+ printf " },\n"
+ printf ' "package": "'
+
+ sha256sum "$CWD/$dep-$ver.crate" | cut -f1 -d' ' | sed 's/$/"/'
+
+ printf "}\n"
+ } | python -c "import sys, json; data = sys.stdin.read(); print json.dumps(json.loads(data), sort_keys=True, indent=4, separators=(',', ' : '))" > $dep-$ver/.cargo-checksum.json
+ done
+)
+
+chown -R root:root .
+find -L . \
+ \( -perm 777 -o -perm 775 -o -perm 750 -o -perm 711 -o -perm 555 \
+ -o -perm 511 \) -exec chmod 755 {} \; -o \
+ \( -perm 666 -o -perm 664 -o -perm 640 -o -perm 600 -o -perm 444 \
+ -o -perm 440 -o -perm 400 \) -exec chmod 644 {} \;
+
+CFLAGS="$SLKCFLAGS" \
+CXXFLAGS="$SLKCFLAGS" \
+cargo build --offline --release $CARGOTARGET
+
+mkdir -p $PKG/usr/bin/
+
+find target -name $PRGNAM -exec install -m 755 {} $PKG/usr/bin/$PRGNAM \;
+
+find $PKG -print0 | xargs -0 file | grep -e "executable" -e "shared object" | grep ELF \
+ | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null || true
+
+mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION
+cp -a -r \
+ LICENSE README.md \
+ $PKG/usr/doc/$PRGNAM-$VERSION
+cat $CWD/$PRGNAM.SlackBuild > $PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM.SlackBuild
+
+mkdir -p $PKG/install
+cat $CWD/slack-desc > $PKG/install/slack-desc
+
+cd $PKG
+/sbin/makepkg -l y -c n $OUTPUT/$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.${PKGTYPE:-tgz}
diff --git a/system/dust/dust.info b/system/dust/dust.info
new file mode 100644
index 0000000000..3e2a8987e2
--- /dev/null
+++ b/system/dust/dust.info
@@ -0,0 +1,128 @@
+PRGNAM="dust"
+VERSION="0.5.4"
+HOMEPAGE="https://github.com/bootandy/dust/"
+DOWNLOAD="https://github.com/bootandy/dust/archive/v0.5.4/dust-0.5.4.tar.gz \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/aho-corasick/aho-corasick-0.7.15.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/ansi_term/ansi_term-0.11.0.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/ansi_term/ansi_term-0.12.1.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/assert_cmd/assert_cmd-1.0.2.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/atty/atty-0.2.14.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/autocfg/autocfg-1.0.1.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/bitflags/bitflags-1.2.1.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/bstr/bstr-0.2.14.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/cfg-if/cfg-if-0.1.10.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/cfg-if/cfg-if-1.0.0.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/clap/clap-2.33.3.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/crossbeam-channel/crossbeam-channel-0.4.4.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/crossbeam-utils/crossbeam-utils-0.7.2.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/crossbeam-utils/crossbeam-utils-0.8.1.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/difference/difference-2.0.0.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/doc-comment/doc-comment-0.3.3.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/du-dust/du-dust-0.5.4.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/fnv/fnv-1.0.7.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/getrandom/getrandom-0.2.1.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/globset/globset-0.4.6.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/hermit-abi/hermit-abi-0.1.17.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/ignore/ignore-0.4.17.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/lazy_static/lazy_static-1.4.0.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/libc/libc-0.2.82.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/log/log-0.4.13.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/lscolors/lscolors-0.7.1.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/maybe-uninit/maybe-uninit-2.0.0.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/memchr/memchr-2.3.4.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/num_cpus/num_cpus-1.13.0.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/ppv-lite86/ppv-lite86-0.2.10.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/predicates/predicates-1.0.6.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/predicates-core/predicates-core-1.0.1.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/predicates-tree/predicates-tree-1.0.1.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/rand/rand-0.8.2.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/rand_chacha/rand_chacha-0.3.0.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/rand_core/rand_core-0.6.1.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/rand_hc/rand_hc-0.3.0.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/redox_syscall/redox_syscall-0.2.4.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/regex/regex-1.4.3.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/regex-syntax/regex-syntax-0.6.22.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/remove_dir_all/remove_dir_all-0.5.3.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/same-file/same-file-1.0.6.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/stfu8/stfu8-0.2.4.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/strsim/strsim-0.8.0.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/tempfile/tempfile-3.2.0.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/terminal_size/terminal_size-0.1.15.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/textwrap/textwrap-0.11.0.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/thousands/thousands-0.2.0.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/thread_local/thread_local-1.1.0.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/treeline/treeline-0.1.0.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/unicode-width/unicode-width-0.1.8.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/vec_map/vec_map-0.8.2.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/wait-timeout/wait-timeout-0.2.0.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/walkdir/walkdir-2.3.1.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/wasi/wasi-0.10.1+wasi-snapshot-preview1.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/winapi/winapi-0.3.9.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/winapi-i686-pc-windows-gnu/winapi-i686-pc-windows-gnu-0.4.0.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/winapi-util/winapi-util-0.1.5.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/winapi-x86_64-pc-windows-gnu/winapi-x86_64-pc-windows-gnu-0.4.0.crate"
+MD5SUM="4949eb0c64996079eab79162ab5d2df1 \
+ 93850f8bf39e61dcf80ce49b5e0943d7 \
+ 294a49d3c53865fa7ac5d0ce2f5d5735 \
+ f44e8d1d2e61974b268852797530ea41 \
+ f06a942b7e3e0b3a5eb3fb86dfb27605 \
+ 142cb4b9a653e56e56311f0c883b8582 \
+ c6443ec8d007c729ba5482008d0c864d \
+ 6799c26a7eacaf8e58d3e45c6c5add89 \
+ 0df9d76acda993ef38665e5e254f500c \
+ 882dbbc613a93f64c3709b0a2bd0d6dc \
+ 74634128440dbc3766bda76fdf0aaa05 \
+ bc79e0eb364df515a33755ac9a581cfd \
+ 093c5099d3cef0f418550fe28788d34d \
+ ff67cf2eb9668167782b8012d3b48e7b \
+ 9e1f73325eeb9647ee68eeaa4bff975c \
+ 5e49f4c3f9076fe30ae207fe951f9195 \
+ dd1e49c76e9d5853e673a3b41ba02917 \
+ 1e34572c42ac9f55fbf404b5d1437c11 \
+ 8dab3b3ec00dc56cffde0b0c410d47b5 \
+ 41b82342dee92cae37b3b731ad83e5aa \
+ 1b94f32581a557963eecb29761e9c0eb \
+ 553b325a602b701eb7eaef228e69d0f2 \
+ 88b4e3e28ea8527c2b0e7124d6d5766f \
+ fba3b040a55c01be7376d3dd5c4d4920 \
+ a59d2449c2538c87a5a6aac25e852220 \
+ 667d0475d8eb79899b3f511e9acd7c4d \
+ f3373fd861a0066fa446a8ab3dabc749 \
+ b5cf10e268e8a3bee2de8a734104245e \
+ fa3630e5867493e09296155763e4f4a0 \
+ c36d452e37c73b1e99f40bae18cddfdb \
+ a4ff7abd41c57dfd24bbd4b50edb848f \
+ b966c0b76d66f779eb93e0f0a490912a \
+ 7cb6e5d606fb3a5987be4e135baea727 \
+ a045d820c7167768e155123b5a985360 \
+ 98aea9dd15bb412a38837b668e020e1f \
+ bacea6e63b5b0b7a55a8881b47d80f3a \
+ 7514db098d4a8e624178b2732ce3c4ab \
+ 69e9436d5c9889a6fdf199dfc5c3d3fe \
+ 381ebb79fffdf657a666ee577323039e \
+ 26d687e0e0e8b04fafabfcd88f594a53 \
+ bef05db0f0e720c1fd56505850065ae1 \
+ 0538d1da369f3e3f0412aa4d735c1b61 \
+ 2d8d8b377d144f5e32b4f65a69eb0b24 \
+ c58c5d6565be5a35674117b9826795b4 \
+ 781d4ccf5d04c98fa02af207a9639249 \
+ 6e328718765f2352dd34f10215488fbb \
+ a949194aa8c4d54f31bdda76da660982 \
+ a8de006fe0c7e373c560dd51599287a8 \
+ eca4f78f2f4293611dccd41ad47a3be9 \
+ bf8e3f0acd783c8554afb599d7d36817 \
+ 8f1da9ba3b7b793efa8a39a159d06035 \
+ 4272c279b06b88f8b0ffce7109348e27 \
+ 333b4ba3f64c35b6f89b521e8d64548b \
+ 6708629acf3d2ecb7404e43255d2df85 \
+ 1092a4a24e80f8856efc71af51a06114 \
+ f95e376ec9ce794a747aba5b8ec3d940 \
+ 0498c4a11448bfc35dc7bb2caa64c753 \
+ db96b50050277bf05a3c68534bbb9586 \
+ b9e37d5fc4ad28b612b78ad37816684d \
+ 09de9d01e7331ff3da11f58be8bef0df"
+DOWNLOAD_x86_64=""
+MD5SUM_x86_64=""
+REQUIRES=""
+MAINTAINER="Benjamin Trigona-Harany"
+EMAIL="slackbuilds@jaxartes.net"
diff --git a/system/dust/slack-desc b/system/dust/slack-desc
new file mode 100644
index 0000000000..8d56e0f318
--- /dev/null
+++ b/system/dust/slack-desc
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description.
+# Line up the first '|' above the ':' following the base package name, and
+# the '|' on the right side marks the last column you can put a character in.
+# You must make exactly 11 lines for the formatting to be correct. It's also
+# customary to leave one space after the ':' except on otherwise blank lines.
+
+ |-----handy-ruler------------------------------------------------------|
+dust: dust (more intuitive du)
+dust:
+dust: dust is a more intuitive version of the du command, showing an
+dust: overview of which directories are using disk space.
+dust:
+dust:
+dust:
+dust:
+dust:
+dust:
+dust:
diff --git a/system/early-ssh/early-ssh.SlackBuild b/system/early-ssh/early-ssh.SlackBuild
index 70cc852bef..0405940a32 100644
--- a/system/early-ssh/early-ssh.SlackBuild
+++ b/system/early-ssh/early-ssh.SlackBuild
@@ -23,11 +23,12 @@
# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
PRGNAM=early-ssh
-GITREV=${GITREV:-4acf000ddbe564dcafec626ec0dc7eadd821a857}
-VERSION=${VERSION:-git$(echo "$GITREV" | sed 's/^\(.\{7\}\).*$/\1/')}
+VERSION=${VERSION:-git4acf000}
BUILD=${BUILD:-1}
TAG=${TAG:-_SBo}
+GITREV=4acf000ddbe564dcafec626ec0dc7eadd821a857
+
ARCH=noarch
CWD=$(pwd)
diff --git a/system/entr/entr.SlackBuild b/system/entr/entr.SlackBuild
index 671ea40e31..275bbf4d1f 100644
--- a/system/entr/entr.SlackBuild
+++ b/system/entr/entr.SlackBuild
@@ -2,7 +2,7 @@
# Slackware build script for entr
-# Copyright 2014-2016 Kent Fritz, Mountain View, CA
+# Copyright 2014-2020 Kent Fritz, Mountain View, CA
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
@@ -23,7 +23,7 @@
# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
PRGNAM=entr
-VERSION=${VERSION:-3.6}
+VERSION=${VERSION:-4.6}
BUILD=${BUILD:-1}
TAG=${TAG:-_SBo}
@@ -59,11 +59,9 @@ set -e
rm -rf $PKG
mkdir -p $TMP $PKG $OUTPUT
cd $TMP
-DIRNAME=`tar tf $CWD/$PRGNAM-$VERSION.tar.gz | head -1 | cut -d/ -f1`
-[ "${DIRNAME}" = "" -o "$DIRNAME" = "/" ] && exit 1
-rm -rf $DIRNAME
+rm -rf $PRGNAM-$VERSION
tar xvf $CWD/$PRGNAM-$VERSION.tar.gz
-cd $DIRNAME
+cd $PRGNAM-$VERSION
chown -R root:root .
find -L . \
\( -perm 777 -o -perm 775 -o -perm 750 -o -perm 711 -o -perm 555 \
diff --git a/system/entr/entr.info b/system/entr/entr.info
index f1b145b004..e789b0c1fd 100644
--- a/system/entr/entr.info
+++ b/system/entr/entr.info
@@ -1,8 +1,8 @@
PRGNAM="entr"
-VERSION="3.6"
+VERSION="4.6"
HOMEPAGE="http://entrproject.org"
-DOWNLOAD="http://entrproject.org/code/entr-3.6.tar.gz"
-MD5SUM="072eed7153296a8fae6ebdedefed9fd4"
+DOWNLOAD="http://entrproject.org/code/entr-4.6.tar.gz"
+MD5SUM="e91417c7096bb94cbe8a8d2976223cb8"
DOWNLOAD_x86_64=""
MD5SUM_x86_64=""
REQUIRES=""
diff --git a/system/epson-inkjet-printer-escpr/README.models b/system/epson-inkjet-printer-escpr/README.models
index 52bf2545e8..b5b5fdb956 100644
--- a/system/epson-inkjet-printer-escpr/README.models
+++ b/system/epson-inkjet-printer-escpr/README.models
@@ -6,36 +6,37 @@ E-500, E-520, E-530, E-530P, E-530S, E-600, E-700, E-720, E-800, E-810,
E-820, E-830 Series, E-840 Series, E-850 Series, EC-C110 Series, EP-10VA
Series, EP-306 Series, EP-30VA Series, EP-4004, EP-702A, EP-703A,
EP-704A, EP-705A Series, EP-706A Series, EP-707A Series, EP-708A Series,
-EP-709A Series, EP-710A Series, EP-711A Series, EP-712A Series, EP-774A,
-EP-775A Series, EP-776A Series, EP-777A Series, EP-801A, EP-802A,
-EP-803A, EP-804A, EP-805A Series, EP-806A Series, EP-807A Series,
-EP-808A Series, EP-810A Series, EP-811A Series, EP-812A Series, EP-901A,
-EP-901F, EP-902A, EP-903A, EP-903F, EP-904A, EP-904F, EP-905A Series,
-EP-905F Series, EP-906F Series, EP-907F Series, EP-976A3 Series,
-EP-977A3 Series, EP-978A3 Series, EP-979A3 Series, EP-M552T Series,
-EP-M570T Series, ET-1110 Series, ET-16500 Series, ET-2500 Series,
-ET-2550 Series, ET-2600 Series, ET-2610 Series, ET-2650 Series, ET-2700
-Series, ET-2710 Series, ET-2720 Series, ET-2750 Series, ET-2760 Series,
-ET-4500 Series, ET-4550 Series, ET-4700 Series, ET-7700 Series, ET-7750
-Series, ET-M1100 Series, ET-M1120 Series, EW-052A Series, EW-452A
-Series, EW-M5071FT Series, EW-M571T Series, EW-M660FT Series, EW-M770T
-Series, EW-M970A3T Series, K200, K300, L1110 Series, L1455 Series, L3050
-Series, L3060 Series, L3070 Series, L3100 Series, L3110 Series, L3150
-Series, L3160 Series, L364 Series, L375 Series, L385 Series, L386
-Series, L395 Series, L396 Series, L405 Series, L4150 Series, L4160
-Series, L475 Series, L485 Series, L486 Series, L495 Series, L5190
-Series, L565 Series, L566 Series, L575 Series, L605 Series, L655 Series,
-L7160 Series, L7180 Series, L805 Series, L810 Series, L850 Series, M1100
-Series, M1120 Series, M200 Series, M205 Series, M2110 Series, M2120
-Series, ME 200, ME OFFICE 520, ME OFFICE 530, ME OFFICE 560W, ME OFFICE
-570, ME OFFICE 620F, ME OFFICE 900WD, ME OFFICE 940FW, ME OFFICE 960FWD,
-ME Office 510, ME Office 600F, ME Office 650FN, ME Office 700FW, ME-301
-Series, ME-303 Series, ME-400 Series, NX230 TX230, NX430 TX435, PF-70
-Series, PF-71 Series, PF-81 Series, PM-400 Series, PM-A750, PM-A820,
-PM-A840, PM-A840S, PM-A890, PM-A920, PM-A940, PM-A950, PM-A970, PM-D600,
-PM-D800, PM-D870, PM-G4500, PM-G850, PM-T960, PM-T990, PX-046A Series,
-PX-047A Series, PX-048A Series, PX-049A Series, PX-1600F, PX-1700F,
-PX-205 Series, PX-404A, PX-405A Series, PX-434A, PX-435A Series, PX-436A
+EP-709A Series, EP-710A Series, EP-711A Series, EP-712A Series, EP-713A
+Series, EP-774A, EP-775A Series, EP-776A Series, EP-777A Series,
+EP-801A, EP-802A, EP-803A, EP-804A, EP-805A Series, EP-806A Series,
+EP-807A Series, EP-808A Series, EP-810A Series, EP-811A Series, EP-812A
+Series, EP-813A Series, EP-901A, EP-901F, EP-902A, EP-903A, EP-903F,
+EP-904A, EP-904F, EP-905A Series, EP-905F Series, EP-906F Series,
+EP-907F Series, EP-976A3 Series, EP-977A3 Series, EP-978A3 Series,
+EP-979A3 Series, EP-M552T Series, EP-M570T Series, ET-1110 Series,
+ET-16500 Series, ET-2500 Series, ET-2550 Series, ET-2600 Series, ET-2610
+Series, ET-2650 Series, ET-2700 Series, ET-2710 Series, ET-2720 Series,
+ET-2750 Series, ET-2760 Series, ET-4500 Series, ET-4550 Series, ET-4700
+Series, ET-7700 Series, ET-7750 Series, ET-M1100 Series, ET-M1120
+Series, ET-M2120 Series, EW-052A Series, EW-452A Series, EW-M5071FT
+Series, EW-M571T Series, EW-M660FT Series, EW-M770T Series, EW-M970A3T
+Series, K200, K300, L1110 Series, L1455 Series, L3050 Series, L3060
+Series, L3070 Series, L3100 Series, L3110 Series, L3150 Series, L3160
+Series, L364 Series, L375 Series, L385 Series, L386 Series, L395 Series,
+L396 Series, L405 Series, L4150 Series, L4160 Series, L475 Series, L485
+Series, L486 Series, L495 Series, L5190 Series, L565 Series, L566
+Series, L575 Series, L605 Series, L655 Series, L7160 Series, L7180
+Series, L805 Series, L810 Series, L850 Series, M1100 Series, M1120
+Series, M200 Series, M205 Series, M2110 Series, M2120 Series, ME 200, ME
+OFFICE 520, ME OFFICE 530, ME OFFICE 560W, ME OFFICE 570, ME OFFICE
+620F, ME OFFICE 900WD, ME OFFICE 940FW, ME OFFICE 960FWD, ME Office 510,
+ME Office 600F, ME Office 650FN, ME Office 700FW, ME-301 Series, ME-303
+Series, ME-400 Series, NX230 TX230, NX430 TX435, PF-70 Series, PF-71
+Series, PF-81 Series, PM-400 Series, PM-A750, PM-A820, PM-A840,
+PM-A840S, PM-A890, PM-A920, PM-A940, PM-A950, PM-A970, PM-D600, PM-D800,
+PM-D870, PM-G4500, PM-G850, PM-T960, PM-T990, PX-046A Series, PX-047A
+Series, PX-048A Series, PX-049A Series, PX-1600F, PX-1700F, PX-205
+Series, PX-404A, PX-405A Series, PX-434A, PX-435A Series, PX-436A
Series, PX-437A Series, PX-501A, PX-502A, PX-503A, PX-504A, PX-505F
Series, PX-535F Series, PX-5600, PX-5V, PX-601F, PX-602F, PX-603F,
PX-605F Series, PX-673F, PX-675F Series, PX-7V, PX-A620, PX-A640,
@@ -115,23 +116,23 @@ Series, WP-4092 Series, WP-4095 Series, WP-4511 Series, WP-4515 Series,
WP-4520 Series, WP-4521 Series, WP-4525 Series, WP-4530 Series, WP-4531
Series, WP-4532 Series, WP-4533 Series, WP-4535 Series, WP-4540 Series,
WP-4545 Series, WP-4590 Series, WP-4592 Series, WP-4595 Series, WP-M4011
-Series, WP-M4015 Series, WP-M4095 Series, WP-M4521 Series, WP-M4525
-Series, WP-M4595 Series, WorkForce 310, WorkForce 320, WorkForce 435,
-WorkForce 500, WorkForce 520, WorkForce 545, WorkForce 600, WorkForce
-610, WorkForce 620, WorkForce 630, WorkForce 645, WorkForce 840,
-WorkForce 845, XP-200 Series, XP-201 204 208 Series, XP-202 203 206
-Series, XP-205 207 Series, XP-2100 Series, XP-211 214 216 Series, XP-212
-213 Series, XP-215 217 Series, XP-220 Series, XP-225 Series, XP-235
-Series, XP-240 Series, XP-243 245 247 Series, XP-255 257 Series, XP-300
-Series, XP-302 303 305 306 Series, XP-310 Series, XP-3100 Series, XP-312
-313 315 Series, XP-320 Series, XP-322 323 325 Series, XP-330 Series,
-XP-332 335 Series, XP-340 Series, XP-342 343 345 Series, XP-352 355
-Series, XP-400 Series, XP-402 403 405 406 Series, XP-410 Series, XP-4100
-Series, XP-412 413 415 Series, XP-420 Series, XP-422 423 425 Series,
-XP-430 Series, XP-432 435 Series, XP-440 Series, XP-442 445 Series,
-XP-452 455 Series, XP-510 Series, XP-520 Series, XP-530 Series, XP-540
-Series, XP-55 Series, XP-600 Series, XP-610 Series, XP-620 Series,
-XP-630 Series, XP-640 Series, XP-700 Series, XP-710 Series, XP-7100
-Series, XP-720 Series, XP-750 Series, XP-760 Series, XP-800 Series,
-XP-810 Series, XP-820 Series, XP-830 Series, XP-850 Series, XP-860
+Series, WP-M4015 Series, WP-M4095 Series, WP-M4521 Series, WP-M4525
+Series, WP-M4595 Series, WorkForce 310, WorkForce 320, WorkForce 435,
+WorkForce 500, WorkForce 520, WorkForce 545, WorkForce 600, WorkForce
+610, WorkForce 620, WorkForce 630, WorkForce 645, WorkForce 840,
+WorkForce 845, XP-200 Series, XP-201 204 208 Series, XP-202 203 206
+Series, XP-205 207 Series, XP-2100 Series, XP-211 214 216 Series, XP-212
+213 Series, XP-215 217 Series, XP-220 Series, XP-225 Series, XP-235
+Series, XP-240 Series, XP-243 245 247 Series, XP-255 257 Series, XP-300
+Series, XP-302 303 305 306 Series, XP-310 Series, XP-3100 Series, XP-312
+313 315 Series, XP-320 Series, XP-322 323 325 Series, XP-330 Series,
+XP-332 335 Series, XP-340 Series, XP-342 343 345 Series, XP-352 355
+Series, XP-400 Series, XP-402 403 405 406 Series, XP-410 Series, XP-4100
+Series, XP-412 413 415 Series, XP-420 Series, XP-422 423 425 Series,
+XP-430 Series, XP-432 435 Series, XP-440 Series, XP-442 445 Series,
+XP-452 455 Series, XP-510 Series, XP-520 Series, XP-530 Series, XP-540
+Series, XP-55 Series, XP-600 Series, XP-610 Series, XP-620 Series,
+XP-630 Series, XP-640 Series, XP-700 Series, XP-710 Series, XP-7100
+Series, XP-720 Series, XP-750 Series, XP-760 Series, XP-800 Series,
+XP-810 Series, XP-820 Series, XP-830 Series, XP-850 Series, XP-860
Series, XP-900 Series, XP-950 Series, XP-960 Series
diff --git a/system/epson-inkjet-printer-escpr/epson-inkjet-printer-escpr.SlackBuild b/system/epson-inkjet-printer-escpr/epson-inkjet-printer-escpr.SlackBuild
index 3830421f8d..88dbdefd43 100644
--- a/system/epson-inkjet-printer-escpr/epson-inkjet-printer-escpr.SlackBuild
+++ b/system/epson-inkjet-printer-escpr/epson-inkjet-printer-escpr.SlackBuild
@@ -25,7 +25,7 @@
# Update by: blizzack <slackbuilds@blizzack.com>
PRGNAM=epson-inkjet-printer-escpr
-VERSION=${VERSION:-1.7.6}
+VERSION=${VERSION:-1.7.8}
TARNAM=$PRGNAM-$VERSION-1lsb3.2.tar.gz
BUILD=${BUILD:-1}
TAG=${TAG:-_SBo}
diff --git a/system/epson-inkjet-printer-escpr/epson-inkjet-printer-escpr.info b/system/epson-inkjet-printer-escpr/epson-inkjet-printer-escpr.info
index 09fae0b6bc..f88bde0aac 100644
--- a/system/epson-inkjet-printer-escpr/epson-inkjet-printer-escpr.info
+++ b/system/epson-inkjet-printer-escpr/epson-inkjet-printer-escpr.info
@@ -1,8 +1,8 @@
PRGNAM="epson-inkjet-printer-escpr"
-VERSION="1.7.6"
+VERSION="1.7.8"
HOMEPAGE="http://download.ebz.epson.net/dsc/search/01/search/"
-DOWNLOAD="https://download3.ebz.epson.net/dsc/f/03/00/10/33/90/13c8b802beeae061b6eb08248a0417be08484a26/epson-inkjet-printer-escpr-1.7.6-1lsb3.2.tar.gz"
-MD5SUM="3d11d2303964cd940ddd7734f5da5712"
+DOWNLOAD="https://sourceforge.net/projects/slackbuildsdirectlinks/files/epson-printer/epson-inkjet-printer-escpr-1.7.8-1lsb3.2.tar.gz"
+MD5SUM="1631fef39f62e368d95b3823121bf8a8"
DOWNLOAD_x86_64=""
MD5SUM_x86_64=""
REQUIRES=""
diff --git a/system/epson-inkjet-printer-escpr2/README b/system/epson-inkjet-printer-escpr2/README
index 85e7504fe4..ac28a3caac 100644
--- a/system/epson-inkjet-printer-escpr2/README
+++ b/system/epson-inkjet-printer-escpr2/README
@@ -5,3 +5,4 @@ If your printer is not listed, try the escpr package instead.
See README.models for supported printer models.
don't forget to restart cups after installing/updating this driver
+You will have to print a page in order to get an acurate ink status.
diff --git a/system/epson-inkjet-printer-escpr2/README.models b/system/epson-inkjet-printer-escpr2/README.models
index 0ee52e084c..13f4944464 100644
--- a/system/epson-inkjet-printer-escpr2/README.models
+++ b/system/epson-inkjet-printer-escpr2/README.models
@@ -1,25 +1,36 @@
-EC-4020 Series, EC-4030 Series, EC-4040 Series, EP-50V Series,
-EP-879A Series, EP-880A Series, EP-881A Series, EP-882A Series,
-EP-982A3 Series, ET-3700 Series, ET-3710 Series, ET-3750 Series,
-ET-3760 Series, ET-4750 Series, ET-4760 Series, ET-8700 Series,
-ET-M1140 Series, ET-M1170 Series, ET-M1180 Series, ET-M2140 Series,
-ET-M2170 Series, ET-M3140 Series, ET-M3170 Series, ET-M3180 Series,
-EW-M630T Series, EW-M670FT Series, EW-M752T Series, L6160 Series,
-L6170 Series, L6190 Series, M1140 Series, M1170 Series,
-M1180 Series, M2140 Series, M2170 Series, M3140 Series, M3170 Series,
-M3180 Series, PM-520 Series, PX-M270FT Series, PX-M270T Series,
-PX-M380F, PX-M381FL, PX-M5080F Series, PX-M5081F Series,
-PX-M680F Series, PX-M7070FX, PX-M7110F, PX-M7110FP, PX-M780F Series,
-PX-M781F Series, PX-M880FX, PX-M884F, PX-M885F, PX-M886FL,
-PX-S270T Series, PX-S380, PX-S381L, PX-S5010 Series, PX-S5080 Series,
-PX-S7070X, PX-S7110, PX-S7110P, PX-S880X, PX-S884, PX-S885,
-ST-3000 Series, ST-4000 Series, ST-M1000 Series, ST-M3000 Series,
-WF-2860 Series, WF-3720 Series, WF-3730 Series, WF-4720 Series,
-WF-4730 Series, WF-4740 Series, WF-7210 Series, WF-7710 Series,
-WF-7720 Series, WF-C5210 Series, WF-C5290 Series, WF-C5290BA,
-WF-C529R Series, WF-C529RB, WF-C5710 Series, WF-C5790 Series,
-WF-C5790BA, WF-C579R Series, WF-C579RB, WF-C8190 Series, WF-C8190B,
-WF-C8610 Series, WF-C8690 Series, WF-C8690B, WF-C869R Series,
-WF-M5298 Series, WF-M5299 Series, WF-M5799 Series, XP-15000 Series,
-XP-5100 Series, XP-6000 Series, XP-6100 Series, XP-8500 Series,
-XP-8600 Series, XP-970 Series
+EC-4020 Series, EC-4030 Series, EC-4040 Series, EC-C7000 Series
+EP-50V Series, EP-879A Series, EP-880A Series, EP-881A Series
+EP-882A Series, EP-883A Series, EP-982A3 Series, ET-15000 Series
+ET-16150 Series, ET-16600 Series, ET-16650 Series, ET-3700 Series
+ET-3710 Series, ET-3750 Series, ET-3760 Series, ET-4750 Series
+ET-4760 Series, ET-5150 Series, ET-5170 Series, ET-5800 Series
+ET-5850 Series, ET-5880 Series, ET-8500 Series, ET-8550 Series
+ET-8700 Series, ET-M1140 Series, ET-M1170 Series, ET-M1180 Series
+ET-M16600 Series, ET-M2140 Series, ET-M2170 Series, ET-M3140 Series
+ET-M3170 Series, ET-M3180 Series, EW-M530F Series, EW-M5610FT Series
+EW-M630T Series, EW-M670FT Series, EW-M752T Series, EW-M873T Series
+EW-M973A3T Series, L11160 Series, L14150 Series, L15150 Series
+L15160 Series, L15180 Series, L6160 Series, L6170 Series, L6190 Series
+L6550 Series, L6570 Series, L6580 Series, L8160 Series, L8180 Series
+M1140 Series, M1170 Series, M1180 Series, M15140 Series, M2140 Series
+M2170 Series, M3140 Series, M3170 Series, M3180 Series, PM-520 Series
+PX-M270FT Series, PX-M270T Series, PX-M380F, PX-M381FL
+PX-M5080F Series, PX-M5081F Series, PX-M6010F Series, PX-M6011F Series
+PX-M6711FT Series, PX-M6712FT Series, PX-M680F Series, PX-M7070FX
+PX-M7080FX, PX-M7090FX, PX-M7110F, PX-M7110FP, PX-M730F Series
+PX-M780F Series, PX-M781F Series, PX-M791FT Series, PX-M880FX, PX-M884F
+PX-M885F, PX-M886FL, PX-S270T Series, PX-S380, PX-S381L
+PX-S5010 Series, PX-S5080 Series, PX-S6710T Series, PX-S7070X
+PX-S7090X, PX-S7110, PX-S7110P, PX-S880X, PX-S884, PX-S885
+ST-3000 Series, ST-4000 Series, ST-C8000 Series, ST-M1000 Series
+ST-M3000 Series, WF-2860 Series, WF-3720 Series, WF-3730 Series
+WF-3820 Series, WF-4720 Series, WF-4730 Series, WF-4740 Series
+WF-4820 Series, WF-4830 Series, WF-7210 Series, WF-7710 Series
+WF-7720 Series, WF-7820 Series, WF-7830 Series, WF-7840 Series
+WF-C5210 Series, WF-C5290 Series, WF-C5290BA, WF-C529R Series
+WF-C529RB, WF-C5710 Series, WF-C5790 Series, WF-C5790BA
+WF-C579R Series, WF-C579RB, WF-C8190 Series, WF-C8190B, WF-C8610 Series
+WF-C8690 Series, WF-C8690B, WF-C869R Series, WF-C878R Series, WF-C878RB
+WF-C879R Series, WF-C879RB, WF-M5298 Series, WF-M5299 Series
+WF-M5799 Series, XP-15000 Series, XP-5100 Series, XP-6000 Series
+XP-6100 Series, XP-8500 Series, XP-8600 Series, XP-970 Series
diff --git a/system/epson-inkjet-printer-escpr2/doinst.sh b/system/epson-inkjet-printer-escpr2/doinst.sh
new file mode 100644
index 0000000000..9cf806b007
--- /dev/null
+++ b/system/epson-inkjet-printer-escpr2/doinst.sh
@@ -0,0 +1,6 @@
+echo
+echo "********************* NOTICE **********************"
+echo "Cups needs restarting for new drivers to be usable:"
+echo "/etc/rc.d/rc.cups restart"
+echo "***************************************************"
+echo
diff --git a/system/epson-inkjet-printer-escpr2/epson-inkjet-printer-escpr2.SlackBuild b/system/epson-inkjet-printer-escpr2/epson-inkjet-printer-escpr2.SlackBuild
index e40c7dea63..2fcc1e0c7e 100644
--- a/system/epson-inkjet-printer-escpr2/epson-inkjet-printer-escpr2.SlackBuild
+++ b/system/epson-inkjet-printer-escpr2/epson-inkjet-printer-escpr2.SlackBuild
@@ -2,10 +2,11 @@
# Slackware build script for escpr2
-# Copyright 2018/9 Tim Dickson
+# Copyright 2018-2020 Tim Dickson
+# All rights reserved.
+#
# thanks to Ruben Schuller for escpr slack build, which this is
# heavily based on.
-# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
# permitted provided that the following conditions are met:
@@ -24,8 +25,12 @@
# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+#note to self. paste list of supported models into first line of empty README.models
+#file. run sh ./fixrm to spread the model list evenly over as many lines as needed
+#also request upload of source to slackbuildsdirectlinks.
+
PRGNAM=epson-inkjet-printer-escpr2
-VERSION=${VERSION:-1.1.2}
+VERSION=${VERSION:-1.1.29}
EXTRABIT=1lsb3.2
TARNAM=$PRGNAM-$VERSION-$EXTRABIT.tar.gz
BUILD=${BUILD:-1}
@@ -107,6 +112,7 @@ cat $CWD/$PRGNAM.SlackBuild > $PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM.SlackBuild
mkdir -p $PKG/install
cat $CWD/slack-desc > $PKG/install/slack-desc
+cat $CWD/doinst.sh >$PKG/install/doinst.sh
cd $PKG
/sbin/makepkg -l y -c n $OUTPUT/$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.${PKGTYPE:-tgz}
diff --git a/system/epson-inkjet-printer-escpr2/epson-inkjet-printer-escpr2.info b/system/epson-inkjet-printer-escpr2/epson-inkjet-printer-escpr2.info
index 9ec26a7a49..37af85947e 100644
--- a/system/epson-inkjet-printer-escpr2/epson-inkjet-printer-escpr2.info
+++ b/system/epson-inkjet-printer-escpr2/epson-inkjet-printer-escpr2.info
@@ -1,8 +1,8 @@
PRGNAM="epson-inkjet-printer-escpr2"
-VERSION="1.1.2"
+VERSION="1.1.29"
HOMEPAGE="http://download.ebz.epson.net/dsc/search/01/search/"
-DOWNLOAD="https://download3.ebz.epson.net/dsc/f/03/00/10/19/86/41d3fc9b6dca51fdf1a4f9d240c56236cc153f74/epson-inkjet-printer-escpr2-1.1.2-1lsb3.2.src.rpm"
-MD5SUM="5068754794782ae7eb94baa3f5922162"
+DOWNLOAD="https://sourceforge.net/projects/slackbuildsdirectlinks/files/epson-printer/epson-inkjet-printer-escpr2-1.1.29-1lsb3.2.src.rpm"
+MD5SUM="b36f12fadc8db81050982ad3901c1b4a"
DOWNLOAD_x86_64=""
MD5SUM_x86_64=""
REQUIRES=""
diff --git a/system/epson-inkjet-printer-escpr2/fixrm b/system/epson-inkjet-printer-escpr2/fixrm
new file mode 100644
index 0000000000..e1c5c21315
--- /dev/null
+++ b/system/epson-inkjet-printer-escpr2/fixrm
@@ -0,0 +1,30 @@
+#!/bin/sh
+#fixrm is a little script to limit the items on each line so the line
+#is less than 72 characters. it is used by the maintainer when creating
+#the README.models file for this package, and for the epson-inkjet-printer-escpr2
+#slackbuild. It takes the list posted on a single long first line, and spreads
+#them over as many lines as needed.
+#
+#paste the list from the epson website into an empty README.models and run this
+#script in the same directory
+
+FNAME="README.models"
+MAXLEN=${MAXLEN:-72}
+#make sure MAXLEN is a integer bigger than 39
+MAXLEN=`echo $MAXLEN|awk '($1<40) {print "40"} (int($1)>39) {print int($1) }'`
+if [ -e $FNAME ]&&[ `cat $FNAME|head -n1|awk '{print length($0)}'` -gt $MAXLEN ]; then
+ #only do something if the file exists, and thefirst line is longer than it
+ #should be.
+ TMPFILE=rmtmp
+ mv README.models $TMPFILE
+ cat $TMPFILE|awk -v mlen="$MAXLEN" -F', ' 'BEGIN{curline="";mlen=mlen-2}
+{ for (i=1;i<=NF; i++)
+ { { n=0; l=length(curline)+length($i) }
+ if (i==1) {curline=$i; n=1}
+ if (l<mlen && i>1) { curline=curline ", " $i; n=1}
+ if (n==0) {print curline; curline=$i }
+ }
+ if (length(curline)>0) {print curline; curline=""}
+}'>README.models
+ rm $TMPFILE
+fi
diff --git a/system/epson-printer-utility/LICENCE.html b/system/epson-printer-utility/LICENCE.html
new file mode 100644
index 0000000000..9db25aedc9
--- /dev/null
+++ b/system/epson-printer-utility/LICENCE.html
@@ -0,0 +1,98 @@
+<html><head>
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+</head>
+<body>
+<font size="2">
+<font size="3"><b>SEIKO EPSON CORPORATION</b></font><br>
+<font size="3"><b>SOFTWARE LICENSE AGREEMENT FOR LINUX</b></font><br>
+<br>
+IMPORTANT! READ THIS SOFTWARE LICENSE AGREEMENT CAREFULLY. The computer
+ software product, fontware, typefaces and/or data, including any
+accompanying explanatory written materials (the "Software") should only
+be installed or used by the Licensee ("you") on the condition you agree
+with SEIKO EPSON CORPORATION ("EPSON") to the terms and conditions set
+forth in this Agreement. By installing or using the Software, you are
+representing to agree all the terms and conditions set forth in this
+Agreement. You should read this Agreement carefully before installing
+or using the Software. If you do not agree with the terms and
+conditions of this Agreement, you are not permitted to install or use
+the Software.<br>
+<br>
+
+<hr>
+
+<font size="4"><b>[Inkjet Printer]</b></font><br>
+<font size="4"><b>1.ESC/P</b></font>
+<ul>
+<li><a href="http://download.ebz.epson.net/la/linux/inkjet_for_linux.html" target="_blank">License agreement for Epson Inkjet Printer Driver for Linux</a></li>
+</ul>
+
+<font size="4"><b>2.ESC/P-R</b></font>
+<ul>
+<li><a href="http://www.gnu.org/licenses/gpl.html" target="_blank">GNU General Public License</a></li>
+</ul>
+
+<font size="4"><b>3.PIPS(Photo Image Print System)</b></font>
+<ul>
+<li><a href="http://www.gnu.org/licenses/gpl.html" target="_blank">GNU General Public License</a></li>
+<li><a href="http://www.gnu.org/licenses/lgpl.html" target="_blank">GNU Lesser General Public License</a></li>
+<li><a href="http://download.ebz.epson.net/la/linux/AVASYSPL.en.txt" target="_blank">AVASYS Public License</a></li>
+</ul>
+
+<hr>
+
+<font size="4"><b>[Laser Printer]</b></font><br>
+<font size="4"><b>1.Postscript Printer Description (PPD) file for EPSON Printer
+</b></font>
+<ul>
+<li>Please read the license at the top of the EPSON PPD file carefully.</li>
+</ul>
+
+<font size="4"><b>2.GS-LPD (Ghostscript Laser Printer Driver for Linux)
+</b></font>
+<ul>
+<li><a href="http://www.gnu.org/licenses/gpl.html" target="_blank">GNU General Public License</a></li>
+</ul>
+
+<font size="4"><b>3.Laser Printer Filter for Linux</b></font>
+<ul>
+<li><a href="http://download.ebz.epson.net/la/linux/AVASYSPL.en.txt" target="_blank">AVASYS Public License</a></li>
+<li><a href="http://www.opensource.org/licenses/mit-license.php" target="_blank">MIT License</a></li>
+</ul>
+
+<font size="4"><b>4.Photo Image Print System Plus for Linux</b></font>
+<ul>
+<li><a href="http://www.gnu.org/licenses/gpl.html" target="_blank">GNU General Public License</a></li>
+<li><a href="http://www.gnu.org/licenses/fdl.html" target="_blank">GNU Free Documentation License</a></li>
+<li><a href="http://download.ebz.epson.net/la/linux/AVASYSPL.en.txt" target="_blank">AVASYS Public License</a></li>
+</ul>
+
+<hr>
+
+<font size="4"><b>[Scanner]</b></font><br>
+<font size="4"><b>1.Image Scan! for Linux</b></font>
+<ul>
+<li><a href="http://www.gnu.org/licenses/gpl-2.0.html" target="_blank">GNU General Public License</a></li>
+<li><a href="http://www.gnu.org/licenses/lgpl.html" target="_blank">GNU Lesser General Public License</a></li>
+<li><a href="http://download.ebz.epson.net/la/linux/AVASYSPL.en.txt" target="_blank">AVASYS Public License</a></li>
+<li><a href="http://download.ebz.epson.net/la/linux/inkjet_for_linux.html#softlicense" target="_blank">SEIKO EPSON CORPORATION SOFTWARE LICENSE AGREEMENT</a></li>
+</ul>
+
+<font size="4"><b>2.Image Scan v3</b></font>
+<ul>
+<li><a href="http://www.gnu.org/licenses/gpl-3.0.html" target="_blank">GNU General Public License</a></li>
+<li><a href="http://download.ebz.epson.net/la/linux/AVASYSPL.en.txt" target="_blank">AVASYS Public License</a></li>
+<li><a href="http://download.ebz.epson.net/la/linux/inkjet_for_linux.html#softlicense" target="_blank">SEIKO EPSON CORPORATION SOFTWARE LICENSE AGREEMENT</a></li>
+</ul>
+
+
+<br>
+<br>
+EPSON EULA EN 11/05/2012
+<br>
+<br>
+</font>
+
+
+
+</body></html> \ No newline at end of file
diff --git a/system/epson-printer-utility/README b/system/epson-printer-utility/README
new file mode 100644
index 0000000000..d5771efb20
--- /dev/null
+++ b/system/epson-printer-utility/README
@@ -0,0 +1,6 @@
+This is a printer utility for most Epson inkjet printers.
+It offers printer monitoring of error, ink levels, and utilities
+to check nozzles and clean print heads.
+
+See README.models for supported printer models.
+
diff --git a/system/epson-printer-utility/README.models b/system/epson-printer-utility/README.models
new file mode 100644
index 0000000000..0cc3c61591
--- /dev/null
+++ b/system/epson-printer-utility/README.models
@@ -0,0 +1,208 @@
+, Artisan 1430, Artisan 50, Artisan 630, Artisan 700, Artisan 710
+Artisan 720, Artisan 730, Artisan 800, Artisan 810, Artisan 830
+Artisan 837, E-150, E-200, E-300, E-330, E-330S, E-340, E-350
+E-360 Series, E-370 Series, E-500, E-520, E-530, E-530P, E-530S, E-600
+E-700, E-720, E-800, E-810, E-820, E-830 Series, E-840 Series
+E-850 Series, EC-4020 Series, EC-4030 Series, EC-4040 Series
+EC-C110 Series, EC-C7000 Series, EP-10VA Series, EP-302, EP-306 Series
+EP-30VA Series, EP-4004, EP-50V Series, EP-702A, EP-703A, EP-704A
+EP-705A Series, EP-706A Series, EP-707A Series, EP-708A Series
+EP-710A Series, EP-711A Series, EP-712A Series, EP-774A, EP-775A Series
+EP-776A Series, EP-777A Series, EP-801A, EP-802A, EP-803A, EP-804A
+EP-805A Series, EP-806A Series, EP-807A Series, EP-808A Series
+EP-810A Series, EP-811A Series, EP-812A Series, EP-879A Series
+EP-880A Series, EP-881A Series, EP-882A Series, EP-901A, EP-901F
+EP-902A, EP-903A, EP-903F, EP-904A, EP-904F, EP-905A Series
+EP-905F Series, EP-906F Series, EP-907F Series, EP-976A3 Series
+EP-977A3 Series, EP-978A3 Series, EP-982A3 Series, EP-M552T Series
+EP-M570T Series, ET-1110 Series, ET-14000 Series, ET-15000 Series
+ET-16150 Series, ET-16600 Series, ET-16650 Series, ET-2500 Series
+ET-2550 Series, ET-2600 Series, ET-2610 Series, ET-2650 Series
+ET-2700 Series, ET-2710 Series, ET-2720 Series, ET-2750 Series
+ET-2760 Series, ET-3700 Series, ET-3710 Series, ET-3750 Series
+ET-3760 Series, ET-4500 Series, ET-4550 Series, ET-4700 Series
+ET-4750 Series, ET-4760 Series, ET-5800 Series, ET-5850 Series
+ET-5880 Series, ET-7700 Series, ET-7750 Series, ET-8700 Series
+ET-M1100 Series, ET-M1120 Series, ET-M1140 Series, ET-M1170 Series
+ET-M1180 Series, ET-M2120 Series, ET-M2140 Series, ET-M2170 Series
+ET-M3140 Series, ET-M3170 Series, ET-M3180 Series, EW-052A Series
+EW-452A Series, EW-M5071FT Series, EW-M5610FT Series, EW-M571T Series
+EW-M630T Series, EW-M660FT Series, EW-M670FT Series, EW-M752T Series
+EW-M770T Series, EW-M970A3T Series, K100, K200, K300, L110 Series
+L1110 Series, L11160 Series, L120 Series, L130 Series, L1300 Series
+L132 Series, L14150 Series, L1455 Series, L15150 Series, L15160 Series
+L1800 Series, L210 Series, L220 Series, L222 Series, L300 Series
+L3050 Series, L3060 Series, L3070 Series, L310 Series, L3100 Series
+L3110 Series, L312 Series, L3150 Series, L3160 Series, L350 Series
+L355 Series, L360 Series, L362 Series, L364 Series, L365 Series
+L366 Series, L375 Series, L380 Series, L382 Series, L386 Series
+L395 Series, L396 Series, L405 Series, L4150 Series, L4160 Series
+L455 Series, L456 Series, L475 Series, L486 Series, L495 Series
+L5190 Series, L550 Series, L555 Series, L565 Series, L566 Series
+L575 Series, L605 Series, L6160 Series, L6170 Series, L6190 Series
+L655 Series, L6550 Series, L6570 Series, L6580 Series, L7160 Series
+L7180 Series, L800, L805 Series, L810 Series, L850 Series, LX-10000F
+LX-10000FK, LX-10050KF, LX-10050MF, LX-6050MF, LX-7000F, LX-7550MF
+M100 Series, M105 Series, M1100 Series, M1120 Series, M1140 Series
+M1170 Series, M1180 Series, M15140 Series, M200 Series, M205 Series
+M2110 Series, M2120 Series, M2140 Series, M2170 Series, M3140 Series
+M3170 Series, M3180 Series, ME 10, ME 200, ME 32, ME 320, ME 33, ME 330
+ME 340, ME OFFICE 520, ME OFFICE 530, ME OFFICE 560W, ME OFFICE 570
+ME OFFICE 620F, ME OFFICE 82WD, ME OFFICE 85ND, ME OFFICE 900WD
+ME OFFICE 940FW, ME OFFICE 960FWD, ME Office 510, ME Office 600F
+ME Office 650FN, ME Office 700FW, ME-10 Series, ME-100 Series
+ME-301 Series, ME-303 Series, ME-400 Series, NX130 TX130, NX230 TX230
+NX430 TX435, PF-70 Series, PF-71 Series, PF-81 Series, PM-400 Series
+PM-520 Series, PM-A750, PM-A820, PM-A840, PM-A840S, PM-A890, PM-A920
+PM-A940, PM-A950, PM-A970, PM-D600, PM-D800, PM-D870, PM-G4500, PM-G850
+PM-T960, PM-T990, PX-045A Series, PX-046A Series, PX-047A Series
+PX-048A Series, PX-105 Series, PX-1200, PX-1600F, PX-1700F, PX-203
+PX-204, PX-205 Series, PX-402A, PX-403A, PX-404A, PX-405A Series
+PX-434A, PX-435A Series, PX-436A Series, PX-437A Series, PX-501A
+PX-502A, PX-503A, PX-504A, PX-505F Series, PX-535F Series, PX-5600
+PX-5V, PX-601F, PX-602F, PX-603F, PX-605F Series, PX-673F
+PX-675F Series, PX-7V, PX-A620, PX-A640, PX-A650, PX-A720, PX-A740
+PX-B700, PX-B750F, PX-FA700, PX-G5300, PX-K100, PX-K150 Series
+PX-M160T Series, PX-M270FT Series, PX-M270T Series, PX-M270UT Series
+PX-M350F, PX-M380F, PX-M381FL, PX-M5040F, PX-M5041F, PX-M5080F Series
+PX-M5081F Series, PX-M650A, PX-M650F, PX-M6711FT Series
+PX-M6712FT Series, PX-M680F Series, PX-M7050 Series, PX-M7050FP
+PX-M7050FX, PX-M7070FX, PX-M7080FX, PX-M7090FX, PX-M7110F, PX-M7110FP
+PX-M740F, PX-M741F, PX-M780F Series, PX-M781F Series, PX-M791FT Series
+PX-M840F, PX-M840FX, PX-M860F, PX-M880FX, PX-M884F, PX-M885F, PX-M886FL
+PX-S05 Series, PX-S06 Series, PX-S160T Series, PX-S170T Series
+PX-S170UT Series, PX-S270T Series, PX-S350, PX-S380, PX-S381L
+PX-S5010 Series, PX-S5040, PX-S5080 Series, PX-S7050 Series, PX-S7050PS
+PX-S7070X, PX-S7090X, PX-S7110, PX-S7110P, PX-S740, PX-S840, PX-S860
+PX-S880X, PX-S884, PX-S885, PictureMate 500, PictureMate Deluxe
+PictureMate PM 200, PictureMate PM 210, PictureMate PM 215
+PictureMate PM 225, PictureMate PM 235, PictureMate PM 240
+PictureMate PM 245, PictureMate PM 250, PictureMate PM 260
+PictureMate PM 270, PictureMate PM 280, PictureMate PM 290
+PictureMate PM 300, PictureMate PM 310, ST-2000 Series, ST-3000 Series
+ST-4000 Series, ST-C8000 Series, ST-M1000 Series, ST-M3000 Series
+Epson Stylus CX2800, Epson Stylus CX2900, Epson Stylus CX3700
+Epson Stylus CX3800, Epson Stylus CX3900, Epson Stylus CX4200
+Epson Stylus CX4800, Epson Stylus CX4900, Epson Stylus CX5000
+Epson Stylus CX5900, Epson Stylus CX6000, Epson Stylus CX7300
+Epson Stylus CX7400, Epson Stylus CX7700, Epson Stylus CX7800
+Epson Stylus CX8300, Epson Stylus CX8400, Epson Stylus CX9300F
+Epson Stylus CX9400Fax, Epson Stylus DX3800, Epson Stylus DX4000
+Epson Stylus DX4200, Epson Stylus DX4800, Epson Stylus DX5000
+Epson Stylus DX7400, Epson Stylus DX8400, Epson Stylus DX9400F
+Epson Stylus N10 N11, Epson Stylus NX110, Epson Stylus NX125 NX127
+Epson Stylus NX130, Epson Stylus NX200, Epson Stylus NX210
+Epson Stylus NX215, Epson Stylus NX230, Epson Stylus NX300
+Epson Stylus NX330, Epson Stylus NX400, Epson Stylus NX410
+Epson Stylus NX420, Epson Stylus NX430, Epson Stylus NX510
+Epson Stylus NX530, Epson Stylus NX620, Epson Stylus NX635
+Epson Stylus Office B42WD, Epson Stylus Office BX300F
+Epson Stylus Office BX305, Epson Stylus Office BX305 Plus
+Epson Stylus Office BX310FN, Epson Stylus Office BX320FW
+Epson Stylus Office BX525WD, Epson Stylus Office BX535WD
+Epson Stylus Office BX600FW, Epson Stylus Office BX610FW
+Epson Stylus Office BX620FWD, Epson Stylus Office BX630FW
+Epson Stylus Office BX635FWD, Epson Stylus Office BX925
+Epson Stylus Office BX935FWD, Epson Stylus Office TX300F
+Epson Stylus Office TX320F, Epson Stylus Office TX510FN
+Epson Stylus Office TX515FN, Epson Stylus Office TX525FW
+Epson Stylus Office TX600FW, Epson Stylus Office TX610FW
+Epson Stylus Office TX620FWD, Epson Stylus Photo 1400
+Epson Stylus Photo 1410, Epson Stylus Photo 1430
+Epson Stylus Photo 1500, Epson Stylus Photo P50
+Epson Stylus Photo PX650, Epson Stylus Photo PX660
+Epson Stylus Photo PX700W, Epson Stylus Photo PX710W
+Epson Stylus Photo PX720WD, Epson Stylus Photo PX730
+Epson Stylus Photo PX800FW, Epson Stylus Photo PX810FW
+Epson Stylus Photo PX820FWD, Epson Stylus Photo PX830
+Epson Stylus Photo R1900, Epson Stylus Photo R2000
+Epson Stylus Photo R240, Epson Stylus Photo R250
+Epson Stylus Photo R260, Epson Stylus Photo R265
+Epson Stylus Photo R270, Epson Stylus Photo R2880
+Epson Stylus Photo R3000, Epson Stylus Photo R340
+Epson Stylus Photo R350, Epson Stylus Photo R360
+Epson Stylus Photo R380, Epson Stylus Photo R390
+Epson Stylus Photo RX520, Epson Stylus Photo RX530
+Epson Stylus Photo RX560, Epson Stylus Photo RX580
+Epson Stylus Photo RX585, Epson Stylus Photo RX590
+Epson Stylus Photo RX595, Epson Stylus Photo RX610
+Epson Stylus Photo RX640, Epson Stylus Photo RX650
+Epson Stylus Photo RX680, Epson Stylus Photo RX685
+Epson Stylus Photo RX690, Epson Stylus Photo T50
+Epson Stylus Photo T60, Epson Stylus Photo TX650
+Epson Stylus Photo TX700W, Epson Stylus Photo TX710W
+Epson Stylus Photo TX720WD, Epson Stylus Photo TX730
+Epson Stylus Photo TX800FW, Epson Stylus Photo TX810FW
+Epson Stylus S21, Epson Stylus S22, Epson Stylus SX110
+Epson Stylus SX125, Epson Stylus SX130, Epson Stylus SX200
+Epson Stylus SX210, Epson Stylus SX215, Epson Stylus SX218
+Epson Stylus SX230, Epson Stylus SX235, Epson Stylus SX400
+Epson Stylus SX410, Epson Stylus SX420W, Epson Stylus SX430
+Epson Stylus SX440, Epson Stylus SX510W, Epson Stylus SX525WD
+Epson Stylus SX535WD, Epson Stylus SX600FW, Epson Stylus SX610FW
+Epson Stylus SX620FW, Epson Stylus T21, Epson Stylus T22
+Epson Stylus T24, Epson Stylus T25, Epson Stylus T27
+Epson Stylus TX110, Epson Stylus TX111, Epson Stylus TX112
+Epson Stylus TX115, Epson Stylus TX117, Epson Stylus TX120
+Epson Stylus TX121, Epson Stylus TX125, Epson Stylus TX130
+Epson Stylus TX200, Epson Stylus TX210, Epson Stylus TX213
+Epson Stylus TX219, Epson Stylus TX220, Epson Stylus TX230
+Epson Stylus TX235, Epson Stylus TX400, Epson Stylus TX410
+Epson Stylus TX420W, Epson Stylus TX430, Epson Stylus TX550W
+Epson Stylus TX560WD, T12 T22 N11, T13 T22E, TX120 NX120, TX133 TX135
+TX220 NX220, TX320 WorkForce320, TX420 NX420, WF-100 Series
+WF-110 Series, WF-2010 Series, WF-2510 Series, WF-2520 Series
+WF-2530 Series, WF-2540 Series, WF-2630 Series, WF-2650 Series
+WF-2660 Series, WF-2750 Series, WF-2760 Series, WF-2810 Series
+WF-2830 Series, WF-2850 Series, WF-2860 Series, WF-3010 Series
+WF-3520 Series, WF-3530 Series, WF-3540 Series, WF-3620 Series
+WF-3640 Series, WF-3720 Series, WF-3730 Series, WF-3820 Series
+WF-4630 Series, WF-4640 Series, WF-4720 Series, WF-4730 Series
+WF-4740 Series, WF-4820 Series, WF-4830 Series, WF-5110 Series
+WF-5190 Series, WF-5620 Series, WF-5690 Series, WF-6090 Series
+WF-6530 Series, WF-6590 Series, WF-7010 Series, WF-7011 Series
+WF-7012 Series, WF-7015 Series, WF-7018 Series, WF-7110 Series
+WF-7210 Series, WF-7510 Series, WF-7511 Series, WF-7515 Series
+WF-7520 Series, WF-7521 Series, WF-7525 Series, WF-7610 Series
+WF-7620 Series, WF-7710 Series, WF-7720 Series, WF-7820 Series
+WF-7830 Series, WF-7840 Series, WF-8010 Series, WF-8090 Series
+WF-8510 Series, WF-8590 Series, WF-C17590 Series, WF-C20590 Series
+WF-C20600 Series, WF-C20750 Series, WF-C21000 Series, WF-C5210 Series
+WF-C5290 Series, WF-C5290BA, WF-C529R Series, WF-C529RB
+WF-C5710 Series, WF-C5790 Series, WF-C5790BA, WF-C579R Series
+WF-C579RB, WF-C8190 Series, WF-C8190B, WF-C8610 Series, WF-C8690 Series
+WF-C8690B, WF-C869R Series, WF-C878R Series, WF-C878RB, WF-C879R Series
+WF-C879RB, WF-M1030 Series, WF-M1560 Series, WF-M20590 Series
+WF-M5190 Series, WF-M5298 Series, WF-M5299 Series, WF-M5690 Series
+WF-M5799 Series, WF-R4640 Series, WF-R5190 Series, WF-R5690 Series
+WF-R8590 Series, WP-4010 Series, WP-4011 Series, WP-4015 Series
+WP-4020 Series, WP-4022 Series, WP-4023 Series, WP-4025 Series
+WP-4090 Series, WP-4091 Series, WP-4092 Series, WP-4095 Series
+WP-4511 Series, WP-4515 Series, WP-4520 Series, WP-4521 Series
+WP-4525 Series, WP-4530 Series, WP-4531 Series, WP-4532 Series
+WP-4533 Series, WP-4535 Series, WP-4540 Series, WP-4545 Series
+WP-4590 Series, WP-4592 Series, WP-4595 Series, WP-M4011 Series
+WP-M4015 Series, WP-M4095 Series, WP-M4521 Series, WP-M4525 Series
+WP-M4595 Series, WorkForce 310, WorkForce 320, WorkForce 435
+WorkForce 500, WorkForce 520, WorkForce 545, WorkForce 60
+WorkForce 600, WorkForce 610, WorkForce 620, WorkForce 630
+WorkForce 645, WorkForce 840, WorkForce 845, WorkForce T42WD
+XP-100 Series, XP-102 103 Series, XP-15000 Series, XP-200 Series
+XP-201 204 208 Series, XP-202 203 206 Series, XP-205 207 Series
+XP-2100 Series, XP-211 214 216 Series, XP-212 213 Series
+XP-215 217 Series, XP-220 Series, XP-225 Series, XP-235 Series
+XP-240 Series, XP-243 245 247 Series, XP-255 257 Series, XP-300 Series
+XP-302 303 305 306 Series, XP-310 Series, XP-3100 Series
+XP-312 313 315 Series, XP-320 Series, XP-322 323 325 Series
+XP-330 Series, XP-332 335 Series, XP-340 Series, XP-342 343 345 Series
+XP-352 355 Series, XP-400 Series, XP-402 403 405 406 Series
+XP-410 Series, XP-4100 Series, XP-412 413 415 Series, XP-420 Series
+XP-422 423 425 Series, XP-430 Series, XP-432 435 Series, XP-440 Series
+XP-442 445 Series, XP-452 455 Series, XP-510 Series, XP-5100 Series
+XP-520 Series, XP-530 Series, XP-540 Series, XP-55 Series
+XP-600 Series, XP-6000 Series, XP-610 Series, XP-6100 Series
+XP-620 Series, XP-630 Series, XP-640 Series, XP-700 Series
+XP-710 Series, XP-7100 Series, XP-720 Series, XP-750 Series
+XP-760 Series, XP-800 Series, XP-810 Series, XP-820 Series
+XP-830 Series, XP-850 Series, XP-8500 Series, XP-860 Series
+XP-8600 Series, XP-950 Series, XP-960 Series, XP-970 Series
diff --git a/system/epson-printer-utility/doinst.sh b/system/epson-printer-utility/doinst.sh
new file mode 100644
index 0000000000..e41ff8a5fe
--- /dev/null
+++ b/system/epson-printer-utility/doinst.sh
@@ -0,0 +1,37 @@
+#!/bin/sh
+#fix rc file on install, and register .desktop file
+config() {
+ NEW="$1"
+ OLD="$(dirname $NEW)/$(basename $NEW .new)"
+ # If there's no config file by that name, mv it over:
+ if [ ! -r $OLD ]; then
+ mv $NEW $OLD
+ elif [ "$(cat $OLD | md5sum)" = "$(cat $NEW | md5sum)" ]; then
+ # toss the redundant copy
+ rm $NEW
+ fi
+ # Otherwise, we leave the .new copy for the admin to consider...
+}
+
+config etc/rc.d/rc.ecbd.new
+
+if [ -x /usr/bin/update-desktop-database ]; then
+ /usr/bin/update-desktop-database -q usr/share/applications >/dev/null 2>&1
+fi
+
+if [ -e /usr/share/icons/hicolor/icon-theme.cache ]; then
+ if [ -x /usr/bin/gtk-update-icon-cache ]; then
+ /usr/bin/gtk-update-icon-cache -f usr/share/icons/hicolor >/dev/null 2>&1
+ fi
+fi
+
+if [ -x /usr/bin/kbuildsycoca4 ]; then
+ /usr/bin/kbuildsycoca4 >/dev/null 2>&1
+fi
+
+echo
+echo "********************* NOTICE *********************************"
+echo "ecbd needs to be running for the printer monitor to be usable:"
+echo "/etc/rc.d/rc.ecbd restart"
+echo "**************************************************************"
+echo
diff --git a/system/epson-printer-utility/epson-printer-utility.SlackBuild b/system/epson-printer-utility/epson-printer-utility.SlackBuild
new file mode 100644
index 0000000000..c9e1b2bfce
--- /dev/null
+++ b/system/epson-printer-utility/epson-printer-utility.SlackBuild
@@ -0,0 +1,248 @@
+#!/bin/sh
+
+# Slackware build script for epson-printer-utility
+
+# Copyright 2020 Tim Dickson
+# 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.
+
+#thanks to B.Watson for support on this build. :-)
+
+PRGNAM=epson-printer-utility
+VERSION=${VERSION:-1.1.1}
+EXTRABIT=1lsb3.2
+TARNAM=$PRGNAM-$VERSION.tar.gz
+BUILD=${BUILD:-3}
+TAG=${TAG:-_SBo}
+
+if [ -z "$ARCH" ]; then
+ case "$( uname -m )" in
+ i?86) ARCH=i586 ;;
+ arm*) ARCH=arm ;;
+ *) ARCH=$( uname -m ) ;;
+ esac
+fi
+
+CWD=$(pwd)
+#lets get the source tarball from the rpm and clean up the bits we don't need
+rpm2tgz $PRGNAM-$VERSION-$EXTRABIT.src.rpm
+tar -xzf $PRGNAM-$VERSION-$EXTRABIT.src.tgz
+cp $PRGNAM-$VERSION-$EXTRABIT/$PRGNAM-$VERSION.tar.gz ./
+cp $PRGNAM-$VERSION-$EXTRABIT/epson-backend-$VERSION.tar.gz ./
+rm $PRGNAM-$VERSION-$EXTRABIT.src.tgz
+rm -r $PRGNAM-$VERSION-$EXTRABIT
+
+TMP=${TMP:-/tmp/SBo}
+PKG=$TMP/package-$PRGNAM
+OUTPUT=${OUTPUT:-/tmp}
+
+if [ "$ARCH" = "i586" ]; then
+ SLKCFLAGS="-O2 -march=i586 -mtune=i686"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "i686" ]; then
+ SLKCFLAGS="-O2 -march=i686 -mtune=i686"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "x86_64" ]; then
+ SLKCFLAGS="-O2 -fPIC"
+ LIBDIRSUFFIX="64"
+else
+ SLKCFLAGS="-O2"
+ LIBDIRSUFFIX=""
+fi
+
+set -e
+
+rm -rf $PKG
+mkdir -p $TMP $PKG $OUTPUT
+cd $TMP
+rm -rf $PRGNAM-$VERSION
+tar xvf $CWD/$TARNAM
+#we remove the tarnam as the original is an rpm
+#this keeps things tidy.
+rm $CWD/$TARNAM
+cd $PRGNAM-$VERSION
+chown -R root:root .
+find -L . \
+ \( -perm 777 -o -perm 775 -o -perm 750 -o -perm 711 -o -perm 555 \
+ -o -perm 511 \) -exec chmod 755 {} \; -o \
+ \( -perm 666 -o -perm 664 -o -perm 640 -o -perm 600 -o -perm 444 \
+ -o -perm 440 -o -perm 400 \) -exec chmod 644 {} \;
+
+echo "patch configure.ac"
+sed -i 's_/opt/lsb/bin/lsbc++_/usr/bin/c++_g' configure.ac
+sed -i '/^AM_INIT_AUTOMAKE/a AM_PROG_AR()' configure.ac
+#fix typo in path of udev stuff
+sed -i 's_/ect_/etc_g' configure.ac
+#fix source code. We shouldn't have to do this, but hey ho!....
+mv EPSCommonLib/epsmp/linux/XAsyncSocket.cpp EPSCommonLib/epsmp/linux/XAsyncSocket.c
+#patch png files to remove incorrect sRGB profile in all of them.
+mogrify -strip PrinterUtility/Images/*.png
+#patch the Resources.qrc file to include missing png's
+sed -i 'sZInklow.png</file>ZInklow.png</file>\n <file>Images/Inklow_.png</file>\n <file>Images/printer_status_OLD.png</file>\n <file>Images/printer_status_error_laser.png</file>\n <file>Images/printer_status_warning_laser.png</file>\n <file>Images/warning.png</file>Zg' PrinterUtility/Resources.qrc
+#we need to regenerate qrc_Resources.cpp (which would have been generated by qmake)
+#as the one shipped has all the png's with iCCP invalid sRGB profiles.
+#echo "create new qrc_resources.cpp file using our patched Resources.qrc file"
+cd PrinterUtility
+rm -f qrc_Resources.cpp
+rcc -o qrc_Resources.cpp Resources.qrc
+cd ..
+#echo "now we have a resources file with fixed pngs embeded in it"
+#lets run qmake :-) - or lets not. it looks like a bunch of stuff is missing.!
+#the list of stuff reported missing by qmake was sent to linux-printer@epson.jp 28/09/2020
+#with a request for them to include the missing source code. hopefully they will supply
+#the missing code, so we can update this script and remove some of the patches.
+
+#keep next few lines incase we can actually use it in the future.
+#cd PrinterUtility
+#qmake PrinterUtility.pro
+#cd ..
+
+echo "running aclocal"
+aclocal
+echo "running autoreconf"
+autoreconf --install --force
+
+#we still have to fix the Makefile.am files that autoreconf didn't sort out
+#fix hardcoded /opt/lsb stuff
+sed -i 's_/opt/lsb_/usr_g' EPSCommonLib/Makefile.am
+#patch qtlibs reference in wrong place
+sed -i "s_/usr/include/QtCore_/usr/lib${LIBDIRSUFFIX}/qt/include/QtCore_g" EPSCommonLib/Makefile.am
+sed -i 's_/opt/lsb_/usr_g' PrinterUtility/Makefile.am
+sed -i "s_/usr/include/QtCore_/usr/lib${LIBDIRSUFFIX}/qt/include/QtCore_g" PrinterUtility/Makefile.am
+sed -i "s_/usr/include/QtGui_/usr/lib${LIBDIRSUFFIX}/qt/include/QtGui_g" PrinterUtility/Makefile.am
+sed -i "s_include/QtNetwork_lib${LIBDIRSUFFIX}/qt/include/QtNetwork_g" PrinterUtility/Makefile.am
+echo "running configure"
+
+CC=/usr/bin/c++ \
+CXX=/usr/bin/c++ \
+CFLAGS="$SLKCFLAGS -fpermissive" \
+CXXFLAGS="$SLKCFLAGS -fpermissive" \
+./configure \
+ --prefix=/usr \
+ --libdir=/usr/lib${LIBDIRSUFFIX} \
+ --sysconfdir=/etc \
+ --localstatedir=/var \
+ --mandir=/usr/man \
+ --docdir=/usr/doc/$PRGNAM-$VERSION \
+ --datarootdir=/usr/share \
+ --disable-static \
+ --build=$ARCH-slackware-linux
+
+echo "more patching of source files"
+#add missing header for sleep
+sed -i "1 i #include <unistd.h>" PrinterUtility/EPUMainController.cpp
+sed -i "1 i #include <unistd.h>" PrinterUtility/EPUPrinterListDialog.cpp
+#we need to patch the moc files so they work with qt 4.8.7 that ships with slackware 14.2
+#when the source is complete and we can run qmake, that should fix this.
+for i in `ls PrinterUtility/moc_*.cpp`; do
+ sed -i 's/59/63/g' $i
+done
+#patch hardcoded path in Main.cpp so it can find language files
+sed -i "s_/opt/epson_/usr/share/epson_g" PrinterUtility/Main.cpp
+echo "running make"
+make
+
+echo "running make install"
+make install DESTDIR=$PKG
+#as make install doesn't do much we do it manually
+mkdir -p $PKG/usr/bin
+cp -a PrinterUtility/epson-printer-utility $PKG/usr/bin/
+#udev rule to allow set permissions so any user can monitor the printer.
+mkdir -p $PKG/etc/udev/rules.d
+cp -a support-tool/79-udev-epson.rules $PKG/etc/udev/rules.d/
+mkdir -p $PKG/usr/share/epson-printer-utility/resource/Languages
+mv $PKG/usr/resource/Languages/*.qm $PKG/usr/share/epson-printer-utility/resource/Languages/
+rm -r $PKG/usr/resource
+mkdir -p $PKG/usr/share/pixmaps
+cp PrinterUtility/Images/AppIcon.png $PKG/usr/share/pixmaps/epson-printer-utility.png
+#+-----------------------------------------------------------+
+#| we now have to process the communication daemon |
+#+-----------------------------------------------------------+
+cd $TMP
+rm -rf epson-backend-$VERSION
+tar -xzf $CWD/epson-backend-$VERSION.tar.gz
+#we remove the tarnam as the original is an rpm
+#this keeps things tidy.
+rm $CWD/epson-backend-$VERSION.tar.gz
+cd epson-backend-$VERSION
+chown -R root:root .
+find -L . \
+ \( -perm 777 -o -perm 775 -o -perm 750 -o -perm 711 -o -perm 555 \
+ -o -perm 511 \) -exec chmod 755 {} \; -o \
+ \( -perm 666 -o -perm 664 -o -perm 640 -o -perm 600 -o -perm 444 \
+ -o -perm 440 -o -perm 400 \) -exec chmod 644 {} \;
+
+echo "running aclocal"
+aclocal
+echo "running autoreconf"
+autoreconf --install --force
+
+echo "running configure"
+
+CC=/usr/bin/gcc \
+CXX=/usr/bin/c++ \
+CFLAGS="$SLKCFLAGS -Wno-unused-but-set-variable -Wno-unused-function -Wno-implicit-function-declaration -Wno-pointer-sign -Wno-unused-variable" \
+CXXFLAGS="$SLKCFLAGS -fpermissive" \
+./configure \
+ --prefix=/usr \
+ --libdir=/usr/lib${LIBDIRSUFFIX} \
+ --sysconfdir=/etc \
+ --localstatedir=/var \
+ --mandir=/usr/man \
+ --docdir=/usr/doc/$PRGNAM-$VERSION \
+ --disable-static \
+ --build=$ARCH-slackware-linux
+
+echo "patching source for backend daemon. epmnt.c"
+sed -i "1 i #include <stdlib.h>\n#include <string.h>" daemon/epmnt.c
+echo "running make"
+make
+echo "running make install"
+make install DESTDIR=$PKG
+
+#now lets tidy everything up. after all, we are not debian :-)
+#there are three important program files, /usr/bin/epson-printer-utility
+#/usr/lib/epson-backend/ecbd the communication daemon, and
+#/usr/lib64/cups/backend/ecblp the cups backend
+#we will trash the contents of /usr/lib64/epson-backend for now, it looks like it is just debian daemon stuff.
+#we need to create our own rc.ecbd file to start/stop/restart the backend
+#this should be added into rc.local to make it active at startup
+rm -r $PKG/usr/lib64/epson-backend
+mkdir -p $PKG/etc/rc.d
+cp $CWD/rc.ecbd $PKG/etc/rc.d/rc.ecbd.new
+#the utility won't work without the daemon, so reduce steps admin has to do to get
+#things working on a clean install.
+chmod +x $PKG/etc/rc.d/rc.ecbd.new
+
+mkdir -p $PKG/usr/share/applications
+cp $CWD/epson-printer-utility.desktop $PKG/usr/share/applications
+
+find $PKG -print0 | xargs -0 file | grep -e "executable" -e "shared object" | grep ELF \
+ | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null || true
+
+mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION
+cp -a AUTHORS COPYING NEWS README INSTALL $PKG/usr/doc/$PRGNAM-$VERSION
+cat $CWD/$PRGNAM.SlackBuild > $PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM.SlackBuild
+
+mkdir -p $PKG/install
+cat $CWD/slack-desc > $PKG/install/slack-desc
+cat $CWD/doinst.sh >$PKG/install/doinst.sh
+
+cd $PKG
+/sbin/makepkg -l y -c n $OUTPUT/$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.${PKGTYPE:-tgz}
diff --git a/system/epson-printer-utility/epson-printer-utility.desktop b/system/epson-printer-utility/epson-printer-utility.desktop
new file mode 100644
index 0000000000..08e9588c8f
--- /dev/null
+++ b/system/epson-printer-utility/epson-printer-utility.desktop
@@ -0,0 +1,8 @@
+[Desktop Entry]
+Name=Epson Printer Utility
+Comment=monitor ink levels, print nozzle check pattern
+Exec=epson-printer-utility
+Terminal=false
+Type=Application
+Icon=epson-printer-utility
+Categories=System;Printing;
diff --git a/system/epson-printer-utility/epson-printer-utility.info b/system/epson-printer-utility/epson-printer-utility.info
new file mode 100644
index 0000000000..04281e9828
--- /dev/null
+++ b/system/epson-printer-utility/epson-printer-utility.info
@@ -0,0 +1,10 @@
+PRGNAM="epson-printer-utility"
+VERSION="1.1.1"
+HOMEPAGE="http://download.ebz.epson.net/dsc/search/01/search/"
+DOWNLOAD="https://sourceforge.net/projects/slackbuildsdirectlinks/files/epson-printer/epson-printer-utility-1.1.1-1lsb3.2.src.rpm"
+MD5SUM="4285b0585dd559d53f2c233fb96b4a00"
+DOWNLOAD_x86_64=""
+MD5SUM_x86_64=""
+REQUIRES=""
+MAINTAINER="Tim Dickson"
+EMAIL="dickson.tim@googlemail.com"
diff --git a/system/epson-printer-utility/fixrm b/system/epson-printer-utility/fixrm
new file mode 100644
index 0000000000..e1c5c21315
--- /dev/null
+++ b/system/epson-printer-utility/fixrm
@@ -0,0 +1,30 @@
+#!/bin/sh
+#fixrm is a little script to limit the items on each line so the line
+#is less than 72 characters. it is used by the maintainer when creating
+#the README.models file for this package, and for the epson-inkjet-printer-escpr2
+#slackbuild. It takes the list posted on a single long first line, and spreads
+#them over as many lines as needed.
+#
+#paste the list from the epson website into an empty README.models and run this
+#script in the same directory
+
+FNAME="README.models"
+MAXLEN=${MAXLEN:-72}
+#make sure MAXLEN is a integer bigger than 39
+MAXLEN=`echo $MAXLEN|awk '($1<40) {print "40"} (int($1)>39) {print int($1) }'`
+if [ -e $FNAME ]&&[ `cat $FNAME|head -n1|awk '{print length($0)}'` -gt $MAXLEN ]; then
+ #only do something if the file exists, and thefirst line is longer than it
+ #should be.
+ TMPFILE=rmtmp
+ mv README.models $TMPFILE
+ cat $TMPFILE|awk -v mlen="$MAXLEN" -F', ' 'BEGIN{curline="";mlen=mlen-2}
+{ for (i=1;i<=NF; i++)
+ { { n=0; l=length(curline)+length($i) }
+ if (i==1) {curline=$i; n=1}
+ if (l<mlen && i>1) { curline=curline ", " $i; n=1}
+ if (n==0) {print curline; curline=$i }
+ }
+ if (length(curline)>0) {print curline; curline=""}
+}'>README.models
+ rm $TMPFILE
+fi
diff --git a/system/epson-printer-utility/rc.ecbd b/system/epson-printer-utility/rc.ecbd
new file mode 100644
index 0000000000..c534fab9aa
--- /dev/null
+++ b/system/epson-printer-utility/rc.ecbd
@@ -0,0 +1,33 @@
+#!/bin/sh
+#script to start/stop etc epson communication backend daemon ecbd
+
+if [ ! -x /usr/lib/epson-backend/ecbd ]; then
+ echo "/usr/lib/epson-backend/ecbd not executable"
+ exit 1
+fi
+PIDFILE=/var/run/ecbd.pid
+OPT=${1:-start}
+case "$OPT" in
+'start')
+ if [ `ps -A|grep ecbd|grep -v "rc.ecbd"|wc -l` -gt 0 ]||[ -e $PIDFILE ]; then
+ echo "ecbd is already running"
+ else
+ /usr/lib/epson-backend/ecbd -p $PIDFILE &
+ fi
+ ;;
+'stop')
+ if [ -e /var/run/ecbd.pid ]; then
+ kill `cat $PIDFILE`
+ fi
+ rm -f $PIDFILE
+ ;;
+'restart')
+ if [ -e $PIDFILE ]; then
+ kill `cat $PIDFILE`
+ fi
+ rm -f $PIDFILE
+ /usr/lib/epson-backend/ecbd -p $PIDFILE &
+ ;;
+*)
+ echo "usage $0 start|stop|restart"
+esac
diff --git a/system/epson-printer-utility/slack-desc b/system/epson-printer-utility/slack-desc
new file mode 100644
index 0000000000..2f670ddfa2
--- /dev/null
+++ b/system/epson-printer-utility/slack-desc
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description.
+# Line up the first '|' above the ':' following the base package name, and
+# the '|' on the right side marks the last column you can put a character in.
+# You must make exactly 11 lines for the formatting to be correct. It's also
+# customary to leave one space after the ':' except on otherwise blank lines.
+
+ |-----handy-ruler------------------------------------------------------|
+epson-printer-utility: epson-printer-utility (epson printer monitor and tools)
+epson-printer-utility:
+epson-printer-utility: This is a printer utility for most Epson inkjet printers.
+epson-printer-utility: It offers printer monitoring of error, ink levels, and utilities
+epson-printer-utility: to check nozzles and clean print heads.
+epson-printer-utility:
+epson-printer-utility:
+epson-printer-utility:
+epson-printer-utility:
+epson-printer-utility:
+epson-printer-utility:
diff --git a/system/esekeyd/README b/system/esekeyd/README
new file mode 100644
index 0000000000..3c5817bd65
--- /dev/null
+++ b/system/esekeyd/README
@@ -0,0 +1,26 @@
+esekeyd (multimedia keyboard daemon for Linux)
+
+ESE Key Daemon is a multimedia keyboard daemon for Linux. With
+the 2.6 kernel series it can also handle remote controls, as they
+are presented as keyboards. It's a userspace program that polls
+/dev/input/event? interfaces for incoming keypresses, and executes
+commands as defined in its config file.
+
+esekeyd is also useful for keyboards without multimedia keys. Its
+functionality is similar to xbindkeys, but (a) it doesn't require X
+(works in the console), and (b) it doesn't "eat" the keystrokes it
+receives, so you'll want to disable those keycodes in your keymap
+if you don't want applications to react to them (see loadkeys(1) and
+keymaps(5)).
+
+To start using esekeyd, first edit /etc/esekeyd.conf to define your
+keys and the programs that will be run (use "learnkeys" to get
+the names of the keys). Then start the esekeyd daemon by running
+"/usr/sbin/esekeyd /etc/esekeyd.conf" (as root, or as a user in the
+input group). To start esekeyd at boot, just add that command to
+/etc/rc.d/rc.local.
+
+If esekeyd never sees your keystrokes, you may have to explicitly set
+the input device for it to use on the command line (see the esekeyd(1)
+man page). Also, for testing purposes, see the "Simple test" section
+at the end of /etc/esekeyd.conf.
diff --git a/system/esekeyd/config.snippet b/system/esekeyd/config.snippet
new file mode 100644
index 0000000000..4b01f3bce5
--- /dev/null
+++ b/system/esekeyd/config.snippet
@@ -0,0 +1,22 @@
+
+###
+# Simple test: Uncomment the next two lines:
+
+#KEY_87:touch /tmp/esekeyd_works
+#KEY_88:rm -f /tmp/esekeyd_works
+
+# Then start up esekeyd with this config file:
+# esekeyd /etc/esekeyd.conf
+# Then run:
+# watch -n 1 ls /tmp/esekeyd_works
+# Press F11 and F12 to see the file get created and deleted.
+# If you can't use F11 and F12 for some reason, run "keytest" and
+# press e.g. A and Z, change the KEY_ numbers to the ones you see
+# for those keys.
+
+# If nothing happens, you may have to find out which
+# /dev/input/event* device is your keyboard and add that to the
+# esekeyd command line. Try something like:
+# ls -l /dev/input/by-id/*-kbd
+# ...or install and run evtest.
+###
diff --git a/system/esekeyd/doinst.sh b/system/esekeyd/doinst.sh
new file mode 100644
index 0000000000..b1bc6d67f6
--- /dev/null
+++ b/system/esekeyd/doinst.sh
@@ -0,0 +1,11 @@
+config() {
+ NEW="$1"
+ OLD="$(dirname $NEW)/$(basename $NEW .new)"
+ if [ ! -r $OLD ]; then
+ mv $NEW $OLD
+ elif [ "$(cat $OLD | md5sum)" = "$(cat $NEW | md5sum)" ]; then
+ rm $NEW
+ fi
+}
+
+config etc/esekeyd.conf.new
diff --git a/system/esekeyd/esekeyd.SlackBuild b/system/esekeyd/esekeyd.SlackBuild
new file mode 100644
index 0000000000..aca4698c74
--- /dev/null
+++ b/system/esekeyd/esekeyd.SlackBuild
@@ -0,0 +1,100 @@
+#!/bin/sh
+
+# Slackware build script for esekeyd
+
+# Written by B. Watson (yalhcru@gmail.com)
+
+# Licensed under the WTFPL. See http://www.wtfpl.net/txt/copying/ for details.
+
+PRGNAM=esekeyd
+VERSION=${VERSION:-1.2.7}
+BUILD=${BUILD:-1}
+TAG=${TAG:-_SBo}
+
+if [ -z "$ARCH" ]; then
+ case "$( uname -m )" in
+ i?86) ARCH=i586 ;;
+ arm*) ARCH=arm ;;
+ *) ARCH=$( uname -m ) ;;
+ esac
+fi
+
+CWD=$(pwd)
+TMP=${TMP:-/tmp/SBo}
+PKG=$TMP/package-$PRGNAM
+OUTPUT=${OUTPUT:-/tmp}
+
+if [ "$ARCH" = "i586" ]; then
+ SLKCFLAGS="-O2 -march=i586 -mtune=i686"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "i686" ]; then
+ SLKCFLAGS="-O2 -march=i686 -mtune=i686"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "x86_64" ]; then
+ SLKCFLAGS="-O2 -fPIC"
+ LIBDIRSUFFIX="64"
+else
+ SLKCFLAGS="-O2"
+ LIBDIRSUFFIX=""
+fi
+
+set -e
+
+rm -rf $PKG
+mkdir -p $TMP $PKG $OUTPUT
+cd $TMP
+rm -rf $PRGNAM-$PRGNAM-$VERSION
+tar xvf $CWD/$PRGNAM-$PRGNAM-$VERSION.tar.gz
+cd $PRGNAM-$PRGNAM-$VERSION
+
+# The license is supposed to be GPL3, but it's shipped as a symlink
+# to /usr/share/automake-1.10/COPYING, which doesn't even exist on
+# Slackware 14.2. Use a copy that does exist.
+rm -f COPYING
+cp $( /bin/ls /usr/share/automake-*/COPYING | head -1 ) .
+
+chown -R root:root .
+find -L . -perm /111 -a \! -perm 755 -a -exec chmod 755 {} \+ -o \
+ \! -perm /111 -a \! -perm 644 -a -exec chmod 644 {} \+
+
+# Typo in man pages.
+sed -i 's,pools,polls,g' doc/*.1
+
+# The keyboard autodetection code is outdated and broken. Patch has
+# been sent upstream and will hopefully be incorporated in the next
+# release.
+patch -p1 < $CWD/keyboard_detection.diff
+
+[ -e configure ] || sh bootstrap
+
+CFLAGS="$SLKCFLAGS" \
+CXXFLAGS="$SLKCFLAGS" \
+./configure \
+ --prefix=/usr \
+ --libdir=/usr/lib${LIBDIRSUFFIX} \
+ --sysconfdir=/etc \
+ --localstatedir=/var \
+ --mandir=/usr/man \
+ --docdir=/usr/doc/$PRGNAM-$VERSION \
+ --build=$ARCH-slackware-linux
+
+make
+make install-strip DESTDIR=$PKG
+gzip $PKG/usr/man/man?/*.?
+
+# Example config. As shipped, but with all the commands commented out.
+# Also add a simpler example that everyone should be able to use.
+mkdir -p $PKG/etc
+sed 's,^.,#&,' examples/example.conf > $PKG/etc/$PRGNAM.conf.new
+cat $CWD/config.snippet >> $PKG/etc/$PRGNAM.conf.new
+
+mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION
+cp -a AUTHORS COPYING ChangeLog NEWS README TODO $PKG/usr/doc/$PRGNAM-$VERSION
+cat $CWD/$PRGNAM.SlackBuild > $PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM.SlackBuild
+
+mkdir -p $PKG/install
+cat $CWD/slack-desc > $PKG/install/slack-desc
+cat $CWD/doinst.sh > $PKG/install/doinst.sh
+
+cd $PKG
+/sbin/makepkg -l y -c n $OUTPUT/$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.${PKGTYPE:-tgz}
diff --git a/system/esekeyd/esekeyd.info b/system/esekeyd/esekeyd.info
new file mode 100644
index 0000000000..385c0e8a92
--- /dev/null
+++ b/system/esekeyd/esekeyd.info
@@ -0,0 +1,10 @@
+PRGNAM="esekeyd"
+VERSION="1.2.7"
+HOMEPAGE="https://github.com/burghardt/esekeyd"
+DOWNLOAD="https://github.com/burghardt/esekeyd/archive/esekeyd-1.2.7/esekeyd-esekeyd-1.2.7.tar.gz"
+MD5SUM="e8ba0f4f0bc2080f1a9da17b52f86805"
+DOWNLOAD_x86_64=""
+MD5SUM_x86_64=""
+REQUIRES=""
+MAINTAINER="B. Watson"
+EMAIL="yalhcru@gmail.com"
diff --git a/system/esekeyd/keyboard_detection.diff b/system/esekeyd/keyboard_detection.diff
new file mode 100644
index 0000000000..97e93bcdce
--- /dev/null
+++ b/system/esekeyd/keyboard_detection.diff
@@ -0,0 +1,101 @@
+diff -Naur esekeyd-esekeyd-1.2.7/src/input.c esekeyd-esekeyd-1.2.7.patched/src/input.c
+--- esekeyd-esekeyd-1.2.7/src/input.c 2010-07-04 16:23:51.000000000 -0400
++++ esekeyd-esekeyd-1.2.7.patched/src/input.c 2020-11-01 20:22:49.777498592 -0500
+@@ -10,6 +10,14 @@
+
+ #include "esekey.h"
+
++#include <dirent.h>
++#define CLASS_DIR "/sys/class/input"
++#define DEV_DIR "/dev/input"
++
++#ifndef PATH_MAX
++# define PATH_MAX 1024
++#endif
++
+ signed char check_handlers (void)
+ {
+ FILE *fp = NULL;
+@@ -45,32 +53,63 @@
+ return 0;
+ }
+
+-signed char find_input_dev (void)
++/* return true if /dev/input/event<devno> is a keyboard.
++ This could also have been done by way of ioctls instead of reading
++ from /sys files. Hopefully the /sys API doesn't change...
++ It's documented thoroughly here:
++ https://unix.stackexchange.com/questions/74903/explain-ev-in-proc-bus-input-devices-data
++ */
++int is_keyboard(int devno)
+ {
+- FILE *fp = NULL;
+- signed char have_evdev = -2;
++ char filename[PATH_MAX + 1];
++ char *buf = NULL;
++ size_t len = 0, caps = 0;
++ size_t wantcaps = (1 << EV_SYN | 1 << EV_KEY | 1 << EV_MSC | 1 << EV_LED | 1 << EV_REP);
++ FILE *fp;
++
++ sprintf(filename, "%s/event%d/device/capabilities/ev", CLASS_DIR, devno);
++ if(!(fp = fopen(filename, "r"))) return 0;
++
++ getline(&buf, &len, fp);
++ fclose(fp);
++ if(!buf) return 0;
+
+- fp = fopen (INPUT_DEVICES, "r");
++ caps = strtol(buf, NULL, 16);
++ free(buf);
+
+- if (!fp)
++ return (caps & wantcaps) == wantcaps;
++}
++
++/* returns the highest-numbered keyboard found. The common case is
++ that the internal keyboard on a laptop is numbered lower than an external
++ keyboard, and we assume that if there's an external, it's the one the
++ user actually uses. If no keyboards are found, returns -1. */
++signed char find_input_dev (void)
++{
++ DIR *dir;
++ struct dirent *entry;
++ int last_kbd = -1;
++ char buf[PATH_MAX + 1];
++
++ dir = opendir(CLASS_DIR);
++ if(!dir) {
++ perror(CLASS_DIR);
+ return -1;
++ }
+
+- while (!feof (fp))
+- {
+- char *buff = NULL;
+- size_t len = 0;
+- short int number = -2;
+- getline (&buff, &len, fp);
+- sscanf (buff, "H: Handlers=kbd event%hu", &number);
+- free (buff);
+- if (number > -1)
+- {
+- have_evdev = number;
+- break;
++ while( (entry = readdir(dir)) ) {
++ sprintf(buf, "%s/%s", CLASS_DIR, entry->d_name);
++ if(strncmp(entry->d_name, "event", 5) == 0) {
++ int devno = atoi(entry->d_name + 5);
++ if(is_keyboard(devno)) {
++ fprintf(stderr, "event%d is a keyboard\n", devno);
++ if(devno > last_kbd) last_kbd = devno;
++ }
+ }
+ }
++ closedir(dir);
+
+- fclose (fp);
++ fprintf(stderr, "Autodetected keyboard: %s/event%d\n", DEV_DIR, last_kbd);
+
+- return have_evdev;
++ return last_kbd;
+ }
diff --git a/system/esekeyd/slack-desc b/system/esekeyd/slack-desc
new file mode 100644
index 0000000000..60a565adc5
--- /dev/null
+++ b/system/esekeyd/slack-desc
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description.
+# Line up the first '|' above the ':' following the base package name, and
+# the '|' on the right side marks the last column you can put a character in.
+# You must make exactly 11 lines for the formatting to be correct. It's also
+# customary to leave one space after the ':' except on otherwise blank lines.
+
+ |-----handy-ruler------------------------------------------------------|
+esekeyd: esekeyd (multimedia keyboard daemon for Linux)
+esekeyd:
+esekeyd: ESE Key Daemon is a multimedia keyboard daemon for Linux. With
+esekeyd: the 2.6 kernel series it can also handle remote controls, as they
+esekeyd: are presented as keyboards. It's a userspace program that polls
+esekeyd: /dev/input/event? interfaces for incoming keypresses, and executes
+esekeyd: commands as defined in its config file.
+esekeyd:
+esekeyd: esekeyd is also useful for keyboards without multimedia keys. Its
+esekeyd: functionality is similar to xbindkeys, but it doesn't require X
+esekeyd: (works in the console).
diff --git a/system/etsh/etsh.SlackBuild b/system/etsh/etsh.SlackBuild
index 6e87ea5bdf..d1cb0cad9e 100644
--- a/system/etsh/etsh.SlackBuild
+++ b/system/etsh/etsh.SlackBuild
@@ -18,10 +18,11 @@
# The name means "Extended Thompson Shell", it's nothing to do with
# phoning home...
+# 20191201 bkw: updated for v5.4.0.
# 20180902 bkw: updated for v5.3.1.
PRGNAM=etsh
-VERSION=${VERSION:-5.3.1} # main etsh version
+VERSION=${VERSION:-5.4.0} # main etsh version
V6S_VER=${V6S_VER:-20180109} # v6scripts version
LT_VER=${LT_VER:-20180115} # looptest version
BUILD=${BUILD:-1}
@@ -63,11 +64,8 @@ rm -rf $PRGNAM-$VERSION
tar xvf $CWD/$PRGNAM-$VERSION.tar.gz
cd $PRGNAM-$VERSION
chown -R root:root .
-find -L . \
- \( -perm 777 -o -perm 775 -o -perm 750 -o -perm 711 -o -perm 555 \
- -o -perm 511 \) -exec chmod 755 {} \+ -o \
- \( -perm 666 -o -perm 664 -o -perm 640 -o -perm 600 -o -perm 444 \
- -o -perm 440 -o -perm 400 \) -exec chmod 644 {} \+
+find -L . -perm /111 -a \! -perm 755 -a -exec chmod 755 {} \+ -o \
+ \! -perm /111 -a \! -perm 644 -a -exec chmod 644 {} \+
./configure # not a GNU autoconf script, does not take standard args
make PREFIX=/usr BINDIR=/bin DESTDIR=$PKG WARNINGS="$SLKCFLAGS" install
@@ -90,7 +88,7 @@ cd -
# binaries already stripped
gzip -9 $PKG/usr/man/man?/*.?
-cp -a AUTHORS CHANGES* DEDICATIONS History \
+cp -a AUTHORS CHANGES* DEDICATIONS \
LICENSE NOTES PROJECT README* examples \
$DOCDIR
cat $CWD/$PRGNAM.SlackBuild > $DOCDIR/$PRGNAM.SlackBuild
diff --git a/system/etsh/etsh.info b/system/etsh/etsh.info
index 64a2c03cf0..dad0393dcb 100644
--- a/system/etsh/etsh.info
+++ b/system/etsh/etsh.info
@@ -1,10 +1,10 @@
PRGNAM="etsh"
-VERSION="5.3.1"
-HOMEPAGE="https://etsh.io/"
-DOWNLOAD="https://etsh.io/src/etsh_5.3.1/etsh-5.3.1.tar.gz \
- https://etsh.io/v6scripts/v6scripts-20180109.tar.gz \
- http://urchlay.naptime.net/~urchlay/src/looptest-20180115.tar.xz"
-MD5SUM="ade54e7130d2a8931427f6a2397337d6 \
+VERSION="5.4.0"
+HOMEPAGE="https://etsh.nl/"
+DOWNLOAD="https://etsh.nl/src/etsh_5.4.0/etsh-5.4.0.tar.gz \
+ https://etsh.nl/v6scripts/v6scripts-20180109.tar.gz \
+ https://slackware.uk/~urchlay/src/looptest-20180115.tar.xz"
+MD5SUM="e004699ce8842fdfc4536e54dbb1ea04 \
5fee60c842f1ab7274c5a53447de2b63 \
1c7ef73a9515d340354bbb19e5ebed91"
DOWNLOAD_x86_64=""
diff --git a/system/evilvte/evilvte.SlackBuild b/system/evilvte/evilvte.SlackBuild
index 40d9bb2671..18dbc4a4f6 100644
--- a/system/evilvte/evilvte.SlackBuild
+++ b/system/evilvte/evilvte.SlackBuild
@@ -2,7 +2,7 @@
#
# Slackware build script for evilvte.
#
-# Copyright 2015-2017 Edinaldo P. Silva, Rio de Janeiro, Brazil.
+# Copyright 2015-2020 Edinaldo P. Silva, Rio de Janeiro, Brazil.
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
diff --git a/system/evilvte/evilvte.info b/system/evilvte/evilvte.info
index e4cd913dd5..9ec5d1d50e 100644
--- a/system/evilvte/evilvte.info
+++ b/system/evilvte/evilvte.info
@@ -6,5 +6,5 @@ MD5SUM="e09c34ac7d5afaf6ca785b7984df70ed"
DOWNLOAD_x86_64=""
MD5SUM_x86_64=""
REQUIRES=""
-MAINTAINER="Edinaldo P. Silva"
-EMAIL="edps.mundognu@gmail.com"
+MAINTAINER="orphaned - no maintainer"
+EMAIL="nobody@nowhere"
diff --git a/system/exa/exa.SlackBuild b/system/exa/exa.SlackBuild
index 986a3c2b47..2ebd5f52e1 100644
--- a/system/exa/exa.SlackBuild
+++ b/system/exa/exa.SlackBuild
@@ -2,7 +2,7 @@
# Slackware build script for exa
-# Copyright 2017-2019 Andrew Clemons, Wellington New Zealand
+# Copyright 2017-2021 Andrew Clemons, Wellington New Zealand
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
@@ -23,7 +23,7 @@
# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
PRGNAM=exa
-VERSION=${VERSION:-0.9.0}
+VERSION=${VERSION:-0.10.0}
BUILD=${BUILD:-1}
TAG=${TAG:-_SBo}
@@ -119,7 +119,7 @@ mkdir vendor
sha256sum "$CWD/$dep-$ver.crate" | cut -f1 -d' ' | sed 's/$/"/'
printf "}\n"
- } | python -c "import sys, json; data = sys.stdin.read(); print json.dumps(json.loads(data), sort_keys=True, indent=4, separators=(',', ' : '))" > $dep-$ver/.cargo-checksum.json
+ } > $dep-$ver/.cargo-checksum.json
done
)
@@ -132,18 +132,11 @@ find -L . \
CFLAGS="$SLKCFLAGS" \
CXXFLAGS="$SLKCFLAGS" \
-cargo build --release --no-default-features --features default $CARGOTARGET
+cargo build --release $CARGOTARGET
mkdir -p $PKG/usr/bin
-find target -name exa -exec install -m 755 {} $PKG/usr/bin/exa \;
-mkdir -p $PKG/usr/share/bash-completion/completions
-mkdir -p $PKG/usr/share/zsh/site-functions
-make install-man install-bash-completions install-zsh-completions DESTDIR=$PKG PREFIX=/usr BASHDIR=/usr/share/bash-completion/completions ZSHDIR=/usr/share/zsh/site-functions
-
-mv $PKG/usr/share/man/ $PKG/usr
-find $PKG/usr/man -type f -exec gzip -9 {} \;
-for i in $( find $PKG/usr/man -type l ) ; do ln -s $( readlink $i ).gz $i.gz ; rm $i ; done
+find target -name $PRGNAM -exec install -m 755 {} $PKG/usr/bin/$PRGNAM \;
find $PKG -print0 | xargs -0 file | grep -e "executable" -e "shared object" | grep ELF \
| cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null || true
diff --git a/system/exa/exa.info b/system/exa/exa.info
index bf7123b84c..7eaff285a4 100644
--- a/system/exa/exa.info
+++ b/system/exa/exa.info
@@ -1,134 +1,92 @@
PRGNAM="exa"
-VERSION="0.9.0"
+VERSION="0.10.0"
HOMEPAGE="https://github.com/ogham/exa"
-DOWNLOAD="https://github.com/ogham/exa/archive/v0.9.0/exa-0.9.0.tar.gz \
- https://crates-io.s3-us-west-1.amazonaws.com/crates/aho-corasick/aho-corasick-0.7.3.crate \
- https://crates-io.s3-us-west-1.amazonaws.com/crates/ansi_term/ansi_term-0.12.0.crate \
- https://crates-io.s3-us-west-1.amazonaws.com/crates/atty/atty-0.2.11.crate \
- https://crates-io.s3-us-west-1.amazonaws.com/crates/autocfg/autocfg-0.1.4.crate \
- https://crates-io.s3-us-west-1.amazonaws.com/crates/bitflags/bitflags-1.0.4.crate \
- https://crates-io.s3-us-west-1.amazonaws.com/crates/byteorder/byteorder-1.3.2.crate \
- https://crates-io.s3-us-west-1.amazonaws.com/crates/cc/cc-1.0.35.crate \
- https://crates-io.s3-us-west-1.amazonaws.com/crates/cfg-if/cfg-if-0.1.7.crate \
- https://crates-io.s3-us-west-1.amazonaws.com/crates/datetime/datetime-0.4.7.crate \
- https://crates-io.s3-us-west-1.amazonaws.com/crates/env_logger/env_logger-0.6.1.crate \
- https://crates-io.s3-us-west-1.amazonaws.com/crates/git2/git2-0.9.1.crate \
+DOWNLOAD="https://github.com/ogham/exa/archive/v0.10.0/exa-0.10.0.tar.gz \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/ansi_term/ansi_term-0.12.1.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/autocfg/autocfg-1.0.1.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/bitflags/bitflags-1.2.1.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/byteorder/byteorder-1.3.4.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/cc/cc-1.0.61.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/cfg-if/cfg-if-0.1.10.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/datetime/datetime-0.5.2.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/git2/git2-0.13.11.crate \
https://crates-io.s3-us-west-1.amazonaws.com/crates/glob/glob-0.3.0.crate \
- https://crates-io.s3-us-west-1.amazonaws.com/crates/humantime/humantime-1.2.0.crate \
- https://crates-io.s3-us-west-1.amazonaws.com/crates/idna/idna-0.1.5.crate \
- https://crates-io.s3-us-west-1.amazonaws.com/crates/iso8601/iso8601-0.1.1.crate \
- https://crates-io.s3-us-west-1.amazonaws.com/crates/kernel32-sys/kernel32-sys-0.2.2.crate \
- https://crates-io.s3-us-west-1.amazonaws.com/crates/lazy_static/lazy_static-1.3.0.crate \
- https://crates-io.s3-us-west-1.amazonaws.com/crates/libc/libc-0.2.51.crate \
- https://crates-io.s3-us-west-1.amazonaws.com/crates/libgit2-sys/libgit2-sys-0.8.1.crate \
- https://crates-io.s3-us-west-1.amazonaws.com/crates/libz-sys/libz-sys-1.0.25.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/hermit-abi/hermit-abi-0.1.17.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/idna/idna-0.2.0.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/jobserver/jobserver-0.1.21.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/lazy_static/lazy_static-1.4.0.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/libc/libc-0.2.79.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/libgit2-sys/libgit2-sys-0.12.14+1.1.0.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/libz-sys/libz-sys-1.1.2.crate \
https://crates-io.s3-us-west-1.amazonaws.com/crates/locale/locale-0.2.2.crate \
- https://crates-io.s3-us-west-1.amazonaws.com/crates/log/log-0.4.6.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/log/log-0.4.11.crate \
https://crates-io.s3-us-west-1.amazonaws.com/crates/matches/matches-0.1.8.crate \
- https://crates-io.s3-us-west-1.amazonaws.com/crates/memchr/memchr-2.2.0.crate \
https://crates-io.s3-us-west-1.amazonaws.com/crates/natord/natord-1.0.9.crate \
- https://crates-io.s3-us-west-1.amazonaws.com/crates/nom/nom-1.2.4.crate \
- https://crates-io.s3-us-west-1.amazonaws.com/crates/num-traits/num-traits-0.1.43.crate \
- https://crates-io.s3-us-west-1.amazonaws.com/crates/num-traits/num-traits-0.2.6.crate \
- https://crates-io.s3-us-west-1.amazonaws.com/crates/num_cpus/num_cpus-1.10.0.crate \
- https://crates-io.s3-us-west-1.amazonaws.com/crates/number_prefix/number_prefix-0.3.0.crate \
- https://crates-io.s3-us-west-1.amazonaws.com/crates/openssl-src/openssl-src-111.3.0+1.1.1c.crate \
- https://crates-io.s3-us-west-1.amazonaws.com/crates/openssl-sys/openssl-sys-0.9.47.crate \
- https://crates-io.s3-us-west-1.amazonaws.com/crates/pad/pad-0.1.5.crate \
- https://crates-io.s3-us-west-1.amazonaws.com/crates/percent-encoding/percent-encoding-1.0.1.crate \
- https://crates-io.s3-us-west-1.amazonaws.com/crates/pkg-config/pkg-config-0.3.14.crate \
- https://crates-io.s3-us-west-1.amazonaws.com/crates/quick-error/quick-error-1.2.2.crate \
- https://crates-io.s3-us-west-1.amazonaws.com/crates/redox_syscall/redox_syscall-0.1.54.crate \
- https://crates-io.s3-us-west-1.amazonaws.com/crates/redox_termios/redox_termios-0.1.1.crate \
- https://crates-io.s3-us-west-1.amazonaws.com/crates/regex-syntax/regex-syntax-0.6.6.crate \
- https://crates-io.s3-us-west-1.amazonaws.com/crates/regex/regex-1.1.6.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/num_cpus/num_cpus-1.13.0.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/number_prefix/number_prefix-0.4.0.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/openssl-src/openssl-src-111.12.0+1.1.1h.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/openssl-sys/openssl-sys-0.9.58.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/pad/pad-0.1.6.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/percent-encoding/percent-encoding-2.1.0.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/pkg-config/pkg-config-0.3.19.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/redox_syscall/redox_syscall-0.1.57.crate \
https://crates-io.s3-us-west-1.amazonaws.com/crates/scoped_threadpool/scoped_threadpool-0.1.9.crate \
- https://crates-io.s3-us-west-1.amazonaws.com/crates/smallvec/smallvec-0.6.9.crate \
https://crates-io.s3-us-west-1.amazonaws.com/crates/term_grid/term_grid-0.1.7.crate \
- https://crates-io.s3-us-west-1.amazonaws.com/crates/term_size/term_size-0.3.1.crate \
- https://crates-io.s3-us-west-1.amazonaws.com/crates/termcolor/termcolor-1.0.4.crate \
- https://crates-io.s3-us-west-1.amazonaws.com/crates/termion/termion-1.5.1.crate \
- https://crates-io.s3-us-west-1.amazonaws.com/crates/thread_local/thread_local-0.3.6.crate \
- https://crates-io.s3-us-west-1.amazonaws.com/crates/ucd-util/ucd-util-0.1.3.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/term_size/term_size-0.3.2.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/tinyvec/tinyvec-0.3.4.crate \
https://crates-io.s3-us-west-1.amazonaws.com/crates/unicode-bidi/unicode-bidi-0.3.4.crate \
- https://crates-io.s3-us-west-1.amazonaws.com/crates/unicode-normalization/unicode-normalization-0.1.8.crate \
- https://crates-io.s3-us-west-1.amazonaws.com/crates/unicode-width/unicode-width-0.1.5.crate \
- https://crates-io.s3-us-west-1.amazonaws.com/crates/url/url-1.7.2.crate \
- https://crates-io.s3-us-west-1.amazonaws.com/crates/users/users-0.9.1.crate \
- https://crates-io.s3-us-west-1.amazonaws.com/crates/utf8-ranges/utf8-ranges-1.0.2.crate \
- https://crates-io.s3-us-west-1.amazonaws.com/crates/vcpkg/vcpkg-0.2.6.crate \
- https://crates-io.s3-us-west-1.amazonaws.com/crates/winapi-build/winapi-build-0.1.1.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/unicode-normalization/unicode-normalization-0.1.13.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/unicode-width/unicode-width-0.1.8.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/url/url-2.1.1.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/users/users-0.11.0.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/vcpkg/vcpkg-0.2.10.crate \
https://crates-io.s3-us-west-1.amazonaws.com/crates/winapi-i686-pc-windows-gnu/winapi-i686-pc-windows-gnu-0.4.0.crate \
- https://crates-io.s3-us-west-1.amazonaws.com/crates/winapi-util/winapi-util-0.1.2.crate \
https://crates-io.s3-us-west-1.amazonaws.com/crates/winapi-x86_64-pc-windows-gnu/winapi-x86_64-pc-windows-gnu-0.4.0.crate \
- https://crates-io.s3-us-west-1.amazonaws.com/crates/winapi/winapi-0.2.8.crate \
- https://crates-io.s3-us-west-1.amazonaws.com/crates/winapi/winapi-0.3.7.crate \
- https://crates-io.s3-us-west-1.amazonaws.com/crates/wincolor/wincolor-1.0.1.crate \
- https://crates-io.s3-us-west-1.amazonaws.com/crates/zoneinfo_compiled/zoneinfo_compiled-0.4.8.crate"
-MD5SUM="7eff17e086fe4a809dbf8c612945eabe \
- cb23a78f4c35abcb2d8d1394645674fe \
- badb073223ca5a3a22f1dbf0267808a0 \
- 5d7155b7fbc0e234c017f418f0dc9d64 \
- 3664ceb4b5c686f1adabe1f57931c425 \
- e5767560aad375059c975285c07022c0 \
- 85562346cef4a44a32cc1fadcdd06b50 \
- 9ffb6955a3e044b99bd60c1ea934bcc2 \
- 0cd2bb93a82da2e4ca526b40ae8b341e \
- 244e19eb0ab4ad90aa523890f7104465 \
- a52ad1aa4f05f96817c8c8e66deebf29 \
- 1df8c7ed6101088c436ca467160fb646 \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/winapi/winapi-0.3.9.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/zoneinfo_compiled/zoneinfo_compiled-0.5.1.crate"
+MD5SUM="e8064cba42ae5692a85365074761ef88 \
+ f44e8d1d2e61974b268852797530ea41 \
+ c6443ec8d007c729ba5482008d0c864d \
+ 6799c26a7eacaf8e58d3e45c6c5add89 \
+ e502e6c6b0dca9c1ae2d99e92b26f645 \
+ 87343079a03b28726b323c5c40c9167c \
+ 882dbbc613a93f64c3709b0a2bd0d6dc \
+ 483eecc236461c493fd1aab629cee9e2 \
+ 5cd52aaa12a180c9e090f40a30cd2a99 \
e7c07242a95ee1df865efe9534e10a34 \
- 4583a67acf00a437e5cd27857210a526 \
- 89cabfcb37602a7b200b1a9cd660ee2e \
- 4867b6387128434a377e6ab91ea65af8 \
- 9d033cc2daa6924420a4a89e6705773f \
- 1c9fee8f180b6f3402849983a45bbd6d \
- 0d58929587967a437054a48d3df3d74f \
- c754f4e4df5f266482842053824f53a4 \
- 8a79353ba205d0a86f695053dd4d15be \
+ 553b325a602b701eb7eaef228e69d0f2 \
+ 54ac4c56d9ec2800b8428020f24be67c \
+ 04a84513cdad48c92d8363d627904227 \
+ fba3b040a55c01be7376d3dd5c4d4920 \
+ 7aef65438636d8662cd61e77c42c28f0 \
+ 486fd4e3f2db566414f9d0b66e377fb6 \
+ e5768043e447a7423f030c1394440502 \
4b6711425b661ef923c9ff3ef9ba8c67 \
- cc65f96341390c0f60f5216e829486e7 \
+ f50d2e280b4a3491fffda43b90982544 \
7916dcd738a8fa6a2798754c20d6e146 \
- 514a89ff59a9bf0671d7db4812725459 \
5a9b94ba54ea1f52f2a496ba982e3282 \
- 3796b5abe0f8c5f3a9e9441c5757a52c \
- 4667779e8bc2c1c564a2f8ee1d431b35 \
- cbdebc326641fcab42bc92a113548740 \
- 9fc51e79791f918b643e3802a2e0e88f \
- 0951beec2d7a0016cfdc535649c58fc6 \
- 116a226eb8cbd3e1f7feec24f51dba15 \
- e9841fe3647cb717ba37bd36d17eee22 \
- 127403beb2fe017f7ad1b153b1538882 \
- 8a5fc6ba84f3ac8a7e43ecb99322866c \
- 87a9d36f5ebe5eae0c3e8d69d58752e1 \
- 4563373184ff931ec276dc1a659d52d2 \
- 14fab6ea3c2c94779d3c50dd2dffd10e \
- 01cb5402c0fd99cebac702b76f2f2669 \
- 4ee4b798e15d09f65c6e66c7d3c503fd \
- 9d1baf9d7576dd51ecd02dcc76810678 \
+ c36d452e37c73b1e99f40bae18cddfdb \
+ 4bbea6a7f7b7715c2e4eb553cf62913c \
+ 57230f576c93046e708d3afcff7ac682 \
+ 48067cc7d8ace5851af5f3ea557fee17 \
+ 9ef4dc6ae75b107b9b8eb13d5824bba8 \
+ f490982aceabdbd515348f63e638a782 \
+ 448bc61aee07661464d98da7660e9a1d \
+ 3cc3a4bd5861ca93d7c0d19129334703 \
b492e0a70603c3903a44ec5cabd3ba21 \
- decf47fcc527d6ff7315570be2a9de0f \
225ea4b479317c9db74e6e74db8ef198 \
- adf9d2250c2a622c6274514e38d1f559 \
- 6b70927d96d7e02a00964cbd0732dec3 \
- de04800c89d374b8a843f91d26fa05ad \
- baaa166f66e90e94b76b7418afd5df90 \
- d34a9f507f3ecf7d93c07deb74f1cd7c \
+ 73d602cc41e3e431bf4fabd129ae1616 \
+ 253a33d4577293cbeb852f14069b4a84 \
f403bbb812ce1a2d9270d9159cf9e8d3 \
- 60eec117e8efaa29b898e43319da2b05 \
- d7c493ca4f84a7d50b53646421a37487 \
- 32f0ced8a8881d2c0572b879bf15b91e \
- 4e027f7213c520594ef3a334d44f162c \
- 9c27232c12abb96c68e10e21f2012639 \
- e75c0721667b6bc86472ecf7b286d9fc \
- c900e7dbce808ff8ced375077b17a163 \
+ c3be058b692f0e9b25a3219b7b5d940c \
+ 4272c279b06b88f8b0ffce7109348e27 \
+ 81821d39675a1f584546b9920e5d6b5d \
+ d4c929fc9daf131daef04ee7eaa91fd4 \
+ bff823ec07c5fbcc3e425c9c9e4b38a6 \
db96b50050277bf05a3c68534bbb9586 \
- 4724370f3179d1ab61f3fd8fa60a2368 \
09de9d01e7331ff3da11f58be8bef0df \
- b44489eb4799c4fabac3fceb48de54f7 \
- 38569b37293d94fc57b6e1449a1c38aa \
- 2f9f840bd479751f715a8f530976b6bf \
- 800e62b2bcdb24b8095ea9d6ba70ddea"
+ 0498c4a11448bfc35dc7bb2caa64c753 \
+ cebfcf2c00532e4559ecad9c9ebaca0a"
DOWNLOAD_x86_64=""
MD5SUM_x86_64=""
REQUIRES=""
diff --git a/system/execline/README b/system/execline/README
index 567b32fdb9..c3019a5055 100644
--- a/system/execline/README
+++ b/system/execline/README
@@ -1,4 +1,4 @@
-execline is a (non-interactive) scripting language, like sh ; but its
+execline is a (non-interactive) scripting language, like sh; but its
syntax is quite different from a traditional shell syntax. The
execlineb program is meant to be used as an interpreter for a text
file; the other commands are essentially useful inside an execlineb
@@ -9,6 +9,26 @@ getopt-style option handling, filename globbing, and more. Meanwhile,
its syntax is far more logic and predictable than the shell's syntax,
and has no security issues.
-execline requires skalibs at build time but not at run time.
+NOTE:
+Upstream recommends building skarnet.org softwares with static libraries
+as most of skarnet.org softwares are small enough that using shared
+libraries are generally not worth using. Therefore, by default, shared
+libraries are not built and binaries are linked against the static
+versions of the skarnet.org libraries.
-execline installs into /command to match the skarnet.org examples.
+If you want to also build the shared libraries, pass BUILD_SHARED=yes
+environment variable to the SlackBuild script like below:
+
+ BUILD_SHARED=yes ./execline.SlackBuild
+
+Similarly, to avoid building the static libraries, you can pass
+BUILD_STATIC=no to the script. For example, to only build the shared
+libraries and not the static ones, you can do something like:
+
+ BUILD_SHARED=yes BUILD_STATIC=no ./execline.SlackBuild
+
+If you just want to build and use skarnet.org softwares, building only
+the static libraries should be sufficient.
+
+If you want the binaries to be linked against the shared versions of the
+skarnet.org libraries, pass LINK_SHARED=yes to the script.
diff --git a/system/execline/execline.SlackBuild b/system/execline/execline.SlackBuild
index d072a3d95d..1394c1bfd1 100644
--- a/system/execline/execline.SlackBuild
+++ b/system/execline/execline.SlackBuild
@@ -3,6 +3,7 @@
# Slackware build script for execline
# Copyright 2019 Sean MacLennan Ottawa, Canada
+# Copyright 2020 Muhammad Mahendra Subrata Depok, Indonesia
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
@@ -23,7 +24,7 @@
# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
PRGNAM=execline
-VERSION=${VERSION:-2.5.0.1}
+VERSION=${VERSION:-2.8.0.1}
BUILD=${BUILD:-1}
TAG=${TAG:-_SBo}
@@ -54,6 +55,20 @@ else
LIBDIRSUFFIX=""
fi
+# By default, only static libraries are built. If you need to build the shared libraries, just pass
+# BUILD_SHARED=yes to this script
+BUILD_STATIC=${BUILD_STATIC:-yes}
+BUILD_SHARED=${BUILD_SHARED:-no}
+[ "$BUILD_STATIC" = "no" ] && LIBS_CONF="--disable-static"
+[ "$BUILD_SHARED" = "yes" ] && LIBS_CONF="--enable-shared $LIBS_CONF"
+
+# By default, all binaries are linked against the static versions of the skarnet.org libraries
+# Pass LINK_SHARED=yes to link the binaries against the shared versions of the skarnet.org libraries
+# Also, if you only built the shared versions of the skarnet.org libraries, the binaries will be
+# linked against shared libraries automatically, as though LINK_SHARED=yes is passed to this script
+LINK_SHARED=${LINK_SHARED:-no}
+[ "$LINK_SHARED" = "yes" ] && LIBS_CONF="--disable-allstatic $LIBS_CONF"
+
set -e
rm -rf $PKG
@@ -72,17 +87,19 @@ find -L . \
CFLAGS="$SLKCFLAGS" \
CXXFLAGS="$SLKCFLAGS" \
./configure \
- --bindir=/command \
- --libdir=/usr/lib${LIBDIRSUFFIX} \
- --dynlibdir=/usr/lib${LIBDIRSUFFIX} \
- --build=$ARCH-slackware-linux
+ --dynlibdir=/lib${LIBDIRSUFFIX} \
+ --bindir=/bin \
+ --libexecdir=/usr/libexec \
+ --libdir=/usr/lib${LIBDIRSUFFIX}/execline \
+ --includedir=/usr/include \
+ --with-sysdeps=/usr/lib${LIBDIRSUFFIX}/skalibs/sysdeps \
+ --with-lib=/usr/lib${LIBDIRSUFFIX}/skalibs \
+ $LIBS_CONF
make
+make strip
make install DESTDIR=$PKG
-find $PKG -print0 | xargs -0 file | grep -e "executable" -e "shared object" | grep ELF \
- | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null || true
-
mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION
cp -a AUTHORS COPYING INSTALL NEWS README doc examples $PKG/usr/doc/$PRGNAM-$VERSION
cat $CWD/$PRGNAM.SlackBuild > $PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM.SlackBuild
diff --git a/system/execline/execline.info b/system/execline/execline.info
index 50e218698b..4325cd74e9 100644
--- a/system/execline/execline.info
+++ b/system/execline/execline.info
@@ -1,10 +1,10 @@
PRGNAM="execline"
-VERSION="2.5.0.1"
+VERSION="2.8.0.1"
HOMEPAGE="https://skarnet.org/software/execline/"
-DOWNLOAD="https://skarnet.org/software/execline/execline-2.5.0.1.tar.gz"
-MD5SUM="fffc9f3fe0e7611d297a86e478c81ff5"
+DOWNLOAD="https://skarnet.org/software/execline/execline-2.8.0.1.tar.gz"
+MD5SUM="1db2962b05f2566826ad9da4e3b5c475"
DOWNLOAD_x86_64=""
MD5SUM_x86_64=""
REQUIRES="skalibs"
-MAINTAINER="Sean MacLennan"
-EMAIL="seanm@seanm.ca"
+MAINTAINER="Muhammad Mahendra Subrata"
+EMAIL="mumahendras3@gmail.com"
diff --git a/system/execline/slack-desc b/system/execline/slack-desc
index 87fd38cafa..9d0df0b9fb 100644
--- a/system/execline/slack-desc
+++ b/system/execline/slack-desc
@@ -8,12 +8,12 @@
|-----handy-ruler------------------------------------------------------|
execline: execline (non-interactive scripting language)
execline:
-execline: The execlineb program is meant to be used as an interpreter for a
-execline: text file; the other commands are essentially useful inside an
-execline: execlineb script. execline is as powerful as a shell: it features
-execline: conditional loops, getopt-style option handling, filename globbing,
-execline: and more. Meanwhile, its syntax is far more logic and predictable
-execline: than the shell's syntax, and has no security issues.
+execline: execline is a (non-interactive) scripting language, like sh; but its
+execline: syntax is quite different from a traditional shell syntax. It is as
+execline: powerful as a shell: it features conditional loops, getopt-style
+execline: option handling, filename globbing, and more. Meanwhile, its syntax is
+execline: far more logic and predictable than the shell's syntax, and has no
+execline: security issues.
execline:
-execline: https://skarnet.org/software/execline/
+execline: Homepage: https://skarnet.org/software/execline/
execline:
diff --git a/system/exomizer/exomizer.SlackBuild b/system/exomizer/exomizer.SlackBuild
index 9f4f47f02b..fba03086b4 100644
--- a/system/exomizer/exomizer.SlackBuild
+++ b/system/exomizer/exomizer.SlackBuild
@@ -6,6 +6,11 @@
# Licensed under the WTFPL. See http://www.wtfpl.net/txt/copying/ for details.
+# 20210225 bkw: update for v3.1.0, try using upstream's download
+# URL again. Handle bitbucket adding ?rev=<hash> to the filename, by
+# using .zip* as the source filename. Not ideal, but workable.
+
+# 20191201 bkw: update for v3.0.2
# 20180829 bkw: update for v3.0.1
# 20180619 bkw:
@@ -16,7 +21,7 @@
# - can still build with VERSION=2.0.9 or VERSION=2.0.10, if needed
PRGNAM=exomizer
-VERSION=${VERSION:-3.0.1}
+VERSION=${VERSION:-3.1.0}
BUILD=${BUILD:-1}
TAG=${TAG:-_SBo}
@@ -55,14 +60,11 @@ cd $TMP
rm -rf $PRGNAM-$VERSION
mkdir -p $PRGNAM-$VERSION
cd $PRGNAM-$VERSION
-unzip $CWD/${PRGNAM}${VERSION//./}.zip -x dos/\* win32/\* || \
- unzip $CWD/$PRGNAM-$VERSION.zip -x dos/\* win32/\*
+unzip $CWD/${PRGNAM}${VERSION//./}.zip* -x dos/\* win32/\* || \
+ unzip $CWD/$PRGNAM-$VERSION.zip* -x dos/\* win32/\*
chown -R root:root .
-find -L . \
- \( -perm 777 -o -perm 775 -o -perm 750 -o -perm 711 -o -perm 555 \
- -o -perm 511 \) -exec chmod 755 {} \; -o \
- \( -perm 666 -o -perm 664 -o -perm 640 -o -perm 600 -o -perm 444 \
- -o -perm 440 -o -perm 400 \) -exec chmod 644 {} \;
+find -L . -perm /111 -a \! -perm 755 -a -exec chmod 755 {} \+ -o \
+ \! -perm /111 -a \! -perm 644 -a -exec chmod 644 {} \+
make -C src CFLAGS="$SLKCFLAGS"
mkdir -p $PKG/usr/bin
diff --git a/system/exomizer/exomizer.info b/system/exomizer/exomizer.info
index 38a1dcc868..8ce26be2ec 100644
--- a/system/exomizer/exomizer.info
+++ b/system/exomizer/exomizer.info
@@ -1,8 +1,8 @@
PRGNAM="exomizer"
-VERSION="3.0.1"
+VERSION="3.1.0"
HOMEPAGE="https://bitbucket.org/magli143/exomizer/wiki/Home"
-DOWNLOAD="http://urchlay.naptime.net/~urchlay/src/exomizer-3.0.1.zip"
-MD5SUM="cb5b3fe6a4c492099b220a9da064f7e5"
+DOWNLOAD="https://bitbucket.org/magli143/exomizer/wiki/downloads/exomizer-3.1.0.zip"
+MD5SUM="ea39dde72aa703324e27a4ee8b6ad1b4"
DOWNLOAD_x86_64=""
MD5SUM_x86_64=""
REQUIRES=""
diff --git a/system/extract-xiso/extract-xiso.SlackBuild b/system/extract-xiso/extract-xiso.SlackBuild
index b93c17045a..9b0442cc50 100644
--- a/system/extract-xiso/extract-xiso.SlackBuild
+++ b/system/extract-xiso/extract-xiso.SlackBuild
@@ -2,7 +2,7 @@
#
# Slackware build script for extract-xiso.
#
-# Copyright 2015-2017 Edinaldo P. Silva, Rio de Janeiro, Brazil.
+# Copyright 2015-2020 Edinaldo P. Silva, Rio de Janeiro, Brazil.
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
diff --git a/system/extract-xiso/extract-xiso.info b/system/extract-xiso/extract-xiso.info
index bd7443c87d..9be9114975 100644
--- a/system/extract-xiso/extract-xiso.info
+++ b/system/extract-xiso/extract-xiso.info
@@ -6,5 +6,5 @@ MD5SUM="464aeb312aca6f4a1ffee42384b3c738"
DOWNLOAD_x86_64=""
MD5SUM_x86_64=""
REQUIRES=""
-MAINTAINER="Edinaldo P. Silva"
-EMAIL="edps.mundognu@gmail.com"
+MAINTAINER="orphaned - no maintainer"
+EMAIL="nobody@nowhere"
diff --git a/system/f2fs_tools/f2fs_tools.SlackBuild b/system/f2fs_tools/f2fs_tools.SlackBuild
index 198eb74854..cfc322e817 100644
--- a/system/f2fs_tools/f2fs_tools.SlackBuild
+++ b/system/f2fs_tools/f2fs_tools.SlackBuild
@@ -5,7 +5,7 @@
PRGNAM=f2fs_tools
SRCNAM=f2fs-tools
-VERSION=${VERSION:-1.6.1}
+VERSION=${VERSION:-1.14.0}
BUILD=${BUILD:-1}
TAG=${TAG:-_SBo}
diff --git a/system/f2fs_tools/f2fs_tools.info b/system/f2fs_tools/f2fs_tools.info
index cda93b1788..d3c8afa5b2 100644
--- a/system/f2fs_tools/f2fs_tools.info
+++ b/system/f2fs_tools/f2fs_tools.info
@@ -1,8 +1,8 @@
PRGNAM="f2fs_tools"
-VERSION="1.6.1"
+VERSION="1.14.0"
HOMEPAGE="http://git.kernel.org/cgit/linux/kernel/git/jaegeuk/f2fs-tools.git"
-DOWNLOAD="http://git.kernel.org/cgit/linux/kernel/git/jaegeuk/f2fs-tools.git/snapshot/f2fs-tools-v1.6.1.tar.gz"
-MD5SUM="3fc6caa14569e059fc41807e42641a11"
+DOWNLOAD="http://git.kernel.org/cgit/linux/kernel/git/jaegeuk/f2fs-tools.git/snapshot/f2fs-tools-v1.14.0.tar.gz"
+MD5SUM="b8be45bb2903d9c89d33f3dda630f7b9"
DOWNLOAD_x86_64=""
MD5SUM_x86_64=""
REQUIRES=""
diff --git a/system/fantasque-sans-mono/README b/system/fantasque-sans-mono/README
new file mode 100644
index 0000000000..7cdf3f8e9f
--- /dev/null
+++ b/system/fantasque-sans-mono/README
@@ -0,0 +1,2 @@
+fantasque-sans-mono is a cool monospaced font with a handwriting style.
+This script packages both the TTF and OTF font files.
diff --git a/system/fantasque-sans-mono/doinst.sh b/system/fantasque-sans-mono/doinst.sh
new file mode 100644
index 0000000000..ff1dece33d
--- /dev/null
+++ b/system/fantasque-sans-mono/doinst.sh
@@ -0,0 +1,10 @@
+# Update the X font indexes:
+if [ -x /usr/bin/mkfontdir ]; then
+ ( cd /usr/share/fonts/OTF
+ mkfontscale .
+ mkfontdir .
+ )
+fi
+if [ -x /usr/bin/fc-cache ]; then
+ /usr/bin/fc-cache -f
+fi
diff --git a/system/fantasque-sans-mono/fantasque-sans-mono.SlackBuild b/system/fantasque-sans-mono/fantasque-sans-mono.SlackBuild
new file mode 100644
index 0000000000..594f73842e
--- /dev/null
+++ b/system/fantasque-sans-mono/fantasque-sans-mono.SlackBuild
@@ -0,0 +1,72 @@
+#!/bin/sh
+
+# Slackware build script for fantasque-sans-mono
+
+# Copyright 2019 klorophatu
+# 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.
+
+PRGNAM=fantasque-sans-mono
+VERSION=${VERSION:-1.8.0}
+BUILD=${BUILD:-1}
+TAG=${TAG:-_SBo}
+
+ARCH=noarch
+
+CWD=$(pwd)
+TMP=${TMP:-/tmp/SBo}
+PKG=$TMP/package-$PRGNAM
+OUTPUT=${OUTPUT:-/tmp}
+
+set -eu
+
+rm -rf $PKG
+mkdir -p $TMP $PKG $OUTPUT
+
+cd $TMP
+rm -rf $PRGNAM-$VERSION
+mkdir $PRGNAM-$VERSION
+
+cd $PRGNAM-$VERSION
+unzip $CWD/FantasqueSansMono-Normal.zip
+
+chown -R root:root .
+find -L . \
+ \( -perm 777 -o -perm 775 -o -perm 750 -o -perm 711 -o -perm 555 \
+ -o -perm 511 \) -exec chmod 755 {} \; -o \
+ \( -perm 666 -o -perm 664 -o -perm 640 -o -perm 600 -o -perm 444 \
+ -o -perm 440 -o -perm 400 \) -exec chmod 644 {} \;
+
+mkdir -p $PKG/usr/share/fonts/OTF
+cp -a OTF/*.otf $PKG/usr/share/fonts/OTF
+
+mkdir -p $PKG/usr/share/fonts/TTF
+cp -a TTF/*.ttf $PKG/usr/share/fonts/TTF
+
+mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION
+cp -a LICENSE.txt $PKG/usr/doc/$PRGNAM-$VERSION
+cp -a *.md $PKG/usr/doc/$PRGNAM-$VERSION
+cat $CWD/$PRGNAM.SlackBuild > $PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM.SlackBuild
+
+mkdir -p $PKG/install
+cat $CWD/slack-desc > $PKG/install/slack-desc
+cat $CWD/doinst.sh > $PKG/install/doinst.sh
+
+cd $PKG
+/sbin/makepkg -l y -c n $OUTPUT/$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.${PKGTYPE:-tgz}
diff --git a/system/fantasque-sans-mono/fantasque-sans-mono.info b/system/fantasque-sans-mono/fantasque-sans-mono.info
new file mode 100644
index 0000000000..5bf1504dc1
--- /dev/null
+++ b/system/fantasque-sans-mono/fantasque-sans-mono.info
@@ -0,0 +1,10 @@
+PRGNAM="fantasque-sans-mono"
+VERSION="1.8.0"
+HOMEPAGE="https://github.com/belluzj/fantasque-sans/"
+DOWNLOAD="https://github.com/belluzj/fantasque-sans/releases/download/v1.8.0/FantasqueSansMono-Normal.zip"
+MD5SUM="99bd6bf2755c7f6b5f5c62daf6807aea"
+DOWNLOAD_x86_64=""
+MD5SUM_x86_64=""
+REQUIRES=""
+MAINTAINER="klorophatu"
+EMAIL="klorophatu@krutt.org"
diff --git a/system/fantasque-sans-mono/slack-desc b/system/fantasque-sans-mono/slack-desc
new file mode 100644
index 0000000000..509eccd125
--- /dev/null
+++ b/system/fantasque-sans-mono/slack-desc
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description.
+# Line up the first '|' above the ':' following the base package name, and
+# the '|' on the right side marks the last column you can put a character in.
+# You must make exactly 11 lines for the formatting to be correct. It's also
+# customary to leave one space after the ':' except on otherwise blank lines.
+
+ |-----handy-ruler------------------------------------------------------|
+fantasque-sans-mono: fantasque-sans-mono (Monospaced programming font)
+fantasque-sans-mono:
+fantasque-sans-mono: A programming font, designed with functionality in mind.
+fantasque-sans-mono:
+fantasque-sans-mono: The font has some wibbly-wobbly handwriting-like fuzziness that
+fantasque-sans-mono: makes it unassumingly cool. It is used for programming, as it is
+fantasque-sans-mono: a monospaced font.
+fantasque-sans-mono:
+fantasque-sans-mono: Homepage: https://github.com/belluzj/fantasque-sans/
+fantasque-sans-mono:
+fantasque-sans-mono:
diff --git a/system/fasd/slack-desc b/system/fasd/slack-desc
index c74a9dd152..284105f567 100644
--- a/system/fasd/slack-desc
+++ b/system/fasd/slack-desc
@@ -16,4 +16,4 @@ fasd: quickly reference them in the command line.
fasd:
fasd: The name fasd comes from the default suggested aliases f(files),
fasd: a(files/directories), s(show/search/select), d(directories).
-fasd: \ No newline at end of file
+fasd:
diff --git a/system/fatrace/fatrace.SlackBuild b/system/fatrace/fatrace.SlackBuild
index e8e68ad4e5..72e5b34cea 100644
--- a/system/fatrace/fatrace.SlackBuild
+++ b/system/fatrace/fatrace.SlackBuild
@@ -2,7 +2,7 @@
# Slackware build script for fatrace
-# Copyright 2018 Leonardo Citrolo, Italy
+# Copyright 2018-2020 Leonardo Citrolo, Italy
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
@@ -23,7 +23,7 @@
# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
PRGNAM=fatrace
-VERSION=${VERSION:-0.13}
+VERSION=${VERSION:-0.15}
BUILD=${BUILD:-1}
TAG=${TAG:-_SBo}
@@ -60,7 +60,7 @@ rm -rf $PKG
mkdir -p $TMP $PKG $OUTPUT
cd $TMP
rm -rf $PRGNAM-$VERSION
-tar xvf $CWD/$PRGNAM-$VERSION.tar.bz2
+tar xvf $CWD/$PRGNAM-$VERSION.tar.?z*
cd $PRGNAM-$VERSION
chown -R root:root .
find -L . \
diff --git a/system/fatrace/fatrace.info b/system/fatrace/fatrace.info
index 8ea1432f21..bc7e463ec8 100644
--- a/system/fatrace/fatrace.info
+++ b/system/fatrace/fatrace.info
@@ -1,8 +1,8 @@
PRGNAM="fatrace"
-VERSION="0.13"
+VERSION="0.15"
HOMEPAGE="https://launchpad.net/fatrace"
-DOWNLOAD="https://launchpad.net/fatrace/trunk/0.13/+download/fatrace-0.13.tar.bz2"
-MD5SUM="c390b5d2ce6e48a88ff1905593b9eb61"
+DOWNLOAD="https://launchpad.net/fatrace/trunk/0.15/+download/fatrace-0.15.tar.xz"
+MD5SUM="d33ec7c650ab25a835540e802bfab09f"
DOWNLOAD_x86_64=""
MD5SUM_x86_64=""
REQUIRES="python3"
diff --git a/system/fatsort/fatsort.SlackBuild b/system/fatsort/fatsort.SlackBuild
index ac2e5e8cea..430da431ec 100644
--- a/system/fatsort/fatsort.SlackBuild
+++ b/system/fatsort/fatsort.SlackBuild
@@ -1,9 +1,8 @@
#!/bin/sh
# Slackware build script for fatsort
-# $Id: fatsort.SlackBuild,v 1.1 2018/08/03 07:22:48 pomf Exp pomf $
-# Copyright 2018 pomfland
+# Copyright 2020 pomfland
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
@@ -24,16 +23,16 @@
# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
PRGNAM=fatsort
-VERSION=${VERSION:-1.4.2.439}
+VERSION=${VERSION:-1.6.2.605}
BUILD=${BUILD:-1}
TAG=${TAG:-_SBo}
if [ -z "$ARCH" ]; then
- case "$( uname -m )" in
+case "$( uname -m )" in
i?86) ARCH=i586 ;;
arm*) ARCH=arm ;;
- *) ARCH=$( uname -m ) ;;
- esac
+ *) ARCH=$( uname -m ) ;;
+esac
fi
CWD=$(pwd)
@@ -42,17 +41,17 @@ PKG=$TMP/package-$PRGNAM
OUTPUT=${OUTPUT:-/tmp}
if [ "$ARCH" = "i586" ]; then
- SLKCFLAGS="-O2 -march=i586 -mtune=i686"
- LIBDIRSUFFIX=""
+SLKCFLAGS="-O2 -march=i586 -mtune=i686"
+LIBDIRSUFFIX=""
elif [ "$ARCH" = "i686" ]; then
- SLKCFLAGS="-O2 -march=i686 -mtune=i686"
- LIBDIRSUFFIX=""
+SLKCFLAGS="-O2 -march=i686 -mtune=i686"
+LIBDIRSUFFIX=""
elif [ "$ARCH" = "x86_64" ]; then
- SLKCFLAGS="-O2 -fPIC"
- LIBDIRSUFFIX="64"
+SLKCFLAGS="-O2 -fPIC"
+LIBDIRSUFFIX="64"
else
- SLKCFLAGS="-O2"
- LIBDIRSUFFIX=""
+SLKCFLAGS="-O2"
+LIBDIRSUFFIX=""
fi
set -e
@@ -65,16 +64,16 @@ tar xvf $CWD/$PRGNAM-$VERSION.tar.xz
cd $PRGNAM-$VERSION
chown -R root:root .
find -L . \
- \( -perm 777 -o -perm 775 -o -perm 750 -o -perm 711 -o -perm 555 \
- -o -perm 511 \) -exec chmod 755 {} \; -o \
- \( -perm 666 -o -perm 664 -o -perm 640 -o -perm 600 -o -perm 444 \
- -o -perm 440 -o -perm 400 \) -exec chmod 644 {} \;
+\( -perm 777 -o -perm 775 -o -perm 750 -o -perm 711 -o -perm 555 \
+-o -perm 511 \) -exec chmod 755 {} \; -o \
+\( -perm 666 -o -perm 664 -o -perm 640 -o -perm 600 -o -perm 444 \
+-o -perm 440 -o -perm 400 \) -exec chmod 644 {} \;
-CFLAGS="$SLKCFLAGS" make
+make
make install DESTDIR=$PKG MANDIR=/usr/man/man1 SBINDIR=/usr/sbin
find $PKG -print0 | xargs -0 file | grep -e "executable" -e "shared object" | grep ELF \
- | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null || true
+| cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null || true
find $PKG/usr/man -type f -exec gzip -9 {} \;
for i in $( find $PKG/usr/man -type l ) ; do ln -s $( readlink $i ).gz $i.gz ; rm $i ; done
diff --git a/system/fatsort/fatsort.info b/system/fatsort/fatsort.info
index 6201b038c7..4500153440 100644
--- a/system/fatsort/fatsort.info
+++ b/system/fatsort/fatsort.info
@@ -1,8 +1,8 @@
PRGNAM="fatsort"
-VERSION="1.4.2.439"
+VERSION="1.6.2.605"
HOMEPAGE="https://fatsort.sourceforge.io/"
-DOWNLOAD="https://sourceforge.net/projects/fatsort/files/fatsort-1.4.2.439.tar.xz"
-MD5SUM="0ca483918bd12339653c4563e11ef20a"
+DOWNLOAD="https://sourceforge.net/projects/fatsort/files/fatsort-1.6.2.605.tar.xz"
+MD5SUM="e3ef708dcdfff60e81db957f6ac30f5a"
DOWNLOAD_x86_64=""
MD5SUM_x86_64=""
REQUIRES=""
diff --git a/system/fcron/fcron.SlackBuild b/system/fcron/fcron.SlackBuild
index 0ca20e670a..835f21f70f 100644
--- a/system/fcron/fcron.SlackBuild
+++ b/system/fcron/fcron.SlackBuild
@@ -24,7 +24,7 @@
PRGNAM=fcron
VERSION=${VERSION:-3.3.0}
-BUILD=${BUILD:-1}
+BUILD=${BUILD:-2}
TAG=${TAG:-_SBo}
# Select fcron's default user/group
@@ -47,7 +47,7 @@ fi
if [ -z "$ARCH" ]; then
case "$( uname -m )" in
- i?86) ARCH=i486 ;;
+ i?86) ARCH=i586 ;;
arm*) ARCH=arm ;;
*) ARCH=$( uname -m ) ;;
esac
@@ -58,8 +58,8 @@ TMP=${TMP:-/tmp/SBo}
PKG=$TMP/package-$PRGNAM
OUTPUT=${OUTPUT:-/tmp}
-if [ "$ARCH" = "i486" ]; then
- SLKCFLAGS="-O2 -march=i486 -mtune=i686 -Wall"
+if [ "$ARCH" = "i586" ]; then
+ SLKCFLAGS="-O2 -march=i586 -mtune=i686 -Wall"
LIBDIRSUFFIX=""
elif [ "$ARCH" = "i686" ]; then
SLKCFLAGS="-O2 -march=i686 -mtune=i686 -Wall"
@@ -94,6 +94,7 @@ find -L . \
--with-boot-install=no \
--with-cflags="$SLKCFLAGS" \
--with-docdir=/usr/doc \
+ --without-pam \
--libdir=/usr/lib${LIBDIRSUFFIX} \
--localstatedir=/var \
--mandir=/usr/man \
diff --git a/system/fd/fd.SlackBuild b/system/fd/fd.SlackBuild
index e136d7fde2..e842053adb 100644
--- a/system/fd/fd.SlackBuild
+++ b/system/fd/fd.SlackBuild
@@ -2,7 +2,7 @@
# Slackware build script for fd
-# Copyright 2017-2019 Andrew Clemons, Wellington New Zealand
+# Copyright 2017-2020 Andrew Clemons, Wellington New Zealand
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
@@ -23,7 +23,7 @@
# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
PRGNAM=fd
-VERSION=${VERSION:-7.4.0}
+VERSION=${VERSION:-8.2.1}
BUILD=${BUILD:-1}
TAG=${TAG:-_SBo}
@@ -119,7 +119,7 @@ mkdir vendor
sha256sum "$CWD/$dep-$ver.crate" | cut -f1 -d' ' | sed 's/$/"/'
printf "}\n"
- } | python -c "import sys, json; data = sys.stdin.read(); print json.dumps(json.loads(data), sort_keys=True, indent=4, separators=(',', ' : '))" > $dep-$ver/.cargo-checksum.json
+ } > $dep-$ver/.cargo-checksum.json
done
)
diff --git a/system/fd/fd.info b/system/fd/fd.info
index 7dc4f720dc..bb79177da2 100644
--- a/system/fd/fd.info
+++ b/system/fd/fd.info
@@ -1,120 +1,128 @@
PRGNAM="fd"
-VERSION="7.4.0"
+VERSION="8.2.1"
HOMEPAGE="https://github.com/sharkdp/fd"
-DOWNLOAD="https://github.com/sharkdp/fd/archive/v7.4.0/fd-7.4.0.tar.gz \
- https://crates-io.s3-us-west-1.amazonaws.com/crates/aho-corasick/aho-corasick-0.7.6.crate \
+DOWNLOAD="https://github.com/sharkdp/fd/archive/v8.2.1/fd-8.2.1.tar.gz \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/aho-corasick/aho-corasick-0.7.15.crate \
https://crates-io.s3-us-west-1.amazonaws.com/crates/ansi_term/ansi_term-0.11.0.crate \
https://crates-io.s3-us-west-1.amazonaws.com/crates/ansi_term/ansi_term-0.12.1.crate \
- https://crates-io.s3-us-west-1.amazonaws.com/crates/atty/atty-0.2.13.crate \
- https://crates-io.s3-us-west-1.amazonaws.com/crates/bitflags/bitflags-1.1.0.crate \
- https://crates-io.s3-us-west-1.amazonaws.com/crates/bstr/bstr-0.2.8.crate \
- https://crates-io.s3-us-west-1.amazonaws.com/crates/cc/cc-1.0.45.crate \
- https://crates-io.s3-us-west-1.amazonaws.com/crates/cfg-if/cfg-if-0.1.9.crate \
- https://crates-io.s3-us-west-1.amazonaws.com/crates/clap/clap-2.33.0.crate \
- https://crates-io.s3-us-west-1.amazonaws.com/crates/crossbeam-channel/crossbeam-channel-0.3.9.crate \
- https://crates-io.s3-us-west-1.amazonaws.com/crates/crossbeam-utils/crossbeam-utils-0.6.6.crate \
- https://crates-io.s3-us-west-1.amazonaws.com/crates/ctrlc/ctrlc-3.1.3.crate \
- https://crates-io.s3-us-west-1.amazonaws.com/crates/diff/diff-0.1.11.crate \
- https://crates-io.s3-us-west-1.amazonaws.com/crates/filetime/filetime-0.2.7.crate \
- https://crates-io.s3-us-west-1.amazonaws.com/crates/fnv/fnv-1.0.6.crate \
- https://crates-io.s3-us-west-1.amazonaws.com/crates/fs_extra/fs_extra-1.1.0.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/anyhow/anyhow-1.0.35.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/atty/atty-0.2.14.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/autocfg/autocfg-1.0.1.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/bitflags/bitflags-1.2.1.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/bstr/bstr-0.2.14.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/cc/cc-1.0.66.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/cfg-if/cfg-if-0.1.10.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/cfg-if/cfg-if-1.0.0.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/clap/clap-2.33.3.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/crossbeam-utils/crossbeam-utils-0.8.1.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/ctrlc/ctrlc-3.1.7.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/diff/diff-0.1.12.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/dirs-next/dirs-next-2.0.0.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/dirs-sys-next/dirs-sys-next-0.1.1.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/filetime/filetime-0.2.13.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/fnv/fnv-1.0.7.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/fs_extra/fs_extra-1.2.0.crate \
https://crates-io.s3-us-west-1.amazonaws.com/crates/fuchsia-cprng/fuchsia-cprng-0.1.1.crate \
- https://crates-io.s3-us-west-1.amazonaws.com/crates/globset/globset-0.4.4.crate \
- https://crates-io.s3-us-west-1.amazonaws.com/crates/humantime/humantime-1.3.0.crate \
- https://crates-io.s3-us-west-1.amazonaws.com/crates/ignore/ignore-0.4.10.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/getrandom/getrandom-0.1.15.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/globset/globset-0.4.6.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/hermit-abi/hermit-abi-0.1.17.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/humantime/humantime-2.0.1.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/ignore/ignore-0.4.17.crate \
https://crates-io.s3-us-west-1.amazonaws.com/crates/jemalloc-sys/jemalloc-sys-0.3.2.crate \
https://crates-io.s3-us-west-1.amazonaws.com/crates/jemallocator/jemallocator-0.3.2.crate \
- https://crates-io.s3-us-west-1.amazonaws.com/crates/kernel32-sys/kernel32-sys-0.2.2.crate \
https://crates-io.s3-us-west-1.amazonaws.com/crates/lazy_static/lazy_static-1.4.0.crate \
- https://crates-io.s3-us-west-1.amazonaws.com/crates/libc/libc-0.2.62.crate \
- https://crates-io.s3-us-west-1.amazonaws.com/crates/log/log-0.4.8.crate \
- https://crates-io.s3-us-west-1.amazonaws.com/crates/lscolors/lscolors-0.6.0.crate \
- https://crates-io.s3-us-west-1.amazonaws.com/crates/memchr/memchr-2.2.1.crate \
- https://crates-io.s3-us-west-1.amazonaws.com/crates/nix/nix-0.14.1.crate \
- https://crates-io.s3-us-west-1.amazonaws.com/crates/num_cpus/num_cpus-1.10.1.crate \
- https://crates-io.s3-us-west-1.amazonaws.com/crates/quick-error/quick-error-1.2.2.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/libc/libc-0.2.80.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/log/log-0.4.11.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/lscolors/lscolors-0.7.1.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/memchr/memchr-2.3.4.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/nix/nix-0.18.0.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/num_cpus/num_cpus-1.13.0.crate \
https://crates-io.s3-us-west-1.amazonaws.com/crates/rand/rand-0.4.6.crate \
https://crates-io.s3-us-west-1.amazonaws.com/crates/rand_core/rand_core-0.3.1.crate \
https://crates-io.s3-us-west-1.amazonaws.com/crates/rand_core/rand_core-0.4.2.crate \
https://crates-io.s3-us-west-1.amazonaws.com/crates/rdrand/rdrand-0.4.0.crate \
- https://crates-io.s3-us-west-1.amazonaws.com/crates/redox_syscall/redox_syscall-0.1.56.crate \
- https://crates-io.s3-us-west-1.amazonaws.com/crates/regex-syntax/regex-syntax-0.6.12.crate \
- https://crates-io.s3-us-west-1.amazonaws.com/crates/regex/regex-1.3.1.crate \
- https://crates-io.s3-us-west-1.amazonaws.com/crates/remove_dir_all/remove_dir_all-0.5.2.crate \
- https://crates-io.s3-us-west-1.amazonaws.com/crates/same-file/same-file-1.0.5.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/redox_syscall/redox_syscall-0.1.57.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/redox_users/redox_users-0.3.5.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/regex-syntax/regex-syntax-0.6.21.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/regex/regex-1.4.2.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/remove_dir_all/remove_dir_all-0.5.3.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/same-file/same-file-1.0.6.crate \
https://crates-io.s3-us-west-1.amazonaws.com/crates/strsim/strsim-0.8.0.crate \
https://crates-io.s3-us-west-1.amazonaws.com/crates/tempdir/tempdir-0.3.7.crate \
- https://crates-io.s3-us-west-1.amazonaws.com/crates/term_size/term_size-0.3.1.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/term_size/term_size-0.3.2.crate \
https://crates-io.s3-us-west-1.amazonaws.com/crates/textwrap/textwrap-0.11.0.crate \
- https://crates-io.s3-us-west-1.amazonaws.com/crates/thread_local/thread_local-0.3.6.crate \
- https://crates-io.s3-us-west-1.amazonaws.com/crates/unicode-width/unicode-width-0.1.6.crate \
- https://crates-io.s3-us-west-1.amazonaws.com/crates/vec_map/vec_map-0.8.1.crate \
- https://crates-io.s3-us-west-1.amazonaws.com/crates/version_check/version_check-0.9.1.crate \
- https://crates-io.s3-us-west-1.amazonaws.com/crates/void/void-1.0.2.crate \
- https://crates-io.s3-us-west-1.amazonaws.com/crates/walkdir/walkdir-2.2.9.crate \
- https://crates-io.s3-us-west-1.amazonaws.com/crates/winapi-build/winapi-build-0.1.1.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/thread_local/thread_local-1.0.1.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/unicode-width/unicode-width-0.1.8.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/users/users-0.11.0.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/vec_map/vec_map-0.8.2.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/version_check/version_check-0.9.2.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/walkdir/walkdir-2.3.1.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/wasi/wasi-0.9.0+wasi-snapshot-preview1.crate \
https://crates-io.s3-us-west-1.amazonaws.com/crates/winapi-i686-pc-windows-gnu/winapi-i686-pc-windows-gnu-0.4.0.crate \
- https://crates-io.s3-us-west-1.amazonaws.com/crates/winapi-util/winapi-util-0.1.2.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/winapi-util/winapi-util-0.1.5.crate \
https://crates-io.s3-us-west-1.amazonaws.com/crates/winapi-x86_64-pc-windows-gnu/winapi-x86_64-pc-windows-gnu-0.4.0.crate \
- https://crates-io.s3-us-west-1.amazonaws.com/crates/winapi/winapi-0.2.8.crate \
- https://crates-io.s3-us-west-1.amazonaws.com/crates/winapi/winapi-0.3.8.crate"
-MD5SUM="730e7ad8b3acf0c5f7c36ffd3173f73d \
- d1b8436fac27cf4644cad3e695f2365f \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/winapi/winapi-0.3.9.crate"
+MD5SUM="be6243e578e2313578bb0cf1e713b5e9 \
+ 93850f8bf39e61dcf80ce49b5e0943d7 \
294a49d3c53865fa7ac5d0ce2f5d5735 \
f44e8d1d2e61974b268852797530ea41 \
- 4d54da5d6fec11f144464c1a928df3fe \
- b06fb4397c2a873a4034136154da23c8 \
- 58c1ab805f0fd82c2728e2cf3385ba11 \
- adb41c4979f16e9b6de47435b0959be2 \
- 63d698a8b3fb9512be9744135d9eda89 \
- 135f6d6306e50606f0475ada50c33ce2 \
- 424dc35a59f3df5f9b49f1cac85de864 \
- 66912c6b316cfec144c4fbcbf59bf862 \
- 58a5930a4cf3458f1594fc50e06a83eb \
- c2ab12ba9352dea157fe995e0e89eaa9 \
- f35c146480a0761d946fe6477cea7cd6 \
- b0fd8ad50f5e64c71f0daf8af79ca952 \
- 8b98db48d2cecf5843b75e2f668c58fa \
+ 6f628b386c5dfe62ffa9b017d8ed7c38 \
+ 142cb4b9a653e56e56311f0c883b8582 \
+ c6443ec8d007c729ba5482008d0c864d \
+ 6799c26a7eacaf8e58d3e45c6c5add89 \
+ 0df9d76acda993ef38665e5e254f500c \
+ b3ebb5d4433417e998d982d46334a6f4 \
+ 882dbbc613a93f64c3709b0a2bd0d6dc \
+ 74634128440dbc3766bda76fdf0aaa05 \
+ bc79e0eb364df515a33755ac9a581cfd \
+ 9e1f73325eeb9647ee68eeaa4bff975c \
+ ed8fbdb220a7435e83c34d46151182f0 \
+ 06fc5cd841a576b0bc969fb13ba22b4c \
+ 3681f813c502d911e9eea940dddd26a5 \
+ c1922365b80dcdf50342e7640eea27ce \
+ d2c45f1ab11c072f28d2087f0af9870f \
+ 8dab3b3ec00dc56cffde0b0c410d47b5 \
+ 11bdaeb718e5577104b0697c89cf9311 \
27260b46db6b9ac40318143d70a80ba3 \
- d07c3858031404a1fe35e35693b1cb53 \
- bb2582cae7b3d837f5da1df153001db5 \
- 7e4b8aaf787d9afc5ba7e338d614d9e8 \
+ 704babd757a22f163230a36fa5474890 \
+ 1b94f32581a557963eecb29761e9c0eb \
+ 553b325a602b701eb7eaef228e69d0f2 \
+ 3f94dd669aafea2fcd7c8c63236029c4 \
+ 88b4e3e28ea8527c2b0e7124d6d5766f \
85dae509b4cda41fa820b3ad3b302479 \
9f10bcc7b3ab24a0cdbaa0addc65b88d \
- 9d033cc2daa6924420a4a89e6705773f \
fba3b040a55c01be7376d3dd5c4d4920 \
- 1978f658da43c29fe290a5c9dc38f75e \
- 61e508ca2eee543023c5e1ba777e5ede \
- 540b5e6ca7ac76694986b4ed898589c8 \
- 4b85a1c8d6ad78feccb549d50e81c697 \
- 0cddb62b3dcfb814b4e0b9441c5c1a18 \
- e8eef33ab80bc4d918213a28886d88db \
- 4563373184ff931ec276dc1a659d52d2 \
+ 3845eb009d59a1e90a749e50fadfd2d3 \
+ f50d2e280b4a3491fffda43b90982544 \
+ f3373fd861a0066fa446a8ab3dabc749 \
+ fa3630e5867493e09296155763e4f4a0 \
+ d0daed97b20f4a6b23c8d4e2ac7b77a8 \
+ c36d452e37c73b1e99f40bae18cddfdb \
9e99a37f8c37bb953732ef46ac2b12a1 \
8cab41822d03dfa674870315308fa392 \
35ddcd36701a1a6711cc3aec85909f41 \
c8d655d206cbe48b84a22544d6fc6d15 \
- 8dc2aa474c2cba342120ade9e98de066 \
- f1bbc6327ff6f0fee219010257939158 \
- f86ee8193d8297a35301f9afa73ddca6 \
- 526f5ebac8d794185afbc71959c5c968 \
- 6ece57eb74771cfee69719f514c3aa7a \
+ 3cc3a4bd5861ca93d7c0d19129334703 \
+ 870008bba2e68db4988c31e511fbd9c4 \
+ 13373372c7ce2e894925d846625a7987 \
+ 40d1ab8fd9b6e5e376b0839a9132abe1 \
+ 0538d1da369f3e3f0412aa4d735c1b61 \
+ 2d8d8b377d144f5e32b4f65a69eb0b24 \
781d4ccf5d04c98fa02af207a9639249 \
918b2d65f7489e154483e3d6e54118a0 \
- adf9d2250c2a622c6274514e38d1f559 \
+ 73d602cc41e3e431bf4fabd129ae1616 \
a8de006fe0c7e373c560dd51599287a8 \
- baaa166f66e90e94b76b7418afd5df90 \
- 51a3a899f08b569f955e16dbfedb7fdf \
- 0eedbc32447f40b3045d6de3910b5415 \
- 0d6976e8a1a1e69abc8ba8f6966cddb8 \
- 689203efc084fc0f1d1f74f5d354ae75 \
- 5933f1ea0593fae34fbd678057867287 \
- c900e7dbce808ff8ced375077b17a163 \
+ a5dd75e77c7324f5c1d2d372c990d0a7 \
+ 4272c279b06b88f8b0ffce7109348e27 \
+ d4c929fc9daf131daef04ee7eaa91fd4 \
+ 333b4ba3f64c35b6f89b521e8d64548b \
+ 8b01b016a9b6deebc1b43f296057efb5 \
+ 1092a4a24e80f8856efc71af51a06114 \
+ 6e23e0eee42b1ba9ec61a6db7ec2dc08 \
db96b50050277bf05a3c68534bbb9586 \
- 4724370f3179d1ab61f3fd8fa60a2368 \
+ b9e37d5fc4ad28b612b78ad37816684d \
09de9d01e7331ff3da11f58be8bef0df \
- b44489eb4799c4fabac3fceb48de54f7 \
- ce68e06a2cd4f180747cf169fc388a95"
+ 0498c4a11448bfc35dc7bb2caa64c753"
DOWNLOAD_x86_64=""
MD5SUM_x86_64=""
REQUIRES=""
diff --git a/system/fdclone/01_previous_changes.patch b/system/fdclone/01_previous_changes.patch
new file mode 100644
index 0000000000..af32350eaf
--- /dev/null
+++ b/system/fdclone/01_previous_changes.patch
@@ -0,0 +1,85 @@
+Description: configure fdclone for works properly under Debian
+ This allows for customize fdclone configuration for works
+ properly under Debian. Originally 01_previous_changes.dpatch
+Author: Sandro Tosi <matrixhasu@gmail.com>
+
+Index: fdclone/Configur
+===================================================================
+--- fdclone.orig/Configur
++++ fdclone/Configur
+@@ -679,12 +679,7 @@ fi
+ if isexist "sysconf(0)"; then
+ echo "#define USESYSCONF"
+ fi
+-if isexist "_llseek(0,0,0,0,0)" linux/unistd "static _syscall5(int, _llseek,
+- unsigned int, fd,
+- unsigned long, ofs_h,
+- unsigned long, ofs_l,
+- long long *, result,
+- unsigned int, whence);
++if isexist "_llseek(0,0,0,0,0)" "sys/syscall" "#define _llseek(fd, ofs_h, ofs_l, result, whence) syscall(SYS__llseek, fd, ofs_h, ofs_l, result, whence)
+ "; then
+ echo "#define USELLSEEK"
+ fi
+Index: fdclone/config.hin
+===================================================================
+--- fdclone.orig/config.hin
++++ fdclone/config.hin
+@@ -3,4 +3,4 @@
+ *
+ * definitions for each OS
+ */
+-
++#define USEDATADIR
+Index: fdclone/dosdisk.c
+===================================================================
+--- fdclone.orig/dosdisk.c
++++ fdclone/dosdisk.c
+@@ -23,6 +23,7 @@
+ #include "mntinfo.h"
+ #include <sys/mount.h>
+ #include <linux/unistd.h>
++#include <sys/syscall.h>
+ # ifndef BLKFLSBUF
+ # include <linux/fs.h>
+ # endif
+@@ -378,12 +379,7 @@ static CONST char *inhibitname[] = INHIB
+ #ifdef USELLSEEK
+ # ifdef _syscall5
+ # undef _llseek
+-static _syscall5(int, _llseek,
+- u_int, fd,
+- u_long, ofs_h,
+- u_long, ofs_l,
+- l_off_t *, result,
+- u_int, whence);
++#define _llseek(fd, ofs_h, ofs_l, result, whence) syscall(SYS__llseek, fd, ofs_h, ofs_l, result, whence)
+ # endif
+
+ static l_off_t NEAR Xllseek(fd, offset, whence)
+Index: fdclone/fd.h
+===================================================================
+--- fdclone.orig/fd.h
++++ fdclone/fd.h
+@@ -95,8 +95,8 @@ extern char *_mtrace_file;
+ * If you don't like the following tools as each uses, *
+ * you should rewrite another suitable command name. *
+ ****************************************************************/
+-#define PAGER "more%K" /* to view file */
+-#define EDITOR "vi" /* to edit file */
++#define PAGER "/usr/bin/pager" /* to view file */
++#define EDITOR "/usr/bin/editor" /* to edit file */
+
+
+ /****************************************************************
+Index: fdclone/version.h
+===================================================================
+--- fdclone.orig/version.h
++++ fdclone/version.h
+@@ -4,5 +4,5 @@
+ * version number
+ */
+
+-char *distributor = NULL;
++char *distributor = "sano@debian.org (Taketoshi Sano)";
+ static char version[] = "@(#)fd.c 3.01j 07/27/19";
diff --git a/system/fdclone/30_makefilein_setting.patch b/system/fdclone/30_makefilein_setting.patch
new file mode 100644
index 0000000000..fd5e9c74f3
--- /dev/null
+++ b/system/fdclone/30_makefilein_setting.patch
@@ -0,0 +1,53 @@
+Description: install files in the correctly Debian's path
+ This setting values to install files in the correctly Debian's path.
+
+Index: fdclone/Makefile.in
+===================================================================
+--- fdclone.orig/Makefile.in
++++ fdclone/Makefile.in
+@@ -12,7 +12,7 @@ MANSEC = 1
+ BINTOP = $(PREFIX)/bin
+ BINDIR = $(BUILD)$(BINTOP)
+ DATATOP = $(PREFIX)/share
+-DATADIR = $(BUILD)$(DATATOP)/fd
++DATADIR = $(BUILD)$(DATATOP)/fdclone
+ MANTOP = $(PREFIX)/man
+ MANDIR = $(BUILD)$(MANTOP)/man$(MANSEC)
+ CATDIR = $(BUILD)$(MANTOP)/cat$(MANSEC)
+@@ -484,24 +484,24 @@ install-runcom:
+
+ install-table: $(TABLE) mkdir_p$(EXE)
+ -if [ -f $(UNITBL) ]; then \
+- [ -d __DATADIR__ ] || ./mkdir_p$(EXE) __DATADIR__; \
+- $(INSTALL) $(UNITBL) __DATADIR__; \
+- $(CHMOD) a+r-x __DATADIR__/$(UNITBL); \
++ [ -d $(DATADIR) ] || ./mkdir_p$(EXE) $(DATADIR); \
++ $(INSTALL) $(UNITBL) $(DATADIR); \
++ $(CHMOD) a+r-x $(DATADIR)/$(UNITBL); \
+ fi
+ -if [ -f $(DICTTBL) ]; then \
+- [ -d __DATADIR__ ] || ./mkdir_p$(EXE) __DATADIR__; \
+- $(INSTALL) $(DICTTBL) __DATADIR__; \
+- $(CHMOD) a+r-x __DATADIR__/$(DICTTBL); \
++ [ -d $(DATADIR) ] || ./mkdir_p$(EXE) $(DATADIR); \
++ $(INSTALL) $(DICTTBL) $(DATADIR); \
++ $(CHMOD) a+r-x $(DATADIR)/$(DICTTBL); \
+ fi
+ -if [ -f $(CATTBL) ]; then \
+- [ -d __DATADIR2__ ] || ./mkdir_p$(EXE) __DATADIR2__; \
+- $(INSTALL) $(CATTBL) __DATADIR2__; \
+- $(CHMOD) a+r-x __DATADIR2__/$(CATTBL); \
++ [ -d $(DATADIR)/$(VERSION) ] || ./mkdir_p$(EXE) $(DATADIR)/$(VERSION); \
++ $(INSTALL) $(CATTBL) $(DATADIR)/$(VERSION); \
++ $(CHMOD) a+r-x $(DATADIR)/$(VERSION)/$(CATTBL); \
+ fi
+ -if [ -f $(ECATTBL) ]; then \
+- [ -d __DATADIR2__ ] || ./mkdir_p$(EXE) __DATADIR2__; \
+- $(INSTALL) $(ECATTBL) __DATADIR2__; \
+- $(CHMOD) a+r-x __DATADIR2__/$(ECATTBL); \
++ [ -d $(DATADIR)/$(VERSION) ] || ./mkdir_p$(EXE) $(DATADIR)/$(VERSION); \
++ $(INSTALL) $(ECATTBL) $(DATADIR)/$(VERSION) ; \
++ $(CHMOD) a+r-x $(DATADIR)/$(VERSION)/$(ECATTBL); \
+ fi
+
+ install-man: $(MANSRC) mkdir_p$(EXE)
diff --git a/system/fdclone/README b/system/fdclone/README
new file mode 100644
index 0000000000..dfb23f42fb
--- /dev/null
+++ b/system/fdclone/README
@@ -0,0 +1,12 @@
+fdclone (two-pane textmode file manager)
+
+FDclone is a file & directory maintenance tool for UNIX-based OSes. It
+is a clone of "FD" for MS-DOS, made by Mr. A.Idei in 1989.
+
+fdclone has excellent Japanese language UI, documentation, and
+character encoding support, since it originates in Japan.
+
+The executable is installed as /usr/bin/fdclone, which means this
+build doesn't conflict with system/fd. However, if you don't have fd
+installed, a symlink /usr/bin/fd is created so you can just type "fd"
+to run this.
diff --git a/system/fdclone/doinst.sh b/system/fdclone/doinst.sh
new file mode 100644
index 0000000000..35eeb79424
--- /dev/null
+++ b/system/fdclone/doinst.sh
@@ -0,0 +1,22 @@
+config() {
+ NEW="$1"
+ OLD="$(dirname $NEW)/$(basename $NEW .new)"
+ if [ ! -r $OLD ]; then
+ mv $NEW $OLD
+ elif [ "$(cat $OLD | md5sum)" = "$(cat $NEW | md5sum)" ]; then
+ # toss the redundant copy
+ rm $NEW
+ fi
+}
+
+config etc/fdclone/fd2rc.siteconfig.new
+
+# If there's no fd link, take over:
+if [ ! -r usr/bin/fd ]; then
+ ( cd usr/bin ; rm -rf fd )
+ ( cd usr/bin ; ln -sf fdclone fd )
+ ( cd usr/man/man1 ; rm -rf fd.1.gz )
+ ( cd usr/man/man1 ; ln -sf fdclone.1.gz fd.1.gz )
+ ( cd usr/man/ja/man1 ; rm -rf fd.1.gz )
+ ( cd usr/man/ja/man1 ; ln -sf fdclone.1.gz fd.1.gz )
+fi
diff --git a/system/fdclone/fd2rc b/system/fdclone/fd2rc
new file mode 100644
index 0000000000..4f24272d1e
--- /dev/null
+++ b/system/fdclone/fd2rc
@@ -0,0 +1,613 @@
+# /etc/fdclone/fd2rc: Initialize file for FD
+#
+# This Slackware package provides /etc/fdclone/fd2rc.siteconfig for
+# site specific settings. Please use it for your customization,
+# and leave this file alone for smooth upgrade.
+#
+# 20201118 bkw:
+# This file was taken from the Debian package, and modified slightly.
+# To see the changes, search within the file for the string "bkw:".
+#
+# There are some settings in this configuration file
+# which differ from the upstream default:
+#
+# DISPLAYMODE=3 (sym-link status & file type symbol)
+# ADJTTY=1 (adjust TTY when exiting)
+# TMPDIR=$HOME (for security reasons)
+# TMPUMASK=077 (same above)
+# LANGUAGE=$LANG (bkw: and MESSAGELANG=$LANG)
+# INPUTKCODE=$LANG
+# FNAMEKCODE=$LANG
+#
+# Launcher settings
+# for files with suffix as .zip, .Z, .gz. .bz2
+# for deb package (.deb) and rpm package (.rpm)
+# Archiver settings
+# for files with suffix as .zip
+# for deb package (.deb) and rpm package (.rpm)
+#
+# Some keycode settings for linux console, xterm, and kterm.
+#
+# fdclone can use the environment variables PAGER and EDITOR,
+# but the settings from the configuration file such as
+# /etc/fdclone/fd2rc or $HOME/.fd2rc will be prefered and
+# the settings in the environment variables are ignored in
+# this case.
+# (/etc/fdclone/fd2rc includes /etc/fdclone/fd2rc.siteconfig)
+#
+# So the default runcom file (i.e. this file, /etc/fdclone/fd2rc)
+# in this package don't set these variables as default.
+# If you like to set the PAGER&EDITOR settings as the site default,
+# plese put the following 2 lines in /etc/fdclone/fd2rc.siteconfig.
+#
+# PAGER=/usr/bin/pager%K (or the pager which you like)
+# EDITOR=/usr/bin/editor (or the editor which you like)
+#
+# `%K' means that fd waits for the key input when the pager finishes.
+# This is useful for simple pagers such like `more', since they just
+# quits soon when they show all the contents of the specified file.
+# But if you use others such like `less' or `lv', then you wish to
+# disable this by eliminating `%K' at the end, since the pager itself
+# prompts user to quit.
+# Please refer the manual page of `fd' for more detail.
+
+# to set default sort type
+# 0: not sort (Default)
+# 1: alphabetical 9: alphabetical (reversal)
+# 2: extension 10: extension (reversal)
+# 3: size 11: size (reversal)
+# 4: date 12: date (reversal)
+# 5: length 13: length (reversal)
+# 100-113: preserve previous sort type
+# (the least 2 digits are effective just after initialize)
+#SORTTYPE=0
+
+# to set default display mode
+# 0: normal (Default)
+# 1: sym-link status
+# 2: file type symbol
+# 3: sym-link status & file type symbol
+# 4: invisible dot file
+# 5: sym-link status & invisible dot file
+# 6: file type symbol & invisible dot file
+# 7: sym-link status & file type symbol & invisible dot file
+DISPLAYMODE=3
+
+# whether if sort or not in tree mode
+# 0: not sort (Default)
+# >= 1: sort according to SORTTYPE
+#SORTTREE=0
+
+# behavior about writing over directory on file system
+# 0: confirm to write or not, after directory arranged (Default)
+# 1: write directory only if commanded
+# 2: never write over directory even if commanded
+#WRITEFS=0
+
+# whether if ignore uppercase or lowercase in filename comparison
+# 0: not ignore (Default)
+# >= 1: ignore
+#IGNORECASE=0
+
+# whether if inherit timestamp or not when copying
+# 0: not inherit (Default)
+# >= 1: inherit
+#INHERITCOPY=0
+
+# whether if adjust tty or not when exiting
+# 0: not adjust (Default)
+# >= 1: adjust
+ADJTTY=1
+
+# whether if prioritize VT100 escape sequence or not for getting terminal size
+# 0: not prioritize (Default)
+# >= 1: prioritize
+#USEGETCURSOR=0
+
+# to set default columns of file in 1 line
+# 1: 1 column
+# 2: 2 columns (Default)
+# 3: 3 columns
+# 5: 5 columns
+#DEFCOLUMNS=2
+
+# minimum columns of filename field
+# Default: 12
+#MINFILENAME=12
+
+# history file of sh mode
+# Default: ~/.fd_history
+#HISTFILE=~/.fd_history
+
+# history size of sh mode
+# Default: 50
+#HISTSIZE=50
+
+# history size of path input
+# Default: 50
+#DIRHIST=50
+
+# size of saved history
+# Default: 50
+#SAVEHIST=50
+
+# limit of counting files in directory, on tree mode
+# Default: 50
+#DIRCOUNTLIMIT=50
+
+# whether if make MS-DOS drive effective
+# 0: not use (Default)
+# >= 1: effective
+#DOSDRIVE=0
+
+# whether if display the second hand of clock
+# 0: not display (Default)
+# >= 1: display
+#SECOND=0
+
+# whether if use the screen layout based on the traditional "FD"
+# 0: original layout (Default)
+# >= 1: traditional layout
+#TRADLAYOUT=0
+
+# whether if show the info. of filesize
+# 0: not show (Default)
+# >= 1: show
+#SIZEINFO=0
+
+# whether if support ANSI color escape sequence
+# 0: monochrome (Default)
+# 1: color
+# 2: color & force background to blacken
+# 3: color & force foreground to blacken
+# 20201118 bkw: enable this by default, it's 2020 and you should be using
+# a terminal that supports color by now.
+ANSICOLOR=2
+
+# specify color palette in the ANSI color mode
+# Default: none
+# 0: black
+# 1: red
+# 2: green
+# 3: yellow
+# 4: blue
+# 5: magenta
+# 6: cyan
+# 7: white
+# 8: default color for foreground
+# 9: default color for background
+# default palette: 8962435188
+# ||||||||||
+# normal file -----+|||||||||
+# background -------+||||||||
+# directory ---------+|||||||
+# unwritable ---------+||||||
+# unreadable ----------+|||||
+# symbolic link --------+||||
+# socket ----------------+|||
+# fifo (named pipe) ------+||
+# block device ------------+|
+# character device ---------+
+# 20201118 bkw: set the default here
+ANSIPALETTE="8962435188"
+
+# select edit mode with your favorite editor type
+# emacs: ^P, ^N, ^F, ^B, ... (Default)
+# wordstar ^E, ^X, ^D, ^S, ...
+# vi: k, j, l, h, ...
+#EDITMODE=emacs
+
+# whether if loop cursor moving within the same page
+# 0: not loop (Default)
+# >= 1: loop
+#LOOPCURSOR=0
+
+# temporary directory where archive file is unpacked
+# Default: /tmp
+TMPDIR=$HOME
+
+# file creation mask for the temporary directory
+# Default: 022
+TMPUMASK=077
+
+# mount point of CD-ROM with iso-9660 rock ridge format
+# Default: none
+#RRPATH=""
+
+# directories on which browsing precedes getting file status
+# Default: none
+#PRECEDEPATH=""
+
+# shell prompt strings
+# Default: "$ "
+#PS1="$ "
+
+# continuous shell prompt strings
+# Default: "> "
+#PS2="> "
+
+# whether if not use control sequences in the internal shell
+# 0: use (Default)
+# >= 1: not use
+#DUMBSHELL=0
+
+# whether if hold the UNICODE translation table on memory
+# 0: not hold (Default)
+# >= 1: hold
+#UNICODEBUFFER=0
+
+# language code type to display
+# Default: No convert
+# euc, EUC: EUC-JP
+# sjis, SJIS: Shift JIS
+# jis, JIS: 7bits JIS
+# jis8, JIS8: 8bits JIS
+# junet, JUNET: ISO-2022-JP
+# ojis, OJIS: old 7bits JIS
+# ojis8, OJIS8: old 8bits JIS
+# ojunet, OJUNET: old ISO-2022-JP
+# utf8, UTF8: UTF-8
+# utf8-mac, UTF8-MAC: UTF-8 for Mac OS X
+# eng, ENG, C: English
+LANGUAGE=$LANG
+
+# 20201118 bkw: makes no sense not to set this also!
+MESSAGELANG=$LANG
+
+# language code type to input
+# Default: No convert
+# euc, EUC: EUC-JP
+# sjis, SJIS: Shift JIS
+# utf8, UTF8: UTF-8
+# utf8-mac, UTF8-MAC: UTF-8 for Mac OS X
+INPUTKCODE=$LANG
+
+# language code type in filename
+# Default: No convert
+# euc, EUC: EUC-JP
+# sjis, SJIS: Shift JIS
+# jis, JIS: 7bits JIS
+# jis8, JIS8: 8bits JIS
+# junet, JUNET: ISO-2022-JP
+# ojis, OJIS: old 7bits JIS
+# ojis8, OJIS8: old 8bits JIS
+# ojunet, OJUNET: old ISO-2022-JP
+# hex, HEX: HEX
+# cap, CAP: CAP
+# utf8, UTF8: UTF-8
+# utf8-mac, UTF8-MAC: UTF-8 for Mac OS X
+FNAMEKCODE=$LANG
+
+# directories on which language code type in filename is SJIS
+# Default: none
+#SJISPATH=""
+
+# directories on which language code type in filename is EUC-JP
+# Default: none
+#EUCPATH=""
+
+# directories on which language code type in filename is 7bits JIS
+# Default: none
+#JISPATH=""
+
+# directories on which language code type in filename is 8bits JIS
+# Default: none
+#JIS8PATH=""
+
+# directories on which language code type in filename is ISO-2022-JP
+# Default: none
+#JUNETPATH=""
+
+# directories on which language code type in filename is old 7bits JIS
+# Default: none
+#OJISPATH=""
+
+# directories on which language code type in filename is old 8bits JIS
+# Default: none
+#OJIS8PATH=""
+
+# directories on which language code type in filename is old ISO-2022-JP
+# Default: none
+#OJUNETPATH=""
+
+# directories on which language code type in filename is HEX
+# Default: none
+#HEXPATH=""
+
+# directories on which language code type in filename is CAP
+# Default: none
+#CAPPATH=""
+
+# directories on which language code type in filename is UTF-8
+# Default: none
+#UTF8PATH=""
+
+# directories on which language code type in filename is UTF-8 for Mac OS X
+# Default: none
+#UTF8MACPATH=""
+
+# directories on which language code type in filename is not converted
+# Default: none
+#NOCONVPATH=""
+
+#PAGER=more%K
+#EDITOR=vi
+#SHELL=/bin/sh
+
+# for Mischievous Japanese OS (see `man fd')
+#export LANG=C
+
+# launcher definition
+#(Default)
+#launch ".lzh" "lha l" \
+# -f "%a %u/%g %s %x %m %d %{yt} %*f" \
+# -f "%9a %u/%g %s %x %m %d %{yt} %*f" \
+# -i " PERMSSN * UID*GID *" \
+# -i "----------*" \
+# -i " Total * file* ???.*%*" \
+#launch ".tar" "tar tvf" \
+# -f "%a %u/%g %s %m %d %t %y %*f" \
+# -f "%a %u/%g %s %y-%m-%d %t %*f" \
+# -f "%a %l %u %g %s %m %d %{yt} %*f" \
+# -f "%10a %u/%g %s %m %d %t %y %*f" \
+# -f "%9a %u/%g %s %m %d %t %y %*f" \
+# -f "%a %u/%g %m %d %t %y %*f"
+#launch ".tar.Z" "zcat %C|tar tvf -" \
+# -f "%a %u/%g %s %m %d %t %y %*f" \
+# -f "%a %u/%g %s %y-%m-%d %t %*f" \
+# -f "%a %l %u %g %s %m %d %{yt} %*f" \
+# -f "%10a %u/%g %s %m %d %t %y %*f" \
+# -f "%9a %u/%g %s %m %d %t %y %*f" \
+# -f "%a %u/%g %m %d %t %y %*f"
+#launch ".tar.gz" "gzip -cd %C|tar tvf -" \
+# -f "%a %u/%g %s %m %d %t %y %*f" \
+# -f "%a %u/%g %s %y-%m-%d %t %*f" \
+# -f "%a %l %u %g %s %m %d %{yt} %*f" \
+# -f "%10a %u/%g %s %m %d %t %y %*f" \
+# -f "%9a %u/%g %s %m %d %t %y %*f" \
+# -f "%a %u/%g %m %d %t %y %*f"
+#launch ".tar.bz2" "bzip2 -cd %C|tar tvf -" \
+# -f "%a %u/%g %s %m %d %t %y %*f" \
+# -f "%a %u/%g %s %y-%m-%d %t %*f" \
+# -f "%a %l %u %g %s %m %d %{yt} %*f" \
+# -f "%10a %u/%g %s %m %d %t %y %*f" \
+# -f "%9a %u/%g %s %m %d %t %y %*f" \
+# -f "%a %u/%g %m %d %t %y %*f"
+#launch ".taZ" "zcat %C|tar tvf -" \
+# -f "%a %u/%g %s %m %d %t %y %*f" \
+# -f "%a %u/%g %s %y-%m-%d %t %*f" \
+# -f "%a %l %u %g %s %m %d %{yt} %*f" \
+# -f "%10a %u/%g %s %m %d %t %y %*f" \
+# -f "%9a %u/%g %s %m %d %t %y %*f" \
+# -f "%a %u/%g %m %d %t %y %*f"
+#launch ".taz" "gzip -cd %C|tar tvf -" \
+# -f "%a %u/%g %s %m %d %t %y %*f" \
+# -f "%a %u/%g %s %y-%m-%d %t %*f" \
+# -f "%a %l %u %g %s %m %d %{yt} %*f" \
+# -f "%10a %u/%g %s %m %d %t %y %*f" \
+# -f "%9a %u/%g %s %m %d %t %y %*f" \
+# -f "%a %u/%g %m %d %t %y %*f"
+#launch ".tgz" "gzip -cd %C|tar tvf -" \
+# -f "%a %u/%g %s %m %d %t %y %*f" \
+# -f "%a %u/%g %s %y-%m-%d %t %*f" \
+# -f "%a %l %u %g %s %m %d %{yt} %*f" \
+# -f "%10a %u/%g %s %m %d %t %y %*f" \
+# -f "%9a %u/%g %s %m %d %t %y %*f" \
+# -f "%a %u/%g %m %d %t %y %*f"
+#(Examples)
+launch ".zip" "unzip -lqq" " %s %m-%d-%y %t %*f"
+#launch ".zoo" "zoo lq" " %s %x %x %d %m %y %t %*f"
+#launch ".rar" "unrar v" \
+# -f " %*f\n%s %x %x %d-%m-%y %t %a" \
+# -i "UNRAR *" \
+# -i "RAR *" \
+# -i "Shareware version *" \
+# -i "Verifying authenticity *" \
+# -i "Solid archive *" \
+# -i "Archive *" \
+# -i "Pathname/Comment" \
+# -i "Size * Packed *" \
+# -i "----------*" \
+# -i "* * * ??%" \
+# -i "Old style *" \
+# -i "Archive *.rar" \
+# -i "created at ??:??:?? *" \
+# -i "by * *" \
+# -i ""
+launch ".Z" "zcat %C|$PAGER"
+launch ".gz" "gzip -cd %C|$PAGER"
+launch ".bz2" "bzip2 -cd %C|$PAGER"
+
+# examples for MS-DOS
+#launch ".lzh" "lha v %S" %
+# -f "%*f\n%s %x %x %y-%m-%d %t %a" %
+# -f "%1x %12f %s %x %x %y-%m-%d %t %a" %
+# -i "Listing of archive : *" %
+# -i " Name Original *" %
+# -i "--------------*" %
+# -i "* files * ???.?%%%% ??-??-?? ??:??:??" %
+# -i ""
+#launch ".tar.Z" "gzip -cd %S|tar tvf -" %
+# -f "%a %u/%g %s %m %d %t %y %*f" %
+# -f "%a %u/%g %s %y-%m-%d %t %*f" %
+# -f "%a %u/%g %s %m %d %y %t %*f" %
+#launch ".tar.gz" "gzip -cd %S|tar tvf -" %
+# -f "%a %u/%g %s %m %d %t %y %*f" %
+# -f "%a %u/%g %s %y-%m-%d %t %*f" %
+# -f "%a %u/%g %s %m %d %y %t %*f" %
+#launch ".tar.bz2" "bzip2 -cd %S|tar tvf -" %
+# -f "%a %u/%g %s %m %d %t %y %*f" %
+# -f "%a %u/%g %s %y-%m-%d %t %*f" %
+# -f "%a %u/%g %s %m %d %y %t %*f" %
+#launch ".taz" "gzip -cd %S|tar tvf -" %
+# -f "%a %u/%g %s %m %d %t %y %*f" %
+# -f "%a %u/%g %s %y-%m-%d %t %*f" %
+# -f "%a %u/%g %s %m %d %y %t %*f" %
+#launch ".tgz" "gzip -cd %S|tar tvf -" %
+# -f "%a %u/%g %s %m %d %t %y %*f" %
+# -f "%a %u/%g %s %y-%m-%d %t %*f" %
+# -f "%a %u/%g %s %m %d %y %t %*f" %
+#launch ".zip" "unzip -lqq %S" " %s %y-%m-%d %t %*f"
+#launch ".zip" "pkunzip -vb %S" " %s %x %x %x %y-%m-%d %t %*f" 14 2
+
+#
+# Debian package settings
+launch ".deb" "ar p %C data.tar.gz|gzip -dc|tar tvf - "\
+ "%a %u/%g %s %y-%m-%d %t %f"
+launch ".rpm" "rpm2cpio %C|cpio -tv" "%a %x %u %g %s %m %d %y %f"
+
+
+# archiver definition
+#(Default)
+# 20201118 bkw: uncommented these
+arch ".lzh" "lha aq %C %TA" "lha xq %C %TA"
+arch ".tar" "tar cf %C %T" "tar xf %C %TA"
+arch ".tar.Z" "tar cf - %T|compress -c > %C" "zcat %C|tar xf - %TA"
+arch ".tar.gz" "tar cf - %T|gzip -c > %C" "gzip -cd %C|tar xf - %TA"
+arch ".tar.bz2" \
+ "tar cf - %T|bzip2 -c > %C" "bzip2 -cd %C|tar xf - %TA"
+arch ".taZ" "tar cf - %T|compress -c > %C" "zcat %C|tar xf - %TA"
+arch ".taz" "tar cf - %T|gzip -c > %C" "gzip -cd %C|tar xf - %TA"
+arch ".tgz" "tar cf - %T|gzip -c > %C" "gzip -cd %C|tar xf - %TA"
+#(Examples)
+arch ".zip" "zip -q %C %TA" "unzip -q %C %TA"
+arch ".zoo" "zoo aq %C %TA" "zoo xq %C %TA"
+arch ".rar" "rar a -inul %C %TA" "unrar x -inul %C %TA"
+
+# examples for MS-DOS
+#arch ".lzh" "lha a %S %TA" "lha x %S %TA"
+#arch ".tar.Z" "tar cf - %T|compress -c > %C" "gzip -cd %S|tar xf - %TA"
+#arch ".tar.gz" "tar cf - %T|gzip -c > %C" "gzip -cd %S|tar xf - %TA"
+#arch ".tar.bz2" %
+# "tar cf - %T|bzip2 -c > %C" "bzip2 -cd %S|tar xf - %TA"
+#arch ".taz" "tar cf - %T|compress -c > %C" "gzip -cd %S|tar xf - %TA"
+#arch ".tgz" "tar cf - %T|gzip -c > %C" "gzip -cd %S|tar xf - %TA"
+#arch ".zip" "pkzip %S %TA" "pkunzip %S %TA"
+
+#
+# Debian package settings
+arch ".deb" "clear; echo ERROR; false"\
+ "ar p %C data.tar.gz|gzip -dc|tar -xf - %TA"
+arch ".rpm" "clear; echo ERROR; false" "rpm2cpio %C|cpio -id %TA"
+
+# key bind definition
+#(Examples)
+#bind 'I' "dir -d %C"
+#bind 'g' "gzip %C%K" WARNING_BELL
+#bind 'G' "gzip -d %C%K" WARNING_BELL
+#bind 'R' "grep %R %C"
+#bind '{' ROLL_UP
+#bind '}' ROLL_DOWN
+#bind '~' "cd ~%N%K"
+#bind 'F1' "man fd%N%K" :Manual
+
+# function definition
+#(Example1)
+#rename() {
+# MARK_ALL 0
+# MARK_FIND $1
+## RENAME_FILE $2
+# evalmacro mv %M $2
+#}
+#
+#(Example2: used in archiver definition)
+#maketaz() {
+# evalmacro tar cf %X.tar %T
+# evalmacro $1 %X.tar
+# evalmacro mv %X.tar.$2 %X.$3
+#}
+#
+#(Example3: ftp browsing)
+#getftp() {
+# FHOST=$1
+# FPATH=
+# browse -@ - <<'EOF0'
+# 'ftp -n $FHOST <<-EOF
+# user ftp `whoami`@`hostname`
+# dir $FPATH
+# quit
+# EOF'
+# -f "%a %l %u %g %s %m %d %{yt} %*f"
+# -i "total *"
+# -e "Not connected."
+# -e "Login incorrect."
+# -e "Login failed."
+# -p 'FPATH=$1; while [ "$#" -gt 1 ]; do shift; FPATH=$1/$FPATH; done'
+# -d loop
+#
+# 'dir=`readline "Dir: "` && [ -d "$dir" ] \
+# && yesno "copy \"$FPATH\" to \"$dir\" ?" \
+# && ftp -n $FHOST <<-EOF \
+# && echo "copy \"$FPATH\" to \"$dir\"." %K \
+# || echo canceled.
+# user ftp `whoami`@`hostname`
+# get $FPATH $dir/${FPATH##*/}
+# quit
+# EOF'
+#EOF0
+#}
+
+# MS-DOS drive definition
+#(Example)
+#setdrv B "/dev/rfd00a" 2, 18, 80
+
+# alias definition
+#(Example)
+#alias dir="ls -laF"
+
+# keymap definition
+#(Example)
+#keymap DEL "\033[3~"
+
+# common keycode settings for xterm and kterm
+ xtermkey()
+ {
+ keymap HOME "\033OH"
+ keymap END "\033OF"
+ #keymap INS "\033[2~"
+ #keymap DEL "\033[3~"
+ keymap BS "\177"
+ #keymap PPAGE "\033[5~"
+ #keymap NPAGE "\033[6~"
+ #keymap RET "\033OM"
+ keymap F5 "\033[15~"
+ keymap F6 "\033[17~"
+ keymap F7 "\033[18~"
+ keymap F8 "\033[19~"
+ keymap F9 "\033[20~"
+ keymap F10 "\033[21~"
+ keymap F11 "\033[23~"
+ keymap F12 "\033[24~"
+ keymap PLUS "\033Ok"
+ keymap MINUS "\033Om"
+ keymap ASTER "\033Oj"
+ keymap SLASH "\033Oo"
+ }
+
+# keycode settings for various terminals
+ case $TERM in
+ linux)
+ LANGUAGE=eng
+ ;;
+ xterm)
+ LANGUAGE=eng
+ keymap F1 "\033OP"
+ keymap F2 "\033OQ"
+ keymap F3 "\033OR"
+ keymap F4 "\033OS"
+ xtermkey
+ ;;
+ kterm)
+ keymap F1 "\033[11~"
+ keymap F2 "\033[12~"
+ keymap F3 "\033[13~"
+ keymap F4 "\033[14~"
+ xtermkey
+ ;;
+ esac
+
+unset xtermkey
+
+# for site specific settings
+source /etc/fdclone/fd2rc.siteconfig
+
diff --git a/system/fdclone/fdclone.SlackBuild b/system/fdclone/fdclone.SlackBuild
new file mode 100644
index 0000000000..5eb5e8302a
--- /dev/null
+++ b/system/fdclone/fdclone.SlackBuild
@@ -0,0 +1,122 @@
+#!/bin/sh
+
+# Slackware build script for fdclone
+
+# Written by B. Watson (yalhcru@gmail.com)
+
+# Licensed under the WTFPL. See http://www.wtfpl.net/txt/copying/ for details.
+
+# This build script owes a debt to the Debian fdclone build
+# script. Unlike the Debian build though, I install the binary & man
+# pages as "fdclone", not "fd", because SBo already has an "fd". I
+# also don't see the point of the stub fdsh man page.
+
+PRGNAM=fdclone
+SRCNAM=FD
+VERSION=${VERSION:-3.01j}
+BUILD=${BUILD:-1}
+TAG=${TAG:-_SBo}
+
+if [ -z "$ARCH" ]; then
+ case "$( uname -m )" in
+ i?86) ARCH=i586 ;;
+ arm*) ARCH=arm ;;
+ *) ARCH=$( uname -m ) ;;
+ esac
+fi
+
+CWD=$(pwd)
+TMP=${TMP:-/tmp/SBo}
+PKG=$TMP/package-$PRGNAM
+OUTPUT=${OUTPUT:-/tmp}
+
+if [ "$ARCH" = "i586" ]; then
+ SLKCFLAGS="-O2 -march=i586 -mtune=i686"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "i686" ]; then
+ SLKCFLAGS="-O2 -march=i686 -mtune=i686"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "x86_64" ]; then
+ SLKCFLAGS="-O2 -fPIC"
+ LIBDIRSUFFIX="64"
+else
+ SLKCFLAGS="-O2"
+ LIBDIRSUFFIX=""
+fi
+
+set -e
+
+rm -rf $PKG
+mkdir -p $TMP $PKG $OUTPUT
+cd $TMP
+rm -rf $SRCNAM-$VERSION
+tar xvf $CWD/$SRCNAM-$VERSION.tar.gz
+cd $SRCNAM-$VERSION
+chown -R root:root .
+find -L . -perm /111 -a \! -perm 755 -a -exec chmod 755 {} \+ -o \
+ \! -perm /111 -a \! -perm 644 -a -exec chmod 644 {} \+
+
+# Patches from Debian. Not going to apply the one that stops the
+# Makefile from stripping the binary, since that's what we want.
+patch -p1 < $CWD/01_previous_changes.patch
+patch -p1 < $CWD/30_makefilein_setting.patch
+
+# Set the default pager & editor to things that actually exist on
+# Slackware. The user's EDITOR and PAGER will override these, or they
+# can be set system-wide by the admin, in the config file.
+FDPAGER=${FDPAGER:-less} ; FDPAGER=$( which $FDPAGER )
+FDEDITOR=${FDEDITOR:-vim} ; FDEDITOR=$( which $FDEDITOR )
+
+sed -i -e "s,/usr/bin/pager,$FDPAGER," \
+ -e "s,/usr/bin/editor,$FDEDITOR," \
+ fd.h
+
+make config
+make CFLAGS="$SLKCFLAGS" \
+ PREFIX=/usr \
+ CONFDIR=/etc/$PRGNAM
+
+# make install fails to create this:
+mkdir -p $PKG/usr/man/man1
+
+make install \
+ PREFIX=$PKG/usr \
+ DATADIR=$PKG/usr/share/$PRGNAM \
+ MANDIR=$PKG/usr/man/man1 \
+ EMANDIR=$PKG/usr/man/man1 \
+ JMANDIR=$PKG/usr/man/ja/man1 \
+ JCATDIR=$PKG/usr/man/ja/man1 \
+ DEFRC=$PKG/etc/$PRGNAM/fd2rc
+
+# Rename to avoid conflict with system/fd
+rename /fd /$PRGNAM \
+ $PKG/usr/bin/fd \
+ $PKG/usr/man/man1/fd.1 \
+ $PKG/usr/man/ja/man1/fd.1
+
+# De-hardlinkify
+rm -f $PKG/usr/bin/fdsh
+ln -s $PRGNAM $PKG/usr/bin/fdsh
+rm -f $PKG/usr/man/man1/fdsh.1 $PKG/usr/man/ja/man1/fdsh.1
+gzip -9 $PKG/usr/man/man1/$PRGNAM.1 $PKG/usr/man/ja/man1/$PRGNAM.1
+ln -s $PRGNAM.1.gz $PKG/usr/man/man1/fdsh.1.gz
+ln -s $PRGNAM.1.gz $PKG/usr/man/ja/man1/fdsh.1.gz
+
+# Don't install fd2rc as a .new config, since it sources
+# fd2rc.siteconfig, which can override anything in fd2rc,
+# and the comments at the top explain this clearly.
+mkdir -p $PKG/etc/$PRGNAM
+cat $CWD/fd2rc > $PKG/etc/$PRGNAM/fd2rc
+echo "# fd2rc.siteconfig - see fd2rc for options you can use here" > \
+ $PKG/etc/$PRGNAM/fd2rc.siteconfig.new
+
+mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION
+cp -a FAQ* HISTORY* LICENSES* README* TECHKNOW* $PKG/usr/doc/$PRGNAM-$VERSION
+cat $CWD/$PRGNAM.SlackBuild > $PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM.SlackBuild
+
+mkdir -p $PKG/install
+cat $CWD/slack-desc > $PKG/install/slack-desc
+cat $CWD/doinst.sh > $PKG/install/doinst.sh
+
+cd $PKG
+/sbin/makepkg -l y -c n $OUTPUT/$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.${PKGTYPE:-tgz}
diff --git a/system/fdclone/fdclone.info b/system/fdclone/fdclone.info
new file mode 100644
index 0000000000..7172c22de0
--- /dev/null
+++ b/system/fdclone/fdclone.info
@@ -0,0 +1,10 @@
+PRGNAM="fdclone"
+VERSION="3.01j"
+HOMEPAGE="http://hp.vector.co.jp/authors/VA012337/soft/fd/"
+DOWNLOAD="http://hp.vector.co.jp/authors/VA012337/soft/fd/FD-3.01j.tar.gz"
+MD5SUM="81f4b5a2aa50afac8c1677d34a646a7e"
+DOWNLOAD_x86_64=""
+MD5SUM_x86_64=""
+REQUIRES=""
+MAINTAINER="B. Watson"
+EMAIL="yalhcru@gmail.com"
diff --git a/system/fdclone/slack-desc b/system/fdclone/slack-desc
new file mode 100644
index 0000000000..0a69b2b38e
--- /dev/null
+++ b/system/fdclone/slack-desc
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description.
+# Line up the first '|' above the ':' following the base package name, and
+# the '|' on the right side marks the last column you can put a character in.
+# You must make exactly 11 lines for the formatting to be correct. It's also
+# customary to leave one space after the ':' except on otherwise blank lines.
+
+ |-----handy-ruler------------------------------------------------------|
+fdclone: fdclone (two-pane textmode file manager)
+fdclone:
+fdclone: FDclone is a file & directory maintenance tool for UNIX-based OSes. It
+fdclone: is a clone of "FD" for MS-DOS, made by Mr. A.Idei in 1989.
+fdclone:
+fdclone: fdclone has excellent Japanese language UI, documentation, and
+fdclone: character encoding support, since it originates in Japan.
+fdclone:
+fdclone:
+fdclone:
+fdclone:
diff --git a/system/fence-agents/README b/system/fence-agents/README
index e60449bac2..6ae20b9e8d 100644
--- a/system/fence-agents/README
+++ b/system/fence-agents/README
@@ -5,5 +5,5 @@ computers from destroying data on shared storage. Their aim is to isolate
a corrupted computer, using one of three methods: Power / Network /
Configuration.
-You might also want to install corosync, pacemaker, resource-agents, crmsh,
-fence-agents and eventually cluster-glue.
+You might also want to install cluster-glue, heartbeat, resource-agents,
+fence-agents.
diff --git a/system/fence-agents/fence-agents.SlackBuild b/system/fence-agents/fence-agents.SlackBuild
index 61d4f715a0..13cc51c804 100644
--- a/system/fence-agents/fence-agents.SlackBuild
+++ b/system/fence-agents/fence-agents.SlackBuild
@@ -23,7 +23,7 @@
# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
PRGNAM=fence-agents
-VERSION=${VERSION:-4.2.1}
+VERSION=${VERSION:-4.5.2}
BUILD=${BUILD:-1}
TAG=${TAG:-_SBo}
diff --git a/system/fence-agents/fence-agents.info b/system/fence-agents/fence-agents.info
index 59ac045edf..6c46e6d631 100644
--- a/system/fence-agents/fence-agents.info
+++ b/system/fence-agents/fence-agents.info
@@ -1,10 +1,10 @@
PRGNAM="fence-agents"
-VERSION="4.2.1"
+VERSION="4.5.2"
HOMEPAGE="https://github.com/ClusterLabs/fence-agents"
-DOWNLOAD="https://github.com/ClusterLabs/fence-agents/archive/v4.2.1/fence-agents-4.2.1.tar.gz"
-MD5SUM="2c7ad8aaf1a47154a6e6d53b40c15721"
+DOWNLOAD="https://github.com/ClusterLabs/fence-agents/archive/v4.5.2/fence-agents-4.5.2.tar.gz"
+MD5SUM="eb8c96a87c529b0c30a7524ea86433e7"
DOWNLOAD_x86_64=""
MD5SUM_x86_64=""
-REQUIRES="corosync pacemaker pexpect python-requests"
+REQUIRES="pexpect ptyprocess python-requests"
MAINTAINER="Pierre-Philipp Braun"
EMAIL="pbraun@nethence.com"
diff --git a/system/fence-agents/slack-desc b/system/fence-agents/slack-desc
index fe6dca19bc..826d0e1000 100644
--- a/system/fence-agents/slack-desc
+++ b/system/fence-agents/slack-desc
@@ -13,7 +13,7 @@ fence-agents: prevent computers from destroying data on shared storage. Their
fence-agents: aim is to isolate a corrupted computer, using one of three methods:
fence-agents: Power / Network / Configuration.
fence-agents:
-fence-agents: You might also want to install corosync, pacemaker, resource-agents,
-fence-agents: crmsh, fence-agents and eventually cluster-glue.
+fence-agents: You might also want to install cluster-glue, heartbeat,
+fence-agents: resource-agents, fence-agents.
fence-agents:
fence-agents:
diff --git a/system/filerunner/README b/system/filerunner/README
new file mode 100644
index 0000000000..13cd824d28
--- /dev/null
+++ b/system/filerunner/README
@@ -0,0 +1,12 @@
+filerunner (two-pane graphical file manager)
+
+FileRunner is a very configurable two-pane file manager for Unix and
+Windows systems. It is simple and efficient and has a built-in FTP/SFTP
+client.
+
+FileRunner's config files can be found in ~/.config/.fr.
+
+Note: the FileRunner executable is normally called /usr/bin/fr. I've
+renamed it to /usr/bin/filerunner, since there's already a system/fr
+package that installs a /usr/bin/fr. If system/fr is not installed,
+you'll get a /usr/bin/fr symlink to filerunner.
diff --git a/system/filerunner/doinst.sh b/system/filerunner/doinst.sh
new file mode 100644
index 0000000000..f05aaf46fc
--- /dev/null
+++ b/system/filerunner/doinst.sh
@@ -0,0 +1,14 @@
+if [ -x /usr/bin/update-desktop-database ]; then
+ /usr/bin/update-desktop-database -q usr/share/applications >/dev/null 2>&1
+fi
+
+if [ -e usr/share/icons/hicolor/icon-theme.cache ]; then
+ if [ -x /usr/bin/gtk-update-icon-cache ]; then
+ /usr/bin/gtk-update-icon-cache usr/share/icons/hicolor >/dev/null 2>&1
+ fi
+fi
+
+# If there's no fr link, take over:
+if [ ! -r usr/bin/fr ]; then
+ ( cd usr/bin ; ln -sf filerunner fr )
+fi
diff --git a/system/filerunner/filerunner.SlackBuild b/system/filerunner/filerunner.SlackBuild
new file mode 100644
index 0000000000..365286bdc0
--- /dev/null
+++ b/system/filerunner/filerunner.SlackBuild
@@ -0,0 +1,114 @@
+#!/bin/sh
+
+# Slackware build script for filerunner
+
+# Written by B. Watson (yalhcru@gmail.com)
+
+# Licensed under the WTFPL. See http://www.wtfpl.net/txt/copying/ for details.
+
+# Upstream's official RPM release claims to be noarch, but it's a dirty
+# lie: it includes libinotify1.4.1.so binaries[*] for various arches. So
+# does the source, but we're not trusting binaries that were probably
+# built on Red Hat. The source for the prebuilt binaries is included,
+# so this script compiles it instead.
+
+# [*] It breaks FHS and Slackware standards by installing arch-dependent
+# files (shared libs) in /usr/share, too. But I'm going to leave it
+# that way.
+
+PRGNAM=filerunner
+VERSION=${VERSION:-20.05.02.17}
+BUILD=${BUILD:-1}
+TAG=${TAG:-_SBo}
+
+SRCNAM=fr
+
+if [ -z "$ARCH" ]; then
+ case "$( uname -m )" in
+ i?86) ARCH=i586 ;;
+ arm*) ARCH=arm ;;
+ *) ARCH=$( uname -m ) ;;
+ esac
+fi
+
+CWD=$(pwd)
+TMP=${TMP:-/tmp/SBo}
+PKG=$TMP/package-$PRGNAM
+OUTPUT=${OUTPUT:-/tmp}
+
+if [ "$ARCH" = "i586" ]; then
+ SLKCFLAGS="-O2 -march=i586 -mtune=i686"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "i686" ]; then
+ SLKCFLAGS="-O2 -march=i686 -mtune=i686"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "x86_64" ]; then
+ SLKCFLAGS="-O2 -fPIC"
+ LIBDIRSUFFIX="64"
+else
+ SLKCFLAGS="-O2"
+ LIBDIRSUFFIX=""
+fi
+
+set -e
+
+# called twice, make it a func
+fixperms() {
+ chown -R root:root .
+ find -L . -perm /111 -a \! -perm 755 -a -exec chmod 755 {} \+ -o \
+ \! -perm /111 -a \! -perm 644 -a -exec chmod 644 {} \+
+}
+
+rm -rf $PKG
+mkdir -p $TMP $PKG $OUTPUT
+cd $TMP
+rm -rf $PRGNAM
+tar xvf $CWD/$SRCNAM-$VERSION.tar.gz
+cd $PRGNAM
+fixperms
+
+# DO NOT use precompiled binaries!
+rm -rf packages/inotify/*
+
+# Use tcl's idea of our architecture, since that's what fr will use
+# to locate the inotify tcl extension.
+TCLARCH="$( echo 'puts $::tcl_platform(machine)' | tclsh )"
+mkdir -p packages/inotify/$TCLARCH
+
+# Compile the library that prevents this from being a noarch package:
+cd Makefiles
+LIBNAM=tcl-inotify
+LIBVER="$( echo $LIBNAM-*.tar.gz | sed 's,.*-\([0-9.]*\)\.tar.gz,\1,' )"
+tar xvf $LIBNAM-$LIBVER.tar.gz
+fixperms
+
+cd $LIBNAM-$LIBVER
+./configure && make
+
+# Install it where fr INSTALL script expects to find it.
+install -s libinotify$LIBVER.so \
+ $TMP/$PRGNAM/packages/inotify/$TCLARCH
+
+# Now we can install the main package.
+cd -
+DESTDIR=$PKG \
+DOCS=/usr/doc/$PRGNAM-$VERSION \
+ ./INSTALL -nogui
+
+# Make this symlink so fr won't try to do it at runtime (and fail, if
+# not running as root).
+( cd $PKG/usr/share/$PRGNAM/packages/inotify
+ ln -s $TCLARCH/libinotify$LIBVER.so . )
+
+# We have a slight conflict with system/fr, so:
+mv $PKG/usr/bin/$SRCNAM $PKG/usr/bin/$PRGNAM
+sed -i "/^Exec/s|$SRCNAM|$PRGNAM|" $PKG/usr/share/applications/$PRGNAM.desktop
+
+cat $CWD/$PRGNAM.SlackBuild > $PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM.SlackBuild
+
+mkdir -p $PKG/install
+cat $CWD/slack-desc > $PKG/install/slack-desc
+cat $CWD/doinst.sh > $PKG/install/doinst.sh
+
+cd $PKG
+/sbin/makepkg -l y -c n $OUTPUT/$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.${PKGTYPE:-tgz}
diff --git a/system/filerunner/filerunner.info b/system/filerunner/filerunner.info
new file mode 100644
index 0000000000..1304749807
--- /dev/null
+++ b/system/filerunner/filerunner.info
@@ -0,0 +1,10 @@
+PRGNAM="filerunner"
+VERSION="20.05.02.17"
+HOMEPAGE="https://sourceforge.net/projects/filerunner/"
+DOWNLOAD="https://downloads.sourceforge.net/project/filerunner/release-20.05.02.17/fr-20.05.02.17.tar.gz"
+MD5SUM="a8787d750f729c8487e44e16075aa671"
+DOWNLOAD_x86_64=""
+MD5SUM_x86_64=""
+REQUIRES=""
+MAINTAINER="B. Watson"
+EMAIL="yalhcru@gmail.com"
diff --git a/system/filerunner/slack-desc b/system/filerunner/slack-desc
new file mode 100644
index 0000000000..c40867c9a6
--- /dev/null
+++ b/system/filerunner/slack-desc
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description.
+# Line up the first '|' above the ':' following the base package name, and
+# the '|' on the right side marks the last column you can put a character in.
+# You must make exactly 11 lines for the formatting to be correct. It's also
+# customary to leave one space after the ':' except on otherwise blank lines.
+
+ |-----handy-ruler------------------------------------------------------|
+filerunner: filerunner (two-pane graphical file manager)
+filerunner:
+filerunner: FileRunner is a very configurable two-pane file manager for Unix
+filerunner: and Windows systems. It is simple and efficient and has a built-in
+filerunner: FTP/SFTP client.
+filerunner:
+filerunner:
+filerunner:
+filerunner:
+filerunner:
+filerunner:
diff --git a/system/fio/fio.SlackBuild b/system/fio/fio.SlackBuild
index 73ae4e24e9..3e923213c6 100644
--- a/system/fio/fio.SlackBuild
+++ b/system/fio/fio.SlackBuild
@@ -3,7 +3,7 @@
# Slackware build script for fio
# Copyright 2012 Binh Nguyen <binhvng@gmail.com>
-# Copyright 2015-2019 Brenton Earl <brent@exitstatusone.com>
+# Copyright 2015-2020 Brenton Earl <brent@exitstatusone.com>
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
@@ -24,7 +24,7 @@
# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
PRGNAM=fio
-VERSION=${VERSION:-3.14}
+VERSION=${VERSION:-3.23}
BUILD=${BUILD:-1}
TAG=${TAG:-_SBo}
diff --git a/system/fio/fio.info b/system/fio/fio.info
index 680434500f..9fec576b28 100644
--- a/system/fio/fio.info
+++ b/system/fio/fio.info
@@ -1,8 +1,8 @@
PRGNAM="fio"
-VERSION="3.14"
+VERSION="3.23"
HOMEPAGE="http://git.kernel.dk/cgit/fio/"
-DOWNLOAD="http://brick.kernel.dk/snaps/fio-3.14.tar.gz"
-MD5SUM="54eabdbcaac1d0d1edcd8a3bb6c927fc"
+DOWNLOAD="http://brick.kernel.dk/snaps/fio-3.23.tar.gz"
+MD5SUM="497f8bad953723a8c4c46f2a58a13b24"
DOWNLOAD_x86_64=""
MD5SUM_x86_64=""
REQUIRES=""
diff --git a/system/firejail/firejail.SlackBuild b/system/firejail/firejail.SlackBuild
index 89e8189cf3..d4779d311d 100644
--- a/system/firejail/firejail.SlackBuild
+++ b/system/firejail/firejail.SlackBuild
@@ -3,7 +3,7 @@
# Slackware build script for firejail
# Copyright 2015 mwgg
-# Copyright 2017-2019 Willy Sudiarto Raharjo <willysr@slackbuilds.org>
+# Copyright 2017-2021 Willy Sudiarto Raharjo <willysr@slackbuilds.org>
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
@@ -24,7 +24,7 @@
# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
PRGNAM=firejail
-VERSION=${VERSION:-0.9.60}
+VERSION=${VERSION:-0.9.64.4}
BUILD=${BUILD:-1}
TAG=${TAG:-_SBo}
@@ -88,6 +88,8 @@ make install DESTDIR=$PKG
find $PKG -print0 | xargs -0 file | grep -e "executable" -e "shared object" | grep ELF \
| cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null || true
+sed -i "s|whitelist /usr/share/doc|#whitelist /usr/share/doc|" $PKG/etc/firejail/firefox.profile
+
mkdir -p $PKG/install
cat $CWD/slack-desc > $PKG/install/slack-desc
diff --git a/system/firejail/firejail.info b/system/firejail/firejail.info
index 4919d959df..a13f37b3ae 100644
--- a/system/firejail/firejail.info
+++ b/system/firejail/firejail.info
@@ -1,8 +1,8 @@
PRGNAM="firejail"
-VERSION="0.9.60"
+VERSION="0.9.64.4"
HOMEPAGE="https://firejail.wordpress.com/"
-DOWNLOAD="https://sourceforge.net/projects/firejail/files/firejail/firejail-0.9.60.tar.xz"
-MD5SUM="8c137fca503762fcdc0e41055d2ea60d"
+DOWNLOAD="https://sourceforge.net/projects/firejail/files/firejail/firejail-0.9.64.4.tar.xz"
+MD5SUM="e3be55266472dc8ac373c9fcfba4f9f9"
DOWNLOAD_x86_64=""
MD5SUM_x86_64=""
REQUIRES=""
diff --git a/system/firetools/firetools.SlackBuild b/system/firetools/firetools.SlackBuild
index 5575d4d83a..f5c930d902 100644
--- a/system/firetools/firetools.SlackBuild
+++ b/system/firetools/firetools.SlackBuild
@@ -2,7 +2,7 @@
# Slackware build script for firetools
-# Copyright 2017-2019 Willy Sudiarto Raharjo <willysr@slackbuilds.org>
+# Copyright 2017-2021 Willy Sudiarto Raharjo <willysr@slackbuilds.org>
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
@@ -23,7 +23,7 @@
# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
PRGNAM=firetools
-VERSION=${VERSION:-0.9.58}
+VERSION=${VERSION:-0.9.64}
BUILD=${BUILD:-1}
TAG=${TAG:-_SBo}
@@ -78,6 +78,7 @@ CXXFLAGS="$SLKCFLAGS" \
--localstatedir=/var \
--mandir=/usr/man \
--docdir=/usr/doc/$PRGNAM-$VERSION \
+ --with-qmake=/usr/lib${LIBDIRSUFFIX}/qt5/bin/qmake \
--build=$ARCH-slackware-linux
sed -i "s|share/man|man|g" Makefile
diff --git a/system/firetools/firetools.info b/system/firetools/firetools.info
index 8980b2a4bf..04d18c6f79 100644
--- a/system/firetools/firetools.info
+++ b/system/firetools/firetools.info
@@ -1,10 +1,10 @@
PRGNAM="firetools"
-VERSION="0.9.58"
+VERSION="0.9.64"
HOMEPAGE="https://l3net.wordpress.com/projects/firejail/#firetools"
-DOWNLOAD="https://sourceforge.net/projects/firejail/files/firetools/firetools-0.9.58.tar.xz"
-MD5SUM="113aba51d3534da6e4a4130c29853d14"
+DOWNLOAD="https://sourceforge.net/projects/firejail/files/firetools/firetools-0.9.64.tar.xz"
+MD5SUM="a95af117c8bd1c78a67de450a8ecb97a"
DOWNLOAD_x86_64=""
MD5SUM_x86_64=""
-REQUIRES="firejail"
+REQUIRES="firejail qt5"
MAINTAINER="Willy Sudiarto Raharjo"
EMAIL="willysr@slackbuilds.org"
diff --git a/system/fish/README b/system/fish/README
index 9b00838a7e..00f5c35adf 100644
--- a/system/fish/README
+++ b/system/fish/README
@@ -1,15 +1,16 @@
fish (Friendly Interactive Shell)
-fish is a user friendly command line shell for UNIX-like systems.
-fish includes case insensitive completions, a multiline editing
-system, a new and simplified key binding system, and a large number
-of command specific completions.
+fish is a user friendly command line shell for UNIX-like systems. fish
+includes case insensitive completions, a multiline editing system, a new
+and simplified key binding system, and a large number of command
+specific completions.
-This package will potentially conflict with the /usr/games/fish
-binary from the y/bsdgames package. In a stock installation with
-default PATH ordering, /usr/bin should be checked before /usr/games,
-so it shouldn't be an issue, but we thought it was worth noting
-just in case.
+This package will potentially conflict with the /usr/games/fish binary
+from the y/bsdgames package. In a stock installation with default PATH
+ordering, /usr/bin should be checked before /usr/games, so it shouldn't
+be an issue, but we thought it was worth noting just in case.
+
+Optional packages (also found at slackbuilds.org): sphinx libedit
NOTES:
@@ -29,3 +30,7 @@ SlackBuild or typically (as normal user or root):
$ fish
$ source /etc/profile.d/man-db.sh
$ fish_update_completions
+
+If you are upgrading from version 3.0.0 or before, please also review
+the release notes for 3.1.1, 3.1.0 and 3.1b1 at
+https://fishshell.com/release_notes.html.
diff --git a/system/fish/fish.SlackBuild b/system/fish/fish.SlackBuild
index 92f1b35783..909ee515e2 100644
--- a/system/fish/fish.SlackBuild
+++ b/system/fish/fish.SlackBuild
@@ -1,9 +1,10 @@
#!/bin/sh
-#
-# Slackware build script for the fish shell.
-#
+
+# Slackware build script for fish
+
+# Copyright 2020 Donald Cooley, South Haven, Indiana USA
# Copyright 2015-2019 Edinaldo P. Silva, Rio de Janeiro, Brazil.
-# Copyright 2009 Pierre Cazenave <pwcazenave {at} gmail [dot] com>
+# Copyright 2009 Pierre Cazenave
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
@@ -12,19 +13,19 @@
# 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 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.
PRGNAM=fish
-VERSION=${VERSION:-3.0.2}
+VERSION=${VERSION:-3.1.2}
BUILD=${BUILD:-1}
TAG=${TAG:-_SBo}
@@ -70,33 +71,38 @@ find -L . \
\( -perm 666 -o -perm 664 -o -perm 640 -o -perm 600 -o -perm 444 \
-o -perm 440 -o -perm 400 \) -exec chmod 644 {} \;
-CFLAGS="$SLKCFLAGS" \
-CXXFLAGS="$SLKCFLAGS" \
-./configure \
- --prefix=/usr \
- --libdir=/usr/lib${LIBDIRSUFFIX} \
- --sysconfdir=/etc \
- --localstatedir=/var \
- --mandir=/usr/man \
- --docdir=/usr/doc/$PRGNAM-$VERSION \
- --build=$ARCH-slackware-linux
-
-make
-make install DESTDIR=$PKG
-
-# Let's not clobber the config
+mkdir -p build
+cd build
+ cmake \
+ -DCMAKE_C_FLAGS:STRING="$SLKCFLAGS" \
+ -DCMAKE_CXX_FLAGS:STRING="$SLKCFLAGS" \
+ -DCMAKE_INSTALL_PREFIX=/usr \
+ -DCMAKE_INSTALL_LIBDIR=/usr/lib${LIBDIRSUFFIX} \
+ -DCMAKE_INSTALL_SYSCONFDIR=/etc \
+ -DCMAKE_BUILD_TYPE=Release ..
+ make
+ make install DESTDIR=$PKG
+cd ..
+
+mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION
+mkdir -p $PKG/usr/share/$PRGNAM
+mv $PKG/usr/share/doc/$PRGNAM/* $PKG/usr/share/$PRGNAM
+
+# Let's not clobber the old config
mv $PKG/etc/fish/config.fish $PKG/etc/fish/config.fish.new
find $PKG -print0 | xargs -0 file | grep -e "executable" -e "shared object" | grep ELF \
| cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null || true
+mkdir -p $PKG/usr/man/man1
mv $PKG/usr/share/$PRGNAM/man/man1/* $PKG/usr/man/man1
-rm -rf $PKG/usr/share/fish/man/
+rm -rf $PKG/usr/share/man/
find $PKG/usr/man -type f -exec gzip -9 {} \;
for i in $( find $PKG/usr/man -type l ) ; do ln -s $( readlink $i ).gz $i.gz ; rm $i ; done
# Remove manual pages that overwrites coreutils' man pages
rm -f $PKG/usr/man/man1/{echo,false,pwd,test,true}.1.gz
+
cp CHANGELOG.md CONTRIBUTING.md COPYING README.md $PKG/usr/doc/$PRGNAM-$VERSION
cat $CWD/$PRGNAM.SlackBuild > $PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM.SlackBuild
diff --git a/system/fish/fish.info b/system/fish/fish.info
index 5666362864..b70ec030e0 100644
--- a/system/fish/fish.info
+++ b/system/fish/fish.info
@@ -1,10 +1,10 @@
PRGNAM="fish"
-VERSION="3.0.2"
-HOMEPAGE="http://fishshell.com/"
-DOWNLOAD="https://github.com/fish-shell/fish-shell/releases/download/3.0.2/fish-3.0.2.tar.gz"
-MD5SUM="eba358c6c99e596b8633113ff1cd5994"
+VERSION="3.1.2"
+HOMEPAGE="https://fishshell.com/"
+DOWNLOAD="https://github.com/fish-shell/fish-shell/releases/download/3.1.2/fish-3.1.2.tar.gz"
+MD5SUM="2e9f12a250dccb9ab0529ae6f77710a0"
DOWNLOAD_x86_64=""
MD5SUM_x86_64=""
REQUIRES="man-db"
-MAINTAINER="Edinaldo P. Silva"
-EMAIL="edps.mundognu@gmail.com"
+MAINTAINER="Donald Cooley"
+EMAIL="chytraeu@sdf.org"
diff --git a/system/fish/slack-desc b/system/fish/slack-desc
index 967da1a55f..5b7d97efd9 100644
--- a/system/fish/slack-desc
+++ b/system/fish/slack-desc
@@ -14,6 +14,6 @@ fish: fish includes case insensitive completions, a multiline editing
fish: system, a new and simplified key binding system, and a large number
fish: of command specific completions.
fish:
-fish: Homepage: http://fishshell.com/
+fish: Homepage: https://fishshell.com/
fish:
fish:
diff --git a/system/flashcards/fixes.diff b/system/flashcards/fixes.diff
new file mode 100644
index 0000000000..8096bd21b4
--- /dev/null
+++ b/system/flashcards/fixes.diff
@@ -0,0 +1,24 @@
+diff -Naur flashcards-2.4/flashcards/configure.py flashcards-2.4.patched/flashcards/configure.py
+--- flashcards-2.4/flashcards/configure.py 2012-02-06 03:32:51.000000000 -0500
++++ flashcards-2.4.patched/flashcards/configure.py 2020-01-17 23:03:15.495097878 -0500
+@@ -29,6 +29,8 @@
+ documents = os.path.join(home_path, 'Documents')
+ ROOT = os.path.join(documents, 'flashcards')
+
++if not os.path.isdir(documents):
++ os.mkdir(documents)
+ if not os.path.isdir(ROOT):
+ os.mkdir(ROOT)
+
+diff -Naur flashcards-2.4/setup.py flashcards-2.4.patched/setup.py
+--- flashcards-2.4/setup.py 2012-02-06 03:45:22.000000000 -0500
++++ flashcards-2.4.patched/setup.py 2020-01-17 23:03:32.311096350 -0500
+@@ -14,7 +14,7 @@
+ author_email = "luisnaranjo733@hotmail.com",
+ description = ("A simple command line flashcards utility, similar to physical flashcards."),
+ license = "GNU GPL",
+- install_requires= ['argparse','configobj',],
++ install_requires= ['configobj',],
+ entry_points = {
+ 'console_scripts': ['flashcards = flashcards.flashcards:main']
+ },
diff --git a/system/flashcards/flashcards.SlackBuild b/system/flashcards/flashcards.SlackBuild
index 73fd70a471..16b56a16bb 100644
--- a/system/flashcards/flashcards.SlackBuild
+++ b/system/flashcards/flashcards.SlackBuild
@@ -69,6 +69,12 @@ find -L . \
\( -perm 666 -o -perm 664 -o -perm 640 -o -perm 600 -o -perm 444 \
-o -perm 440 -o -perm 400 \) -exec chmod 644 {} \;
+# 20200117 bkw: this has apparently been broken for a LONG time. It
+# complains that there's no "distribution" called argparse... but
+# argparse ships with Slackware. Also, application fails to start if
+# $HOME/Documents doesn't already exist. Patch fixes both issues.
+patch -p1 < $CWD/fixes.diff
+
python setup.py install --root=$PKG
find $PKG -print0 | xargs -0 file | grep -e "executable" -e "shared object" | grep ELF \
diff --git a/system/forkstat/forkstat.SlackBuild b/system/forkstat/forkstat.SlackBuild
index a6ff9ccb1a..d071210330 100644
--- a/system/forkstat/forkstat.SlackBuild
+++ b/system/forkstat/forkstat.SlackBuild
@@ -2,7 +2,7 @@
#
# Slackware build script for forkstat.
#
-# Copyright 2015-2019 Edinaldo P. Silva, Rio de Janeiro, Brazil.
+# Copyright 2015-2020 Edinaldo P. Silva, Rio de Janeiro, Brazil.
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
@@ -23,7 +23,7 @@
# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
PRGNAM=forkstat
-VERSION=${VERSION:-0.02.11}
+VERSION=${VERSION:-0.02.12}
BUILD=${BUILD:-1}
TAG=${TAG:-_SBo}
diff --git a/system/forkstat/forkstat.info b/system/forkstat/forkstat.info
index b22e06cd62..86b0cb5768 100644
--- a/system/forkstat/forkstat.info
+++ b/system/forkstat/forkstat.info
@@ -1,10 +1,10 @@
PRGNAM="forkstat"
-VERSION="0.02.11"
+VERSION="0.02.12"
HOMEPAGE="https://kernel.ubuntu.com/~cking/forkstat/"
-DOWNLOAD="https://kernel.ubuntu.com/~cking/tarballs/forkstat/forkstat-0.02.11.tar.xz"
-MD5SUM="bf1f7975d79b02da0fa7e3ce2732e7a9"
+DOWNLOAD="https://kernel.ubuntu.com/~cking/tarballs/forkstat/forkstat-0.02.12.tar.xz"
+MD5SUM="cc4809b66dc2276a76370e2c9c325307"
DOWNLOAD_x86_64=""
MD5SUM_x86_64=""
REQUIRES=""
-MAINTAINER="Edinaldo P. Silva"
-EMAIL="edps.mundognu@gmail.com"
+MAINTAINER="orphaned - no maintainer"
+EMAIL="nobody@nowhere"
diff --git a/system/fs-uae-arcade/README b/system/fs-uae-arcade/README
deleted file mode 100644
index 3d7668c656..0000000000
--- a/system/fs-uae-arcade/README
+++ /dev/null
@@ -1 +0,0 @@
-FS-UAE Arcade is a fullscreen Amiga game browser for FS-UAE.
diff --git a/system/fs-uae-arcade/fs-uae-arcade.SlackBuild b/system/fs-uae-arcade/fs-uae-arcade.SlackBuild
deleted file mode 100644
index d8cb3185af..0000000000
--- a/system/fs-uae-arcade/fs-uae-arcade.SlackBuild
+++ /dev/null
@@ -1,86 +0,0 @@
-#!/bin/sh
-
-# SlackBuild script for "fs-uae-arcade".
-
-# Copyright 2013-2015 Marcel Saegebarth <marc@mos6581.de>
-# All rights reserved.
-#
-# Redistribution and use in source and binary forms, with or without
-# modification, are permitted provided that the following conditions are
-# met:
-#
-# * Redistributions of source code must retain the above copyright
-# notice, this list of conditions and the following disclaimer.
-#
-# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-# A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-# OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-PRGNAM=fs-uae-arcade
-VERSION=${VERSION:-2.6.2}
-BUILD=${BUILD:-1}
-TAG=${TAG:-_SBo}
-
-if [ -z "$ARCH" ]; then
- case "$( uname -m )" in
- i?86) ARCH=i486 ;;
- arm*) ARCH=arm ;;
- *) ARCH=$( uname -m ) ;;
- esac
-fi
-
-CWD=$(pwd)
-TMP=${TMP:-/tmp/SBo}
-PKG=$TMP/package-$PRGNAM
-OUTPUT=${OUTPUT:-/tmp}
-
-if [ "$ARCH" = "i486" ]; then
- SLKCFLAGS="-O2 -march=i486 -mtune=i686"
- LIBDIRSUFFIX=""
-elif [ "$ARCH" = "i686" ]; then
- SLKCFLAGS="-O2 -march=i686 -mtune=i686"
- LIBDIRSUFFIX=""
-elif [ "$ARCH" = "x86_64" ]; then
- SLKCFLAGS="-O2 -fPIC"
- LIBDIRSUFFIX="64"
-else
- SLKCFLAGS="-O2"
- LIBDIRSUFFIX=""
-fi
-
-set -e
-
-rm -rf $PKG
-mkdir -p $TMP $PKG $OUTPUT
-cd $TMP
-rm -rf $PRGNAM-$VERSION
-tar xvf $CWD/$PRGNAM-$VERSION.tar.gz
-cd $PRGNAM-$VERSION
-chown -R root:root .
-find -L . \
- \( -perm 777 -o -perm 775 -o -perm 750 -o -perm 711 -o -perm 555 \
- -o -perm 511 \) -exec chmod 755 {} \; -o \
- \( -perm 666 -o -perm 664 -o -perm 640 -o -perm 600 -o -perm 444 \
- -o -perm 440 -o -perm 400 \) -exec chmod 644 {} \;
-
-python3 setup.py build
-make
-make install prefix=/usr DESTDIR=$PKG
-
-mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION
-cat $CWD/$PRGNAM.SlackBuild > $PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM.SlackBuild
-
-mkdir -p $PKG/install
-cat $CWD/slack-desc > $PKG/install/slack-desc
-cat $CWD/doinst.sh > $PKG/install/doinst.sh
-
-cd $PKG
-/sbin/makepkg -l y -c n $OUTPUT/$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.${PKGTYPE:-tgz}
diff --git a/system/fs-uae-arcade/fs-uae-arcade.info b/system/fs-uae-arcade/fs-uae-arcade.info
deleted file mode 100644
index 67454b4d5c..0000000000
--- a/system/fs-uae-arcade/fs-uae-arcade.info
+++ /dev/null
@@ -1,10 +0,0 @@
-PRGNAM="fs-uae-arcade"
-VERSION="2.6.2"
-HOMEPAGE="https://fs-uae.net/"
-DOWNLOAD="https://fs-uae.net/fs-uae/stable/2.6.2/fs-uae-arcade-2.6.2.tar.gz"
-MD5SUM="2b99bbcb32245a36c4b73cb1d56e1d2f"
-DOWNLOAD_x86_64=""
-MD5SUM_x86_64=""
-REQUIRES="python3-PyQt5 python3-lhafile fs-uae"
-MAINTAINER="Marcel Saegebarth"
-EMAIL="marc@mos6581.de"
diff --git a/system/fs-uae-launcher/README b/system/fs-uae-launcher/README
deleted file mode 100644
index be59c8ae17..0000000000
--- a/system/fs-uae-launcher/README
+++ /dev/null
@@ -1 +0,0 @@
-FS-UAE Launcher is a graphical user interface for FS-UAE.
diff --git a/system/fs-uae-launcher/fs-uae-launcher.SlackBuild b/system/fs-uae-launcher/fs-uae-launcher.SlackBuild
deleted file mode 100644
index 7cf795a364..0000000000
--- a/system/fs-uae-launcher/fs-uae-launcher.SlackBuild
+++ /dev/null
@@ -1,86 +0,0 @@
-#!/bin/sh
-
-# SlackBuild script for "fs-uae-launcher".
-
-# Copyright 2013-2015 Marcel Saegebarth <marc@mos6581.de>
-# All rights reserved.
-#
-# Redistribution and use in source and binary forms, with or without
-# modification, are permitted provided that the following conditions are
-# met:
-#
-# * Redistributions of source code must retain the above copyright
-# notice, this list of conditions and the following disclaimer.
-#
-# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-# A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-# OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-PRGNAM=fs-uae-launcher
-VERSION=${VERSION:-2.6.2}
-BUILD=${BUILD:-1}
-TAG=${TAG:-_SBo}
-
-if [ -z "$ARCH" ]; then
- case "$( uname -m )" in
- i?86) ARCH=i486 ;;
- arm*) ARCH=arm ;;
- *) ARCH=$( uname -m ) ;;
- esac
-fi
-
-CWD=$(pwd)
-TMP=${TMP:-/tmp/SBo}
-PKG=$TMP/package-$PRGNAM
-OUTPUT=${OUTPUT:-/tmp}
-
-if [ "$ARCH" = "i486" ]; then
- SLKCFLAGS="-O2 -march=i486 -mtune=i686"
- LIBDIRSUFFIX=""
-elif [ "$ARCH" = "i686" ]; then
- SLKCFLAGS="-O2 -march=i686 -mtune=i686"
- LIBDIRSUFFIX=""
-elif [ "$ARCH" = "x86_64" ]; then
- SLKCFLAGS="-O2 -fPIC"
- LIBDIRSUFFIX="64"
-else
- SLKCFLAGS="-O2"
- LIBDIRSUFFIX=""
-fi
-
-set -e
-
-rm -rf $PKG
-mkdir -p $TMP $PKG $OUTPUT
-cd $TMP
-rm -rf $PRGNAM-$VERSION
-tar xvf $CWD/$PRGNAM-$VERSION.tar.gz
-cd $PRGNAM-$VERSION
-chown -R root:root .
-find -L . \
- \( -perm 777 -o -perm 775 -o -perm 750 -o -perm 711 -o -perm 555 \
- -o -perm 511 \) -exec chmod 755 {} \; -o \
- \( -perm 666 -o -perm 664 -o -perm 640 -o -perm 600 -o -perm 444 \
- -o -perm 440 -o -perm 400 \) -exec chmod 644 {} \;
-
-python3 setup.py build
-make
-make install prefix=/usr DESTDIR=$PKG
-
-mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION
-cat $CWD/$PRGNAM.SlackBuild > $PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM.SlackBuild
-
-mkdir -p $PKG/install
-cat $CWD/slack-desc > $PKG/install/slack-desc
-cat $CWD/doinst.sh > $PKG/install/doinst.sh
-
-cd $PKG
-/sbin/makepkg -l y -c n $OUTPUT/$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.${PKGTYPE:-tgz}
diff --git a/system/fs-uae-launcher/fs-uae-launcher.info b/system/fs-uae-launcher/fs-uae-launcher.info
deleted file mode 100644
index 189bc6f7f8..0000000000
--- a/system/fs-uae-launcher/fs-uae-launcher.info
+++ /dev/null
@@ -1,10 +0,0 @@
-PRGNAM="fs-uae-launcher"
-VERSION="2.6.2"
-HOMEPAGE="https://fs-uae.net/"
-DOWNLOAD="https://fs-uae.net/fs-uae/stable/2.6.2/fs-uae-launcher-2.6.2.tar.gz"
-MD5SUM="bde923259083a97c5ea677f4f61cb660"
-DOWNLOAD_x86_64=""
-MD5SUM_x86_64=""
-REQUIRES="python3-PyQt5 python3-lhafile fs-uae"
-MAINTAINER="Marcel Saegebarth"
-EMAIL="marc@mos6581.de"
diff --git a/system/fs-uae/README b/system/fs-uae/README
deleted file mode 100644
index c84fe274c5..0000000000
--- a/system/fs-uae/README
+++ /dev/null
@@ -1,4 +0,0 @@
-FS-UAE focuses on emulating Amiga games using the accurate emulation code
-from WinUAE. It also has features to emulate a high-end Amiga with expansions.
-
-Note: Since version 2.3.x the FS-UAE Launcher is a separate package.
diff --git a/system/fs-uae/fs-uae.info b/system/fs-uae/fs-uae.info
deleted file mode 100644
index 7549ba7f85..0000000000
--- a/system/fs-uae/fs-uae.info
+++ /dev/null
@@ -1,10 +0,0 @@
-PRGNAM="fs-uae"
-VERSION="2.8.1"
-HOMEPAGE="https://fs-uae.net/"
-DOWNLOAD="https://fs-uae.net/fs-uae/stable/2.8.1/fs-uae-2.8.1.tar.gz"
-MD5SUM="6dd3a6edc9c08780db8b7d6002440929"
-DOWNLOAD_x86_64=""
-MD5SUM_x86_64=""
-REQUIRES="SDL2 OpenAL libmpeg2"
-MAINTAINER="Marcel Saegebarth"
-EMAIL="marc@mos6581.de"
diff --git a/system/fswatch/slack-desc b/system/fswatch/slack-desc
index 979af68994..29eecd53bf 100644
--- a/system/fswatch/slack-desc
+++ b/system/fswatch/slack-desc
@@ -4,7 +4,7 @@
# the '|' on the right side marks the last column you can put a character in.
# You must make exactly 11 lines for the formatting to be correct. It's also
# customary to leave one space after the ':' except on otherwise blank lines.
-#
+
|-----handy-ruler------------------------------------------------------|
fswatch: fswatch (A cross-platform file change monitor with multiple backends)
fswatch:
@@ -12,7 +12,7 @@ fswatch: This SlackBuild implements the Linux inotify variant only.
fswatch:
fswatch: Homepage: https://github.com/emcrisostomo/fswatch
fswatch:
-fswatch: Please check the man page ( man 7 fswatch ) or browse the info page
+fswatch: Please check the man page ( man 7 fswatch ) or browse the info page
fswatch: ( info fswatch ) before using this tool.
fswatch:
fswatch:
diff --git a/system/ft2demos/README b/system/ft2demos/README
new file mode 100644
index 0000000000..048f6be971
--- /dev/null
+++ b/system/ft2demos/README
@@ -0,0 +1,26 @@
+ft2demos (freetype demos and tools)
+
+Set of demo programs and tools for freetype. Can be useful for testing
+and debugging problems with fonts (or with freetype itself). Includes
+these tools:
+
+ftbench - benchmark some common FreeType paths
+ftchkwd - test fixed font width
+ftdiff - compare font hinting modes
+ftdump - simple font dumper
+ftgamma - screen gamma calibration helper
+ftgrid - simple glyph grid viewer
+ftlint - simple font tester
+ftmemchk - simple memory tester (tests FreeType's memory allocator)
+ftmulti - multiple masters font viewer
+ftpatchk - tests whether patented hinting is necessary
+ftstring - string viewer (displays text in specified font)
+fttimer - simple performance timer
+ftvalid - font layout table validator
+ftview - simple glyph viewer
+ttdebug - a TrueType bytecode debugger
+
+Most of the commands have man pages. Also most of the commands show
+usage info if you run them with --help (or with no arguments).
+
+This package is known as "freetype2-demos" on Arch and Debian systems.
diff --git a/system/ft2demos/ft2demos.SlackBuild b/system/ft2demos/ft2demos.SlackBuild
new file mode 100644
index 0000000000..6f4c2805c9
--- /dev/null
+++ b/system/ft2demos/ft2demos.SlackBuild
@@ -0,0 +1,158 @@
+#!/bin/sh
+
+# Slackware build script for ft2demos
+
+# Written by B. Watson (yalhcru@gmail.com)
+
+# Licensed under the WTFPL. See http://www.wtfpl.net/txt/copying/ for details.
+
+# This thing requires first building (but not installing) freetype2,
+# hence all the downloads.
+
+# This script is heavily based on Pat Volkerding's freetype.SlackBuild:
+# https://slackware.uk/slackware/slackware-14.2/patches/source/freetype/
+# ...and Arch Linux's freetype2-demos PKGBUILD:
+# https://git.archlinux.org/svntogit/packages.git/tree/trunk?h=packages/freetype2
+
+# Note to self: keep VERSION in sync with Pat's patches/freetype.
+
+PRGNAM=ft2demos
+VERSION=${VERSION:-2.6.3}
+BUILD=${BUILD:-1}
+TAG=${TAG:-_SBo}
+
+LIBNAM=freetype
+
+if [ -z "$ARCH" ]; then
+ case "$( uname -m )" in
+ i?86) ARCH=i586 ;;
+ arm*) ARCH=arm ;;
+ *) ARCH=$( uname -m ) ;;
+ esac
+fi
+
+CWD=$(pwd)
+TMP=${TMP:-/tmp/SBo}
+PKG=$TMP/package-$PRGNAM
+OUTPUT=${OUTPUT:-/tmp}
+
+if [ "$ARCH" = "i586" ]; then
+ SLKCFLAGS="-O2 -march=i586 -mtune=i686"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "i686" ]; then
+ SLKCFLAGS="-O2 -march=i686 -mtune=i686"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "x86_64" ]; then
+ SLKCFLAGS="-O2 -fPIC"
+ LIBDIRSUFFIX="64"
+else
+ SLKCFLAGS="-O2"
+ LIBDIRSUFFIX=""
+fi
+
+set -e
+
+rm -rf $PKG
+mkdir -p $TMP $PKG $OUTPUT
+cd $TMP
+rm -rf $PRGNAM-build
+mkdir -p $PRGNAM-build
+cd $PRGNAM-build
+tar xvf $CWD/$LIBNAM-$VERSION.tar.xz
+tar xvf $CWD/$PRGNAM-$VERSION.tar.bz2
+chown -R root:root .
+find -L . -perm /111 -a \! -perm 755 -a -exec chmod 755 {} \+ -o \
+ \! -perm /111 -a \! -perm 644 -a -exec chmod 644 {} \+
+
+# Build process wants this symlink.
+ln -s $LIBNAM-$VERSION ${LIBNAM}2
+
+### First, build FreeType, since ft2demos needs the whole source tree.
+cd $LIBNAM-$VERSION
+
+# Apply Pat's patches
+zcat $CWD/freetype.illadvisederror.diff.gz | patch -p1
+zcat $CWD/freetype.CVE-2017-8287.diff.gz | patch -p1
+
+# Enable the validators needed by the ftvalid command. Part 1 of a
+# DIRTY_HACK to make ftvalid work.
+sed -i '/^# *AUX_MODULES.*valid/s|^# *||' modules.cfg
+
+# Use Pat's build command (but no make install!)
+CFLAGS="$SLKCFLAGS" \
+ make setup \
+ CFG="--prefix=/usr --libdir=/usr/lib${LIBDIRSUFFIX} --build=$ARCH-slackware-linux"
+make
+
+### Now, build ft2demos. These will end up dynamically linked to the
+# system libfreetype.so after package installation, *except* for
+# ftvalid, which won't work with Slackware's libfreetype.so, so it
+# gets statically linked with the libfreetype.a we just built. See
+# DIRTY_HACK, parts 1 and 2.
+cd $TMP/$PRGNAM-build/$PRGNAM-$VERSION
+
+# Build the extra executables
+sed -i '/^ *# *EXES/s|# *||' Makefile
+
+# Don't try to build ftvalid yet. If we do, the resulting binary is
+# useless, complains that none of its validation methods are compiled in,
+# and suggests rebuilding FreeType.
+sed -i '/EXES *+= *ftvalid/d' Makefile
+
+# Don't include RPATH in binaries (borrowed from Arch)
+sed -i '/X11_LIB:%=-R%/d' graph/x11/rules.mk
+
+# Don't have to specify CFLAGS here, it'll pick them up from the freetype
+# build we just did.
+make
+
+# DIRTY_HACK, part 2. Get the link command libtool generated for ftvalid,
+# and replace freetype.so with freetype.a (the static lib). This is me
+# working around libtool's "helpful" automation. Die, libtool!
+echo "=== Prepare for dirty hack, put on your goggles now"
+make EXES=ftvalid | tee make.out
+
+echo "=== ftvalid.build.cmd:"
+grep '^libtool: link:' make.out | \
+ cut -d: -f3- | \
+ sed 's|/usr/lib[^/]*/libfreetype.so||' | \
+ sed 's|\([^ *]\.libs/libfreetype.\)so|\1a|' | \
+ tee ftvalid.build.cmd
+
+# Now run the abomination we've created. If it fails, don't let set -e
+# kill the whole script (we'll just make a package without ftvalid).
+sh ./ftvalid.build.cmd || echo "!!! Attempt to build ftvalid failed"
+
+# The semi-static ftvalid is big, but still under 1MB. Also, if you
+# run ldd on it, you'll see libfreetype.so is required... this is because
+# of a circular dependency with harfbuzz. It doesn't seem to cause a
+# problem for ftvalid.
+echo "=== Stand down from dirty hack alert, you may now remove your goggles"
+
+# There is no 'make install', this bit was borrowed from Arch.
+mkdir -p $PKG/usr/bin
+for i in bin/{f,t}t*; do
+ libtool --mode=install install $i $PKG/usr/bin
+done
+strip $PKG/usr/bin/*
+
+# For whatever reason, the Arch and Debian packages don't install the
+# man pages.
+mkdir -p $PKG/usr/man/man1
+for i in src/*.1; do
+ gzip -9c < $i > $PKG/usr/man/man1/$( basename $i).gz
+done
+
+# The README is build instructions, don't bother. Instead, include our
+# own README which at least lists the tools and their short descriptions.
+# The ChangeLog goes back to 2000, don't need the whole damn thing.
+mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION
+head -n1000 ChangeLog > $PKG/usr/doc/$PRGNAM-$VERSION/ChangeLog
+cat $CWD/README > $PKG/usr/doc/$PRGNAM-$VERSION/README_SBo.txt
+cat $CWD/$PRGNAM.SlackBuild > $PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM.SlackBuild
+
+mkdir -p $PKG/install
+cat $CWD/slack-desc > $PKG/install/slack-desc
+
+cd $PKG
+/sbin/makepkg -l y -c n $OUTPUT/$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.${PKGTYPE:-tgz}
diff --git a/system/ft2demos/ft2demos.info b/system/ft2demos/ft2demos.info
new file mode 100644
index 0000000000..50c3bc2ea5
--- /dev/null
+++ b/system/ft2demos/ft2demos.info
@@ -0,0 +1,16 @@
+PRGNAM="ft2demos"
+VERSION="2.6.3"
+HOMEPAGE="http://www.freetype.org"
+DOWNLOAD="https://download-mirror.savannah.gnu.org/releases/freetype/ft2demos-2.6.3.tar.bz2 \
+ https://slackware.uk/slackware/slackware-14.2/patches/source/freetype/freetype-2.6.3.tar.xz \
+ https://slackware.uk/slackware/slackware-14.2/patches/source/freetype/freetype.CVE-2017-8287.diff.gz \
+ https://slackware.uk/slackware/slackware-14.2/patches/source/freetype/freetype.illadvisederror.diff.gz"
+MD5SUM="f7c6102f29834a80456264fe4edd81d1 \
+ c806890db47d8ad8887253a926377e33 \
+ eea2e24cf46314d716d0668f5fdbbf08 \
+ 419295091bb684f531c3ba9614fea3a0"
+DOWNLOAD_x86_64=""
+MD5SUM_x86_64=""
+REQUIRES=""
+MAINTAINER="B. Watson"
+EMAIL="yalhcru@gmail.com"
diff --git a/system/ft2demos/slack-desc b/system/ft2demos/slack-desc
new file mode 100644
index 0000000000..22f4cbc5e3
--- /dev/null
+++ b/system/ft2demos/slack-desc
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description.
+# Line up the first '|' above the ':' following the base package name, and
+# the '|' on the right side marks the last column you can put a character in.
+# You must make exactly 11 lines for the formatting to be correct. It's also
+# customary to leave one space after the ':' except on otherwise blank lines.
+
+ |-----handy-ruler------------------------------------------------------|
+ft2demos: ft2demos (freetype demos and tools)
+ft2demos:
+ft2demos: Set of demo programs and tools for freetype. Can be useful for testing
+ft2demos: and debugging problems with fonts (or with freetype itself). Includes
+ft2demos: these tools:
+ft2demos:
+ft2demos: ftbench ftchkwd ftdiff ftdump ftgamma ftgrid ftlint ftmemchk
+ft2demos: ftmulti ftpatchk ftstring fttimer ftvalid ftview ttdebug
+ft2demos:
+ft2demos:
+ft2demos:
diff --git a/system/fuse-overlayfs/fuse-overlayfs.info b/system/fuse-overlayfs/fuse-overlayfs.info
index 1279c832a3..025aa493f2 100644
--- a/system/fuse-overlayfs/fuse-overlayfs.info
+++ b/system/fuse-overlayfs/fuse-overlayfs.info
@@ -2,7 +2,7 @@ PRGNAM="fuse-overlayfs"
VERSION="0.6.5"
HOMEPAGE="https://github.com/containers/fuse-overlayfs"
DOWNLOAD="https://github.com/containers/fuse-overlayfs/archive/v0.6.5/fuse-overlayfs-0.6.5.tar.gz"
-MD5SUM="b51db9df094de8d4b477e6fc84007a97"
+MD5SUM="11b6906ae03fd83d32d20d7151e00470"
DOWNLOAD_x86_64=""
MD5SUM_x86_64=""
REQUIRES="fuse3"
diff --git a/system/fuse3/README b/system/fuse3/README
index 533ab44440..fedc4c62b9 100644
--- a/system/fuse3/README
+++ b/system/fuse3/README
@@ -8,3 +8,8 @@ repository). libfuse provides the reference implementation for communicating
with the FUSE kernel module.
This ought not collide with the "fuse" package in stock slackware install.
+
+The package can optionally install extensive developer documentation. If this
+is needed, run the SlackBuild like this:
+
+FUSE3_DEVDOCS=yes ./fuse3.SlackBuild
diff --git a/system/fuse3/fuse3.SlackBuild b/system/fuse3/fuse3.SlackBuild
index 5b52fdfe2f..da4fbda772 100644
--- a/system/fuse3/fuse3.SlackBuild
+++ b/system/fuse3/fuse3.SlackBuild
@@ -22,13 +22,14 @@
# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-SUFFIX=3
-BASENAME=fuse
-PRGNAM=${BASENAME}${SUFFIX}
-VERSION=${VERSION:-3.3.0}
+PRGNAM=fuse3
+VERSION=${VERSION:-3.10.1}
BUILD=${BUILD:-1}
TAG=${TAG:-_SBo}
+BASENAME=fuse
+SUFFIX=3
+
if [ -z "$ARCH" ]; then
case "$( uname -m )" in
i?86) ARCH=i586 ;;
@@ -56,6 +57,8 @@ else
LIBDIRSUFFIX=""
fi
+FUSE3_DEVDOCS=${FUSE3_DEVDOCS:-no}
+
set -e
rm -rf $PKG
@@ -78,6 +81,7 @@ meson build \
--mandir="/usr/man"
ninja -C build
DESTDIR=$PKG ninja -C build install
+rm -rf $PKG/dev $PKG/etc/udev
find $PKG -print0 | xargs -0 file | grep -e "executable" -e "shared object" | grep ELF \
| cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null || true
@@ -86,8 +90,12 @@ find $PKG/usr/man -type f -exec gzip -9 {} \;
for i in $( find $PKG/usr/man -type l ) ; do ln -s $( readlink $i ).gz $i.gz ; rm $i ; done
mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION
+if [ "$FUSE3_DEVDOCS" = "yes" ]; then
+ cp -a doc/ example/ $PKG/usr/doc/$PRGNAM-$VERSION
+fi
+
cp -a \
- README.md LICENSE LGPL2.txt GPL2.txt doc/ example/ \
+ README.md LICENSE LGPL2.txt GPL2.txt \
$PKG/usr/doc/$PRGNAM-$VERSION
cat $CWD/$PRGNAM.SlackBuild > $PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM.SlackBuild
diff --git a/system/fuse3/fuse3.info b/system/fuse3/fuse3.info
index b2ef5b541d..25599ccf6a 100644
--- a/system/fuse3/fuse3.info
+++ b/system/fuse3/fuse3.info
@@ -1,10 +1,10 @@
PRGNAM="fuse3"
-VERSION="3.3.0"
+VERSION="3.10.1"
HOMEPAGE="https://github.com/libfuse/libfuse"
-DOWNLOAD="https://github.com/libfuse/libfuse/releases/download/fuse-3.3.0/fuse-3.3.0.tar.xz"
-MD5SUM="2568a6bd41f5a4dead66e119a83cebaf"
+DOWNLOAD="https://github.com/libfuse/libfuse/releases/download/fuse-3.10.1/fuse-3.10.1.tar.xz"
+MD5SUM="e973012119e98b048307558271b5b296"
DOWNLOAD_x86_64=""
MD5SUM_x86_64=""
REQUIRES="meson"
MAINTAINER="Vincent Batts"
-EMAIL="vbatts@hashbanghbash.com"
+EMAIL="vbatts@hashbangbash.com"
diff --git a/system/fwupd/README b/system/fwupd/README
index cb483338da..07e8586ed7 100644
--- a/system/fwupd/README
+++ b/system/fwupd/README
@@ -7,4 +7,4 @@ Options (all default to false):
ENABLE_UEFI: true|false - requires pygobject3-python3 python3-pillow
py3cairo
- https://github.com/fwupd/fwupd/blob/1.2.10/meson_options.txt
+ https://github.com/fwupd/fwupd/blob/1.2.13/meson_options.txt
diff --git a/system/fwupd/doinst.sh b/system/fwupd/doinst.sh
index 544d2273ce..835a554895 100644
--- a/system/fwupd/doinst.sh
+++ b/system/fwupd/doinst.sh
@@ -22,4 +22,9 @@ config etc/fwupd/remotes.d/vendor-directory.conf.new
config etc/fwupd/remotes.d/fwupd-tests.conf.new
config etc/fwupd/daemon.conf.new
config etc/fwupd/redfish.conf.new
-config etc/fwupd/uefi.conf.new
+
+if [ -e usr/share/icons/hicolor/icon-theme.cache ]; then
+ if [ -x /usr/bin/gtk-update-icon-cache ]; then
+ /usr/bin/gtk-update-icon-cache -f usr/share/icons/hicolor >/dev/null 2>&1
+ fi
+fi
diff --git a/system/fwupd/fwupd.SlackBuild b/system/fwupd/fwupd.SlackBuild
index 42be43104f..b7d8384306 100644
--- a/system/fwupd/fwupd.SlackBuild
+++ b/system/fwupd/fwupd.SlackBuild
@@ -2,7 +2,7 @@
# Slackware build script for fwupd
-# Copyright 2017-2019 Andrew Clemons, Wellington New Zealand
+# Copyright 2017-2020 Andrew Clemons, Wellington New Zealand
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
@@ -23,7 +23,7 @@
# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
PRGNAM=fwupd
-VERSION=${VERSION:-1.2.10}
+VERSION=${VERSION:-1.2.13}
BUILD=${BUILD:-1}
TAG=${TAG:-_SBo}
@@ -111,7 +111,10 @@ mv $PKG/etc/fwupd/remotes.d/vendor-directory.conf $PKG/etc/fwupd/remotes.d/vendo
mv $PKG/etc/fwupd/remotes.d/fwupd-tests.conf $PKG/etc/fwupd/remotes.d/fwupd-tests.conf.new
mv $PKG/etc/fwupd/daemon.conf $PKG/etc/fwupd/daemon.conf.new
mv $PKG/etc/fwupd/redfish.conf $PKG/etc/fwupd/redfish.conf.new
-mv $PKG/etc/fwupd/uefi.conf $PKG/etc/fwupd/uefi.conf.new
+
+if [ -e $PKG/etc/fwupd/uefi.conf ] ; then
+ mv $PKG/etc/fwupd/uefi.conf $PKG/etc/fwupd/uefi.conf.new
+fi
rm -rf $PKG/usr/share/installed-tests
@@ -128,5 +131,10 @@ mkdir -p $PKG/install
cat $CWD/slack-desc > $PKG/install/slack-desc
cat $CWD/doinst.sh > $PKG/install/doinst.sh
+if [ -e $PKG/etc/fwupd/uefi.conf.new ] ; then
+ echo "" >> $PKG/install/doinst.sh
+ echo "config etc/fwupd/uefi.conf.new" >> $PKG/install/doinst.sh
+fi
+
cd $PKG
/sbin/makepkg -l y -c n $OUTPUT/$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.${PKGTYPE:-tgz}
diff --git a/system/fwupd/fwupd.info b/system/fwupd/fwupd.info
index 9ca69fcdeb..97d10dab24 100644
--- a/system/fwupd/fwupd.info
+++ b/system/fwupd/fwupd.info
@@ -1,8 +1,8 @@
PRGNAM="fwupd"
-VERSION="1.2.10"
+VERSION="1.2.13"
HOMEPAGE="https://www.fwupd.org"
-DOWNLOAD="https://github.com/fwupd/fwupd/archive/1.2.10/fwupd-1.2.10.tar.gz"
-MD5SUM="ad3765dc9409fa1d9b46dc712fd041e4"
+DOWNLOAD="https://github.com/fwupd/fwupd/archive/1.2.13/fwupd-1.2.13.tar.gz"
+MD5SUM="e205c79b43f343c56b340593f4d00c9f"
DOWNLOAD_x86_64=""
MD5SUM_x86_64=""
REQUIRES="libxmlb libgusb efivar json-glib gcab"
diff --git a/system/fzf/fzf.SlackBuild b/system/fzf/fzf.SlackBuild
index 8dd9edc6cb..ae700c1ceb 100644
--- a/system/fzf/fzf.SlackBuild
+++ b/system/fzf/fzf.SlackBuild
@@ -2,7 +2,7 @@
# Slackware build script for fzf
-# Copyright 2016-2019 Andrew Clemons, Wellington New Zealand
+# Copyright 2016-2021 Andrew Clemons, Wellington New Zealand
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
@@ -23,7 +23,7 @@
# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
PRGNAM=fzf
-VERSION=${VERSION:-0.19.0}
+VERSION=${VERSION:-0.27.0}
BUILD=${BUILD:-1}
TAG=${TAG:-_SBo}
@@ -54,12 +54,14 @@ sed -i '/^BUILD_FLAGS/s/$/ -mod=vendor/' Makefile
mkdir -p vendor/github.com
-for DEPENDENCY in gdamore/encoding/b23993cbb6353f0e6aa98d0ee318a34728f628b9 \
- gdamore/tcell/0a0db94084dfe181108c18508ebd312f12d331fb \
- lucasb-eyer/go-colorful/c900de9dbbc73129068f5af6a823068fc5f2308c \
- mattn/go-isatty/66b8e73f3f5cda9f96b69efd03dd3d7fc4a5cdb8 \
- mattn/go-runewidth/14207d285c6c197daabb5c9793d63e7af9ab2d50 \
- mattn/go-shellwords/02e3cf038dcea8290e44424da473dd12be796a8a ; do
+for DEPENDENCY in gdamore/encoding/1.0.0 \
+ gdamore/tcell/1.3.0 \
+ lucasb-eyer/go-colorful/1.2.0 \
+ mattn/go-isatty/0.0.12 \
+ mattn/go-runewidth/0.0.12 \
+ mattn/go-shellwords/1.0.11 \
+ rivo/uniseg/0.2.0 \
+ saracen/walker/0.1.2 ; do
DEPENDENCY_OWNER="$(echo "$DEPENDENCY" | cut -d/ -f1)"
DEPENDENCY_NAME="$(echo "$DEPENDENCY" | cut -d/ -f2)"
DEPENDENCY_REV="$(echo "$DEPENDENCY" | cut -d/ -f3)"
@@ -71,9 +73,11 @@ for DEPENDENCY in gdamore/encoding/b23993cbb6353f0e6aa98d0ee318a34728f628b9 \
done
mkdir -p vendor/golang.org/x
-for DEPENDENCY in crypto/558b6879de74bc843225cde5686419267ff707ca \
- sys/b90f89a1e7a9c1f6b918820b3daa7f08488c8594 \
- text/4ee4af566555f5fbe026368b75596286a312663a ; do
+for DEPENDENCY in sync/036812b2e83c0ddf193dd5a34e034151da389d09 \
+ sys/d101bd2416d505c0448a6ce8a282482678040a89 \
+ term/de623e64d2a6562fa463152da80477d4aa07fca0 \
+ text/0.3.6 \
+ tools/90fa682c2a6e6a37b3a1364ce2fe1d5e41af9d6d ; do
DEPENDENCY_NAME="$(echo "$DEPENDENCY" | cut -d/ -f1)"
DEPENDENCY_REV="$(echo "$DEPENDENCY" | cut -d/ -f2)"
@@ -88,7 +92,7 @@ find -L . \
\( -perm 666 -o -perm 664 -o -perm 640 -o -perm 600 -o -perm 444 \
-o -perm 440 -o -perm 400 \) -exec chmod 644 {} \;
-make
+FZF_VERSION="$VERSION" FZF_REVISION="$VERSION" make
mkdir -p $PKG/usr/bin
install -m 0755 target/fzf-linux_* $PKG/usr/bin/fzf
@@ -126,16 +130,23 @@ if [ "$WITH_VIM" = "yes" ] ; then
mkdir -p $PKG/usr/share/vim/vimfiles/plugin
install -m 0644 plugin/fzf.vim $PKG/usr/share/vim/vimfiles/plugin
+ mkdir -p $PKG/usr/share/vim/vimfiles/doc/
+ install -m 0644 doc/fzf.txt $PKG/usr/share/vim/vimfiles/doc/
+
# neovim support
mkdir -p $PKG/usr/share/nvim/runtime/plugin
+ mkdir -p $PKG/usr/share/nvim/runtime/doc
(
cd $PKG/usr/share/nvim/runtime
+
ln -s ../../../vim/vimfiles/plugin/fzf.vim plugin/fzf.vim
+ ln -s ../../../vim/vimfiles/doc/fzf.txt doc/fzf.txt
)
else
mkdir -p $PKG/usr/share/fzf/vim/
install -m 0644 plugin/fzf.vim $PKG/usr/share/fzf/vim/
+ install -m 0644 doc/fzf.txt $PKG/usr/share/fzf/vim/
fi
mkdir -p $PKG/install
diff --git a/system/fzf/fzf.info b/system/fzf/fzf.info
index 87ffe3bef3..5f1c696425 100644
--- a/system/fzf/fzf.info
+++ b/system/fzf/fzf.info
@@ -1,26 +1,34 @@
PRGNAM="fzf"
-VERSION="0.19.0"
+VERSION="0.27.0"
HOMEPAGE="https://github.com/junegunn/fzf"
-DOWNLOAD="https://github.com/junegunn/fzf/archive/0.19.0/fzf-0.19.0.tar.gz \
- https://github.com/gdamore/encoding/archive/b23993cbb6353f0e6aa98d0ee318a34728f628b9/encoding-b23993cbb6353f0e6aa98d0ee318a34728f628b9.tar.gz \
- https://github.com/gdamore/tcell/archive/0a0db94084dfe181108c18508ebd312f12d331fb/tcell-0a0db94084dfe181108c18508ebd312f12d331fb.tar.gz \
- https://github.com/lucasb-eyer/go-colorful/archive/c900de9dbbc73129068f5af6a823068fc5f2308c/go-colorful-c900de9dbbc73129068f5af6a823068fc5f2308c.tar.gz \
- https://github.com/mattn/go-isatty/archive/66b8e73f3f5cda9f96b69efd03dd3d7fc4a5cdb8/go-isatty-66b8e73f3f5cda9f96b69efd03dd3d7fc4a5cdb8.tar.gz \
- https://github.com/mattn/go-runewidth/archive/14207d285c6c197daabb5c9793d63e7af9ab2d50/go-runewidth-14207d285c6c197daabb5c9793d63e7af9ab2d50.tar.gz \
- https://github.com/mattn/go-shellwords/archive/02e3cf038dcea8290e44424da473dd12be796a8a/go-shellwords-02e3cf038dcea8290e44424da473dd12be796a8a.tar.gz \
- https://github.com/golang/crypto/archive/558b6879de74bc843225cde5686419267ff707ca/crypto-558b6879de74bc843225cde5686419267ff707ca.tar.gz \
- https://github.com/golang/sys/archive/b90f89a1e7a9c1f6b918820b3daa7f08488c8594/sys-b90f89a1e7a9c1f6b918820b3daa7f08488c8594.tar.gz \
- https://github.com/golang/text/archive/4ee4af566555f5fbe026368b75596286a312663a/text-4ee4af566555f5fbe026368b75596286a312663a.tar.gz"
-MD5SUM="e188fdb292bb1ffa56db010ef07a0ec4 \
- 4c6fb2d95929b35e44788924edc56649 \
- 8c61d3a0fb9b399e8eac971537bb987e \
- ae47671585a14b145b3edd83b2240019 \
- e15b95057201799f455982ce76ff7041 \
- cc482b237c1812152afd973b52f40852 \
- 80447b1055e248f7273e7ef45521534d \
- 2425a12f648d6c117460836386e17a3a \
- 34a1e1f3baa7e0b733272fe81e1bf3e9 \
- cc2a01a744b1d2eb588f213db4bf4485"
+DOWNLOAD="https://github.com/junegunn/fzf/archive/0.27.0/fzf-0.27.0.tar.gz \
+ https://github.com/gdamore/encoding/archive/v1.0.0/encoding-1.0.0.tar.gz \
+ https://github.com/gdamore/tcell/archive/v1.3.0/tcell-1.3.0.tar.gz \
+ https://github.com/lucasb-eyer/go-colorful/archive/v1.2.0/go-colorful-1.2.0.tar.gz \
+ https://github.com/mattn/go-isatty/archive/v0.0.12/go-isatty-0.0.12.tar.gz \
+ https://github.com/mattn/go-runewidth/archive/v0.0.12/go-runewidth-0.0.12.tar.gz \
+ https://github.com/mattn/go-shellwords/archive/v1.0.11/go-shellwords-1.0.11.tar.gz \
+ https://github.com/rivo/uniseg/archive/v0.2.0/uniseg-0.2.0.tar.gz \
+ https://github.com/saracen/walker/archive/v0.1.2/walker-0.1.2.tar.gz \
+ https://github.com/golang/sync/archive/036812b2e83c0ddf193dd5a34e034151da389d09/sync-036812b2e83c0ddf193dd5a34e034151da389d09.tar.gz \
+ https://github.com/golang/sys/archive/d101bd2416d505c0448a6ce8a282482678040a89/sys-d101bd2416d505c0448a6ce8a282482678040a89.tar.gz \
+ https://github.com/golang/term/archive/de623e64d2a6562fa463152da80477d4aa07fca0/term-de623e64d2a6562fa463152da80477d4aa07fca0.tar.gz \
+ https://github.com/golang/text/archive/v0.3.6/text-0.3.6.tar.gz \
+ https://github.com/golang/tools/archive/90fa682c2a6e6a37b3a1364ce2fe1d5e41af9d6d/tools-90fa682c2a6e6a37b3a1364ce2fe1d5e41af9d6d.tar.gz"
+MD5SUM="498b121f93733e45b4c432c3549b68f8 \
+ fbadc383bc1ace79fa769fe2de36b87b \
+ ad4f913e9293c655c5b7cdeba02429e8 \
+ 191fe5cfcb58e480ff4045c82a06091a \
+ 56a6121ba7ae8a13dad2925edd9f11b5 \
+ ff86c8f58d907d46399df06b7d5565bb \
+ ca0ba2f62a0ce9d20fe9939d18135e45 \
+ 71d5e8800299a85ecfd72a1833eefa4c \
+ 2b8de2c0180b772eac09f19ed7cb264a \
+ 45a3bb00e962f5ba158827f54bbdce4a \
+ 09d78ad8306fb264ebecd65e309e33ef \
+ 4fae21a5000857ef943f4f9f93d8727a \
+ f406aa34e4555c0bac8c2f00f2ab729b \
+ aa1fd192d5fd5f11f7d552eea120d495"
DOWNLOAD_x86_64=""
MD5SUM_x86_64=""
REQUIRES="google-go-lang"
diff --git a/system/gcdemu/gcdemu.SlackBuild b/system/gcdemu/gcdemu.SlackBuild
index 6fcd5d01eb..e06410655d 100644
--- a/system/gcdemu/gcdemu.SlackBuild
+++ b/system/gcdemu/gcdemu.SlackBuild
@@ -3,7 +3,7 @@
# Slackware build script for gcdemu
#
# Copyright 2013 Niels Horn, Rio de Janeiro, RJ, Brazil <niels.horn@gmail.com>
-# Copyright 2018-2019 Isaac Yu <isaacyu1@isaacyu1.com>
+# Copyright 2018-2020 Isaac Yu <isaacyu1@isaacyu1.com>
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
@@ -24,9 +24,9 @@
# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
PRGNAM=gcdemu
-VERSION=${VERSION:-3.2.3}
+VERSION=${VERSION:-3.2.4}
ARCH=noarch
-BUILD=${BUILD:-1}
+BUILD=${BUILD:-2}
TAG=${TAG:-_SBo}
CWD=$(pwd)
diff --git a/system/gcdemu/gcdemu.info b/system/gcdemu/gcdemu.info
index 09f20bd4af..1a80f15758 100644
--- a/system/gcdemu/gcdemu.info
+++ b/system/gcdemu/gcdemu.info
@@ -1,8 +1,8 @@
PRGNAM="gcdemu"
-VERSION="3.2.3"
+VERSION="3.2.4"
HOMEPAGE="https://cdemu.sourceforge.io/about/gcdemu/"
-DOWNLOAD="https://downloads.sourceforge.net/cdemu/gcdemu-3.2.3.tar.bz2"
-MD5SUM="03bf5795410fcb21abfb38a9e1cbec90"
+DOWNLOAD="https://downloads.sourceforge.net/cdemu/gcdemu-3.2.4.tar.bz2"
+MD5SUM="942e8b223985a67fb8096c44fdc40df4"
DOWNLOAD_x86_64=""
MD5SUM_x86_64=""
REQUIRES="cdemu-daemon pygobject3-python3"
diff --git a/system/gigolo/gigolo.SlackBuild b/system/gigolo/gigolo.SlackBuild
index 6d17bbbb5a..6d96016d60 100644
--- a/system/gigolo/gigolo.SlackBuild
+++ b/system/gigolo/gigolo.SlackBuild
@@ -68,11 +68,9 @@ if [ x"${GNOMEMOUNT:-"yes"}" = "xyes" ]; then
chmod 0755 $PKG/usr/bin/gnome-mount
fi
-# Strip binaries and libraries
find $PKG | xargs file | grep -e "executable" -e "shared object" | grep ELF \
| cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null || true
-# Compress man pages
find $PKG/usr/man -type f -exec gzip -9 {} \;
for i in $( find $PKG/usr/man -type l ) ; do ln -s $( readlink $i ).gz $i.gz ; rm $i ; done
diff --git a/system/gksu/gksu.info b/system/gksu/gksu.info
index 3c55be7cd8..4c89b2568f 100644
--- a/system/gksu/gksu.info
+++ b/system/gksu/gksu.info
@@ -6,5 +6,5 @@ MD5SUM="cacbcac3fc272dce01c6ea38354489e2"
DOWNLOAD_x86_64=""
MD5SUM_x86_64=""
REQUIRES="libgksu"
-MAINTAINER="Stylianos Tsampas"
-EMAIL="ztsampas@otenet.gr"
+MAINTAINER="Didier Spaier"
+EMAIL="didier at slint dot fr"
diff --git a/system/glances/README b/system/glances/README
index 120cd17f85..ba7d2548f9 100644
--- a/system/glances/README
+++ b/system/glances/README
@@ -12,16 +12,16 @@ systems, processes, etc.
OPTIONAL DEPENDENCIES
* Available on SBo:
-batinfo (for battery monitoring support)
bottle (for web server mode)
couchdb (for CouchDB export module)
docker (for Docker monitoring support)
elasticsearch (for Elastic Search export module)
hddtemp (for HDD temperature monitoring support)
-matplotlib (for graphical/chart support)
+influxdb (for InfluxDB export module)
netifaces (for IP plugin)
py-cpuinfo (for Quicklook CPU info module)
pymdstat (for RAID support)
+python-prometheus_client (for Prometheus export module)
python-requests (for Ports plugin)
python-scandir (for Folders plugin)
statsd (for StatsD export module)
@@ -31,10 +31,12 @@ pyzmq (for ZeroMQ export module)
* Not available on SBo:
bernhard (for Riemann export module)
cassandra-driver (for Cassandra export module)
-influxdb (for InfluxDB export module)
-nvidia-ml-py (for GPU plugin)
+kafka-python (for Kafka export module)
+nvidia-ml-pyi3 (for GPU plugin)
pika (for RabbitMQ/ActiveMQ export module)
potsdb (for OpenTSDB export module)
+pygal (for graph export module)
+pySMART.smartx (for HDD SMART support)
pystache (for action scripting)
wifi (for wifi plugin)
zeroconf (for autodiscover mode)
diff --git a/system/glances/glances.SlackBuild b/system/glances/glances.SlackBuild
index a520b6e3a3..0972a94bfa 100644
--- a/system/glances/glances.SlackBuild
+++ b/system/glances/glances.SlackBuild
@@ -2,7 +2,7 @@
# Slackware build script for glances
-# Copyright 2013-2017 Philip Lacroix <slackph at posteo dot de>
+# Copyright 2013-2020 Philip Lacroix <slackph at posteo dot de>
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
@@ -23,7 +23,7 @@
# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
PRGNAM=glances
-VERSION=${VERSION:-2.9.1}
+VERSION=${VERSION:-3.1.0}
BUILD=${BUILD:-1}
TAG=${TAG:-_SBo}
diff --git a/system/glances/glances.info b/system/glances/glances.info
index cf3fe34b48..e61af1e5aa 100644
--- a/system/glances/glances.info
+++ b/system/glances/glances.info
@@ -1,8 +1,8 @@
PRGNAM="glances"
-VERSION="2.9.1"
+VERSION="3.1.0"
HOMEPAGE="https://github.com/nicolargo/glances"
-DOWNLOAD="https://github.com/nicolargo/glances/archive/v2.9.1/glances-2.9.1.tar.gz"
-MD5SUM="2e10c6e25f61002bc6d647d3bfcb4d62"
+DOWNLOAD="https://github.com/nicolargo/glances/archive/v3.1.0/glances-3.1.0.tar.gz"
+MD5SUM="6b4d001854f711ee805eb60bd6831e18"
DOWNLOAD_x86_64=""
MD5SUM_x86_64=""
REQUIRES="psutil"
diff --git a/system/gnu-unifont/README b/system/gnu-unifont/README
index 1e4ed63f18..1e7e3058f1 100644
--- a/system/gnu-unifont/README
+++ b/system/gnu-unifont/README
@@ -3,9 +3,20 @@ Unicode Basic Multilinguial Plane(BMP). The BMP is the first Unicode
"plane" of 65,536(16bit) code points, and includes character encoding
for most of the world's modern scripts.
-This package installs precompiled fonts only.
+By default, the package will include precompiled versions of the font in
+TTF (TrueType), PCF (X Window bitmap) and PSF (console) formats. This can be
+changed using FONTFORMATS environment variable, which should be set to
+comma-separated list of font formats to include in the package.
-By default, the package will include TTF (TrueType), PCF (X Window bitmap)
-and PSF (console) fonts. This can be changed using FONTFORMATS environment
-variable. Its default value is "ttf,pcf,psf". For example, setting
-FONTFORMATS=pcf,psf will include only PCF and PSF fonts.
+Available formats are:
+
+ttf = TrueType
+pcf = X Window bitmap
+psf = Console fonts
+otb = OpenType Bitmap fonts, compatible with recent versions of Pango which
+ don't support PCF fonts. Fonts in this format are generated by
+ converting precompiled PCF fonts using fonttosfnt tool.
+
+For example, setting FONTFORMATS=pcf,psf will include only PCF and PSF fonts.
+If FONTFORMATS variable is not set the default value "ttf,pcf,psf" is
+assumed.
diff --git a/system/gnu-unifont/gnu-unifont.SlackBuild b/system/gnu-unifont/gnu-unifont.SlackBuild
index 40ef9e8265..85ea602913 100644
--- a/system/gnu-unifont/gnu-unifont.SlackBuild
+++ b/system/gnu-unifont/gnu-unifont.SlackBuild
@@ -4,7 +4,7 @@
# Copyright 2010 crocket (crockabiscuit@gmail.com)
# Copyright 2013-2015 LukenShiro, Italy
-# Copyright 2019 Tomasz Bywalec
+# Copyright 2019-2020 Tomasz Bywalec
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
@@ -25,7 +25,7 @@
# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
PRGNAM=gnu-unifont
-VERSION=${VERSION:-12.1.03}
+VERSION=${VERSION:-13.0.06}
BUILD=${BUILD:-1}
TAG=${TAG:-_SBo}
@@ -85,6 +85,17 @@ if contains "$FONTFORMATS" "psf"; then
FONTSCOPIED=1
fi
+if contains "$FONTFORMATS" "otb"; then
+ mkdir -p $PKG/usr/share/fonts/misc
+ for pcf_file in *.pcf.gz; do
+ echo "Converting '$pcf_file' to OTB format."
+ otb_file=$(echo "$pcf_file" | sed 's/\.pcf\.gz$/.otb/g')
+ fonttosfnt -o "$PKG/usr/share/fonts/misc/$otb_file" "$pcf_file"
+ done
+
+ FONTSCOPIED=1
+fi
+
cd -
if [ "$FONTSCOPIED" -eq 0 ]; then
@@ -94,6 +105,9 @@ if [ "$FONTSCOPIED" -eq 0 ]; then
exit 1
fi
+# Keep the fonts names unversioned
+find -L $PKG/usr/share -type f -name "*-$VERSION*" -exec rename -- "-$VERSION" '' {} \;
+
mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION
cp -a $DOCFILES $PKG/usr/doc/$PRGNAM-$VERSION
cat $CWD/$PRGNAM.SlackBuild > $PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM.SlackBuild
diff --git a/system/gnu-unifont/gnu-unifont.info b/system/gnu-unifont/gnu-unifont.info
index b0a9bff793..fbcf5b0e78 100644
--- a/system/gnu-unifont/gnu-unifont.info
+++ b/system/gnu-unifont/gnu-unifont.info
@@ -1,8 +1,8 @@
PRGNAM="gnu-unifont"
-VERSION="12.1.03"
+VERSION="13.0.06"
HOMEPAGE="http://unifoundry.com/unifont/index.html"
-DOWNLOAD="https://ftpmirror.gnu.org/unifont/unifont-12.1.03/unifont-12.1.03.tar.gz"
-MD5SUM="ee5e7606f7aa273777408cd363ec0624"
+DOWNLOAD="https://ftpmirror.gnu.org/unifont/unifont-13.0.06/unifont-13.0.06.tar.gz"
+MD5SUM="60971929464ceb99bbcca55b9ad7c796"
DOWNLOAD_x86_64=""
MD5SUM_x86_64=""
REQUIRES=""
diff --git a/system/gnu-unifont/slack-desc b/system/gnu-unifont/slack-desc
index 3c3c36c945..259c4b902e 100644
--- a/system/gnu-unifont/slack-desc
+++ b/system/gnu-unifont/slack-desc
@@ -13,7 +13,7 @@ gnu-unifont: Unicode Basic Multilinguial Plane (BMP). The BMP is the first
gnu-unifont: Unicode "plane" of 65,536(16bit) code points, and includes character
gnu-unifont: encoding for most of the world's modern scripts.
gnu-unifont:
-gnu-unifont: Homepage: http://unifoundry.com/unifont.html
+gnu-unifont: Homepage: http://unifoundry.com/unifont/index.html
gnu-unifont:
gnu-unifont:
gnu-unifont:
diff --git a/system/goaccess/README b/system/goaccess/README
index 563151d147..a21acc4c4a 100644
--- a/system/goaccess/README
+++ b/system/goaccess/README
@@ -1,28 +1,29 @@
-Goaccess is an open source real-time Apache log analyzer and
+Goaccess is an open source real-time Apache log analyser and
interactive viewer that runs in a terminal in *nix systems.
It provides fast and valuable HTTP statistics for system
-administrators that require a visual server report on the fly.
+administrators that require a visual server report on the
+fly.
Optional:
-GeoIP:
-
-Goaccess now supports two types of GeoIP - legacy and mmdb.
+Goaccess supports two types of GeoIP - legacy and mmdb.
If you want to add GeoIP support, pass either option to the
slackbuild:
GEOIP=legacy ./goaccess.SlackBuild
-GEOIP=mmdb ./goaccess.SlackBuild
+(Requires GeoIP)
-At the moment, mmdb is not on slackbuilds.org.
+GEOIP=mmdb ./goaccess.SlackBuild
+(Requires libmaxminddb)
TokyoCabinet:
-Goaccess supports Tokyo Cabinet and Tokyo Cabinet's on-disk B+ Tree
-database.
+Goaccess supports Tokyo Cabinet and Tokyo Cabinet's on-disk
+B+ Tree database.
The options are:
TCB=memhash ./goaccess.SlackBuild
TCB=btree ./goaccess.SlackBuild
+(Both require tokyocabinet)
diff --git a/system/goaccess/goaccess.SlackBuild b/system/goaccess/goaccess.SlackBuild
index e03d8cb90e..2e83305eba 100644
--- a/system/goaccess/goaccess.SlackBuild
+++ b/system/goaccess/goaccess.SlackBuild
@@ -2,7 +2,7 @@
# Slackware build script for goaccess
-# Copyright David Woodfall <dave@dawoodfall.net>
+# Copyright Dave Woodfall <dave@slackbuilds.org>
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
@@ -23,8 +23,8 @@
# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
PRGNAM=goaccess
-VERSION=${VERSION:-1.2}
-BUILD=${BUILD:-2}
+VERSION=${VERSION:-1.3}
+BUILD=${BUILD:-1}
TAG=${TAG:-_SBo}
if [ -z "$ARCH" ]; then
@@ -54,13 +54,8 @@ else
LIBDIRSUFFIX=""
fi
-if [ -n "$GEOIP" ]; then
- geoip="--enable-geoip=$GEOIP"
-fi
-
-if [ -n "$TCB" ]; then
- tcb="--enable-tcb=$TCB"
-fi
+geoip="--enable-geoip=${GEOIP:-no}"
+tcb="--enable-tcb=${TCB:-no}"
set -e
@@ -103,10 +98,12 @@ find $PKG -print0 | xargs -0 file | grep -e "executable" -e "shared object" | gr
find $PKG/usr/man -type f -exec gzip -9 {} \;
for i in $( find $PKG/usr/man -type l ) ; do ln -s $( readlink $i ).gz $i.gz ; rm $i ; done
-mv $PKG/etc/goaccess.conf $PKG/etc/goaccess.conf.new
+install -D -m644 config/goaccess.conf $PKG/etc/goaccess.conf.new
mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION
-cp -a AUTHORS COPYING ChangeLog INSTALL NEWS README TODO $PKG/usr/doc/$PRGNAM-$VERSION
+cp -a \
+ AUTHORS COPYING ChangeLog INSTALL NEWS README TODO \
+ $PKG/usr/doc/$PRGNAM-$VERSION
cat $CWD/$PRGNAM.SlackBuild > $PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM.SlackBuild
mkdir -p $PKG/install
diff --git a/system/goaccess/goaccess.info b/system/goaccess/goaccess.info
index 4be37913ed..c655ce38ef 100644
--- a/system/goaccess/goaccess.info
+++ b/system/goaccess/goaccess.info
@@ -1,10 +1,10 @@
PRGNAM="goaccess"
-VERSION="1.2"
+VERSION="1.3"
HOMEPAGE="http://goaccess.prosoftcorp.com"
-DOWNLOAD="http://tar.goaccess.io/goaccess-1.2.tar.gz"
-MD5SUM="00f41cf1fb72cfc459984c0fb087333d"
+DOWNLOAD="http://tar.goaccess.io/goaccess-1.3.tar.gz"
+MD5SUM="5209c5d4e9e04b5b3e7f13134c5e146c"
DOWNLOAD_x86_64=""
MD5SUM_x86_64=""
REQUIRES=""
-MAINTAINER="David Woodfall"
-EMAIL="dave@dawoodfall.net"
+MAINTAINER="Dave Woodfall"
+EMAIL="dave@slackbuilds.org"
diff --git a/system/grub4dos/grub4dos.info b/system/grub4dos/grub4dos.info
index f9e0f4bc8e..fdc043c9c0 100644
--- a/system/grub4dos/grub4dos.info
+++ b/system/grub4dos/grub4dos.info
@@ -6,5 +6,5 @@ MD5SUM="525f86bd58cfb4608f50c22f4e58042b"
DOWNLOAD_x86_64="UNSUPPORTED"
MD5SUM_x86_64=""
REQUIRES="p7zip"
-MAINTAINER="Steven Pledger"
-EMAIL="spledger91@yahoo.com"
+MAINTAINER="Matteo Bernardini"
+EMAIL="ponce@slackbuilds.org"
diff --git a/system/guake/doinst.sh b/system/guake/doinst.sh
index c9b09eac64..5c97dbdc86 100644
--- a/system/guake/doinst.sh
+++ b/system/guake/doinst.sh
@@ -1,13 +1,3 @@
-schema_install() {
- SCHEMA="$1"
- GCONF_CONFIG_SOURCE="xml::etc/gconf/gconf.xml.defaults" \
- chroot . gconftool-2 --makefile-install-rule \
- /etc/gconf/schemas/$SCHEMA \
- 1>/dev/null
-}
-
- schema_install guake.schemas
-
if [ -x /usr/bin/update-desktop-database ]; then
/usr/bin/update-desktop-database -q usr/share/applications >/dev/null 2>&1
fi
@@ -20,6 +10,6 @@ fi
if [ -e usr/share/glib-2.0/schemas ]; then
if [ -x /usr/bin/glib-compile-schemas ]; then
- /usr/bin/glib-compile-schemas usr/share/glib-2.0/schemas >/dev/null 2>&1
+ /usr/bin/glib-compile-schemas usr/share/glib-2.0/schemas >/dev/null 2>&1
fi
fi
diff --git a/system/guake/guake-3.7.0-fix-paths.patch b/system/guake/guake-3.7.0-fix-paths.patch
new file mode 100644
index 0000000000..0cd91ef062
--- /dev/null
+++ b/system/guake/guake-3.7.0-fix-paths.patch
@@ -0,0 +1,22 @@
+--- guake/paths.py.orig 2020-02-10 16:10:10.000000000 -0500
++++ guake/paths.py 2020-06-08 20:32:03.423403158 -0400
+@@ -55,8 +55,8 @@
+
+
+ def get_default_locale_dir():
+- d = os.path.join(get_data_files_dir(), "po")
+- log.debug("Using guake image directory: %s", d)
++ d = '/usr/share/locale'
++ log.debug("Using guake locale directory: %s", d)
+ return d
+
+
+@@ -73,7 +73,7 @@
+
+
+ def get_default_schema_dir():
+- d = get_default_data_dir()
++ d = '/usr/share/glib-2.0/schemas'
+ log.debug("Using guake scheme directory: %s", d)
+ return d
+
diff --git a/system/guake/guake.SlackBuild b/system/guake/guake.SlackBuild
index 0bf0b55b94..3e9db65f3c 100644
--- a/system/guake/guake.SlackBuild
+++ b/system/guake/guake.SlackBuild
@@ -3,6 +3,7 @@
# Slackware build script for guake
# Copyright 2017-2018 Donald Cooley South Haven, IN USA
+# Copyright (C) 2020 Logan Rathbone <poprocks@gmail.com> Province of Ontario, Canada
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
@@ -23,7 +24,7 @@
# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
PRGNAM=guake
-VERSION=${VERSION:-0.8.14}
+VERSION=${VERSION:-3.7.0}
BUILD=${BUILD:-1}
TAG=${TAG:-_SBo}
@@ -40,20 +41,6 @@ TMP=${TMP:-/tmp/SBo}
PKG=$TMP/package-$PRGNAM
OUTPUT=${OUTPUT:-/tmp}
-if [ "$ARCH" = "i586" ]; then
- SLKCFLAGS="-O2 -march=i586 -mtune=i686"
- LIBDIRSUFFIX=""
-elif [ "$ARCH" = "i686" ]; then
- SLKCFLAGS="-O2 -march=i686 -mtune=i686"
- LIBDIRSUFFIX=""
-elif [ "$ARCH" = "x86_64" ]; then
- SLKCFLAGS="-O2 -fPIC"
- LIBDIRSUFFIX="64"
-else
- SLKCFLAGS="-O2"
- LIBDIRSUFFIX=""
-fi
-
set -e
rm -rf $PKG
@@ -69,35 +56,19 @@ find -L . \
\( -perm 666 -o -perm 664 -o -perm 640 -o -perm 600 -o -perm 444 \
-o -perm 440 -o -perm 400 \) -exec chmod 644 {} \;
-CFLAGS="$SLKCFLAGS" \
-CXXFLAGS="$SLKCFLAGS" \
-./autogen.sh \
- --prefix=/usr \
- --libdir=/usr/lib${LIBDIRSUFFIX} \
- --sysconfdir=/etc \
- --localstatedir=/var \
- --mandir=/usr/man \
- --docdir=/usr/doc/$PRGNAM-$VERSION \
- --disable-schemas-install \
- --build=$ARCH-slackware-linux
-
-make
-make install DESTDIR=$PKG
-
-find $PKG -print0 | xargs -0 file | grep -e "executable" -e "shared object" | grep ELF \
- | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null || true
+# fix some of the broken paths
+patch -p0 < $CWD/guake-3.7.0-fix-paths.patch
-find $PKG/usr/man -type f -exec gzip -9 {} \;
-for i in $( find $PKG/usr/man -type l ) ; do ln -s $( readlink $i ).gz $i.gz ; rm $i ; done
+make generate-desktop generate-mo compile-glib-schemas-dev
+make DESTDIR="$PKG" PREFIX='/usr' install-schemas install-locale
+python3 setup.py install --root "$PKG" --prefix="/usr" --optimize=1
-find $PKG -name perllocal.pod \
- -o -name ".packlist" \
- -o -name "*.bs" \
- | xargs rm -f
+# don't ship duplicate .mo and .po files
+rm -rf $PKG/usr/share/guake/po
mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION
cp -a \
- AUTHORS COPYING INSTALL NEWS README.rst ChangeLog \
+ COPYING NEWS.rst README.rst \
$PKG/usr/doc/$PRGNAM-$VERSION
cat $CWD/$PRGNAM.SlackBuild > $PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM.SlackBuild
diff --git a/system/guake/guake.info b/system/guake/guake.info
index 4318250bec..4bc7673e19 100644
--- a/system/guake/guake.info
+++ b/system/guake/guake.info
@@ -1,10 +1,10 @@
PRGNAM="guake"
-VERSION="0.8.14"
+VERSION="3.7.0"
HOMEPAGE="http://guake.org"
-DOWNLOAD="https://github.com/Guake/guake/archive/0.8.14/guake-0.8.14.tar.gz"
-MD5SUM="a0155a28c4417d3c6200afbdebe2c306"
+DOWNLOAD="https://files.pythonhosted.org/packages/f1/20/32c2c8fe2ec4d5c38dbdd2b2ee60a382a529d0409c7a9960b2453e50d0d7/guake-3.7.0.tar.gz"
+MD5SUM="7934c9c214e25cbc706cd9a8e806becd"
DOWNLOAD_x86_64=""
MD5SUM_x86_64=""
-REQUIRES="pyxdg python-keybinder gnome-python2-gconf gnome-common"
-MAINTAINER="Donald Cooley"
-EMAIL="chytraeu@sdf.org"
+REQUIRES="libwnck3 vte3 python3 py3cairo dbus-python3 pygobject3-python3 pbr"
+MAINTAINER="Logan Rathbone"
+EMAIL="poprocks@gmail.com"
diff --git a/system/hddtemp/README b/system/hddtemp/README
index 7f3abd48b8..76b38fc83b 100644
--- a/system/hddtemp/README
+++ b/system/hddtemp/README
@@ -1,21 +1,5 @@
-hddtemp (reads hard disk S.M.A.R.T. info and reports temperature)
-
hddtemp is a small and daemonizable utility designed to read the
S.M.A.R.T. information from the given hard disk and report the
-temperature of the disk. Different hard disk manufacturers use
-different raw values in their S.M.A.R.T. data and the hddtemp.db file
-helps to map raw values to actual temperatures.
-
-http://www.guzu.net/linux/hddtemp.php
-https://savannah.nongnu.org/projects/hddtemp/
-
-The hddtemp.db file does not include more recent hard disks as the
-project does not appear to be maintained anymore. To resolve this,
-simply add your disk to the file manually. Run hddtemp on your drive
-to get the expected string and use the other entries in the file as
-templates to create a new one.
+temperature of the disk.
-Note that only a few hard disks actually differ from the 194C value so
-you can bet your disk will probably use that value too, but I
-recommend using older drives from the same manufacturer that are in the
-file as a guideline.
+Note: hddtemp does not support eMMC or NVMe devices.
diff --git a/system/hddtemp/README.Slackware b/system/hddtemp/README.Slackware
new file mode 100644
index 0000000000..7a68e8d36f
--- /dev/null
+++ b/system/hddtemp/README.Slackware
@@ -0,0 +1,27 @@
+To use hddtemp you need to do the following:
+
+First you must make sure hddtemp knows how to handle your disks. Run
+the command "hddtemp /dev/sdX" as root for each of your block devices.
+If it correctly reports HDD model and its temperature, you're all set.
+If instead you get a warning that the drive is not in the database, you
+have to add a record describing your device to /etc/hddtemp/hddtemp.db.
+Use the disk ID string returned by hddtemp in the first column. Most
+drives will use "194" and "C" in second and third columns, but check
+output of "smartctl" command to see if this is really the case for your
+disk. The last column is a free-form description of the device.
+
+Next, edit /etc/rc.d/rc.hddtemp and set HDDTEMP_DRIVES variable to a list
+of drives you want to monitor. Use the usual /dev/sdX block device files,
+or the symlinks available in /dev/disk/. Multiple entries must be separated
+with spaces. The remaining configuration variables are set to reasonable
+defaults, change them if it suits your needs.
+
+Finally, to start hddtemp automatically at boot, make /etc/rc.d/rc.hddtemp
+executable and add the following to your /etc/rc.d/rc.local:
+
+if [ -x /etc/rc.d/rc.hddtemp ]; then
+ . /etc/rc.d/rc.hddtemp start
+fi
+
+Once the hddtemp daemon is running you can use hddtemp-aware tools such as
+gkrellm or Conky to display the temperature readings.
diff --git a/system/hddtemp/doinst.sh b/system/hddtemp/doinst.sh
index 7f616013b7..822ea598b2 100644
--- a/system/hddtemp/doinst.sh
+++ b/system/hddtemp/doinst.sh
@@ -12,4 +12,5 @@ config() {
}
config etc/hddtemp/hddtemp.db.new
+config etc/rc.d/rc.hddtemp.new
diff --git a/system/hddtemp/hddtemp.SlackBuild b/system/hddtemp/hddtemp.SlackBuild
index a4a78fdfbf..bb6a139ca3 100644
--- a/system/hddtemp/hddtemp.SlackBuild
+++ b/system/hddtemp/hddtemp.SlackBuild
@@ -2,16 +2,35 @@
# Slackware build script for hddtemp
-# Written by Zordrak
-
-# Modified by SlackBuilds.org
+# Copyright 2010 Zordrak
+# Copyright 2010-2020 SlackBuilds.org
+# Copyright 2020 Dominik Drobek <dominik.drobek (at) o2.pl>
+# 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.
PRGNAM=hddtemp
-SRCVERSION=${SRCVERSION:-0.3-beta15}
-VERSION=$(echo $SRCVERSION | tr -d "-")
-BUILD=${BUILD:-2}
+VERSION=${VERSION:-0.3beta15}
+BUILD=${BUILD:-3}
TAG=${TAG:-_SBo}
+SRCVERSION="0.3-beta15"
+
if [ -z "$ARCH" ]; then
case "$( uname -m )" in
i?86) ARCH=i586 ;;
@@ -60,24 +79,27 @@ CFLAGS="$SLKCFLAGS" \
CXXFLAGS="$SLKCFLAGS" \
./configure \
--prefix=/usr \
- --libdir=/usr/lib$LIBDIRSUFFIX \
+ --libdir=/usr/lib${LIBDIRSUFFIX} \
+ --sysconfdir=/etc \
+ --localstatedir=/var \
+ --mandir=/usr/man \
--with-db-path=/etc/hddtemp/hddtemp.db \
--build=$ARCH-slackware-linux
make
make install DESTDIR=$PKG
+install -D -m 644 $CWD/hddtemp.db $PKG/etc/hddtemp/hddtemp.db.new
+install -D -m 644 $CWD/rc.hddtemp.new $PKG/etc/rc.d/rc.hddtemp.new
+
find $PKG -print0 | xargs -0 file | grep -e "executable" -e "shared object" | grep ELF \
| cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null || true
find $PKG/usr/man -type f -exec gzip -9 {} \;
for i in $( find $PKG/usr/man -type l ) ; do ln -s $( readlink $i ).gz $i.gz ; rm $i ; done
-mkdir -p $PKG/etc/hddtemp
-cp $CWD/hddtemp.db $PKG/etc/hddtemp/hddtemp.db.new
-
mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION
-cp -a ABOUT-NLS ChangeLog GPL-2 INSTALL README TODO COPYING LICENSE contribs \
+cp -a ABOUT-NLS ChangeLog GPL-2 INSTALL README TODO COPYING LICENSE contribs/ \
$PKG/usr/doc/$PRGNAM-$VERSION
cat $CWD/$PRGNAM.SlackBuild > $PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM.SlackBuild
diff --git a/system/hddtemp/hddtemp.info b/system/hddtemp/hddtemp.info
index 12ee74bdc8..3bdfd6cf6e 100644
--- a/system/hddtemp/hddtemp.info
+++ b/system/hddtemp/hddtemp.info
@@ -1,10 +1,10 @@
PRGNAM="hddtemp"
VERSION="0.3beta15"
HOMEPAGE="https://savannah.nongnu.org/projects/hddtemp/"
-DOWNLOAD="http://download.savannah.gnu.org/releases/hddtemp/hddtemp-0.3-beta15.tar.bz2"
+DOWNLOAD="https://download.savannah.gnu.org/releases/hddtemp/hddtemp-0.3-beta15.tar.bz2"
MD5SUM="8b829339e1ae9df701684ec239021bb8"
DOWNLOAD_x86_64=""
MD5SUM_x86_64=""
REQUIRES=""
-MAINTAINER="Zordrak"
-EMAIL="slackbuilds@tpa.me.uk"
+MAINTAINER="Dominik Drobek"
+EMAIL="dominik.drobek (at) o2.pl"
diff --git a/system/hddtemp/rc.hddtemp.new b/system/hddtemp/rc.hddtemp.new
new file mode 100644
index 0000000000..6532a95cde
--- /dev/null
+++ b/system/hddtemp/rc.hddtemp.new
@@ -0,0 +1,102 @@
+#!/bin/sh
+
+# Script to start/stop/restart the hddtemp daemon.
+# Copyright 2017, 2020 Dominik Drobek <dominik.drobek (at) o2.pl>
+# 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.
+
+
+# Configuration options for hddtemp:
+
+# HDDTEMP_DRIVES must contain a list of drives to monitor.
+# The daemon will not start without it.
+HDDTEMP_DRIVES=""
+
+# Listen host and port:
+HDDTEMP_LISTENHOST="--listen=localhost"
+HDDTEMP_PORT="--port=7634"
+
+# Additional options (man 8 hddtemp):
+#HDDTEMP_OPTIONS=""
+
+hddtemp_getpid() {
+ HDDTEMP_PID="$(pidof hddtemp 2> /dev/null)"
+}
+
+hddtemp_start() {
+ hddtemp_getpid
+ if [ -n "${HDDTEMP_PID}" ]; then
+ echo "hddtemp daemon is already running!"
+ exit
+ fi
+
+ if [ -x /usr/sbin/hddtemp ]; then
+ echo -n "Starting hddtemp daemon: "
+ /usr/sbin/hddtemp --daemon \
+ ${HDDTEMP_LISTENHOST} \
+ ${HDDTEMP_PORT} \
+ ${HDDTEMP_OPTIONS} \
+ ${HDDTEMP_DRIVES} &> /dev/null
+ fi
+
+ hddtemp_getpid
+ if [ -n "${HDDTEMP_PID}" ]; then
+ echo "success"
+ else
+ echo "failed!"
+ fi
+}
+
+hddtemp_stop() {
+ hddtemp_getpid
+ if [ -z "${HDDTEMP_PID}" ]; then
+ echo "hddtemp daemon is not running!"
+ exit
+ else
+ echo -n "Stopping hddtemp daemon: "
+ kill "${HDDTEMP_PID}" &> /dev/null
+ sleep 1
+ fi
+
+ hddtemp_getpid
+ if [ -z "${HDDTEMP_PID}" ]; then
+ echo "success"
+ else
+ echo "failed!"
+ fi
+}
+
+hddtemp_restart() {
+ hddtemp_stop
+ hddtemp_start
+}
+
+case "$1" in
+ "start")
+ hddtemp_start
+ ;;
+ "stop")
+ hddtemp_stop
+ ;;
+ "restart")
+ hddtemp_restart
+ ;;
+ *)
+ echo "usage: $0 start|stop|restart"
+esac
diff --git a/system/hddtemp/slack-desc b/system/hddtemp/slack-desc
index 64d06f1ae3..b2eba97204 100644
--- a/system/hddtemp/slack-desc
+++ b/system/hddtemp/slack-desc
@@ -10,10 +10,10 @@ hddtemp: hddtemp (reads hard disk S.M.A.R.T. info and reports temperature)
hddtemp:
hddtemp: hddtemp is a small and daemonizable utility designed to read the
hddtemp: S.M.A.R.T. information from the given hard disk and report the
-hddtemp: temperature of the disk. Different hard disk manufacturers use
-hddtemp: different raw values in their S.M.A.R.T. data and the hddtemp.db file
-hddtemp: helps to map raw values to actual temperatures.
+hddtemp: temperature of the disk.
+hddtemp:
+hddtemp: Homepage: https://savannah.nongnu.org/projects/hddtemp/
+hddtemp:
+hddtemp:
hddtemp:
-hddtemp: http://www.guzu.net/linux/hddtemp.php
-hddtemp: https://savannah.nongnu.org/projects/hddtemp/
hddtemp:
diff --git a/system/heartbeat/README b/system/heartbeat/README
new file mode 100644
index 0000000000..742f8f2af6
--- /dev/null
+++ b/system/heartbeat/README
@@ -0,0 +1,13 @@
+Linux-HA heartbeat
+
+Heartbeat is a daemon that provides cluster infrastructure (communication and
+membership) services to its clients. This allows clients to know about the
+presence (or disappearance!) of peer processes on other machines and to easily
+exchange messages with them.
+
+Heartbeat still comes with an integrated primitive resource
+manager, which basically is just a shell script. This is also
+referred to as "v1 style" or "haresources style" configuration.
+
+You might also want to install cluster-glue, heartbeat, resource-agents,
+fence-agents.
diff --git a/system/heartbeat/doinst.sh b/system/heartbeat/doinst.sh
new file mode 100644
index 0000000000..bdba1fdb05
--- /dev/null
+++ b/system/heartbeat/doinst.sh
@@ -0,0 +1,27 @@
+config() {
+ NEW="$1"
+ OLD="`dirname $NEW`/`basename $NEW .new`"
+ # If there's no config file by that name, mv it over:
+ if [ ! -r $OLD ]; then
+ mv $NEW $OLD
+ elif [ "`cat $OLD | md5sum`" = "`cat $NEW | md5sum`" ]; then # toss the redundant cop
+y
+ rm $NEW
+ fi
+ # Otherwise, we leave the .new copy for the admin to consider...
+}
+preserve_perms() {
+ NEW="$1"
+ OLD="$(dirname ${NEW})/$(basename ${NEW} .new)"
+ if [ -e ${OLD} ]; then
+ cp -a ${OLD} ${NEW}.incoming
+ cat ${NEW} > ${NEW}.incoming
+ mv ${NEW}.incoming ${NEW}
+ fi
+ config ${NEW}
+}
+
+config etc/ha.d/authkeys.new
+config etc/ha.d/ha.cf.new
+config etc/ha.d/haresources.new
+preserve_perms etc/init.d/heartbeat.new
diff --git a/system/heartbeat/heartbeat.SlackBuild b/system/heartbeat/heartbeat.SlackBuild
new file mode 100644
index 0000000000..1d481aeec7
--- /dev/null
+++ b/system/heartbeat/heartbeat.SlackBuild
@@ -0,0 +1,121 @@
+#!/bin/sh
+
+# Slackware build script for heartbeat
+
+# Copyright 2018 Pierre-Philipp Braun, Russia
+# 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.
+
+PRGNAM=heartbeat
+VERSION=${VERSION:-20200423}
+BUILD=${BUILD:-1}
+TAG=${TAG:-_SBo}
+
+if [ -z "$ARCH" ]; then
+ case "$( uname -m )" in
+ i?86) ARCH=i586 ;;
+ arm*) ARCH=arm ;;
+ *) ARCH=$( uname -m ) ;;
+ esac
+fi
+
+CWD=$(pwd)
+TMP=${TMP:-/tmp/SBo}
+PKG=$TMP/package-$PRGNAM
+OUTPUT=${OUTPUT:-/tmp}
+
+if [ "$ARCH" = "i586" ]; then
+ SLKCFLAGS="-O2 -march=i586 -mtune=i686"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "i686" ]; then
+ SLKCFLAGS="-O2 -march=i686 -mtune=i686"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "x86_64" ]; then
+ SLKCFLAGS="-O2 -fPIC"
+ LIBDIRSUFFIX="64"
+else
+ SLKCFLAGS="-O2"
+ LIBDIRSUFFIX=""
+fi
+
+set -e
+
+rm -rf $PKG
+mkdir -p $TMP $PKG $OUTPUT
+cd $TMP
+rm -rf $PRGNAM-$VERSION
+tar xvf $CWD/$PRGNAM-$VERSION.tar.gz
+cd $PRGNAM-$VERSION
+chown -R root:root .
+find -L . \
+ \( -perm 777 -o -perm 775 -o -perm 750 -o -perm 711 -o -perm 555 \
+ -o -perm 511 \) -exec chmod 755 {} \; -o \
+ \( -perm 666 -o -perm 664 -o -perm 640 -o -perm 600 -o -perm 444 \
+ -o -perm 440 -o -perm 400 \) -exec chmod 644 {} \;
+
+./bootstrap
+
+CFLAGS="$SLKCFLAGS" \
+CXXFLAGS="$SLKCFLAGS" \
+./configure \
+ --prefix=/usr \
+ --libdir=/usr/lib${LIBDIRSUFFIX} \
+ --sysconfdir=/etc \
+ --localstatedir=/var \
+ --mandir=/usr/man \
+ --docdir=/usr/doc/$PRGNAM-$VERSION \
+ --disable-dependency-tracking \
+ --build=$ARCH-slackware-linux \
+ --disable-rpath
+
+make
+make install DESTDIR=$PKG
+mv $PKG/etc/rc.d/init.d/heartbeat $PKG/etc/rc.d/init.d/heartbeat.new
+
+find $PKG -print0 | xargs -0 file | grep -e "executable" -e "shared object" | grep ELF \
+ | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null || true
+
+find $PKG/usr/man -type f -exec gzip -9 {} \;
+for i in $( find $PKG/usr/man -type l ) ; do ln -s $( readlink $i ).gz $i.gz ; rm $i ; done
+
+#/etc/init.d/heartbeat script is already deployed by make install
+
+#/etc/ha.d/ folder is already created by make install, adding sample configs
+cat doc/authkeys > $PKG/etc/ha.d/authkeys.new
+cat doc/ha.cf > $PKG/etc/ha.d/ha.cf.new
+cat doc/haresources > $PKG/etc/ha.d/haresources.new
+chmod 600 $PKG/etc/ha.d/authkeys.new
+
+mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION
+cp -a \
+ README \
+ $PKG/usr/doc/$PRGNAM-$VERSION/README.heartbeat
+doc=`find doc/ -type f | grep -vE '.([[:digit:]]|in|am|am.orig)$'`
+cp -a \
+ $doc \
+ $PKG/usr/doc/$PRGNAM-$VERSION
+unset doc
+cat $CWD/$PRGNAM.SlackBuild > $PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM.SlackBuild
+
+mkdir -p $PKG/install
+cat $CWD/slack-desc > $PKG/install/slack-desc
+cat $CWD/doinst.sh > $PKG/install/doinst.sh
+
+cd $PKG
+/sbin/makepkg -l y -c n $OUTPUT/$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.${PKGTYPE:-tgz}
diff --git a/system/heartbeat/heartbeat.info b/system/heartbeat/heartbeat.info
new file mode 100644
index 0000000000..a4160d6635
--- /dev/null
+++ b/system/heartbeat/heartbeat.info
@@ -0,0 +1,10 @@
+PRGNAM="heartbeat"
+VERSION="20200423"
+HOMEPAGE="https://github.com/pbraun9/heartbeat"
+DOWNLOAD="https://github.com/pbraun9/heartbeat/archive/20200423/heartbeat-20200423.tar.gz"
+MD5SUM="740fab2aea67f98e4c411af35dccec0b"
+DOWNLOAD_x86_64=""
+MD5SUM_x86_64=""
+REQUIRES="cluster-glue resource-agents"
+MAINTAINER="Pierre-Philipp Braun"
+EMAIL="pbraun@nethence.com"
diff --git a/system/heartbeat/slack-desc b/system/heartbeat/slack-desc
new file mode 100644
index 0000000000..9649a4fb6d
--- /dev/null
+++ b/system/heartbeat/slack-desc
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description.
+# Line up the first '|' above the ':' following the base package name, and
+# the '|' on the right side marks the last column you can put a character in.
+# You must make exactly 11 lines for the formatting to be correct. It's also
+# customary to leave one space after the ':' except on otherwise blank lines.
+
+ |-----handy-ruler------------------------------------------------------|
+heartbeat: heartbeat (Linux-HA heartbeat)
+heartbeat:
+heartbeat: Old school cluster infrastructure for GNU/Linux
+heartbeat: Allows you to avoid Corosync and even Pacemaker
+heartbeat:
+heartbeat: No CRMSH nor PCS required
+heartbeat:
+heartbeat: You might also want to install cluster-glue, heartbeat,
+heartbeat: resource-agents, fence-agents.
+heartbeat:
+heartbeat:
diff --git a/system/hexec/README b/system/hexec/README
new file mode 100644
index 0000000000..c073d38384
--- /dev/null
+++ b/system/hexec/README
@@ -0,0 +1,12 @@
+hexec (hook into exec calls)
+
+hexec can be used to hook into exec system calls. It evaluates a user
+defined expression against all hooked exec calls. This expression can
+contain simple path checks (e.g. -path "*/name") and even complex bash
+scripts.
+
+As an example: hexec -name ls -exec echo {} \; bash
+
+This will run a shell, but any time you try to run "ls", you'll run
+"echo" instead. The syntax is similar to "find"; see the man page for
+details.
diff --git a/system/hexec/hexec.SlackBuild b/system/hexec/hexec.SlackBuild
new file mode 100644
index 0000000000..eebdeeefcd
--- /dev/null
+++ b/system/hexec/hexec.SlackBuild
@@ -0,0 +1,82 @@
+#!/bin/sh
+
+# Slackware build script for hexec
+
+# Written by B. Watson (yalhcru@gmail.com)
+
+# Licensed under the WTFPL. See http://www.wtfpl.net/txt/copying/ for details.
+
+PRGNAM=hexec
+VERSION=${VERSION:-0.2.1}
+BUILD=${BUILD:-1}
+TAG=${TAG:-_SBo}
+
+if [ -z "$ARCH" ]; then
+ case "$( uname -m )" in
+ i?86) ARCH=i586 ;;
+ arm*) ARCH=arm ;;
+ *) ARCH=$( uname -m ) ;;
+ esac
+fi
+
+CWD=$(pwd)
+TMP=${TMP:-/tmp/SBo}
+PKG=$TMP/package-$PRGNAM
+OUTPUT=${OUTPUT:-/tmp}
+
+if [ "$ARCH" = "i586" ]; then
+ SLKCFLAGS="-O2 -march=i586 -mtune=i686"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "i686" ]; then
+ SLKCFLAGS="-O2 -march=i686 -mtune=i686"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "x86_64" ]; then
+ SLKCFLAGS="-O2 -fPIC"
+ LIBDIRSUFFIX="64"
+else
+ SLKCFLAGS="-O2"
+ LIBDIRSUFFIX=""
+fi
+
+set -e
+
+rm -rf $PKG
+mkdir -p $TMP $PKG $OUTPUT
+cd $TMP
+rm -rf $PRGNAM-$VERSION
+tar xvf $CWD/${PRGNAM}_$VERSION.orig.tar.gz
+cd $PRGNAM-$VERSION
+chown -R root:root .
+find -L . -perm /111 -a \! -perm 755 -a -exec chmod 755 {} \+ -o \
+ \! -perm /111 -a \! -perm 644 -a -exec chmod 644 {} \+
+
+# Why is this hardcoded in the configure script? It takes --libdir, but
+# doesn't use it for this...
+sed -i "s,/lib/$PRGNAM,/lib$LIBDIRSUFFIX/$PRGNAM," configure
+
+CFLAGS="$SLKCFLAGS" \
+CXXFLAGS="$SLKCFLAGS" \
+./configure \
+ --prefix=/usr \
+ --libdir=/usr/lib${LIBDIRSUFFIX} \
+ --sysconfdir=/etc \
+ --localstatedir=/var \
+ --mandir=/usr/man \
+ --docdir=/usr/doc/$PRGNAM-$VERSION \
+ --build=$ARCH-slackware-linux
+
+make
+make install-strip DESTDIR=$PKG
+gzip $PKG/usr/man/man?/*.?
+
+# NEWS and README are 0-byte placeholders. GNU thinks it can force
+# people to write documentation by requiring these files to exist...
+mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION
+cp -a AUTHORS COPYING ChangeLog $PKG/usr/doc/$PRGNAM-$VERSION
+cat $CWD/$PRGNAM.SlackBuild > $PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM.SlackBuild
+
+mkdir -p $PKG/install
+cat $CWD/slack-desc > $PKG/install/slack-desc
+
+cd $PKG
+/sbin/makepkg -l y -c n $OUTPUT/$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.${PKGTYPE:-tgz}
diff --git a/system/hexec/hexec.info b/system/hexec/hexec.info
new file mode 100644
index 0000000000..38aa37ca5f
--- /dev/null
+++ b/system/hexec/hexec.info
@@ -0,0 +1,10 @@
+PRGNAM="hexec"
+VERSION="0.2.1"
+HOMEPAGE="https://packages.debian.org/sid/hexec"
+DOWNLOAD="http://deb.debian.org/debian/pool/main/h/hexec/hexec_0.2.1.orig.tar.gz"
+MD5SUM="ceec7e57107efecf10d943137b0f5180"
+DOWNLOAD_x86_64=""
+MD5SUM_x86_64=""
+REQUIRES=""
+MAINTAINER="B. Watson"
+EMAIL="yalhcru@gmail.com"
diff --git a/system/isdct/slack-desc b/system/hexec/slack-desc
index 73fff8ac5d..ec51937b43 100644
--- a/system/isdct/slack-desc
+++ b/system/hexec/slack-desc
@@ -6,14 +6,14 @@
# customary to leave one space after the ':' except on otherwise blank lines.
|-----handy-ruler------------------------------------------------------|
-isdct: isdct (Intel SSD Data Center Tool)
-isdct:
-isdct: The isdct is a proprietary command-line tool to manage Intel SSD Data
-isdct: Center Family NVMe and SATA drives. It can be used to update SSD
-isdct: firmware, calculate drive life expectancy, analyse the SMART
-isdct: information, securely erase, and much more.
-isdct:
-isdct: Home page:
-isdct: https://downloadcenter.intel.com/download/28639?v=t
-isdct:
-isdct:
+hexec: hexec (hook into exec calls)
+hexec:
+hexec: hexec can be used to hook into exec system calls. It evaluates a user
+hexec: defined expression against all hooked exec calls. This expression can
+hexec: contain simple path checks (e.g. -path "*/name") and even complex bash
+hexec: scripts.
+hexec:
+hexec:
+hexec:
+hexec:
+hexec:
diff --git a/system/hstr/hstr.SlackBuild b/system/hstr/hstr.SlackBuild
index 9d085530d5..828c0f0156 100644
--- a/system/hstr/hstr.SlackBuild
+++ b/system/hstr/hstr.SlackBuild
@@ -2,7 +2,7 @@
# Slackware build script for hstr
-# Copyright 2014-2018 Zhu Qun-Ying
+# Copyright 2014-2019 Zhu Qun-Ying
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
@@ -23,7 +23,7 @@
# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
PRGNAM=hstr
-VERSION=${VERSION:-2.0}
+VERSION=${VERSION:-2.2}
BUILD=${BUILD:-1}
TAG=${TAG:-_SBo}
diff --git a/system/hstr/hstr.info b/system/hstr/hstr.info
index 0bc1d0bb7e..bf5af7b04b 100644
--- a/system/hstr/hstr.info
+++ b/system/hstr/hstr.info
@@ -1,8 +1,8 @@
PRGNAM="hstr"
-VERSION="2.0"
+VERSION="2.2"
HOMEPAGE="https://github.com/dvorka/hstr"
-DOWNLOAD="https://github.com/dvorka/hstr/archive/2.0/hstr-2.0.tar.gz"
-MD5SUM="e9f9db3b78624809bc0ce2e98d0b02c0"
+DOWNLOAD="https://github.com/dvorka/hstr/archive/2.2/hstr-2.2.tar.gz"
+MD5SUM="941138a88005e3e17a9f81c82fa2906d"
DOWNLOAD_x86_64=""
MD5SUM_x86_64=""
REQUIRES=""
diff --git a/system/hwinfo/hwinfo.SlackBuild b/system/hwinfo/hwinfo.SlackBuild
index 024f29b518..7a37308f60 100644
--- a/system/hwinfo/hwinfo.SlackBuild
+++ b/system/hwinfo/hwinfo.SlackBuild
@@ -23,7 +23,7 @@
# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
PRGNAM=hwinfo
-VERSION=${VERSION:-21.46}
+VERSION=${VERSION:-21.67}
BUILD=${BUILD:-1}
TAG=${TAG:-_SBo}
diff --git a/system/hwinfo/hwinfo.info b/system/hwinfo/hwinfo.info
index c036245d50..99120953c1 100644
--- a/system/hwinfo/hwinfo.info
+++ b/system/hwinfo/hwinfo.info
@@ -1,8 +1,8 @@
PRGNAM="hwinfo"
-VERSION="21.46"
+VERSION="21.67"
HOMEPAGE="https://github.com/openSUSE/hwinfo"
-DOWNLOAD="https://github.com/openSUSE/hwinfo/archive/21.46/hwinfo-21.46.tar.gz"
-MD5SUM="954df2a0f2e3b70ac8163b531a24c3d2"
+DOWNLOAD="https://github.com/openSUSE/hwinfo/archive/21.67/hwinfo-21.67.tar.gz"
+MD5SUM="afe2085d9b2da9af02d445bd5f5ae965"
DOWNLOAD_x86_64=""
MD5SUM_x86_64=""
REQUIRES="libx86emu"
diff --git a/system/hwloc/hwloc.SlackBuild b/system/hwloc/hwloc.SlackBuild
index 78c7ab75d2..b211bc01cf 100644
--- a/system/hwloc/hwloc.SlackBuild
+++ b/system/hwloc/hwloc.SlackBuild
@@ -5,7 +5,7 @@
# Written by Wainamoinen <wainamoinen@gmail.com>
PRGNAM=hwloc
-VERSION=${VERSION:-1.11.0}
+VERSION=${VERSION:-2.2.0}
BUILD=${BUILD:-1}
TAG=${TAG:-_SBo}
@@ -61,7 +61,8 @@ CXXFLAGS="$SLKCFLAGS" \
--mandir=/usr/man \
--docdir=/usr/doc/$PRGNAM-$VERSION \
--build=$ARCH-slackware-linux \
- --disable-debug
+ --disable-debug \
+ --enable-netloc
make
make install DESTDIR=$PKG
diff --git a/system/hwloc/hwloc.info b/system/hwloc/hwloc.info
index 721c066639..59ce0ab8e4 100644
--- a/system/hwloc/hwloc.info
+++ b/system/hwloc/hwloc.info
@@ -1,8 +1,8 @@
PRGNAM="hwloc"
-VERSION="1.11.0"
-HOMEPAGE="http://www.open-mpi.org/projects/hwloc/"
-DOWNLOAD="http://www.open-mpi.org/software/hwloc/v1.11/downloads/hwloc-1.11.0.tar.bz2"
-MD5SUM="27988d3e904cce5d5d0a8793a727d17b"
+VERSION="2.2.0"
+HOMEPAGE="https://www.open-mpi.org/projects/hwloc/"
+DOWNLOAD="https://download.open-mpi.org/release/hwloc/v2.2/hwloc-2.2.0.tar.bz2"
+MD5SUM="5247ba4c1c63623c9285425552df5d92"
DOWNLOAD_x86_64=""
MD5SUM_x86_64=""
REQUIRES=""
diff --git a/system/ifuse/ifuse.SlackBuild b/system/ifuse/ifuse.SlackBuild
index a5c9c415cc..03aecf9f2d 100644
--- a/system/ifuse/ifuse.SlackBuild
+++ b/system/ifuse/ifuse.SlackBuild
@@ -27,13 +27,13 @@
# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
PRGNAM=ifuse
-VERSION=${VERSION:-1.1.3}
+VERSION=${VERSION:-1.1.4}
BUILD=${BUILD:-1}
TAG=${TAG:-_SBo}
if [ -z "$ARCH" ]; then
case "$( uname -m )" in
- i?86) ARCH=i486 ;;
+ i?86) ARCH=i586 ;;
arm*) ARCH=arm ;;
*) ARCH=$( uname -m ) ;;
esac
@@ -44,8 +44,8 @@ TMP=${TMP:-/tmp/SBo}
PKG=$TMP/package-$PRGNAM
OUTPUT=${OUTPUT:-/tmp}
-if [ "$ARCH" = "i486" ]; then
- SLKCFLAGS="-O2 -march=i486 -mtune=i686"
+if [ "$ARCH" = "i586" ]; then
+ SLKCFLAGS="-O2 -march=i586 -mtune=i686"
LIBDIRSUFFIX=""
elif [ "$ARCH" = "i686" ]; then
SLKCFLAGS="-O2 -march=i686 -mtune=i686"
@@ -68,10 +68,10 @@ tar xvf $CWD/$PRGNAM-$VERSION.tar.bz2
cd $PRGNAM-$VERSION
chown -R root:root .
find -L . \
- \( -perm 777 -o -perm 775 -o -perm 750 -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 {} \;
+ \( -perm 777 -o -perm 775 -o -perm 750 -o -perm 711 -o -perm 555 \
+ -o -perm 511 \) -exec chmod 755 {} \; -o \
+ \( -perm 666 -o -perm 664 -o -perm 640 -o -perm 600 -o -perm 444 \
+ -o -perm 440 -o -perm 400 \) -exec chmod 644 {} \;
CFLAGS="$SLKCFLAGS" \
CXXFLAGS="$SLKCFLAGS" \
@@ -87,7 +87,7 @@ CXXFLAGS="$SLKCFLAGS" \
make
make install DESTDIR=$PKG
-find $PKG | xargs file | grep -e "executable" -e "shared object" | grep ELF \
+find $PKG -print0 | xargs -0 file | grep -e "executable" -e "shared object" | grep ELF \
| cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null || true
find $PKG/usr/man -type f -exec gzip -9 {} \;
@@ -95,7 +95,7 @@ for i in $( find $PKG/usr/man -type l ) ; do ln -s $( readlink $i ).gz $i.gz ; r
mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION
cp -a \
- COPYING* README AUTHORS \
+ COPYING* README* AUTHORS \
$PKG/usr/doc/$PRGNAM-$VERSION
cat $CWD/$PRGNAM.SlackBuild > $PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM.SlackBuild
diff --git a/system/ifuse/ifuse.info b/system/ifuse/ifuse.info
index 70d5c564d6..9270966ce9 100644
--- a/system/ifuse/ifuse.info
+++ b/system/ifuse/ifuse.info
@@ -1,8 +1,8 @@
PRGNAM="ifuse"
-VERSION="1.1.3"
+VERSION="1.1.4"
HOMEPAGE="http://www.libimobiledevice.org"
-DOWNLOAD="http://www.libimobiledevice.org/downloads/ifuse-1.1.3.tar.bz2"
-MD5SUM="83478c7b531b26db286c293bb25bd917"
+DOWNLOAD="https://github.com/libimobiledevice/ifuse/releases/download/1.1.4/ifuse-1.1.4.tar.bz2"
+MD5SUM="cd31fbd0ea945b2ff1e39eac8d198fdd"
DOWNLOAD_x86_64=""
MD5SUM_x86_64=""
REQUIRES=""
diff --git a/system/image-analyzer/image-analyzer.SlackBuild b/system/image-analyzer/image-analyzer.SlackBuild
index 71a4be7c95..80ca5eed06 100644
--- a/system/image-analyzer/image-analyzer.SlackBuild
+++ b/system/image-analyzer/image-analyzer.SlackBuild
@@ -4,7 +4,7 @@
# Application to display tree structure of disc images
# Copyright 2010-2013 Niels Horn, Rio de Janeiro, RJ, Brazil <niels.horn@gmail.com>
-# Copyright 2018 Isaac Yu <isaacyu1@isaacyu1.com>
+# Copyright 2018-2020 Isaac Yu <isaacyu1@isaacyu1.com>
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
@@ -25,7 +25,7 @@
# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
PRGNAM=image-analyzer
-VERSION=${VERSION:-3.2.0}
+VERSION=${VERSION:-3.2.4}
BUILD=${BUILD:-1}
TAG=${TAG:-_SBo}
diff --git a/system/image-analyzer/image-analyzer.info b/system/image-analyzer/image-analyzer.info
index 942e0e60a8..4c8c475f3d 100644
--- a/system/image-analyzer/image-analyzer.info
+++ b/system/image-analyzer/image-analyzer.info
@@ -1,10 +1,10 @@
PRGNAM="image-analyzer"
-VERSION="3.2.0"
-HOMEPAGE="http://cdemu.sourceforge.net/about/analyzer/"
-DOWNLOAD="http://downloads.sourceforge.net/cdemu/image-analyzer-3.2.0.tar.bz2"
-MD5SUM="2cb747a9f2fed0e0dabceaecc0ad36aa"
+VERSION="3.2.4"
+HOMEPAGE="https://cdemu.sourceforge.net/about/analyzer/"
+DOWNLOAD="https://downloads.sourceforge.net/cdemu/image-analyzer-3.2.4.tar.bz2"
+MD5SUM="ae7cb81e5909805bf96ce9dfa3ad1328"
DOWNLOAD_x86_64=""
MD5SUM_x86_64=""
-REQUIRES="libmirage pygobject3-python3 python3-matplotlib"
+REQUIRES="libmirage pygobject3-python3 cairocffi python3-matplotlib"
MAINTAINER="Isaac Yu"
EMAIL="isaacyu1@isaacyu1.com"
diff --git a/system/imwheel/imwheel.SlackBuild b/system/imwheel/imwheel.SlackBuild
index 5c5dce1a82..5a0bb83416 100644
--- a/system/imwheel/imwheel.SlackBuild
+++ b/system/imwheel/imwheel.SlackBuild
@@ -2,7 +2,7 @@
# Slackware build script for imwheel
-# Copyright 2009 David Woodfall <dave@dawoodfall.net>
+# Copyright 2009 David Woodfall <dave@slackbuilds.org>
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
diff --git a/system/imwheel/imwheel.info b/system/imwheel/imwheel.info
index a9486f42d9..bad400108c 100644
--- a/system/imwheel/imwheel.info
+++ b/system/imwheel/imwheel.info
@@ -7,4 +7,4 @@ DOWNLOAD_x86_64=""
MD5SUM_x86_64=""
REQUIRES=""
MAINTAINER="David Woodfall"
-EMAIL="dave@dawoodfall.net"
+EMAIL="dave@slackbuilds.org"
diff --git a/system/info2man/README b/system/info2man/README
index 7573dd917c..2cc5940532 100644
--- a/system/info2man/README
+++ b/system/info2man/README
@@ -2,4 +2,4 @@ info2man (convert GNU info files into man pages)
info2pod converts GNU info data to POD format for easy transcription to
various formats like HTML. info2man is a wrapper for info2pod to convert
-info files into nroff -man format.
+info files into nroff/man format.
diff --git a/system/info2man/flush.pl b/system/info2man/flush.pl
deleted file mode 100644
index 8aa6d5580c..0000000000
--- a/system/info2man/flush.pl
+++ /dev/null
@@ -1,32 +0,0 @@
-#
-# This library is no longer being maintained, and is included for backward
-# compatibility with Perl 4 programs which may require it.
-#
-# In particular, this should not be used as an example of modern Perl
-# programming techniques.
-#
-# Suggested alternative: IO::Handle
-#
-;# Usage: &flush(FILEHANDLE)
-;# flushes the named filehandle
-
-;# Usage: &printflush(FILEHANDLE, "prompt: ")
-;# prints arguments and flushes filehandle
-
-sub flush {
- local($old) = select(shift);
- $| = 1;
- print "";
- $| = 0;
- select($old);
-}
-
-sub printflush {
- local($old) = select(shift);
- $| = 1;
- print @_;
- $| = 0;
- select($old);
-}
-
-1;
diff --git a/system/info2man/info2man.SlackBuild b/system/info2man/info2man.SlackBuild
index 385cfd6ff8..54c56d52ca 100644
--- a/system/info2man/info2man.SlackBuild
+++ b/system/info2man/info2man.SlackBuild
@@ -6,8 +6,7 @@
# Licensed under the WTFPL. See http://www.wtfpl.net/txt/copying/ for details.
-# The version number below is the modification time of the newest file
-# in the source tarball.
+# 20201102 bkw: update for v1.1_9 (debian's 1.1-9)
# 20140907 bkw: original site blocks downloads based on user-agent. Host
# the src on my own server. Only the .info file changed, not the script, so
@@ -15,7 +14,7 @@
# Original download link: http://www.cskk.ezoshosting.com/cs/css/info2man.tar.gz
PRGNAM=info2man
-VERSION=${VERSION:-20040717}
+VERSION=${VERSION:-1.1_9}
ARCH=noarch
BUILD=${BUILD:-1}
TAG=${TAG:-_SBo}
@@ -27,36 +26,46 @@ OUTPUT=${OUTPUT:-/tmp}
set -e
+# Trying to teach myself to use bash string stuff instead of echoing
+# to 'cut' or whatever. But this is really hard to remember and read:
+SRCVER=${VERSION%%_*}
+DEBVER=${VERSION##*_}
+
PERLMODDIR=/usr/share/info2pod
rm -rf $PKG
mkdir -p $TMP $PKG $OUTPUT
cd $TMP
-rm -rf $PRGNAM-$VERSION
-mkdir -p $PRGNAM-$VERSION
-cd $PRGNAM-$VERSION
-tar xvf $CWD/$PRGNAM.tar.gz
+rm -rf $PRGNAM-$SRCVER
+tar xvf $CWD/${PRGNAM}_${SRCVER}.orig.tar.gz
+cd $PRGNAM-$SRCVER
+tar xvf $CWD/${PRGNAM}_${SRCVER}-${DEBVER}.debian.tar.xz
chown -R root:root .
-find -L . \
- \( -perm 777 -o -perm 775 -o -perm 750 -o -perm 711 -o -perm 555 \
- -o -perm 511 \) -exec chmod 755 {} \; -o \
- \( -perm 666 -o -perm 664 -o -perm 640 -o -perm 600 -o -perm 444 \
- -o -perm 440 -o -perm 400 \) -exec chmod 644 {} \;
+find -L . -perm /111 -a \! -perm 755 -a -exec chmod 755 {} \+ -o \
+ \! -perm /111 -a \! -perm 644 -a -exec chmod 644 {} \+
+
+# Apply debian patches
+for i in $( cat debian/patches/series); do
+ patch -p1 < debian/patches/$i
+done
-# make the script use its own private perl module dir, so we don't
+# Make the script use its own private perl module dir, so we don't
# pollute /usr/lib/perl5.
sed -i -e '2iuse lib "'$PERLMODDIR'";' info2pod
-# this uses an ancient Perl 4 module called flush.pl. The damn thing is less
-# than 1KB in size, so I included it in the SlackBuild tarball. It came from
-# here: http://www.opensource.apple.com/source/perl/perl-21/perl/lib/flush.pl
-
mkdir -p $PKG/usr/bin $PKG/$PERLMODDIR
install -m0755 -oroot -groot $PRGNAM $PKG/usr/bin
install -m0755 -oroot -groot info2pod $PKG/usr/bin
-install -m0644 -oroot -groot $CWD/flush.pl $PKG/$PERLMODDIR
cp -r cs $PKG/$PERLMODDIR/cs
+# Include debian's man pages
+mkdir -p $PKG/usr/man/man1
+gzip -9c < debian/$PRGNAM.1 > $PKG/usr/man/man1/$PRGNAM.1.gz
+gzip -9c < debian/info2pod.1 > $PKG/usr/man/man1/info2pod.1.gz
+
+# 1.1_9 has 0README.txt, but it's mostly install instructions,
+# plus a bunch of cruft culled from the original author's other
+# projects. Don't bother.
mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION
cat $CWD/README > $PKG/usr/doc/$PRGNAM-$VERSION/README
cat $CWD/$PRGNAM.SlackBuild > $PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM.SlackBuild
diff --git a/system/info2man/info2man.info b/system/info2man/info2man.info
index 4a3734703d..d2349216cc 100644
--- a/system/info2man/info2man.info
+++ b/system/info2man/info2man.info
@@ -1,8 +1,10 @@
PRGNAM="info2man"
-VERSION="20040717"
+VERSION="1.1_9"
HOMEPAGE="https://packages.debian.org/sid/info2man"
-DOWNLOAD="http://urchlay.naptime.net/~urchlay/src/info2man.tar.gz"
-MD5SUM="303b9bf313e88558ff577806398f6c4c"
+DOWNLOAD="http://deb.debian.org/debian/pool/main/i/info2man/info2man_1.1.orig.tar.gz \
+ http://deb.debian.org/debian/pool/main/i/info2man/info2man_1.1-9.debian.tar.xz"
+MD5SUM="37e9cd74683e1832a4f27ad5c7961a7b \
+ 0610fec52815b003df8732d3ab21f0f5"
DOWNLOAD_x86_64=""
MD5SUM_x86_64=""
REQUIRES=""
diff --git a/system/info2man/slack-desc b/system/info2man/slack-desc
index c70b27f087..4ba295af51 100644
--- a/system/info2man/slack-desc
+++ b/system/info2man/slack-desc
@@ -10,7 +10,7 @@ info2man: info2man (convert GNU info files into man pages)
info2man:
info2man: info2pod converts GNU info data to POD format for easy transcription
info2man: to various formats like HTML. info2man is a wrapper for info2pod to
-info2man: convert info files into nroff -man format.
+info2man: convert info files into nroff/man format.
info2man:
info2man:
info2man:
diff --git a/system/intel-microcode/README b/system/intel-microcode/README
index 549d53c700..5fde6323b9 100644
--- a/system/intel-microcode/README
+++ b/system/intel-microcode/README
@@ -43,3 +43,20 @@ NOTES:
To include these special microcodes files, run the script like that:
$ INCLUDE_UCODE_WITH_CAVEATS=yes ./intel-microcode.SlackBuild
+
+5. I updated the package and my microcode has been reverted to
+ the older revision. What is wrong? What should I do?
+
+ As noted by Ed on Slackbuilds-users mailing list:
+ https://lists.slackbuilds.org/pipermail/slackbuilds-users/2020-April/024262.html
+
+ Intel has removed microcode updates for some older CPUs.
+ The updates are no longer present in the tarball officially
+ released by Intel.
+
+ If you find yourself in this situation, you can either stick
+ to the older version of the package that works for you or you can
+ let me know and I might include that particular microcode in
+ the package. In the latter case, you'll need to provide me with
+ the details on the exact microcode file in question, specifically
+ by providing the exact file name, for example `06-0b-04`.
diff --git a/system/intel-microcode/intel-microcode.SlackBuild b/system/intel-microcode/intel-microcode.SlackBuild
index aa114b9225..a2e6cacf9d 100644
--- a/system/intel-microcode/intel-microcode.SlackBuild
+++ b/system/intel-microcode/intel-microcode.SlackBuild
@@ -2,7 +2,7 @@
# Slackware build script for intel-microcode
-# Copyright 2019 Andrzej Telszewski, Szczecin
+# Copyright 2021 Andrzej Telszewski, Szczecin
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
@@ -24,7 +24,7 @@
PRGNAM=intel-microcode
SRCNAM=Intel-Linux-Processor-Microcode-Data-Files-microcode
-VERSION=${VERSION:-20190618}
+VERSION=${VERSION:-20210216}
BUILD=${BUILD:-1}
TAG=${TAG:-_SBo}
ARCH=noarch
@@ -62,6 +62,7 @@ fi
# The "list" file is not always present in the upstream tarball.
# For consistency, let's ensure it's never present in the package.
+
rm -rf $PKG/lib/firmware/intel-ucode/list
mkdir -p $PKG/boot
@@ -70,8 +71,7 @@ iucode_tool -v --write-earlyfw=$PKG/boot/intel-ucode.cpio \
mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION
cat $CWD/$PRGNAM.SlackBuild > $PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM.SlackBuild
-cat license > $PKG/usr/doc/$PRGNAM-$VERSION/LICENSE
-cat releasenote > $PKG/usr/doc/$PRGNAM-$VERSION/RELEASE_NOTE
+cp -a license {README,releasenote,security}.md $PKG/usr/doc/$PRGNAM-$VERSION
mkdir -p $PKG/install
cat $CWD/slack-desc > $PKG/install/slack-desc
diff --git a/system/intel-microcode/intel-microcode.info b/system/intel-microcode/intel-microcode.info
index e75e87c7c7..9d177df889 100644
--- a/system/intel-microcode/intel-microcode.info
+++ b/system/intel-microcode/intel-microcode.info
@@ -1,10 +1,10 @@
PRGNAM="intel-microcode"
-VERSION="20190618"
+VERSION="20210216"
HOMEPAGE="https://github.com/intel/Intel-Linux-Processor-Microcode-Data-Files"
-DOWNLOAD="https://github.com/intel/Intel-Linux-Processor-Microcode-Data-Files/archive/microcode-20190618/Intel-Linux-Processor-Microcode-Data-Files-microcode-20190618.tar.gz"
-MD5SUM="76a236e836ccb6658996ae9c1a7c1b2c"
+DOWNLOAD="https://github.com/intel/Intel-Linux-Processor-Microcode-Data-Files/archive/microcode-20210216/Intel-Linux-Processor-Microcode-Data-Files-microcode-20210216.tar.gz"
+MD5SUM="855253d4543a4cf0a40c7fb733c4dcae"
DOWNLOAD_x86_64=""
MD5SUM_x86_64=""
REQUIRES="iucode_tool"
MAINTAINER="Andrzej Telszewski"
-EMAIL="atelszewski@gmail.com"
+EMAIL="andrzej@telszewski.com"
diff --git a/system/intelmas/README b/system/intelmas/README
new file mode 100644
index 0000000000..2b3a4f8d60
--- /dev/null
+++ b/system/intelmas/README
@@ -0,0 +1,13 @@
+intelmas (Intel Memory And Storage Tool)
+
+The intelmas is a proprietary command-line tool to manage Intel SSDs and
+Optane memory devices. It provides firmware update capability as well as
+reading and setting many configuration settings.
+
+The intelmas unifies functionality of several Intel programs including
+the isdct (Intel SSD Data Center Tool), which was previously available
+on SBo. The intelmas is a drop-in replacement for the isdct.
+
+To work with SATA drives intelmas requires the sg kernel module. To have
+this module loaded on boot, please uncomment the corresponding line in
+/etc/rc.d/rc.modules.local
diff --git a/system/isdct/isdct.SlackBuild b/system/intelmas/intelmas.SlackBuild
index 439f3947a7..1f385966c1 100644
--- a/system/isdct/isdct.SlackBuild
+++ b/system/intelmas/intelmas.SlackBuild
@@ -1,8 +1,8 @@
#!/bin/sh
-# Slackware build script for isdct
+# Slackware build script for intelmas
-# Copyright 2016-2019, Alexander Verbovetsky, Moscow, Russia
+# Copyright 2020-2021, Alexander Verbovetsky, Moscow, Russia
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
@@ -22,8 +22,8 @@
# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-PRGNAM=isdct
-VERSION=${VERSION:-3.0.22}
+PRGNAM=intelmas
+VERSION=${VERSION:-1.7}
BUILD=${BUILD:-1}
TAG=${TAG:-_SBo}
@@ -38,7 +38,7 @@ fi
case "$ARCH" in
i?86) RPMARCH=i386 ;;
x86_64) RPMARCH=x86_64 ;;
- *) printf "\n$ARCH is unsupported for the Intel SSD Data Center Tool.\n\n"
+ *) printf "\n$ARCH is unsupported for the Intel Memory And Storage Tool.\n\n"
exit 1 ;;
esac
@@ -56,8 +56,8 @@ rm -rf $PRGNAM-$VERSION
mkdir -p $PRGNAM-$VERSION
cd $PRGNAM-$VERSION
-unzip $CWD/Intel_SSD_Data_Center_Tool_${VERSION}*Linux*.zip
-rpm2cpio isdct-${VERSION}*.$RPMARCH.rpm | cpio -imdv
+unzip "$CWD/Intel*MAS_CLI_Tool_*Linux*.zip"
+rpm2cpio intelmas-${VERSION}*.$RPMARCH.rpm | cpio -imdv
chown -R root:root .
find -L . \
diff --git a/system/intelmas/intelmas.info b/system/intelmas/intelmas.info
new file mode 100644
index 0000000000..3fe80dd80c
--- /dev/null
+++ b/system/intelmas/intelmas.info
@@ -0,0 +1,10 @@
+PRGNAM="intelmas"
+VERSION="1.7"
+HOMEPAGE="https://downloadcenter.intel.com/download/30379"
+DOWNLOAD="https://downloadmirror.intel.com/30379/eng/Intel%C2%AE_MAS_CLI_Tool_Linux_1.7.zip"
+MD5SUM="c07beb6b400ae2bf583c5b9fdbbb1bd3"
+DOWNLOAD_x86_64=""
+MD5SUM_x86_64=""
+REQUIRES=""
+MAINTAINER="Alexander Verbovetsky"
+EMAIL="alik@ejik.org"
diff --git a/system/intelmas/slack-desc b/system/intelmas/slack-desc
new file mode 100644
index 0000000000..8591c17410
--- /dev/null
+++ b/system/intelmas/slack-desc
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description.
+# Line up the first '|' above the ':' following the base package name, and
+# the '|' on the right side marks the last column you can put a character in.
+# You must make exactly 11 lines for the formatting to be correct. It's also
+# customary to leave one space after the ':' except on otherwise blank lines.
+
+ |-----handy-ruler------------------------------------------------------|
+intelmas: intelmas (Intel Memory And Storage Tool)
+intelmas:
+intelmas: The intelmas is a proprietary command-line tool to manage Intel SSDs
+intelmas: and Optane memory devices. It provides firmware update capability as
+intelmas: well as reading and setting many configuration settings.
+intelmas:
+intelmas:
+intelmas: Homepage: https://downloadcenter.intel.com/download/30379
+intelmas:
+intelmas:
+intelmas:
diff --git a/system/inxi/inxi.SlackBuild b/system/inxi/inxi.SlackBuild
index 355cad78b8..5bfc28111a 100644
--- a/system/inxi/inxi.SlackBuild
+++ b/system/inxi/inxi.SlackBuild
@@ -24,7 +24,7 @@
# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
PRGNAM=inxi
-VERSION=${VERSION:-3.0.36}
+VERSION=${VERSION:-3.0.37}
BUILD=${BUILD:-1}
TAG=${TAG:-_SBo}
diff --git a/system/inxi/inxi.info b/system/inxi/inxi.info
index ae221685bc..e4a15bf195 100644
--- a/system/inxi/inxi.info
+++ b/system/inxi/inxi.info
@@ -1,8 +1,8 @@
PRGNAM="inxi"
-VERSION="3.0.36"
+VERSION="3.0.37"
HOMEPAGE="https://github.com/smxi/inxi"
-DOWNLOAD="https://github.com/smxi/inxi/archive/3.0.36-1.tar.gz"
-MD5SUM="6b0d92679cb12d667b8bc9b21bff0057"
+DOWNLOAD="https://github.com/smxi/inxi/archive/3.0.37-1.tar.gz"
+MD5SUM="672437de389fecd2ce807f9a36793576"
DOWNLOAD_x86_64=""
MD5SUM_x86_64=""
REQUIRES=""
diff --git a/system/ipmitool/ipmitool-openssl-1.1.patch b/system/ipmitool/ipmitool-openssl-1.1.patch
new file mode 100644
index 0000000000..39b311f6e9
--- /dev/null
+++ b/system/ipmitool/ipmitool-openssl-1.1.patch
@@ -0,0 +1,88 @@
+--- src/plugins/lanplus/lanplus_crypt_impl.c.orig 2020-01-05 20:05:14.536039135 +0100
++++ src/plugins/lanplus/lanplus_crypt_impl.c 2020-01-05 20:09:48.808613128 +0100
+@@ -164,10 +164,10 @@
+ uint8_t * output,
+ uint32_t * bytes_written)
+ {
+- EVP_CIPHER_CTX ctx;
+- EVP_CIPHER_CTX_init(&ctx);
+- EVP_EncryptInit_ex(&ctx, EVP_aes_128_cbc(), NULL, key, iv);
+- EVP_CIPHER_CTX_set_padding(&ctx, 0);
++ EVP_CIPHER_CTX *ctx = EVP_CIPHER_CTX_new();
++ EVP_CIPHER_CTX_init(ctx);
++ EVP_EncryptInit_ex(ctx, EVP_aes_128_cbc(), NULL, key, iv);
++ EVP_CIPHER_CTX_set_padding(ctx, 0);
+
+
+ *bytes_written = 0;
+@@ -191,7 +191,7 @@
+ assert((input_length % IPMI_CRYPT_AES_CBC_128_BLOCK_SIZE) == 0);
+
+
+- if(!EVP_EncryptUpdate(&ctx, output, (int *)bytes_written, input, input_length))
++ if(!EVP_EncryptUpdate(ctx, output, (int *)bytes_written, input, input_length))
+ {
+ /* Error */
+ *bytes_written = 0;
+@@ -201,7 +201,7 @@
+ {
+ uint32_t tmplen;
+
+- if(!EVP_EncryptFinal_ex(&ctx, output + *bytes_written, (int *)&tmplen))
++ if(!EVP_EncryptFinal_ex(ctx, output + *bytes_written, (int *)&tmplen))
+ {
+ *bytes_written = 0;
+ return; /* Error */
+@@ -210,7 +210,8 @@
+ {
+ /* Success */
+ *bytes_written += tmplen;
+- EVP_CIPHER_CTX_cleanup(&ctx);
++ EVP_CIPHER_CTX_cleanup(ctx);
++ EVP_CIPHER_CTX_free(ctx);
+ }
+ }
+ }
+@@ -239,10 +240,10 @@
+ uint8_t * output,
+ uint32_t * bytes_written)
+ {
+- EVP_CIPHER_CTX ctx;
+- EVP_CIPHER_CTX_init(&ctx);
+- EVP_DecryptInit_ex(&ctx, EVP_aes_128_cbc(), NULL, key, iv);
+- EVP_CIPHER_CTX_set_padding(&ctx, 0);
++ EVP_CIPHER_CTX *ctx = EVP_CIPHER_CTX_new();
++ EVP_CIPHER_CTX_init(ctx);
++ EVP_DecryptInit_ex(ctx, EVP_aes_128_cbc(), NULL, key, iv);
++ EVP_CIPHER_CTX_set_padding(ctx, 0);
+
+
+ if (verbose >= 5)
+@@ -266,7 +267,7 @@
+ assert((input_length % IPMI_CRYPT_AES_CBC_128_BLOCK_SIZE) == 0);
+
+
+- if (!EVP_DecryptUpdate(&ctx, output, (int *)bytes_written, input, input_length))
++ if (!EVP_DecryptUpdate(ctx, output, (int *)bytes_written, input, input_length))
+ {
+ /* Error */
+ lprintf(LOG_DEBUG, "ERROR: decrypt update failed");
+@@ -277,7 +278,7 @@
+ {
+ uint32_t tmplen;
+
+- if (!EVP_DecryptFinal_ex(&ctx, output + *bytes_written, (int *)&tmplen))
++ if (!EVP_DecryptFinal_ex(ctx, output + *bytes_written, (int *)&tmplen))
+ {
+ char buffer[1000];
+ ERR_error_string(ERR_get_error(), buffer);
+@@ -290,7 +291,8 @@
+ {
+ /* Success */
+ *bytes_written += tmplen;
+- EVP_CIPHER_CTX_cleanup(&ctx);
++ EVP_CIPHER_CTX_cleanup(ctx);
++ EVP_CIPHER_CTX_free(ctx);
+ }
+ }
+
diff --git a/system/ipmitool/ipmitool.SlackBuild b/system/ipmitool/ipmitool.SlackBuild
index b632d54ce8..40fadb21fd 100644
--- a/system/ipmitool/ipmitool.SlackBuild
+++ b/system/ipmitool/ipmitool.SlackBuild
@@ -9,9 +9,10 @@
# Based on http://slackbuilds.org/template.SlackBuild
# Modified by Mario Preksavec <mario@slackware.hr>
+# Updated by Emmanuel N. Millan
PRGNAM=ipmitool
-VERSION=${VERSION:-1.8.13}
+VERSION=${VERSION:-1.8.18}
BUILD=${BUILD:-1}
TAG=${TAG:-_SBo}
@@ -48,7 +49,7 @@ rm -rf $PKG
mkdir -p $TMP $PKG $OUTPUT
cd $TMP
rm -rf $PRGNAM-$VERSION
-tar xvf $CWD/$PRGNAM-$VERSION.tar.gz
+tar xvf $CWD/$PRGNAM-$VERSION.tar.bz2
cd $PRGNAM-$VERSION
chown -R root:root .
find -L . \
@@ -57,30 +58,29 @@ find -L . \
\( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \
-exec chmod 644 {} \;
+# Fix compilation with openssl-1.1
+[ "`openssl version | grep 1.1`" ] && patch -p0 < $CWD/ipmitool-openssl-1.1.patch
+
CFLAGS="$SLKCFLAGS" \
CXXFLAGS="$SLKCFLAGS" \
./configure \
--prefix=/usr \
--libdir=/usr/lib${LIBDIRSUFFIX} \
+ --docdir=/usr/doc/$PRGNAM-$VERSION \
--sysconfdir=/etc \
--localstatedir=/var \
--mandir=/usr/man \
--build=$ARCH-slackware-linux
-make
-make install DESTDIR=$PKG
+make DOCDIR=/usr/doc/$PRGNAM-$VERSION
+make DOCDIR=/usr/doc/$PRGNAM-$VERSION install DESTDIR=$PKG
find $PKG | xargs file | grep -e "executable" -e "shared object" | grep ELF \
| cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null || true
-( cd $PKG/usr/man
- find . -type f -exec gzip -9 {} \;
- for i in $( find . -type l ) ; do ln -s $( readlink $i ).gz $i.gz ; rm $i ; done
-)
+find $PKG/usr/man -type f -exec gzip -9 {} \;
+for i in $( find $PKG/usr/man -type l ) ; do ln -s $( readlink $i ).gz $i.gz ; rm $i ; done
-mkdir -p $PKG/usr/doc
-mv $PKG/usr/share/doc/$PRGNAM $PKG/usr/doc/$PRGNAM-$VERSION
-rmdir $PKG/usr/share/doc
cp -a contrib $PKG/usr/doc/$PRGNAM-$VERSION
cat $CWD/$PRGNAM.SlackBuild > $PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM.SlackBuild
diff --git a/system/ipmitool/ipmitool.info b/system/ipmitool/ipmitool.info
index db17f3f7d4..4d4c029cad 100644
--- a/system/ipmitool/ipmitool.info
+++ b/system/ipmitool/ipmitool.info
@@ -1,10 +1,10 @@
PRGNAM="ipmitool"
-VERSION="1.8.13"
+VERSION="1.8.18"
HOMEPAGE="http://ipmitool.sourceforge.net/"
-DOWNLOAD="http://downloads.sourceforge.net/project/ipmitool/ipmitool/1.8.13/ipmitool-1.8.13.tar.gz"
-MD5SUM="c1107597848bd0a8be05c179e6f66b62"
+DOWNLOAD="http://downloads.sourceforge.net/project/ipmitool/ipmitool/1.8.18/ipmitool-1.8.18.tar.bz2"
+MD5SUM="bab7ea104c7b85529c3ef65c54427aa3"
DOWNLOAD_x86_64=""
MD5SUM_x86_64=""
REQUIRES=""
-MAINTAINER="Zordrak"
-EMAIL="sbo@tpa.me.uk"
+MAINTAINER="Emmanuel N. Millan"
+EMAIL="emmanueln@gmail.com"
diff --git a/system/irqbalance/irqbalance.SlackBuild b/system/irqbalance/irqbalance.SlackBuild
index 6fe6dbe65b..5f12fdc5b9 100644
--- a/system/irqbalance/irqbalance.SlackBuild
+++ b/system/irqbalance/irqbalance.SlackBuild
@@ -4,7 +4,7 @@
# Copyright 2006 by Yalla-One <yallaone@gmail.com>
# Copyright 2013-2015 by LukenShiro, Italy
-# Copyright 2019 Logan Rathbone <poprocks@gmail.com>
+# Copyright 2019-2020 Logan Rathbone <poprocks@gmail.com>
#
# All rights reserved.
#
@@ -26,7 +26,7 @@
# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
PRGNAM=irqbalance
-VERSION=${VERSION:-1.6.0}
+VERSION=${VERSION:-1.7.0}
BUILD=${BUILD:-1}
TAG=${TAG:-_SBo}
diff --git a/system/irqbalance/irqbalance.info b/system/irqbalance/irqbalance.info
index 33009dff69..57a0f96647 100644
--- a/system/irqbalance/irqbalance.info
+++ b/system/irqbalance/irqbalance.info
@@ -1,8 +1,8 @@
PRGNAM="irqbalance"
-VERSION="1.6.0"
+VERSION="1.7.0"
HOMEPAGE="https://github.com/Irqbalance/irqbalance"
-DOWNLOAD="https://github.com/Irqbalance/irqbalance/archive/v1.6.0/irqbalance-1.6.0.tar.gz"
-MD5SUM="1d0d77b998f562ef8dfe4238b3d53490"
+DOWNLOAD="https://github.com/Irqbalance/irqbalance/archive/v1.7.0/irqbalance-1.7.0.tar.gz"
+MD5SUM="621117212f6e7ed33d70a25e917e3e0d"
DOWNLOAD_x86_64=""
MD5SUM_x86_64=""
REQUIRES=""
diff --git a/system/isdct/README b/system/isdct/README
deleted file mode 100644
index 188e09646e..0000000000
--- a/system/isdct/README
+++ /dev/null
@@ -1,11 +0,0 @@
-The isdct is a proprietary command-line tool to manage Intel SSD Data
-Center Family NVMe and SATA drives. It can be used to update SSD
-firmware, calculate drive life expectancy, analyze the SMART
-information, securely erase, and much more.
-
-isdct supports Intel SSD DC, 750 Series, and some other SSDs
-(but does not support 910 Series).
-
-The sg kernel module is required by isdct. To have this module loaded
-on boot, please uncomment the corresponding line in
-/etc/rc.d/rc.modules.local
diff --git a/system/isdct/isdct.info b/system/isdct/isdct.info
deleted file mode 100644
index 329e95cf04..0000000000
--- a/system/isdct/isdct.info
+++ /dev/null
@@ -1,10 +0,0 @@
-PRGNAM="isdct"
-VERSION="3.0.22"
-HOMEPAGE="https://downloadcenter.intel.com/download/29185?v=t"
-DOWNLOAD="https://downloadmirror.intel.com/29185/eng/Intel_SSD_Data_Center_Tool_3.0.22_Linux.zip"
-MD5SUM="fafa0c7e754fdebea1c353156bf751d0"
-DOWNLOAD_x86_64=""
-MD5SUM_x86_64=""
-REQUIRES=""
-MAINTAINER="Alexander Verbovetsky"
-EMAIL="alik@ejik.org"
diff --git a/system/isextract/README b/system/isextract/README
new file mode 100644
index 0000000000..81d4c5fbe3
--- /dev/null
+++ b/system/isextract/README
@@ -0,0 +1,10 @@
+isextract (extract v3 InstallShield files)
+
+isextract is a command line tool to extract the *.z InstallShield v3
+packages many old windows games were distributed as.
+
+The files isextract supports are identified by the file command as
+"InstallShield Z archive Data", and begin with a hex signature of 13 5d
+65 8c 3a 01 02.
+
+See also: unshield, for other types of InstallShield files.
diff --git a/system/isextract/fix_output_formatting.diff b/system/isextract/fix_output_formatting.diff
new file mode 100644
index 0000000000..d48b491bb8
--- /dev/null
+++ b/system/isextract/fix_output_formatting.diff
@@ -0,0 +1,12 @@
+diff -Naur isextract-20141107_5adb0af/src/isextract.cpp isextract-20141107_5adb0af.patched/src/isextract.cpp
+--- isextract-20141107_5adb0af/src/isextract.cpp 2020-04-29 12:52:20.000000000 -0400
++++ isextract-20141107_5adb0af.patched/src/isextract.cpp 2020-04-29 13:28:40.715911070 -0400
+@@ -212,7 +212,7 @@
+ csize = it->second.compressed_size;
+
+
+- std::cout << fname << " " << csize << " " << ctime(&time) << "\n";
++ std::cout << fname << " " << csize << " " << ctime(&time);
+
+ it++;
+ }
diff --git a/system/isextract/git2tarxz.sh b/system/isextract/git2tarxz.sh
new file mode 100644
index 0000000000..02b50e68cd
--- /dev/null
+++ b/system/isextract/git2tarxz.sh
@@ -0,0 +1,44 @@
+#!/bin/sh
+
+# Create source tarball from git repo, with generated version
+# number.
+
+# Note that this script doesn't need to be run as root. It does
+# need to be able to write to the current directory it's run from.
+
+# Takes one optional argument, which is the commit or tag to create
+# a tarball of. With no arg, HEAD is used.
+
+PRGNAM=isextract
+CLONE_URL=https://github.com/OmniBlade/isextract.git
+
+set -e
+
+GITDIR=$( mktemp -dt $PRGNAM.git.XXXXXX )
+rm -rf $GITDIR
+git clone $CLONE_URL $GITDIR
+
+CWD="$( pwd )"
+cd $GITDIR
+
+if [ "$1" != "" ]; then
+ git reset --hard "$1" || exit 1
+fi
+
+GIT_SHA=$( git rev-parse --short HEAD )
+
+DATE=$( git log --date=format:%Y%m%d --format=%cd | head -1 )
+
+VERSION=${DATE}_${GIT_SHA}
+
+rm -rf .git
+find . -name .gitignore -print0 | xargs -0 rm -f
+
+cd "$CWD"
+rm -rf $PRGNAM-$VERSION $PRGNAM-$VERSION.tar.xz
+mv $GITDIR $PRGNAM-$VERSION
+tar cvfJ $PRGNAM-$VERSION.tar.xz $PRGNAM-$VERSION
+
+echo
+echo "Created tarball: $PRGNAM-$VERSION.tar.xz"
+echo "VERSION=$VERSION"
diff --git a/system/isextract/isextract.1 b/system/isextract/isextract.1
new file mode 100644
index 0000000000..318ac7fabd
--- /dev/null
+++ b/system/isextract/isextract.1
@@ -0,0 +1,97 @@
+.\" Man page generated from reStructuredText.
+.
+.TH ISEXTRACT 1 "2020-04-29" "20141107_5adb0af" "SlackBuilds.org"
+.SH NAME
+isextract \- Extract InstallShield v3 archives
+.
+.nr rst2man-indent-level 0
+.
+.de1 rstReportMargin
+\\$1 \\n[an-margin]
+level \\n[rst2man-indent-level]
+level margin: \\n[rst2man-indent\\n[rst2man-indent-level]]
+-
+\\n[rst2man-indent0]
+\\n[rst2man-indent1]
+\\n[rst2man-indent2]
+..
+.de1 INDENT
+.\" .rstReportMargin pre:
+. RS \\$1
+. nr rst2man-indent\\n[rst2man-indent-level] \\n[an-margin]
+. nr rst2man-indent-level +1
+.\" .rstReportMargin post:
+..
+.de UNINDENT
+. RE
+.\" indent \\n[an-margin]
+.\" old: \\n[rst2man-indent\\n[rst2man-indent-level]]
+.nr rst2man-indent-level -1
+.\" new: \\n[rst2man-indent\\n[rst2man-indent-level]]
+.in \\n[rst2man-indent\\n[rst2man-indent-level]]u
+..
+.\" RST source for isextract(1) man page. Convert with:
+.
+.\" rst2man.py isextract.rst > isextract.1
+.
+.\" rst2man.py comes from the SBo development/docutils package.
+.
+.\" converting from pod:
+.
+.\" s/B<\([^>]*\)>/**\1**/g
+.
+.\" s/I<\([^>]*\)>/*\1*/g
+.
+.SH SYNOPSIS
+.sp
+isextract [\fIl|x\fP] file.z
+.SH DESCRIPTION
+.sp
+isextract is a command line tool to extract the .z InstallShield v3
+packages many old windows games were distributed as.
+.sp
+The files isextract supports normally have a \fB\&.z\fP extension, and can be
+idenfified by the file command:
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+$ file data.z
+data.z: InstallShield Z archive Data
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.sp
+\&...or by the hex signature at the start of the file:
+.INDENT 0.0
+.INDENT 3.5
+.sp
+.nf
+.ft C
+$ head \-c6 data.z | xxd
+00000000: 135d 658c 3a01 .]e.:.
+.ft P
+.fi
+.UNINDENT
+.UNINDENT
+.SH OPTIONS
+.sp
+\fBl\fP List contents of archive.
+.sp
+\fBx\fP Extract archive to current directory.
+.SH COPYRIGHT
+.sp
+See the file /usr/doc/PRGNAM\-20141107_5adb0af/LICENSE for license information.
+.SH AUTHORS
+.sp
+isextract was written by OmniBlade.
+.sp
+This man page written for the SlackBuilds.org project
+by B. Watson, and is licensed under the WTFPL.
+.SH SEE ALSO
+.sp
+unshield(1), cabextract(1)
+.\" Generated by docutils manpage writer.
+.
diff --git a/system/isextract/isextract.SlackBuild b/system/isextract/isextract.SlackBuild
new file mode 100644
index 0000000000..a4bc4c2c58
--- /dev/null
+++ b/system/isextract/isextract.SlackBuild
@@ -0,0 +1,72 @@
+#!/bin/sh
+
+# Slackware build script for isextract
+
+# Written by B. Watson (yalhcru@gmail.com)
+
+# Licensed under the WTFPL. See http://www.wtfpl.net/txt/copying/ for details.
+
+PRGNAM=isextract
+VERSION=${VERSION:-20141107_5adb0af}
+BUILD=${BUILD:-1}
+TAG=${TAG:-_SBo}
+
+if [ -z "$ARCH" ]; then
+ case "$( uname -m )" in
+ i?86) ARCH=i586 ;;
+ arm*) ARCH=arm ;;
+ *) ARCH=$( uname -m ) ;;
+ esac
+fi
+
+CWD=$(pwd)
+TMP=${TMP:-/tmp/SBo}
+PKG=$TMP/package-$PRGNAM
+OUTPUT=${OUTPUT:-/tmp}
+
+if [ "$ARCH" = "i586" ]; then
+ SLKCFLAGS="-O2 -march=i586 -mtune=i686"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "i686" ]; then
+ SLKCFLAGS="-O2 -march=i686 -mtune=i686"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "x86_64" ]; then
+ SLKCFLAGS="-O2 -fPIC"
+ LIBDIRSUFFIX="64"
+else
+ SLKCFLAGS="-O2"
+ LIBDIRSUFFIX=""
+fi
+
+set -e
+
+rm -rf $PKG
+mkdir -p $TMP $PKG $OUTPUT
+cd $TMP
+rm -rf $PRGNAM-$VERSION
+tar xvf $CWD/$PRGNAM-$VERSION.tar.xz
+cd $PRGNAM-$VERSION
+chown -R root:root .
+find -L . -perm /111 -a \! -perm 755 -a -exec chmod 755 {} \+ -o \
+ \! -perm /111 -a \! -perm 644 -a -exec chmod 644 {} \+
+
+# get rid of "double-spaced" output in l command
+patch -p1 < $CWD/fix_output_formatting.diff
+
+make OPTFLAGS="$SLKCFLAGS"
+mkdir -p $PKG/usr/bin
+install -s -m0755 build/$PRGNAM $PKG/usr/bin
+
+# man page written by SlackBuild author
+mkdir -p $PKG/usr/man/man1
+gzip -9c < $CWD/$PRGNAM.1 > $PKG/usr/man/man1/$PRGNAM.1.gz
+
+mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION
+cp -a README* LICENSE* $PKG/usr/doc/$PRGNAM-$VERSION
+cat $CWD/$PRGNAM.SlackBuild > $PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM.SlackBuild
+
+mkdir -p $PKG/install
+cat $CWD/slack-desc > $PKG/install/slack-desc
+
+cd $PKG
+/sbin/makepkg -l y -c n $OUTPUT/$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.${PKGTYPE:-tgz}
diff --git a/system/isextract/isextract.info b/system/isextract/isextract.info
new file mode 100644
index 0000000000..933dd14ac5
--- /dev/null
+++ b/system/isextract/isextract.info
@@ -0,0 +1,10 @@
+PRGNAM="isextract"
+VERSION="20141107_5adb0af"
+HOMEPAGE="https://github.com/OmniBlade/isextract"
+DOWNLOAD="https://slackware.uk/~urchlay/src/isextract-20141107_5adb0af.tar.xz"
+MD5SUM="2950724969069bfc9b304530e4bc1604"
+DOWNLOAD_x86_64=""
+MD5SUM_x86_64=""
+REQUIRES=""
+MAINTAINER="B. Watson"
+EMAIL="yalhcru@gmail.com"
diff --git a/system/isextract/isextract.rst b/system/isextract/isextract.rst
new file mode 100644
index 0000000000..aaa4622681
--- /dev/null
+++ b/system/isextract/isextract.rst
@@ -0,0 +1,74 @@
+.. RST source for isextract(1) man page. Convert with:
+.. rst2man.py isextract.rst > isextract.1
+.. rst2man.py comes from the SBo development/docutils package.
+
+.. |version| replace:: 20141107_5adb0af
+.. |date| date::
+
+.. converting from pod:
+.. s/B<\([^>]*\)>/**\1**/g
+.. s/I<\([^>]*\)>/*\1*/g
+
+=========
+isextract
+=========
+
+---------------------------------
+Extract InstallShield v3 archives
+---------------------------------
+
+:Manual section: 1
+:Manual group: SlackBuilds.org
+:Date: |date|
+:Version: |version|
+
+SYNOPSIS
+========
+
+isextract [*l|x*] file.z
+
+DESCRIPTION
+===========
+
+isextract is a command line tool to extract the .z InstallShield v3
+packages many old windows games were distributed as.
+
+The files isextract supports normally have a **.z** extension, and can be
+idenfified by the file command:
+
+::
+
+ $ file data.z
+ data.z: InstallShield Z archive Data
+
+...or by the hex signature at the start of the file:
+
+::
+
+ $ head -c6 data.z | xxd
+ 00000000: 135d 658c 3a01 .]e.:.
+
+OPTIONS
+=======
+
+**l** List contents of archive.
+
+**x** Extract archive to current directory.
+
+COPYRIGHT
+=========
+
+See the file /usr/doc/PRGNAM-|version|/LICENSE for license information.
+
+AUTHORS
+=======
+
+isextract was written by OmniBlade.
+
+This man page written for the SlackBuilds.org project
+by B. Watson, and is licensed under the WTFPL.
+
+SEE ALSO
+========
+
+unshield(1), cabextract(1)
diff --git a/system/isextract/slack-desc b/system/isextract/slack-desc
new file mode 100644
index 0000000000..a5b892c58e
--- /dev/null
+++ b/system/isextract/slack-desc
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description.
+# Line up the first '|' above the ':' following the base package name, and
+# the '|' on the right side marks the last column you can put a character in.
+# You must make exactly 11 lines for the formatting to be correct. It's also
+# customary to leave one space after the ':' except on otherwise blank lines.
+
+ |-----handy-ruler------------------------------------------------------|
+isextract: isextract (extract v3 InstallShield files)
+isextract:
+isextract: isextract is a command line tool to extract the *.z InstallShield
+isextract: v3 packages many old windows games were distributed as.
+isextract:
+isextract: The files isextract supports are identified by the file command as
+isextract: "InstallShield Z archive Data", and begin with a hex signature of
+isextract: 13 5d 65 8c 3a 01 02.
+isextract:
+isextract:
+isextract:
diff --git a/system/isight-firmware-tools/isight-firmware-tools.info b/system/isight-firmware-tools/isight-firmware-tools.info
index 9c0e9d61e2..ec884ec343 100644
--- a/system/isight-firmware-tools/isight-firmware-tools.info
+++ b/system/isight-firmware-tools/isight-firmware-tools.info
@@ -6,5 +6,5 @@ MD5SUM="d2823c083dc0ef8a589ba3f84b8e9167"
DOWNLOAD_x86_64=""
MD5SUM_x86_64=""
REQUIRES=""
-MAINTAINER="Stu Reedy"
-EMAIL="stureedy@spamcop.net"
+MAINTAINER="Bojan Popovic"
+EMAIL="bocke@slackware-srbija.org"
diff --git a/system/jdupes/jdupes.SlackBuild b/system/jdupes/jdupes.SlackBuild
index b865472825..9ef57a215c 100644
--- a/system/jdupes/jdupes.SlackBuild
+++ b/system/jdupes/jdupes.SlackBuild
@@ -21,7 +21,7 @@
# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
PRGNAM=jdupes
-VERSION=${VERSION:-1.13.2}
+VERSION=${VERSION:-1.19.2}
BUILD=${BUILD:-1}
TAG=${TAG:-_SBo}
@@ -62,6 +62,7 @@ cd $TMP
rm -rf $PRGNAM-$VERSION
tar xvf $CWD/$PRGNAM-$VERSION.tar.gz
cd $PRGNAM-$VERSION
+rm testdir/recursed_a/symlink_infinite_loop
chown -R root:root .
find -L . \
\( -perm 777 -o -perm 775 -o -perm 750 -o -perm 711 -o -perm 555 \
diff --git a/system/jdupes/jdupes.info b/system/jdupes/jdupes.info
index 98eec1bd48..2193d76102 100644
--- a/system/jdupes/jdupes.info
+++ b/system/jdupes/jdupes.info
@@ -1,8 +1,8 @@
PRGNAM="jdupes"
-VERSION="1.13.2"
+VERSION="1.19.2"
HOMEPAGE="https://github.com/jbruchon/jdupes"
-DOWNLOAD="https://github.com/jbruchon/jdupes/archive/v1.13.2/jdupes-1.13.2.tar.gz"
-MD5SUM="ddc0deebd9a01fc039ca64ed59ba6aa8"
+DOWNLOAD="https://github.com/jbruchon/jdupes/archive/v1.19.2/jdupes-1.19.2.tar.gz"
+MD5SUM="db9c05aa7a1c61390cbdb41ad1ab8fb4"
DOWNLOAD_x86_64=""
MD5SUM_x86_64=""
REQUIRES=""
diff --git a/system/jenkins/README b/system/jenkins/README
index a28a3572db..e900430c79 100644
--- a/system/jenkins/README
+++ b/system/jenkins/README
@@ -1,9 +1,11 @@
-Jenkins monitors executions of repeated jobs, such as building a software
-project or jobs run by cron. Among those things, current Jenkins focuses on the
-following two jobs:
+Jenkins monitors executions of repeated jobs, such as building a
+software project or jobs run by cron. Among those things, current
+Jenkins focuses on the following two jobs:
+
1. Building/testing software projects continuously
2. Monitoring executions of externally-run jobs,
+This slackbuild tracks the Jenkins LTS branch.
Groupname and Username
diff --git a/system/jenkins/files/jenkins.conf b/system/jenkins/files/jenkins.conf
index fbdbcb875b..8b9688362b 100644
--- a/system/jenkins/files/jenkins.conf
+++ b/system/jenkins/files/jenkins.conf
@@ -52,6 +52,12 @@ JENKINS_USER="jenkins"
## the SSL KeyManagerFactory type (eg SunX509, IbmX509). Default is SunX509
#JENKINS_HTTPS_KEY_MANAGER="SunX509"
+## this along with JENKINS_HTTPS_CERTIFICATE can be used to run HTTPS with
+## OpenSSL secret key file and the corresponding certificate file
+#JENKINS_HTTPS_PRIVATE_KEY=""
+
+#JENKINS_HTTPS_CERTIFICATE=""
+
## Default home of jenkins stuffs
#JENKINS_HOME=/var/lib/jenkins
diff --git a/system/jenkins/files/jenkinsd.sh b/system/jenkins/files/jenkinsd.sh
index 87d6aa432a..0e616bc9aa 100644
--- a/system/jenkins/files/jenkinsd.sh
+++ b/system/jenkins/files/jenkinsd.sh
@@ -79,6 +79,14 @@ if [ "$JENKINS_HTTPS_KEY_MANAGER" != "" ] ; then
JENKINS_HTTPS_KEY_MANAGER_ARG="--httpsKeyManagerType=$JENKINS_HTTPS_KEY_MANAGER"
fi
+if [ "$JENKINS_HTTPS_PRIVATE_KEY" != "" ] ; then
+ JENKINS_HTTPS_PRIVATE_KEY="--httpsPrivateKey=$JENKINS_HTTPS_PRIVATE_KEY"
+fi
+
+if [ "$JENKINS_HTTPS_CERTIFICATE" != "" ] ; then
+ JENKINS_HTTPS_CERTIFICATE="--httpsCertificate=$JENKINS_HTTPS_CERTIFICATE"
+fi
+
if [ "$JENKINS_LOG_FILE" != "" ] ; then
JENKINS_LOG_FILE_ARG="--logfile=$JENKINS_LOG_FILE"
fi
@@ -106,12 +114,14 @@ su - $JENKINS_USER -c " \
$JENKINS_HTTPS_KEYSTORE_ARG \
$JENKINS_HTTPS_KEYSTORE_PASSWORD_ARG \
$JENKINS_HTTPS_KEY_MANAGER_ARG \
+ $JENKINS_HTTPS_PRIVATE_KEY \
+ $JENKINS_HTTPS_CERTIFICATE \
$JENKINS_LOG_FILE_ARG \
$JENKINS_WEBAPPSDIR_ARG \
$JENKINS_WEBROOT_ARG \
$OPT_ARGS \
</dev/null >> $JENKINS_CONSOLELOG_FILE 2>&1 &
-
+
echo \$! > $JENKINS_PID_FILE
disown \$!
diff --git a/system/jenkins/jenkins.SlackBuild b/system/jenkins/jenkins.SlackBuild
index 83323c231d..b87aec3c39 100644
--- a/system/jenkins/jenkins.SlackBuild
+++ b/system/jenkins/jenkins.SlackBuild
@@ -3,6 +3,7 @@
# Slackware build script for jenkins
# Copyright 2019 Giorgio Peron <giorgio.peron@gmail.com>, Belluno, Italy
+# Copyright 2017-2021 Andrew Clemons, Wellington, New Zealand
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
@@ -23,7 +24,7 @@
# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
PRGNAM=jenkins
-VERSION=${VERSION:-2.167}
+VERSION=${VERSION:-2.277.2}
BUILD=${BUILD:-1}
TAG=${TAG:-_SBo}
diff --git a/system/jenkins/jenkins.info b/system/jenkins/jenkins.info
index 5816591907..e7e644d4a7 100644
--- a/system/jenkins/jenkins.info
+++ b/system/jenkins/jenkins.info
@@ -1,10 +1,10 @@
PRGNAM="jenkins"
-VERSION="2.167"
-HOMEPAGE="http://jenkins-ci.org"
-DOWNLOAD="http://mirrors.jenkins.io/war/2.167/jenkins.war"
-MD5SUM="58148bfebf48597905ba79df1c64be52"
+VERSION="2.277.2"
+HOMEPAGE="https://www.jenkins.io/"
+DOWNLOAD="http://mirrors.jenkins.io/war-stable/2.277.2/jenkins.war"
+MD5SUM="28e9cfedc215824551df7c83aee8768d"
DOWNLOAD_x86_64=""
MD5SUM_x86_64=""
REQUIRES="jdk"
-MAINTAINER="Giorgio Peron"
-EMAIL="giorgio.peron@gmail.com"
+MAINTAINER="Andrew Clemons"
+EMAIL="andrew.clemons@gmail.com"
diff --git a/system/john/README b/system/john/README
index 574ffb08b1..543e12c8e7 100644
--- a/system/john/README
+++ b/system/john/README
@@ -1,7 +1,8 @@
-John the Ripper is a fast password cracker. Its primary purpose is to detect
-weak passwords. Besides several crypt(3) password hash types most commonly
-found on various Unix flavors, supported out of the box are Kerberos AFS and
-Windows NT/2000/XP/2003 LM hashes, plus several more with contributed patches.
+John the Ripper is a fast password cracker. Its primary purpose is to
+detect weak passwords. Besides several crypt(3) password hash types
+most commonly found on various Unix flavors, supported out of the box
+are Kerberos AFS and Windows NT/2000/XP/2003 LM hashes, plus several
+more with contributed patches.
-For more information, consult the project's homepage and/or the documentation
-installed in /usr/doc/john-1.8.0
+For more information, consult the project's homepage and/or the
+documentation installed in /usr/doc/john-1.8.0
diff --git a/system/john/john.SlackBuild b/system/john/john.SlackBuild
index 1a61781796..cfe21faaee 100644
--- a/system/john/john.SlackBuild
+++ b/system/john/john.SlackBuild
@@ -14,8 +14,8 @@
# slow hashes.
PRGNAM=john
-VERSION=${VERSION:-1.8.0}
-BUILD=${BUILD:-2}
+VERSION=${VERSION:-1.9.0}
+BUILD=${BUILD:-1}
TAG=${TAG:-_SBo}
if [ -z "$ARCH" ]; then
@@ -44,6 +44,8 @@ if [ "$ARCH" = "i486" ]; then
LIBDIRSUFFIX=""
elif [ "$ARCH" = "x86_64" ]; then
if grep -q ^flags.*avx /proc/cpuinfo; then
+ TARGET=linux-x86-64-avx2
+ elif grep -q ^flags.*avx /proc/cpuinfo; then
TARGET=linux-x86-64-avx
else
TARGET=linux-x86-64
@@ -61,9 +63,6 @@ cd $TMP
rm -rf $PRGNAM-$VERSION
tar xvf $CWD/$PRGNAM-$VERSION.tar.xz
-# Soft-link in tarball causes x bit to be set below; nuke it
-rm -f $PRGNAM-$VERSION/README
-
cd $PRGNAM-$VERSION
chown -R root:root .
find -L . \
diff --git a/system/john/john.info b/system/john/john.info
index 9fb3c8e148..20697b1107 100644
--- a/system/john/john.info
+++ b/system/john/john.info
@@ -1,8 +1,8 @@
PRGNAM="john"
-VERSION="1.8.0"
-HOMEPAGE="http://www.openwall.com/john/"
-DOWNLOAD="http://www.openwall.com/john/j/john-1.8.0.tar.xz"
-MD5SUM="a4086df68f51778782777e60407f1869"
+VERSION="1.9.0"
+HOMEPAGE="https://www.openwall.com/john/"
+DOWNLOAD="https://www.openwall.com/john/k/john-1.9.0.tar.xz"
+MD5SUM="494b5e6d672ff100fb9fb54c4fb6ed3e"
DOWNLOAD_x86_64=""
MD5SUM_x86_64=""
REQUIRES=""
diff --git a/system/joyce/joyce.SlackBuild b/system/joyce/joyce.SlackBuild
index ed0c93db00..cc860d8ada 100644
--- a/system/joyce/joyce.SlackBuild
+++ b/system/joyce/joyce.SlackBuild
@@ -7,7 +7,7 @@
# Licensed under the WTFPL. See http://www.wtfpl.net/txt/copying/ for details.
PRGNAM=joyce
-VERSION=${VERSION:-2.2.12}
+VERSION=${VERSION:-2.2.14}
BUILD=${BUILD:-1}
TAG=${TAG:-_SBo}
@@ -47,11 +47,8 @@ rm -rf $PRGNAM-$VERSION
tar xvf $CWD/$PRGNAM-$VERSION.tar.gz
cd $PRGNAM-$VERSION
chown -R root:root .
-find -L . \
- \( -perm 777 -o -perm 775 -o -perm 750 -o -perm 711 -o -perm 555 \
- -o -perm 511 \) -exec chmod 755 {} \; -o \
- \( -perm 666 -o -perm 664 -o -perm 640 -o -perm 600 -o -perm 444 \
- -o -perm 440 -o -perm 400 \) -exec chmod 644 {} \;
+find -L . -perm /111 -a \! -perm 755 -a -exec chmod 755 {} \+ -o \
+ \! -perm /111 -a \! -perm 644 -a -exec chmod 644 {} \+
CFLAGS="$SLKCFLAGS" \
CXXFLAGS="$SLKCFLAGS" \
diff --git a/system/joyce/joyce.info b/system/joyce/joyce.info
index b5e5e4cb78..52f85c71f0 100644
--- a/system/joyce/joyce.info
+++ b/system/joyce/joyce.info
@@ -1,8 +1,8 @@
PRGNAM="joyce"
-VERSION="2.2.12"
+VERSION="2.2.14"
HOMEPAGE="http://www.seasip.info/Unix/Joyce/"
-DOWNLOAD="http://www.seasip.info/Unix/Joyce/joyce-2.2.12.tar.gz"
-MD5SUM="a519722dc2532cdd0f589d36bd5ee741"
+DOWNLOAD="http://www.seasip.info/Unix/Joyce/joyce-2.2.14.tar.gz"
+MD5SUM="acf22e515606091108c1c6acab129617"
DOWNLOAD_x86_64=""
MD5SUM_x86_64=""
REQUIRES=""
diff --git a/system/jsawk/jsawk.SlackBuild b/system/jsawk/jsawk.SlackBuild
index f08ddfd142..3a139be516 100644
--- a/system/jsawk/jsawk.SlackBuild
+++ b/system/jsawk/jsawk.SlackBuild
@@ -2,7 +2,7 @@
# Slackware build script for jsawk
-# Copyright 2013,2016,2018 Andrew Clemons, Wellington, New Zealand
+# Copyright 2013,2016,2018-2020 Andrew Clemons, Wellington, New Zealand
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
@@ -25,7 +25,7 @@
PRGNAM=jsawk
VERSION=${VERSION:-1.4}
-BUILD=${BUILD:-2}
+BUILD=${BUILD:-5}
TAG=${TAG:-_SBo}
ARCH=noarch
@@ -47,8 +47,8 @@ cp $CWD/jsawk $PKG/usr/bin
chmod 0755 $PKG/usr/bin/jsawk
chown root:root $PKG/usr/bin/jsawk
-if command -v js52 > /dev/null 2>&1 ; then
- sed -i '/JSBIN=/s/-js/-js52/' $PKG/usr/bin/jsawk
+if command -v js78 > /dev/null 2>&1 ; then
+ sed -i '/JSBIN=/s/-js/-js78/' $PKG/usr/bin/jsawk
fi
mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION
@@ -59,4 +59,3 @@ cat $CWD/slack-desc > $PKG/install/slack-desc
cd $PKG
/sbin/makepkg -l y -c n $OUTPUT/$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.${PKGTYPE:-tgz}
-
diff --git a/system/kapacitor/kapacitor.SlackBuild b/system/kapacitor/kapacitor.SlackBuild
index 1379aa55ed..100a848ad7 100644
--- a/system/kapacitor/kapacitor.SlackBuild
+++ b/system/kapacitor/kapacitor.SlackBuild
@@ -2,7 +2,7 @@
# Slackware build script for Kapacitor
-# Copyright 2017, 2018 Ebben Aries <e@dscp.org>
+# Copyright 2017-2021 Ebben Aries <slackbuilds@dscp.org>
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
@@ -23,7 +23,7 @@
# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
PRGNAM=kapacitor
-VERSION=${VERSION:-1.5.3}
+VERSION=${VERSION:-1.5.9}
BUILD=${BUILD:-1}
TAG=${TAG:-_SBo}
diff --git a/system/kapacitor/kapacitor.info b/system/kapacitor/kapacitor.info
index c14cbda18a..cb6885d7db 100644
--- a/system/kapacitor/kapacitor.info
+++ b/system/kapacitor/kapacitor.info
@@ -1,10 +1,10 @@
PRGNAM="kapacitor"
-VERSION="1.5.3"
+VERSION="1.5.9"
HOMEPAGE="https://www.influxdata.com"
-DOWNLOAD="https://dl.influxdata.com/kapacitor/releases/kapacitor-1.5.3_linux_i386.tar.gz"
-MD5SUM="cba230fb4ce2dae61d2ef7cb3ba04372"
-DOWNLOAD_x86_64="https://dl.influxdata.com/kapacitor/releases/kapacitor-1.5.3_linux_amd64.tar.gz"
-MD5SUM_x86_64="6b786c84ba75198566c1db9a104db2e7"
+DOWNLOAD="https://dl.influxdata.com/kapacitor/releases/kapacitor-1.5.9_linux_i386.tar.gz"
+MD5SUM="7f396a3b6ec6133407cdeb01c74eea4e"
+DOWNLOAD_x86_64="https://dl.influxdata.com/kapacitor/releases/kapacitor-1.5.9_linux_amd64.tar.gz"
+MD5SUM_x86_64="c3e8ad4207b2e4f0af63989e55b8c808"
REQUIRES=""
MAINTAINER="Ebben Aries"
-EMAIL="e@dscp.org"
+EMAIL="slackbuilds@dscp.org"
diff --git a/system/kbfs/kbfs.SlackBuild b/system/kbfs/kbfs.SlackBuild
index 65279a0b18..945fa19147 100644
--- a/system/kbfs/kbfs.SlackBuild
+++ b/system/kbfs/kbfs.SlackBuild
@@ -2,7 +2,7 @@
# Slackware build script for kbfs
-# Copyright 2017-2019 Willy Sudiarto Raharjo <willysr@slackbuilds.org>
+# Copyright 2017-2020 Willy Sudiarto Raharjo <willysr@slackbuilds.org>
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
@@ -24,8 +24,8 @@
PRGNAM=kbfs
SRCNAM=keybase
-VERSION=${VERSION:-5.0.0_20191114203213}
-COMMITVER=f73f97dac6
+VERSION=${VERSION:-5.6.1_20210125164223}
+COMMITVER=f3b21527b9
SRCVER=$(echo $VERSION | tr _ - )
BUILD=${BUILD:-1}
TAG=${TAG:-_SBo}
diff --git a/system/kbfs/kbfs.info b/system/kbfs/kbfs.info
index 73c5d84147..dfce4bbd30 100644
--- a/system/kbfs/kbfs.info
+++ b/system/kbfs/kbfs.info
@@ -1,10 +1,10 @@
PRGNAM="kbfs"
-VERSION="5.0.0_20191114203213"
+VERSION="5.6.1_20210125164223"
HOMEPAGE="https://github.com/keybase/kbfs"
-DOWNLOAD="https://prerelease.keybase.io/linux_binaries/deb/keybase_5.0.0-20191114203213.f73f97dac6_i386.deb"
-MD5SUM="a8fba4804360fdeefd4d6d596b7c2a8b"
-DOWNLOAD_x86_64="https://prerelease.keybase.io/linux_binaries/deb/keybase_5.0.0-20191114203213.f73f97dac6_amd64.deb"
-MD5SUM_x86_64="a8fba4804360fdeefd4d6d596b7c2a8b"
+DOWNLOAD="https://prerelease.keybase.io/linux_binaries/deb/keybase_5.6.1-20210125164223.f3b21527b9_i386.deb"
+MD5SUM="1b22b307c41a3f914d51c2084b3de400"
+DOWNLOAD_x86_64="https://prerelease.keybase.io/linux_binaries/deb/keybase_5.6.1-20210125164223.f3b21527b9_amd64.deb"
+MD5SUM_x86_64="45e4f16d21974008e7a23341d1b27b5f"
REQUIRES="google-go-lang sshfs-fuse"
MAINTAINER="Willy Sudiarto Raharjo"
EMAIL="willysr@slackbuilds.org"
diff --git a/system/kegs/README.Slackware b/system/kegs/README.Slackware
index 03e0ebf940..7a66ba8fb8 100644
--- a/system/kegs/README.Slackware
+++ b/system/kegs/README.Slackware
@@ -1,34 +1,23 @@
ROM Images
==========
-KEGS requires a ROM image dumped from an Apple IIgs. This will typically
-be called either "rom01" (131072 bytes) or "rom03" (262144 bytes),
-and will often be distributed in zip files called apple2g1.zip and
-apple2gs.zip (for use with MESS). This package can optionally include
-the ROM file. To do this, place the ROM image in the slackbuild
-directory before running the script. The image will be installed
-as /usr/share/kegs/rom03 (or rom01). If you do not include the ROM
-in the package, you will need to manually copy the rom03 image to
-/usr/share/kegs/rom03 before the emulator will work properly.
+KEGS requires a ROM image dumped from an Apple IIgs. This will
+typically be called either "rom01" (131072 bytes) or "rom03" (262144
+bytes), and will often be distributed in zip files called apple2g1.zip
+and apple2gs.zip (for use with MESS). This package includes the
+"rom03" file. If you want to also use the older ROM01 file, copy it to
+/usr/share/kegs after the package is installed, and select it from the
+config menu (F4) or edit the path in ~/.config.kegs.
Audio
=====
-kegs uses OSS for audio. To get sound working, you have 3 options:
+As of version 1.05, kegs uses PulseAudio by default. This is the default
+in the SlackBuild, so most users won't have to do anything special.
-1. Run kegs as "aoss xkegs", or launch it from your desktop's application
- menu (which does the same thing).
-
-2. Enable ALSA OSS emulation:
- # chmod +x /etc/rc.d/rc.alsa-oss
- # /etc/rc.d/rc.alsa-oss
-
- However, this may interfere with other applications' use of the
- sound card.
-
-3. If you already use OSSv4 (audio/oss from slackbuilds.org), kegs
- should be able to use it. It's not recommended to switch to OSSv4
- just to get audio working in kegs, though.
+It's also possible to build kegs for OSS audio, or ALSA using the
+aoss "shim" layer. To do this, set 'AUDIO=oss' or 'AUDIO=alsa' in the
+script's environment.
GS/OS Disk Images
=================
diff --git a/system/kegs/allow_sound_open_fail.diff b/system/kegs/allow_sound_open_fail.diff
deleted file mode 100644
index bf9086f72d..0000000000
--- a/system/kegs/allow_sound_open_fail.diff
+++ /dev/null
@@ -1,15 +0,0 @@
-diff -Naur kegs.0.91/src/sound.c kegs.0.91.patched/src/sound.c
---- kegs.0.91/src/sound.c 2004-12-06 19:42:47.000000000 -0500
-+++ kegs.0.91.patched/src/sound.c 2015-06-21 17:48:21.000000000 -0400
-@@ -363,9 +363,9 @@
-
- ret = read(read_fd, &tmp, 4);
- if(ret != 4) {
-- printf("parent dying, could not get sample rate from child\n");
-+ printf("parent could not get audio sample rate from child, disabling sound.\n");
- printf("ret: %d, fd: %d errno:%d\n", ret, read_fd, errno);
-- exit(1);
-+ g_audio_enable = 0;
- }
- close(read_fd);
-
diff --git a/system/kegs/allow_window_close.diff b/system/kegs/allow_window_close.diff
index 538022e044..b1343b2e89 100644
--- a/system/kegs/allow_window_close.diff
+++ b/system/kegs/allow_window_close.diff
@@ -1,35 +1,36 @@
-diff -Naur kegs.0.91/src/xdriver.c kegs.0.91.patched//src/xdriver.c
---- kegs.0.91/src/xdriver.c 2004-12-06 19:42:47.000000000 -0500
-+++ kegs.0.91.patched//src/xdriver.c 2011-01-27 04:28:42.000000000 -0500
-@@ -57,6 +57,7 @@
- Display *g_display = 0;
- Visual *g_vis = 0;
- Window g_a2_win;
-+Atom g_wmdelete_atom;
- GC g_a2_winGC;
- XFontStruct *g_text_FontSt;
- Colormap g_a2_colormap = 0;
-@@ -582,6 +583,9 @@
+diff -Naur kegs.1.05/src/xdriver.c kegs.1.05.patched/src/xdriver.c
+--- kegs.1.05/src/xdriver.c 2021-01-24 18:37:34.000000000 -0500
++++ kegs.1.05.patched/src/xdriver.c 2021-02-25 17:53:28.054595900 -0500
+@@ -629,13 +629,10 @@
0, &my_winSizeHints, 0, &my_winClassHint);
- XMapRaised(g_display, g_a2_win);
+ XMapRaised(g_display, x_win);
+
+- if(win_info_ptr != &g_mainwin_info) {
+- // Debugger window
+ win_info_ptr->delete_atom = XInternAtom(g_display,
+ "WM_DELETE_WINDOW", False);
+ XSetWMProtocols(g_display, x_win, &(win_info_ptr->delete_atom),
+ 1);
+- }
-+ g_wmdelete_atom = XInternAtom(g_display, "WM_DELETE_WINDOW", True);
-+ XSetWMProtocols(g_display, g_a2_win, &g_wmdelete_atom, 1);
-+
XSync(g_display, False);
- g_a2_winGC = XCreateGC(g_display, g_a2_win, 0, (XGCValues *) 0);
-@@ -1086,6 +1090,13 @@
- (word32)ev.xcolormap.colormap,
- ev.xcolormap.new, ev.xcolormap.state);
- break;
-+ case ClientMessage:
-+ if(ev.xclient.data.l[0] == g_wmdelete_atom) {
-+ x_auto_repeat_on(1);
-+ XCloseDisplay(g_display);
-+ exit(0);
-+ }
-+ break;
- default:
- printf("X event 0x%08x is unknown!\n",
- ev.type);
+@@ -1092,9 +1089,15 @@
+ case ClientMessage:
+ win_info_ptr = x_find_xwin(ev.xclient.window);
+ if(ev.xclient.data.l[0] == win_info_ptr->delete_atom) {
+- // This is a WM_DELETE_WINDOW event
+- // Just unmap the window
+- win_info_ptr->kimage_ptr->active = 0;
++ if(win_info_ptr == &g_debugwin_info) {
++ // This is a WM_DELETE_WINDOW event
++ // Just unmap the window
++ win_info_ptr->kimage_ptr->active = 0;
++ } else {
++ x_auto_repeat_on(1);
++ XCloseDisplay(g_display);
++ exit(0);
++ }
+ } else {
+ printf("unknown ClientMessage\n");
+ }
diff --git a/system/kegs/config.kegs.default b/system/kegs/config.kegs.default
index 782bfb8f3a..4408cee760 100644
--- a/system/kegs/config.kegs.default
+++ b/system/kegs/config.kegs.default
@@ -8,4 +8,4 @@ s6d2 =
s7d1 = #NUCLEUS03
-g_cfg_rom_path = @ROM@
+g_cfg_rom_path = /usr/share/kegs/rom03
diff --git a/system/kegs/doinst.sh b/system/kegs/doinst.sh
index 5fb28930db..f6a957d203 100644
--- a/system/kegs/doinst.sh
+++ b/system/kegs/doinst.sh
@@ -1,3 +1,9 @@
+if [ -e usr/share/icons/hicolor/icon-theme.cache ]; then
+ if [ -x /usr/bin/gtk-update-icon-cache ]; then
+ /usr/bin/gtk-update-icon-cache usr/share/icons/hicolor >/dev/null 2>&1
+ fi
+fi
+
if [ -x /usr/bin/update-desktop-database ]; then
/usr/bin/update-desktop-database -q usr/share/applications >/dev/null 2>&1
fi
diff --git a/system/kegs/kegs.png b/system/kegs/icons/128.png
index 578329931f..578329931f 100644
--- a/system/kegs/kegs.png
+++ b/system/kegs/icons/128.png
Binary files differ
diff --git a/system/kegs/icons/16.png b/system/kegs/icons/16.png
new file mode 100644
index 0000000000..7dbbef05e5
--- /dev/null
+++ b/system/kegs/icons/16.png
Binary files differ
diff --git a/system/kegs/icons/32.png b/system/kegs/icons/32.png
new file mode 100644
index 0000000000..15b49662ca
--- /dev/null
+++ b/system/kegs/icons/32.png
Binary files differ
diff --git a/system/kegs/icons/48.png b/system/kegs/icons/48.png
new file mode 100644
index 0000000000..7caf94efd2
--- /dev/null
+++ b/system/kegs/icons/48.png
Binary files differ
diff --git a/system/kegs/kegs.SlackBuild b/system/kegs/kegs.SlackBuild
index 79883b8daa..851b036d01 100644
--- a/system/kegs/kegs.SlackBuild
+++ b/system/kegs/kegs.SlackBuild
@@ -6,6 +6,15 @@
# Licensed under the WTFPL. See http://www.wtfpl.net/txt/copying/ for details.
+# 20210225 bkw: update for v1.05. lots of changes:
+# - include the ROM image in the package (add it to DOWNLOAD)
+# - allow_sound_open_fail.diff no longer required
+# - rework allow_window_close.diff for v1.05
+# - .desktop file no longer needs Terminal=true
+# - upstream now supports pulseaudio, so build with it by default. add
+# AUDIO variable to build the old OSS sound support or ALSA via aoss
+# instead.
+
# 20170305 bkw:
# - fix building under installwatch, caused by a symlink in the
# tarball being listed before its target Why does this choke
@@ -19,8 +28,8 @@
# - "Exec=aoss xkegs" in .desktop file
PRGNAM=kegs
-VERSION=${VERSION:-0.91}
-BUILD=${BUILD:-2}
+VERSION=${VERSION:-1.05}
+BUILD=${BUILD:-1}
TAG=${TAG:-_SBo}
if [ -z "$ARCH" ]; then
@@ -48,45 +57,48 @@ fi
set -e
+AUDIO=${AUDIO:-pulse}
+VARS=$CWD/makevars/vars.$AUDIO
+
+if [ ! -e $VARS ]; then
+ echo -n "*** AUDIO=\"$AUDIO\" not supported. Use one of: " 1>&2
+ list="$( ls -1 $CWD/makevars/vars.* | cut -d. -f2 )"
+ echo $list 1>&2
+ exit 1
+fi
+
rm -rf $PKG
mkdir -p $TMP $PKG $OUTPUT
cd $TMP
rm -rf $PRGNAM.$VERSION
-tar xvf $CWD/$PRGNAM.$VERSION.tar.gz --exclude vars
+tar xvf $CWD/$PRGNAM.$VERSION.tar.gz \
+ --exclude '*/KEGSMAC.app' \
+ --exclude xkegs
cd $PRGNAM.$VERSION
chown -R root:root .
-find -L . \
- \( -perm 777 -o -perm 775 -o -perm 750 -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 {} \;
+find -L . -perm /111 -a \! -perm 755 -a -exec chmod 755 {} \+ -o \
+ \! -perm /111 -a \! -perm 644 -a -exec chmod 644 {} \+
+
+# device name for joysticks has changed for the 21st century.
+sed -i 's,/dev/js,/dev/input/js,' src/joystick_driver.c
# xkegs refuses to close (close button greyed-out by window manager).
# Small patch by SlackBuild author fixes this large annoyance (which is
# extra-annoying because there's also no Quit option in the kegs menu).
# I've sent this upstream, maybe it'll get integrated in future versions.
+# 20210225 bkw: Years later. Patch had to change for 1.05. The README
+# for kegs *actually says* you can close the main KEGS window to quit,
+# *and you can't fucking close it* without this patch. Apologies if I
+# sound a bit strident, but...
patch -p1 < $CWD/allow_window_close.diff
-# Matthew Miller pointed out this patch to me. Since kegs uses OSS for
-# audio, and modern Slackware has ALSA OSS emulation disabled by default,
-# sound won't work unless xkegs is run via aoss, or OSS modules are
-# loaded. This patch allows the emulator to start with sound disabled if
-# it can't open the OSS audio device (instead of it being a fatal error).
-# I've also updated the README to explain how to get audio to work.
-patch -p1 < $CWD/allow_sound_open_fail.diff
-
cd src
rm -f vars
-ln -s vars_x86linux vars
-make CCOPTS="$SLKCFLAGS" x$PRGNAM to_pro partls
+cat $VARS > vars
+make SLKCFLAGS="$SLKCFLAGS" x$PRGNAM to_pro partls
cd -
# No install target, just stick it all where it goes.
-# The icon was converted from the Mac OSX icon with icns2png.
-# The .desktop has 'Terminal=true' because xkegs *really* wants
-# to be started from a terminal (the debugger uses stdio, and
-# is too easy to accidentally enter by center-clicking the window).
-
mkdir -p \
$PKG/usr/bin \
$PKG/usr/libexec \
@@ -97,12 +109,26 @@ mkdir -p \
install -s -m0755 x$PRGNAM $PKG/usr/libexec/
install -s -m0755 src/to_pro src/partls $PKG/usr/bin/
install -m0755 $CWD/x$PRGNAM.sh $PKG/usr/bin/x$PRGNAM
-install -m0644 $CWD/$PRGNAM.png $PKG/usr/share/pixmaps/
install -m0644 $CWD/$PRGNAM.desktop $PKG/usr/share/applications/
+install -m0644 $CWD/config.$PRGNAM.default $PKG/usr/share/$PRGNAM
+
+# The icons were converted from the Mac OSX icon with icns2png.
+for i in 16 32 48 128; do
+ idir=$PKG/usr/share/icons/hicolor/${i}x${i}/apps
+ mkdir -p $idir
+ cat $CWD/icons/$i.png > $idir/$PRGNAM.png
+done
+
+# old-style icon (e.g. windowmaker, fvwm2)
+ln -s ../icons/hicolor/48x48/apps/$PRGNAM.png $PKG/usr/share/pixmaps/$PRGNAM.png
+
+# Include the ROM image in the package. It's been available on the
+# asimov site for at least 20 years now, Apple has never complained.
+unzip -p $CWD/gsrom03.zip > $PKG/usr/share/$PRGNAM/rom03
# Man pages are specific to the SlackBuild, though I've sent
# them upstream for consideration.
-for file in $CWD/*.1; do
+for file in $CWD/man/*.1; do
sed "s/@VERSION@/$VERSION/g" $file \
| gzip -9c \
> $PKG/usr/man/man1/$( basename $file ).gz
@@ -113,34 +139,12 @@ done
ln -s x$PRGNAM.1.gz $PKG/usr/man/man1/$PRGNAM.1.gz
ln -s x$PRGNAM $PKG/usr/bin/$PRGNAM
-# Handle the ROM image, if we find it. Filenames are listed in
-# reverse order of preference.
-for file in ROM01 rom01 ROM03 rom03; do
- if [ -e "$CWD/$file" ]; then
- ROMFILE="$CWD/$file"
- fi
-done
-
-if [ -e "$ROMFILE" ]; then
- ROMNAME="$( basename "$ROMFILE" )"
- install -m0644 "$ROMFILE" $PKG/usr/share/$PRGNAM
-else
- # We don't have a ROM, so we don't include one in the package, but we
- # do still set the path to /usr/share/kegs/rom03 in the config file,
- # so all the user has to do is copy the ROM there later.
- ROMNAME=rom03
-fi
-
-sed "s,@ROM@,/usr/share/$PRGNAM/$ROMNAME," \
- < $CWD/config.$PRGNAM.default \
- > $PKG/usr/share/$PRGNAM/config.$PRGNAM.default
-
mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION
install -m0644 *.txt $PKG/usr/doc/$PRGNAM-$VERSION
cat $CWD/$PRGNAM.SlackBuild > $PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM.SlackBuild
mkdir -p $PKG/install
-cat $CWD/slack-desc > $PKG/install/slack-desc
+sed "s,@AUDIO@,$AUDIO," $CWD/slack-desc > $PKG/install/slack-desc
cat $CWD/doinst.sh > $PKG/install/doinst.sh
cd $PKG
diff --git a/system/kegs/kegs.desktop b/system/kegs/kegs.desktop
index 229dc9fe7d..3339d2bafa 100644
--- a/system/kegs/kegs.desktop
+++ b/system/kegs/kegs.desktop
@@ -3,8 +3,8 @@ Version=1.0
Name=KEGS
GenericName=Apple IIgs Emulator
Type=Application
-Exec=aoss xkegs
+Exec=xkegs
Icon=kegs
-Terminal=true
+Terminal=false
StartupNotify=false
Categories=Game;Emulator;
diff --git a/system/kegs/kegs.info b/system/kegs/kegs.info
index db8446cf08..937cf787c0 100644
--- a/system/kegs/kegs.info
+++ b/system/kegs/kegs.info
@@ -1,8 +1,10 @@
PRGNAM="kegs"
-VERSION="0.91"
+VERSION="1.05"
HOMEPAGE="http://kegs.sourceforge.net/"
-DOWNLOAD="http://kegs.sourceforge.net/kegs.0.91.tar.gz"
-MD5SUM="ec3967d3276bb3d1dd601c7b8f750df5"
+DOWNLOAD="http://kegs.sourceforge.net/kegs.1.05.tar.gz \
+ https://mirrors.apple2.org.za/ftp.apple.asimov.net/emulators/rom_images/gsrom03.zip"
+MD5SUM="b7f0452bf173eecdfadf9a82c4f75bea \
+ 029ebd31845614636f6a34a19730cd57"
DOWNLOAD_x86_64=""
MD5SUM_x86_64=""
REQUIRES=""
diff --git a/system/kegs/makevars/vars.alsa b/system/kegs/makevars/vars.alsa
new file mode 100644
index 0000000000..c8eb5b26aa
--- /dev/null
+++ b/system/kegs/makevars/vars.alsa
@@ -0,0 +1,7 @@
+TARGET = xkegs
+OBJECTS1 = xdriver.o
+CCOPTS = $(SLKCFLAGS)
+NAME = xkegs
+LD = $(CC)
+EXTRA_LIBS = -lXext -laoss
+EXTRA_SPECIALS =
diff --git a/system/kegs/makevars/vars.oss b/system/kegs/makevars/vars.oss
new file mode 100644
index 0000000000..e71940cd21
--- /dev/null
+++ b/system/kegs/makevars/vars.oss
@@ -0,0 +1,7 @@
+TARGET = xkegs
+OBJECTS1 = xdriver.o
+CCOPTS = $(SLKCFLAGS)
+NAME = xkegs
+LD = $(CC)
+EXTRA_LIBS = -lXext
+EXTRA_SPECIALS =
diff --git a/system/kegs/makevars/vars.pulse b/system/kegs/makevars/vars.pulse
new file mode 100644
index 0000000000..8521ec9b6f
--- /dev/null
+++ b/system/kegs/makevars/vars.pulse
@@ -0,0 +1,7 @@
+TARGET = xkegs
+OBJECTS1 = pulseaudio_driver.o xdriver.o
+CCOPTS = $(SLKCFLAGS) -DPULSE_AUDIO
+NAME = xkegs
+LD = $(CC)
+EXTRA_LIBS = -lXext -lpulse
+EXTRA_SPECIALS =
diff --git a/system/kegs/partls.1 b/system/kegs/man/partls.1
index 1af148532b..1af148532b 100644
--- a/system/kegs/partls.1
+++ b/system/kegs/man/partls.1
diff --git a/system/kegs/to_pro.1 b/system/kegs/man/to_pro.1
index a58fada52d..a58fada52d 100644
--- a/system/kegs/to_pro.1
+++ b/system/kegs/man/to_pro.1
diff --git a/system/kegs/xkegs.1 b/system/kegs/man/xkegs.1
index 907a6095cd..eb14f217e6 100644
--- a/system/kegs/xkegs.1
+++ b/system/kegs/man/xkegs.1
@@ -86,8 +86,7 @@ Unlimited, 1MHz, 2.8MHz, 8.0MHz
Enter KEGS debugger (can also be done by center\-clicking the mouse on
the xkegs window).
.br
-The debugger is tty\-based, and runs on the terminal
-that xkegs was started from.
+The debugger is X\-based, and runs in a separate window.
.TP
\fBF7\fR
Toggle fast_disk_emul on/off
diff --git a/system/kegs/slack-desc b/system/kegs/slack-desc
index 5db61e7330..3ecf8b066b 100644
--- a/system/kegs/slack-desc
+++ b/system/kegs/slack-desc
@@ -13,7 +13,7 @@ kegs: Apple IIgs was the most powerful computer in the Apple II line. It
kegs: first was sold in 1986. An Apple IIgs has the capability to run almost
kegs: all Apple II, Apple IIe, and Apple IIc programs.
kegs:
-kegs:
+kegs: Package built with audio system '@AUDIO@'.
kegs:
kegs:
kegs:
diff --git a/system/kegs/xkegs.sh b/system/kegs/xkegs.sh
index 55f0719b73..a947f07f76 100644
--- a/system/kegs/xkegs.sh
+++ b/system/kegs/xkegs.sh
@@ -8,8 +8,13 @@
# read it from /usr/share/kegs/config.kegs, but it'll freeze if
# it doesn't have write permission!
+# Update for v1.05: kegs will now start without ~/.config.kegs,
+# but if you do that, it'll save its config in the current dir as
+# "config.kegs" (no leading dot). So this wrapper's still necessary.
+# Added the missing "$@" so options actually get passed to kegs.
+
if [ ! -e ~/.config.kegs ]; then
cat /usr/share/kegs/config.kegs.default > ~/.config.kegs
fi
-exec /usr/libexec/xkegs
+exec /usr/libexec/xkegs "$@"
diff --git a/system/kexec-tools/kexec-tools.SlackBuild b/system/kexec-tools/kexec-tools.SlackBuild
index 6ad22a783c..26d151c93c 100644
--- a/system/kexec-tools/kexec-tools.SlackBuild
+++ b/system/kexec-tools/kexec-tools.SlackBuild
@@ -4,7 +4,7 @@
# Written by powtrix (@gmail.com)
PRGNAM=kexec-tools
-VERSION=${VERSION:-2.0.19}
+VERSION=${VERSION:-2.0.20}
BUILD=${BUILD:-1}
TAG=${TAG:-_SBo}
diff --git a/system/kexec-tools/kexec-tools.info b/system/kexec-tools/kexec-tools.info
index bb3224a7ee..f985835884 100644
--- a/system/kexec-tools/kexec-tools.info
+++ b/system/kexec-tools/kexec-tools.info
@@ -1,8 +1,8 @@
PRGNAM="kexec-tools"
-VERSION="2.0.19"
+VERSION="2.0.20"
HOMEPAGE="http://horms.net/projects/kexec/"
-DOWNLOAD="https://www.kernel.org/pub/linux/utils/kernel/kexec/kexec-tools-2.0.19.tar.xz"
-MD5SUM="d399dc099fac5f384b429f09d79b2608"
+DOWNLOAD="https://mirrors.edge.kernel.org/pub/linux/utils/kernel/kexec/kexec-tools-2.0.20.tar.xz"
+MD5SUM="3b3ee68064648b1b9e86ad93b1c50644"
DOWNLOAD_x86_64=""
MD5SUM_x86_64=""
REQUIRES=""
diff --git a/system/keybase/keybase.SlackBuild b/system/keybase/keybase.SlackBuild
index 08bef69ed5..e2f38806ed 100644
--- a/system/keybase/keybase.SlackBuild
+++ b/system/keybase/keybase.SlackBuild
@@ -2,7 +2,7 @@
# Slackware build script for keybase
-# Copyright 2016-2019 Willy Sudiarto Raharjo <willysr@slackbuilds.org>
+# Copyright 2016-2021 Willy Sudiarto Raharjo <willysr@slackbuilds.org>
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
@@ -24,7 +24,7 @@
PRGNAM=keybase
SRCNAM=client
-VERSION=${VERSION:-5.0.0}
+VERSION=${VERSION:-5.6.1}
BUILD=${BUILD:-1}
TAG=${TAG:-_SBo}
diff --git a/system/keybase/keybase.info b/system/keybase/keybase.info
index 52f3b20566..367a1a72bb 100644
--- a/system/keybase/keybase.info
+++ b/system/keybase/keybase.info
@@ -1,8 +1,8 @@
PRGNAM="keybase"
-VERSION="5.0.0"
+VERSION="5.6.1"
HOMEPAGE="https://github.com/keybase/client"
-DOWNLOAD="https://github.com/keybase/client/archive/v5.0.0/client-5.0.0.tar.gz"
-MD5SUM="2d73dd3fb2f642af9f3de1568bb84c16"
+DOWNLOAD="https://github.com/keybase/client/archive/v5.6.1/client-5.6.1.tar.gz"
+MD5SUM="3acd34467dccfad5a7d93741aeea3724"
DOWNLOAD_x86_64=""
MD5SUM_x86_64=""
REQUIRES="google-go-lang"
diff --git a/system/kfc/README b/system/kfc/README
new file mode 100644
index 0000000000..d22ebeff3c
--- /dev/null
+++ b/system/kfc/README
@@ -0,0 +1,4 @@
+kfc (terminal-emulator color palette setter)
+
+kfc uses extended escape codes to set the 16-color ANSI palette in
+supported terminals. Over 300 palettes are included.
diff --git a/system/kfc/kfc.1 b/system/kfc/kfc.1
new file mode 100644
index 0000000000..081636a30c
--- /dev/null
+++ b/system/kfc/kfc.1
@@ -0,0 +1,92 @@
+.\" Man page generated from reStructuredText.
+.
+.TH KFC 1 "2020-11-23" "0.1.2" "SlackBuilds.org"
+.SH NAME
+kfc \- terminal-emulator color palette setter
+.
+.nr rst2man-indent-level 0
+.
+.de1 rstReportMargin
+\\$1 \\n[an-margin]
+level \\n[rst2man-indent-level]
+level margin: \\n[rst2man-indent\\n[rst2man-indent-level]]
+-
+\\n[rst2man-indent0]
+\\n[rst2man-indent1]
+\\n[rst2man-indent2]
+..
+.de1 INDENT
+.\" .rstReportMargin pre:
+. RS \\$1
+. nr rst2man-indent\\n[rst2man-indent-level] \\n[an-margin]
+. nr rst2man-indent-level +1
+.\" .rstReportMargin post:
+..
+.de UNINDENT
+. RE
+.\" indent \\n[an-margin]
+.\" old: \\n[rst2man-indent\\n[rst2man-indent-level]]
+.nr rst2man-indent-level -1
+.\" new: \\n[rst2man-indent\\n[rst2man-indent-level]]
+.in \\n[rst2man-indent\\n[rst2man-indent-level]]u
+..
+.\" RST source for kfc(1) man page. Convert with:
+.
+.\" rst2man.py kfc.rst > kfc.1
+.
+.\" rst2man.py comes from the SBo development/docutils package.
+.
+.\" converting from pod:
+.
+.\" s/B<\([^>]*\)>/**\1**/g
+.
+.\" s/I<\([^>]*\)>/*\1*/g
+.
+.SH SYNOPSIS
+.sp
+kfc [\fI\-L\fP] [\fI\-r\fP | \fI\-s palette\fP] [\fI\-l\fP | \fI\-p\fP | \fI\-v\fP]
+.SH DESCRIPTION
+.sp
+This project was inspired by Dylan Arap\(aqs POSIX shell script,
+okpal, which utilizes 16 ANSI colors to control the color scheme
+of existing terminal\-emulator windows. This allows one to achieve
+consistent colors across all terminal utilities and applications. This
+application has similar functionality to okpal but is designed with
+execution speed in mind. There are currently 300 light and dark color
+palettes offered at this time that can be applied and quickly swapped
+out for others.
+.SH OPTIONS
+.INDENT 0.0
+.TP
+.B \-L
+Set light themes (modifier for \-s/\-r)
+.TP
+.B \-r
+Select a random palette (dark theme by default)
+.TP
+.BI \-s \ palette
+Select a palette (dark theme by default)
+.TP
+.B \-l
+List all palettes (dark themes by default)
+.TP
+.B \-p
+Print current palette
+.TP
+.B \-v
+Show version information
+.UNINDENT
+.SH COPYRIGHT
+.sp
+See the file /usr/doc/kfc\-0.1.2/LICENSE for license information.
+.SH AUTHORS
+.sp
+kfc was written by Michael Czigler.
+.sp
+This man page written for the SlackBuilds.org project
+by B. Watson, and is licensed under the WTFPL.
+.SH SEE ALSO
+.sp
+The kfc homepage: \fI\%https://github.com/mcpcpc/kfc\fP
+.\" Generated by docutils manpage writer.
+.
diff --git a/system/kfc/kfc.SlackBuild b/system/kfc/kfc.SlackBuild
new file mode 100644
index 0000000000..29eb4f508f
--- /dev/null
+++ b/system/kfc/kfc.SlackBuild
@@ -0,0 +1,71 @@
+#!/bin/sh
+
+# Slackware build script for kfc
+
+# Written by B. Watson (yalhcru@gmail.com)
+
+# Licensed under the WTFPL. See http://www.wtfpl.net/txt/copying/ for details.
+
+PRGNAM=kfc
+VERSION=${VERSION:-0.1.2}
+BUILD=${BUILD:-1}
+TAG=${TAG:-_SBo}
+
+if [ -z "$ARCH" ]; then
+ case "$( uname -m )" in
+ i?86) ARCH=i586 ;;
+ arm*) ARCH=arm ;;
+ *) ARCH=$( uname -m ) ;;
+ esac
+fi
+
+CWD=$(pwd)
+TMP=${TMP:-/tmp/SBo}
+PKG=$TMP/package-$PRGNAM
+OUTPUT=${OUTPUT:-/tmp}
+
+if [ "$ARCH" = "i586" ]; then
+ SLKCFLAGS="-O2 -march=i586 -mtune=i686"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "i686" ]; then
+ SLKCFLAGS="-O2 -march=i686 -mtune=i686"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "x86_64" ]; then
+ SLKCFLAGS="-O2 -fPIC"
+ LIBDIRSUFFIX="64"
+else
+ SLKCFLAGS="-O2"
+ LIBDIRSUFFIX=""
+fi
+
+set -e
+
+rm -rf $PKG
+mkdir -p $TMP $PKG $OUTPUT
+cd $TMP
+rm -rf $PRGNAM-$VERSION
+tar xvf $CWD/$PRGNAM-$VERSION.tar.gz
+cd $PRGNAM-$VERSION
+chown -R root:root .
+find -L . -perm /111 -a \! -perm 755 -a -exec chmod 755 {} \+ -o \
+ \! -perm /111 -a \! -perm 644 -a -exec chmod 644 {} \+
+
+# Squelch this pointless warning.
+sed -i '/"XDG_CONFIG_HOME is not defined/d' $PRGNAM.c
+
+make CFLAGS="$SLKCFLAGS -Wl,-s"
+make install DESTDIR=$PKG
+
+mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION
+cp -a LICENSE README docs/* $PKG/usr/doc/$PRGNAM-$VERSION
+cat $CWD/$PRGNAM.SlackBuild > $PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM.SlackBuild
+
+# man page by SlackBuild author, culled from README and usage output
+mkdir -p $PKG/usr/man/man1
+gzip -9c < $CWD/$PRGNAM.1 > $PKG/usr/man/man1/$PRGNAM.1.gz
+
+mkdir -p $PKG/install
+cat $CWD/slack-desc > $PKG/install/slack-desc
+
+cd $PKG
+/sbin/makepkg -l y -c n $OUTPUT/$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.${PKGTYPE:-tgz}
diff --git a/system/kfc/kfc.info b/system/kfc/kfc.info
new file mode 100644
index 0000000000..1f0fd9dec2
--- /dev/null
+++ b/system/kfc/kfc.info
@@ -0,0 +1,10 @@
+PRGNAM="kfc"
+VERSION="0.1.2"
+HOMEPAGE="https://github.com/mcpcpc/kfc"
+DOWNLOAD="https://github.com/mcpcpc/kfc/archive/0.1.2/kfc-0.1.2.tar.gz"
+MD5SUM="edd5b6eb81d85f4e1f7623f623f7c083"
+DOWNLOAD_x86_64=""
+MD5SUM_x86_64=""
+REQUIRES=""
+MAINTAINER="B. Watson"
+EMAIL="yalhcru@gmail.com"
diff --git a/system/kfc/kfc.rst b/system/kfc/kfc.rst
new file mode 100644
index 0000000000..2fa08b524c
--- /dev/null
+++ b/system/kfc/kfc.rst
@@ -0,0 +1,68 @@
+.. RST source for kfc(1) man page. Convert with:
+.. rst2man.py kfc.rst > kfc.1
+.. rst2man.py comes from the SBo development/docutils package.
+
+.. |version| replace:: 0.1.2
+.. |date| date::
+
+.. converting from pod:
+.. s/B<\([^>]*\)>/**\1**/g
+.. s/I<\([^>]*\)>/*\1*/g
+
+===
+kfc
+===
+
+--------------------------------------
+terminal-emulator color palette setter
+--------------------------------------
+
+:Manual section: 1
+:Manual group: SlackBuilds.org
+:Date: |date|
+:Version: |version|
+
+SYNOPSIS
+========
+
+kfc [*-L*] [*-r* | *-s palette*] [*-l* | *-p* | *-v*]
+
+DESCRIPTION
+===========
+
+This project was inspired by Dylan Arap's POSIX shell script,
+okpal, which utilizes 16 ANSI colors to control the color scheme
+of existing terminal-emulator windows. This allows one to achieve
+consistent colors across all terminal utilities and applications. This
+application has similar functionality to okpal but is designed with
+execution speed in mind. There are currently 300 light and dark color
+palettes offered at this time that can be applied and quickly swapped
+out for others.
+
+OPTIONS
+=======
+
+-L Set light themes (modifier for -s/-r)
+-r Select a random palette (dark theme by default)
+-s palette Select a palette (dark theme by default)
+-l List all palettes (dark themes by default)
+-p Print current palette
+-v Show version information
+
+COPYRIGHT
+=========
+
+See the file /usr/doc/kfc-|version|/LICENSE for license information.
+
+AUTHORS
+=======
+
+kfc was written by Michael Czigler.
+
+This man page written for the SlackBuilds.org project
+by B. Watson, and is licensed under the WTFPL.
+
+SEE ALSO
+========
+
+The kfc homepage: https://github.com/mcpcpc/kfc
diff --git a/system/kfc/slack-desc b/system/kfc/slack-desc
new file mode 100644
index 0000000000..fda7fdcf00
--- /dev/null
+++ b/system/kfc/slack-desc
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description.
+# Line up the first '|' above the ':' following the base package name, and
+# the '|' on the right side marks the last column you can put a character in.
+# You must make exactly 11 lines for the formatting to be correct. It's also
+# customary to leave one space after the ':' except on otherwise blank lines.
+
+ |-----handy-ruler------------------------------------------------------|
+kfc: kfc (terminal-emulator color palette setter)
+kfc:
+kfc: kfc uses extended escape codes to set the 16-color ANSI palette in
+kfc: supported terminals. Over 300 palettes are included.
+kfc:
+kfc:
+kfc:
+kfc:
+kfc:
+kfc:
+kfc:
diff --git a/system/kitchen-sync/kitchen-sync.SlackBuild b/system/kitchen-sync/kitchen-sync.SlackBuild
index e51808927b..7d85b220aa 100644
--- a/system/kitchen-sync/kitchen-sync.SlackBuild
+++ b/system/kitchen-sync/kitchen-sync.SlackBuild
@@ -2,7 +2,7 @@
# Slackware build script for kitchen-sync
-# Copyright 2016-2019 Andrew Clemons, Wellington New Zealand
+# Copyright 2016-2020 Andrew Clemons, Wellington New Zealand
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
@@ -24,7 +24,7 @@
PRGNAM=kitchen-sync
SRCNAM=$(echo "$PRGNAM" | tr '-' '_')
-VERSION=${VERSION:-1.17}
+VERSION=${VERSION:-2.10}
BUILD=${BUILD:-1}
TAG=${TAG:-_SBo}
@@ -59,7 +59,9 @@ cd $TMP
rm -rf $SRCNAM-$VERSION
tar xvf $CWD/$SRCNAM-$VERSION.tar.gz
cd $SRCNAM-$VERSION
+
zcat $CWD/0001-Restore-compatibility-with-1.0-servers.patch.gz | patch -p1
+
chown -R root:root .
find -L . \
\( -perm 777 -o -perm 775 -o -perm 750 -o -perm 711 -o -perm 555 \
diff --git a/system/kitchen-sync/kitchen-sync.info b/system/kitchen-sync/kitchen-sync.info
index 046adb0f24..0ef6843485 100644
--- a/system/kitchen-sync/kitchen-sync.info
+++ b/system/kitchen-sync/kitchen-sync.info
@@ -1,8 +1,8 @@
PRGNAM="kitchen-sync"
-VERSION="1.17"
+VERSION="2.10"
HOMEPAGE="https://github.com/willbryant/kitchen_sync"
-DOWNLOAD="https://github.com/willbryant/kitchen_sync/archive/v1.17/kitchen_sync-1.17.tar.gz"
-MD5SUM="54290cca72b0d0b8e53381e38296c060"
+DOWNLOAD="https://github.com/willbryant/kitchen_sync/archive/v2.10/kitchen_sync-2.10.tar.gz"
+MD5SUM="e5c7a8a83966e41e16b2ee37c10365ac"
DOWNLOAD_x86_64=""
MD5SUM_x86_64=""
REQUIRES=""
diff --git a/system/kitty/README b/system/kitty/README
new file mode 100644
index 0000000000..a4cb22c88e
--- /dev/null
+++ b/system/kitty/README
@@ -0,0 +1,14 @@
+kitty (fast, featureful, GPU-based terminal emulator)
+
+kitty is a terminal emulator for X11 and Wayland[1], which offloads
+the rendering to the GPU[2] and supports modern terminal features. It
+also supports tiling multiple terminal windows without using an extra
+program like screen or tmux.
+
+[1] For Wayland support, install wayland-protocols before building
+ kitty. It will be auto-detected. It may be necessary to add the
+ following line to ~/.config/kitty/kitty.conf:
+
+ linux_display_server wayland
+
+[2] Requires hardware-accelerated OpenGL support.
diff --git a/system/fs-uae/doinst.sh b/system/kitty/doinst.sh
index 4a25de5e6f..3e5691a052 100644
--- a/system/fs-uae/doinst.sh
+++ b/system/kitty/doinst.sh
@@ -4,7 +4,6 @@ fi
if [ -e usr/share/icons/hicolor/icon-theme.cache ]; then
if [ -x /usr/bin/gtk-update-icon-cache ]; then
- /usr/bin/gtk-update-icon-cache -f usr/share/icons/hicolor >/dev/null 2>&1
+ /usr/bin/gtk-update-icon-cache usr/share/icons/hicolor >/dev/null 2>&1
fi
fi
-
diff --git a/system/kitty/kitty.SlackBuild b/system/kitty/kitty.SlackBuild
new file mode 100644
index 0000000000..7a6708062d
--- /dev/null
+++ b/system/kitty/kitty.SlackBuild
@@ -0,0 +1,99 @@
+#!/bin/sh
+
+# Slackware build script for kitty
+
+# Written by B. Watson (yalhcru@gmail.com)
+
+# Licensed under the WTFPL. See http://www.wtfpl.net/txt/copying/ for details.
+
+PRGNAM=kitty
+VERSION=${VERSION:-0.19.3}
+BUILD=${BUILD:-1}
+TAG=${TAG:-_SBo}
+
+if [ -z "$ARCH" ]; then
+ case "$( uname -m )" in
+ i?86) ARCH=i586 ;;
+ arm*) ARCH=arm ;;
+ *) ARCH=$( uname -m ) ;;
+ esac
+fi
+
+CWD=$(pwd)
+TMP=${TMP:-/tmp/SBo}
+PKG=$TMP/package-$PRGNAM
+OUTPUT=${OUTPUT:-/tmp}
+
+if [ "$ARCH" = "i586" ]; then
+ SLKCFLAGS="-O2 -march=i586 -mtune=i686"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "i686" ]; then
+ SLKCFLAGS="-O2 -march=i686 -mtune=i686"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "x86_64" ]; then
+ SLKCFLAGS="-O2 -fPIC"
+ LIBDIRSUFFIX="64"
+else
+ SLKCFLAGS="-O2"
+ LIBDIRSUFFIX=""
+fi
+
+set -e
+
+rm -rf $PKG
+mkdir -p $TMP $PKG $OUTPUT
+cd $TMP
+rm -rf $PRGNAM-$VERSION
+tar xvf $CWD/$PRGNAM-$VERSION.tar.xz
+cd $PRGNAM-$VERSION
+chown -R root:root .
+find -L . -perm /111 -a \! -perm 755 -a -exec chmod 755 {} \+ -o \
+ \! -perm /111 -a \! -perm 644 -a -exec chmod 644 {} \+
+
+# The Makefile ain't a real Makefile, everything's done in setup.py. Which
+# has issues:
+# - upstream claims harfbuzz >= 1.5 is required, but 14.2's 1.2 seems to work
+# just fine.
+# - CFLAGS not supported, -O3 hardcoded. The OVERRIDE stuff works, but the
+# hardcoded -O3 comes *after* them on the gcc command line. Grr.
+# - -Werror is used when compiling launcher.c, no way to disable. This assumes
+# upstream is perfect at writing code that compiles without warnings on every
+# version of gcc we might ever happen to use, and I don't believe it.
+# So, sed surgery.
+
+sed -i \
+ -e "/at_least_version('harfbuzz/s,5,2," \
+ -e 's,-O3,-O2,g' \
+ -e 's,-Werror , ,g' \
+ setup.py
+
+# The -Wl,-s makes the linker strip the binaries.
+OVERRIDE_CPPFLAGS="$SLKCFLAGS -Wl,-s" \
+OVERRIDE_CFLAGS="$SLKCFLAGS -Wl,-s" \
+ python3 setup.py --libdir-name lib$LIBDIRSUFFIX --verbose linux-package
+
+mkdir -p $PKG/usr/bin $PKG/usr/share $PKG/usr/lib$LIBDIRSUFFIX
+cp -a linux-package/bin/* $PKG/usr/bin
+cp -a linux-package/share/* $PKG/usr/share
+cp -a linux-package/lib*/* $PKG/usr/lib$LIBDIRSUFFIX
+
+mv $PKG/usr/share/man $PKG/usr/man
+gzip $PKG/usr/man/man?/*.?
+
+mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION
+mv $PKG/usr/share/doc/$PRGNAM/html $PKG/usr/doc/$PRGNAM-$VERSION
+rm -rf $PKG/usr/share/doc/
+cp -a CHANGELOG* CONTRIBUTING* README* LICENSE* $PKG/usr/doc/$PRGNAM-$VERSION
+cat $CWD/$PRGNAM.SlackBuild > $PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM.SlackBuild
+
+# make slack-desc reflect the display types the package is built for
+L=$PKG/usr/lib$LIBDIRSUFFIX/$PRGNAM/$PRGNAM
+[ -e $L/glfw-x11.so ] && DISPLAYS+=" X11"
+[ -e $L/glfw-wayland.so ] && DISPLAYS+=" Wayland"
+
+mkdir -p $PKG/install
+sed "s,@DISPLAYS@,$DISPLAYS," $CWD/slack-desc > $PKG/install/slack-desc
+cat $CWD/doinst.sh > $PKG/install/doinst.sh
+
+cd $PKG
+/sbin/makepkg -l y -c n $OUTPUT/$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.${PKGTYPE:-tgz}
diff --git a/system/kitty/kitty.info b/system/kitty/kitty.info
new file mode 100644
index 0000000000..2047627277
--- /dev/null
+++ b/system/kitty/kitty.info
@@ -0,0 +1,10 @@
+PRGNAM="kitty"
+VERSION="0.19.3"
+HOMEPAGE="https://sw.kovidgoyal.net/kitty/"
+DOWNLOAD="https://github.com/kovidgoyal/kitty/releases/download/v0.19.3/kitty-0.19.3.tar.xz"
+MD5SUM="262b677889d9b979b9ce609ec7b75186"
+DOWNLOAD_x86_64=""
+MD5SUM_x86_64=""
+REQUIRES="python3 libxkbcommon"
+MAINTAINER="B. Watson"
+EMAIL="yalhcru@gmail.com"
diff --git a/system/kitty/slack-desc b/system/kitty/slack-desc
new file mode 100644
index 0000000000..c48660175a
--- /dev/null
+++ b/system/kitty/slack-desc
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description.
+# Line up the first '|' above the ':' following the base package name, and
+# the '|' on the right side marks the last column you can put a character in.
+# You must make exactly 11 lines for the formatting to be correct. It's also
+# customary to leave one space after the ':' except on otherwise blank lines.
+
+ |-----handy-ruler------------------------------------------------------|
+kitty: kitty (fast, featureful, GPU-based terminal emulator)
+kitty:
+kitty: kitty is a terminal emulator for X11 and Wayland, which offloads the
+kitty: rendering to the GPU and supports modern terminal features. It also
+kitty: supports tiling multiple terminal windows without using an extra
+kitty: program like screen or tmux.
+kitty:
+kitty: This package supports:@DISPLAYS@
+kitty:
+kitty:
+kitty:
diff --git a/system/komparator4/komparator4.info b/system/komparator4/komparator4.info
index 2490df849e..56de2cece7 100644
--- a/system/komparator4/komparator4.info
+++ b/system/komparator4/komparator4.info
@@ -6,5 +6,5 @@ MD5SUM="d78648dfd45dfec0ec8eb161da98ea73"
DOWNLOAD_x86_64=""
MD5SUM_x86_64=""
REQUIRES=""
-MAINTAINER="orphaned - no maintainer"
-EMAIL="nobody@nowhere"
+MAINTAINER="Jeremy Hansen"
+EMAIL="jebrhansen+SBo@gmail.com"
diff --git a/system/laptop-mode-tools/laptop-mode-tools.SlackBuild b/system/laptop-mode-tools/laptop-mode-tools.SlackBuild
index 777d8d5ea5..61cc194757 100644
--- a/system/laptop-mode-tools/laptop-mode-tools.SlackBuild
+++ b/system/laptop-mode-tools/laptop-mode-tools.SlackBuild
@@ -24,7 +24,7 @@
# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
PRGNAM=laptop-mode-tools
-VERSION=${VERSION:-1.72.2}
+VERSION=${VERSION:-1.74}
BUILD=${BUILD:-1}
TAG=${TAG:-_SBo}
diff --git a/system/laptop-mode-tools/laptop-mode-tools.info b/system/laptop-mode-tools/laptop-mode-tools.info
index 409c3e9140..dc4da417af 100644
--- a/system/laptop-mode-tools/laptop-mode-tools.info
+++ b/system/laptop-mode-tools/laptop-mode-tools.info
@@ -1,8 +1,8 @@
PRGNAM="laptop-mode-tools"
-VERSION="1.72.2"
+VERSION="1.74"
HOMEPAGE="https://github.com/rickysarraf/laptop-mode-tools"
-DOWNLOAD="https://github.com/rickysarraf/laptop-mode-tools/archive/1.72.2/laptop-mode-tools-1.72.2.tar.gz"
-MD5SUM="8a7b3658b0137ce893fe6a224fffd7ba"
+DOWNLOAD="https://github.com/rickysarraf/laptop-mode-tools/archive/1.74/laptop-mode-tools-1.74.tar.gz"
+MD5SUM="990f7aa20adffd2d3482ad57385399a4"
DOWNLOAD_x86_64=""
MD5SUM_x86_64=""
REQUIRES="python3-PyQt5"
diff --git a/system/lbench/lbench.info b/system/lbench/lbench.info
index 99b4b5abdf..39c6d2d16d 100644
--- a/system/lbench/lbench.info
+++ b/system/lbench/lbench.info
@@ -1,7 +1,7 @@
PRGNAM="lbench"
VERSION="3.7"
HOMEPAGE="http://kornelix.net/lbench/lbench.html"
-DOWNLOAD="http://kornelix.net/downloads/tarballs/lbench-3.7.tar.gz"
+DOWNLOAD="http://ponce.cc/slackware/sources/repo/lbench-3.7.tar.gz"
MD5SUM="ba1cf6181d3748489ebe68b3c98d3565"
DOWNLOAD_x86_64=""
MD5SUM_x86_64=""
diff --git a/system/lddsafe/README b/system/lddsafe/README
new file mode 100644
index 0000000000..d1f180e6be
--- /dev/null
+++ b/system/lddsafe/README
@@ -0,0 +1,6 @@
+lddsafe (safe replacement for ldd)
+
+lddsafe prints shared library dependencies for executables and shared
+libraries. However, it uses objdump instead of loading the program,
+hence avoiding the security problems of ldd. lddsafe also includes
+nonrecursive mode (-n option), which lists direct dependencies only.
diff --git a/system/lddsafe/lddsafe.1 b/system/lddsafe/lddsafe.1
new file mode 100644
index 0000000000..9b4ae84fbd
--- /dev/null
+++ b/system/lddsafe/lddsafe.1
@@ -0,0 +1,66 @@
+.\" Man page generated from reStructuredText.
+.
+.TH LDDSAFE 1 "2021-02-28" "20110819_02842ba" "SlackBuilds.org"
+.SH NAME
+lddsafe \- safely print shared library dependencies (similar to ldd)
+.
+.nr rst2man-indent-level 0
+.
+.de1 rstReportMargin
+\\$1 \\n[an-margin]
+level \\n[rst2man-indent-level]
+level margin: \\n[rst2man-indent\\n[rst2man-indent-level]]
+-
+\\n[rst2man-indent0]
+\\n[rst2man-indent1]
+\\n[rst2man-indent2]
+..
+.de1 INDENT
+.\" .rstReportMargin pre:
+. RS \\$1
+. nr rst2man-indent\\n[rst2man-indent-level] \\n[an-margin]
+. nr rst2man-indent-level +1
+.\" .rstReportMargin post:
+..
+.de UNINDENT
+. RE
+.\" indent \\n[an-margin]
+.\" old: \\n[rst2man-indent\\n[rst2man-indent-level]]
+.nr rst2man-indent-level -1
+.\" new: \\n[rst2man-indent\\n[rst2man-indent-level]]
+.in \\n[rst2man-indent\\n[rst2man-indent-level]]u
+..
+.\" RST source for lddsafe(1) man page. Convert with:
+.
+.\" rst2man.py lddsafe.rst > lddsafe.1
+.
+.\" rst2man.py comes from the SBo development/docutils package.
+.
+.SH SYNOPSIS
+.sp
+lddsafe [\fI\-n\fP] \fBFILE\fP ...
+.SH DESCRIPTION
+.sp
+lddsafe is a shell script written for Linux distributions (tested
+under Slackware Linux) that prints shared library dependencies for
+executable files and shared libraries, similar to ldd. However,
+it uses objdump instead of loading the program, hence avoiding the
+security problems of ldd.
+.SH OPTIONS
+.INDENT 0.0
+.TP
+.B \-n
+Nonrecursive mode. List direct dependencies only.
+.UNINDENT
+.SH AUTHORS
+.sp
+lddsafe was written by Ricardo Garcia Gonzalez and Ivan Mironov, and
+released as public domain code.
+.sp
+This man page written for the SlackBuilds.org project
+by B. Watson, and is licensed under the WTFPL.
+.SH SEE ALSO
+.sp
+The lddsafe homepage: \fI\%https://github.com/rg3/lddsafe/\fP
+.\" Generated by docutils manpage writer.
+.
diff --git a/system/lddsafe/lddsafe.SlackBuild b/system/lddsafe/lddsafe.SlackBuild
new file mode 100644
index 0000000000..abd02d1575
--- /dev/null
+++ b/system/lddsafe/lddsafe.SlackBuild
@@ -0,0 +1,38 @@
+#!/bin/sh
+
+# Slackware build script for lddsafe
+
+# Written by B. Watson (yalhcru@gmail.com)
+
+# Licensed under the WTFPL. See http://www.wtfpl.net/txt/copying/ for details.
+
+# 20210228 bkw: I've been using this for years, never got around
+# to making a SBo build for it until now. Since it's only one
+# self-contained shell script and one README, no point dealing with a
+# tarball at all, just link to the 'raw' files on github.
+
+PRGNAM=lddsafe
+VERSION=${VERSION:-20110819_02842ba}
+BUILD=${BUILD:-1}
+TAG=${TAG:-_SBo}
+
+ARCH=noarch
+
+CWD=$(pwd)
+TMP=${TMP:-/tmp/SBo}
+PKG=$TMP/package-$PRGNAM
+OUTPUT=${OUTPUT:-/tmp}
+
+set -e
+
+rm -rf $PKG
+mkdir -p $OUTPUT \
+ $PKG/usr/bin $PKG/usr/doc/$PRGNAM-$VERSION $PKG/usr/man/man1 $PKG/install
+install -m0755 -oroot -groot $CWD/$PRGNAM $PKG/usr/bin/$PRGNAM
+gzip -9c < $CWD/$PRGNAM.1 > $PKG/usr/man/man1/$PRGNAM.1.gz
+install -m0644 -oroot -groot $CWD/README.textile $PKG/usr/doc/$PRGNAM-$VERSION
+cat $CWD/$PRGNAM.SlackBuild > $PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM.SlackBuild
+cat $CWD/slack-desc > $PKG/install/slack-desc
+
+cd $PKG
+/sbin/makepkg -l y -c n $OUTPUT/$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.${PKGTYPE:-tgz}
diff --git a/system/lddsafe/lddsafe.info b/system/lddsafe/lddsafe.info
new file mode 100644
index 0000000000..e782e2e71a
--- /dev/null
+++ b/system/lddsafe/lddsafe.info
@@ -0,0 +1,12 @@
+PRGNAM="lddsafe"
+VERSION="20110819_02842ba"
+HOMEPAGE="https://github.com/rg3/lddsafe/"
+DOWNLOAD="https://raw.githubusercontent.com/rg3/lddsafe/02842bab5b8d1341fb34c632603dbe1c20e7ab51/lddsafe \
+ https://raw.githubusercontent.com/rg3/lddsafe/02842bab5b8d1341fb34c632603dbe1c20e7ab51/README.textile"
+MD5SUM="7c9f3a4035a4b438e2ec44c4d27b158f \
+ 6e4fa6979ae375cc60f9c444846bcb8d"
+DOWNLOAD_x86_64=""
+MD5SUM_x86_64=""
+REQUIRES=""
+MAINTAINER="B. Watson"
+EMAIL="yalhcru@gmail.com"
diff --git a/system/lddsafe/lddsafe.rst b/system/lddsafe/lddsafe.rst
new file mode 100644
index 0000000000..37c15b22b8
--- /dev/null
+++ b/system/lddsafe/lddsafe.rst
@@ -0,0 +1,52 @@
+.. RST source for lddsafe(1) man page. Convert with:
+.. rst2man.py lddsafe.rst > lddsafe.1
+.. rst2man.py comes from the SBo development/docutils package.
+
+.. |version| replace:: 20110819_02842ba
+.. |date| date::
+
+=======
+lddsafe
+=======
+
+---------------------------------------------------------
+safely print shared library dependencies (similar to ldd)
+---------------------------------------------------------
+
+:Manual section: 1
+:Manual group: SlackBuilds.org
+:Date: |date|
+:Version: |version|
+
+SYNOPSIS
+========
+
+lddsafe [*-n*] **FILE** ...
+
+DESCRIPTION
+===========
+
+lddsafe is a shell script written for Linux distributions (tested
+under Slackware Linux) that prints shared library dependencies for
+executable files and shared libraries, similar to ldd. However,
+it uses objdump instead of loading the program, hence avoiding the
+security problems of ldd.
+
+OPTIONS
+=======
+
+-n Nonrecursive mode. List direct dependencies only.
+
+AUTHORS
+=======
+
+lddsafe was written by Ricardo Garcia Gonzalez and Ivan Mironov, and
+released as public domain code.
+
+This man page written for the SlackBuilds.org project
+by B. Watson, and is licensed under the WTFPL.
+
+SEE ALSO
+========
+
+The lddsafe homepage: https://github.com/rg3/lddsafe/
diff --git a/system/lddsafe/slack-desc b/system/lddsafe/slack-desc
new file mode 100644
index 0000000000..ddc5f764c2
--- /dev/null
+++ b/system/lddsafe/slack-desc
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description.
+# Line up the first '|' above the ':' following the base package name, and
+# the '|' on the right side marks the last column you can put a character in.
+# You must make exactly 11 lines for the formatting to be correct. It's also
+# customary to leave one space after the ':' except on otherwise blank lines.
+
+ |-----handy-ruler------------------------------------------------------|
+lddsafe: lddsafe (safe replacement for ldd)
+lddsafe:
+lddsafe: lddsafe prints shared library dependencies for executables and shared
+lddsafe: libraries. However, it uses objdump instead of loading the program,
+lddsafe: hence avoiding the security problems of ldd. lddsafe also includes
+lddsafe: nonrecursive mode (-n option), which lists direct dependencies only.
+lddsafe:
+lddsafe:
+lddsafe:
+lddsafe:
+lddsafe:
diff --git a/system/letsencrypt/README b/system/letsencrypt/README
index 96337ef219..98bc09e09f 100644
--- a/system/letsencrypt/README
+++ b/system/letsencrypt/README
@@ -8,3 +8,5 @@ See README.Slackware for more detailed instructions.
Note: the certificate client tool is now certbot, but a symlink is provided
to be backward compatible with previous letsencrypt version.
Please rename the script to the new name: certbot
+
+Since 1.1.0, most of deps must be (re)built against Python3.
diff --git a/system/letsencrypt/letsencrypt.SlackBuild b/system/letsencrypt/letsencrypt.SlackBuild
index 6c4c002267..09ce608197 100644
--- a/system/letsencrypt/letsencrypt.SlackBuild
+++ b/system/letsencrypt/letsencrypt.SlackBuild
@@ -2,7 +2,7 @@
# Slackware build script for letsencrypt
-# Copyright 2015-2019 Willy Sudiarto Raharjo <willysr@slackbuilds.org>
+# Copyright 2015-2021 Willy Sudiarto Raharjo <willysr@slackbuilds.org>
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
@@ -24,7 +24,7 @@
PRGNAM=letsencrypt
SRCNAM=certbot
-VERSION=${VERSION:-1.0.0}
+VERSION=${VERSION:-1.14.0}
BUILD=${BUILD:-1}
TAG=${TAG:-_SBo}
@@ -80,24 +80,24 @@ done
# install acme-protocol first
cd acme
-python setup.py install --root=$PKG
+python3 setup.py install --root=$PKG
# install letsencrypt client
cd ../certbot
-python setup.py install --root=$PKG
+python3 setup.py install --root=$PKG
# install apache plugin
cd ../certbot-apache
-python setup.py install --root=$PKG
+python3 setup.py install --root=$PKG
cd ..
# install nginx plugin
#cd ../certbot-nginx
-#python setup.py install --root=$PKG
+#python3 setup.py install --root=$PKG
# We include default options for Apache
mkdir -p $PKG/etc/letsencrypt/
-cp $PKG/usr/lib${LIBDIRSUFFIX}/python2.7/site-packages/certbot_apache/_internal/options-ssl-apache.conf \
+cp $PKG/usr/lib${LIBDIRSUFFIX}/python$(python3 -c 'import sys; print("%d.%d" % sys.version_info[:2])')/site-packages/certbot_apache/_internal/tls_configs/current-options-ssl-apache.conf \
$PKG/etc/letsencrypt/options-ssl-apache.conf
find $PKG -print0 | xargs -0 file | grep -e "executable" -e "shared object" | grep ELF \
diff --git a/system/letsencrypt/letsencrypt.info b/system/letsencrypt/letsencrypt.info
index 021f11f9ea..f4d2655a90 100644
--- a/system/letsencrypt/letsencrypt.info
+++ b/system/letsencrypt/letsencrypt.info
@@ -1,10 +1,10 @@
PRGNAM="letsencrypt"
-VERSION="1.0.0"
+VERSION="1.14.0"
HOMEPAGE="https://letsencrypt.org/"
-DOWNLOAD="https://github.com/certbot/certbot/archive/v1.0.0/certbot-1.0.0.tar.gz"
-MD5SUM="b315bc17f96689f729b2e72366658709"
+DOWNLOAD="https://github.com/certbot/certbot/archive/v1.14.0/certbot-1.14.0.tar.gz"
+MD5SUM="88f267993e5f887dde34a0b042d84585"
DOWNLOAD_x86_64=""
MD5SUM_x86_64=""
-REQUIRES="configobj mock pytz python2-pythondialog zope.component pyrfc3339 psutil python-parsedatetime python-configargparse werkzeug ndg_httpsclient python-augeas pyparsing josepy funcsigs requests-toolbelt python-distro"
+REQUIRES="configobj mock pytz python3-pythondialog zope.component pyrfc3339 psutil python-parsedatetime python-configargparse werkzeug ndg_httpsclient python3-augeas josepy funcsigs requests-toolbelt python-distro python-certifi python3-packaging"
MAINTAINER="Willy Sudiarto Raharjo"
EMAIL="willysr@slackbuilds.org"
diff --git a/system/libsignal-protocol-c/README b/system/libsignal-protocol-c/README
new file mode 100644
index 0000000000..d80dcb6efe
--- /dev/null
+++ b/system/libsignal-protocol-c/README
@@ -0,0 +1,2 @@
+This is a ratcheting forward secrecy protocol that works
+in synchronous and asynchronous messaging environments.
diff --git a/system/libsignal-protocol-c/libsignal-protocol-c.SlackBuild b/system/libsignal-protocol-c/libsignal-protocol-c.SlackBuild
new file mode 100644
index 0000000000..4de196efce
--- /dev/null
+++ b/system/libsignal-protocol-c/libsignal-protocol-c.SlackBuild
@@ -0,0 +1,99 @@
+#!/bin/sh
+
+# Slackware build script for libsignal-protocol-c
+
+# Copyright 2019- CRTS
+# 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.
+
+
+PRGNAM=libsignal-protocol-c
+VERSION=${VERSION:-2.3.3}
+BUILD=${BUILD:-1}
+TAG=${TAG:-_SBo}
+
+if [ -z "$ARCH" ]; then
+ case "$( uname -m )" in
+ i?86) ARCH=i586 ;;
+ arm*) ARCH=arm ;;
+ *) ARCH=$( uname -m ) ;;
+ esac
+fi
+
+CWD=$(pwd)
+TMP=${TMP:-/tmp/SBo}
+PKG=$TMP/package-$PRGNAM
+OUTPUT=${OUTPUT:-/tmp}
+
+if [ "$ARCH" = "i586" ]; then
+ SLKCFLAGS="-O2 -march=i586 -mtune=i686"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "i686" ]; then
+ SLKCFLAGS="-O2 -march=i686 -mtune=i686"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "x86_64" ]; then
+ SLKCFLAGS="-O2 -fPIC"
+ LIBDIRSUFFIX="64"
+else
+ SLKCFLAGS="-O2"
+ LIBDIRSUFFIX=""
+fi
+
+set -e
+
+rm -rf $PKG
+mkdir -p $TMP $PKG $OUTPUT
+cd $TMP
+rm -rf $PRGNAM-$VERSION
+tar xvf $CWD/$PRGNAM-$VERSION.tar.gz
+cd $PRGNAM-$VERSION
+chown -R root:root .
+find -L . \
+ \( -perm 777 -o -perm 775 -o -perm 750 -o -perm 711 -o -perm 555 \
+ -o -perm 511 \) -exec chmod 755 {} \; -o \
+ \( -perm 666 -o -perm 664 -o -perm 640 -o -perm 600 -o -perm 444 \
+ -o -perm 440 -o -perm 400 \) -exec chmod 644 {} \;
+
+mkdir -p build
+cd build
+ cmake \
+ -DCMAKE_C_FLAGS:STRING="$SLKCFLAGS" \
+ -DCMAKE_CXX_FLAGS:STRING="$SLKCFLAGS" \
+ -DCMAKE_INSTALL_PREFIX=/usr \
+ -DLIB_SUFFIX=${LIBDIRSUFFIX} \
+ -DMAN_INSTALL_DIR=/usr/man \
+ -DCMAKE_BUILD_TYPE=Release ..
+ make
+ make install DESTDIR=$PKG
+cd ..
+
+find $PKG -print0 | xargs -0 file | grep -e "executable" -e "shared object" | grep ELF \
+ | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null || true
+
+mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION
+cp -a \
+ ISSUE_TEMPLATE.md LICENSE README.md \
+ $PKG/usr/doc/$PRGNAM-$VERSION
+cat $CWD/$PRGNAM.SlackBuild > $PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM.SlackBuild
+
+mkdir -p $PKG/install
+cat $CWD/slack-desc > $PKG/install/slack-desc
+
+cd $PKG
+/sbin/makepkg -l y -c n $OUTPUT/$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.${PKGTYPE:-tgz}
diff --git a/system/libsignal-protocol-c/libsignal-protocol-c.info b/system/libsignal-protocol-c/libsignal-protocol-c.info
new file mode 100644
index 0000000000..4ef8c569a2
--- /dev/null
+++ b/system/libsignal-protocol-c/libsignal-protocol-c.info
@@ -0,0 +1,10 @@
+PRGNAM="libsignal-protocol-c"
+VERSION="2.3.3"
+HOMEPAGE="https://signal.org"
+DOWNLOAD="https://github.com/signalapp/libsignal-protocol-c/archive/v2.3.3/libsignal-protocol-c-2.3.3.tar.gz"
+MD5SUM="68dae9b8da58f36dcbf9e10b0138d6f9"
+DOWNLOAD_x86_64=""
+MD5SUM_x86_64=""
+REQUIRES=""
+MAINTAINER="CRTS"
+EMAIL="crts [at] gmx [dot] net"
diff --git a/system/libsignal-protocol-c/slack-desc b/system/libsignal-protocol-c/slack-desc
new file mode 100644
index 0000000000..0ba140fd2d
--- /dev/null
+++ b/system/libsignal-protocol-c/slack-desc
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description.
+# Line up the first '|' above the ':' following the base package name, and
+# the '|' on the right side marks the last column you can put a character in.
+# You must make exactly 11 lines for the formatting to be correct. It's also
+# customary to leave one space after the ':' except on otherwise blank lines.
+
+ |-----handy-ruler------------------------------------------------------|
+libsignal-protocol-c: libsignal-protocol-c (Forward Secrecy Protocol)
+libsignal-protocol-c:
+libsignal-protocol-c: This is a ratcheting forward secrecy protocol that works in
+libsignal-protocol-c: synchronous and asynchronous messaging environments.
+libsignal-protocol-c:
+libsignal-protocol-c:
+libsignal-protocol-c:
+libsignal-protocol-c:
+libsignal-protocol-c:
+libsignal-protocol-c:
+libsignal-protocol-c:
diff --git a/system/libtrash/README b/system/libtrash/README
new file mode 100644
index 0000000000..6de79c168a
--- /dev/null
+++ b/system/libtrash/README
@@ -0,0 +1,6 @@
+libtrash is a shared library which, when preloaded, implements a
+trash can under GNU/Linux.
+
+For instance, with libtrash, Midnight Commander will move files
+to the trash directory:
+LD_PRELOAD=/usr/lib/libtrash.so.3.6 mc
diff --git a/system/libtrash/libtrash.SlackBuild b/system/libtrash/libtrash.SlackBuild
new file mode 100644
index 0000000000..f3d824421a
--- /dev/null
+++ b/system/libtrash/libtrash.SlackBuild
@@ -0,0 +1,92 @@
+#!/bin/sh
+
+# Slackware build script for libtrash
+#
+# Copyright 2020 Isaac Yu <isaacyu1@isaacyu1.com>
+# 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.
+
+PRGNAM=libtrash
+VERSION=${VERSION:-3.6}
+BUILD=${BUILD:-1}
+TAG=${TAG:-_SBo}
+
+if [ -z "$ARCH" ]; then
+ case "$( uname -m )" in
+ i?86) ARCH=i586 ;;
+ arm*) ARCH=arm ;;
+ *) ARCH=$( uname -m ) ;;
+ esac
+fi
+
+CWD=$(pwd)
+TMP=${TMP:-/tmp/SBo}
+PKG=$TMP/package-$PRGNAM
+OUTPUT=${OUTPUT:-/tmp}
+
+if [ "$ARCH" = "i586" ]; then
+ SLKCFLAGS="-O2 -march=i586 -mtune=i686"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "i686" ]; then
+ SLKCFLAGS="-O2 -march=i686 -mtune=i686"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "x86_64" ]; then
+ SLKCFLAGS="-O2 -fPIC"
+ LIBDIRSUFFIX="64"
+else
+ SLKCFLAGS="-O2"
+ LIBDIRSUFFIX=""
+fi
+
+set -e
+
+rm -rf $PKG
+mkdir -p $TMP $PKG $OUTPUT
+cd $TMP
+rm -rf $PRGNAM-$VERSION
+tar xvf $CWD/$PRGNAM-$VERSION.tgz
+cd $PRGNAM-$VERSION
+chown -R root:root .
+find -L . \
+ \( -perm 777 -o -perm 775 -o -perm 750 -o -perm 711 -o -perm 555 \
+ -o -perm 511 \) -exec chmod 755 {} \; -o \
+ \( -perm 666 -o -perm 664 -o -perm 640 -o -perm 600 -o -perm 444 \
+ -o -perm 440 -o -perm 400 \) -exec chmod 644 {} \;
+
+# Inspired by the following Arch Linux AUR script:
+# https://aur.archlinux.org/packages/libtrash/
+sed -i -e s/ldconfig// ./src/Makefile
+sed -i -e s/python/python2/ ./src/Makefile
+
+make
+install -d $PKG/usr/lib $PKG/etc
+make install INSTLIBDIR=$PKG/usr/lib SYSCONFFILE=$PKG/etc/libtrash.conf
+
+find $PKG -print0 | xargs -0 file | grep -e "executable" -e "shared object" | grep ELF \
+ | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null || true
+
+mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION
+cp -a COPYING README.md TODO config.txt $PKG/usr/doc/$PRGNAM-$VERSION
+cat $CWD/$PRGNAM.SlackBuild > $PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM.SlackBuild
+
+mkdir -p $PKG/install
+cat $CWD/slack-desc > $PKG/install/slack-desc
+
+cd $PKG
+/sbin/makepkg -l y -c n $OUTPUT/$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.${PKGTYPE:-tgz}
diff --git a/system/libtrash/libtrash.info b/system/libtrash/libtrash.info
new file mode 100644
index 0000000000..706271dcea
--- /dev/null
+++ b/system/libtrash/libtrash.info
@@ -0,0 +1,10 @@
+PRGNAM="libtrash"
+VERSION="3.6"
+HOMEPAGE="http://pages.stern.nyu.edu/~marriaga/software/libtrash/"
+DOWNLOAD="http://pages.stern.nyu.edu/~marriaga/software/libtrash/libtrash-3.6.tgz"
+MD5SUM="15cbe6d792e20057b13f46394c7c122a"
+DOWNLOAD_x86_64=""
+MD5SUM_x86_64=""
+REQUIRES=""
+MAINTAINER="Isaac Yu"
+EMAIL="isaacyu1@isaacyu1.com"
diff --git a/system/libtrash/slack-desc b/system/libtrash/slack-desc
new file mode 100644
index 0000000000..e72af9f6bc
--- /dev/null
+++ b/system/libtrash/slack-desc
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description.
+# Line up the first '|' above the ':' following the base package name, and
+# the '|' on the right side marks the last column you can put a character in.
+# You must make exactly 11 lines for the formatting to be correct. It's also
+# customary to leave one space after the ':' except on otherwise blank lines.
+
+ |-----handy-ruler------------------------------------------------------|
+libtrash: libtrash (trash can for GNU/Linux)
+libtrash:
+libtrash: libtrash is a shared library which, when preloaded, implements a
+libtrash: trash can under GNU/Linux.
+libtrash:
+libtrash:
+libtrash:
+libtrash:
+libtrash:
+libtrash:
+libtrash:
diff --git a/system/linux-vt-setcolors/README b/system/linux-vt-setcolors/README
new file mode 100644
index 0000000000..6f1072302b
--- /dev/null
+++ b/system/linux-vt-setcolors/README
@@ -0,0 +1,8 @@
+linux-vt-setcolors (change color palette in Linux console)
+
+This little utility can be used to change the default color palette
+of the Linux virtual console. The program accepts a configuration file
+containing the colors to use, in hexadecimal form.
+
+The executable is named "setcolors". Sample config files are included
+in the package. See: /usr/doc/linux-vt-setcolors-$VERSION/example-colors
diff --git a/system/linux-vt-setcolors/linux-vt-setcolors.SlackBuild b/system/linux-vt-setcolors/linux-vt-setcolors.SlackBuild
new file mode 100644
index 0000000000..48957505e6
--- /dev/null
+++ b/system/linux-vt-setcolors/linux-vt-setcolors.SlackBuild
@@ -0,0 +1,76 @@
+#!/bin/sh
+
+# Slackware build script for linux-vt-setcolors
+
+# Written by B. Watson (yalhcru@gmail.com)
+
+# Licensed under the WTFPL. See http://www.wtfpl.net/txt/copying/ for details.
+
+# I don't know why upstream refers to the console as a "VT101". The
+# kernel source claims it's a VT102 implementation... but both a VT101
+# and a VT102 are monochrome terminals, so neither name is all that
+# accurate...
+
+PRGNAM=linux-vt-setcolors
+VERSION=${VERSION:-1.0.0}
+BUILD=${BUILD:-1}
+TAG=${TAG:-_SBo}
+
+if [ -z "$ARCH" ]; then
+ case "$( uname -m )" in
+ i?86) ARCH=i586 ;;
+ arm*) ARCH=arm ;;
+ *) ARCH=$( uname -m ) ;;
+ esac
+fi
+
+CWD=$(pwd)
+TMP=${TMP:-/tmp/SBo}
+PKG=$TMP/package-$PRGNAM
+OUTPUT=${OUTPUT:-/tmp}
+
+if [ "$ARCH" = "i586" ]; then
+ SLKCFLAGS="-O2 -march=i586 -mtune=i686"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "i686" ]; then
+ SLKCFLAGS="-O2 -march=i686 -mtune=i686"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "x86_64" ]; then
+ SLKCFLAGS="-O2 -fPIC"
+ LIBDIRSUFFIX="64"
+else
+ SLKCFLAGS="-O2"
+ LIBDIRSUFFIX=""
+fi
+
+set -e
+
+rm -rf $PKG
+mkdir -p $TMP $PKG $OUTPUT
+cd $TMP
+rm -rf $PRGNAM-$VERSION
+tar xvf $CWD/$PRGNAM-$VERSION.tar.gz
+cd $PRGNAM-$VERSION
+chown -R root:root .
+find -L . -perm /111 -a \! -perm 755 -a -exec chmod 755 {} \+ -o \
+ \! -perm /111 -a \! -perm 644 -a -exec chmod 644 {} \+
+
+# Makefile has too much hard-coded stuff.
+mkdir -p $PKG/usr/bin $PKG/usr/man/man1
+EXE=setcolors
+gcc -Wall $SLKCFLAGS -Wl,-s -o $PKG/usr/bin/$EXE $EXE.c
+gzip -9c < $EXE.1 > $PKG/usr/man/man1/$EXE.1.gz
+
+# Project name and executable name are different, include this symlink
+# in case someone (probably me) forgets.
+ln -s $EXE.1.gz $PKG/usr/man/man1/$PRGNAM.1.gz
+
+mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION
+cp -a LICENSE* README* example-colors $PKG/usr/doc/$PRGNAM-$VERSION
+cat $CWD/$PRGNAM.SlackBuild > $PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM.SlackBuild
+
+mkdir -p $PKG/install
+cat $CWD/slack-desc > $PKG/install/slack-desc
+
+cd $PKG
+/sbin/makepkg -l y -c n $OUTPUT/$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.${PKGTYPE:-tgz}
diff --git a/system/linux-vt-setcolors/linux-vt-setcolors.info b/system/linux-vt-setcolors/linux-vt-setcolors.info
new file mode 100644
index 0000000000..92ee0d8c30
--- /dev/null
+++ b/system/linux-vt-setcolors/linux-vt-setcolors.info
@@ -0,0 +1,10 @@
+PRGNAM="linux-vt-setcolors"
+VERSION="1.0.0"
+HOMEPAGE="https://github.com/EvanPurkhiser/linux-vt-setcolors"
+DOWNLOAD="https://github.com/EvanPurkhiser/linux-vt-setcolors/archive/v1.0.0/linux-vt-setcolors-1.0.0.tar.gz"
+MD5SUM="789b4dc02d1c4f509b3b01450c7ef980"
+DOWNLOAD_x86_64=""
+MD5SUM_x86_64=""
+REQUIRES=""
+MAINTAINER="B. Watson"
+EMAIL="yalhcru@gmail.com"
diff --git a/system/linux-vt-setcolors/slack-desc b/system/linux-vt-setcolors/slack-desc
new file mode 100644
index 0000000000..d1eddc0433
--- /dev/null
+++ b/system/linux-vt-setcolors/slack-desc
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description.
+# Line up the first '|' above the ':' following the base package name, and
+# the '|' on the right side marks the last column you can put a character in.
+# You must make exactly 11 lines for the formatting to be correct. It's also
+# customary to leave one space after the ':' except on otherwise blank lines.
+
+ |-----handy-ruler------------------------------------------------------|
+linux-vt-setcolors: linux-vt-setcolors (change color palette in Linux console)
+linux-vt-setcolors:
+linux-vt-setcolors: This little utility can be used to change the default color palette
+linux-vt-setcolors: of the Linux virtual console. The program accepts a configuration file
+linux-vt-setcolors: containing the colors to use, in hexadecimal form.
+linux-vt-setcolors:
+linux-vt-setcolors: The executable is named "setcolors". Sample config files are included
+linux-vt-setcolors: in the package. See:
+linux-vt-setcolors: /usr/doc/linux-vt-setcolors-$VERSION/example-colors
+linux-vt-setcolors:
+linux-vt-setcolors:
diff --git a/system/linuxconsoletools/README b/system/linuxconsoletools/README
index aaac1d084e..7d3b6e9b5a 100644
--- a/system/linuxconsoletools/README
+++ b/system/linuxconsoletools/README
@@ -9,6 +9,10 @@ to test and configure joysticks, connect legacy devices to the kernel's
input subsystem (providing support for serial mice, touchscreens etc.),
and test the input event layer.
+Optional dependency: SDL2. This is only required for ffmvforce (force
+orientation test for force-feedback devices). If SDL2 is not installed,
+ffmvforce won't be included in the package.
+
Notes:
- This replaces the "joystick" build that was previously available.
diff --git a/system/linuxconsoletools/linuxconsoletools.SlackBuild b/system/linuxconsoletools/linuxconsoletools.SlackBuild
index 129224725c..e5662ae25a 100644
--- a/system/linuxconsoletools/linuxconsoletools.SlackBuild
+++ b/system/linuxconsoletools/linuxconsoletools.SlackBuild
@@ -3,6 +3,7 @@
# Slackware build script for linuxconsoletools
# Copyright 2011-2012 Roberto Neri, Palermo, Italy
+# Copyright 2021 B. Watson <yalhcru@gmail.com>
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
@@ -22,6 +23,8 @@
# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+# 20210223 bkw: update for v1.7.1
+# 20191129 bkw: update for v1.7.0, document new optional SDL2 dep.
# 20181030 bkw: add GPM_COMPAT=yes option, minor cleanups, BUILD=2
# 20161015 bkw: update for v1.6.0
# 20160726 bkw: update for v1.5.1
@@ -30,8 +33,8 @@
# replaced patch with a bit of sed.
PRGNAM=linuxconsoletools
-VERSION=${VERSION:-1.6.0}
-BUILD=${BUILD:-2}
+VERSION=${VERSION:-1.7.1}
+BUILD=${BUILD:-1}
TAG=${TAG:-_SBo}
if [ -z "$ARCH" ]; then
@@ -73,6 +76,12 @@ chown -R root:root .
find -L . -perm /111 -a \! -perm 755 -a -exec chmod 755 {} \+ -o \
\! -perm /111 -a \! -perm 644 -a -exec chmod 644 {} \+
+# 20191129 bkw: allow building without SDL2 installed.
+if ! pkg-config --exists sdl2; then
+ sed -i '/^PROGRAMS/s,ffmvforce ,,' utils/Makefile
+ sed -i 's,ffmvforce\.1 ,,' docs/Makefile
+fi
+
# install manpages in /usr/man instead of /usr/share/man
sed -i 's,share/man,man,g' docs/Makefile
diff --git a/system/linuxconsoletools/linuxconsoletools.info b/system/linuxconsoletools/linuxconsoletools.info
index dd647eb667..31bd0ef77b 100644
--- a/system/linuxconsoletools/linuxconsoletools.info
+++ b/system/linuxconsoletools/linuxconsoletools.info
@@ -1,8 +1,8 @@
PRGNAM="linuxconsoletools"
-VERSION="1.6.0"
+VERSION="1.7.1"
HOMEPAGE="https://sourceforge.net/projects/linuxconsole/"
-DOWNLOAD="https://downloads.sourceforge.net/linuxconsole/linuxconsoletools-1.6.0.tar.bz2"
-MD5SUM="fd52fa4a81455eb95a6c81efb087ce98"
+DOWNLOAD="https://downloads.sourceforge.net/linuxconsole/linuxconsoletools-1.7.1.tar.bz2"
+MD5SUM="bc9d7178434a2ff53b75dfdf7c34e2c8"
DOWNLOAD_x86_64=""
MD5SUM_x86_64=""
REQUIRES=""
diff --git a/system/lirc/lirc.SlackBuild b/system/lirc/lirc.SlackBuild
index 20b1e09d51..0180629362 100644
--- a/system/lirc/lirc.SlackBuild
+++ b/system/lirc/lirc.SlackBuild
@@ -3,7 +3,7 @@
# Slackware build script for lirc
# Copyright 2009 Murat D. Kadirov <banderols@gmail.com>
-# Copyright 2015 Jeremy Hansen <jebrhansen+SBo -at- gmail.com>
+# Copyright 2015-2021 Jeremy Hansen <jebrhansen+SBo -at- gmail.com>
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
@@ -27,7 +27,7 @@
PRGNAM=lirc
VERSION=${VERSION:-0.9.3a}
-BUILD=${BUILD:-1}
+BUILD=${BUILD:-2}
TAG=${TAG:-_SBo}
KERNEL=${KERNEL:-$(uname -r)}
diff --git a/system/lirc/lirc.info b/system/lirc/lirc.info
index 4b5767ee9b..a338a56123 100644
--- a/system/lirc/lirc.info
+++ b/system/lirc/lirc.info
@@ -5,6 +5,6 @@ DOWNLOAD="http://downloads.sourceforge.net/project/lirc/LIRC/0.9.3a/lirc-0.9.3a.
MD5SUM="f9ed5dd0684a52c7cd98672e71e81b05"
DOWNLOAD_x86_64=""
MD5SUM_x86_64=""
-REQUIRES="python3-PyYAML"
+REQUIRES="python3-PyYAML pygobject3-python3"
MAINTAINER="Jeremy Hansen"
EMAIL="jebrhansen+SBo -at- gmail.com"
diff --git a/system/listpkg/listpkg.SlackBuild b/system/listpkg/listpkg.SlackBuild
index 6f3675a96e..0fb268c08f 100644
--- a/system/listpkg/listpkg.SlackBuild
+++ b/system/listpkg/listpkg.SlackBuild
@@ -1,7 +1,7 @@
#!/bin/sh
# Slackware build script for listpkg
-# Copyright 2018 Jefferson Rocha <lrcjefferson@gmail.com>
+# Copyright 2018 Jefferson Rocha <root@slackjeff.com.br>
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
diff --git a/system/listpkg/listpkg.info b/system/listpkg/listpkg.info
index 7db2ea4c6b..d35be08fd9 100644
--- a/system/listpkg/listpkg.info
+++ b/system/listpkg/listpkg.info
@@ -1,10 +1,10 @@
PRGNAM="listpkg"
VERSION="0.1a"
-HOMEPAGE="https://notabug.org/jeffersonrocha/ListPkg"
-DOWNLOAD="https://notabug.org/jeffersonrocha/ListPkg/raw/master/listpkg-0.1a.tar.xz"
+HOMEPAGE="https://github.com/slackjeff/listpkg"
+DOWNLOAD="https://github.com/slackjeff/listpkg/raw/master/listpkg-0.1a.tar.xz"
MD5SUM="4c4707af5e55d1d150602ea77ab34cb3"
DOWNLOAD_x86_64=""
MD5SUM_x86_64=""
REQUIRES=""
MAINTAINER="Jefferson Rocha"
-EMAIL="lrcjefferson@gmail.com"
+EMAIL="root@slackjeff.com.br"
diff --git a/system/lnav/lnav.SlackBuild b/system/lnav/lnav.SlackBuild
index c8f866b21e..515b0b549c 100644
--- a/system/lnav/lnav.SlackBuild
+++ b/system/lnav/lnav.SlackBuild
@@ -23,7 +23,7 @@
# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
PRGNAM=lnav
-VERSION=${VERSION:-0.8.1}
+VERSION=${VERSION:-0.9.0}
BUILD=${BUILD:-1}
TAG=${TAG:-_SBo}
diff --git a/system/lnav/lnav.info b/system/lnav/lnav.info
index 77b60342ba..799593cbbf 100644
--- a/system/lnav/lnav.info
+++ b/system/lnav/lnav.info
@@ -1,8 +1,8 @@
PRGNAM="lnav"
-VERSION="0.8.1"
+VERSION="0.9.0"
HOMEPAGE="http://lnav.org"
-DOWNLOAD="https://github.com/tstack/lnav/releases/download/v0.8.1/lnav-0.8.1.tar.gz"
-MD5SUM="b60499eee0662887040a98c21aa444b3"
+DOWNLOAD="https://github.com/tstack/lnav/releases/download/v0.9.0/lnav-0.9.0.tar.gz"
+MD5SUM="77e87ccda75ba2c4f223ffac55392716"
DOWNLOAD_x86_64=""
MD5SUM_x86_64=""
REQUIRES=""
diff --git a/system/local-persist/slack-desc b/system/local-persist/slack-desc
index 3880ad9a52..6d96dc682d 100644
--- a/system/local-persist/slack-desc
+++ b/system/local-persist/slack-desc
@@ -7,13 +7,13 @@
|-----handy-ruler------------------------------------------------------|
local-persist: local-persist (Create persistent local volumes for docker)
-local-persist:
+local-persist:
local-persist: This docker plugin gives you the same benefits of standalone volumes
local-persist: that "docker volume create" normally affords, while also allowing you
local-persist: to create volumes that persist in arbitrary disk locations.
-local-persist:
+local-persist:
local-persist: Homepage: https://github.com/MatchbookLab/local-persist
-local-persist:
-local-persist:
-local-persist:
-local-persist:
+local-persist:
+local-persist:
+local-persist:
+local-persist:
diff --git a/system/localepurge/localepurge.SlackBuild b/system/localepurge/localepurge.SlackBuild
index 7ca7771c77..a2619e8c5f 100644
--- a/system/localepurge/localepurge.SlackBuild
+++ b/system/localepurge/localepurge.SlackBuild
@@ -2,7 +2,7 @@
#
# Slackware build script for localepurge.
#
-# Copyright 2016-2019 Edinaldo P. Silva, Rio de Janeiro, Brazil.
+# Copyright 2016-2021 Edinaldo P. Silva, Rio de Janeiro, Brazil.
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
@@ -23,7 +23,7 @@
# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
PRGNAM=localepurge
-VERSION=${VERSION:-0.7.3.8}
+VERSION=${VERSION:-0.7.3.10}
BUILD=${BUILD:-1}
TAG=${TAG:-_SBo}
@@ -61,7 +61,7 @@ mkdir -p $TMP $PKG $OUTPUT
cd $TMP
rm -rf $PRGNAM-$VERSION
tar xvf $CWD/${PRGNAM}_${VERSION}.tar.xz
-cd $PRGNAM
+cd $PRGNAM-$VERSION
chown -R root:root .
find -L . \
\( -perm 777 -o -perm 775 -o -perm 750 -o -perm 711 -o -perm 555 \
@@ -88,7 +88,7 @@ install -D -m644 $CWD/localelist $PKG/var/cache/localepurge/localelist
find $PKG/usr/man -type f -exec gzip -9 {} \;
for i in $( find $PKG/usr/man -type l ) ; do ln -s $( readlink $i ).gz $i.gz ; rm $i ; done
-DOCS="debian/NEWS.Debian debian/README.Debian debian/changelog debian/copyright"
+DOCS="debian/README.Debian debian/changelog debian/copyright"
mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION
cp $DOCS $PKG/usr/doc/$PRGNAM-$VERSION
diff --git a/system/localepurge/localepurge.info b/system/localepurge/localepurge.info
index c6a844dfaf..6014256630 100644
--- a/system/localepurge/localepurge.info
+++ b/system/localepurge/localepurge.info
@@ -1,8 +1,8 @@
PRGNAM="localepurge"
-VERSION="0.7.3.8"
+VERSION="0.7.3.10"
HOMEPAGE="https://packages.debian.org/search?keywords=localepurge"
-DOWNLOAD="http://snapshot.debian.org/archive/debian/20190901T090537Z/pool/main/l/localepurge/localepurge_0.7.3.8.tar.xz"
-MD5SUM="a3588a6af1e0eb9a65abe137a275952b"
+DOWNLOAD="http://deb.debian.org/debian/pool/main/l/localepurge/localepurge_0.7.3.10.tar.xz"
+MD5SUM="cafa19c565e5156c7947c0094fe76a3c"
DOWNLOAD_x86_64=""
MD5SUM_x86_64=""
REQUIRES=""
diff --git a/system/logtool/logtool.SlackBuild b/system/logtool/logtool.SlackBuild
index e6ac3a8508..a1baaddb01 100644
--- a/system/logtool/logtool.SlackBuild
+++ b/system/logtool/logtool.SlackBuild
@@ -2,7 +2,7 @@
#
# Slackware build script for logtool.
#
-# Copyright 2015-2017 Edinaldo P. Silva, Rio de Janeiro, Brazil.
+# Copyright 2015-2020 Edinaldo P. Silva, Rio de Janeiro, Brazil.
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
diff --git a/system/logtool/logtool.info b/system/logtool/logtool.info
index 02edd86e61..f8615dd11c 100644
--- a/system/logtool/logtool.info
+++ b/system/logtool/logtool.info
@@ -6,5 +6,5 @@ MD5SUM="7da0564dc0fea4f0470d61168871f9c2"
DOWNLOAD_x86_64=""
MD5SUM_x86_64=""
REQUIRES=""
-MAINTAINER="Edinaldo P. Silva"
-EMAIL="edps.mundognu@gmail.com"
+MAINTAINER="orphaned - no maintainer"
+EMAIL="nobody@nowhere"
diff --git a/system/logwatch/README b/system/logwatch/README
index 2d194d0dfc..c3b26f004d 100644
--- a/system/logwatch/README
+++ b/system/logwatch/README
@@ -1,5 +1,5 @@
Logwatch is a customizable log analysis system.
-Logwatch parses through your system's logs and creates a report analyzing
-areas that you specify. Logwatch is easy to use and will work right out of the
-package on most systems.
+Logwatch parses through your system's logs and creates a report
+analyzing areas that you specify. Logwatch is easy to use and will work
+right out of the package on most systems.
diff --git a/system/logwatch/logwatch.SlackBuild b/system/logwatch/logwatch.SlackBuild
index eec9954933..01b45f4253 100644
--- a/system/logwatch/logwatch.SlackBuild
+++ b/system/logwatch/logwatch.SlackBuild
@@ -1,4 +1,4 @@
-#!/bin/bash
+#!/bin/sh
# Slackware build script for logwatch
@@ -23,7 +23,7 @@
# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
PRGNAM=logwatch
-VERSION=${VERSION:-7.5.2}
+VERSION=${VERSION:-7.5.5}
BUILD=${BUILD:-1}
ARCH=noarch
TAG=${TAG:-_SBo}
diff --git a/system/logwatch/logwatch.info b/system/logwatch/logwatch.info
index cb74a8bc74..8adcf7d5ad 100644
--- a/system/logwatch/logwatch.info
+++ b/system/logwatch/logwatch.info
@@ -1,8 +1,8 @@
PRGNAM="logwatch"
-VERSION="7.5.2"
-HOMEPAGE="http://www.logwatch.org"
-DOWNLOAD="https://downloads.sourceforge.net/project/logwatch/logwatch-7.5.2/logwatch-7.5.2.tar.gz"
-MD5SUM="634b2ac423b77b809d400cc6085db49d"
+VERSION="7.5.5"
+HOMEPAGE="http://logwatch.sourceforge.net"
+DOWNLOAD="https://downloads.sourceforge.net/project/logwatch/logwatch-7.5.5/logwatch-7.5.5.tar.gz"
+MD5SUM="b658e4db27d905151396ecadcbcb24b1"
DOWNLOAD_x86_64=""
MD5SUM_x86_64=""
REQUIRES=""
diff --git a/system/logwatch/slack-desc b/system/logwatch/slack-desc
index 089a738043..bba4e1a829 100644
--- a/system/logwatch/slack-desc
+++ b/system/logwatch/slack-desc
@@ -6,14 +6,14 @@
# customary to leave one space after the ':'.
|-----handy-ruler------------------------------------------------------|
-logwatch: Logwatch (a customizable log analysis system)
+logwatch: logwatch (a customizable log analysis system)
logwatch:
-logwatch: Logwatch parses through your system's logs for a given period of
-logwatch: time and creates a report analyzing areas that you specify, in as
-logwatch: much detail as you require. Logwatch is easy to use and will work
+logwatch: Logwatch parses through your system's logs for a given period of
+logwatch: time and creates a report analyzing areas that you specify, in as
+logwatch: much detail as you require. Logwatch is easy to use and will work
logwatch: right out of the package on most systems.
logwatch:
+logwatch: Project home: http://www.logwatch.org/
logwatch:
logwatch:
-logwatch: Project home: http://www.logwatch.org/
logwatch:
diff --git a/system/loksh/loksh.SlackBuild b/system/loksh/loksh.SlackBuild
index 31f9e194c8..9a57d890d4 100644
--- a/system/loksh/loksh.SlackBuild
+++ b/system/loksh/loksh.SlackBuild
@@ -2,7 +2,7 @@
# Slackware build script for loksh
-# Copyright 2018-2019 Hunter Sezen California, USA
+# Copyright 2018-2020 Hunter Sezen California, USA
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
@@ -23,7 +23,7 @@
# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
PRGNAM=loksh
-VERSION=${VERSION:-6.6}
+VERSION=${VERSION:-6.8.1}
BUILD=${BUILD:-1}
TAG=${TAG:-_SBo}
@@ -60,7 +60,7 @@ rm -rf $PKG
mkdir -p $TMP $PKG $OUTPUT
cd $TMP
rm -rf $PRGNAM-$VERSION
-tar xvf $CWD/$PRGNAM-$VERSION.tar.gz
+tar xvf $CWD/$PRGNAM-$VERSION.tar.xz
cd $PRGNAM-$VERSION
chown -R root:root .
find -L . \
@@ -69,23 +69,39 @@ find -L . \
\( -perm 666 -o -perm 664 -o -perm 640 -o -perm 600 -o -perm 444 \
-o -perm 440 -o -perm 400 \) -exec chmod 644 {} \;
-make \
- CFLAGS="$SLKCFLAGS"
+if [ "${DEBUG:=0}" != 0 ]; then
+ NDEBUG=false
+ RELEASE=debug
+ SLKCFLAGS="$(printf %s "$SLKCFLAGS" | sed 's/-O2/-O0/')"
+else
+ NDEBUG=true
+ RELEASE=plain
+fi
-make install \
- PREFIX=/usr \
- BIN_NAME=$PRGNAM \
- BIN_DIR=/bin \
- MAN_DIR=/usr/man \
- DOC_DIR=/usr/doc/$PRGNAM-$VERSION \
- DESTDIR=$PKG
+CFLAGS="$SLKCFLAGS" \
+CXXFLAGS="$SLKCFLAGS" \
+meson \
+ --prefix=/ \
+ --bindir=bin \
+ --libdir=usr/lib${LIBDIRSUFFIX} \
+ --mandir=usr/man \
+ --datadir=usr \
+ -Dstrip=$NDEBUG \
+ -Db_ndebug=$NDEBUG \
+ -Dbuildtype=$RELEASE \
+ build
+
+"${NINJA:=ninja}" -C build
+DESTDIR=$PKG "$NINJA" -C build install
+
+mv -- $PKG/bin/ksh $PKG/bin/$PRGNAM
+mv -- $PKG/usr/man/man1/ksh.1 $PKG/usr/man/man1/$PRGNAM.1
+mv -- $PKG/usr/man/man1/sh.1 $PKG/usr/man/man1/$PRGNAM-sh.1
+mv -- $PKG/usr/doc/$PRGNAM $PKG/usr/doc/$PRGNAM-$VERSION
mkdir -p $PKG/usr/bin
ln -s /bin/$PRGNAM $PKG/usr/bin/$PRGNAM
-find $PKG -print0 | xargs -0 file | grep -e "executable" -e "shared object" |
- grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null || true
-
find $PKG/usr/man -type f -exec gzip -9 {} \;
for i in $( find $PKG/usr/man -type l ) ; do ln -s $( readlink $i ).gz $i.gz ; rm $i ; done
diff --git a/system/loksh/loksh.info b/system/loksh/loksh.info
index 7c68610ff4..eb380c2afa 100644
--- a/system/loksh/loksh.info
+++ b/system/loksh/loksh.info
@@ -1,10 +1,10 @@
PRGNAM="loksh"
-VERSION="6.6"
+VERSION="6.8.1"
HOMEPAGE="https://github.com/dimkr/loksh"
-DOWNLOAD="https://github.com/dimkr/loksh/archive/6.6/loksh-6.6.tar.gz"
-MD5SUM="06b00072a7b41075f78c8d5ebfd5c1ef"
+DOWNLOAD="https://github.com/dimkr/loksh/releases/download/6.8.1/loksh-6.8.1.tar.xz"
+MD5SUM="aad60aef7562ad4cf029411032892c2d"
DOWNLOAD_x86_64=""
MD5SUM_x86_64=""
-REQUIRES=""
+REQUIRES="meson"
MAINTAINER="Hunter Sezen"
EMAIL="orbea@riseup.net"
diff --git a/system/lolcat/README b/system/lolcat/README
new file mode 100644
index 0000000000..d493acd77e
--- /dev/null
+++ b/system/lolcat/README
@@ -0,0 +1,5 @@
+lolcat (High-performance implementation of lolcat)
+
+This lolcat clone is an attempt to reduce the world's carbon dioxide
+emissions by optimizing inefficient code. It's >10x as fast and <0.1%
+as large as the original one.
diff --git a/system/lolcat/lolcat.SlackBuild b/system/lolcat/lolcat.SlackBuild
new file mode 100644
index 0000000000..5b591c2421
--- /dev/null
+++ b/system/lolcat/lolcat.SlackBuild
@@ -0,0 +1,87 @@
+#!/bin/sh
+#
+# Slackware build script for lolcat.
+#
+# Copyright 2019-2021 Edinaldo P. Silva, Rio de Janeiro, Brazil.
+# 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.
+
+PRGNAM=lolcat
+VERSION=${VERSION:-1.2}
+BUILD=${BUILD:-1}
+TAG=${TAG:-_SBo}
+
+if [ -z "$ARCH" ]; then
+ case "$( uname -m )" in
+ i?86) ARCH=i586 ;;
+ arm*) ARCH=arm ;;
+ *) ARCH=$( uname -m ) ;;
+ esac
+fi
+
+CWD=$(pwd)
+TMP=${TMP:-/tmp/SBo}
+PKG=$TMP/package-$PRGNAM
+OUTPUT=${OUTPUT:-/tmp}
+
+if [ "$ARCH" = "i586" ]; then
+ SLKCFLAGS="-O2 -march=i586 -mtune=i686"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "i686" ]; then
+ SLKCFLAGS="-O2 -march=i686 -mtune=i686"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "x86_64" ]; then
+ SLKCFLAGS="-O2 -fPIC"
+ LIBDIRSUFFIX="64"
+else
+ SLKCFLAGS="-O2"
+ LIBDIRSUFFIX=""
+fi
+
+set -e
+
+rm -rf $PKG
+mkdir -p $TMP $PKG $OUTPUT
+cd $TMP
+rm -rf $PRGNAM-$VERSION
+tar xvf $CWD/$PRGNAM-$VERSION.tar.gz
+cd $PRGNAM-$VERSION
+
+chown -R root:root .
+find -L . \
+ \( -perm 777 -o -perm 775 -o -perm 750 -o -perm 711 -o -perm 555 \
+ -o -perm 511 \) -exec chmod 755 {} \; -o \
+ \( -perm 666 -o -perm 664 -o -perm 640 -o -perm 600 -o -perm 444 \
+ -o -perm 440 -o -perm 400 \) -exec chmod 644 {} \;
+
+make
+install -Dm755 lolcat $PKG/usr/bin/lolcat
+
+find $PKG -print0 | xargs -0 file | grep -e "executable" -e "shared object" | grep ELF \
+ | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null || true
+
+mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION
+cp LICENSE README.md $PKG/usr/doc/$PRGNAM-$VERSION
+cat $CWD/$PRGNAM.SlackBuild > $PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM.SlackBuild
+
+mkdir -p $PKG/install
+cat $CWD/slack-desc > $PKG/install/slack-desc
+
+cd $PKG
+/sbin/makepkg -l y -c n $OUTPUT/$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.${PKGTYPE:-tgz}
diff --git a/system/lolcat/lolcat.info b/system/lolcat/lolcat.info
new file mode 100644
index 0000000000..7b8e2bfd3c
--- /dev/null
+++ b/system/lolcat/lolcat.info
@@ -0,0 +1,10 @@
+PRGNAM="lolcat"
+VERSION="1.2"
+HOMEPAGE="https://github.com/jaseg/lolcat"
+DOWNLOAD="https://github.com/jaseg/lolcat/archive/v1.2/lolcat-1.2.tar.gz"
+MD5SUM="d1a7f8a4ddee5affe84de2d6ffa055e5"
+DOWNLOAD_x86_64=""
+MD5SUM_x86_64=""
+REQUIRES=""
+MAINTAINER="Edinaldo P. Silva"
+EMAIL="edps.mundognu@gmail.com"
diff --git a/system/lolcat/slack-desc b/system/lolcat/slack-desc
new file mode 100644
index 0000000000..04fe4296cc
--- /dev/null
+++ b/system/lolcat/slack-desc
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description.
+# Line up the first '|' above the ':' following the base package name, and
+# the '|' on the right side marks the last column you can put a character in.
+# You must make exactly 11 lines for the formatting to be correct. It's also
+# customary to leave one space after the ':' except on otherwise blank lines.
+
+ |-----handy-ruler------------------------------------------------------|
+lolcat: lolcat (High-performance implementation of lolcat)
+lolcat:
+lolcat: This lolcat clone is an attempt to reduce the world's carbon dioxide
+lolcat: emissions by optimizing inefficient code. It's >10x as fast and <0.1%
+lolcat: as large as the original one.
+lolcat:
+lolcat: Home page: https://github.com/jaseg/lolcat
+lolcat:
+lolcat:
+lolcat:
+lolcat:
diff --git a/system/lomoco/lomoco.SlackBuild b/system/lomoco/lomoco.SlackBuild
index 96fce19e29..021c458b9e 100644
--- a/system/lomoco/lomoco.SlackBuild
+++ b/system/lomoco/lomoco.SlackBuild
@@ -1,7 +1,7 @@
#!/bin/sh
# Slackware build script for lomoco
-# Copyright 2011 David Woodfall <dave@dawoodfall.net>
+# Copyright 2011 David Woodfall <dave@slackbuilds.org>
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
diff --git a/system/lomoco/lomoco.info b/system/lomoco/lomoco.info
index ee81e839df..1cd4b6ba22 100644
--- a/system/lomoco/lomoco.info
+++ b/system/lomoco/lomoco.info
@@ -7,4 +7,4 @@ DOWNLOAD_x86_64=""
MD5SUM_x86_64=""
REQUIRES=""
MAINTAINER="David Woodfall"
-EMAIL="dave@dawoodfall.net"
+EMAIL="dave@slackbuilds.org"
diff --git a/system/lshw/README b/system/lshw/README
index f917315f0f..04d64576eb 100644
--- a/system/lshw/README
+++ b/system/lshw/README
@@ -1,15 +1,27 @@
-lshw (Hardware Lister) is a small tool to provide detailed information on
-the hardware configuration of the machine. It can report exact memory
-configuration, firmware version, mainboard configuration, CPU version and
-speed, cache configuration, bus speed, etc. on DMI-capable x86 or EFI
-(IA-64) systems and on some PowerPC machines (PowerMac G4 is known to work).
+lshw (Hardware Lister) is a small tool to provide detailed information
+on the hardware configuration of the machine. It can report exact memory
+configuration, firmware version, mainboard configuration, CPU version
+and speed, cache configuration, bus speed, etc. on DMI-capable x86 or
+EFI (IA-64) systems and on some PowerPC machines (PowerMac G4 is known
+to work).
Information can be output in plain text, XML, or HTML.
It currently supports DMI (x86 and EFI only), OpenFirmware device tree
-(PowerPC only), PCI/AGP, ISA PnP (x86), CPUID (x86), IDE/ATA/ATAPI, PCMCIA
-(only tested on x86), USB, and SCSI.
+(PowerPC only), PCI/AGP, ISA PnP (x86), CPUID (x86), IDE/ATA/ATAPI,
+PCMCIA (only tested on x86), USB, and SCSI.
-On x86, lshw needs to be run as root to be able to access DMI information
-from the BIOS. Running lshw as a non-root user usually gives much less
-detailed information.
+On x86, lshw needs to be run as root to be able to access DMI
+information from the BIOS. Running lshw as a non-root user usually gives
+much less detailed information.
+
+There several build options available for the SlackBuild:
+
+ GUI=no Disable GTK GUI support (default: yes)
+ ZLIB=yes Enable zlib support (default: no)
+ SQLITE=yes Enable sqlite support (default: no)
+
+where one or more build options are passed to the SlackBuild. For
+example, to disable GUI and enable zlib support use:
+
+ GUI=no ZLIB=yes ./lshw.SlackBuild
diff --git a/system/lshw/lshw.SlackBuild b/system/lshw/lshw.SlackBuild
index 0b24779004..fdd5409b83 100644
--- a/system/lshw/lshw.SlackBuild
+++ b/system/lshw/lshw.SlackBuild
@@ -1,13 +1,45 @@
#!/bin/sh
# Slackware build script for lshw
-# Written by Iskar Enev <iskar.enev[@]gmail.com>
+
+# Iskar Enev <iskar.enev[@]gmail.com>
+# Copyright 2017,2021 Jason Graham <jgraham@compukix.net> 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.
PRGNAM=lshw
-VERSION=${VERSION:-B.02.18}
+VERSION=${VERSION:-B.02.19.2}
BUILD=${BUILD:-1}
TAG=${TAG:-_SBo}
+GUI=${GUI:-yes}
+if [ "$ZLIB" = "no" ]; then
+ ENABLE_ZLIB=0
+else
+ ENABLE_ZLIB=1
+fi
+if [ "$SQLITE" = "no" ]; then
+ ENABLE_SQLITE=0
+else
+ ENABLE_SQLITE=1
+fi
+
if [ -z "$ARCH" ]; then
case "$( uname -m )" in
i?86) ARCH=i586 ;;
@@ -53,10 +85,19 @@ find -L . \
# Fix the MANDIR variable
sed -i "s%MANDIR=\$(PREFIX)/share/man%MANDIR=\$(PREFIX)/man%" src/Makefile
-RPM_OPT_FLAGS="$SLKCFLAGS" MANDIR="/usr/man" make
-RPM_OPT_FLAGS="$SLKCFLAGS" MANDIR="/usr/man" make gui
-make install DESTDIR=$PKG
-make install-gui DESTDIR=$PKG
+VERSION=$VERSION RPM_OPT_FLAGS="$SLKCFLAGS" MANDIR="/usr/man" \
+ make ZLIB=$ENABLE_ZLIB SQLITE=$ENABLE_SQLITE
+if [ "$GUI" = "yes" ]; then
+ VERSION=VERSION RPM_OPT_FLAGS="$SLKCFLAGS" MANDIR="/usr/man" \
+ make gui ZLIB=$ENABLE_ZLIB SQLITE=$ENABLE_SQLITE
+fi
+
+VERSION=$VERSION RPM_OPT_FLAGS="$SLKCFLAGS" MANDIR="/usr/man" \
+ make install DESTDIR=$PKG ZLIB=$ENABLE_ZLIB SQLITE=$ENABLE_SQLITE
+if [ "$GUI" = "yes" ]; then
+ VERSION=$VERSION RPM_OPT_FLAGS="$SLKCFLAGS" MANDIR="/usr/man" \
+ make install-gui DESTDIR=$PKG ZLIB=$ENABLE_ZLIB SQLITE=$ENABLE_SQLITE
+fi
find $PKG -print0 | xargs -0 file | grep -e "executable" -e "shared object" | grep ELF \
| cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null || true
@@ -64,8 +105,10 @@ find $PKG -print0 | xargs -0 file | grep -e "executable" -e "shared object" | gr
find $PKG/usr/man -type f -exec gzip -9 {} \;
for i in $( find $PKG/usr/man -type l ) ; do ln -s $( readlink $i ).gz $i.gz ; rm $i ; done
-mkdir -p $PKG/usr/share/applications
-cat $CWD/gtk-lshw.desktop > $PKG/usr/share/applications/gtk-lshw.desktop
+if [ "$GUI" = "yes" ]; then
+ mkdir -p $PKG/usr/share/applications
+ cat $CWD/gtk-lshw.desktop > $PKG/usr/share/applications/gtk-lshw.desktop
+fi
mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION
cp -a docs/* COPYING README.md $PKG/usr/doc/$PRGNAM-$VERSION
diff --git a/system/lshw/lshw.info b/system/lshw/lshw.info
index 4c8d8ae4c5..d6da2e38a2 100644
--- a/system/lshw/lshw.info
+++ b/system/lshw/lshw.info
@@ -1,10 +1,10 @@
PRGNAM="lshw"
-VERSION="B.02.18"
+VERSION="B.02.19.2"
HOMEPAGE="https://ezix.org/project/wiki/HardwareLiSter"
-DOWNLOAD="https://www.ezix.org/software/files/lshw-B.02.18.tar.gz"
-MD5SUM="8671c6d94d6324a744b7f21f1bfecfd2"
+DOWNLOAD="https://www.ezix.org/software/files/lshw-B.02.19.2.tar.gz"
+MD5SUM="8c70d46e906688309095c73ecb9396e3"
DOWNLOAD_x86_64=""
MD5SUM_x86_64=""
REQUIRES=""
MAINTAINER="Jason Graham"
-EMAIL="jgraha8@gmail.com"
+EMAIL="jgraham@compukix.net"
diff --git a/system/lv/README b/system/lv/README
new file mode 100644
index 0000000000..41dc4fdfaf
--- /dev/null
+++ b/system/lv/README
@@ -0,0 +1,17 @@
+lv (pager, grep, and iconv replacement)
+
+lv is a powerful file viewer like less. lv can decode and encode
+multilingual streams in many encodings, including ISO-8859, ISO-2022,
+EUC, SJIS, Big5, HZ, and Unicode. It recognizes multi-byte patterns
+in regular expressions, and can be run as "lgrep" to act as a grep
+replacement. In addition, lv can recognize ANSI escape sequences for
+text decoration (making it suitable for use as MANPAGER).
+
+lv can also be used as a replacement for iconv(1), by redirecting
+its standard output and using the -I and -O options to set the input
+and output encodings. Although it doesn't support all the features of
+iconv, lv will autodetect the input encoding (which iconv won't).
+
+lv also has one (possibly) unique feature: It can autodetect and
+convert or display multiple character encodings *within the same
+document*.
diff --git a/system/lv/lv.SlackBuild b/system/lv/lv.SlackBuild
new file mode 100644
index 0000000000..eb8c06c100
--- /dev/null
+++ b/system/lv/lv.SlackBuild
@@ -0,0 +1,119 @@
+#!/bin/sh
+
+# Slackware build script for lv
+
+# Written by B. Watson (yalhcru@gmail.com)
+
+# Licensed under the WTFPL. See http://www.wtfpl.net/txt/copying/ for details.
+
+# 20201111 bkw: added at v4.51_7. The original upstream for this is
+# long gone (dead website), but the maintainer of the Debian package
+# continues to develop this. So I'm treating Debian as upstream, and
+# the _7 in VERSION is the Debian patchlevel.
+
+# 20201115 bkw: add 2 new patches from Debian git, BUILD=2.
+
+PRGNAM=lv
+VERSION=${VERSION:-4.51_7}
+BUILD=${BUILD:-2}
+TAG=${TAG:-_SBo}
+
+if [ -z "$ARCH" ]; then
+ case "$( uname -m )" in
+ i?86) ARCH=i586 ;;
+ arm*) ARCH=arm ;;
+ *) ARCH=$( uname -m ) ;;
+ esac
+fi
+
+CWD=$(pwd)
+TMP=${TMP:-/tmp/SBo}
+PKG=$TMP/package-$PRGNAM
+OUTPUT=${OUTPUT:-/tmp}
+
+# Nothing uses LIBDIRSUFFIX, don't bother with it.
+if [ "$ARCH" = "i586" ]; then
+ SLKCFLAGS="-O2 -march=i586 -mtune=i686"
+elif [ "$ARCH" = "i686" ]; then
+ SLKCFLAGS="-O2 -march=i686 -mtune=i686"
+elif [ "$ARCH" = "x86_64" ]; then
+ SLKCFLAGS="-O2 -fPIC"
+else
+ SLKCFLAGS="-O2"
+fi
+
+set -e
+
+SRCVER=${VERSION%_*} # 1.23_4 => 1.23
+DEBVER=${VERSION#*_} # 1.23_4 => 4
+
+rm -rf $PKG
+mkdir -p $TMP $PKG $OUTPUT
+cd $TMP
+rm -rf $PRGNAM-$SRCVER.orig
+tar xvf $CWD/${PRGNAM}_$SRCVER.orig.tar.?z
+cd $PRGNAM-$SRCVER.orig
+tar xvf $CWD/${PRGNAM}_$SRCVER-$DEBVER.debian.tar.xz
+chown -R root:root .
+find -L . -perm /111 -a \! -perm 755 -a -exec chmod 755 {} \+ -o \
+ \! -perm /111 -a \! -perm 644 -a -exec chmod 644 {} \+
+
+# Apply all of debian's patches.
+for i in $( cat debian/patches/series ); do
+ patch -p1 < "debian/patches/$i"
+done
+
+# Local patches. 4 of these were written by the SlackBuild author, sent
+# upstream (to the Debian maintainer). The height and filename patches
+# are from Debian's git.
+for i in $( cat $CWD/patches/series ); do
+ patch -p1 < "$CWD/patches/$i"
+done
+
+# I wish there were --disable-termcap and/or --enable-ncurses options.
+# The configure script is hardcoded: if termcap is found, it uses that
+# and never looks for ncurses. Since termcap is pretty well deprecated
+# here in the 21st century, we'd much rather use ncurses...
+sed -i 's,termcap,ncurses,g' src/configure
+
+# libdir is /usr/share because all that gets installed there is the lv
+# help file (which is just a pre-rendered version of the man page).
+cd build
+CFLAGS="$SLKCFLAGS" \
+CXXFLAGS="$SLKCFLAGS" \
+../src/configure \
+ --enable-fastio \
+ --prefix=/usr \
+ --libdir=/usr/share \
+ --sysconfdir=/etc \
+ --localstatedir=/var \
+ --mandir=/usr/man \
+ --build=$ARCH-slackware-linux
+
+make
+make install DESTDIR=$PKG
+
+# binary already stripped
+gzip -9 $PKG/usr/man/man1/$PRGNAM.1
+ln -s $PRGNAM.1.gz $PKG/usr/man/man1/lgrep.1.gz
+
+cd ..
+mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION
+cp -a README* GPL* hello.* debian/changelog $PKG/usr/doc/$PRGNAM-$VERSION
+cat $CWD/$PRGNAM.SlackBuild > $PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM.SlackBuild
+
+# Japanese-language sections in the HTML docs are in some kind of
+# non-Unicode encoding. lv autodetects it just fine, but nothing else
+# seems to, so use lv itself to convert them to UTF-8. This is helpful
+# if you're reading the files locally with a browser: there's no HTTP
+# headers to specify the encoding, and UTF-8 is more likely to be
+# autodetected or just guessed at.
+for i in *.html; do
+ $PKG/usr/bin/lv -Ou8 $i > $PKG/usr/doc/$PRGNAM-$VERSION/$i
+done
+
+mkdir -p $PKG/install
+cat $CWD/slack-desc > $PKG/install/slack-desc
+
+cd $PKG
+/sbin/makepkg -l y -c n $OUTPUT/$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.${PKGTYPE:-tgz}
diff --git a/system/lv/lv.info b/system/lv/lv.info
new file mode 100644
index 0000000000..3d29aca4a8
--- /dev/null
+++ b/system/lv/lv.info
@@ -0,0 +1,12 @@
+PRGNAM="lv"
+VERSION="4.51_7"
+HOMEPAGE="https://packages.debian.org/sid/lv"
+DOWNLOAD="http://deb.debian.org/debian/pool/main/l/lv/lv_4.51.orig.tar.gz \
+ http://deb.debian.org/debian/pool/main/l/lv/lv_4.51-7.debian.tar.xz"
+MD5SUM="893084b35a11eaaee4f71827d0092fa5 \
+ d6d2d0e27a43480b794615a02235b953"
+DOWNLOAD_x86_64=""
+MD5SUM_x86_64=""
+REQUIRES=""
+MAINTAINER="B. Watson"
+EMAIL="yalhcru@gmail.com"
diff --git a/system/lv/patches/change-maximum-height-to-144.patch b/system/lv/patches/change-maximum-height-to-144.patch
new file mode 100644
index 0000000000..84b4afe0c2
--- /dev/null
+++ b/system/lv/patches/change-maximum-height-to-144.patch
@@ -0,0 +1,17 @@
+Author: TOMITA Masahiro <tommy@tmtm.org>
+Description: Change maximum height to 144.
+Last-Update: 2020-10-10
+
+Index: lv/src/file.h
+===================================================================
+--- lv.orig/src/file.h
++++ lv/src/file.h
+@@ -16,7 +16,7 @@
+ #include <str.h>
+ #include <stream.h>
+
+-#define LV_PAGE_SIZE 32U /* lines per page */
++#define LV_PAGE_SIZE 48U /* lines per page */
+
+ #ifdef MSDOS
+ #define BLOCK_SIZE 2 /* segments on memory */
diff --git a/system/lv/patches/fix_implicit_decls.diff b/system/lv/patches/fix_implicit_decls.diff
new file mode 100644
index 0000000000..1f9de61b91
--- /dev/null
+++ b/system/lv/patches/fix_implicit_decls.diff
@@ -0,0 +1,41 @@
+Description: Remove implicit declaration warnings by adding
+appropriate #includes, and fix a typo in a prototype.
+Author: B. Watson <yahlcru@gmail.com>
+
+--
+
+diff -Naur lv-4.51.orig/src/file.h lv-4.51.orig.patched/src/file.h
+--- lv-4.51.orig/src/file.h 2020-11-12 02:03:33.560002050 -0500
++++ lv-4.51.orig.patched/src/file.h 2020-11-12 02:04:06.555999050 -0500
+@@ -172,7 +172,7 @@
+ public inline int IobufGetc( iobuf_t *iobuf );
+ public inline int IobufUngetc( int ch, iobuf_t *iobuf );
+ public offset_t IobufFtell( iobuf_t *iobuf );
+-public int IobufFseeko( iobuf_t *iobuf, offset_t off, int mode );
++public int IobufFseek( iobuf_t *iobuf, offset_t off, int mode );
+ public int IobufFeof( iobuf_t *iobuf );
+ #endif
+ #define IobufPutc( a, b ) putc( a, (b)->iop )
+diff -Naur lv-4.51.orig/src/guess.c lv-4.51.orig.patched/src/guess.c
+--- lv-4.51.orig/src/guess.c 2003-11-12 22:08:19.000000000 -0500
++++ lv-4.51.orig.patched/src/guess.c 2020-11-12 02:04:22.621997590 -0500
+@@ -21,6 +21,7 @@
+ */
+
+ #include <stdio.h>
++#include <string.h>
+
+ #include <import.h>
+ #include <decode.h>
+diff -Naur lv-4.51.orig/src/guesslocale.c lv-4.51.orig.patched/src/guesslocale.c
+--- lv-4.51.orig/src/guesslocale.c 2004-01-05 03:41:22.000000000 -0500
++++ lv-4.51.orig.patched/src/guesslocale.c 2020-11-12 02:04:49.294995165 -0500
+@@ -20,6 +20,8 @@
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+ */
+
++#include <ctype.h>
++
+ #ifdef HAVE_SETLOCALE
+
+ #include <stdlib.h>
diff --git a/system/lv/patches/makefile.diff b/system/lv/patches/makefile.diff
new file mode 100644
index 0000000000..4c55d7c5d2
--- /dev/null
+++ b/system/lv/patches/makefile.diff
@@ -0,0 +1,53 @@
+Description: "make install": Support DESTDIR, use symlink for
+lgrep, use more standard default permissions (and make them
+variables). Create bin/man/lib dirs if they don't already exist.
+Author: B. Watson <yahlcru@gmail.com>
+
+--
+
+diff -Naur lv-4.51.orig/src/Makefile.in lv-4.51.orig.patched/src/Makefile.in
+--- lv-4.51.orig/src/Makefile.in 2004-01-06 02:22:17.000000000 -0500
++++ lv-4.51.orig.patched/src/Makefile.in 2020-11-12 01:59:50.646022314 -0500
+@@ -18,6 +18,10 @@
+ lvlibdir= $(libdir)/lv
+ distdir = lv$(VERSION)
+
++DESTDIR=
++BINPERMS= 0755
++DOCPERMS= 0644
++
+ PURIFY= @PURIFY@
+ CC= @CC@
+ CFLAGS= @CFLAGS@ -DLV_HELP_PATH=\"$(lvlibdir)\" -I$(srcdir) @DEFS@
+@@ -64,18 +68,22 @@
+ #
+
+ install::
+- $(INSTALL) -s -m 555 lv $(bindir)
+- if test -f $(bindir)/lgrep; then \
+- /bin/rm -f $(bindir)/lgrep; \
++ if test ! -d $(DESTDIR)$(bindir); then \
++ mkdir -p $(DESTDIR)$(bindir); \
++ fi
++ $(INSTALL) -s -m $(BINPERMS) lv $(DESTDIR)$(bindir)
++ if test -f $(DESTDIR)$(bindir)/lgrep; then \
++ /bin/rm -f $(DESTDIR)$(bindir)/lgrep; \
+ fi
+- (cd $(bindir); ln lv lgrep)
+- if test ! -d $(lvlibdir); then \
+- mkdir -p $(lvlibdir); \
++ (cd $(DESTDIR)$(bindir); ln -s lv lgrep)
++ if test ! -d $(DESTDIR)$(lvlibdir); then \
++ mkdir -p $(DESTDIR)$(lvlibdir); \
+ fi
+- $(INSTALL) -m 444 $(srcdir)/../lv.hlp $(lvlibdir)
+- if test -d $(mandir) -a -d $(mandir)/man1; then \
+- $(INSTALL) -m 444 $(srcdir)/../lv.1 $(mandir)/man1; \
++ $(INSTALL) -m $(DOCPERMS) $(srcdir)/../lv.hlp $(DESTDIR)$(lvlibdir)
++ if test ! -d $(DESTDIR)$(mandir)/man1; then \
++ mkdir -p $(DESTDIR)$(mandir)/man1; \
+ fi
++ $(INSTALL) -m $(DOCPERMS) $(srcdir)/../lv.1 $(DESTDIR)$(mandir)/man1; \
+
+ uninstall::
+ for i in $(bindir)/lv $(bindir)/lgrep $(lvlibdir)/lv.hlp $(mandir)/man1/lv.1; do \
diff --git a/system/lv/patches/man_typos.diff b/system/lv/patches/man_typos.diff
new file mode 100644
index 0000000000..be6e2ad63d
--- /dev/null
+++ b/system/lv/patches/man_typos.diff
@@ -0,0 +1,65 @@
+Description: Fix a few typos in the man & help docs.
+Author: B. Watson <yahlcru@gmail.com>
+
+--
+
+diff -Naur lv-4.51.orig/lv.1 lv-4.51.orig.patched/lv.1
+--- lv-4.51.orig/lv.1 2020-11-12 01:44:33.656105671 -0500
++++ lv-4.51.orig.patched/lv.1 2020-11-12 01:45:58.092097996 -0500
+@@ -47,7 +47,7 @@
+ but also as a coding-system translation filter
+ like \fInkf\fP (1) and \fItcs\fP (1).
+ .IP "\fIMultilingual regular expressions / Multilingual grep\fP"
+-lv can recognize multi-bytes patterns as regular expressions,
++lv can recognize multi-byte patterns as regular expressions,
+ and lv also provides multilingual \fIgrep\fP (1) functionality
+ by giving it another name, \fIlgrep\fP.
+ Pattern matching is conducted in the charset level,
+@@ -203,7 +203,7 @@
+ Allow physical lines of each logical line printed on the screen
+ to be concatenated for cut and paste after screen refresh
+ .IP "-s"
+-Force old pages to be swept out from the screen Smoothly
++Force old pages to be swept out from the screen smoothly
+ .IP "-u"
+ Unify several character sets, eg. JIS X0208 and C6226.
+ In addition, lv equates ISO 646 variants,
+@@ -237,7 +237,7 @@
+ Show this help
+ .SH "CONFIGURATION"
+ Options can be described in configuration file ``.lv'' (``_lv'' on MSDOS)
+-located at you HOME directory. If and only if you use MSDOS, you can locate
++located in your HOME directory. If and only if you use MSDOS, you can locate
+ ``_lv'' at current working directory.
+ They can be also described in the environment variable LV.
+ Every configuration will be overloaded in this order if there is. Command line
+diff -Naur lv-4.51.orig/lv.hlp lv-4.51.orig.patched/lv.hlp
+--- lv-4.51.orig/lv.hlp 2020-11-12 01:44:33.635105673 -0500
++++ lv-4.51.orig.patched/lv.hlp 2020-11-12 01:45:58.098097995 -0500
+@@ -37,7 +37,7 @@
+ _t_c_s (1).
+
+ _M_u_l_t_i_l_i_n_g_u_a_l _r_e_g_u_l_a_r _e_x_p_r_e_s_s_i_o_n_s _/ _M_u_l_t_i_l_i_n_g_u_a_l _g_r_e_p
+- lv can recognize multi-bytes patterns as regular expressions,
++ lv can recognize multi-byte patterns as regular expressions,
+ and lv also provides multilingual _g_r_e_p (1) functionality by giv-
+ ing it another name, _l_g_r_e_p. Pattern matching is conducted in
+ the charset level, so an EUC fragment, for example, can be found
+@@ -183,7 +183,7 @@
+ -l Allow physical lines of each logical line printed on the screen
+ to be concatenated for cut and paste after screen refresh
+
+- -s Force old pages to be swept out from the screen Smoothly
++ -s Force old pages to be swept out from the screen smoothly
+
+ -u Unify several character sets, eg. JIS X0208 and C6226. In addi-
+ tion, lv equates ISO 646 variants, eg. JIS X0201-Roman, and
+@@ -219,7 +219,7 @@
+
+ CCOONNFFIIGGUURRAATTIIOONN
+ Options can be described in configuration file ``.lv'' (``_lv'' on
+- MSDOS) located at you HOME directory. If and only if you use MSDOS,
++ MSDOS) located in your HOME directory. If and only if you use MSDOS,
+ you can locate ``_lv'' at current working directory. They can be also
+ described in the environment variable LV. Every configuration will be
+ overloaded in this order if there is. Command line options are always
diff --git a/system/lv/patches/no_inline.diff b/system/lv/patches/no_inline.diff
new file mode 100644
index 0000000000..ebc1eb58f6
--- /dev/null
+++ b/system/lv/patches/no_inline.diff
@@ -0,0 +1,19 @@
+Description: Remove inline-related compiler warnings (by not using inline)
+Author: B. Watson <yahlcru@gmail.com>
+
+--
+
+diff -Naur lv-4.51.orig/src/file.h lv-4.51.orig.patched/src/file.h
+--- lv-4.51.orig/src/file.h 2020-11-12 01:41:53.353120244 -0500
++++ lv-4.51.orig.patched/src/file.h 2020-11-12 01:44:33.701105667 -0500
+@@ -169,8 +169,8 @@
+ # endif
+ # define IobufFeof( a ) feof( (a)->iop )
+ #else
+-public inline int IobufGetc( iobuf_t *iobuf );
+-public inline int IobufUngetc( int ch, iobuf_t *iobuf );
++public int IobufGetc( iobuf_t *iobuf );
++public int IobufUngetc( int ch, iobuf_t *iobuf );
+ public offset_t IobufFtell( iobuf_t *iobuf );
+ public int IobufFseek( iobuf_t *iobuf, offset_t off, int mode );
+ public int IobufFeof( iobuf_t *iobuf );
diff --git a/system/lv/patches/series b/system/lv/patches/series
new file mode 100644
index 0000000000..ce324941d9
--- /dev/null
+++ b/system/lv/patches/series
@@ -0,0 +1,6 @@
+change-maximum-height-to-144.patch
+fix_implicit_decls.diff
+no_inline.diff
+man_typos.diff
+makefile.diff
+shows-the-filename-only.diff
diff --git a/system/lv/patches/shows-the-filename-only.diff b/system/lv/patches/shows-the-filename-only.diff
new file mode 100644
index 0000000000..32912b4209
--- /dev/null
+++ b/system/lv/patches/shows-the-filename-only.diff
@@ -0,0 +1,25 @@
+Description: shows the file name only if it is shorter than the width of the screen.
+Author: Oohara Yuuma <oohara@libra.interq.or.jp>
+Last-Update: 2008-01-27
+
+Index: lv/src/command.c
+===================================================================
+--- lv.orig/src/command.c
++++ lv/src/command.c
+@@ -1173,8 +1173,15 @@ public void Command( file_t *file, byte
+ else
+ label = "(END)";
+ }
+- if( TRUE == f->top )
++ if( TRUE == f->top ){
+ label = FileName( f );
++ /* if the file name is not shorter than the width of the screen,
++ * it causes scrolling and moves the first line of the file
++ * out of the screen
++ */
++ if ( strlen(label) >= f->width )
++ label = NULL;
++ }
+ }
+
+ if( NULL != label ){
diff --git a/system/lv/slack-desc b/system/lv/slack-desc
new file mode 100644
index 0000000000..cf08b44fb5
--- /dev/null
+++ b/system/lv/slack-desc
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description.
+# Line up the first '|' above the ':' following the base package name, and
+# the '|' on the right side marks the last column you can put a character in.
+# You must make exactly 11 lines for the formatting to be correct. It's also
+# customary to leave one space after the ':' except on otherwise blank lines.
+
+ |-----handy-ruler------------------------------------------------------|
+lv: lv (pager, grep, and iconv replacement)
+lv:
+lv: lv is a powerful file viewer like less. lv can decode and encode
+lv: multilingual streams in many encodings, including ISO-8859, ISO-2022,
+lv: EUC, SJIS, Big5, HZ, and Unicode. It recognizes multi-byte patterns
+lv: in regular expressions, and can be run as "lgrep" to act as a grep
+lv: replacement. In addition, lv can recognize ANSI escape sequences for
+lv: text decoration (making it suitable for use as MANPAGER).
+lv:
+lv:
+lv:
diff --git a/system/lxsession/lxsession.SlackBuild b/system/lxsession/lxsession.SlackBuild
index 528a864097..6d6b21d1be 100644
--- a/system/lxsession/lxsession.SlackBuild
+++ b/system/lxsession/lxsession.SlackBuild
@@ -57,6 +57,8 @@
# * update.
# 0.5.4-1: 11/mar/2019 by Matteo Bernardini <ponce@slackbuilds.org>
# * update.
+# 0.5.5-1: 25/aug/2020 by Matteo Bernardini <ponce@slackbuilds.org>
+# * update.
#
# Run 'sh lxsession.SlackBuild' to build a Slackware package.
# The package (.tgz) plus descriptive .txt file are created in /tmp .
@@ -65,7 +67,7 @@
# -----------------------------------------------------------------------------
PRGNAM=lxsession
-VERSION=${VERSION:-0.5.4}
+VERSION=${VERSION:-0.5.5}
BUILD=${BUILD:-1}
TAG=${TAG:-_SBo}
diff --git a/system/lxsession/lxsession.info b/system/lxsession/lxsession.info
index dcb0fa36b1..89022b9b15 100644
--- a/system/lxsession/lxsession.info
+++ b/system/lxsession/lxsession.info
@@ -1,8 +1,8 @@
PRGNAM="lxsession"
-VERSION="0.5.4"
+VERSION="0.5.5"
HOMEPAGE="https://wiki.lxde.org/en/LXSession"
-DOWNLOAD="https://downloads.sf.net/lxde/lxsession-0.5.4.tar.xz"
-MD5SUM="e255aaf3c2a8e49812e3477fb3f099b0"
+DOWNLOAD="https://downloads.sf.net/lxde/lxsession-0.5.5.tar.xz"
+MD5SUM="e8380acef215ee7c99c067a2241c2c7b"
DOWNLOAD_x86_64=""
MD5SUM_x86_64=""
REQUIRES="libunique vala"
diff --git a/system/lxtask/lxtask.SlackBuild b/system/lxtask/lxtask.SlackBuild
index 773b8f900d..3856967c99 100644
--- a/system/lxtask/lxtask.SlackBuild
+++ b/system/lxtask/lxtask.SlackBuild
@@ -51,6 +51,8 @@
# * updated.
# 0.1.9-1: 11/mar/2019 by Matteo Bernardini <ponce@slackbuilds.org>
# * updated.
+# 0.1.10-1: 10/apr/2021 by Matteo Bernardini <ponce@slackbuilds.org>
+# * updated.
#
# Run 'sh lxtask.SlackBuild' to build a Slackware package.
# The package is created in /tmp .
@@ -59,7 +61,7 @@
# -----------------------------------------------------------------------------
PRGNAM=lxtask
-VERSION=${VERSION:-0.1.9}
+VERSION=${VERSION:-0.1.10}
BUILD=${BUILD:-1}
TAG=${TAG:-_SBo}
diff --git a/system/lxtask/lxtask.info b/system/lxtask/lxtask.info
index 80d2cb4154..8e9a1f2b23 100644
--- a/system/lxtask/lxtask.info
+++ b/system/lxtask/lxtask.info
@@ -1,8 +1,8 @@
PRGNAM="lxtask"
-VERSION="0.1.9"
+VERSION="0.1.10"
HOMEPAGE="https://wiki.lxde.org/en/LXTask"
-DOWNLOAD="https://downloads.sf.net/lxde/lxtask-0.1.9.tar.xz"
-MD5SUM="f19a9e4d22a075f984681a480f0aa886"
+DOWNLOAD="https://downloads.sf.net/lxde/lxtask-0.1.10.tar.xz"
+MD5SUM="27b5258847afc237a5b89666e7a8b45b"
DOWNLOAD_x86_64=""
MD5SUM_x86_64=""
REQUIRES="lxde-common lxpanel"
diff --git a/system/lxterminal/lxterminal.SlackBuild b/system/lxterminal/lxterminal.SlackBuild
index 5cd1509a1b..ef12fe3f5a 100644
--- a/system/lxterminal/lxterminal.SlackBuild
+++ b/system/lxterminal/lxterminal.SlackBuild
@@ -1,7 +1,7 @@
#!/bin/sh
# $Id: lxterminal.SlackBuild,v 1.6 2009/09/11 10:43:05 root Exp root $
# Copyright (c) 2008-2009 Eric Hameleers, Eindhoven, NL
-# Copyright (c) 2010-2018 Matteo Bernardini, Pisa, IT
+# Copyright (c) 2010-2021 Matteo Bernardini, Pisa, IT
# All rights reserved.
#
# Permission to use, copy, modify, and distribute this software for
@@ -67,6 +67,8 @@
# * Update.
# 0.3.2: 13/oct/2018 by Matteo Bernardini <ponce@slackbuilds.org>
# * Update.
+# 0.4.0: 10/apr/2021 by Matteo Bernardini <ponce@slackbuilds.org>
+# * Update.
#
# Run 'sh lxterminal.SlackBuild' to build a Slackware package.
# The package is created in /tmp .
@@ -75,7 +77,7 @@
# -----------------------------------------------------------------------------
PRGNAM=lxterminal
-VERSION=${VERSION:-0.3.2}
+VERSION=${VERSION:-0.4.0}
BUILD=${BUILD:-1}
TAG=${TAG:-_SBo}
diff --git a/system/lxterminal/lxterminal.info b/system/lxterminal/lxterminal.info
index 8f5130af46..d8fecdbf39 100644
--- a/system/lxterminal/lxterminal.info
+++ b/system/lxterminal/lxterminal.info
@@ -1,8 +1,8 @@
PRGNAM="lxterminal"
-VERSION="0.3.2"
+VERSION="0.4.0"
HOMEPAGE="https://wiki.lxde.org/en/LXTerminal"
-DOWNLOAD="http://downloads.sourceforge.net/lxde/lxterminal-0.3.2.tar.xz"
-MD5SUM="62e57c3aafb831505cc1638b2b737cc9"
+DOWNLOAD="http://downloads.sf.net/lxde/lxterminal-0.4.0.tar.xz"
+MD5SUM="7938dbd50e3826c11f4735a742b278d3"
DOWNLOAD_x86_64=""
MD5SUM_x86_64=""
REQUIRES=""
diff --git a/system/lynis/lynis.SlackBuild b/system/lynis/lynis.SlackBuild
index 480ce79145..ca54fe860a 100644
--- a/system/lynis/lynis.SlackBuild
+++ b/system/lynis/lynis.SlackBuild
@@ -2,7 +2,7 @@
# Slackware build script for lynis
-# Copyright 2016-2018 Willy Sudiarto Raharjo <willysr@slackbuilds.org>
+# Copyright 2016-2020 Willy Sudiarto Raharjo <willysr@slackbuilds.org>
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
@@ -23,7 +23,7 @@
# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
PRGNAM=lynis
-VERSION=${VERSION:-2.7.5}
+VERSION=${VERSION:-3.0.3}
BUILD=${BUILD:-1}
TAG=${TAG:-_SBo}
diff --git a/system/lynis/lynis.info b/system/lynis/lynis.info
index cbe145eed1..a6d8d16660 100644
--- a/system/lynis/lynis.info
+++ b/system/lynis/lynis.info
@@ -1,8 +1,8 @@
PRGNAM="lynis"
-VERSION="2.7.5"
+VERSION="3.0.3"
HOMEPAGE="https://cisofy.com/"
-DOWNLOAD="https://downloads.cisofy.com/lynis/lynis-2.7.5.tar.gz"
-MD5SUM="fb527b6976e70a6bcd57036c9cddc242"
+DOWNLOAD="https://downloads.cisofy.com/lynis/lynis-3.0.3.tar.gz"
+MD5SUM="44b26983029929912d5bab53a083f776"
DOWNLOAD_x86_64=""
MD5SUM_x86_64=""
REQUIRES=""
diff --git a/system/lz4/lz4.SlackBuild b/system/lz4/lz4.SlackBuild
index d965cfcd0d..17feed23bd 100644
--- a/system/lz4/lz4.SlackBuild
+++ b/system/lz4/lz4.SlackBuild
@@ -6,9 +6,11 @@
# Licensed under the WTFPL. See http://www.wtfpl.net/txt/copying/ for details.
+# 20201208 bkw: update for 1.9.3
+# 20191127 bkw: update for 1.9.2
# 20180911 bkw: update for 1.8.3
# 20180611 bkw: update for 1.8.2. don't try to use the updated script
-# to builds older versions, the man pages will end up
+# to build older versions, the man pages will end up
# in the wrong place due to upstream changing how they
# interpret MANDIR
# 20180114 bkw: update for 1.8.1.2. had to add -j1 to the make command.
@@ -17,7 +19,7 @@
# 20170122 bkw: update for 1.7.5
PRGNAM=lz4
-VERSION=${VERSION:-1.8.3}
+VERSION=${VERSION:-1.9.3}
BUILD=${BUILD:-1}
TAG=${TAG:-_SBo}
@@ -54,14 +56,11 @@ rm -rf $PKG
mkdir -p $TMP $PKG $OUTPUT
cd $TMP
rm -rf $PRGNAM-$VERSION
-tar xvf $CWD/$PRGNAM-$VERSION.tar.gz
+tar xvf $CWD/$PRGNAM-$VERSION.tar.gz --exclude visual
cd $PRGNAM-$VERSION
chown -R root:root .
-find -L . \
- \( -perm 777 -o -perm 775 -o -perm 750 -o -perm 711 -o -perm 555 \
- -o -perm 511 \) -exec chmod 755 {} \; -o \
- \( -perm 666 -o -perm 664 -o -perm 640 -o -perm 600 -o -perm 444 \
- -o -perm 440 -o -perm 400 \) -exec chmod 644 {} \;
+find -L . -perm /111 -a \! -perm 755 -a -exec chmod 755 {} \+ -o \
+ \! -perm /111 -a \! -perm 644 -a -exec chmod 644 {} \+
# -j1 was necessary in 1.8.1.2. Not sure it's still needed in 1.8.2, but
# lz4 is small & builds pretty fast even with -j1, so I'll leave it for now.
diff --git a/system/lz4/lz4.info b/system/lz4/lz4.info
index 2ce94b8560..b6bb9ea084 100644
--- a/system/lz4/lz4.info
+++ b/system/lz4/lz4.info
@@ -1,8 +1,8 @@
PRGNAM="lz4"
-VERSION="1.8.3"
+VERSION="1.9.3"
HOMEPAGE="https://lz4.github.io/lz4/"
-DOWNLOAD="https://github.com/lz4/lz4/archive/v1.8.3/lz4-1.8.3.tar.gz"
-MD5SUM="d5ce78f7b1b76002bbfffa6f78a5fc4e"
+DOWNLOAD="https://github.com/lz4/lz4/archive/v1.9.3/lz4-1.9.3.tar.gz"
+MD5SUM="3a1ab1684e14fc1afc66228ce61b2db3"
DOWNLOAD_x86_64=""
MD5SUM_x86_64=""
REQUIRES=""
diff --git a/system/lzop/README b/system/lzop/README
index a3f0588e5a..01955a1cb2 100644
--- a/system/lzop/README
+++ b/system/lzop/README
@@ -1,5 +1,8 @@
-lzop is a LZO archiver. It uses the LZO data compression library
-for compression services, and its main advantages over gzip are
-much higher compression and decompression speed (at the cost of
-some compression ratio).
-lzop is the fastest (de)compresser around.
+lzop (LZO compressor/decompressor)
+
+lzop is an LZO compressor. It uses the LZO data compression library for
+compression services, and its main advantages over gzip are much higher
+compression and decompression speed (at the cost of some compression
+ratio).
+
+lzop is the fastest (de)compressor around.
diff --git a/system/lzop/lzop.SlackBuild b/system/lzop/lzop.SlackBuild
index 9b79e00db1..9e93aae47b 100644
--- a/system/lzop/lzop.SlackBuild
+++ b/system/lzop/lzop.SlackBuild
@@ -3,6 +3,7 @@
# Slackware build script for lzop
# Copyright (c) 2011-2017 LEVAI Daniel
+# Copyright (c) 2020 B. Watson
# All rights reserved.
#
# * Redistribution and use in source and binary forms, with or without
@@ -25,6 +26,8 @@
# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+# 20200129 bkw: take over maintenance, simplify build, remove some cruft.
+
PRGNAM=lzop
VERSION=${VERSION:-1.04}
BUILD=${BUILD:-1}
@@ -66,11 +69,8 @@ rm -rf $PRGNAM-$VERSION
tar xvf $CWD/$PRGNAM-$VERSION.tar.gz
cd $PRGNAM-$VERSION
chown -R root:root .
-find -L . \
- \( -perm 777 -o -perm 775 -o -perm 750 -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 {} \;
+find -L . -perm /111 -a \! -perm 755 -a -exec chmod 755 {} \+ -o \
+ \! -perm /111 -a \! -perm 644 -a -exec chmod 644 {} \+
CFLAGS="$SLKCFLAGS" \
./configure \
@@ -80,17 +80,17 @@ CFLAGS="$SLKCFLAGS" \
--build=$ARCH-slackware-linux
make
-DESTDIR=$PKG make install
-
-strip --strip-unneeded $PKG/usr/bin/lzop
+make install-strip DESTDIR=$PKG
+gzip -9 $PKG/usr/man/man?/*.?
-find $PKG/usr/man -type f -exec gzip -9 {} \;
+# 20200129 bkw: We really don't need the docs in every possible format. We
+# already got a man page in /usr/man, and .tex is the source format. Leave
+# the HTML, plain text, and PostScript.
+for ext in pod tex man; do
+ rm -f $PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM.$ext
+done
-mkdir -p -m 755 $PKG/usr/doc/$PRGNAM-$VERSION
-cp AUTHORS COPYING INSTALL NEWS README THANKS \
- $PKG/usr/doc/$PRGNAM-$VERSION/
cat $CWD/$PRGNAM.SlackBuild > $PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM.SlackBuild
-find $PKG/usr/doc -type f -exec chmod 0644 {} \;
mkdir -p $PKG/install
cat $CWD/slack-desc > $PKG/install/slack-desc
diff --git a/system/lzop/lzop.info b/system/lzop/lzop.info
index 14f47d7864..4f49ad43e6 100644
--- a/system/lzop/lzop.info
+++ b/system/lzop/lzop.info
@@ -6,5 +6,5 @@ MD5SUM="271eb10fde77a0a96b9cbf745e719ddf"
DOWNLOAD_x86_64=""
MD5SUM_x86_64=""
REQUIRES=""
-MAINTAINER="LEVAI Daniel"
-EMAIL="leva@ecentrum.hu"
+MAINTAINER="B. Watson"
+EMAIL="yalhcru@gmail.com"
diff --git a/system/lzop/slack-desc b/system/lzop/slack-desc
index 37a5a0674d..489c8cac01 100644
--- a/system/lzop/slack-desc
+++ b/system/lzop/slack-desc
@@ -6,12 +6,12 @@
# customary to leave one space after the ':' except on otherwise blank lines.
|-----handy-ruler------------------------------------------------------|
-lzop: lzop (LZO archiver)
+lzop: lzop (LZO compressor/decompressor)
lzop:
lzop: lzop uses the LZO data compression library for compression services,
lzop: and its main advantages over gzip are much higher compression and
lzop: decompression speed (at the cost of some compression ratio).
-lzop: lzop is the fastest (de)compresser around.
+lzop: lzop is the fastest (de)compressor around.
lzop:
lzop: Homepage: http://www.lzop.org/
lzop:
diff --git a/system/magiic/README b/system/magiic/README
new file mode 100644
index 0000000000..7b8a14087c
--- /dev/null
+++ b/system/magiic/README
@@ -0,0 +1,15 @@
+magiic is a simple front for slackpkg, written in dialog.
+
+With him you can:
+ * List of mirrors
+ * Check for system update
+ * Update the mirror
+ * List all unofficial packages for removal
+ * Check package information
+ * Search for a package
+ * Install a new package
+ * Reinstall package
+ * Remove a package
+ * Upgrade packages
+
+NOTE: Not all slackpkg features are available, just the main features.
diff --git a/system/slack-scripts/slack-scripts.SlackBuild b/system/magiic/magiic.SlackBuild
index 9927cf0711..a01339e96e 100644
--- a/system/slack-scripts/slack-scripts.SlackBuild
+++ b/system/magiic/magiic.SlackBuild
@@ -1,7 +1,7 @@
#!/bin/sh
-# Slackware build script for slack-scripts
-# Copyright 2018 David Woodfall <dave@dawoodfall.net>
+# Slackware build script for magiic
+# Copyright 2020 Jefferson 'Slackjeff' Rocha <root@slackjeff.com.br>
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
@@ -21,8 +21,8 @@
# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-PRGNAM=slack-scripts
-VERSION=${VERSION:-0.0.3}
+PRGNAM=magiic
+VERSION=${VERSION:-0.3.1}
BUILD=${BUILD:-1}
TAG=${TAG:-_SBo}
ARCH=noarch
@@ -38,7 +38,7 @@ rm -rf $PKG
mkdir -p $TMP $PKG $OUTPUT
cd $TMP
rm -rf $PRGNAM-$VERSION
-tar xvf $CWD/$PRGNAM-$VERSION.tar.gz
+tar xvf $CWD/$PRGNAM-$VERSION.tar.xz
cd $PRGNAM-$VERSION
chown -R root:root .
find -L . \
@@ -47,12 +47,10 @@ find -L . \
\( -perm 666 -o -perm 664 -o -perm 640 -o -perm 600 -o -perm 444 \
-o -perm 440 -o -perm 400 \) -exec chmod 644 {} \;
-mkdir -p $PKG/usr/{bin,sbin}
-cp ph/ph $PKG/usr/bin
-cp slkcfg/slkcfg $PKG/usr/sbin
+mkdir -p $PKG/usr/bin
+cp "$PRGNAM" $PKG/usr/bin/
mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION
-cp -a README $PKG/usr/doc/$PRGNAM-$VERSION
cat $CWD/$PRGNAM.SlackBuild > $PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM.SlackBuild
mkdir -p $PKG/install
diff --git a/system/magiic/magiic.info b/system/magiic/magiic.info
new file mode 100644
index 0000000000..79462714de
--- /dev/null
+++ b/system/magiic/magiic.info
@@ -0,0 +1,10 @@
+PRGNAM="magiic"
+VERSION="0.3.1"
+HOMEPAGE="https://github.com/slackjeff/magiic/"
+DOWNLOAD="https://sourceforge.net/projects/magiic/files/magiic-0.3.1.tar.xz"
+MD5SUM="c06b2a6f098f15b935bb8f13d740e426"
+DOWNLOAD_x86_64=""
+MD5SUM_x86_64=""
+REQUIRES=""
+MAINTAINER="Jefferson Rocha"
+EMAIL="root@slackjeff.com.br"
diff --git a/system/magiic/slack-desc b/system/magiic/slack-desc
new file mode 100644
index 0000000000..83566e961a
--- /dev/null
+++ b/system/magiic/slack-desc
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description.
+# Line up the first '|' above the ':' following the base package name, and
+# the '|' on the right side marks the last column you can put a character in.
+# You must make exactly 11 lines for the formatting to be correct. It's also
+# customary to leave one space after the ':' except on otherwise blank lines.
+
+ |-----handy-ruler------------------------------------------------------|
+magiic: magiic (Simple frontend for Slackpkg)
+magiic:
+magiic: magiic is a simple frontend for slackpkg, written in dialog.
+magiic:
+magiic:
+magiic:
+magiic:
+magiic:
+magiic:
+magiic: Homepage: https://github.com/slackjeff/magiic
+magiic:
diff --git a/system/mailfromd/mailfromd.SlackBuild b/system/mailfromd/mailfromd.SlackBuild
index a9c24f9152..18771dd3d2 100644
--- a/system/mailfromd/mailfromd.SlackBuild
+++ b/system/mailfromd/mailfromd.SlackBuild
@@ -2,7 +2,7 @@
# Slackware build script for mailfromd
-# Copyright 2018 Sergey Poznyakoff <gray@gnu.org>
+# Copyright 2021 Sergey Poznyakoff <gray@gnu.org>
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
@@ -23,7 +23,7 @@
# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
PRGNAM=mailfromd
-VERSION=${VERSION:-8.5}
+VERSION=${VERSION:-8.9}
BUILD=${BUILD:-1}
TAG=${TAG:-_SBo}
diff --git a/system/mailfromd/mailfromd.info b/system/mailfromd/mailfromd.info
index a056ef3e6f..52ce5a5963 100644
--- a/system/mailfromd/mailfromd.info
+++ b/system/mailfromd/mailfromd.info
@@ -1,8 +1,8 @@
PRGNAM="mailfromd"
-VERSION="8.5"
+VERSION="8.9"
HOMEPAGE="http://puszcza.gnu.org.ua/software/mailfromd"
-DOWNLOAD="http://download.gnu.org.ua/pub/release/mailfromd/mailfromd-8.5.tar.gz"
-MD5SUM="3b2f97b5defe71e46ff8cbdff3990de5"
+DOWNLOAD="http://download.gnu.org.ua/pub/release/mailfromd/mailfromd-8.9.tar.gz"
+MD5SUM="77bb38237483616893b926356bc47103"
DOWNLOAD_x86_64=""
MD5SUM_x86_64=""
REQUIRES="mailutils adns"
diff --git a/system/mailutils/mailutils.SlackBuild b/system/mailutils/mailutils.SlackBuild
index c969550754..a5bae7cc7c 100644
--- a/system/mailutils/mailutils.SlackBuild
+++ b/system/mailutils/mailutils.SlackBuild
@@ -2,7 +2,7 @@
# Slackware build script for GNU mailutils
-# Copyright 2019 Sergey Poznyakoff, <gray@gnu.org>
+# Copyright 2021 Sergey Poznyakoff, <gray@gnu.org>
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
@@ -23,7 +23,7 @@
# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
PRGNAM=mailutils
-VERSION=${VERSION:-3.7}
+VERSION=${VERSION:-3.11.1}
BUILD=${BUILD:-1}
TAG=${TAG:-_SBo}
diff --git a/system/mailutils/mailutils.info b/system/mailutils/mailutils.info
index 2c72586595..1f455d8c9f 100644
--- a/system/mailutils/mailutils.info
+++ b/system/mailutils/mailutils.info
@@ -1,8 +1,8 @@
PRGNAM="mailutils"
-VERSION="3.7"
+VERSION="3.11.1"
HOMEPAGE="http://mailutils.org"
-DOWNLOAD="https://ftp.gnu.org/gnu/mailutils/mailutils-3.7.tar.gz"
-MD5SUM="df9be534d52c1b8dc4ccb8d6bd89a895"
+DOWNLOAD="https://ftp.gnu.org/gnu/mailutils/mailutils-3.11.1.tar.gz"
+MD5SUM="1f47762607801ad3b9b5642c0d0fbac7"
DOWNLOAD_x86_64=""
MD5SUM_x86_64=""
REQUIRES="libgsasl %README%"
diff --git a/system/makeself/makeself.SlackBuild b/system/makeself/makeself.SlackBuild
index 4c06c83042..0c812684bd 100644
--- a/system/makeself/makeself.SlackBuild
+++ b/system/makeself/makeself.SlackBuild
@@ -2,9 +2,11 @@
# Slackware build script for makeself
-# Copyright 2013, Andrew Tkalia <anddt@yandex.ru>, Ukraine, Kyiv
+# Copyright 2020, Erik Falor <ewfalor@gmail.com>, Utah, USA
# All rights reserved.
#
+# Originally maintained by Andrew Tkalia <anddt@yandex.ru>, Ukraine, Kyiv
+#
# Redistribution and use of this script, with or without modification, is
# permitted provided that the following conditions are met:
#
@@ -23,8 +25,8 @@
# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
PRGNAM=makeself
-VERSION=${VERSION:-2.2.0}
-BUILD=${BUILD:-2}
+VERSION=${VERSION:-2.4.2}
+BUILD=${BUILD:-1}
TAG=${TAG:-_SBo}
ARCH=noarch
@@ -62,7 +64,7 @@ cp makeself.sh $PKG/usr/bin
cat makeself.1 |gzip -9 > $PKG/usr/man/man1/makeself.1.gz
mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION
-cp -a COPYING README.md makeself.lsm update-readme $PKG/usr/doc/$PRGNAM-$VERSION
+cp -a COPYING README.md makeself.lsm $PKG/usr/doc/$PRGNAM-$VERSION
cat $CWD/$PRGNAM.SlackBuild > $PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM.SlackBuild
mkdir -p $PKG/install
diff --git a/system/makeself/makeself.info b/system/makeself/makeself.info
index c99409f8ff..a1573f2778 100644
--- a/system/makeself/makeself.info
+++ b/system/makeself/makeself.info
@@ -1,10 +1,10 @@
PRGNAM="makeself"
-VERSION="2.2.0"
+VERSION="2.4.2"
HOMEPAGE="https://github.com/megastep/makeself"
-DOWNLOAD="https://github.com/megastep/makeself/archive/release-2.2.0.tar.gz"
-MD5SUM="8075530b2ad0a2fbd4bffa80a96eb2ea"
+DOWNLOAD="https://github.com/megastep/makeself/archive/release-2.4.2.tar.gz"
+MD5SUM="7f81a68ee6a8db39ca099e93e7bbc5ed"
DOWNLOAD_x86_64=""
MD5SUM_x86_64=""
REQUIRES=""
-MAINTAINER="Andrew Tkalia"
-EMAIL="anddt@yandex.ru"
+MAINTAINER="Erik Falor"
+EMAIL="ewfalor@gmail.com"
diff --git a/system/man-db/README b/system/man-db/README
index 1e48863b3a..8ac7c0c470 100644
--- a/system/man-db/README
+++ b/system/man-db/README
@@ -1,11 +1,12 @@
man-db (database-driven manual pager suite)
-This package provides the man command and related utilities for examining
-on-line help files (manual pages). It can act as a replacement for
-Slackware's man package. It has several enhancements over man, including
-an indexed database for searches with -k or apropos, the ability to
-easily view man pages in a browser, better i18n support, and a much more
-efficient implementation of the -K (full text search) option.
+This package provides the man command and related utilities
+for examining on-line help files (manual pages). It can act as a
+replacement for Slackware's man package. It has several enhancements
+over man, including an indexed database for searches with -k or
+apropos, the ability to easily view man pages in a browser, better
+i18n support, and a much more efficient implementation of the -K (full
+text search) option.
This build includes a complete install of libpipeline.
diff --git a/system/man-db/man-db.SlackBuild b/system/man-db/man-db.SlackBuild
index 4d5e2e10c6..7c9b5a31f6 100644
--- a/system/man-db/man-db.SlackBuild
+++ b/system/man-db/man-db.SlackBuild
@@ -6,11 +6,14 @@
# Licensed under the WTFPL. See http://www.wtfpl.net/txt/copying/ for details.
-# 20180801 bkw:
-# - update for v2.8.4.
+# 20210306 bkw: update for v2.9.4 (resync with -current again)
+# 20201024 bkw: update for v2.9.3 (matches -current)
+# 20200316 bkw: update for v2.9.1 (resync with -current)
+# 20191201 bkw: update for v2.9.0 (to match -current again).
+# Also got rid of the systemd-specific stuff properly (via configure opts).
-# 20180611 bkw:
-# - update for v2.8.3, to match what Pat has in -current.
+# 20180801 bkw: update for v2.8.4.
+# 20180611 bkw: update for v2.8.3, to match what Pat has in -current.
# 20180208 bkw: update for man-db 2.8.0, libpipeline 1.5.0.
# This may be the last SBo update, since Pat has imported man-db
@@ -52,7 +55,7 @@
# - update README and README.Slackware slightly.
PRGNAM=man-db
-VERSION=${VERSION:-2.8.4}
+VERSION=${VERSION:-2.9.4}
BUILD=${BUILD:-1}
TAG=${TAG:-_SBo}
@@ -109,18 +112,15 @@ mkdir -p $TMP $PKG $OUTPUT
# Instead of making it a separate build and external dep, we'll just
# bundle it here.
LIBNAM=libpipeline
-LIBVER=1.5.0
+LIBVER=1.5.3
cd $TMP
rm -rf $LIBNAM-$LIBVER
tar xvf $CWD/$LIBNAM-$LIBVER.tar.gz
cd $LIBNAM-$LIBVER
chown -R root:root .
-find -L . \
- \( -perm 777 -o -perm 775 -o -perm 750 -o -perm 711 -o -perm 555 \
- -o -perm 511 \) -exec chmod 755 {} \; -o \
- \( -perm 666 -o -perm 664 -o -perm 640 -o -perm 600 -o -perm 444 \
- -o -perm 440 -o -perm 400 \) -exec chmod 644 {} \;
+find -L . -perm /111 -a \! -perm 755 -a -exec chmod 755 {} \+ -o \
+ \! -perm /111 -a \! -perm 644 -a -exec chmod 644 {} \+
CFLAGS="$SLKCFLAGS" \
CXXFLAGS="$SLKCFLAGS" \
@@ -146,11 +146,8 @@ rm -rf $PRGNAM-$VERSION
tar xvf $CWD/$PRGNAM-$VERSION.tar.xz
cd $PRGNAM-$VERSION
chown -R root:root .
-find -L . \
- \( -perm 777 -o -perm 775 -o -perm 750 -o -perm 711 -o -perm 555 \
- -o -perm 511 \) -exec chmod 755 {} \; -o \
- \( -perm 666 -o -perm 664 -o -perm 640 -o -perm 600 -o -perm 444 \
- -o -perm 440 -o -perm 400 \) -exec chmod 644 {} \;
+find -L . -perm /111 -a \! -perm 755 -a -exec chmod 755 {} \+ -o \
+ \! -perm /111 -a \! -perm 644 -a -exec chmod 644 {} \+
# The 'checking for long filenames' test in the configure script writes to
# /usr/lib, which is bad behaviour for a configure script. Not to mention
@@ -170,6 +167,8 @@ libpipeline_LIBS="-L$PKG/usr/lib$LIBDIRSUFFIX $PKG/usr/lib$LIBDIRSUFFIX/libpipel
CFLAGS="$SLKCFLAGS" \
CXXFLAGS="$SLKCFLAGS" \
./configure \
+ --with-systemdtmpfilesdir=no \
+ --with-systemdsystemunitdir=no \
--disable-setuid \
--disable-cache-owner \
--prefix=/usr \
@@ -185,10 +184,6 @@ CXXFLAGS="$SLKCFLAGS" \
make
make install-strip DESTDIR=$PKG
-# This stuff is for systemd, we don't need it (and it might confuse
-# people coming from systemd distros):
-rm -rf $PKG/usr/lib/tmpfiles.d/
-
# There will always be man pages here, regardless of USR=yes or no.
find $PKG/usr/man -type f -exec gzip -9 {} \;
for i in $( find $PKG/usr/man -type l ) ; do ln -s $( readlink $i ).gz $i.gz ; rm $i ; done
diff --git a/system/man-db/man-db.info b/system/man-db/man-db.info
index 70a6f6a7c1..62e0c9f10e 100644
--- a/system/man-db/man-db.info
+++ b/system/man-db/man-db.info
@@ -1,10 +1,10 @@
PRGNAM="man-db"
-VERSION="2.8.4"
+VERSION="2.9.4"
HOMEPAGE="http://www.nongnu.org/man-db/"
-DOWNLOAD="http://download.savannah.gnu.org/releases/man-db/man-db-2.8.4.tar.xz \
- http://download.savannah.gnu.org/releases/libpipeline/libpipeline-1.5.0.tar.gz"
-MD5SUM="ab41db551f500e4a595b11203b86c67a \
- b7437a5020190cfa84f09c412db38902"
+DOWNLOAD="http://download.savannah.gnu.org/releases/man-db/man-db-2.9.4.tar.xz \
+ http://download.savannah.gnu.org/releases/libpipeline/libpipeline-1.5.3.tar.gz"
+MD5SUM="6e233a555f7b9ae91ce7cd0faa322bce \
+ dad443d0911cf9f0f1bd90a334bc9004"
DOWNLOAD_x86_64=""
MD5SUM_x86_64=""
REQUIRES=""
diff --git a/system/man-pages-ja/man-pages-ja.SlackBuild b/system/man-pages-ja/man-pages-ja.SlackBuild
index bab442a1be..13333c85bb 100644
--- a/system/man-pages-ja/man-pages-ja.SlackBuild
+++ b/system/man-pages-ja/man-pages-ja.SlackBuild
@@ -7,7 +7,7 @@
# Licensed under the WTFPL. See http://www.wtfpl.net/txt/copying/ for details.
PRGNAM=man-pages-ja
-VERSION=${VERSION:-20171215}
+VERSION=${VERSION:-20201015}
BUILD=${BUILD:-1}
TAG=${TAG:-_SBo}
@@ -27,11 +27,8 @@ rm -rf $PRGNAM-$VERSION
tar xvf $CWD/$PRGNAM-$VERSION.tar.gz
cd $PRGNAM-$VERSION
chown -R root:root .
-find -L . \
- \( -perm 777 -o -perm 775 -o -perm 750 -o -perm 711 -o -perm 555 \
- -o -perm 511 \) -exec chmod 755 {} \; -o \
- \( -perm 666 -o -perm 664 -o -perm 640 -o -perm 600 -o -perm 444 \
- -o -perm 440 -o -perm 400 \) -exec chmod 644 {} \;
+find -L . -perm /111 -a \! -perm 755 -a -exec chmod 755 {} \+ -o \
+ \! -perm /111 -a \! -perm 644 -a -exec chmod 644 {} \+
# I'm almost certain this is correct, based on how other distros do it.
# The other possibility was "ja.UTF-8". A /usr/man/jp dir does exist on
diff --git a/system/man-pages-ja/man-pages-ja.info b/system/man-pages-ja/man-pages-ja.info
index 9ee6b330bc..8cd22f19ca 100644
--- a/system/man-pages-ja/man-pages-ja.info
+++ b/system/man-pages-ja/man-pages-ja.info
@@ -1,8 +1,8 @@
PRGNAM="man-pages-ja"
-VERSION="20171215"
+VERSION="20201015"
HOMEPAGE="http://linuxjm.sourceforge.jp/"
-DOWNLOAD="http://linuxjm.sourceforge.jp/man-pages-ja-20171215.tar.gz"
-MD5SUM="679767d28b95a1004a43b0568629f37e"
+DOWNLOAD="http://linuxjm.sourceforge.jp/man-pages-ja-20201015.tar.gz"
+MD5SUM="2ca73214a0027747ec3cc59e8059bc58"
DOWNLOAD_x86_64=""
MD5SUM_x86_64=""
REQUIRES="man-db"
diff --git a/system/man-pages-ru/README b/system/man-pages-ru/README
index f91c1b8bf9..737959c9c1 100644
--- a/system/man-pages-ru/README
+++ b/system/man-pages-ru/README
@@ -1 +1,10 @@
-Russian translation for system man pages version 3.41
+man-pages-ru (Russian system documentation)
+
+Russian translation for system man pages. This requires a terminal
+that can handle UTF-8 (such as konsole, xfce4-terminal, or
+rxvt-unicode), and a UTF-8 locale such as LANG=ru_RU.UTF-8. You'll
+also need a font that displays Cyrillic glyphs (should be included
+with Slackware already).
+
+Sadly, this isn't a complete set of man pages. For instance, there are
+no man pages included for coreutils.
diff --git a/system/man-pages-ru/man-pages-ru.SlackBuild b/system/man-pages-ru/man-pages-ru.SlackBuild
index 568b06ec02..ad1a76d094 100644
--- a/system/man-pages-ru/man-pages-ru.SlackBuild
+++ b/system/man-pages-ru/man-pages-ru.SlackBuild
@@ -22,12 +22,17 @@
# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+# 20201105 bkw: This hasn't been updated in 7+ years, and I'm not sure
+# it ever worked properly with 14.2's man command. Update to latest
+# version and document how to get this stuff to work with man-db and a
+# utf-8 capable terminal.
+
PRGNAM=man-pages-ru
-VERSION=${VERSION:-3.41_20130102} # Set the version to something sane.
+VERSION=${VERSION:-5.03_20191017} # Set the version to something sane.
BUILD=${BUILD:-1}
TAG=${TAG:-_SBo}
-SRCVERSION=${SRCVERSION:-$(echo $PRGNAM_*.tar.bz2 | rev | cut -f 3- -d . | cut -f 1 -d _ | rev)}
+SRCVERSION="$(echo $PRGNAM_*.tar.bz2 | rev | cut -f 3- -d . | cut -f 1 -d _ | rev)"
ARCH=noarch
@@ -45,27 +50,21 @@ rm -rf $PRGNAM\_$SRCVERSION
tar xvf $CWD/$PRGNAM\_$SRCVERSION.tar.bz2
cd $PRGNAM\_$SRCVERSION
chown -R root:root .
-find -L . \
- \( -perm 777 -o -perm 775 -o -perm 750 -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 {} \;
+find -L . -perm /111 -a \! -perm 755 -a -exec chmod 755 {} \+ -o \
+ \! -perm /111 -a \! -perm 644 -a -exec chmod 644 {} \+
+
+# This one is included in Slackware.
+rm man5/passwd.5
-mkdir -p $PKG/usr/man/ru
+mkdir -p $PKG/usr/man/ru.UTF-8
for section in 1 2 3 4 5 6 7 8 ; do
- mv man$section $PKG/usr/man/ru
+ mv man$section $PKG/usr/man/ru.UTF-8
done
-find $PKG/usr/man -type f -exec gzip -9 {} \;
-for i in $( find $PKG/usr/man -type l ) ; do ln -s $( readlink $i ).gz $i.gz ; rm $i ; done
-
-# This one is included in Slackware.
-rm $PKG/usr/man/ru/man5/passwd.5.gz
+find $PKG/usr/man -type f -exec gzip -9 {} \+
mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION
-cp -a \
- README License \
- $PKG/usr/doc/$PRGNAM-$VERSION
+cp -a README License $PKG/usr/doc/$PRGNAM-$VERSION
cat $CWD/$PRGNAM.SlackBuild > $PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM.SlackBuild
mkdir -p $PKG/install
diff --git a/system/man-pages-ru/man-pages-ru.info b/system/man-pages-ru/man-pages-ru.info
index 3ea60886d4..8d5e4afdd9 100644
--- a/system/man-pages-ru/man-pages-ru.info
+++ b/system/man-pages-ru/man-pages-ru.info
@@ -1,10 +1,10 @@
PRGNAM="man-pages-ru"
-VERSION="3.41_20130102"
+VERSION="5.03_20191017"
HOMEPAGE="http://man-pages-ru.sourceforge.net/"
-DOWNLOAD="http://sourceforge.net/projects/man-pages-ru/files/man-pages-ru_3.41-2145-1724-20130102.tar.bz2"
-MD5SUM="2fc85340225409fe8d5dfbf90b2a0575"
+DOWNLOAD="http://sourceforge.net/projects/man-pages-ru/files/man-pages-ru_5.03-2390-2390-20191017.tar.bz2"
+MD5SUM="0b4bc884e9f94ca107de6a8eaa60f03e"
DOWNLOAD_x86_64=""
MD5SUM_x86_64=""
-REQUIRES=""
-MAINTAINER="Anton Sil'uev"
-EMAIL="burning2007@ya.ru"
+REQUIRES="man-db"
+MAINTAINER="B. Watson"
+EMAIL="yalhcru@gmail.com"
diff --git a/system/man-pages-ru/slack-desc b/system/man-pages-ru/slack-desc
index 0255970528..7b7011da1f 100644
--- a/system/man-pages-ru/slack-desc
+++ b/system/man-pages-ru/slack-desc
@@ -8,11 +8,11 @@
|-----handy-ruler------------------------------------------------------|
man-pages-ru: man-pages-ru (Russian system documentation)
man-pages-ru:
-man-pages-ru: Russian translation files for man pages
-man-pages-ru:
-man-pages-ru: Visit http://man-pages-ru.sourceforge.net/ for details.
-man-pages-ru:
-man-pages-ru:
+man-pages-ru: Russian translation for system man pages. This requires a terminal
+man-pages-ru: that can handle UTF-8 (such as konsole, xfce4-terminal, or
+man-pages-ru: rxvt-unicode), and a UTF-8 locale such as LANG=ru_RU.UTF-8. You'll
+man-pages-ru: also need a font that displays Cyrillic glyphs (should be included
+man-pages-ru: with Slackware already).
man-pages-ru:
man-pages-ru:
man-pages-ru:
diff --git a/system/maxcso/maxcso.SlackBuild b/system/maxcso/maxcso.SlackBuild
index f8607544be..8a20490bc6 100644
--- a/system/maxcso/maxcso.SlackBuild
+++ b/system/maxcso/maxcso.SlackBuild
@@ -2,7 +2,7 @@
# Slackware build script for maxcso
-# Copyright 2018-2019 Hunter Sezen California, USA
+# Copyright 2018-2020 Hunter Sezen California, USA
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
@@ -23,7 +23,7 @@
# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
PRGNAM=maxcso
-VERSION=${VERSION:-1.11.0}
+VERSION=${VERSION:-1.12.0}
BUILD=${BUILD:-1}
TAG=${TAG:-_SBo}
diff --git a/system/maxcso/maxcso.info b/system/maxcso/maxcso.info
index 79da8f7509..6093cfae01 100644
--- a/system/maxcso/maxcso.info
+++ b/system/maxcso/maxcso.info
@@ -1,8 +1,8 @@
PRGNAM="maxcso"
-VERSION="1.11.0"
+VERSION="1.12.0"
HOMEPAGE="https://github.com/unknownbrackets/maxcso"
-DOWNLOAD="https://github.com/unknownbrackets/maxcso/archive/v1.11.0/maxcso-1.11.0.tar.gz"
-MD5SUM="b09915b38cbd746229fd293438957752"
+DOWNLOAD="https://github.com/unknownbrackets/maxcso/archive/v1.12.0/maxcso-1.12.0.tar.gz"
+MD5SUM="4ad33bcbc7659046564d3700241364ef"
DOWNLOAD_x86_64=""
MD5SUM_x86_64=""
REQUIRES="libuv lz4"
diff --git a/system/md5deep/md5deep.SlackBuild b/system/md5deep/md5deep.SlackBuild
index 9f4760f7a0..b049d8efab 100644
--- a/system/md5deep/md5deep.SlackBuild
+++ b/system/md5deep/md5deep.SlackBuild
@@ -3,7 +3,7 @@
# Slackware build script for md5deep
# Copyright 2009-2015 Erik W. Hanson, Minneapolis, MN, USA
-# Copyright 2015-2016 Willy Sudiarto Raharjo <willysr@slackbuilds.org>
+# Copyright 2015-2020 Willy Sudiarto Raharjo <willysr@slackbuilds.org>
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
@@ -26,7 +26,7 @@
PRGNAM=md5deep
SRCNAM=hashdeep
VERSION=${VERSION:-4.4}
-BUILD=${BUILD:-1}
+BUILD=${BUILD:-2}
TAG=${TAG:-_SBo}
if [ -z "$ARCH" ]; then
@@ -62,9 +62,13 @@ rm -rf $PKG
mkdir -p $TMP $PKG $OUTPUT
cd $TMP
rm -rf $SRCNAM-release-$VERSION
-tar xvf $CWD/$SRCNAM-release-$VERSION.tar.gz || tar xvf $CWD/release-$VERSION.tar.gz
+tar xvf $CWD/$SRCNAM-release-$VERSION.tar.gz
cd $SRCNAM-release-$VERSION
chown -R root:root .
+
+# Remove loop
+rm -rf tests/testfiles/symlinktest/
+
find -L . \
\( -perm 777 -o -perm 775 -o -perm 750 -o -perm 711 -o -perm 555 \
-o -perm 511 \) -exec chmod 755 {} \; -o \
diff --git a/system/md5deep/md5deep.info b/system/md5deep/md5deep.info
index 655b55c6ac..eaed42214d 100644
--- a/system/md5deep/md5deep.info
+++ b/system/md5deep/md5deep.info
@@ -1,7 +1,7 @@
PRGNAM="md5deep"
VERSION="4.4"
HOMEPAGE="https://github.com/jessek/hashdeep/"
-DOWNLOAD="https://github.com/jessek/hashdeep/archive/release-4.4.tar.gz"
+DOWNLOAD="https://github.com/jessek/hashdeep/archive/release-4.4/hashdeep-release-4.4.tar.gz"
MD5SUM="9ccfd5ba3e3d9cffddeb118cacad0c27"
DOWNLOAD_x86_64=""
MD5SUM_x86_64=""
diff --git a/system/mdf2iso/README b/system/mdf2iso/README
index fbf02c4879..2d11da7387 100644
--- a/system/mdf2iso/README
+++ b/system/mdf2iso/README
@@ -1,2 +1,2 @@
mdf2iso is a very simple utility to convert an Alcohol 120% mdf image
-to an iso, toc / dat or cue / bin image. \ No newline at end of file
+to an iso, toc / dat or cue / bin image.
diff --git a/system/megacli/README b/system/megacli/README
new file mode 100644
index 0000000000..2ed8a57153
--- /dev/null
+++ b/system/megacli/README
@@ -0,0 +1,6 @@
+megacli (LSI hardware RAID management utility)
+
+MegaCLI is an LSI command line interface utility to the MegaRAID
+controller family. It is used as a diagnostic utility to obtain
+information, event logs and interact with the RAID controller and
+attached peripherals.
diff --git a/system/megacli/megacli.SlackBuild b/system/megacli/megacli.SlackBuild
new file mode 100644
index 0000000000..2c0850425c
--- /dev/null
+++ b/system/megacli/megacli.SlackBuild
@@ -0,0 +1,84 @@
+#!/bin/sh
+
+# Slackware build script for MegaCLI
+
+# Copyright 2020 Ebben Aries <e@dscp.org>
+# 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.
+
+PRGNAM=megacli
+ZIPNAM=MegaCLI
+RPMNAM=MegaCli
+VERSION=${VERSION:-8.07.14}
+ZIPVER="$(echo $VERSION | sed -e 's/\./\-/g')"
+BUILD=${BUILD:-1}
+TAG=${TAG:-_SBo}
+
+if [ -z "$ARCH" ]; then
+ case "$( uname -m )" in
+ i?86) ARCH=i586 ;;
+ arm*) ARCH=arm ;;
+ *) ARCH=$( uname -m ) ;;
+ esac
+fi
+
+CWD=$(pwd)
+TMP=${TMP:-/tmp/SBo}
+PKG=$TMP/package-$PRGNAM
+OUTPUT=${OUTPUT:-/tmp}
+
+if [ "$ARCH" = "x86_64" ]; then
+ LIBDIRSUFFIX="64"
+else
+ LIBDIRSUFFIX=""
+fi
+
+set -e
+
+rm -rf $PKG
+mkdir -p $TMP $PKG $OUTPUT
+cd $TMP
+rm -rf $PRGNAM-$VERSION
+unzip -d $PRGNAM-$VERSION $CWD/${ZIPVER}_$ZIPNAM.zip
+cd $PRGNAM-$VERSION/Linux
+
+rpm2cpio < ${RPMNAM}-${VERSION}-${BUILD}.noarch.rpm | cpio -imdv
+chown -R root:root .
+find -L . \
+\( -perm 777 -o -perm 775 -o -perm 750 -o -perm 711 -o -perm 555 \
+-o -perm 511 \) -exec chmod 755 {} \; -o \
+\( -perm 666 -o -perm 664 -o -perm 640 -o -perm 600 -o -perm 444 \
+-o -perm 440 -o -perm 400 \) -exec chmod 644 {} \;
+
+cp -ap opt $PKG/
+
+find $PKG -print0 | xargs -0 file | grep -e "executable" -e "shared object" | grep ELF \
+ | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null || true
+
+mkdir -p $PKG/usr/bin
+ln -s /opt/MegaRAID/$RPMNAM/$RPMNAM$LIBDIRSUFFIX $PKG/usr/bin/$PRGNAM
+
+mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION
+cat $CWD/$PRGNAM.SlackBuild > $PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM.SlackBuild
+
+mkdir -p $PKG/install
+cat $CWD/slack-desc > $PKG/install/slack-desc
+
+cd $PKG
+/sbin/makepkg -l y -c n $OUTPUT/$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.${PKGTYPE:-tgz}
diff --git a/system/megacli/megacli.info b/system/megacli/megacli.info
new file mode 100644
index 0000000000..e9d3f740db
--- /dev/null
+++ b/system/megacli/megacli.info
@@ -0,0 +1,10 @@
+PRGNAM="megacli"
+VERSION="8.07.14"
+HOMEPAGE="http://www.broadcom.com"
+DOWNLOAD="https://docs.broadcom.com/docs-and-downloads/raid-controllers/raid-controllers-common-files/8-07-14_MegaCLI.zip"
+MD5SUM="bf53eeb0e8ccc09c34f52d7035940c62"
+DOWNLOAD_x86_64=""
+MD5SUM_x86_64=""
+REQUIRES=""
+MAINTAINER="Ebben Aries"
+EMAIL="e@dscp.org"
diff --git a/system/megacli/slack-desc b/system/megacli/slack-desc
new file mode 100644
index 0000000000..a0bf177d66
--- /dev/null
+++ b/system/megacli/slack-desc
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description.
+# Line up the first '|' above the ':' following the base package name, and
+# the '|' on the right side marks the last column you can put a character in.
+# You must make exactly 11 lines for the formatting to be correct. It's also
+# customary to leave one space after the ':' except on otherwise blank lines.
+
+ |-----handy-ruler------------------------------------------------------|
+megacli: megacli (LSI hardware RAID management utility)
+megacli:
+megacli: MegaCLI is an LSI command line interface utility to the MegaRAID
+megacli: controller family. It is used as a diagnostic utility to obtain
+megacli: information, event logs and interact with the RAID controller and
+megacli: attached peripherals.
+megacli:
+megacli: Home-Page: http://www.broadcom.com
+megacli:
+megacli:
+megacli:
diff --git a/system/memtester/README b/system/memtester/README
new file mode 100644
index 0000000000..df134f1b2e
--- /dev/null
+++ b/system/memtester/README
@@ -0,0 +1,23 @@
+memtester (memory test utility)
+
+memtester is a userspace utility for testing the memory subsystem for
+faults. Unlike memtest86, it runs as a process on a running Linux system,
+meaning it can't test all of memory the way memtest86 is able to... but
+you don't have to reboot to use it.
+
+Note that, by definition, memtester counts as a denial-of-service
+(resource exhaustion) attack against the local machine. Be cautious
+about using it, and definitely *read its man page* before use.
+
+memtester has traditionally been run as root, so that it can lock the
+memory it's testing to prevent swapping and remapping. However, it's
+possible to use capabilities to allow it to run correctly as a normal
+user. Use something like:
+
+# chown root:console /usr/bin/memtester
+# chmod 0750 /usr/bin/memtester
+# setcap cap_ipc_lock=ep /usr/bin/memtester
+
+This allows anyone in the "console" group to run memtester. You could
+also create a memtester group and use it in the chown command above,
+if you'd rather have more fine-grained control.
diff --git a/system/memtester/memtester.SlackBuild b/system/memtester/memtester.SlackBuild
new file mode 100644
index 0000000000..9b17fd3fea
--- /dev/null
+++ b/system/memtester/memtester.SlackBuild
@@ -0,0 +1,78 @@
+#!/bin/sh
+
+# Slackware build script for memtester
+
+# Written by B. Watson (yalhcru@gmail.com)
+
+# Licensed under the WTFPL. See http://www.wtfpl.net/txt/copying/ for details.
+
+# The _1 is the debian patchlevel.
+
+PRGNAM=memtester
+VERSION=${VERSION:-4.5.0_1}
+BUILD=${BUILD:-1}
+TAG=${TAG:-_SBo}
+
+SRCVER="$( echo $VERSION | cut -d_ -f1 )"
+DEBVER="$( echo $VERSION | cut -d_ -f2 )"
+
+if [ -z "$ARCH" ]; then
+ case "$( uname -m )" in
+ i?86) ARCH=i586 ;;
+ arm*) ARCH=arm ;;
+ *) ARCH=$( uname -m ) ;;
+ esac
+fi
+
+CWD=$(pwd)
+TMP=${TMP:-/tmp/SBo}
+PKG=$TMP/package-$PRGNAM
+OUTPUT=${OUTPUT:-/tmp}
+
+if [ "$ARCH" = "i586" ]; then
+ SLKCFLAGS="-O2 -march=i586 -mtune=i686"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "i686" ]; then
+ SLKCFLAGS="-O2 -march=i686 -mtune=i686"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "x86_64" ]; then
+ SLKCFLAGS="-O2 -fPIC"
+ LIBDIRSUFFIX="64"
+else
+ SLKCFLAGS="-O2"
+ LIBDIRSUFFIX=""
+fi
+
+set -e
+
+rm -rf $PKG
+mkdir -p $TMP $PKG/usr $OUTPUT
+cd $TMP
+rm -rf $PRGNAM-$SRCVER
+tar xvf $CWD/$PRGNAM-$SRCVER.tar.gz
+cd $PRGNAM-$SRCVER
+tar xvf $CWD/${PRGNAM}_$SRCVER-$DEBVER.debian.tar.xz
+chown -R root:root .
+find -L . -perm /111 -a \! -perm 755 -a -exec chmod 755 {} \+ -o \
+ \! -perm /111 -a \! -perm 644 -a -exec chmod 644 {} \+
+
+# These patches don't do much, but they're worth having.
+for i in $( cat debian/patches/series ); do
+ patch -p1 < debian/patches/$i
+done
+
+# After applying the debian patches, CC doesn't get a default value (?)
+make CC=${CC:-gcc} CFLAGS="$SLKCFLAGS"
+make install INSTALLPATH=$PKG/usr
+
+# Binary already stripped, manpage already gzipped.
+
+mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION
+cp -a BUGS CHANGELOG COPYING README* $PKG/usr/doc/$PRGNAM-$VERSION
+cat $CWD/$PRGNAM.SlackBuild > $PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM.SlackBuild
+
+mkdir -p $PKG/install
+cat $CWD/slack-desc > $PKG/install/slack-desc
+
+cd $PKG
+/sbin/makepkg -l y -c n $OUTPUT/$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.${PKGTYPE:-tgz}
diff --git a/system/memtester/memtester.info b/system/memtester/memtester.info
new file mode 100644
index 0000000000..083ffb958c
--- /dev/null
+++ b/system/memtester/memtester.info
@@ -0,0 +1,12 @@
+PRGNAM="memtester"
+VERSION="4.5.0_1"
+HOMEPAGE="http://pyropus.ca/software/memtester/"
+DOWNLOAD="http://pyropus.ca/software/memtester/old-versions/memtester-4.5.0.tar.gz \
+ http://deb.debian.org/debian/pool/main/m/memtester/memtester_4.5.0-1.debian.tar.xz"
+MD5SUM="674a8a88ff54bdb229ca4148218a41f1 \
+ c4c05a502aedeef0d06d7ebd62b73040"
+DOWNLOAD_x86_64=""
+MD5SUM_x86_64=""
+REQUIRES=""
+MAINTAINER="B. Watson"
+EMAIL="yalhcru@gmail.com"
diff --git a/system/memtester/slack-desc b/system/memtester/slack-desc
new file mode 100644
index 0000000000..d68f3dccba
--- /dev/null
+++ b/system/memtester/slack-desc
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description.
+# Line up the first '|' above the ':' following the base package name, and
+# the '|' on the right side marks the last column you can put a character in.
+# You must make exactly 11 lines for the formatting to be correct. It's also
+# customary to leave one space after the ':' except on otherwise blank lines.
+
+ |-----handy-ruler------------------------------------------------------|
+memtester: memtester (memory test utility)
+memtester:
+memtester: memtester is a userspace utility for testing the memory subsystem
+memtester: for faults. Unlike memtest86, it runs as a process on a running
+memtester: Linux system, meaning it can't test all of memory the way memtest86
+memtester: is able to... but you don't have to reboot to use it.
+memtester:
+memtester:
+memtester:
+memtester:
+memtester:
diff --git a/system/mjpg-streamer/mjpg-streamer.SlackBuild b/system/mjpg-streamer/mjpg-streamer.SlackBuild
index 16bb61b465..91b069ab37 100644
--- a/system/mjpg-streamer/mjpg-streamer.SlackBuild
+++ b/system/mjpg-streamer/mjpg-streamer.SlackBuild
@@ -2,7 +2,7 @@
# Slackware build script for mjpg-streamer
-# Copyright 2011 David Woodfall <dave@dawoodfall.net>
+# Copyright 2011 David Woodfall <dave@slackbuilds.org>
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
diff --git a/system/mjpg-streamer/mjpg-streamer.info b/system/mjpg-streamer/mjpg-streamer.info
index 8ea6352799..72d30a7fcd 100644
--- a/system/mjpg-streamer/mjpg-streamer.info
+++ b/system/mjpg-streamer/mjpg-streamer.info
@@ -7,4 +7,4 @@ DOWNLOAD_x86_64=""
MD5SUM_x86_64=""
REQUIRES=""
MAINTAINER="Dave Woodfall"
-EMAIL="dave@dawoodfall.net"
+EMAIL="dave@slackbuilds.org"
diff --git a/system/mksh/README b/system/mksh/README
index e741b2c12e..7907a1cfd9 100644
--- a/system/mksh/README
+++ b/system/mksh/README
@@ -5,3 +5,6 @@ Pass STATIC=yes to the script to create a static build.
Pass DIET=yes to the script in order to use dietlibc (this
requires the optional dependency dietlibc)
+
+Pass MUSL=yes to the script in order to use musl (this
+requires the optional dependency musl)
diff --git a/system/mksh/mksh.SlackBuild b/system/mksh/mksh.SlackBuild
index f519ed2e86..9559c2d945 100644
--- a/system/mksh/mksh.SlackBuild
+++ b/system/mksh/mksh.SlackBuild
@@ -2,7 +2,7 @@
# Slackware build script for mksh
-# Copyright (c) 2011-2019 Markus Reichelt, Aachen, DE
+# Copyright (c) 2011-2021 Markus Reichelt, Aachen, DE
# All rights reserved.
#
# Permission to use, copy, modify, and distribute this software for
@@ -26,7 +26,7 @@
# Markus Reichelt, slackbuilds@mareichelt.de, 0xCCEEF115
PRGNAM=mksh
-VERSION=${VERSION:-R57}
+VERSION=${VERSION:-R59c}
BUILD=${BUILD:-1}
TAG=${TAG:-_SBo}
@@ -66,6 +66,9 @@ rm -rf $PRGNAM
tar xf $CWD/$PRGNAM-$VERSION.tgz
cd $PRGNAM
+CC="gcc"
+SLKCFLAGS="${SLKCFLAGS} -Wall"
+
if [ "$STATIC" = "yes" ]; then
LDFLAGS="${LDFLAGS} -static"
CPPFLAGS="${CPPFLAGS} -DMKSH_NOPWNAM"
@@ -73,9 +76,10 @@ fi
if [ "$DIET" = "yes" ]; then
CC="diet -Os gcc"
- SLKCFLAGS="${SLKCFLAGS} -Wall"
-else
- CC="gcc"
+fi
+
+if [ "$MUSL" = "yes" ]; then
+ CC="musl-gcc"
fi
chown -R root:root .
@@ -92,12 +96,15 @@ LDFLAGS=$LDFLAGS \
CPPFLAGS=$CPPFLAGS \
CFLAGS=$SLKCFLAGS \
CC=$CC \
- sh ../Build.sh -r -c lto
+ sh ../Build.sh -r
+./test.sh
mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION $PKG/usr/man/man1 $PKG/install
ginstall -D -m 755 mksh $PKG/bin/mksh
ginstall -D -m 644 ../mksh.1 $PKG/usr/man/man1/
+ginstall -D -m 644 ../lksh.1 $PKG/usr/man/man1/
+ginstall -D -m 644 ../mksh.faq $PKG/usr/doc/$PRGNAM-$VERSION/
ginstall -D -m 644 ../dot.mkshrc $PKG/etc/skel/.mkshrc.new
find $PKG -print0 | xargs -0 file | grep -e "executable" -e "shared object" | grep ELF \
diff --git a/system/mksh/mksh.info b/system/mksh/mksh.info
index 0ef916bddd..e9eacb68f9 100644
--- a/system/mksh/mksh.info
+++ b/system/mksh/mksh.info
@@ -1,8 +1,8 @@
PRGNAM="mksh"
-VERSION="R57"
+VERSION="R59c"
HOMEPAGE="http://mirbsd.de/mksh"
-DOWNLOAD="http://www.mirbsd.org/MirOS/dist/mir/mksh/mksh-R57.tgz"
-MD5SUM="4d2686535252ea6a57bdec531498239a"
+DOWNLOAD="http://www.mirbsd.org/MirOS/dist/mir/mksh/mksh-R59c.tgz"
+MD5SUM="99f8ac3c1d8a30b913d509f1969a4aaa"
DOWNLOAD_x86_64=""
MD5SUM_x86_64=""
REQUIRES=""
diff --git a/system/mkslack/ChangeLog.txt b/system/mkslack/ChangeLog.txt
deleted file mode 100644
index 365b4d14d9..0000000000
--- a/system/mkslack/ChangeLog.txt
+++ /dev/null
@@ -1,182 +0,0 @@
-Mon 01 Aug 2016 20:22:51 BST
-Version 5.1
-Do not rename python and perl packages.
-Sat 30 Jul 2016 03:27:00 BST
-Version 5.0
-Fix documentation
-Thu 28 Jul 2016 02:25:54 BST
-Version 4.9
-Updated templates for i586
-Mon 04 May 2015 05:48:43 BST
-Version 4.8
-Remove some debugging code
-Sat 11 Apr 2015 23:18:49 BST
-Version 4.7
-Add autotools as the first option.
-Wed 24 Dec 2014 09:32:31 GMT
-Update various build templates and revised documentation line.
-Mon 07 Apr 2014 10:12:35 BST
-Add waf template.
-+--------------------------+
-Tue 31 Dec 2013 03:02:59 GMT
-Info file: Remove APPROVED. Add REQUIRES.
-+--------------------------+
-Mon 30 Dec 2013 11:22:07 GMT
-Bugfix for missing manpage lines in autotools template.
-+--------------------------+
-Fri 22 Nov 2013 08:49:14 GMT
-Updated SlackBuild templates
-+--------------------------+
-Sun 30 Oct 2011 00:25:05 BST
-Added --infodir to autotools template
-+--------------------------+
-Tue 25 Oct 2011 19:25:35 BST
-Version 4.0
-Minor edit of mkslack.conf
-Added a chmod +x of SlackBuild
-+--------------------------+
-Sun 24 Apr 2011 17:30:38 BST
-Version 4.0
-Hmm where did 3.9 go?
-Fixed a problem with repeating additions to doinst.sh
-Removed annoying ... from slack-desc
-+--------------------------+
-Tue 08 Feb 2011 22:29:23 GMT
-Version 3.8
-Added support to auto-add year into slackbuilds.
-+--------------------------+
-Sun Jan 16 18:55:57 GMT 2011
-Version 3.7
-Added ruby support.
-+--------------------------+
-Tue 09 Nov 2010 12:07:36 PM GMT
-Version 3.6
-Bugfix for docmuentation
-+--------------------------+
-Tue 21 Sep 2010 18:45:16 BST
-Version 3.5
-Added 'doc' as an option for documentation
-+--------------------------+
-Mon 20 Sep 2010 08:28:24 BSTTue 07 Sep 2010 15:24:53 BST
-Version 3.4
-Changed .desktop and mimetype grep to case-insensitive.
-Added stock doinst.sh to templates for convenience.
-+--------------------------+
-Version 3.3 finalised
-+--------------------------+
-Thu 12 Aug 2010 06:35:28 BST
-Version 3.3rc8
-Small code improvements
-+--------------------------+
-Sat 31 Jul 2010 20:59:50 BST
-Version 3.3rc6
-Small bugfix for $PKG with python/perl packages.
-+--------------------------+
-Thu 01 Jul 2010 03:14:02 BST
-Version 3.3rc5
-Small bugfix.
-+--------------------------+
-Wed 30 Jun 2010 19:39:47 BST
-Version 3.3rc4
-Small bugfix.
-+--------------------------+
-Wed 30 Jun 2010 17:28:31 BST
-Version 3.3rc3
-Cleaned up message for usr/share/man pages found.
-+--------------------------+
-Wed 30 Jun 2010 09:54:37 BST
-Version 3.3rc2
-Reverted back to not needing an underscore for TAG.
-+--------------------------+
-Wed 30 Jun 2010 09:07:19 BST
-Version 3.3rc1
-Incorporated slakmagik's nice, new code.
--r is now -b (for build)
-A new -V for version check.
-With -b you get the choice of having a failed build fixed and
-rebuilt. Mostly for manpage/info errors. A new config option
-ERRORACTION to do this, which can be PROMPT, AUTO or EXIT.
-Now config file errors are reported back.
-Now TAG _must_ have a preceding underscore, which keeps it in
-line with slackbuilds.
-+--------------------------+
-Sun 27 Jun 2010 16:28:32 BST
-Version 3.1
-Fixed ARCH bug.
-Now puts appname into first line of slack-desc.
-+--------------------------+
-Wed 23 Jun 2010 23:59:14 BST
-Version 3.0
-Adjusted docs.
-+--------------------------+
-Tue 22 Jun 2010 19:47:26 BST
-Version 2.9
-Code improvements.
-+--------------------------+
-Tue 22 Jun 2010 19:47:05 BST
-Version 2.8
-???
-+--------------------------+
-Tue 22 Jun 2010 17:48:34 BST
-Version 2.7
-Adjusted docs.
-+--------------------------+
-Tue 22 Jun 2010 09:30:00 BST
-Version 2.6
-Upgraded to new perl template.
-+--------------------------+
-Mon 21 Jun 2010 01:12:41 BST
-Version 2.6
-Fixed python support.
-+--------------------------+
-Sun 20 Jun 2010 02:35:23 BST
-Version 2.5
-Improved backups. Added KEEPBACKUPS option to conf.
-+--------------------------+
-Sun 20 Jun 2010 01:20:39 BST
-Version 2.4
-Fixed slack-desc.
-+--------------------------+
-Sun 20 Jun 2010 00:44:02 BST
-Version 2.3
-Code improvements.
-+--------------------------+
-Sun 20 Jun 2010 00:12:41 BST
-Version 2.2
-Improved support for perl modules.
-+--------------------------+
-Fri 18 Jun 2010 01:07:52 BST
-Version 2.1
-Added some support for ./autogen.sh or autoreconf in configure
-is missing. YMMV on this.
-+--------------------------+
-Thu 17 Jun 2010 22:29:57 BST
-Version 2.0
-Added function to check for latest version.
-+--------------------------+
-Sun 13 Jun 2010 21:51:29 BST
-Version 1.9
-Fixed tag error
-+--------------------------+
-Sun 13 Jun 2010 19:20:55 BST
-Version 1.8
-Various code improvements
-+--------------------------+
-Sun 13 Jun 2010 10:24:38 BST
-Version 1.7
-Fixed _tag bug in package name.
-+--------------------------+
-Thu 10 Jun 2010 21:48:12 BST
-Version 1.6
-Updated for all templates on slackbuilds.org
-It _should_ detect the correct template to use.
-YMMV ;-)
-+--------------------------+
-Mon 31 May 2010 01:52:00 BST
-Version 1.5
-Minor bugfix.
-+--------------------------+
-Sat 29 May 2010 12:35:08 BST
-Version 1.4
-Updated SlackBuild template to the latest on slackbuilds.org
-+--------------------------+
diff --git a/system/mkslack/README b/system/mkslack/README
index 2899a7efdf..02924bf5f3 100644
--- a/system/mkslack/README
+++ b/system/mkslack/README
@@ -1,70 +1,12 @@
-mkslack - a SlackBuild generator script
+NAME
+ mkslack - a SlackBuild generator
-This slackbuild generator uses templates stored in
-/usr/share/mkslack/templates and a config file
-/etc/mkslack/mkslack.conf which you must edit for name, email, tag and
-a few options.
+SYNOPSIS
+ mkslack [options] archive
+DESCRIPTION
+ mkslack generates SlackBuild scripts and supporting
+ files using the standard SBo templates found at
+ https://slackbuilds.org/templates/
-Idea for use:
-
-The initial slackbuild and info file are built by this script, and
-when a test build/install is done and working, the files should be
-tweaked by hand. Especially don't forget to fill in the rest of the
-details in the .info. One thing to point out is that mkslack will
-overwrite these files if run again unless you set KEEPBACKUPS="YES"
-in the conf (default).
-
-This is only a starter kit! You ARE expected to edit the created
-files by hand afterwards to remove unnecesary parts and add extra
-options!
-
-
-Syntax:
-
-mkslack [options] archive
-
-Options:
--h --help Usage.
--b --build Run SlackBuild after creation. Got root?
--i --install Install the package after running.
--l --list Pipe archive contents to /usr/bin/most and exit.
--v --version Version of mkslack.
--V --ckver Check for new version.
-
-With no option set, mkslack will generate the SlackBuild and other
-files, print out a small message, and then quit.
-
-
-Config options:
-
-NAME, EMAIL as they should appear in .SlackBuild and .info TAG should
-be your custom tag and defaults to _SBo KEEPBACKUPS="YES|NO" up to 5
-backups of .SlackBuild and other files are kept. The higher the
-number, the older they are. ERRORACTION="PROMPT|AUTO|EXIT" what to
-do on build errors. Using AUTO or answering 'y' to the prompt will
-have the slackbuild adjusted for man and info pages and then rebuilt.
-Waf scripts don't exit on a '1' return code so it scans the end of
-the to see if there is an unrecognised configure option (the most
-frequent error with waf).
-
-
-CLI Options:
-
-The documents list in top level of source tree can be adjusted by
-command:
-DOCS="SomeFile" mkslack archive
-This will add 'SomeFile' to the list. You can also edit the DOCS list
-in this script. Any that it doesn't find will be removed from the
-list.
-
-Build can be specified by:
-BUILD=2 mkslack archive
-Otherwise it defaults to 1.
-
-ARCH can be specified by:
-ARCH=xxx mkslack archive
-It defaults to whatever is set in the system, or what the SlackBuild
-finds or sets.
-
-TAG can also be specified.
+ See mkslack(1) for comprehensive option descriptions.
diff --git a/system/mkslack/mkslack.SlackBuild b/system/mkslack/mkslack.SlackBuild
index a428a0afa7..7ca562007c 100644
--- a/system/mkslack/mkslack.SlackBuild
+++ b/system/mkslack/mkslack.SlackBuild
@@ -2,8 +2,8 @@
# Slackware build script for mkslack
-# Copyright 2010 David Woodfall <dave@dawoodfall.net>,
-# Modifications copyright slakmagik <slakmagik@gmail.com>
+# Copyright 2010-20 Dave Woodfall <dave@slackbuilds.org>,
+# slakmagik <slakmagik@gmail.com>
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
@@ -24,7 +24,7 @@
# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
PRGNAM=mkslack
-VERSION=${VERSION:-5.2}
+VERSION=${VERSION:-5.3.5}
ARCH=noarch
BUILD=${BUILD:-1}
TAG=${TAG:-_SBo}
@@ -38,12 +38,12 @@ README=$PKG/usr/doc/$PRGNAM-$VERSION/README
set -e
rm -rf $PKG
-mkdir -p $TMP $PKG/usr/bin $PKG/usr/share/mkslack/templates $PKG/etc/mkslack \
- $PKG/usr/man/man1 $OUTPUT
+mkdir -p $TMP $OUTPUT $PKG/usr/share/mkslack/{templates,tools}
+
cd $TMP
rm -rf $PRGNAM-$VERSION
tar xvf $CWD/$PRGNAM-$VERSION.tar.gz
-cd $PRGNAM-$VERSION/$PRGNAM-$VERSION
+cd $PRGNAM-$VERSION
chown -R root:root .
find -L . \
\( -perm 777 -o -perm 775 -o -perm 750 -o -perm 711 -o -perm 555 \
@@ -51,30 +51,34 @@ find -L . \
\( -perm 666 -o -perm 664 -o -perm 640 -o -perm 600 -o -perm 444 \
-o -perm 440 -o -perm 400 \) -exec chmod 644 {} \;
+sed -i -e "s/@VERSION@/$VERSION/g" mkslack.1
gzip mkslack.1
-install -m 644 mkslack.1.gz $PKG/usr/man/man1
-install -m 755 mkslack $PKG/usr/bin
-install -m 644 template* $PKG/usr/share/mkslack/templates
-install -m 644 *SlackBuild $PKG/usr/share/mkslack/templates
-install -m 644 mkslack.conf.new $PKG/etc/mkslack
+install -m 644 -D mkslack.1.gz $PKG/usr/man/man1/mkslack.1.gz
+install -m 755 -D mkslack $PKG/usr/bin/mkslack
+install -m 644 -D mkslack.conf.new $PKG/etc/mkslack/mkslack.conf.new
+install -m 644 templates/* $PKG/usr/share/mkslack/templates
+install -m 644 tools/* $PKG/usr/share/mkslack/tools
mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION
+cp -a original-templates $PKG/usr/doc/$PRGNAM-$VERSION
+
# generate the README from some introductory text and a dump of the manual
cat << EOF > $README
mkslack - a SlackBuild generator script
-Copyright 2010 David Woodfall, modification by slakmagik
+
+Copyright 2010-2020 Dave Woodfall and slakmagik.
mkslack is licensed under a "one-clause BSD/Slackware" license.
See the script for the full text.
-Homepage: http://www.dawoodfall.net/files/slackbuilds/noversion/mkslack/
+
+Homepage: http://tty1.uk/slackbuilds/noversion/mkslack
EOF
-man ./mkslack.1.gz | col -b | expand | cat -s | sed '
+man ./mkslack.1.gz | col -b | expand | fmt -72 | cat -s | sed "
1d
s/\([^[:space:]]\)[[:space:]][[:space:]]*/\1 /g
/^$/N;/MKSLACK(1)$/D
- ' >> $README
+ " >> $README
cat $CWD/$PRGNAM.SlackBuild > $PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM.SlackBuild
-cat $CWD/ChangeLog.txt > $PKG/usr/doc/$PRGNAM-$VERSION/ChangeLog.txt
mkdir -p $PKG/install
cat $CWD/slack-desc > $PKG/install/slack-desc
diff --git a/system/mkslack/mkslack.info b/system/mkslack/mkslack.info
index a026024544..58059ed4dc 100644
--- a/system/mkslack/mkslack.info
+++ b/system/mkslack/mkslack.info
@@ -1,10 +1,10 @@
PRGNAM="mkslack"
-VERSION="5.2"
-HOMEPAGE="http://dawoodfall.net/slackbuilds/noversion/mkslack"
-DOWNLOAD="http://ponce.cc/slackware/sources/repo/mkslack-5.2.tar.gz"
-MD5SUM="1866d9b32bee61a5bdfca52230e2a6f0"
+VERSION="5.3.5"
+HOMEPAGE="http://tty1.uk/slackbuilds/mkslack"
+DOWNLOAD="http://git.tty1.uk/cgit.cgi/mkslack/snapshot/mkslack-5.3.5.tar.gz"
+MD5SUM="d7debd4ffae89f31a407f0e80e73468b"
DOWNLOAD_x86_64=""
MD5SUM_x86_64=""
REQUIRES=""
-MAINTAINER="David Woodfall"
-EMAIL="dave@dawoodfall.net"
+MAINTAINER="Dave Woodfall"
+EMAIL="dave@tty1.uk"
diff --git a/system/mkslack/slack-desc b/system/mkslack/slack-desc
index e6e7f58ff4..6d4735561d 100644
--- a/system/mkslack/slack-desc
+++ b/system/mkslack/slack-desc
@@ -1,19 +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
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|'
+# on the right side marks the last column you can put a character in. You must
+# make exactly 11 lines for the formatting to be correct. It's also
# customary to leave one space after the ':' except on otherwise blank lines.
|-----handy-ruler------------------------------------------------------|
mkslack: mkslack (a SlackBuild generation system)
mkslack:
-mkslack: mkslack uses templates to generate slackbuilds and .info files.
-mkslack: It fills in various things like PRGNAM, VERSION etc and inspects the
-mkslack: archive for man, info and documentation. It checks md5sum of archive
-mkslack: and writes it into the .info file.
+mkslack: mkslack generates SlackBuild scripts and supporting files using the
+mkslack: standard SBo templates found at https://slackbuilds.org/templates/
+mkslack:
+mkslack: See mkslack(1) for comprehensive option descriptions.
+mkslack:
+mkslack: http://tty1.uk/slackbuilds/mkslack
+mkslack:
mkslack:
-mkslack: The config file /etc/mkslack/mkslack.conf should be customised with
-mkslack: your name, email etc. before use.
mkslack:
-mkslack: http://dawoodfall.net/slackbuilds/noversion/mkslack
diff --git a/system/mktorrent/mktorrent.info b/system/mktorrent/mktorrent.info
index 1bc0efc0aa..3d86dbecf1 100644
--- a/system/mktorrent/mktorrent.info
+++ b/system/mktorrent/mktorrent.info
@@ -6,5 +6,5 @@ MD5SUM="0f583dc6d88c3bc7da736c3f0a8c449e"
DOWNLOAD_x86_64=""
MD5SUM_x86_64=""
REQUIRES=""
-MAINTAINER="Grigorios Bouzakis"
-EMAIL="grbzks@xsmail.com"
+MAINTAINER="Markus Reichelt"
+EMAIL="slackbuilds@mareichelt.de"
diff --git a/system/mlocate/README b/system/mlocate/README
new file mode 100644
index 0000000000..f2029ce76a
--- /dev/null
+++ b/system/mlocate/README
@@ -0,0 +1,31 @@
+mlocate (locate/updatedb implementation)
+
+mlocate is a locate/updatedb implementation. It keeps a database of all
+existing files and allows you to lookup files by name. The 'm' stands for
+"merging": updatedb reuses the existing database to avoid rereading most
+of the file system, which makes updatedb faster and does not trash the
+system caches as much as traditional locate implementations.
+
+This is the same "locate" that's in Slackware-current (and eventually 15.0).
+
+This conflicts with Slackware 14.2's slocate package! Before installing
+this, add slocate to /etc/slackpkg/blacklist and then:
+
+ # removepkg slocate
+
+It's also recommended to:
+
+ # rm -rf /var/lib/slocate /etc/updatedb.conf
+
+The locate database will be created daily, as a cron job. If you don't
+want to wait, you can create it manually:
+
+ # /etc/cron.daily/mlocate
+
+If you want to revert to Slackware's slocate, remove slocate from
+/etc/slackpkg/blacklist, then:
+
+ # removepkg mlocate
+ # rm -rf /var/lib/mlocate /etc/updatedb.conf
+ # slackpkg update
+ # slackpkg install slocate
diff --git a/system/mlocate/doinst.sh b/system/mlocate/doinst.sh
new file mode 100644
index 0000000000..8afb2a4fff
--- /dev/null
+++ b/system/mlocate/doinst.sh
@@ -0,0 +1,24 @@
+#!/bin/sh
+
+# doinst.sh copied from Pat's, got rid of the stuff that creates the
+# slocate group.
+
+config() {
+ NEW="$1"
+ OLD="`dirname $NEW`/`basename $NEW .new`"
+ # If there's no config file by that name, mv it over:
+ if [ ! -r $OLD ]; then
+ mv $NEW $OLD
+ elif [ "`cat $OLD | md5sum`" = "`cat $NEW | md5sum`" ]; then # toss the redundant copy
+ rm $NEW
+ fi
+ # Otherwise, we leave the .new copy for the admin to consider...
+}
+config etc/updatedb.conf.new
+
+if [ ! -r var/lib/mlocate/mlocate.db ]; then
+ touch var/lib/mlocate/mlocate.db
+ chown root:slocate var/lib/mlocate/mlocate.db
+ chmod 640 var/lib/mlocate/mlocate.db
+fi
+
diff --git a/system/mlocate/mlocate-run-updatedb b/system/mlocate/mlocate-run-updatedb
new file mode 100644
index 0000000000..7d3f2ac526
--- /dev/null
+++ b/system/mlocate/mlocate-run-updatedb
@@ -0,0 +1,4 @@
+#!/bin/sh
+
+nodevs=$(< /proc/filesystems awk '$1 == "nodev" && $2 != "rootfs" && $2 != "zfs" { print $2 }')
+/usr/bin/updatedb -f "$nodevs"
diff --git a/system/mlocate/mlocate.SlackBuild b/system/mlocate/mlocate.SlackBuild
new file mode 100644
index 0000000000..9f213fbb54
--- /dev/null
+++ b/system/mlocate/mlocate.SlackBuild
@@ -0,0 +1,120 @@
+#!/bin/sh
+
+# Slackware build script for mlocate
+
+# Written by B. Watson (yalhcru@gmail.com)
+
+# Licensed under the WTFPL. See http://www.wtfpl.net/txt/copying/ for details.
+
+# Notes:
+# - This is intended to be 100% compatible with the mlocate in -current.
+# - mlocate and slocate can't read each others' database formats. Bummer.
+# - DOWNLOAD is upstream's site, but the file is identical to the one
+# from Pat's source/ dir. I used upstream so the file won't disappear if
+# Pat upgrades or changes his mind.
+# - mlocate on -current uses the slocate group (there's no mlocate group),
+# so I do the same here.
+# - mlocate's database is about 40% larger than slocate's, on my build box.
+# Not a real concern unless you're building a tiny embedded system.
+
+PRGNAM=mlocate
+VERSION=${VERSION:-0.26}
+BUILD=${BUILD:-1}
+TAG=${TAG:-_SBo}
+
+if [ -z "$ARCH" ]; then
+ case "$( uname -m )" in
+ i?86) ARCH=i586 ;;
+ arm*) ARCH=arm ;;
+ *) ARCH=$( uname -m ) ;;
+ esac
+fi
+
+CWD=$(pwd)
+TMP=${TMP:-/tmp/SBo}
+PKG=$TMP/package-$PRGNAM
+OUTPUT=${OUTPUT:-/tmp}
+
+if [ "$ARCH" = "i586" ]; then
+ SLKCFLAGS="-O2 -march=i586 -mtune=i686"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "i686" ]; then
+ SLKCFLAGS="-O2 -march=i686 -mtune=i686"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "x86_64" ]; then
+ SLKCFLAGS="-O2 -fPIC"
+ LIBDIRSUFFIX="64"
+else
+ SLKCFLAGS="-O2"
+ LIBDIRSUFFIX=""
+fi
+
+set -e
+
+rm -rf $PKG
+mkdir -p $TMP $PKG $OUTPUT
+cd $TMP
+rm -rf $PRGNAM-$VERSION
+tar xvf $CWD/$PRGNAM-$VERSION.tar.xz
+cd $PRGNAM-$VERSION
+chown -R root:root .
+find -L . -perm /111 -a \! -perm 755 -a -exec chmod 755 {} \+ -o \
+ \! -perm /111 -a \! -perm 644 -a -exec chmod 644 {} \+
+
+CFLAGS="$SLKCFLAGS" \
+CXXFLAGS="$SLKCFLAGS" \
+./configure \
+ --prefix=/usr \
+ --libdir=/usr/lib${LIBDIRSUFFIX} \
+ --sysconfdir=/etc \
+ --localstatedir=/var/lib \
+ --mandir=/usr/man \
+ --docdir=/usr/doc/$PRGNAM-$VERSION \
+ --build=$ARCH-slackware-linux
+
+make groupname=slocate
+make install-strip DESTDIR=$PKG
+
+gzip $PKG/usr/man/man?/*.?
+
+# This stuff comes straight from Pat's mlocate.SlackBuild:
+mkdir -p $PKG/etc
+cp -a $CWD/updatedb.conf.new $PKG/etc/updatedb.conf.new
+chown root:root $PKG/etc/updatedb.conf.new
+chmod 644 $PKG/etc/updatedb.conf.new
+
+mv $PKG/usr/bin/locate $PKG/usr/bin/mlocate
+( cd $PKG/usr/bin ; ln -sf mlocate locate )
+
+( cd $PKG/usr/man/man1
+ ln -sf locate.1 mlocate.1
+)
+
+mkdir -p $PKG/usr/libexec
+cp -a $CWD/mlocate-run-updatedb $PKG/usr/libexec/mlocate-run-updatedb
+chown root:root $PKG/usr/libexec/mlocate-run-updatedb
+chmod 755 $PKG/usr/libexec/mlocate-run-updatedb
+
+mkdir -p $PKG/etc/cron.daily
+cp -a $CWD/mlocate.cron $PKG/etc/cron.daily/mlocate
+chown root:root $PKG/etc/cron.daily/mlocate
+chmod 755 $PKG/etc/cron.daily/mlocate
+
+chown root:slocate $PKG/usr/bin/mlocate
+chmod 2711 $PKG/usr/bin/mlocate
+mkdir -p $PKG/var/lib/mlocate
+chown root:slocate $PKG/var/lib/mlocate
+chmod 750 $PKG/var/lib/mlocate
+# End of Pat's stuff.
+
+mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION
+cp -a AUTHORS COPYING* ChangeLog NEWS README* \
+ $PKG/usr/doc/$PRGNAM-$VERSION
+cat $CWD/$PRGNAM.SlackBuild > $PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM.SlackBuild
+
+mkdir -p $PKG/install
+cat $CWD/slack-desc > $PKG/install/slack-desc
+cat $CWD/doinst.sh > $PKG/install/doinst.sh
+
+cd $PKG
+/sbin/makepkg -l y -c n $OUTPUT/$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.${PKGTYPE:-tgz}
diff --git a/system/mlocate/mlocate.cron b/system/mlocate/mlocate.cron
new file mode 100644
index 0000000000..5464abad35
--- /dev/null
+++ b/system/mlocate/mlocate.cron
@@ -0,0 +1,2 @@
+#!/bin/sh
+ionice -c3 nice -n 19 /usr/libexec/mlocate-run-updatedb
diff --git a/system/mlocate/mlocate.info b/system/mlocate/mlocate.info
new file mode 100644
index 0000000000..b9eb39f232
--- /dev/null
+++ b/system/mlocate/mlocate.info
@@ -0,0 +1,10 @@
+PRGNAM="mlocate"
+VERSION="0.26"
+HOMEPAGE="https://pagure.io/mlocate/releases"
+DOWNLOAD="https://releases.pagure.org/mlocate/mlocate-0.26.tar.xz"
+MD5SUM="539e6f86bf387358aa2b14d5f880e49a"
+DOWNLOAD_x86_64=""
+MD5SUM_x86_64=""
+REQUIRES="%README%"
+MAINTAINER="B. Watson"
+EMAIL="yalhcru@gmail.com"
diff --git a/system/mlocate/slack-desc b/system/mlocate/slack-desc
new file mode 100644
index 0000000000..e28d270792
--- /dev/null
+++ b/system/mlocate/slack-desc
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description.
+# Line up the first '|' above the ':' following the base package name, and
+# the '|' on the right side marks the last column you can put a character in.
+# You must make exactly 11 lines for the formatting to be correct. It's also
+# customary to leave one space after the ':' except on otherwise blank lines.
+
+ |-----handy-ruler------------------------------------------------------|
+mlocate: mlocate (locate/updatedb implementation)
+mlocate:
+mlocate: mlocate is a locate/updatedb implementation. It keeps a database
+mlocate: of all existing files and allows you to lookup files by name. The
+mlocate: 'm' stands for "merging": updatedb reuses the existing database
+mlocate: to avoid rereading most of the file system, which makes updatedb
+mlocate: faster and does not trash the system caches as much as traditional
+mlocate: locate implementations.
+mlocate:
+mlocate: This conflicts with Slackware 14.2's slocate package. See README
+mlocate: for details.
diff --git a/system/mlocate/updatedb.conf.new b/system/mlocate/updatedb.conf.new
new file mode 100644
index 0000000000..542cd7c679
--- /dev/null
+++ b/system/mlocate/updatedb.conf.new
@@ -0,0 +1,4 @@
+PRUNE_BIND_MOUNTS = "yes"
+PRUNEFS = "9p afs anon_inodefs auto autofs bdev binfmt_misc cgroup cifs coda configfs cpuset debugfs devpts ecryptfs exofs fuse fuse.sshfs fusectl gfs gfs2 gpfs hugetlbfs inotifyfs iso9660 jffs2 lustre mqueue ncpfs nfs nfs4 nfsd pipefs proc ramfs rootfs rpc_pipefs securityfs selinuxfs sfs sockfs sysfs tmpfs ubifs udf usbfs ceph fuse.ceph"
+PRUNENAMES = ".git .hg .svn .bzr .arch-ids {arch} CVS"
+PRUNEPATHS = "/afs /dev /media /mnt /net /proc /sys /tmp /usr/tmp /var/cache/ccache /var/lib/ceph /var/spool/cups /var/tmp"
diff --git a/system/mlterm/mlterm.SlackBuild b/system/mlterm/mlterm.SlackBuild
index 1bdf3245fe..04efd20c2b 100644
--- a/system/mlterm/mlterm.SlackBuild
+++ b/system/mlterm/mlterm.SlackBuild
@@ -2,7 +2,7 @@
# Slackware build script for mlterm
-# Copyright 2014-2019 Dimitris Zlatanidis Orestiada, Greece
+# Copyright 2014-2021 Dimitris Zlatanidis Orestiada, Greece
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
@@ -23,7 +23,7 @@
# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
PRGNAM=mlterm
-VERSION=${VERSION:-3.8.9}
+VERSION=${VERSION:-3.9.1}
BUILD=${BUILD:-1}
TAG=${TAG:-_SBo}
diff --git a/system/mlterm/mlterm.info b/system/mlterm/mlterm.info
index c7a6688928..d34b3828cb 100644
--- a/system/mlterm/mlterm.info
+++ b/system/mlterm/mlterm.info
@@ -1,8 +1,8 @@
PRGNAM="mlterm"
-VERSION="3.8.9"
+VERSION="3.9.1"
HOMEPAGE="http://mlterm.sourceforge.net"
-DOWNLOAD="https://sourceforge.net/projects/mlterm/files/01release/mlterm-3.8.9/mlterm-3.8.9.tar.gz"
-MD5SUM="9b1d4c49e7590881b715cfffa68460c5"
+DOWNLOAD="https://sourceforge.net/projects/mlterm/files/01release/mlterm-3.9.1/mlterm-3.9.1.tar.gz"
+MD5SUM="2811050f2f46fd7a73446b61daeb7999"
DOWNLOAD_x86_64=""
MD5SUM_x86_64=""
REQUIRES=""
diff --git a/system/mmv/README b/system/mmv/README
new file mode 100644
index 0000000000..6f876d8eb4
--- /dev/null
+++ b/system/mmv/README
@@ -0,0 +1,10 @@
+mmv (move/copy/append/link multiple files by wildcard patterns)
+
+This is mmv, a program to move/copy/append/link multiple files
+according to a set of wildcard patterns. This multiple action is
+performed safely, i.e. without any unexpected deletion of files due
+to collisions of target names with existing filenames or with other
+target names. Furthermore, before doing anything, mmv attempts to
+detect any errors that would result from the entire set of actions
+specified and gives the user the choice of either aborting before
+beginning, or proceeding by avoiding the offending parts.
diff --git a/system/mmv/compilefix.diff b/system/mmv/compilefix.diff
new file mode 100644
index 0000000000..9a13a156dc
--- /dev/null
+++ b/system/mmv/compilefix.diff
@@ -0,0 +1,15 @@
+diff -Naur a/mmv.c b/mmv.c
+--- a/mmv.c 2020-07-01 18:55:50.961457418 -0400
++++ b/mmv.c 2020-07-01 19:00:17.724426386 -0400
+@@ -193,10 +193,7 @@
+ #ifdef IS_SYSV
+
+ /* for System V and Version 7*/
+-struct utimbuf {
+- time_t actime;
+- time_t modtime;
+-};
++#include <utime.h>
+ #define utimes(f, t) utime((f), &(t))
+
+ #ifndef HAS_RENAME
diff --git a/system/mmv/mmv.SlackBuild b/system/mmv/mmv.SlackBuild
new file mode 100644
index 0000000000..7ea0d50b3b
--- /dev/null
+++ b/system/mmv/mmv.SlackBuild
@@ -0,0 +1,93 @@
+#!/bin/sh
+
+# Slackware build script for mmv
+
+# Written by B. Watson (yalhcru@gmail.com)
+
+# Licensed under the WTFPL. See http://www.wtfpl.net/txt/copying/ for details.
+
+# This is ancient software (1.01b was released in 1990), but still
+# useful. We're treating Debian as upstream here, our version number
+# matches their patchlevel (with _ intead of -).
+
+PRGNAM=mmv
+VERSION=${VERSION:-1.01b_19}
+BUILD=${BUILD:-1}
+TAG=${TAG:-_SBo}
+
+SRCVER="$( echo $VERSION | cut -d_ -f1 )"
+DEBVER="$( echo $VERSION | cut -d_ -f2 )"
+
+if [ -z "$ARCH" ]; then
+ case "$( uname -m )" in
+ i?86) ARCH=i586 ;;
+ arm*) ARCH=arm ;;
+ *) ARCH=$( uname -m ) ;;
+ esac
+fi
+
+CWD=$(pwd)
+TMP=${TMP:-/tmp/SBo}
+PKG=$TMP/package-$PRGNAM
+OUTPUT=${OUTPUT:-/tmp}
+
+if [ "$ARCH" = "i586" ]; then
+ SLKCFLAGS="-O2 -march=i586 -mtune=i686"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "i686" ]; then
+ SLKCFLAGS="-O2 -march=i686 -mtune=i686"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "x86_64" ]; then
+ SLKCFLAGS="-O2 -fPIC"
+ LIBDIRSUFFIX="64"
+else
+ SLKCFLAGS="-O2"
+ LIBDIRSUFFIX=""
+fi
+
+set -e
+
+rm -rf $PKG
+mkdir -p $TMP $PKG $OUTPUT
+cd $TMP
+rm -rf $PRGNAM-$SRCVER.orig
+tar xvf $CWD/${PRGNAM}_$SRCVER.orig.tar.gz
+cd $PRGNAM-$SRCVER.orig
+tar xvf $CWD/${PRGNAM}_$SRCVER-$DEBVER.debian.tar.xz
+chown -R root:root .
+find -L . -perm /111 -a \! -perm 755 -a -exec chmod 755 {} \+ -o \
+ \! -perm /111 -a \! -perm 644 -a -exec chmod 644 {} \+
+
+# apply all Debian's patches:
+for i in $( cat debian/patches/series ); do
+ patch -p1 < debian/patches/$i
+done
+
+# one patch of our own:
+patch -p1 < $CWD/compilefix.diff
+
+# the default LDFLAGS cause the build to fail, override with "nothing".
+sed -i "s,-O2,$SLKCFLAGS -Wall," Makefile
+make LDFLAGS=
+
+# easier to do this manually (only 2 files):
+mkdir -p $PKG/usr/bin $PKG/usr/man/man1
+install -s -m0755 $PRGNAM $PKG/usr/bin
+gzip -9c < $PRGNAM.1 > $PKG/usr/man/man1/$PRGNAM.1.gz
+
+# multi-named executable, uses its name to decide what action to take.
+LINKS="mcp mad mln"
+for i in $LINKS; do
+ ln -s $PRGNAM $PKG/usr/bin/$i
+ ln -s $PRGNAM.1.gz $PKG/usr/man/man1/$i.1.gz
+done
+
+mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION
+cp -a ANNOUNCE READ.ME ARTICLE debian/changelog $PKG/usr/doc/$PRGNAM-$VERSION
+cat $CWD/$PRGNAM.SlackBuild > $PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM.SlackBuild
+
+mkdir -p $PKG/install
+cat $CWD/slack-desc > $PKG/install/slack-desc
+
+cd $PKG
+/sbin/makepkg -l y -c n $OUTPUT/$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.${PKGTYPE:-tgz}
diff --git a/system/mmv/mmv.info b/system/mmv/mmv.info
new file mode 100644
index 0000000000..c93d2e5da6
--- /dev/null
+++ b/system/mmv/mmv.info
@@ -0,0 +1,12 @@
+PRGNAM="mmv"
+VERSION="1.01b_19"
+HOMEPAGE="https://packages.debian.org/sid/mmv"
+DOWNLOAD="http://deb.debian.org/debian/pool/main/m/mmv/mmv_1.01b.orig.tar.gz \
+ http://deb.debian.org/debian/pool/main/m/mmv/mmv_1.01b-19.debian.tar.xz"
+MD5SUM="1b2135ab2f17bdfa9e08debbb3c46ad8 \
+ 5952faa99a610afdbba73d20d68c6d0f"
+DOWNLOAD_x86_64=""
+MD5SUM_x86_64=""
+REQUIRES=""
+MAINTAINER="B. Watson"
+EMAIL="yalhcru@gmail.com"
diff --git a/system/mmv/slack-desc b/system/mmv/slack-desc
new file mode 100644
index 0000000000..063f2c6f51
--- /dev/null
+++ b/system/mmv/slack-desc
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description.
+# Line up the first '|' above the ':' following the base package name, and
+# the '|' on the right side marks the last column you can put a character in.
+# You must make exactly 11 lines for the formatting to be correct. It's also
+# customary to leave one space after the ':' except on otherwise blank lines.
+
+ |-----handy-ruler------------------------------------------------------|
+mmv: mmv (multiple mv/rename)
+mmv:
+mmv: This is mmv, a program to move/copy/append/link multiple files
+mmv: according to a set of wildcard patterns. This multiple action is
+mmv: performed safely, i.e. without any unexpected deletion of files due to
+mmv: collisions of target names with existing filenames or with other
+mmv: target names.
+mmv:
+mmv:
+mmv:
+mmv:
diff --git a/system/modules/README b/system/modules/README
index 03fca01a81..a740d43f6d 100644
--- a/system/modules/README
+++ b/system/modules/README
@@ -4,13 +4,13 @@ of a user's environment via modulefiles.
Each modulefile contains the information needed to configure the shell
for an application.
-Once the Modules package is initialized, the environment can be
-modified on a per-module basis using the module command which interprets
-modulefiles. Typically modulefiles instruct the module command to alter or
-set shell environment variables such as PATH, MANPATH, etc. Modulefiles
-may be shared by many users on a system and users may have their own
-collection to supplement or replace the shared modulefiles.
+Once the Modules package is initialized, the environment can be modified
+on a per-module basis using the module command which interprets
+modulefiles. Typically modulefiles instruct the module command to alter
+or set shell environment variables such as PATH, MANPATH, etc.
+Modulefiles may be shared by many users on a system and users may have
+their own collection to supplement or replace the shared modulefiles.
-Modules are useful in managing different versions of applications. Modules
-can also be bundled into metamodules that will load an entire suite of
-different applications.
+Modules are useful in managing different versions of applications.
+Modules can also be bundled into metamodules that will load an entire
+suite of different applications.
diff --git a/system/modules/modules.SlackBuild b/system/modules/modules.SlackBuild
index b8d0bf8c14..7d1cc2549b 100644
--- a/system/modules/modules.SlackBuild
+++ b/system/modules/modules.SlackBuild
@@ -2,7 +2,7 @@
#
# Slackware build script for Modules
#
-# Copyright 2015-2019 Emmanuel N. Millan, Mendoza, Argentina.
+# Copyright 2015-2021 Emmanuel N. Millan, Mendoza, Argentina.
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
@@ -23,11 +23,11 @@
# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
PRGNAM=modules
-VERSION=${VERSION:-4.3.0}
+VERSION=${VERSION:-4.7.0}
BUILD=${BUILD:-1}
TAG=${TAG:-_SBo}
-DOCS="ChangeLog INSTALL.txt COPYING.GPLv2 NEWS.txt README"
+DOCS="CONTRIBUTING.rst ChangeLog INSTALL.rst COPYING.GPLv2 MIGRATING.rst NEWS.rst README.md"
CWD=$(pwd)
TMP=${TMP:-/tmp/SBo}
diff --git a/system/modules/modules.info b/system/modules/modules.info
index 4c72783f5c..8aaa2c1982 100644
--- a/system/modules/modules.info
+++ b/system/modules/modules.info
@@ -1,8 +1,8 @@
PRGNAM="modules"
-VERSION="4.3.0"
-HOMEPAGE="https://modules.sourceforge.net/"
-DOWNLOAD="https://downloads.sourceforge.net/project/modules/Modules/modules-4.3.0/modules-4.3.0.tar.bz2"
-MD5SUM="e55d730b18bb438771654fead3005c0c"
+VERSION="4.7.0"
+HOMEPAGE="http://modules.sourceforge.net/"
+DOWNLOAD="https://downloads.sourceforge.net/project/modules/Modules/modules-4.7.0/modules-4.7.0.tar.bz2"
+MD5SUM="d891012c6014de939761b62bbae29155"
DOWNLOAD_x86_64=""
MD5SUM_x86_64=""
REQUIRES=""
diff --git a/system/monitorix/README b/system/monitorix/README
index 06df82f402..b8041bdce9 100644
--- a/system/monitorix/README
+++ b/system/monitorix/README
@@ -1,15 +1,17 @@
-Monitorix is a free, open source, lightweight system monitoring tool designed
-to monitor as many services and system resources as possible. It has been
-created to be used under production Linux/UNIX servers, but due to its
-simplicity and small size can be used on embedded devices as well.
+Monitorix is a free, open source, lightweight system monitoring tool
+designed to monitor as many services and system resources as possible.
+It has been created to be used under production Linux/UNIX servers, but
+due to its simplicity and small size can be used on embedded devices as
+well.
-It consists mainly of two programs: a collector, called monitorix, which is a
-Perl daemon that is started automatically like any other system service, and a
-CGI script called monitorix.cgi. Since 3.0 version Monitorix includes its own
-HTTP server built in, so you aren't forced to install a third-party web server
-to use it.
+It consists mainly of two programs: a collector, called monitorix, which
+is a Perl daemon that is started automatically like any other system
+service, and a CGI script called monitorix.cgi. Since 3.0 version
+Monitorix includes its own HTTP server built in, so you aren't forced to
+install a third-party web server to use it.
Note:
-There are several runtime dependencies (like pflogsumm) I'm unable to test for
-all services. Keep an eye on /var/log/monitorix which will tell you.
+There are several runtime dependencies (like pflogsumm) I'm unable to
+test for all services. Keep an eye on /var/log/monitorix which will tell
+you.
diff --git a/system/monitorix/monitorix.SlackBuild b/system/monitorix/monitorix.SlackBuild
index f88c43d69c..102e27dda1 100644
--- a/system/monitorix/monitorix.SlackBuild
+++ b/system/monitorix/monitorix.SlackBuild
@@ -4,6 +4,7 @@
# Copyright 2014-2016 Marcel Saegebarth <marc@mos6581.de>
# All rights reserved.
+# Updated 2019-2021 by Emmanuel N. Millan, Mendoza, Argentina
#
# Redistribution and use in source and binary forms, with or without
# modification, are permitted provided that the following conditions are
@@ -25,7 +26,7 @@
# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
PRGNAM=monitorix
-VERSION=${VERSION:-3.9.0}
+VERSION=${VERSION:-3.13.1}
BUILD=${BUILD:-1}
TAG=${TAG:-_SBo}
diff --git a/system/monitorix/monitorix.info b/system/monitorix/monitorix.info
index 6872dafee2..2067f2a6a4 100644
--- a/system/monitorix/monitorix.info
+++ b/system/monitorix/monitorix.info
@@ -1,10 +1,10 @@
PRGNAM="monitorix"
-VERSION="3.9.0"
+VERSION="3.13.1"
HOMEPAGE="https://www.monitorix.org/"
-DOWNLOAD="https://www.monitorix.org/old-versions/monitorix-3.9.0.tar.gz"
-MD5SUM="181bf2b83b92e89aa6317dd473a987e3"
+DOWNLOAD="https://www.monitorix.org/monitorix-3.13.1.tar.gz"
+MD5SUM="ca2b15fb137efded82c5a2bfd189573f"
DOWNLOAD_x86_64=""
MD5SUM_x86_64=""
-REQUIRES="perl-http-server-simple perl-config-general rrdtool"
-MAINTAINER="Marcel Saegebarth"
-EMAIL="marc@mos6581.de"
+REQUIRES="perl-lwp-useragent-cached perl-http-server-simple perl-config-general rrdtool"
+MAINTAINER="Emmanuel N. Millan"
+EMAIL="emmanueln@gmail.com"
diff --git a/system/motion/motion.SlackBuild b/system/motion/motion.SlackBuild
index d0e0493159..bae4bc7990 100644
--- a/system/motion/motion.SlackBuild
+++ b/system/motion/motion.SlackBuild
@@ -2,9 +2,10 @@
# Slackware build script for motion.
#
-# Copyright 2013 Sebastian Arcus: sbo {at} open-t {dot} co {dot} uk
+# Copyright 2013-2020 Sebastian Arcus: s.arcus {at} open-t [dot] co [dot] uk
# Copyright 2009-2010 Pierre Cazenave <pwcazenave> {at} gmail [dot] com
# Copyright 2007 Martin Lefebvre <dadexter@sekurity.com>
+# With contributions from JB: afrotrap {at} gmail [dot] com
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
@@ -25,7 +26,7 @@
# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
PRGNAM=motion
-VERSION=${VERSION:-4.2.2}
+VERSION=${VERSION:-4.3.1}
BUILD=${BUILD:-1}
TAG=${TAG:-_SBo}
@@ -73,7 +74,7 @@ find -L . \
\( -perm 666 -o -perm 664 -o -perm 640 -o -perm 600 -o -perm 444 \
-o -perm 440 -o -perm 400 \) -exec chmod 644 {} \;
-autoreconf
+autoreconf -fiv
CFLAGS="$SLKCFLAGS" \
CXXFLAGS="$SLKCFLAGS" \
./configure \
@@ -99,7 +100,7 @@ mv $PKG/etc/motion/motion-dist.conf $PKG/etc/motion/motion-dist.conf.new
mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION
mv $PKG/usr/share/doc/motion/* $PKG/usr/doc/$PRGNAM-$VERSION
-mv $PKG/usr/share/$PRGNAM/examples $PKG/usr/doc/$PRGNAM-$VERSION/
+#mv $PKG/usr/share/$PRGNAM/examples $PKG/usr/doc/$PRGNAM-$VERSION/
rm -rf $PKG/usr/share # We moved the docs from there
cat $CWD/$PRGNAM.SlackBuild > $PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM.SlackBuild
diff --git a/system/motion/motion.info b/system/motion/motion.info
index 93be03f4c3..b077342cc9 100644
--- a/system/motion/motion.info
+++ b/system/motion/motion.info
@@ -1,10 +1,10 @@
PRGNAM="motion"
-VERSION="4.2.2"
+VERSION="4.3.1"
HOMEPAGE="https://motion-project.github.io"
-DOWNLOAD="https://github.com/Motion-Project/motion/archive/release-4.2.2/motion-release-4.2.2.tar.gz"
-MD5SUM="6986e44b6bf294a2d4f07f85595275e0"
+DOWNLOAD="https://github.com/Motion-Project/motion/archive/release-4.3.1/motion-release-4.3.1.tar.gz"
+MD5SUM="2d49f8af48f9deff4ea9204b05cc327c"
DOWNLOAD_x86_64=""
MD5SUM_x86_64=""
REQUIRES="libmicrohttpd"
MAINTAINER="Sebastian Arcus"
-EMAIL="s.arcus <at> open-t {dot} co {dot} uk"
+EMAIL="s.arcus <at> open-t [dot] co [dot] uk"
diff --git a/system/mpack/mpack.SlackBuild b/system/mpack/mpack.SlackBuild
index 9bd52bc85f..8c6319c70b 100644
--- a/system/mpack/mpack.SlackBuild
+++ b/system/mpack/mpack.SlackBuild
@@ -21,10 +21,16 @@
# 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.
+#
+# 2021-03-18
+# - Inc'd BUILD value to 2
+# - Added comments about patch usage.
+# - Legacy upstream URL is gone, migrated to gitlab site.
+#
PRGNAM=mpack
VERSION=${VERSION:-1.6}
-BUILD=${BUILD:-1}
+BUILD=${BUILD:-2}
TAG=${TAG:-_SBo}
if [ -z "$ARCH" ]; then
@@ -69,7 +75,9 @@ find -L . \
\( -perm 666 -o -perm 664 -o -perm 640 -o -perm 600 -o -perm 444 \
-o -perm 440 -o -perm 400 \) -exec chmod 644 {} \;
-patch -p1 < $CWD/mpack.diff
+# The following patch corrects a number of warnings and build errors in
+# order to compile on a modern (Slackware 14.2+) Linux system.
+patch -p1 < $CWD/mpack.patch
CFLAGS="$SLKCFLAGS" \
./configure \
diff --git a/system/mpack/mpack.info b/system/mpack/mpack.info
index fd50ec744e..e017fc5020 100644
--- a/system/mpack/mpack.info
+++ b/system/mpack/mpack.info
@@ -1,8 +1,8 @@
PRGNAM="mpack"
VERSION="1.6"
-HOMEPAGE="http://ftp.andrew.cmu.edu/pub/mpack"
-DOWNLOAD="http://ftp.andrew.cmu.edu/pub/mpack/mpack-1.6.tar.gz"
-MD5SUM="a70fa5afa76539a9afb70b9d81568fe8"
+HOMEPAGE="https://gitlab.com/osdp/mpack"
+DOWNLOAD="https://gitlab.com/osdp/mpack/-/archive/1.6/mpack-1.6.tar.gz"
+MD5SUM="3528459d2b45225d18a25359112b2b45"
DOWNLOAD_x86_64=""
MD5SUM_x86_64=""
REQUIRES=""
diff --git a/system/mpack/mpack.diff b/system/mpack/mpack.patch
index e00b92f25e..e00b92f25e 100644
--- a/system/mpack/mpack.diff
+++ b/system/mpack/mpack.patch
diff --git a/system/mpich/mpich.SlackBuild b/system/mpich/mpich.SlackBuild
index 24f9e08683..3245ac845a 100644
--- a/system/mpich/mpich.SlackBuild
+++ b/system/mpich/mpich.SlackBuild
@@ -4,7 +4,7 @@
# Earlier version written by Wainamoinen <wainamoinen@gmail.com>
#
-# Copyright 2016-2019 Christoph Willing Brisbane, Australia
+# Copyright 2016-2021 Christoph Willing Brisbane, Australia
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
@@ -25,7 +25,7 @@
# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
PRGNAM=mpich
-VERSION=${VERSION:-3.3.2}
+VERSION=${VERSION:-3.4.1}
BUILD=${BUILD:-1}
TAG=${TAG:-_SBo}
@@ -85,6 +85,7 @@ CXXFLAGS="$SLKCFLAGS" \
--enable-cxx \
--enable-threads=multiple \
--enable-fast \
+ --with-device=ch3 \
--build=$ARCH-slackware-linux
make
diff --git a/system/mpich/mpich.info b/system/mpich/mpich.info
index 6897a28094..4d02727e1b 100644
--- a/system/mpich/mpich.info
+++ b/system/mpich/mpich.info
@@ -1,8 +1,8 @@
PRGNAM="mpich"
-VERSION="3.3.2"
+VERSION="3.4.1"
HOMEPAGE="https://www.mpich.org/"
-DOWNLOAD="https://www.mpich.org/static/downloads/3.3.2/mpich-3.3.2.tar.gz"
-MD5SUM="2d680f620583beadd7a08acdcfe355e6"
+DOWNLOAD="https://www.mpich.org/static/downloads/3.4.1/mpich-3.4.1.tar.gz"
+MD5SUM="10e43fd61fd1a13c89cfbed3eb30b97a"
DOWNLOAD_x86_64=""
MD5SUM_x86_64=""
REQUIRES=""
diff --git a/system/musl/README b/system/musl/README
index cb2417aa99..a72afb60b5 100644
--- a/system/musl/README
+++ b/system/musl/README
@@ -1,5 +1,6 @@
-Musl is a C standard library that strives to be lightweight, fast,
-simple, free, and correct.
+Musl is a C standard library that is lightweight, fast, simple, free,
+and strives to be correct in the sense of standards-conformance and
+safety.
Musl includes a wrapper, musl-gcc, for building files linked against musl.
It also provides musl-ldd to print the shared libraries loaded by the
diff --git a/system/musl/musl.SlackBuild b/system/musl/musl.SlackBuild
index 8a3162912d..99ae51d447 100644
--- a/system/musl/musl.SlackBuild
+++ b/system/musl/musl.SlackBuild
@@ -3,6 +3,7 @@
# Slackware build script for musl
# Copyright 2014 Weldon Goree <weldon@langurwallah.org>
+# Copyright 2019 - 2020 Johannes Schoepfer, Germany
# All rights reserved
#
# Redistribution and use of this script, with or without modification, is
@@ -23,7 +24,7 @@
# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
PRGNAM=musl
-VERSION=${VERSION:-1.1.16}
+VERSION=${VERSION:-1.2.0}
BUILD=${BUILD:-1}
TAG=${TAG:-_SBo}
diff --git a/system/musl/musl.info b/system/musl/musl.info
index 43fefb326e..827759d98e 100644
--- a/system/musl/musl.info
+++ b/system/musl/musl.info
@@ -1,10 +1,10 @@
PRGNAM="musl"
-VERSION="1.1.16"
-HOMEPAGE="http://www.musl-libc.org"
-DOWNLOAD="http://www.musl-libc.org/releases/musl-1.1.16.tar.gz"
-MD5SUM="ac52ccaec6b06ab0f289d37e8436859b"
+VERSION="1.2.0"
+HOMEPAGE="https://musl.libc.org/"
+DOWNLOAD="https://musl.libc.org/releases/musl-1.2.0.tar.gz"
+MD5SUM="5f13b13501d6ab7c2e06c69484e5a7fc"
DOWNLOAD_x86_64=""
MD5SUM_x86_64=""
REQUIRES=""
-MAINTAINER="Weldon Goree"
-EMAIL="weldon@langurwallah.org"
+MAINTAINER="Johannes Schoepfer"
+EMAIL="slackbuilds@schoepfer.info"
diff --git a/system/musl/slack-desc b/system/musl/slack-desc
index fc4ef7f2d0..a52df43f85 100644
--- a/system/musl/slack-desc
+++ b/system/musl/slack-desc
@@ -12,7 +12,7 @@ musl: The musl C library. A library that attempts to be fast, simple, and
musl: correct. Use the musl-gcc wrapper to build against musl, and the
musl: musl-ldd wrapper to check linkages on the binaries you build.
musl:
-musl: http://www.musl-libc.org/
+musl: https://www.musl-libc.org/
musl:
musl:
musl:
diff --git a/system/ncdu/ncdu.SlackBuild b/system/ncdu/ncdu.SlackBuild
index 0dd77d2107..82ad23caed 100644
--- a/system/ncdu/ncdu.SlackBuild
+++ b/system/ncdu/ncdu.SlackBuild
@@ -2,7 +2,7 @@
#
# Slackware build script for ncdu
#
-# Copyright 2009-2018 Erik W. Hanson, Minneapolis, MN, USA
+# Copyright 2009-2020 Erik W. Hanson, Minneapolis, MN, USA
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
@@ -23,7 +23,7 @@
# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
PRGNAM=ncdu
-VERSION=${VERSION:-1.13}
+VERSION=${VERSION:-1.15.1}
BUILD=${BUILD:-1}
TAG=${TAG:-_SBo}
diff --git a/system/ncdu/ncdu.info b/system/ncdu/ncdu.info
index efd54bd974..63f5b81f3a 100644
--- a/system/ncdu/ncdu.info
+++ b/system/ncdu/ncdu.info
@@ -1,8 +1,8 @@
PRGNAM="ncdu"
-VERSION="1.13"
+VERSION="1.15.1"
HOMEPAGE="https://dev.yorhel.nl/ncdu/"
-DOWNLOAD="https://dev.yorhel.nl/download/ncdu-1.13.tar.gz"
-MD5SUM="67239592ac41f42290f52ab89ff198be"
+DOWNLOAD="https://dev.yorhel.nl/download/ncdu-1.15.1.tar.gz"
+MD5SUM="af25aa8462a6f29c8a0c4d3d83d186e7"
DOWNLOAD_x86_64=""
MD5SUM_x86_64=""
REQUIRES=""
diff --git a/system/netdata/netdata.SlackBuild b/system/netdata/netdata.SlackBuild
index e77518a08d..ff9a31865c 100644
--- a/system/netdata/netdata.SlackBuild
+++ b/system/netdata/netdata.SlackBuild
@@ -23,7 +23,7 @@
# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
PRGNAM=netdata
-VERSION=${VERSION:-1.19.0}
+VERSION=${VERSION:-1.29.3}
BUILD=${BUILD:-1}
TAG=${TAG:-_SBo}
@@ -88,6 +88,8 @@ find -L . \
\( -perm 666 -o -perm 664 -o -perm 640 -o -perm 600 -o -perm 444 \
-o -perm 440 -o -perm 400 \) -exec chmod 644 {} \;
+patch -p1 < $CWD/9644483b6069bb474942df5afc1156968a99d7b2.patch
+
autoreconf -fiv
CFLAGS="$SLKCFLAGS" \
CXXFLAGS="$SLKCFLAGS" \
@@ -113,7 +115,7 @@ mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION
cp -a LICENSE *.md $PKG/usr/doc/$PRGNAM-$VERSION
cat $CWD/$PRGNAM.SlackBuild > $PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM.SlackBuild
-mkdir -p $PKG/var/lock/subsys/
+mkdir -p $PKG/var/lock/subsys/ $PKG/var/cache/netdata $PKG/var/lib/netdata $PKG/var/log/netdata
# set permission
chown -R $NETDATA_USER:$NETDATA_GROUP $PKG/var/lib/netdata
diff --git a/system/netdata/netdata.info b/system/netdata/netdata.info
index 3b758dce41..95ea1f6c42 100644
--- a/system/netdata/netdata.info
+++ b/system/netdata/netdata.info
@@ -1,10 +1,10 @@
PRGNAM="netdata"
-VERSION="1.19.0"
+VERSION="1.29.3"
HOMEPAGE="https://github.com/netdata/netdata"
-DOWNLOAD="https://github.com/netdata/netdata/archive/v1.19.0/netdata-1.19.0.tar.gz"
-MD5SUM="d0f388747c47eee2dd594ad9a11b5bf4"
+DOWNLOAD="https://github.com/netdata/netdata/archive/v1.29.3/netdata-1.29.3.tar.gz"
+MD5SUM="9bb47600963c001c7de828e7e2e135a4"
DOWNLOAD_x86_64=""
MD5SUM_x86_64=""
-REQUIRES="PyYAML"
+REQUIRES="PyYAML libuv"
MAINTAINER="Willy Sudiarto Raharjo"
EMAIL="willysr@slackbuilds.org"
diff --git a/system/newLd/newLd.SlackBuild b/system/newLd/newLd.SlackBuild
index a482f4d3e8..273ea5546c 100644
--- a/system/newLd/newLd.SlackBuild
+++ b/system/newLd/newLd.SlackBuild
@@ -1,4 +1,4 @@
-#!/bin/bash
+#!/bin/sh
# Copyright 2005-2018 Patrick J. Volkerding, Sebeka, Minnesota, USA
# All rights reserved.
@@ -26,19 +26,17 @@
cd $(dirname $0) ; CWD=$(pwd)
-PKGNAM=newLd
-VERSION=${VERSION:-$(echo binutils-*.tar.?z | rev | cut -f 3- -d . | cut -f 1 -d - | rev)}
+PRGNAM=newLd
+VERSION=${VERSION:-2.33.1}
BUILD=${BUILD:-1}
TAG=${TAG:-_SBo}
-# Automatically determine the architecture we're building on:
MARCH=$( uname -m )
if [ -z "$ARCH" ]; then
case "$MARCH" in
i?86) export ARCH=i586 ;;
armv7hl) export ARCH=$MARCH ;;
arm*) export ARCH=arm ;;
- # Unless $ARCH is already set, use uname -m for all other archs:
*) export ARCH=$MARCH ;;
esac
fi
@@ -48,12 +46,10 @@ fi
## the name of the created package would be, and then exit. This information
## could be useful to other scripts.
#if [ ! -z "${PRINT_PACKAGE_NAME}" ]; then
-# echo "$PKGNAM-$VERSION-$ARCH-$BUILD.txz"
+# echo "$PRGNAM-$VERSION-$ARCH-$BUILD.txz"
# exit 0
#fi
-NUMJOBS=${NUMJOBS:-" -j$(expr $(nproc) + 1) "}
-
# Set to ld.gold or ld.bfd:
DEFAULT_LD=ld.bfd
@@ -86,40 +82,42 @@ case "$ARCH" in
*) TARGET=$ARCH-slackware-linux ;;
esac
+set -e
+
TMP=${TMP:-/tmp/SBo}
-PKG=$TMP/package-$PKGNAM
+PKG=$TMP/package-$PRGNAM
rm -rf $PKG
mkdir -p $TMP $PKG
cd $TMP
rm -rf binutils-$VERSION
-tar xvf $CWD/binutils-$VERSION.tar.?z || exit 1
-cd binutils-$VERSION || exit 1
+tar xvf $CWD/binutils-$VERSION.tar.?z
+cd binutils-$VERSION
# Various upstream patches:
-zcat $CWD/patches/binutils-2.20.51.0.2-libtool-lib64.patch.gz | patch -p1 --verbose || exit 1
-zcat $CWD/patches/binutils-2.25-version.patch.gz | patch -p1 --verbose || exit 1
-zcat $CWD/patches/binutils-2.25-set-long-long.patch.gz | patch -p1 --verbose || exit 1
-zcat $CWD/patches/binutils-2.20.51.0.10-copy-osabi.patch.gz | patch -p1 --verbose || exit 1
-zcat $CWD/patches/binutils-2.20.51.0.10-sec-merge-emit.patch.gz | patch -p1 --verbose || exit 1
-zcat $CWD/patches/binutils-2.24-ldforcele.patch.gz | patch -p1 --verbose || exit 1
-zcat $CWD/patches/binutils-2.25.1-cleansweep.patch.gz | patch -p2 --verbose || exit 1
+zcat $CWD/patches/binutils-2.20.51.0.2-libtool-lib64.patch.gz | patch -p1 --verbose
+zcat $CWD/patches/binutils-2.25-version.patch.gz | patch -p1 --verbose
+zcat $CWD/patches/binutils-2.25-set-long-long.patch.gz | patch -p1 --verbose
+zcat $CWD/patches/binutils-2.20.51.0.10-copy-osabi.patch.gz | patch -p1 --verbose
+zcat $CWD/patches/binutils-2.20.51.0.10-sec-merge-emit.patch.gz | patch -p1 --verbose
+zcat $CWD/patches/binutils-2.24-ldforcele.patch.gz | patch -p1 --verbose
+zcat $CWD/patches/binutils-2.25.1-cleansweep.patch.gz | patch -p2 --verbose
# Export the demangle.h header file:
-zcat $CWD/patches/binutils.export.demangle.h.diff.gz | patch -p1 --verbose || exit 1
+zcat $CWD/patches/binutils.export.demangle.h.diff.gz | patch -p1 --verbose
# Don't check to see if "config.h" was included in the installed headers:
-zcat $CWD/patches/binutils.no-config-h-check.diff.gz | patch -p1 --verbose || exit 1
+zcat $CWD/patches/binutils.no-config-h-check.diff.gz | patch -p1 --verbose
# Set %version to something halfway meaningful:
sed -i -e 's/%''{release}/slack15/g' bfd/Makefile{.am,.in}
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 {} \+
+find -L . \
+ \( -perm 777 -o -perm 775 -o -perm 750 -o -perm 711 -o -perm 555 \
+ -o -perm 511 \) -exec chmod 755 {} \; -o \
+ \( -perm 666 -o -perm 664 -o -perm 640 -o -perm 600 -o -perm 444 \
+ -o -perm 440 -o -perm 400 \) -exec chmod 644 {} \;
# End of preparations
if echo "$*" | grep -qw -- --prep ; then
@@ -135,7 +133,7 @@ CFLAGS="$SLKCFLAGS" \
--libdir=$PREFIX/lib${LIBDIRSUFFIX} \
--mandir=/usr/man \
--infodir=/usr/info \
- --with-docdir=/usr/doc/$PKGNAM-$VERSION \
+ --with-docdir=/usr/doc/$PRGNAM-$VERSION \
--disable-compressed-debug-sections \
--enable-multilib \
--enable-64-bit-bfd \
@@ -145,8 +143,7 @@ CFLAGS="$SLKCFLAGS" \
--enable-ld=default \
--enable-initfini-array \
$WERROR \
- --build=$TARGET \
- || exit 1
+ --build=$TARGET
# Use "tooldir=/usr" to avoid internal references to the /usr/${TARGET}/
@@ -157,9 +154,9 @@ CFLAGS="$SLKCFLAGS" \
# been built into the linker for quite some time and the ones in the
# filesystem aren't actually loaded. For the most part they are now
# documentation and it doesn't matter where they reside.
-make clean || exit 1
-make tooldir=$PREFIX $NUMJOBS || make tooldir=$PREFIX || exit 1
-make tooldir=$PREFIX install DESTDIR=$PKG || exit 1
+make clean
+make tooldir=$PREFIX
+make tooldir=$PREFIX install DESTDIR=$PKG
# Using tooldir=/usr also makes the /usr/${TARGET}/lib${LIBDIRSUFFIX}
# directory obsolete, and the build will no longer install it. But since
@@ -179,7 +176,7 @@ rm -rf $PKG/$PREFIX/$ARCH-slackware-linux
# Delete unwanted programs
rm -f $PKG/$PREFIX/bin/{addr2line,ar,as,c++filt,dlltool,dllwrap,elfedit,gprof,ld.bfd,nm,objcopy,objdump,ranlib,readelf,size,strings,strip,windmc,windres}
-
+
mkdir -p $PKG/usr/bin
cat << EOF > $PKG/usr/bin/ld$VERSION
#!/bin/sh
@@ -222,8 +219,8 @@ chmod +x $PKG/usr/bin/ld$VERSION
# ( cd $PKG/$PREFIX/bin ; rm -f ld ; ln -sf $DEFAULT_LD ld )
#fi
-find $PKG | xargs file | grep -e "executable" -e "shared object" \
- | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
+find $PKG -print0 | xargs -0 file | grep -e "executable" -e "shared object" | grep ELF \
+ | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null || true
# Remove some unneeded man pages, and then compress the rest
(cd $PKG/usr/man/man1; mv ld.1 ld$VERSION.1)
@@ -239,34 +236,23 @@ rm -f $PKG/usr/info/{as,nm,bfd,binutils,gprof}.info
rm -f $PKG/usr/info/dir
gzip -9 $PKG/usr/info/*
-mkdir -p $PKG/usr/doc/$PKGNAM-$VERSION
+mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION
cp \
COPYING* ChangeLog.linux MAI* README* \
- $PKG/usr/doc/$PKGNAM-$VERSION
+ $PKG/usr/doc/$PRGNAM-$VERSION
# If there's a ChangeLog, installing at least part of the recent history
# is useful, but don't let it get totally out of control:
if [ -r ChangeLog ]; then
- DOCSDIR=$(echo $PKG/usr/doc/$PKGNAM-$VERSION)
+ DOCSDIR=$(echo $PKG/usr/doc/$PRGNAM-$VERSION)
cat ChangeLog | head -n 1000 > $DOCSDIR/ChangeLog
touch -r ChangeLog $DOCSDIR/ChangeLog
fi
chown -R root:root $PKG/$PREFIX/doc/binutils-$VERSION
-# Add slack-desc:
mkdir -p $PKG/install
cat $CWD/slack-desc > $PKG/install/slack-desc
cd $PKG
-/sbin/makepkg -l y -c n /tmp/binutils-$VERSION-$ARCH-$BUILD$TAG.txz
-
-# Not relation for this package
-#cat << EOF
-#
-##############################
-#oprofile links to libbfd so
-#be sure to recompile that
-##############################
-#
-#EOF
+/sbin/makepkg -l y -c n $OUTPUT/$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.${PKGTYPE:-tgz}
diff --git a/system/nmtree/README b/system/nmtree/README
new file mode 100644
index 0000000000..db6be9cfd4
--- /dev/null
+++ b/system/nmtree/README
@@ -0,0 +1,7 @@
+nmtree is a utility for mapping and checking directory hierarchies.
+This version is ported from NetBSD.
+
+The binary and manpages will install as nmtree instead of the default
+mtree because libarchive provides an mtree(5) manpage.
+Regardless, the nmtree manpages will still refer to the program as
+mtree.
diff --git a/system/nmtree/nmtree.SlackBuild b/system/nmtree/nmtree.SlackBuild
new file mode 100644
index 0000000000..9a24c1307e
--- /dev/null
+++ b/system/nmtree/nmtree.SlackBuild
@@ -0,0 +1,114 @@
+#!/bin/sh
+
+# Slackware build script for nmtree
+
+# @(#)nmtree.SlackBuild 1.1 20/10/24 06:21:09
+
+# Copyright 2020 Pomfland
+# 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.
+
+PRGNAM=nmtree
+VERSION=${VERSION:-1.0.0}
+BUILD=${BUILD:-1}
+TAG=${TAG:-_SBo}
+
+if [ -z "$ARCH" ]; then
+ case "$( uname -m )" in
+ i?86) ARCH=i586 ;;
+ arm*) ARCH=arm ;;
+ *) ARCH=$( uname -m ) ;;
+ esac
+fi
+
+CWD=$(pwd)
+TMP=${TMP:-/tmp/SBo}
+PKG=$TMP/package-$PRGNAM
+OUTPUT=${OUTPUT:-/tmp}
+
+if [ "$ARCH" = "i586" ]; then
+ SLKCFLAGS="-O2 -march=i586 -mtune=i686"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "i686" ]; then
+ SLKCFLAGS="-O2 -march=i686 -mtune=i686"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "x86_64" ]; then
+ SLKCFLAGS="-O2 -fPIC"
+ LIBDIRSUFFIX="64"
+else
+ SLKCFLAGS="-O2"
+ LIBDIRSUFFIX=""
+fi
+
+set -e
+
+rm -rf $PKG
+mkdir -p $TMP $PKG $OUTPUT
+cd $TMP
+rm -rf $PRGNAM-$VERSION
+tar xvf $CWD/$PRGNAM-$VERSION.tar.gz
+cd $PRGNAM-$VERSION
+chown -R root:root .
+find -L . \
+ \( -perm 777 -o -perm 775 -o -perm 750 -o -perm 711 -o -perm 555 \
+ -o -perm 511 \) -exec chmod 755 {} \; -o \
+ \( -perm 666 -o -perm 664 -o -perm 640 -o -perm 600 -o -perm 444 \
+ -o -perm 440 -o -perm 400 \) -exec chmod 644 {} \;
+
+./autogen.sh
+
+CFLAGS="$SLKCFLAGS" \
+CXXFLAGS="$SLKCFLAGS" \
+./configure \
+ --prefix=/usr \
+ --libdir=/usr/lib${LIBDIRSUFFIX} \
+ --sysconfdir=/etc \
+ --localstatedir=/var \
+ --mandir=/usr/man \
+ --docdir=/usr/doc/$PRGNAM-$VERSION \
+ --build=$ARCH-slackware-linux
+
+make
+make install DESTDIR=$PKG
+
+find $PKG -print0 | xargs -0 file | grep -e "executable" -e "shared object" | grep ELF \
+ | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null || true
+
+find $PKG/usr/man -type f -exec gzip -9 {} \;
+for i in $( find $PKG/usr/man -type l ) ; do ln -s $( readlink $i ).gz $i.gz ; rm $i ; done
+
+# maintenance work: libarchive provides its own mtree(5) manpage for some unholy
+# reason so we're going to just install the whole package as nmtree
+# we should also purge documentation it installs on its own
+mv -v $PKG/usr/bin/{m,nm}tree
+mv -v $PKG/usr/man/man5/{m,nm}tree.5.gz
+mv -v $PKG/usr/man/man8/{m,nm}tree.8.gz
+rm -r $PKG/usr/share # yes, all of it is worthless
+
+mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION
+cp -a \
+ CHANGES README \
+ $PKG/usr/doc/$PRGNAM-$VERSION
+cat $CWD/$PRGNAM.SlackBuild > $PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM.SlackBuild
+
+mkdir -p $PKG/install
+cat $CWD/slack-desc > $PKG/install/slack-desc
+
+cd $PKG
+/sbin/makepkg -l y -c n $OUTPUT/$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.${PKGTYPE:-tgz}
diff --git a/system/nmtree/nmtree.info b/system/nmtree/nmtree.info
new file mode 100644
index 0000000000..9b14d8fc3c
--- /dev/null
+++ b/system/nmtree/nmtree.info
@@ -0,0 +1,10 @@
+PRGNAM="nmtree"
+VERSION="1.0.0"
+HOMEPAGE="https://github.com/archiecobbs/nmtree"
+DOWNLOAD="https://github.com/archiecobbs/nmtree/archive/1.0.0/nmtree-1.0.0.tar.gz"
+MD5SUM="e1d63ab0eec7b0674ab38983938394fa"
+DOWNLOAD_x86_64=""
+MD5SUM_x86_64=""
+REQUIRES="libnbcompat"
+MAINTAINER="Pomfland"
+EMAIL="pomfland@tfwno.gf"
diff --git a/system/nmtree/slack-desc b/system/nmtree/slack-desc
new file mode 100644
index 0000000000..645771c912
--- /dev/null
+++ b/system/nmtree/slack-desc
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description.
+# Line up the first '|' above the ':' following the base package name, and
+# the '|' on the right side marks the last column you can put a character in.
+# You must make exactly 11 lines for the formatting to be correct. It's also
+# customary to leave one space after the ':' except on otherwise blank lines.
+
+ |-----handy-ruler------------------------------------------------------|
+nmtree: nmtree (a port of NetBSD's mtree utility to Linux)
+nmtree:
+nmtree: nmtree is a utility for mapping and checking directory hierarchies.
+nmtree: This version is ported from NetBSD.
+nmtree:
+nmtree: Homepage: https://github.com/archiecobbs/nmtree
+nmtree:
+nmtree:
+nmtree:
+nmtree:
+nmtree:
diff --git a/system/nnn/nnn.SlackBuild b/system/nnn/nnn.SlackBuild
index a1df6fb316..8e330a69bb 100644
--- a/system/nnn/nnn.SlackBuild
+++ b/system/nnn/nnn.SlackBuild
@@ -2,7 +2,7 @@
# Slackware build script for nnn
-# Copyright 2017-2019 Dimitris Zlatanidis Orestiada, Greece
+# Copyright 2017-2020 Dimitris Zlatanidis Orestiada, Greece
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
@@ -23,7 +23,7 @@
# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
PRGNAM=nnn
-VERSION=${VERSION:-2.4}
+VERSION=${VERSION:-3.0}
BUILD=${BUILD:-1}
TAG=${TAG:-_SBo}
diff --git a/system/nnn/nnn.info b/system/nnn/nnn.info
index a814ee13ad..ff9ad707c3 100644
--- a/system/nnn/nnn.info
+++ b/system/nnn/nnn.info
@@ -1,8 +1,8 @@
PRGNAM="nnn"
-VERSION="2.4"
+VERSION="3.0"
HOMEPAGE="https://github.com/jarun/nnn"
-DOWNLOAD="https://github.com/jarun/nnn/archive/v2.4/nnn-2.4.tar.gz"
-MD5SUM="a2188b71255735decf729e66cb0decc7"
+DOWNLOAD="https://github.com/jarun/nnn/archive/v3.0/nnn-3.0.tar.gz"
+MD5SUM="5550ba49f52b65f4097c1ac353b7ae64"
DOWNLOAD_x86_64=""
MD5SUM_x86_64=""
REQUIRES=""
diff --git a/system/nologind/slack-desc b/system/nologind/slack-desc
index 0e808b45f6..061260f7f6 100644
--- a/system/nologind/slack-desc
+++ b/system/nologind/slack-desc
@@ -13,7 +13,7 @@ nologind: Used as a compatibility layer for applications that require
nologind: (parts of) the org.freedesktop.login1.Manager D-Bus system service.
nologind:
nologind:
-nologind: nologind was written by Ole-André Rodlie
+nologind: nologind was written by Ole-Andre Rodlie
nologind:
nologind: Homepage: https://github.com/rodlie/nologind
nologind:
diff --git a/system/noto-emoji/noto-emoji.SlackBuild b/system/noto-emoji/noto-emoji.SlackBuild
index 5dab99a22a..ed43f6653b 100644
--- a/system/noto-emoji/noto-emoji.SlackBuild
+++ b/system/noto-emoji/noto-emoji.SlackBuild
@@ -2,7 +2,7 @@
# Slackware build script for noto-emoji
-# Copyright 2017-2019 Andrew Clemons, Wellington New Zealand
+# Copyright 2017-2020 Andrew Clemons, Wellington New Zealand
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
@@ -23,11 +23,12 @@
# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
PRGNAM=noto-emoji
-SRCVERSION=${VERSION:-2019-11-19-unicode12}
-VERSION=${VERSION:-$(echo "$SRCVERSION" | cut -d- -f-3 | tr -d -)}
+VERSION=${VERSION:-20200916}
BUILD=${BUILD:-1}
TAG=${TAG:-_SBo}
+SRCVERSION=${SRCVERSION:-2020-09-16-unicode13_1}
+
ARCH=noarch
CWD=$(pwd)
diff --git a/system/noto-emoji/noto-emoji.info b/system/noto-emoji/noto-emoji.info
index 72868fcb29..bf317e605a 100644
--- a/system/noto-emoji/noto-emoji.info
+++ b/system/noto-emoji/noto-emoji.info
@@ -1,9 +1,9 @@
PRGNAM="noto-emoji"
-VERSION="20191119"
+VERSION="20200916"
HOMEPAGE="https://www.google.com/get/noto/help/emoji/"
-DOWNLOAD="https://github.com/googlei18n/noto-emoji/archive/v2019-11-19-unicode12/noto-emoji-2019-11-19-unicode12.tar.gz \
+DOWNLOAD="https://github.com/googlei18n/noto-emoji/archive/v2020-09-16-unicode13_1/noto-emoji-2020-09-16-unicode13_1.tar.gz \
https://gist.githubusercontent.com/hexchain/47f550472e79d0805060/raw/d9ecd5a5fcb901bcfb75115f4b602f6c1d3020c1/51-noto-color-emoji.conf.xml"
-MD5SUM="8e449a8d1bfbca27332aba7c68a4c55f \
+MD5SUM="c32147c255b366c28a2c4d702e2cfda2 \
e2d9cf0460fa0315a8da5d8dedacf702"
DOWNLOAD_x86_64=""
MD5SUM_x86_64=""
diff --git a/system/numactl/numactl.SlackBuild b/system/numactl/numactl.SlackBuild
index 22f15f4e06..c859de402a 100644
--- a/system/numactl/numactl.SlackBuild
+++ b/system/numactl/numactl.SlackBuild
@@ -5,7 +5,7 @@
# Written by Wainamoinen <wainamoinen@gmail.com>
PRGNAM=numactl
-VERSION=${VERSION:-2.0.12}
+VERSION=${VERSION:-2.0.13}
BUILD=${BUILD:-1}
TAG=${TAG:-_SBo}
diff --git a/system/numactl/numactl.info b/system/numactl/numactl.info
index 960453e496..1cda19b3ff 100644
--- a/system/numactl/numactl.info
+++ b/system/numactl/numactl.info
@@ -1,8 +1,8 @@
PRGNAM="numactl"
-VERSION="2.0.12"
+VERSION="2.0.13"
HOMEPAGE="https://github.com/numactl/numactl"
-DOWNLOAD="https://github.com/numactl/numactl/releases/download/v2.0.12/numactl-2.0.12.tar.gz"
-MD5SUM="2ba9777d78bfd7d408a387e53bc33ebc"
+DOWNLOAD="https://github.com/numactl/numactl/releases/download/v2.0.13/numactl-2.0.13.tar.gz"
+MD5SUM="9a9a94bfebf6c9c67defeedc9795e568"
DOWNLOAD_x86_64=""
MD5SUM_x86_64=""
REQUIRES=""
diff --git a/system/nvidia-driver/README b/system/nvidia-driver/README
index cbfb71ee50..9f87edbdff 100644
--- a/system/nvidia-driver/README
+++ b/system/nvidia-driver/README
@@ -1,25 +1,67 @@
This is the proprietary binary video driver from NVidia for the X.Org
-X-server. This package does not include the kernel-module - it is a part
-of the nvidia-kernel package at SlackBuilds.org.
+X-server. This package does not include the kernel-module - it is
+part of the nvidia-kernel package at SlackBuilds.org.
-NOTE: 64-bit x86_64 support ONLY for Slackware64. For x86 32-bit support,
-use nvidia-legacy390-{driver,kernel}
+NOTE: This driver is ONLY for Slackware64. For x86 32-bit support, use
+nvidia-legacy390-{driver,kernel}.
-Installing the 32-bit compatibility libraries is available: if desired, do:
+Installing the 32-bit compatibility libraries is available:
+if desired, do:
COMPAT32="yes" ./nvidia-driver.SlackBuild
-If you plan to test this buildscript on current (15.0), to avoid stomping
-on the installed libglvnd, do:
+If you plan to test this buildscript on current/15.0, do:
+
CURRENT="yes" ./nvidia-driver.SlackBuild
+
+This avoids stomping on the libglvnd libraries, plus it forces the
+script to use the prebuilt nvidia-installer since it no longer builds
+in current. As a consequence, this script may no longer work in a VM.
+
+This script now gives the option of installing the nvidia-persitenced
+daemon. For details, see README.nvidia-persitenced.
+
+Several useful utilities are included: nvidia-xsettings, nvidia-smi,
+and nvidia-settings. Please refer to the Nvidia documentation and
+man pages for details and usage.
+
+For CUDA/OpenCL to work after reboot, and for utilites such as
+nvidia-smi, you might need to include the following line in your
+/etc/rc.d/rc.local (This is REQUIRED for nvidia-persistenced to work):
+
+ # Create missing nvidia device nodes after reboot
+ if [ -x /usr/bin/nvidia-modprobe ]; then
+ /usr/bin/nvidia-modprobe -c 0 -u
+ fi
+
+Notes:
+1. You still need to blacklist the open source nouveau driver.
+ This is easily done by installing xf86-video-nouveau-blacklist in
+ extra/xf86-video-nouveau-blacklist on the distibution DVD.
+
+2. If nvidia-driver is already installed, the script will abort with
+ a prompt to remove the existing driver (it is not necessary to
+ remove the kernel module).
+
+3. As of version 450.xx, Nvidia no longer includes libGL.la in their
+ distribution package. On 14.2 ONLY, nvidia-switch saves these
+ files to /var/log/nvidia/{32,64}:
-Several useful utilities are included: nvidia-xsettings, nvidia-smi, and
-nvidia-settings. Please refer to the Nvidia documentation and man pages
-for details and usage.
+ libGL{,ESv1_CM,ESv2}.la
+ libGL.so.1.2.0
+ libGLESv1_cm.so.1.1.0
+ libGLESv2.so.2.0.0
-For CUDA/OpenCL to work after reboot, and for utilites such as nvidia-smi,
-you might need to include the following line in your /etc/rc.d/rc.local:
--------------8<---------------
-# Create missing nvidia device nodes after reboot
-/usr/bin/nvidia-modprobe -c 0 -u
-------------->8---------------
+ It then modifies the .la files in /usr/lib{,64} to point to the
+ nvidia versions of these libraries. If you want to revert back to
+ the open source drivers, run 'nvidia-switch --remove' to restore
+ the original mesa libraries, then 'removepkg nvidia-driver'
+ "should" work in most cases. If you forget to run
+ nvidia-switch --remove, just copy the original files saved in
+ /var/log/nvidia/{32,64} back to /usr/lib{,64} (don't forget to run
+ /sbin/ldconfig). (THIS STEP IS NOT NECESSARY ON CURRENT.)
+4. (IMPORTANT ON 14.2) When it comes time to remove this package with
+ 'removepkg' (or just about any other package for that matter), you
+ MUST run '/sbin/ldconfig' to restore any symlinks. This is due to
+ removepkg not running ldconfig after removing a package.
+ (This has been added to current/15.0.)
diff --git a/system/nvidia-driver/README.nvidia-persistenced b/system/nvidia-driver/README.nvidia-persistenced
new file mode 100644
index 0000000000..5dd841ff87
--- /dev/null
+++ b/system/nvidia-driver/README.nvidia-persistenced
@@ -0,0 +1,33 @@
+The NVIDIA Persistence Daemon is a userspace daemon on Linux to support
+persistence of driver state across Cuda job runs. The daemon targets
+all current Tesla, Quadro and GRID GPUs. For further information, see
+
+https://docs.nvidia.com/deploy/driver-persistence/index.html
+
+The driver now includes rc.nvidia-persistenced as an option.
+While it can be run as root, it is more secure to run it as an
+unpriveleged user, so we run it as user nvidia.
+
+To install it, Pass PERSISTENCED=yes to the script. It will create the
+user and group nvidia, and install rc.nvidia-persistenced to /etc/rc.d.
+
+To activate the daemon, add the following to /etc/rc.d/local:
+
+# Start the nvidia-persistenced daemon:
+if [ -x /etc/rc.d/rc.nvidia-persistenced ]; then
+ /etc/rc.d/rc.nvidia-persistenced start
+fi
+
+and then 'chmod +x /etc/rc.d/rc.nvidia-persistenced' to make it
+executable.
+
+Add the following to /etc/rc.d/rc.local_shutdown:
+
+# Stop the nvidia-persistenced daemon:
+if [ -x /etc/rc.d/rc.nvidia-persistenced ]; then
+ /etc/rc.d/rc.nvidia-persistenced stop
+fi
+
+NOTE: This may not work on all systems. If you encounter problems
+with it, just 'chmod -x /etc/rc.d/rc.persistenced' and it will no
+longer load. YMMV.
diff --git a/system/nvidia-driver/changelog.txt b/system/nvidia-driver/changelog.txt
deleted file mode 100644
index ce4312bf9a..0000000000
--- a/system/nvidia-driver/changelog.txt
+++ /dev/null
@@ -1,48 +0,0 @@
-1.0 20-MAR-2011 New Maintainer: Edward W. Koenig <kingbeowulf@gmail.com>
-1.1 10-APR-2011 updated to new version, testing 13.37rc4.6692
-1.2 27-MAY-2011 new version, allow multilib option, minor edits
-1.2.1 20-JUN-2011 minor edits, thanks to Robby and Roberto
-1.5 01-JUL-2011 new version, single driver download, add switch to select pure x86_64 or x86_64 with 32-bit compatibility.
-1.6 27-AUG-2011 version bump, minor edits
-1.7 21-OCT-2011 version bump
-1.8 24-MAR-2012 version bump, fix to nvidia-switch thanks to Phill W.
-1.9 02-AUG-2012 version bmp, fixes, updates, nvidia-switch for install/uninstall only
-2.0 21-AUG-2012 new version (important security fix), missing vdpau-nvidia, dropped *.h
-2.1 25-AUG-2012 new version -Long Lived Branch, fixed symlinks (per Das email)
-2.2 22-NOV-2012 new version -Long Lived Branch. Updates: libs, apps
-2.3 15-FEB-2013 new version -Long Lived Branch.
-2.4 19-MAY-2013 new version -Long Lived Branch.
-2.6 20-OCT-2013 new version -Long Lived Branch, add new lib, fix nvidia-switch --remove
-3.0 13-NOV-2013 new version (LLB), update libs
-3.1 12-APR-2014 new version (LLB), update libs
-3.2a 12-JUL-2014 new version (LLB), update libs and bug fixes, fix /dev/nvidia-uvm
-3.3 20-NOV-2014 new version (LLB), update libs, fix nvidia-switch
-3.4 11-JAN-2015 new version (LLB), monitor detection bug fix, add libEGL/GLES
-4.0 07-FEB-2015 new long lived branch, version update, bug fixes
-4.1 27-APR-2015 version update LLB, fix $VERSION usage
-4.2 28-JUL-2015 version update LLB, bug fixes, clean-ups.
-4.3 05-SEP-2015 version update LLB
-4.4 13-DEC-2015 version update, X.Org 1.18 support
-4.5 12-MAR-2016 version update LLB, symlink fixes, drop nvidia-installer, get ready for 14.2
-4.5a 26-MAR-2016 fixed broken symlinks
-4.6 24-APR-2016 version update LLB, fix symlinks, added to version if multilib
-4.7 31-APR-2016 version update LLB, added nvidia-installer, updated libs/symlinks
-5.0 20-FEB-2017 version update LLB, security fixes, updated libs/symlinks, nvidia-switch
-5.1 01-APR-2017 fix nvidia-switch lib names to prevent bad ldconfig symlinks on reboot
-5.2 02-JUN-2017 version update LLB, refactor/debug scripts, use nvidia-installer
-5.3 13-OCT-2017 version update LLB, bug fixes, update copyright
-5.4 18-FEB-2018 version update LLB, updates, bug fix (thanks Leo)
-5.5 25-MAR-2018 version update LLB
-5.6 23-APR-2018 version update LLB, update symlinks, fix changelog formatting
-5.7 28-MAY-2018 version update LLB
-5.8 30-JUL-2018 version update LLB
-5.9 06-SEP-2018 version update LLB
-6.0 09-N0V-2018 version update LLB, 32-bit CPU support dropped, x86_64 COMPAT32 available.
-6.1 22-Dec-2018 version update LLB, fix libglx symlink
-6.2 04-FEB-2019 beta version update LLB (build fixes kernel 4.4.168+), minor fixes/corrections
-6.3 26-FEB-2019 version update LLB
-6.4 20-APR-2019 version update LLB
-6.5 14-MAY-2019 version update LLB
-6.6 10-AUG-2019 version update LLB, drop non-glvnd libs. This script will NOT work on current
-6.7 11-SEP-2019 version update LLB, fix for pre-Turing GPUs (This script will NOT work on current).
-7.0 28-NOV-2019 version update LLB, add temp glvnd switch for 15.0, remove nvidia-switch
diff --git a/system/nvidia-driver/nvidia-driver.SlackBuild b/system/nvidia-driver/nvidia-driver.SlackBuild
index cb536d4137..e8e7cf0a8b 100644
--- a/system/nvidia-driver/nvidia-driver.SlackBuild
+++ b/system/nvidia-driver/nvidia-driver.SlackBuild
@@ -2,7 +2,9 @@
# Slackware build script for nvidia-driver
-# Copyright 2012-2019 Edward W. Koenig, Vancouver, WA, USA
+# Copyright 2012-2019 Edward W. Koenig, Vancouver, WA, US
+# Copyright 2020 Lenard Spencer, Orlando, FL, USA
+#
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
@@ -25,7 +27,7 @@
# see changelog.txt
PRGNAM=nvidia-driver
-VERSION=${VERSION:-440.36}
+VERSION=${VERSION:-460.67}
BUILD=${BUILD:-1}
TAG=${TAG:-_SBo}
@@ -57,6 +59,14 @@ else
exit 1
fi
+# There are a couple of unresolved issues with nvidia-installer, so we
+# abort if an Nvidia driver is still installed:
+if [ -x /usr/bin/nvidia-installer ]; then
+ echo -e "\n A previous Nvidia installation has been detected!"
+ echo -e " Please remove the installed driver and rerun this script.\n"
+ exit 1
+fi
+
SRCNAM=NVIDIA-Linux-$TARGET-${VERSION}
# make a clean package directory tree
@@ -67,7 +77,7 @@ mkdir -p $PKG/usr/lib$LIBDIRSUFFIX/xorg/modules/{drivers,extensions} \
$PKG/etc/OpenCL/vendors/ $PKG/usr/{bin,doc,man/man1,sbin} \
$PKG/usr/share/{applications,nvidia,pixmaps,egl/egl_external_platform.d} \
$PKG/usr/include/GL $PKG/etc/vulkan/{icd.d,implicit_layer.d} $PKG/etc/X11/xorg.conf.d \
- $PKG/etc/X11/glvnd/egl_vendor.d $PKG/var/log/nvidia/{32,64}
+ $PKG/etc/X11/glvnd/egl_vendor.d
if [ "$COMPAT32" = "yes" ]; then
mkdir -p $PKG/usr/lib/tls
@@ -81,10 +91,8 @@ rm -rf nvidia-settings-$VERSION
tar xvf $CWD/nvidia-settings-$VERSION.tar.bz2
rm -rf nvidia-xconfig-$VERSION
tar xvf $CWD/nvidia-xconfig-$VERSION.tar.bz2
-rm -rf nvidia-modprobe-$VERSION.tar.bz2
+rm -rf nvidia-modprobe-$VERSION
tar xvf $CWD/nvidia-modprobe-$VERSION.tar.bz2
-rm -rf nvidia-persistenced-$VERSION.tar.bz2
-tar xvf $CWD/nvidia-persistenced-$VERSION.tar.bz2
sh $CWD/$SRCNAM.run --extract-only
cd $SRCNAM
chown -R root:root .
@@ -96,6 +104,7 @@ find -L . \
# Compiling the various open source apps instead of using the precompiled binaries
# Compiling nvidia-installer from source
+if [ "$CURRENT" = "no" ]; then
cd $TMP/nvidia-installer-$VERSION
# Let's try to remove the conflicting files and GPU detection
@@ -119,17 +128,14 @@ cd -
# to the driver source tree for use
mv -f $PKG/usr/bin/nvidia-installer $TMP/$SRCNAM
mv -f $PKG/usr/man/man1/nvidia-installer.1.gz $TMP/$SRCNAM
+fi
-if [ "$ARCH" = "x86_64" -a "${COMPAT32}" = "yes" ]; then
+if [ "${COMPAT32}" = "yes" ]; then
COMP32="--install-compat32-libs --compat32-prefix=$PKG/usr"
- MULTI="_multi"
+ MULTI="_multilib"
else
- if [ ! "$ARCH" = "x86_64" ]; then
- COMP32=""
- else
- COMP32="--no-install-compat32-libs"
- MULTI=""
- fi
+ COMP32="--no-install-compat32-libs"
+ MULTI=""
fi
# Install the binary libs using nvidia-installer compiled above
@@ -150,39 +156,42 @@ cd $TMP/$SRCNAM
--log-file-name=$PKG/var/log/nvidia-installer.log \
--egl-external-platform-config-path=$PKG/usr/share/egl/egl_external_platform.d \
--no-nvidia-modprobe \
- --install-libglvnd \
$COMP32
-# Clean-up: we really do not need this:
-rm -rf /var/lib/nvidia
-# If running current (15.0) remove duplicate libglvnd files
-if [ "$CURRENT" = "yes" ]; then
- rm -f $PKG/usr/lib$LIBDIRSUFFIX/libEGL.so.1.1.0
- rm -f $PKG/usr/lib$LIBDIRSUFFIX/libGL.so.1.7.0
- rm -f $PKG/usr/lib$LIBDIRSUFFIX/libGLESv1_CM.so.1.2.0
- rm -f $PKG/usr/lib$LIBDIRSUFFIX/libGLESv2.so.2.1.0
- rm -f $PKG/usr/lib$LIBDIRSUFFIX/libGLX.so.0.0.0
- rm -f $PKG/usr/lib$LIBDIRSUFFIX/libGLdispatch.so.0.0.0
- rm -f $PKG/usr/lib$LIBDIRSUFFIX/libGLdispatch.so.0
- rm -f $PKG/usr/lib$LIBDIRSUFFIX/libOpenGl.0.0.0
- if [ "$ARCH" = "x86_64" -a "${COMPAT32}" = "yes" ]; then
- rm -f $PKG/usr/lib/libEGL.so.1.1.0
- rm -f $PKG/usr/lib/libGL.so.1.7.0
- rm -f $PKG/usr/lib/libGLESv1_CM.so.1.2.0
- rm -f $PKG/usr/lib/libGLESv2.so.2.1.0
- rm -f $PKG/usr/lib/libGLX.so.0.0.0
- rm -f $PKG/usr/lib/libGLdispatch.so.0.0.0
- rm -f $PKG/usr/lib/libGLdispatch.so.0
- rm -f $PKG/usr/lib/libOpenGl.0.0.0
- fi
+ # Move ICDs to $PKG and cleanup (no switch option in installer?)
+mv /etc/OpenCL/vendors/nvidia.icd $PKG/etc/OpenCL/vendors/nvidia.icd
+mv /etc/vulkan/icd.d/nvidia_icd.json $PKG/etc/vulkan/icd.d/nvidia_icd.json
+mv /etc/vulkan/implicit_layer.d/nvidia_layers.json $PKG/etc/vulkan/implicit_layer.d/nvidia_layers.json
+# In current, mesa now puts an entry into this directory, so we
+# leave it alone if it is not empty
+if [ -z "$(ls -A /etc/OpenCL/vendors)" ]; then
+ rm -rf /etc/OpenCL
+fi
+# just in case any other programs make an entry here
+if [ -z "$(ls -A /etc/vulkan)" ]; then
+ rm -rf /etc/vulkan
fi
-# add tls
-if [ "$ARCH" = "x86_64" -a "${COMPAT32}" = "yes" ]; then
- install -m 755 32/libnvidia-tls.so.$VERSION $PKG/usr/lib/tls/libnvidia-tls.so.$VERSION
- cd $PKG/usr/lib
- ln -sf tls/libnvidia-tls.so.$VERSION libnvidia-tls.so.$VERSION
- cd -
+if [ "$CURRENT" = "yes" ]; then
+# libOpenCL.so is now included in current (in ocl-icd),
+# so we don't need this one.
+ rm -f $PKG/usr/lib${LIBDIRSUFFIX}/libOpenCL.so.1.0.0
+ if [ "${COMPAT32}" = "yes" ]; then
+ rm -f $PKG/usr/lib/libOpenCL.so.1.0.0
+ fi
+else
+# Bash script to cleanly install (in doinst.sh) and uninstall the nvidia
+# files so we don't stomp on any overlapping xorg files.
+# Note: switching can be problematic ;-)
+ mkdir -p $PKG/var/log/nvidia/{32,64}
+ install -m 0755 $CWD/nvidia-switch $PKG/usr/sbin/
+ sed -i s/PKGVERSION/$VERSION/g $PKG/usr/sbin/nvidia-switch
+ sed -i s/LIBDIRSUFFIX/$LIBDIRSUFFIX/g $PKG/usr/sbin/nvidia-switch
+ if [ ${COMPAT32} = "yes" ]; then
+ sed -i s/LIB32FLAG/yes/g $PKG/usr/sbin/nvidia-switch
+ else
+ sed -i s/LIB32FLAG/no/g $PKG/usr/sbin/nvidia-switch
+ fi
fi
# Compile utilites from source, replacing the precompiled versions
@@ -244,45 +253,17 @@ cd -
-o -perm 440 -o -perm 400 \) -exec chmod 644 {} \;
CFLAGS="$SLKCFLAGS" make
-
- install -m 755 _out/Linux_$TARGET/nvidia-modprobe $PKG/usr/bin/
+# must be installed suid root for nvidia-persistenced to work properly
+ install -m 4755 _out/Linux_$TARGET/nvidia-modprobe $PKG/usr/bin/
install -m 644 _out/Linux_$TARGET/nvidia-modprobe.1.gz $PKG/usr/man/man1/
cd -
-# Compiling nvidia-persistenced
- cd $TMP/nvidia-persistenced-$VERSION
- chown -R root:root .
- find -L . \
- \( -perm 777 -o -perm 775 -o -perm 750 -o -perm 711 -o -perm 555 \
- -o -perm 511 \) -exec chmod 755 {} \; -o \
- \( -perm 666 -o -perm 664 -o -perm 640 -o -perm 600 -o -perm 444 \
- -o -perm 440 -o -perm 400 \) -exec chmod 644 {} \;
-
- CFLAGS="$SLKCFLAGS" make
-#FIXME: need rc.nvidia-persistenced script; see doc
- install -m 755 _out/Linux_$TARGET/nvidia-persistenced $PKG/usr/bin/
- install -m 644 _out/Linux_$TARGET/nvidia-persistenced.1.gz $PKG/usr/man/man1/
- cd -
-
-# Don't ship .la files:
-rm -f $PKG/usr/lib${LIBDIRSUFFIX}/*.la
-if [ "$ARCH" = "x86_64" -a "${COMPAT32}" = "yes" ]; then
- rm -f $PKG/usr/lib/*.la
-fi
-
-# These update or correct wrong paths
+# These update the paths in nvidia-settings.desktop
sed -i "s|__UTILS_PATH__|/usr/bin|" $PKG/usr/share/applications/nvidia-settings.desktop
sed -i "s|__PIXMAP_PATH__|/usr/share/pixmaps|" $PKG/usr/share/applications/nvidia-settings.desktop
sed -i "s|__NVIDIA_SETTINGS_DESKTOP_CATEGORIES__|Application;Settings;|" $PKG/usr/share/applications/nvidia-settings.desktop
-# Move ICDs to $PKG and cleanup (no switch option in installer?)
-mv /etc/OpenCL/vendors/nvidia.icd $PKG/etc/OpenCL/vendors/nvidia.icd
-mv /etc/vulkan/icd.d/nvidia_icd.json $PKG/etc/vulkan/icd.d/nvidia_icd.json
-mv /etc/vulkan/implicit_layer.d/nvidia_layers.json $PKG/etc/vulkan/implicit_layer.d/nvidia_layers.json
-rm -rf /etc/OpenCL
-rm -rf /etc/vulkan
-
-# Remove xorg conf file since we take care of that in nvidia-driver
+# Remove xorg conf file since we handle that in nvidia-kernel
rm -rf $PKG/etc/X11/xorg.conf.d
cd $TMP/$SRCNAM
@@ -296,8 +277,64 @@ cat $CWD/README > $PKG/usr/doc/$PRGNAM-$VERSION/README.Slackware
cat $CWD/$PRGNAM.SlackBuild > $PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM.SlackBuild
sed "s/PKGVERSION/$VERSION/g" $CWD/slack-desc > $PKG/install/slack-desc
+if [ "$COMPAT32" = "yes" ]; then
+ sed -i "s|nvidia-driver: @MULTILIB@|nvidia-driver: This package includes the 32-bit libraries.|" $PKG/install/slack-desc
+else
+ sed -i "s|nvidia-driver: @MULTILIB@|nvidia-driver:|" $PKG/install/slack-desc
+fi
+
cat $CWD/doinst.sh > $PKG/install/doinst.sh
-# Flag install as multlib as needed and build package.
+# 14.2 needs nvidia-switch, -current does not
+if [ "$CURRENT" = "no" ]; then
+ echo -e "usr/sbin/nvidia-switch --install\n" >> $PKG/install/doinst.sh
+fi
+
+# Add rc.nvidia-persistenced:
+if [ "${PERSISTENCED:-no}" = "yes" ]; then
+ cd $TMP
+ rm -rf nvidia-persistenced-$VERSION.tar.bz2
+ tar xvf $CWD/nvidia-persistenced-$VERSION.tar.bz2
+# Compiling nvidia-persistenced
+ cd $TMP/nvidia-persistenced-$VERSION
+ chown -R root:root .
+ find -L . \
+ \( -perm 777 -o -perm 775 -o -perm 750 -o -perm 711 -o -perm 555 \
+ -o -perm 511 \) -exec chmod 755 {} \; -o \
+ \( -perm 666 -o -perm 664 -o -perm 640 -o -perm 600 -o -perm 444 \
+ -o -perm 440 -o -perm 400 \) -exec chmod 644 {} \;
+
+ CFLAGS="$SLKCFLAGS" make
+ install -m 755 _out/Linux_$TARGET/nvidia-persistenced $PKG/usr/bin/
+ install -m 644 _out/Linux_$TARGET/nvidia-persistenced.1.gz $PKG/usr/man/man1/
+
+ if ! getent group nvidia > /dev/null 2>&1; then
+ echo "Creating the group nvidia:"
+ groupadd -g 365 nvidia || exit 1
+ fi
+ if ! getent passwd nvidia > /dev/null 2>&1; then
+ echo "Creating the user nvidia:"
+ useradd -u 365 -g 365 -c "Nvidia" -d /dev/null -s /bin/false nvidia || exit 1
+ fi
+ mkdir -p $PKG/var/run/nvidia-persistenced
+ chown nvidia:nvidia $PKG/var/run/nvidia-persistenced
+ mkdir -p $PKG/etc/rc.d
+ install -m 755 $CWD/rc.nvidia-persistenced $PKG/etc/rc.d/rc.nvidia-persistenced
+ sed -i "s|__USER__|nvidia|" $PKG/etc/rc.d/rc.nvidia-persistenced
+ cat <<EOF >> $PKG/install/doinst.sh
+# Create group and user nvidia if they don't already exist
+if ! getent group nvidia > /dev/null 2>&1; then
+ echo "Creating the group nvidia:"
+ groupadd -g 365 nvidia || exit 1
+fi
+if ! getent passwd nvidia > /dev/null 2>&1; then
+ echo "Creating the user nvidia:"
+ useradd -u 365 -g 365 -c "Nvidia" -d /dev/null -s /bin/false nvidia || exit 1
+fi
+
+EOF
+fi
+
+# Flag multlib as needed and build package.
cd $PKG
/sbin/makepkg -l y -c n $OUTPUT/$PRGNAM-$VERSION$MULTI-$TARGET-$BUILD$TAG.${PKGTYPE:-tgz}
diff --git a/system/nvidia-driver/nvidia-driver.info b/system/nvidia-driver/nvidia-driver.info
index 929d009c5d..ca20a48252 100644
--- a/system/nvidia-driver/nvidia-driver.info
+++ b/system/nvidia-driver/nvidia-driver.info
@@ -1,20 +1,20 @@
PRGNAM="nvidia-driver"
-VERSION="440.36"
+VERSION="460.67"
HOMEPAGE="http://www.nvidia.com"
DOWNLOAD="UNSUPPORTED"
MD5SUM=""
-DOWNLOAD_x86_64="https://download.nvidia.com/XFree86/Linux-x86_64/440.36/NVIDIA-Linux-x86_64-440.36.run \
- https://download.nvidia.com/XFree86/nvidia-installer/nvidia-installer-440.36.tar.bz2 \
- https://download.nvidia.com/XFree86/nvidia-modprobe/nvidia-modprobe-440.36.tar.bz2 \
- https://download.nvidia.com/XFree86/nvidia-persistenced/nvidia-persistenced-440.36.tar.bz2 \
- https://download.nvidia.com/XFree86/nvidia-settings/nvidia-settings-440.36.tar.bz2 \
- https://download.nvidia.com/XFree86/nvidia-xconfig/nvidia-xconfig-440.36.tar.bz2"
-MD5SUM_x86_64="0a85672111e3eb348838a5919253411b \
- e024b533882f834f7fbaabbded3a243a \
- a505045ed590ad38093438263d225c9b \
- b7a86c33ccc6d82289207d1295630025 \
- 923f6ea80fd6936b349107e2bc2209b6 \
- aff1463ace949faa29a5ec6f6900d66f"
+DOWNLOAD_x86_64="https://download.nvidia.com/XFree86/Linux-x86_64/460.67/NVIDIA-Linux-x86_64-460.67.run \
+ https://download.nvidia.com/XFree86/nvidia-installer/nvidia-installer-460.67.tar.bz2 \
+ https://download.nvidia.com/XFree86/nvidia-modprobe/nvidia-modprobe-460.67.tar.bz2 \
+ https://download.nvidia.com/XFree86/nvidia-persistenced/nvidia-persistenced-460.67.tar.bz2 \
+ https://download.nvidia.com/XFree86/nvidia-settings/nvidia-settings-460.67.tar.bz2 \
+ https://download.nvidia.com/XFree86/nvidia-xconfig/nvidia-xconfig-460.67.tar.bz2"
+MD5SUM_x86_64="0b246742eca035b702949631e2fcf6a2 \
+ 4243fdeb81aa2025ef293c66d84bd223 \
+ 4da687fb436dc72cc4aefc83ca9b1600 \
+ 9168f7f3f896d1291f47a6f05ddf7ad9 \
+ 774af9ca9829ad9f5acc9716c26ff0c8 \
+ 5ee964e0519ae00f4184b49a609682c2"
REQUIRES="nvidia-kernel"
-MAINTAINER="Edward W. Koenig"
-EMAIL="kingbeowulf@gmail.com"
+MAINTAINER="Lenard Spencer"
+EMAIL="lenardrspencer@gmail.com"
diff --git a/system/nvidia-driver/nvidia-switch b/system/nvidia-driver/nvidia-switch
index 105156c3c4..9196cf7b8a 100644
--- a/system/nvidia-driver/nvidia-switch
+++ b/system/nvidia-driver/nvidia-switch
@@ -1,6 +1,7 @@
#!/bin/sh
# Copyright 2012-2019 Edward W. Koenig, Vancouver, WA, USA
+# Copyright 2020 Lenard Spencer, Orlando, FL, USA
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
@@ -20,41 +21,42 @@
# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
#
-# nvidia-switch utility 4.5
+# nvidia-switch utility 4.7.2
#
-# A tool to install and cleanly remove the nvidia driver without stomping on the xorg files.
-# Note: this tool "should" allow switching on the fly, but why? Pick a driver! You will still
-# need to edit a bunch of other config files.
+# A tool to install and cleanly remove the nvidia driver without stomping
+# on the mesa files. Note: this tool "should" allow switching on the fly,
+# but why? Pick a driver! You will stilll need to edit a bunch of other
+# config files.
-# TO-DO: needs more cleanup, simplify linking using system tools, add 15.0 fixes
-
-ROOT="${ROOT:-/}"
+# When ROOT=<PATH> is specified when using {install,upgrade,remove}pkg,
+# PATH is usually specified without a trailing "/", so we need to add it
+if [ "$ROOT" = "" ]; then
+ ROOT="${ROOT:-"/"}"
+else
+ ROOT="${ROOT}/"
+fi
CWD=$(pwd)
COMPAT32="LIB32FLAG" # This will be replaced in the build script (yes | no)
LIBSUFFIX="LIBDIRSUFFIX" # This will be replaced in the build script
INC="${ROOT}usr/include/GL"
LIB="${ROOT}usr/lib${LIBSUFFIX}"
LIB32="${ROOT}usr/lib"
-XMOD="${LIB}/xorg/modules"
-XLIB="$XMOD/extensions"
-NV_VERSION="PKGVERSION" # This will be replaced in the build script
-GL_VERSION="1.2.0"
-GLVND="yes" # This will be replaced in the build script (yes | no)
-
save_GL(){
-# backup original mesa and xorg conflicts ##to /var/log/nvidia
+# backup original mesa conflicts
cd $2
case "$1" in
"nvidia")
- mv libGL.la libGL.la-xorg
- mv libGL.la-nvidia libGL.la
+ cp libGL{,ES*}.la /var/log/nvidia/$3
+ mv libGL{.so.1.2.0,ESv1_CM.so.1.1.0,ESv2.so.2.0.0} /var/log/nvidia/$3
+ sed -i s/1.2.0/1.7.0/g libGL.la
+ sed -i s/1.1.0/1.2.0/g libGLESv1_CM.la
+ sed -i s/2.0.0/2.1.0/g libGLESv2.la
;;
"xorg")
- mv libGL.la libGL.la-nvidia
- mv libGL.la-xorg libGL.la
- ;;
+ mv /var/log/nvidia/$3/* .
+ ;;
*)
echo "nothing to do for save_gl?"
@@ -65,52 +67,51 @@ save_GL(){
}
nvidia_install(){
- if [ ! -d $SAVELIBS ]; then
- echo "Creating missing $SAVELIB ..."
- mkdir -p $SAVELIBS
- fi
echo $'Installing to nvidia-driver files!\n'
echo "Make sure the nvidia driver is ENABLED in /etc/X11/xorg.conf"
- echo "and in /etc/X11/xorg.conf.d."
- echo "Otherwise, this may lead to improperly working drivers."
+ echo "and/or in either /usr/share/X11/xorg.conf.d or"
+ echo "/etc/X11/xorg.conf.d. Otherwise, this may lead to improperly"
+ echo -e "working drivers.\n"
- save_GL "nvidia" $LIB
-
-# Check for multilib configuration
- if [ "$COMPAT32" = "yes" ]; then
- save_GL "nvidia" $LIB32
+ if [ "$LIBSUFFIX" = "64" ]; then
+ save_GL "nvidia" $LIB "64"
+ # Check for multilib configuration
+ if [ "$COMPAT32" = "yes" ]; then
+ save_GL "nvidia" $LIB32 "32"
+ fi
+ else
+ save_GL "nvidia" $LIB "32"
fi
}
nvidia_remove(){
echo $'Returning to stock xorg files!\n'
- echo "Make sure the nvidia driver is DISABLED in /usr/share/X11/xorg.conf.d"
- echo "/etc/X11/xorg.conf and in /etc/X11/xorg.conf.d."
+ echo "Make sure the nvidia driver is DISABLED in /etc/X11/xorg.conf"
+ echo "and in /usr/share/X11/xorg.conf.d and /etc/X11/xorg.conf.d."
echo "Otherwise, this may lead to improperly working drivers."
+ echo -e "\nPLEASE run /sbin/ldconfing after removing nvidia-driver.\n"
- save_GL "xorg" $LIB
-# Check for multilib configuration
- if [ "$COMPAT32" = "yes" ]; then
- save_GL "xorg" $LIB32
- fi
-
- if [ -e $NV_CONF ]; then
- echo "You will need to remove/save $NV_CONF from nvidia-driver to use"
- echo "any open source drivers."
+ if [ "$LIBSUFFIX" = "64" ]; then
+ save_GL "xorg" $LIB "64"
+ # Check for multilib configuration
+ if [ "$COMPAT32" = "yes" ]; then
+ save_GL "xorg" $LIB32 "32"
+ fi
+ else
+ save_GL "xorg" $LIB "32"
fi
}
usage(){
echo "Usage:"
- echo " --install Set up nvidia driver files"
- echo " --remove Return to stock xorg files and restore all symlinks"
+ echo " --install Set up nvidia driver files and update symlinks"
+ echo " --remove Return to stock xorg files and restore symlinks"
echo " --help Show this help message"
}
case "$1" in
"--install")
nvidia_install
-
;;
"--remove")
nvidia_remove
diff --git a/system/nvidia-driver/rc.nvidia-persistenced b/system/nvidia-driver/rc.nvidia-persistenced
new file mode 100644
index 0000000000..59bdf18d11
--- /dev/null
+++ b/system/nvidia-driver/rc.nvidia-persistenced
@@ -0,0 +1,61 @@
+#!/bin/sh -e
+#
+# NVIDIA Persistence Daemon Init Script
+#
+# Copyright (c) 2013 NVIDIA Corporation
+#
+# Permission is hereby granted, free of charge, to any person obtaining a
+# copy of this software and associated documentation files (the "Software"),
+# to deal in the Software without restriction, including without limitation
+# the rights to use, copy, modify, merge, publish, distribute, sublicense,
+# and/or sell copies of the Software, and to permit persons to whom the
+# Software is furnished to do so, subject to the following conditions:
+#
+# The above copyright notice and this permission notice shall be included in
+# all copies or substantial portions of the Software.
+#
+# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
+# DEALINGS IN THE SOFTWARE.
+#
+
+NVPD=nvidia-persistenced
+NVPD_BIN=/usr/bin/${NVPD}
+NVPD_RUNTIME=/var/run/${NVPD}
+NVPD_PIDFILE=${NVPD_RUNTIME}/${NVPD}.pid
+NVPD_USER=__USER__
+
+if [ -f ${NVPD_PIDFILE} ]; then
+ read -r NVPD_PID < "${NVPD_PIDFILE}"
+ # Remove stale runtime files
+ if [ "${NVPD_PID}" ] && [ ! -d /proc/${NVPD_PID} ]; then
+ unset NVPD_PID
+ rm -rf "${NVPD_RUNTIME}"
+ fi
+fi
+
+case "${1}" in
+ start)
+ echo "Starting NVIDIA Persistence Daemon"
+
+ # Execute the daemon as the intended user
+ ${NVPD_BIN} --user ${NVPD_USER}
+ ;;
+ stop)
+ echo "Stopping NVIDIA Persistence Daemon"
+
+ # Stop the daemon - its PID should have been read in
+ [ ! -z "${NVPD_PID}" ] && kill ${NVPD_PID} &> /dev/null
+ ;;
+ restart)
+ $0 stop
+ sleep 2
+ $0 start
+ ;;
+ *) echo "usage: $0 {start|stop|restart}"
+esac
+exit 0
diff --git a/system/nvidia-driver/skip_conflict-GPU_detect.patch b/system/nvidia-driver/skip_conflict-GPU_detect.patch
index 2b979cbf46..a64b671d60 100644
--- a/system/nvidia-driver/skip_conflict-GPU_detect.patch
+++ b/system/nvidia-driver/skip_conflict-GPU_detect.patch
@@ -1,29 +1,47 @@
-diff -uaN command-list.c command-list.c.new
---- command-list.c 2018-01-24 20:59:24.000000000 -0800
-+++ command-list.c.new 2018-02-18 00:51:13.218202297 -0800
-@@ -903,6 +903,8 @@
+diff -uaN command-list.c command-list.c.new
+--- command-list.c 2020-01-29 17:56:11.000000000 -0800
++++ command-list.c.new 2020-03-08 11:24:03.000000000 -0700
+@@ -890,6 +890,8 @@
// Allocate enough space for the whole file list, plus two extra files and
// a NULL at the end.
cfList = nvalloc((p->num_entries + 3) * sizeof(ConflictingFileInfo));
-+/* let's just return an empty list! */
++ /* let's just return an empty list! */
+ return cfList;
-
+
for (i = 0; i < p->num_entries; i++) {
PackageEntry *entry = &p->entries[i];
-
-diff -uaN misc.c misc.c.new
---- misc.c 2018-02-18 00:52:42.822203145 -0800
-+++ misc.c.new 2018-02-18 00:53:28.926203581 -0800
-@@ -2289,7 +2289,10 @@
+
+diff -uaN misc.c misc.c.new
+--- misc.c 2020-01-29 17:56:11.000000000 -0800
++++ misc.c.new 2020-03-08 11:42:12.000000000 -0700
+@@ -1153,13 +1153,12 @@
+ }
+
+ if (!install) {
+- ui_warn(op, "The %s module will not be installed. As a result, %s "
+- "will not function with this installation of the NVIDIA "
+- "driver.", optional_modules[i].module_name,
++ ui_warn(op, "The %s module will be installed with no gpu detect. As a result, %s "
++ "will function with this installation of the NVIDIA "
++ "driver, but only if the card is installed", optional_modules[i].module_name,
+ optional_modules[i].optional_module_dependee);
+-
+- remove_kernel_module_from_package(p,
+- optional_modules[i].module_name);
++// remove_kernel_module_from_package(p,
++// optional_modules[i].module_name);
+ }
+ }
+ }
+@@ -2036,7 +2035,10 @@
"For further details, please see the appendix SUPPORTED "
"NVIDIA GRAPHICS CHIPS in the README available on the Linux "
"driver download page at www.nvidia.com.", p->version);
- return FALSE;
-+/* return FALSE;
-+ * We're just going to keep the message but skip the result
-+ * so we can run this in a VM.
-+ */
++ /* return FALSE;
++ * We're just going to keep the message but skip the result
++ * so we can run this in a VM.
++ */
}
-
- if (!found_vga_device)
+ if (!found_vga_device)
diff --git a/system/nvidia-driver/slack-desc b/system/nvidia-driver/slack-desc
index 6781f2468f..165da72937 100644
--- a/system/nvidia-driver/slack-desc
+++ b/system/nvidia-driver/slack-desc
@@ -15,5 +15,5 @@ nvidia-driver:
nvidia-driver: See /usr/doc/nvidia-driver-PKGVERSION/README.Slackware
nvidia-driver: for more information.
nvidia-driver:
-nvidia-driver:
-nvidia-driver:
+nvidia-driver: https://www.nvidia.com
+nvidia-driver: @MULTILIB@
diff --git a/system/nvidia-kernel/README b/system/nvidia-kernel/README
index 442c313a38..35109efbf0 100644
--- a/system/nvidia-kernel/README
+++ b/system/nvidia-kernel/README
@@ -1,13 +1,15 @@
-This is the kernel-module needed by the proprietary binary nvidia driver.
-You also need the nvidia-driver package from SlackBuilds.org.
+This is the kernel-module needed by the proprietary binary nvidia
+driver. You also need the nvidia-driver package from SlackBuilds.org.
To build the package for a kernel different from the running one,
start the script setting the KERNEL variable as in
KERNEL=4.6.3 ./nvidia-kernel.SlackBuild
-A default config file is placed at /usr/share/X11/xorg.conf.d/10-nvidia.conf
-to make sure that X loads the nvidia module. If you need to make changes,
-move that file to /etc/X11/xorg.conf.d/ and edit the copy. You do not need
-this file at all if you have a proper and complete xorg.conf.
+A default config file is placed at
+ /usr/share/X11/xorg.conf.d/10-nvidia.conf
+to make sure that X loads the nvidia module.
+If you need to make changes, copy that file to /etc/X11/xorg.conf.d/
+and edit the copy. You do not need this file at all if you have a
+proper and complete xorg.conf.
The xf86-video-nouveau-blacklist package from /extra is required.
diff --git a/system/nvidia-kernel/nvidia-kernel.SlackBuild b/system/nvidia-kernel/nvidia-kernel.SlackBuild
index 4e3d0ee769..f4e42828c0 100644
--- a/system/nvidia-kernel/nvidia-kernel.SlackBuild
+++ b/system/nvidia-kernel/nvidia-kernel.SlackBuild
@@ -4,6 +4,7 @@
# Copyright 2007-2011 Heinz Wiesinger, Amsterdam, The Netherlands
# Copyright 2012-2019 Edward W. Koenig, Vancouver, WA, USA
+# Updates cpyright 2020 Lenard Spencer, Orlando, FL, USA
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
@@ -28,7 +29,7 @@
# see nvidia-driver/changelog.txt
PRGNAM=nvidia-kernel
-VERSION=${VERSION:-440.36}
+VERSION=${VERSION:-460.67}
BUILD=${BUILD:-1}
TAG=${TAG:-_SBo}
@@ -89,10 +90,6 @@ if [ "$TARGET" = "x86_64" ]; then
install -m 0664 kernel/nvidia-uvm.ko $PKG/lib/modules/$KERNEL/kernel/drivers/video/
fi
-# Make sure the X is specified to automagically load the
-# correct driver, since I always forget. You can remove
-# this file if you have an equivilent entry in /etc/X11/xorg.d
-
mkdir -p $PKG/usr/share/X11/xorg.conf.d/
cat $TMP/$SRCNAM/nvidia-drm-outputclass.conf > $PKG/usr/share/X11/xorg.conf.d/10-nvidia.conf
diff --git a/system/nvidia-kernel/nvidia-kernel.info b/system/nvidia-kernel/nvidia-kernel.info
index 1ca83f3d84..019df6d1da 100644
--- a/system/nvidia-kernel/nvidia-kernel.info
+++ b/system/nvidia-kernel/nvidia-kernel.info
@@ -1,10 +1,10 @@
PRGNAM="nvidia-kernel"
-VERSION="440.36"
+VERSION="460.67"
HOMEPAGE="http://www.nvidia.com"
DOWNLOAD="UNSUPPORTED"
MD5SUM=""
-DOWNLOAD_x86_64="https://download.nvidia.com/XFree86/Linux-x86_64/440.36/NVIDIA-Linux-x86_64-440.36.run"
-MD5SUM_x86_64="0a85672111e3eb348838a5919253411b"
+DOWNLOAD_x86_64="https://download.nvidia.com/XFree86/Linux-x86_64/460.67/NVIDIA-Linux-x86_64-460.67.run"
+MD5SUM_x86_64="0b246742eca035b702949631e2fcf6a2"
REQUIRES=""
-MAINTAINER="Edward W. Koenig"
-EMAIL="kingbeowulf@gmail.com"
+MAINTAINER="Lenard Spencer"
+EMAIL="lenardrspencer@gmail.com"
diff --git a/system/nvidia-legacy304-driver/nvidia-legacy304-driver.info b/system/nvidia-legacy304-driver/nvidia-legacy304-driver.info
index 02c14e1688..c81c889258 100644
--- a/system/nvidia-legacy304-driver/nvidia-legacy304-driver.info
+++ b/system/nvidia-legacy304-driver/nvidia-legacy304-driver.info
@@ -18,5 +18,5 @@ MD5SUM_x86_64="a61b391d44aa6e7222f64502ef7f3ea1 \
51a4d5286557f11f06f42ca949431cf8 \
40be98ce681fed695e8888f4483f0e48"
REQUIRES="nvidia-legacy304-kernel"
-MAINTAINER="Edward W. Koenig"
-EMAIL="kingbeowulf@gmail.com"
+MAINTAINER="unmaintained"
+EMAIL="unmaintained@gmail.com"
diff --git a/system/nvidia-legacy304-kernel/nvidia-legacy304-kernel.info b/system/nvidia-legacy304-kernel/nvidia-legacy304-kernel.info
index 7e532f8bdb..6a12fea304 100644
--- a/system/nvidia-legacy304-kernel/nvidia-legacy304-kernel.info
+++ b/system/nvidia-legacy304-kernel/nvidia-legacy304-kernel.info
@@ -6,5 +6,5 @@ MD5SUM="133098e70581f6b81c481338cc20f100"
DOWNLOAD_x86_64="https://download.nvidia.com/XFree86/Linux-x86_64/304.137/NVIDIA-Linux-x86_64-304.137.run"
MD5SUM_x86_64="a61b391d44aa6e7222f64502ef7f3ea1"
REQUIRES=""
-MAINTAINER="Edward W. Koenig"
-EMAIL="kingbeowulf@gmail.com"
+MAINTAINER="unmaintained"
+EMAIL="unmaintained@gmail.com"
diff --git a/system/nvidia-legacy340-driver/README b/system/nvidia-legacy340-driver/README
index 1ed005a5f2..28f6b894ef 100644
--- a/system/nvidia-legacy340-driver/README
+++ b/system/nvidia-legacy340-driver/README
@@ -2,7 +2,7 @@ This is the proprietary binary video driver from NVidia for the X.Org
X-server. This package does not include the kernel-module - it is a
part of the nvidia-kernel package at SlackBuilds.org.
-Installing the 32-bit compatibility libraries is available: if desired, do:
+Installing 32-bit compatibility libraries is available. If desired, do:
COMPAT32="yes" ./nvidia-driver.SlackBuild
Several useful utilities are included: nvidia-xsettings, nvidia-smi, and
@@ -21,11 +21,11 @@ complex to install/uninstall the driver. However, installation of the
nvidia-driver package itself backs up the conflicting files and puts the
nvidia-specific files into place.
-Included is a script called nvidia-switch, which is used to switch from the
-xorg driver to the nvidia driver, but it will not edit xorg.conf for you;
-you have to do that manually. The nvidia-switch script is installed to
-/usr/sbin. NOTE: Although nvidia-switch is aware of a COMPAT32 environment,
-its use therein is not supported.
+Included is a script called nvidia-switch, which is used to switch
+from the xorg driver to the nvidia driver, but it will not edit
+xorg.conf for you; you have to do that manually. The nvidia-switch
+script is installed to /usr/sbin. NOTE: Although nvidia-switch is
+aware of a COMPAT32 environment, its use therein is not supported.
Usage of nvidia-switch:
nvidia-switch --install <--> install the nvidia files and save the
diff --git a/system/nvidia-legacy340-driver/changelog.txt b/system/nvidia-legacy340-driver/changelog.txt
index fbcf48088b..186143460b 100644
--- a/system/nvidia-legacy340-driver/changelog.txt
+++ b/system/nvidia-legacy340-driver/changelog.txt
@@ -24,4 +24,5 @@
4.3 19-MAR-2016 remove nvidia-installer (doesn't compile on 14.2RC1)
5.0 15-FEB-2017 version update, security fixes.
5.1 21-OCT-2017 new version for recent kernels
-5.2 11-SEP-2019 version update, patch for kernels 4.4.168+ (thanks to Mats T.)
+5.2 11-SEP-2019 version update, patch for kernels 4.4.168+ (thanks to MatsT.)
+5.3 18-JAN-2020 version update, last version, X.Org 1.20 support
diff --git a/system/nvidia-legacy340-driver/nvidia-legacy340-driver.SlackBuild b/system/nvidia-legacy340-driver/nvidia-legacy340-driver.SlackBuild
index 48ff1b645a..543b3e6516 100644
--- a/system/nvidia-legacy340-driver/nvidia-legacy340-driver.SlackBuild
+++ b/system/nvidia-legacy340-driver/nvidia-legacy340-driver.SlackBuild
@@ -1,36 +1,13 @@
#!/bin/sh
-
# Slackware build script for nvidia-driver
-
-# Copyright 2007-2011 Heinz Wiesinger, Amsterdam, The Netherlands
-# Copyright 2012-2017 Edward W. Koenig, Vancouver, WA, 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.
-
# See changelog.txt
PRGNAM=nvidia-legacy340-driver
-VERSION=${VERSION:-340.107}
+VERSION=${VERSION:-340.108}
MVERS=340
-BUILD=${BUILD:-1}
+BUILD=${BUILD:-2}
TAG=${TAG:-_SBo}
-CPROXY=${CPROXY:-no}
+CPROXY=${CPROXY:-yes}
if [ -z "$ARCH" ]; then
case "$( uname -m )" in
diff --git a/system/nvidia-legacy340-driver/nvidia-legacy340-driver.info b/system/nvidia-legacy340-driver/nvidia-legacy340-driver.info
index 4480043062..82a53144d8 100644
--- a/system/nvidia-legacy340-driver/nvidia-legacy340-driver.info
+++ b/system/nvidia-legacy340-driver/nvidia-legacy340-driver.info
@@ -1,26 +1,26 @@
PRGNAM="nvidia-legacy340-driver"
-VERSION="340.107"
+VERSION="340.108"
HOMEPAGE="http://www.nvidia.com"
-DOWNLOAD="https://download.nvidia.com/XFree86/Linux-x86/340.107/NVIDIA-Linux-x86-340.107.run \
- https://download.nvidia.com/XFree86/nvidia-modprobe/nvidia-modprobe-340.107.tar.bz2 \
- https://download.nvidia.com/XFree86/nvidia-persistenced/nvidia-persistenced-340.107.tar.bz2 \
- https://download.nvidia.com/XFree86/nvidia-settings/nvidia-settings-340.107.tar.bz2 \
- https://download.nvidia.com/XFree86/nvidia-xconfig/nvidia-xconfig-340.107.tar.bz2"
-MD5SUM="9a4b382ef545d836033630224735d5dd \
- 07e397113d0067b09008e24bf66f3d29 \
- 0f4e8fd3b3d569e9db4d6f80ece18e11 \
- 81c3737ba46512694da4ca9a7fa94553 \
- 2713de2cab85fb5b9e75ba2ff86eb8d8"
-DOWNLOAD_x86_64="https://download.nvidia.com/XFree86/Linux-x86_64/340.107/NVIDIA-Linux-x86_64-340.107.run \
- https://download.nvidia.com/XFree86/nvidia-modprobe/nvidia-modprobe-340.107.tar.bz2 \
- https://download.nvidia.com/XFree86/nvidia-persistenced/nvidia-persistenced-340.107.tar.bz2 \
- https://download.nvidia.com/XFree86/nvidia-settings/nvidia-settings-340.107.tar.bz2 \
- https://download.nvidia.com/XFree86/nvidia-xconfig/nvidia-xconfig-340.107.tar.bz2"
-MD5SUM_x86_64="ba0fc5de5005679d1db9f5fa2cfabd38 \
- 07e397113d0067b09008e24bf66f3d29 \
- 0f4e8fd3b3d569e9db4d6f80ece18e11 \
- 81c3737ba46512694da4ca9a7fa94553 \
- 2713de2cab85fb5b9e75ba2ff86eb8d8"
+DOWNLOAD="https://download.nvidia.com/XFree86/Linux-x86/340.108/NVIDIA-Linux-x86-340.108.run \
+ https://download.nvidia.com/XFree86/nvidia-modprobe/nvidia-modprobe-340.108.tar.bz2 \
+ https://download.nvidia.com/XFree86/nvidia-persistenced/nvidia-persistenced-340.108.tar.bz2 \
+ https://download.nvidia.com/XFree86/nvidia-settings/nvidia-settings-340.108.tar.bz2 \
+ https://download.nvidia.com/XFree86/nvidia-xconfig/nvidia-xconfig-340.108.tar.bz2"
+MD5SUM="ffa278e613337e638fd10de41dae3630 \
+ 2f63e63b1c475ed023e3ee31b6ed0116 \
+ b76a6500801b96c2296310e17b2e0cdf \
+ 86944ff799d5798f407c5051282699b3 \
+ da1c2d34014a4aa4e66627ba18364779"
+DOWNLOAD_x86_64="https://download.nvidia.com/XFree86/Linux-x86_64/340.108/NVIDIA-Linux-x86_64-340.108.run \
+ https://download.nvidia.com/XFree86/nvidia-modprobe/nvidia-modprobe-340.108.tar.bz2 \
+ https://download.nvidia.com/XFree86/nvidia-persistenced/nvidia-persistenced-340.108.tar.bz2 \
+ https://download.nvidia.com/XFree86/nvidia-settings/nvidia-settings-340.108.tar.bz2 \
+ https://download.nvidia.com/XFree86/nvidia-xconfig/nvidia-xconfig-340.108.tar.bz2"
+MD5SUM_x86_64="28a7ec013c4ef657d3e9b978e2f653c1\
+ 2f63e63b1c475ed023e3ee31b6ed0116 \
+ b76a6500801b96c2296310e17b2e0cdf \
+ 86944ff799d5798f407c5051282699b3 \
+ da1c2d34014a4aa4e66627ba18364779"
REQUIRES="nvidia-legacy340-kernel"
-MAINTAINER="unmaintained"
-EMAIL="kingbeowulf@gmail.com"
+MAINTAINER="Mats B. Tegner"
+EMAIL="mats.bertil.tegner@gmail.com"
diff --git a/system/nvidia-legacy340-driver/nvidia-switch b/system/nvidia-legacy340-driver/nvidia-switch
index 9226a103bd..fd90c87949 100644
--- a/system/nvidia-legacy340-driver/nvidia-switch
+++ b/system/nvidia-legacy340-driver/nvidia-switch
@@ -41,6 +41,7 @@ XMOD="${LIB}/xorg/modules"
XLIB="$XMOD/extensions"
NV_VERSION='PKGVERSION' # This will be replaced in the build script
GL_VERSION="1.2.0"
+EGL_VERSION="1.0.0"
NV_CONF="/usr/share/X11/xorg.conf.d/10-nvidia.conf"
save_GL(){
@@ -48,37 +49,33 @@ save_GL(){
if [ "$1" = "nvidia" ]; then
if [ ! -e libGL.so.$GL_VERSION-xorg ]; then
mv libGL.so.$GL_VERSION libGL.so.$GL_VERSION-xorg
- mv libGL.la libGL.la-xorg
fi
mv libGL.so.$NV_VERSION-nvidia libGL.so.$NV_VERSION
ln -sf libGL.so.$NV_VERSION libGL.so.1
ln -sf libGL.so.$NV_VERSION libGL.so
- if [ ! -e libEGL.so.1.0.0-xorg ]; then
- mv libEGL.so.1.0.0 libEGL.so.1.0.0-xorg
+ if [ ! -e libEGL.so.$EGL_VERSION-xorg ]; then
+ mv libEGL.so.$EGL_VERSION libEGL.so.$EGL_VERSION-xorg
fi
- mv libGL.la-nvidia libGL.la
mv libEGL.so.$NV_VERSION-nvidia libEGL.so.$NV_VERSION
- ln -sf libEGL.so.$NV_VERSION libGEL.so.1.0.0
+ ln -sf libEGL.so.$NV_VERSION libEGL.so.$EGL_VERSION
ln -sf libEGL.so.$NV_VERSION libEGL.so.1
ln -sf libEGL.so.$NV_VERSION libEGL.so
fi
if [ "$1" = "xorg" ]; then
mv libGL.so.$NV_VERSION libGL.so.$NV_VERSION-nvidia
- mv libGL.la libGL.la-nvidia
if [ -e libGL.so.$GL_VERSION-xorg ]; then
mv libGL.so.$GL_VERSION-xorg libGL.so.$GL_VERSION
ln -sf libGL.so.$GL_VERSION libGL.so.1
ln -sf libGL.so.$GL_VERSION libGL.so
- mv libGL.la-xorg libGL.la
else
echo WARNING: libGL.so is missing.
fi
mv libEGL.so.$NV_VERSION libEGL.so.$NV_VERSION-nvidia
- if [ -e libEGL.so.1.0.0-xorg ]; then
- mv libEGL.so.1.0.0-xorg libEGL.so.1.0.0
- ln -sf libEGL.so.1.0.0 libEGL.so.1
- ln -sf libEGL.so.1.0.0 libEGL.so
+ if [ -e libEGL.so.$EGL_VERSION-xorg ]; then
+ mv libEGL.so.$EGL_VERSION-xorg libEGL.so.$EGL_VERSION
+ ln -sf libEGL.so.$EGL_VERSION libEGL.so.1
+ ln -sf libEGL.so.$EGL_VERSION libEGL.so
fi
fi
@@ -111,7 +108,6 @@ save_glx(){
cd "$XLIB"
if [ "$1" = "nvidia" ]; then
if [ ! -e libglx.so-xorg ]; then
- mv libglx.la libglx.la-xorg
mv libglx.so libglx.so-xorg
fi
ln -sf libglx.so.$NV_VERSION-nvidia libglx.so.$NV_VERSION
@@ -120,7 +116,6 @@ save_glx(){
rm -f libglx.so.$NV_VERSION
rm -f libglx.so
mv libglx.so-xorg libglx.so
- mv libglx.la-xorg libglx.la
fi
cd "$CWD"
}
diff --git a/system/nvidia-legacy340-kernel/kernel-4.4.168.patch b/system/nvidia-legacy340-kernel/kernel-4.4.168.patch
deleted file mode 100644
index f75c3d682b..0000000000
--- a/system/nvidia-legacy340-kernel/kernel-4.4.168.patch
+++ /dev/null
@@ -1,67 +0,0 @@
---- a/kernel/nv-linux.h 2018-12-14 19:32:47.000000000 +1100
-+++ b/kernel/nv-linux.h 2018-12-20 01:02:36.066123342 +1100
-@@ -2083,45 +2083,27 @@
-
- /* get_user_pages
- *
-- * The 8-argument version of get_user_pages was deprecated by commit
-- * (2016 Feb 12: cde70140fed8429acf7a14e2e2cbd3e329036653)for the non-remote case
-- * (calling get_user_pages with current and current->mm).
-- *
-- * Completely moved to the 6 argument version of get_user_pages -
-- * 2016 Apr 4: c12d2da56d0e07d230968ee2305aaa86b93a6832
-- *
-- * write and force parameters were replaced with gup_flags by -
-- * 2016 Oct 12: 768ae309a96103ed02eb1e111e838c87854d8b51
-- *
-+ * hacked to work with 4.4.168
- */
-
--#if defined(NV_GET_USER_PAGES_HAS_TASK_STRUCT)
-- #define NV_GET_USER_PAGES(start, nr_pages, write, force, pages, vmas) \
-- get_user_pages(current, current->mm, start, nr_pages, write, force, pages, vmas)
--#else
-- #if defined(NV_GET_USER_PAGES_HAS_WRITE_AND_FORCE_ARGS)
-- #define NV_GET_USER_PAGES get_user_pages
-- #else
-- #include <linux/mm.h>
--
-- static inline long NV_GET_USER_PAGES(unsigned long start,
-- unsigned long nr_pages,
-- int write,
-- int force,
-- struct page **pages,
-- struct vm_area_struct **vmas)
-- {
-- unsigned int flags = 0;
--
-- if (write)
-- flags |= FOLL_WRITE;
-- if (force)
-- flags |= FOLL_FORCE;
--
-- return get_user_pages(start, nr_pages, flags, pages, vmas);
-- }
-- #endif
--#endif
-+#include <linux/mm.h>
-+
-+static inline long NV_GET_USER_PAGES(unsigned long start,
-+ unsigned long nr_pages,
-+ int write,
-+ int force,
-+ struct page **pages,
-+ struct vm_area_struct **vmas)
-+{
-+ unsigned int flags = 0;
-+
-+ if (write)
-+ flags |= FOLL_WRITE;
-+ if (force)
-+ flags |= FOLL_FORCE;
-+
-+ return get_user_pages(current, current->mm, start, nr_pages, flags, pages, vmas);
-+}
-
- /* get_user_pages_remote() was added by:
- * 2016 Feb 12: 1e9877902dc7e11d2be038371c6fbf2dfcd469d7
diff --git a/system/nvidia-legacy340-kernel/nvidia-legacy340-kernel.SlackBuild b/system/nvidia-legacy340-kernel/nvidia-legacy340-kernel.SlackBuild
index 1679d12988..96454d09f9 100644
--- a/system/nvidia-legacy340-kernel/nvidia-legacy340-kernel.SlackBuild
+++ b/system/nvidia-legacy340-kernel/nvidia-legacy340-kernel.SlackBuild
@@ -28,7 +28,7 @@
# See changelog.txt
PRGNAM=nvidia-legacy340-kernel
-VERSION=${VERSION:-340.107}
+VERSION=${VERSION:-340.108}
BUILD=${BUILD:-1}
TAG=${TAG:-_SBo}
@@ -77,12 +77,10 @@ find -L . \
\( -perm 666 -o -perm 664 -o -perm 640 -o -perm 600 -o -perm 444 \
-o -perm 440 -o -perm 400 \) -exec chmod 644 {} \;
-# Patch to compile on kernels 4.4.168+
-patch -p1 < $CWD/kernel-4.4.168.patch
-
(cd kernel || exit 1
make SYSSRC=$KERNELPATH module || exit 1
cd uvm
+ sed -i "s|-O2$|-O2 -Wno-error=incompatible-pointer-types|" Makefile
make SYSSRC=$KERNELPATH module || exit 1
)
diff --git a/system/nvidia-legacy340-kernel/nvidia-legacy340-kernel.info b/system/nvidia-legacy340-kernel/nvidia-legacy340-kernel.info
index 999ecc2129..d5e5bec27e 100644
--- a/system/nvidia-legacy340-kernel/nvidia-legacy340-kernel.info
+++ b/system/nvidia-legacy340-kernel/nvidia-legacy340-kernel.info
@@ -1,10 +1,10 @@
PRGNAM="nvidia-legacy340-kernel"
-VERSION="340.107"
+VERSION="340.108"
HOMEPAGE="http://www.nvidia.com"
-DOWNLOAD="https://download.nvidia.com/XFree86/Linux-x86/340.107/NVIDIA-Linux-x86-340.107.run"
-MD5SUM="9a4b382ef545d836033630224735d5dd"
-DOWNLOAD_x86_64="https://download.nvidia.com/XFree86/Linux-x86_64/340.107/NVIDIA-Linux-x86_64-340.107.run"
-MD5SUM_x86_64="ba0fc5de5005679d1db9f5fa2cfabd38"
+DOWNLOAD="https://download.nvidia.com/XFree86/Linux-x86/340.108/NVIDIA-Linux-x86-340.108.run"
+MD5SUM="ffa278e613337e638fd10de41dae3630"
+DOWNLOAD_x86_64="https://download.nvidia.com/XFree86/Linux-x86_64/340.108/NVIDIA-Linux-x86_64-340.108.run"
+MD5SUM_x86_64="28a7ec013c4ef657d3e9b978e2f653c1"
REQUIRES=""
-MAINTAINER="unmaintained"
-EMAIL="kingbeowulf@gmail.com"
+MAINTAINER="Mats B. Tegner"
+EMAIL="mats.bertil.tegner@gmail.com"
diff --git a/system/nvidia-legacy390-driver/README b/system/nvidia-legacy390-driver/README
index e608bf4c96..56e253398f 100644
--- a/system/nvidia-legacy390-driver/README
+++ b/system/nvidia-legacy390-driver/README
@@ -2,58 +2,71 @@ This is the proprietary binary video driver from NVidia for the X.Org
X-server. This package does not include the kernel module - it is a part
of the nvidia-legacy390-kernel package at SlackBuilds.org.
-Installing the 32-bit compatibility libraries is available: if desired, do:
+Installing the 32-bit compatibility libraries is available: if desired,
+do:
COMPAT32="yes" ./nvidia-legacy390-driver.SlackBuild
-GLVND GLX client libraries are now the default. If these cause any
-compatibility issues with older GLX sofware, either upgrade your software
-or try:
- GLVND="no" ./nvidia-legacy390-driver.SlackBuild
+If you plan to test this buildscript on current/15.0, do:
+
+ CURRENT="yes" ./nvidia-legacy390-driver.SlackBuild
+
+This avoids stomping on the libglvnd libraries, plus it forces the
+script to use the prebuilt nvidia-installer since it no longer builds
+in current. As a consequence, this script may no longer work in a VM.
+
+If you build and install this driver on current WITHOUT using the
+CURRENT="yes" flag, it will corrupt both xorg-server AND libglvnd, so
+after removing the driver both packages will have to be reinstalled.
+
+This script now gives the option of installing the nvidia-persistenced
+daemon. For details see README.nvidia-persistenced.
Several useful utilities are included: nvidia-xsettings, nvidia-smi, and
nvidia-settings. Please refer to the Nvidia documentation and man pages
for details and usage.
-For CUDA/OpenCL to work after reboot, and for utilites such as nvidia-smi,
-you might need to include the following line in your /etc/rc.d/rc.local:
--------------8<---------------
-# Create missing nvidia device nodes after reboot
-/usr/bin/nvidia-modprobe -c 0 -u
-------------->8---------------
+For CUDA/OpenCL to work after reboot, and for utilites such as
+nvidia-smi, you might need to include the following line in your
+/etc/rc.d/rc.local: (this is REQUIRED for nvidia-persistenced to work
+properly)
-Since this nvidia-legacy390-driver conflicts with some files of xorg, it's
-a bit complex to install/uninstall the driver. However, installation of the
-nvidia-legacy390-driver package itself backs up the conflicting files and puts
-the nvidia-specific files into place.
+ # Create missing nvidia device nodes after reboot
+ /usr/bin/nvidia-modprobe -c 0 -u
-Included is a script called nvidia-switch, which is used to switch from
-the xorg driver to the nvidia driver, but it will not edit xorg.conf
-for you; you have to do that manually. The nvidia-switch script is
-installed to /usr/sbin. NOTE: Although nvidia-switch is aware of a
-COMPAT32 environment, its use therein is not supported.
+Included is a script called nvidia-switch, which is used to switch
+between the xorg and nvidia drivers, but it will not edit xorg.conf for
+you; you have to do that manually. The nvidia-switch script is
+installed to /usr/sbin.
Usage of nvidia-switch:
- nvidia-switch --install <--> install the nvidia files and save the
- stock xorg files.
+ nvidia-switch --install <--> save the stock xorg files and
+ install the nvidia files and symlinks.
nvidia-switch --remove <--> remove the nvidia files and symlinks and
restore the stock xorg files.
-You do NOT have to run nvidia-switch after installing the package.
+NOTES:
+Since nvidia-legacy390-driver conflicts with some files of xorg, it's a
+bit complex to install/uninstall the driver. However, installation of
+the nvidia-legacy390-driver package backs up the conflicting files and
+puts the nvidia-specific files into place by automatically running
+nvidia-switch --install in doinst.sh.
-Before uninstalling or upgrading this package, it is important that
+Before uninstalling or upgrading this package, it is IMPORTANT that
you execute 'nvidia-switch --remove', which will switch back to the
stock xorg files and remove all links created by nvidia-switch during
installation. If you forget to do this, you might have to do the switch
manually, since 'nvidia-switch --install' may fail, resulting in xorg
-not working. Here are the affected files:
+not working. Here are the affected files (and their packages):
- /usr/lib[64]/libGL.so.1.2
- /usr/lib[64]/libGL.la
- /usr/lib[64]/libGLESv1_CM.so.1.0.0
- /usr/lib[64]/libGLESv2.so.2.0.0
- /usr/lib[64]/libEGL.so.1.0.0
- /usr/lib[64]/xorg/modules/libwfb.so
- /usr/lib[64]/xorg/modules/extensions/libglx.so
+ /usr/lib[64]/libGL.so.1.2 (mesa)
+ /usr/lib[64]/libGL.la (mesa)
+ /usr/lib[64]/libGLESv1_CM.so.1.0.0 (mesa)
+ /usr/lib[64]/libGLESv2.so.2.0.0 (mesa)
+ /usr/lib[64]/libEGL.so.1.0.0 (mesa)
+ /usr/lib[64]/xorg/modules/libwfb.so (xorg-server)
+ /usr/lib[64]/xorg/modules/extensions/libglx.so (xorg-server)
Simply remove the dead nvidia symlinks and and reinstall the mesa and
-xorg-server packages. See 'nvidia-switch --help'.
+xorg-server packages. (In current, if libglx.so is a dead symlink,
+it MUST be removed before reinstalling xorg-server.)
+
diff --git a/system/nvidia-legacy390-driver/README.nvidia-persistenced b/system/nvidia-legacy390-driver/README.nvidia-persistenced
new file mode 100644
index 0000000000..38e8937cde
--- /dev/null
+++ b/system/nvidia-legacy390-driver/README.nvidia-persistenced
@@ -0,0 +1,32 @@
+The NVIDIA Persistence Daemon is a userspace daemon on Linux to support
+persistence of driver state across Cuda job runs. The daemon targets all
+current Tesla, Quadro and GRID GPUs. For further information, see
+
+https://docs.nvidia.com/deploy/driver-persistence/index.html
+
+The driver now includes rc.nvidia-persistenced as an option. While it can
+be run as root, it is more secure to run it as an unpriveleged user, so we
+run it as user nvidia.
+
+To install it, Pass PERSISTENCED=yes to the script. It will create the
+user and group nvidia, and install rc.nvidia-persistenced to /etc/rc.d.
+
+To activate the daemon, add the following to /etc/rc.d/local:
+
+# Start the nvidia-persistenced daemon:
+if [ -x /etc/rc.d/rc.nvidia-persistenced ]; then
+ /etc/rc.d/rc.nvidia-persistenced start
+fi
+
+and then 'chmod +x /etc/rc.d/rc.nvidia-persistenced' to make it executable.
+
+Add the following to /etc/rc.d/rc.local_shutdown:
+
+# Stop the nvidia-persistenced daemon:
+if [ -x /etc/rc.d/rc.nvidia-persistenced ]; then
+ /etc/rc.d/rc.nvidia-persistenced stop
+fi
+
+NOTE: This may not work on all systems. If you encounter problems
+with it, just 'chmod -x /etc/rc.d/rc.persistenced' and it will no
+longer load. YMMV.
diff --git a/system/nvidia-legacy390-driver/changelog.txt b/system/nvidia-legacy390-driver/changelog.txt
deleted file mode 100644
index 99ffc415f9..0000000000
--- a/system/nvidia-legacy390-driver/changelog.txt
+++ /dev/null
@@ -1,42 +0,0 @@
-1.0 20-MAR-2011 New Maintainer: Edward W. Koenig <kingbeowulf@gmail.com>
-1.1 10-APR-2011 updated to new version, testing 13.37rc4.6692
-1.2 27-MAY-2011 new version, allow multilib option, minor edits
-1.2.1 20-JUN-2011 minor edits, thanks to Robby and Roberto
-1.5 01-JUL-2011 new version, single driver download, add switch to select pure x86_64 or x86_64 with 32-bit compatibility.
-1.6 27-AUG-2011 version bump, minor edits
-1.7 21-OCT-2011 version bump
-1.8 24-MAR-2012 version bump, fix to nvidia-switch thanks to Phill W.
-1.9 02-AUG-2012 version bmp, fixes, updates, nvidia-switch for install/uninstall only
-2.0 21-AUG-2012 new version (important security fix), missing vdpau-nvidia, dropped *.h
-2.1 25-AUG-2012 new version -Long Lived Branch, fixed symlinks (per Das email)
-2.2 22-NOV-2012 new version -Long Lived Branch. Updates: libs, apps
-2.3 15-FEB-2013 new version -Long Lived Branch.
-2.4 19-MAY-2013 new version -Long Lived Branch.
-2.6 20-OCT-2013 new version -Long Lived Branch, add new lib, fix nvidia-switch --remove
-3.0 13-NOV-2013 new version (LLB), update libs
-3.1 12-APR-2014 new version (LLB), update libs
-3.2a 12-JUL-2014 new version (LLB), update libs and bug fixes, fix /dev/nvidia-uvm
-3.3 20-NOV-2014 new version (LLB), update libs, fix nvidia-switch
-3.4 11-JAN-2015 new version (LLB), monitor detection bug fix, add libEGL/GLES
-4.0 07-FEB-2015 new long lived branch, version update, bug fixes
-4.1 27-APR-2015 version update LLB, fix $VERSION usage
-4.2 28-JUL-2015 version update LLB, bug fixes, clean-ups.
-4.3 05-SEP-2015 version update LLB
-4.4 13-DEC-2015 version update, X.Org 1.18 support
-4.5 12-MAR-2016 version update LLB, symlink fixes, drop nvidia-installer, get ready for 14.2
-4.5a 26-MAR-2016 fixed broken symlinks
-4.6 24-APR-2016 version update LLB, fix symlinks, added to version if multilib
-4.7 31-APR-2016 version update LLB, added nvidia-installer, updated libs/symlinks
-5.0 20-FEB-2017 version update LLB, security fixes, updated libs/symlinks, nvidia-switch
-5.1 01-APR-2017 fix nvidia-switch lib names to prevent bad ldconfig symlinks on reboot
-5.2 02-JUN-2017 version update LLB, refactor/debug scripts, use nvidia-installer
-5.3 13-OCT-2017 version update LLB, bug fixes, update copyright
-5.4 18-FEB-2018 version update LLB, updates, bug fix (thanks Leo)
-5.5 25-MAR-2018 version update LLB
-5.6 23-APR-2018 version update LLB, update symlinks, fix changelog formatting
-5.7 28-MAY-2018 version update LLB
-5.8 30-JUL-2018 version update LLB
-5.9 06-SEP-2018 version update LLB
-6.0 09-NOV-2019 renamed to nvidia-legacy390; last version to support 32-bit CPU.
-6.1 26-FEB-2019 version update LLB; compatibility with recent kernels
-6.2 15-AUG-2019 version update LLB
diff --git a/system/nvidia-legacy390-driver/doinst.sh b/system/nvidia-legacy390-driver/doinst.sh
index 8ee62f049e..e0d49fcf75 100644
--- a/system/nvidia-legacy390-driver/doinst.sh
+++ b/system/nvidia-legacy390-driver/doinst.sh
@@ -2,5 +2,5 @@ if [ -x /usr/bin/update-desktop-database ]; then
/usr/bin/update-desktop-database -q usr/share/applications
fi
-./usr/sbin/nvidia-switch --install
+usr/sbin/nvidia-switch --install
diff --git a/system/nvidia-legacy390-driver/nvidia-legacy390-driver.SlackBuild b/system/nvidia-legacy390-driver/nvidia-legacy390-driver.SlackBuild
index 643487be48..b984a32580 100644
--- a/system/nvidia-legacy390-driver/nvidia-legacy390-driver.SlackBuild
+++ b/system/nvidia-legacy390-driver/nvidia-legacy390-driver.SlackBuild
@@ -3,6 +3,7 @@
# Slackware build script for nvidia-legacy390-driver
# Copyright 2012-2019 Edward W. Koenig, Vancouver, WA, USA
+# Copyright 2020 Lenard Spencer, Orlando, FL, USA
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
@@ -25,12 +26,11 @@
# see changelog.txt
PRGNAM=nvidia-legacy390-driver
-VERSION=${VERSION:-390.129}
+VERSION=${VERSION:-390.141}
BUILD=${BUILD:-1}
TAG=${TAG:-_SBo}
-GLVND=${GLVND:-yes}
-# libglnvd may land in mesa and is Nvidia recommended
+CURRENT=${CURRENT:-no}
set -e
@@ -69,6 +69,13 @@ else
COMPAT32=no
fi
+# Abort if an Nvidia driver is still installed:
+if [ -x /usr/bin/nvidia-installer ]; then
+ echo -e "\n A previous Nvidia installation has been detected!"
+ echo -e " Please remove the installed driver and rerun this script.\n"
+ exit 1
+fi
+
SRCNAM=NVIDIA-Linux-$TARGET-${VERSION}
# make a clean package directory tree
@@ -76,14 +83,11 @@ rm -rf $PKG
rm -rf $TMP/$SRCNAM
mkdir -p $TMP $PKG $OUTPUT $PKG/install
mkdir -p $PKG/usr/lib$LIBDIRSUFFIX/xorg/modules/{drivers,extensions} \
- $PKG/etc/OpenCL/vendors/ $PKG/usr/{bin,doc,man/man1,sbin} \
+ $PKG/etc/OpenCL/vendors/ $PKG/usr/{bin,doc,man/man1} \
$PKG/usr/share/{applications,nvidia,pixmaps,egl/egl_external_platform.d} \
$PKG/usr/include/GL $PKG/etc/vulkan/icd.d $PKG/etc/X11/xorg.conf.d \
- $PKG/etc/X11/glvnd/egl_vendor.d $PKG/var/log/nvidia/{32,64} \
+ $PKG/etc/X11/glvnd/egl_vendor.d $PKG/var/log
-if [ "$COMPAT32" = "yes" ]; then
- mkdir -p $PKG/usr/lib/tls
-fi
# Extract all the sources
cd $TMP
@@ -95,8 +99,6 @@ rm -rf nvidia-xconfig-$VERSION
tar xvf $CWD/nvidia-xconfig-$VERSION.tar.bz2
rm -rf nvidia-modprobe-$VERSION.tar.bz2
tar xvf $CWD/nvidia-modprobe-$VERSION.tar.bz2
-rm -rf nvidia-persistenced-$VERSION.tar.bz2
-tar xvf $CWD/nvidia-persistenced-$VERSION.tar.bz2
sh $CWD/$SRCNAM.run --extract-only
cd $SRCNAM
chown -R root:root .
@@ -106,9 +108,9 @@ find -L . \
\( -perm 666 -o -perm 664 -o -perm 640 -o -perm 600 -o -perm 444 \
-o -perm 440 -o -perm 400 \) -exec chmod 644 {} \;
-# Compiling the various open source apps instead of using the precompiled binaries
# Compiling nvidia-installer from source
-cd $TMP/nvidia-installer-$VERSION
+if [ "$CURRENT" = "no" ]; then
+ cd $TMP/nvidia-installer-$VERSION
# Let's try to remove the conflicting files and GPU detection
patch -p0 < $CWD/skip_conflict-GPU_detect.patch
@@ -125,22 +127,18 @@ cd $TMP/nvidia-installer-$VERSION
install -m 755 _out/Linux_$TARGET/nvidia-installer $PKG/usr/bin/
install -m 644 _out/Linux_$TARGET/nvidia-installer.1.gz $PKG/usr/man/man1/
-cd -
+ cd -
# Now we need to copy the newly patched and compiled nvidia-installer
# to the driver source tree for use
-mv -f $PKG/usr/bin/nvidia-installer $TMP/$SRCNAM
-mv -f $PKG/usr/man/man1/nvidia-installer.1.gz $TMP/$SRCNAM
-
-# Configure options
-if [ "$GLVND" = "yes" ]; then
- GLVNDOPT="--install-libglvnd --glvnd-glx-client --glvnd-egl-client"
-else
- GLVNDOPT="--no-install-libglvnd --no-glvnd-glx-client --no-glvnd-egl-client"
+ mv -f $PKG/usr/bin/nvidia-installer $TMP/$SRCNAM
+ mv -f $PKG/usr/man/man1/nvidia-installer.1.gz $TMP/$SRCNAM
fi
+
if [ "$ARCH" = "x86_64" -a "${COMPAT32}" = "yes" ]; then
COMP32="--install-compat32-libs --compat32-prefix=$PKG/usr"
- MULTI="_multi"
+ MULTI="_multilib"
+ mkdir $PKG/usr/lib
else
if [ ! "$ARCH" = "x86_64" ]; then
COMP32=""
@@ -152,6 +150,7 @@ fi
# Install the binary libs using nvidia-installer compiled above
cd $TMP/$SRCNAM
+
./nvidia-installer -s --no-kernel-module --no-drm --no-unified-memory \
-z -n -b --no-rpms --no-distro-scripts \
--no-kernel-module-source --no-x-check --force-libglx-indirect \
@@ -168,17 +167,19 @@ cd $TMP/$SRCNAM
--log-file-name=$PKG/var/log/nvidia-installer.log \
--egl-external-platform-config-path=$PKG/usr/share/egl/egl_external_platform.d \
--no-nvidia-modprobe \
- $GLVNDOPT \
$COMP32
-# Clean-up: we really do not need this:
-rm -rf /var/lib/nvidia
-# which 32-bit tls? why? why?
-if [ "$ARCH" = "x86_64" -a "${COMPAT32}" = "yes" ]; then
- install -m 755 32/tls/libnvidia-tls.so.$VERSION $PKG/usr/lib/tls/libnvidia-tls.so.$VERSION
- cd $PKG/usr/lib
- ln -sf tls/libnvidia-tls.so.$VERSION libnvidia-tls.so.$VERSION
- cd -
+# Move ICDs to $PKG and cleanup (no switch option in installer?)
+mv /etc/OpenCL/vendors/nvidia.icd $PKG/etc/OpenCL/vendors/nvidia.icd
+mv /etc/vulkan/icd.d/nvidia_icd.json $PKG/etc/vulkan/icd.d/nvidia_icd.json
+# In current, mesa now puts an entry into this directory, so we
+# leave it alone if it is not empty
+if [ -z "$(ls -A /etc/OpenCL/vendors)" ]; then
+ rm -rf /etc/OpenCL
+fi
+# just in case any other programs make an entry here
+if [ -z "$(ls -A /etc/vulkan)" ]; then
+ rm -rf /etc/vulkan
fi
# Compile utilites from source, replacing the precompiled versions
@@ -198,7 +199,7 @@ cd $TMP/nvidia-settings-$VERSION
make
cd ../../
- CFLAGS="$SLKCFLAGS" \
+ CFLAGS="$SLKCFLAGS -fcommon" \
make
install -m 755 src/_out/Linux_$TARGET/nvidia-settings $PKG/usr/bin/
@@ -240,36 +241,24 @@ cd -
-o -perm 440 -o -perm 400 \) -exec chmod 644 {} \;
CFLAGS="$SLKCFLAGS" make
-
- install -m 755 _out/Linux_$TARGET/nvidia-modprobe $PKG/usr/bin/
+# must be installed suid root for nvidia-persistenced to work properly
+ install -m 4755 _out/Linux_$TARGET/nvidia-modprobe $PKG/usr/bin/
install -m 644 _out/Linux_$TARGET/nvidia-modprobe.1.gz $PKG/usr/man/man1/
cd -
-# Compiling nvidia-persistenced
- cd $TMP/nvidia-persistenced-$VERSION
- chown -R root:root .
- find -L . \
- \( -perm 777 -o -perm 775 -o -perm 750 -o -perm 711 -o -perm 555 \
- -o -perm 511 \) -exec chmod 755 {} \; -o \
- \( -perm 666 -o -perm 664 -o -perm 640 -o -perm 600 -o -perm 444 \
- -o -perm 440 -o -perm 400 \) -exec chmod 644 {} \;
-
- CFLAGS="$SLKCFLAGS" make
-#FIXME: need rc.nvidia-persistenced script; see doc
- install -m 755 _out/Linux_$TARGET/nvidia-persistenced $PKG/usr/bin/
- install -m 644 _out/Linux_$TARGET/nvidia-persistenced.1.gz $PKG/usr/man/man1/
- cd -
-
# Bash script to cleanly install (in doinst.sh) and uninstall the nvidia files
# so we don't stomp on the overlapping xorg files.
# Note: switching can be problematic ;-)
+mkdir -p $PKG/usr/sbin
install -m 0755 $CWD/nvidia-switch $PKG/usr/sbin/
sed -i s/PKGVERSION/$VERSION/g $PKG/usr/sbin/nvidia-switch
sed -i s/LIBDIRSUFFIX/$LIBDIRSUFFIX/g $PKG/usr/sbin/nvidia-switch
-if [ "$GLVND" = "yes" ]; then
+if [ "$CURRENT" = "no" ]; then
sed -i s/GLVNDFLAG/yes/g $PKG/usr/sbin/nvidia-switch
+ sed -i s/GLVERSION/1.2.0/g $PKG/usr/sbin/nvidia-switch
else
sed -i s/GLVNDFLAG/no/g $PKG/usr/sbin/nvidia-switch
+ sed -i s/GLVERSION/1.7.0/g $PKG/usr/sbin/nvidia-switch
fi
if [ ${COMPAT32} = "yes" ]; then
sed -i s/LIB32FLAG/yes/g $PKG/usr/sbin/nvidia-switch
@@ -278,41 +267,26 @@ else
fi
# These add or correct wrong paths
-sed -i "s|$TMP/package-$PRGNAM/usr|/usr|" $PKG/usr/lib$LIBDIRSUFFIX/libGL.la
-sed -i "s|/usr/X11R6/lib|/usr/lib$LIBDIRSUFFIX|" $PKG/usr/lib$LIBDIRSUFFIX/libGL.la
+if [ "$CURRENT" = "no" ]; then
+ sed -i "s|$TMP/package-$PRGNAM/usr|/usr|" $PKG/usr/lib$LIBDIRSUFFIX/libGL.la
+ sed -i "s|/usr/X11R6/lib|/usr/lib$LIBDIRSUFFIX|" $PKG/usr/lib$LIBDIRSUFFIX/libGL.la
+
+ if [ "$ARCH" = "x86_64" -a "${COMPAT32}" = "yes" ]; then
+ sed -i "s|$TMP/package-$PRGNAM/usr|/usr|" $PKG/usr/lib/libGL.la
+ sed -i "s|/usr/X11R6/lib|/usr/lib|" $PKG/usr/lib/libGL.la
+ sed -i "s|'/usr/'|'/usr/lib'|" $PKG/usr/lib/libGL.la
+ fi
+fi
sed -i "s|__UTILS_PATH__|/usr/bin|" $PKG/usr/share/applications/nvidia-settings.desktop
sed -i "s|__PIXMAP_PATH__|/usr/share/pixmaps|" $PKG/usr/share/applications/nvidia-settings.desktop
sed -i "s|__NVIDIA_SETTINGS_DESKTOP_CATEGORIES__|Application;Settings;|" $PKG/usr/share/applications/nvidia-settings.desktop
-if [ "$ARCH" = "x86_64" -a "${COMPAT32}" = "yes" ]; then
- sed -i "s|$TMP/package-$PRGNAM/usr|/usr|" $PKG/usr/lib/libGL.la
- sed -i "s|/usr/X11R6/lib|/usr/lib|" $PKG/usr/lib/libGL.la
- sed -i "s|'/usr/'|'/usr/lib'|" $PKG/usr/lib/libGL.la
-fi
-
# rename wrong/conficting files as needed; remove conflicting symlinks created by installer
cd $PKG/usr/lib$LIBDIRSUFFIX
- if [ "$GLVND" = "yes" ]; then
+ if [ "$CURRENT" = "no" ]; then
mv libEGL.so.1.1.0 libEGL.so.1.1.0-nvidia
- fi
- mv libGL.la libGL.la-nvidia
- mv libGLESv1_CM.so.1.2.0 libGLESv1_CM.so.1.2.0-nvidia
- mv libGLESv2.so.2.1.0 libGLESv2.so.2.1.0-nvidia
- rm -f libEGL.so
- rm -f libGL.so
- rm -f libGL.so.1
- rm -f libGLESv1_CM.so
- rm -f libGLESv2.so
- rm -f xorg/modules/libwfb.so
- rm -f xorg/modules/extensions/libglx.so
-cd -
-
-if [ "$ARCH" = "x86_64" -a "${COMPAT32}" = "yes" ]; then
- cd $PKG/usr/lib
- if [ "$GLVND" = "yes" ]; then
- mv libEGL.so.1.1.0 libEGL.so.1.1.0-nvidia
- fi
mv libGL.la libGL.la-nvidia
+ mv libGL.so.1.7.0 libGL.so.1.7.0-nvidia
mv libGLESv1_CM.so.1.2.0 libGLESv1_CM.so.1.2.0-nvidia
mv libGLESv2.so.2.1.0 libGLESv2.so.2.1.0-nvidia
rm -f libEGL.so
@@ -320,24 +294,50 @@ if [ "$ARCH" = "x86_64" -a "${COMPAT32}" = "yes" ]; then
rm -f libGL.so.1
rm -f libGLESv1_CM.so
rm -f libGLESv2.so
+ else
+ rm libGL.la
+ rm libOpenCL.so.1.0.0
+ fi
+ rm -f xorg/modules/libwfb.so
+ if [ -e xorg/modules/extensions/libglx.so ]; then
+ (cd xorg/modules/extensions
+ rm libglx.so
+ )
+ fi
+cd -
+
+if [ "$ARCH" = "x86_64" -a "${COMPAT32}" = "yes" ]; then
+ cd $PKG/usr/lib
+ if [ "$CURRENT" = "no" ]; then
+ mv libEGL.so.1.1.0 libEGL.so.1.1.0-nvidia
+ mv libGL.la libGL.la-nvidia
+ mv libGLESv1_CM.so.1.2.0 libGLESv1_CM.so.1.2.0-nvidia
+ mv libGLESv2.so.2.1.0 libGLESv2.so.2.1.0-nvidia
+ rm -f libEGL.so
+ rm -f libGL.so
+ rm -f libGL.so.1
+ rm -f libGLESv1_CM.so
+ rm -f libGLESv2.so
+ else
+ rm libGL.la
+ rm libOpenCL.so.1.0.0
+ fi
cd -
-# FIXME With COMPAT32=yes on pure x86_64, a weird /usr/lib/libGL.so.1 symlink to $PKG/usr/lib64/libGL.so.1
-# appears? Who would do this, so ignoring for now.
+# FIXME With COMPAT32=yes on pure x86_64, a weird /usr/lib/libGL.so.1
+# symlink to $PKG/usr/lib64/libGL.so.1 appears? Who would do this,
+# so ignoring for now.
fi
-# Move ICDs to $PKG and cleanup (no switch option in installer?)
-mv /etc/OpenCL/vendors/nvidia.icd $PKG/etc/OpenCL/vendors/nvidia.icd
-mv /etc/vulkan/icd.d/nvidia_icd.json $PKG/etc/vulkan/icd.d/nvidia_icd.json
-rm -rf /etc/OpenCL
-rm -rf /etc/vulkan
-
-# Remove xorg conf file since we take care of that in nvidia-legacy390-driver
+# Remove xorg conf file since we handle that in nvidia-legacy390-kernel
rm -rf $PKG/etc/X11/xorg.conf.d
-cat <<EOF > $PKG/var/log/nvidia/README.txt
+if [ "$CURRENT" = "no" ]; then
+ mkdir -p $PKG/var/log/nvidia/{32,64}
+ cat <<EOF > $PKG/var/log/nvidia/README.txt
Do NOT delete this directory!
nvidia-switch will backup the original X.org libraries here.
EOF
+fi
cd $TMP/$SRCNAM
# put docs in the right place
@@ -347,11 +347,63 @@ mv $PKG/usr/share/doc/NVIDIA_GLX-1.0 $PKG/usr/doc/$PRGNAM-$VERSION
rm -rf $PKG/usr/share/doc
cp -a LICENSE NVIDIA_Changelog README.txt $PKG/usr/doc/$PRGNAM-$VERSION
cat $CWD/README > $PKG/usr/doc/$PRGNAM-$VERSION/README.Slackware
+cp $CWD/README.nvidia-persistenced $PKG/usr/doc/$PRGNAM-$VERSION
cat $CWD/$PRGNAM.SlackBuild > $PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM.SlackBuild
sed "s/PKGVERSION/$VERSION/g" $CWD/slack-desc > $PKG/install/slack-desc
+if [ "$COMPAT32" = "yes" ]; then
+ sed -i "s|@MULTILIB@|This package includes the 32-bit compatibility libraries.|" $PKG/install/slack-desc
+else
+ sed -i "s|@MULTILIB@||" $PKG/install/slack-desc
+fi
+
cat $CWD/doinst.sh > $PKG/install/doinst.sh
-# Flag install as multlib as needed and build package.
+# Add rc.nvidia-persistenced:
+if [ "${PERSISTENCED:-no}" = "yes" ]; then
+ cd $TMP
+ rm -rf nvidia-persistenced-$VERSION.tar.bz2
+ tar xvf $CWD/nvidia-persistenced-$VERSION.tar.bz2
+# Compiling nvidia-persistenced
+ cd $TMP/nvidia-persistenced-$VERSION
+ chown -R root:root .
+ find -L . \
+ \( -perm 777 -o -perm 775 -o -perm 750 -o -perm 711 -o -perm 555 \
+ -o -perm 511 \) -exec chmod 755 {} \; -o \
+ \( -perm 666 -o -perm 664 -o -perm 640 -o -perm 600 -o -perm 444 \
+ -o -perm 440 -o -perm 400 \) -exec chmod 644 {} \;
+
+ CFLAGS="$SLKCFLAGS" make
+ install -m 755 _out/Linux_$TARGET/nvidia-persistenced $PKG/usr/bin/
+ install -m 644 _out/Linux_$TARGET/nvidia-persistenced.1.gz $PKG/usr/man/man1/
+
+ if ! getent group nvidia > /dev/null 2>&1; then
+ echo "Creating the group nvidia:"
+ groupadd -g 365 nvidia || exit 1
+ fi
+ if ! getent passwd nvidia > /dev/null 2>&1; then
+ echo "Creating the user nvidia:"
+ useradd -u 365 -g 365 -c "Nvidia" -d /dev/null -s /bin/false nvidia || exit 1
+ fi
+ mkdir -p $PKG/var/run/nvidia-persistenced
+ chown nvidia:nvidia $PKG/var/run/nvidia-persistenced
+ mkdir -p $PKG/etc/rc.d
+ install -m 755 $CWD/rc.nvidia-persistenced $PKG/etc/rc.d/rc.nvidia-persistenced
+ sed -i "s|__USER__|nvidia|" $PKG/etc/rc.d/rc.nvidia-persistenced
+ cat <<EOF >> $PKG/install/doinst.sh
+# Create group and user nvidia if they don't already exist
+if ! getent group nvidia > /dev/null 2>&1; then
+ echo "Creating the group nvidia:"
+ groupadd -g 365 nvidia || exit 1
+fi
+if ! getent passwd nvidia > /dev/null 2>&1; then
+ echo "Creating the user nvidia:"
+ useradd -u 365 -g 365 -c "Nvidia" -d /dev/null -s /bin/false nvidia || exit 1
+fi
+
+EOF
+fi
+
+# Flag multlib as needed and build package.
cd $PKG
/sbin/makepkg -l y -c n $OUTPUT/$PRGNAM-$VERSION$MULTI-$TARGET-$BUILD$TAG.${PKGTYPE:-tgz}
diff --git a/system/nvidia-legacy390-driver/nvidia-legacy390-driver.info b/system/nvidia-legacy390-driver/nvidia-legacy390-driver.info
index 6be40157ed..110f8ab193 100644
--- a/system/nvidia-legacy390-driver/nvidia-legacy390-driver.info
+++ b/system/nvidia-legacy390-driver/nvidia-legacy390-driver.info
@@ -1,30 +1,30 @@
PRGNAM="nvidia-legacy390-driver"
-VERSION="390.129"
+VERSION="390.141"
HOMEPAGE="http://www.nvidia.com"
-DOWNLOAD="https://download.nvidia.com/XFree86/Linux-x86/390.129/NVIDIA-Linux-x86-390.129.run \
- https://download.nvidia.com/XFree86/nvidia-installer/nvidia-installer-390.129.tar.bz2 \
- https://download.nvidia.com/XFree86/nvidia-modprobe/nvidia-modprobe-390.129.tar.bz2 \
- https://download.nvidia.com/XFree86/nvidia-persistenced/nvidia-persistenced-390.129.tar.bz2 \
- https://download.nvidia.com/XFree86/nvidia-settings/nvidia-settings-390.129.tar.bz2 \
- https://download.nvidia.com/XFree86/nvidia-xconfig/nvidia-xconfig-390.129.tar.bz2"
-MD5SUM="763f9789e0fe1a76031211d0fb58fc4f \
- c01ddf84ab16e558776a7650cddfde55 \
- ad52a93c66543efdc4fa24879f5b3180 \
- 802db97e66da89ff03bba124240e5ab4 \
- 8f8dc1a8a1c3cf4315e4ae1f209f3293 \
- 2b800aaa6a6e2546f18ab9344e30c70e"
-DOWNLOAD_x86_64="https://download.nvidia.com/XFree86/Linux-x86_64/390.129/NVIDIA-Linux-x86_64-390.129.run \
- https://download.nvidia.com/XFree86/nvidia-installer/nvidia-installer-390.129.tar.bz2 \
- https://download.nvidia.com/XFree86/nvidia-modprobe/nvidia-modprobe-390.129.tar.bz2 \
- https://download.nvidia.com/XFree86/nvidia-persistenced/nvidia-persistenced-390.129.tar.bz2 \
- https://download.nvidia.com/XFree86/nvidia-settings/nvidia-settings-390.129.tar.bz2 \
- https://download.nvidia.com/XFree86/nvidia-xconfig/nvidia-xconfig-390.129.tar.bz2"
-MD5SUM_x86_64="23b3cf4bddfcb73c0f7db694829cadf8 \
- c01ddf84ab16e558776a7650cddfde55
- ad52a93c66543efdc4fa24879f5b3180 \
- 802db97e66da89ff03bba124240e5ab4 \
- 8f8dc1a8a1c3cf4315e4ae1f209f3293 \
- 2b800aaa6a6e2546f18ab9344e30c70e"
+DOWNLOAD="https://download.nvidia.com/XFree86/Linux-x86/390.141/NVIDIA-Linux-x86-390.141.run \
+ https://download.nvidia.com/XFree86/nvidia-installer/nvidia-installer-390.141.tar.bz2 \
+ https://download.nvidia.com/XFree86/nvidia-modprobe/nvidia-modprobe-390.141.tar.bz2 \
+ https://download.nvidia.com/XFree86/nvidia-persistenced/nvidia-persistenced-390.141.tar.bz2 \
+ https://download.nvidia.com/XFree86/nvidia-settings/nvidia-settings-390.141.tar.bz2 \
+ https://download.nvidia.com/XFree86/nvidia-xconfig/nvidia-xconfig-390.141.tar.bz2"
+MD5SUM="f3e6660ffe5338b17b7e643d0eceb57e \
+ ff1c359809225ac9fc3562a16bc302bd \
+ baa8df62e2449ec6dd55c3d27cf23490 \
+ 24c4e151626dc920525966d4bd3a2dbd \
+ 61be9b85fd9b2198cdbc555a3625d39b \
+ 94c281d2704d87809176e3084102bfee"
+DOWNLOAD_x86_64="https://download.nvidia.com/XFree86/Linux-x86_64/390.141/NVIDIA-Linux-x86_64-390.141.run \
+ https://download.nvidia.com/XFree86/nvidia-installer/nvidia-installer-390.141.tar.bz2 \
+ https://download.nvidia.com/XFree86/nvidia-modprobe/nvidia-modprobe-390.141.tar.bz2 \
+ https://download.nvidia.com/XFree86/nvidia-persistenced/nvidia-persistenced-390.141.tar.bz2 \
+ https://download.nvidia.com/XFree86/nvidia-settings/nvidia-settings-390.141.tar.bz2 \
+ https://download.nvidia.com/XFree86/nvidia-xconfig/nvidia-xconfig-390.141.tar.bz2"
+MD5SUM_x86_64="0c7fc061349bbb2f0d7e26af9f1b082a \
+ ff1c359809225ac9fc3562a16bc302bd \
+ baa8df62e2449ec6dd55c3d27cf23490 \
+ 24c4e151626dc920525966d4bd3a2dbd \
+ 61be9b85fd9b2198cdbc555a3625d39b \
+ 94c281d2704d87809176e3084102bfee"
REQUIRES="nvidia-legacy390-kernel"
-MAINTAINER="Edward W. Koenig"
-EMAIL="kingbeowulf@gmail.com"
+MAINTAINER="Lenard Spencer"
+EMAIL="lenardrspencer@gmail.com"
diff --git a/system/nvidia-legacy390-driver/nvidia-switch b/system/nvidia-legacy390-driver/nvidia-switch
index 7d97f3304b..2f57366cfd 100644
--- a/system/nvidia-legacy390-driver/nvidia-switch
+++ b/system/nvidia-legacy390-driver/nvidia-switch
@@ -1,6 +1,7 @@
#!/bin/sh
# Copyright 2012-2017 Edward W. Koenig, Vancouver, WA, USA
+# Updates copyright 2020 Lenard Spencer, Orlando, FL, USA
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
@@ -20,15 +21,23 @@
# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
#
-# nvidia-switch utility 4.0
+# nvidia-switch utility 4.0.1
#
-# A tool to install and cleanly remove the nvidia driver without stomping on the xorg files.
-# Note: this tool "should" allow switching on the fly, but why? Pick a driver! You will still
-# need to edit a bunch of other config files.
+# A tool to install and cleanly remove the nvidia driver without
+# stomping on the xorg files. Note: this tool "should" allow switching
+# on the fly, but why? Pick a driver! You will still need to edit a bunch
+#of other config files.
# TO-DO: needs more cleanup, simplify linking using system tools
-ROOT="${ROOT:-/}"
+
+# When ROOT=<PATH> is specified when using {install,upgrade,remove}pkg,
+# PATH is usually specified without a trailing "/", so we add one here
+if [ "$ROOT" = "" ]; then
+ ROOT="${ROOT:-"/"}"
+else
+ ROOT="${ROOT}/"
+fi
CWD=$(pwd)
COMPAT32="LIB32FLAG" # This will be replaced in the build script (yes | no)
LIBSUFFIX="LIBDIRSUFFIX" # This will be replaced in the build script
@@ -38,9 +47,8 @@ LIB32="${ROOT}usr/lib"
XMOD="${LIB}/xorg/modules"
XLIB="$XMOD/extensions"
NV_VERSION="PKGVERSION" # This will be replaced in the build script
-GL_VERSION="1.2.0"
+GL_VERSION="GLVERSION"
GLVND="GLVNDFLAG" # This will be replaced in the build script (yes | no)
-NV_CONF="${ROOT}usr/share/X11/xorg.conf.d/10-nvidia.conf"
SAVELIBS="${ROOT}var/log/nvidia"
save_GL(){
@@ -57,54 +65,39 @@ save_GL(){
case "$1" in
"nvidia")
- mv libGL.so.$GL_VERSION $SAVELIBS/libGL.so.$GL_VERSION
- mv libGL.la $SAVELIBS/libGL.la
- mv libEGL.so.1.0.0 $SAVELIBS/libEGL.so.1.0.0
- mv libGLESv1_CM.so.1.1.0 $SAVELIBS/libGLESv1_CM.so.1.1.0
- mv libGLESv2.so.2.0.0 $SAVELIBS/libGLESv2.so.2.0.0
- mv libGL.la-nvidia libGL.la
-
if [ "$GLVND" = "yes" ]; then
- ln -sf libGL.so.1.7.0 libGL.so.1
- ln -sf libGL.so.1.7.0 libGL.so
+ mv libGL.so.$GL_VERSION $SAVELIBS
+ mv libGL.la $SAVELIBS
+ mv libEGL.so.1.?.0 $SAVELIBS
+ mv libGLESv1_CM.so.1.1.0 $SAVELIBS
+ mv libGLESv2.so.2.0.0 $SAVELIBS
+ mv libGL.la-nvidia libGL.la
+ ln -sf libGL.so.1.7.0-nvidia libGL.so.1
+ ln -sf libGL.so.1 libGL.so
ln -sf libEGL.so.1.1.0-nvidia libEGL.so.1.1.0
- ln -sf libEGL.so.1.1.0-nvidia libEGL.so
- else
- ln -sf libGL.so.$NV_VERSION libGL.so.1
- ln -sf libGL.so.$NV_VERSION libGL.so
- ln -sf libEGL.so.$NV_VERSION libEGL.so.1
- ln -sf libEGL.so.$NV_VERSION libEGL.so
+ ln -sf libEGL.so.1 libEGL.so
+ ln -sf libGLESv1_CM.so.1.2.0-nvidia libGLESv1_CM.libGLESv1_CM.so.1
+ ln -sf libGLESv1_CM.so.1 libGLESv1_CM.so
+ ln -sf libGLESv2.so.2.1.0-nvidia libGLESv2.so.2
+ ln -sf libGLESv2.so.2 libGLESv2.so
fi
-
- ln -sf libGLESv1_CM.so.1.2.0-nvidia libGLESv1_CM.so.1.2.0
- ln -sf libGLESv1_CM.so.1.2.0-nvidia libGLESv1_CM.so.1
- ln -sf libGLESv1_CM.so.1.2.0-nvidia libGLESv1_CM.so
-
- ln -sf libGLESv2.so.2.1.0-nvidia libGLESv2.so.2.1.0
- ln -sf libGLESv2.so.2.1.0-nvidia libGLESv2.so.2
- ln -sf libGLESv2.so.2.1.0-nvidia libGLESv2.so
;;
"xorg")
- mv libGL.la libGL.la-nvidia
- mv $SAVELIBS/libGL.so.$GL_VERSION libGL.so.$GL_VERSION
- mv $SAVELIBS/libGL.la libGL.la
- mv $SAVELIBS/libEGL.so.1.0.0 libEGL.so.1.0.0
- mv $SAVELIBS/libGLESv1_CM.so.1.1.0 libGLESv1_CM.so.1.1.0
- mv $SAVELIBS/libGLESv2.so.2.0.0 libGLESv2.so.2.0.0
-
- ln -sf libGL.so.$GL_VERSION libGL.so.1
- ln -sf libGL.so.$GL_VERSION libGL.so
- ln -sf libEGL.so.1.0.0 libEGL.so.1
- ln -sf libEGL.so.1.0.0 libEGL.so
- rm -f libEGL.so.1.1.0
-
- ln -sf libGLESv1_CM.so.1.1.0 libGLESv1_CM.so.1
- ln -sf libGLESv1_CM.so.1.1.0 libGLESv1_CM.so
- ln -sf libGLESv2.so.2.0.0 libGLESv2.so.2
- ln -sf libGLESv2.so.2.0.0 libGLESv2.so
- rm -f libGLESv1_CM.so.1.2.0
- rm -f libGLESv2.so.2.1.0
+ if [ -e libGL.la ]; then
+ mv libGL.la libGL.la-nvidia
+ fi
+ if [ "$GLVND" = "yes" ]; then
+ mv $SAVELIBS/* .
+ ln -sf libGL.so.$GL_VERSION libGL.so.1
+ ln -sf libGL.so.1 libGL.so
+ ln -sf libEGL.so.1.0.0 libEGL.so.1
+ ln -sf libEGL.so.1 libEGL.so
+ ln -sf libGLESv1_CM.so.1.1.0 libGLESv1_CM.so.1
+ ln -sf libGLESv1_CM.so.1.1.0 libGLESv1_CM.so
+ ln -sf libGLESv2.so.2.0.0 libGLESv2.so.2
+ ln -sf libGLESv2.so.2.0.0 libGLESv2.so
+ fi
;;
*)
@@ -120,17 +113,24 @@ save_glx(){
case "$1" in
"nvidia")
if [ -e libglx.so ]; then
- mv libglx.so xorg-libglx.so
+ cp -a libglx.so libglx.so-xorg
fi
ln -sf libglx.so.$NV_VERSION libglx.so
;;
"xorg")
- if [ -e xorg-libglx.so ]; then
+ if [ -e libglx.so-xorg ]; then
rm -f libglx.so
- mv xorg-libglx.so libglx.so
+ mv libglx.so-xorg libglx.so
else
- rm -f libglx.so
- fi
+ if [ ! -e libglx.so ]; then
+ echo -e "WARNING: libglx.so not found! Please reinstall xorg-server!\n"
+ else
+ if [ -L libglx.so ]; then
+ rm libglx.so
+ echo -e "WARNING: removed dead symlink libglx.so! Please reinstall xorg-server!\n"
+ fi
+ fi
+ fi
;;
*)
echo "nothing to do for save_glx?"
@@ -142,18 +142,12 @@ save_glx(){
save_wfb(){
cd "$XMOD"
- if [ -e libwfb.so ]; then
- echo "Using existing Xorg libwfb..."
- else
- if [ "$1" = "nvidia" ]; then
- ln -sf libwfb.so.$NV_VERSION libwfb.so.1
- ln -sf libwfb.so.1 libwfb.so
+ if [ "$1" = "nvidia" ]; then
+ ln -sf libnvidia-wfb.so.$NV_VERSION libnvidia-wfb.so.1
fi
if [ "$1" = "xorg" ]; then
- rm -f libwfb.so
- rm -f libwfb.so.1
+ rm -f libnvidia-wfb.so.1
fi
- fi
cd "$CWD"
}
@@ -162,10 +156,10 @@ nvidia_install(){
echo "Creating missing $SAVELIB ..."
mkdir -p $SAVELIBS
fi
- echo $'Installing to nvidia-legacy390-driver files!\n'
+ echo $'Installing to nvidia-legacy390-driver files:\n'
echo "Make sure the nvidia driver is ENABLED in /etc/X11/xorg.conf"
- echo "and in /etc/X11/xorg.conf.d."
- echo "Otherwise, this may lead to improperly working drivers."
+ echo "and in /etc/X11/xorg.conf.d. Otherwise, this may lead to"
+ echo -e "improperly working drivers.\n"
save_glx "nvidia"
save_GL "nvidia" $LIB
@@ -177,11 +171,13 @@ nvidia_install(){
}
nvidia_remove(){
- echo $'Returning to stock xorg files!\n'
+ echo $'Returning to stock xorg files:\n'
echo "Make sure the nvidia driver is DISABLED in /usr/share/X11/xorg.conf.d"
echo "/etc/X11/xorg.conf and in /etc/X11/xorg.conf.d."
- echo "Otherwise, this may lead to improperly working drivers."
-
+ echo -e "Otherwise, this may lead to improperly working drivers.\n"
+ if [ "$GLVND" = "yes" ]; then
+ echo -e "Be sure to run /sbin/ldconfig after removing nvidia-legacy390-driver.\n"
+ fi
save_glx "xorg"
save_GL "xorg" $LIB
save_wfb "xorg"
@@ -190,63 +186,14 @@ nvidia_remove(){
if [ "$COMPAT32" = "yes" ]; then
save_GL "xorg" $LIB32
fi
-
- if [ -e $NV_CONF ]; then
- echo "removing $NV_CONF: you will need to provide your own"
- echo "or reinstall nvidia-legacy390-driver."
- rm -f $NV_CONF
- fi
}
-restore(){
-# Attempt to reinstall damaged stock packages if something went wrong.
-# Obviously, you will need to run this after '--remove' and before
-# 'removepkg nvidia-legacy390-driver'.
-# User must:
-# 1. remove any dangling symlinks and xorg-*, *-nvidia files in /usr/lib*/,
-# and any other housekeeping tasks.
-# 2. copy stock Slackware packages to /root/Slackware or provide an alternate location
-# 3. be running Slackware-14.2, not current
-# 4. realize that COMPAT32 is not stable ;-)
-
if [ "$LIBSUFFIX" = "64" ]; then
ARCH="x86_64"
else
ARCH="x86"
fi
-PKGPATH=${PKGPATH:-/root/Slackware}
-MESA="mesa-11.2.2-$ARCH-1.txz"
-MESA32="mesa-compat32-11.2.2-$ARCH-1compat32.txz"
-XORG="xorg-server-1.18.3-$ARCH-2.txz"
-# Note: The above is for stock 14.2; modify as needed for /patches or
-# multilib updates
-if [ -d $PKGPATH ]; then
- if [ `find $PKGPATH -prune -empty -type d` ]; then
- echo "Your $PKGPATH is empty!"
- else
- upgradepkg --reinstall --install-new $MESA $XORG
- if [ "COMPAT32" = "yes" ]; then
- upgradepkg --reinstall --install-new $MESA32
- fi
- fi
-else
- echo "Please create $PKGPATH containing the appropriate packages"
-fi
-}
-
-usage(){
- echo "Usage:"
- echo " --install Set up nvidia driver files"
- echo " --remove Return to stock xorg files and restore all symlinks"
- echo " --restore Reinstall stock Mesa and xorg-server [EXPERIMENTAL]"
- echo " mesa-11.2.2, org-server-1.18.3, and optionally"
- echo " mesa-compat32-11.2.2 are expected in /root/Slackware"
- echo " Use 'PKGPATH=\"<location>\" nvidia-switch --restore'"
- echo " to override."
- echo " --help Show this help message"
-}
-
case "$1" in
"--install")
nvidia_install
@@ -254,9 +201,6 @@ case "$1" in
"--remove")
nvidia_remove
;;
- "--restore")
- restore
- ;;
"--help")
usage
;;
diff --git a/system/nvidia-legacy390-driver/rc.nvidia-persistenced b/system/nvidia-legacy390-driver/rc.nvidia-persistenced
new file mode 100644
index 0000000000..59bdf18d11
--- /dev/null
+++ b/system/nvidia-legacy390-driver/rc.nvidia-persistenced
@@ -0,0 +1,61 @@
+#!/bin/sh -e
+#
+# NVIDIA Persistence Daemon Init Script
+#
+# Copyright (c) 2013 NVIDIA Corporation
+#
+# Permission is hereby granted, free of charge, to any person obtaining a
+# copy of this software and associated documentation files (the "Software"),
+# to deal in the Software without restriction, including without limitation
+# the rights to use, copy, modify, merge, publish, distribute, sublicense,
+# and/or sell copies of the Software, and to permit persons to whom the
+# Software is furnished to do so, subject to the following conditions:
+#
+# The above copyright notice and this permission notice shall be included in
+# all copies or substantial portions of the Software.
+#
+# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
+# DEALINGS IN THE SOFTWARE.
+#
+
+NVPD=nvidia-persistenced
+NVPD_BIN=/usr/bin/${NVPD}
+NVPD_RUNTIME=/var/run/${NVPD}
+NVPD_PIDFILE=${NVPD_RUNTIME}/${NVPD}.pid
+NVPD_USER=__USER__
+
+if [ -f ${NVPD_PIDFILE} ]; then
+ read -r NVPD_PID < "${NVPD_PIDFILE}"
+ # Remove stale runtime files
+ if [ "${NVPD_PID}" ] && [ ! -d /proc/${NVPD_PID} ]; then
+ unset NVPD_PID
+ rm -rf "${NVPD_RUNTIME}"
+ fi
+fi
+
+case "${1}" in
+ start)
+ echo "Starting NVIDIA Persistence Daemon"
+
+ # Execute the daemon as the intended user
+ ${NVPD_BIN} --user ${NVPD_USER}
+ ;;
+ stop)
+ echo "Stopping NVIDIA Persistence Daemon"
+
+ # Stop the daemon - its PID should have been read in
+ [ ! -z "${NVPD_PID}" ] && kill ${NVPD_PID} &> /dev/null
+ ;;
+ restart)
+ $0 stop
+ sleep 2
+ $0 start
+ ;;
+ *) echo "usage: $0 {start|stop|restart}"
+esac
+exit 0
diff --git a/system/nvidia-legacy390-driver/slack-desc b/system/nvidia-legacy390-driver/slack-desc
index af1addf510..74666d37f0 100644
--- a/system/nvidia-legacy390-driver/slack-desc
+++ b/system/nvidia-legacy390-driver/slack-desc
@@ -15,5 +15,5 @@ nvidia-legacy390-driver:
nvidia-legacy390-driver: See /usr/doc/nvidia-legacy390-driver-PKGVERSION/README.Slackware
nvidia-legacy390-driver: for more information.
nvidia-legacy390-driver:
-nvidia-legacy390-driver:
+nvidia-legacy390-driver: @MULTILIB@
nvidia-legacy390-driver:
diff --git a/system/nvidia-legacy390-kernel/README b/system/nvidia-legacy390-kernel/README
index ab0d4a748f..adb7c9d3fd 100644
--- a/system/nvidia-legacy390-kernel/README
+++ b/system/nvidia-legacy390-kernel/README
@@ -1,13 +1,18 @@
-This is the kernel-module needed by the proprietary binary nvidia driver.
-You also need the nvidia-legacy390-driver package from SlackBuilds.org.
+This is the kernel-module needed by the proprietary binary nvidia
+driver. You also need the nvidia-legacy390-driver package from
+SlackBuilds.org.
To build the package for a kernel different from the running one,
start the script setting the KERNEL variable as in
KERNEL=4.6.3 ./nvidia-legacy390-kernel.SlackBuild
-A default config file is placed at /usr/share/X11/xorg.conf.d/10-nvidia.conf
-to make sure that X loads the nvidia module. If you need to make changes,
-move that file to /etc/X11/xorg.conf.d/ and edit the copy. You do not need
-this file at all if you have a proper and complete xorg.conf.
+A default config file is placed at
+/usr/share/X11/xorg.conf.d/10-nvidia.conf to make sure that X loads
+the nvidia module. If you need to make changes, copy that file to
+/etc/X11/xorg.conf.d/ and edit the copy. You do not need this file
+at all if you have a proper and complete xorg.conf.
+
+This script now includes the patches to enable building on newer
+kernels. (MANY thanks to willysr and Herecura for the fixes.)
The xf86-video-nouveau-blacklist package from /extra is required.
diff --git a/system/nvidia-legacy390-kernel/nvidia-legacy390-kernel.SlackBuild b/system/nvidia-legacy390-kernel/nvidia-legacy390-kernel.SlackBuild
index 0ca0f5b0a3..dadc3c08c9 100644
--- a/system/nvidia-legacy390-kernel/nvidia-legacy390-kernel.SlackBuild
+++ b/system/nvidia-legacy390-kernel/nvidia-legacy390-kernel.SlackBuild
@@ -28,7 +28,7 @@
# see nvidia-driver/changelog.txt
PRGNAM=nvidia-legacy390-kernel
-VERSION=${VERSION:-390.129}
+VERSION=${VERSION:-390.141}
BUILD=${BUILD:-1}
TAG=${TAG:-_SBo}
@@ -49,10 +49,8 @@ fi
if [ "$ARCH" = "i586" ]; then
TARGET="x86"
- SRCSUFFIX=""
elif [ "$ARCH" = "i686" ]; then
TARGET="x86"
- SRCSUFFIX=""
elif [ "$ARCH" = "x86_64" ]; then
TARGET="x86_64"
fi
diff --git a/system/nvidia-legacy390-kernel/nvidia-legacy390-kernel.info b/system/nvidia-legacy390-kernel/nvidia-legacy390-kernel.info
index db761b730e..2cf1128cb0 100644
--- a/system/nvidia-legacy390-kernel/nvidia-legacy390-kernel.info
+++ b/system/nvidia-legacy390-kernel/nvidia-legacy390-kernel.info
@@ -1,10 +1,10 @@
PRGNAM="nvidia-legacy390-kernel"
-VERSION="390.129"
+VERSION="390.141"
HOMEPAGE="http://www.nvidia.com"
-DOWNLOAD="https://download.nvidia.com/XFree86/Linux-x86/390.129/NVIDIA-Linux-x86-390.129.run"
-MD5SUM="763f9789e0fe1a76031211d0fb58fc4f"
-DOWNLOAD_x86_64="https://download.nvidia.com/XFree86/Linux-x86_64/390.129/NVIDIA-Linux-x86_64-390.129.run"
-MD5SUM_x86_64="23b3cf4bddfcb73c0f7db694829cadf8"
+DOWNLOAD="https://download.nvidia.com/XFree86/Linux-x86/390.141/NVIDIA-Linux-x86-390.141.run"
+MD5SUM="f3e6660ffe5338b17b7e643d0eceb57e"
+DOWNLOAD_x86_64="https://download.nvidia.com/XFree86/Linux-x86_64/390.141/NVIDIA-Linux-x86_64-390.141.run"
+MD5SUM_x86_64="0c7fc061349bbb2f0d7e26af9f1b082a"
REQUIRES=""
-MAINTAINER="Edward W. Koenig"
-EMAIL="kingbeowulf@gmail.com"
+MAINTAINER="Lenard Spencer"
+EMAIL="lenardrspencer@gmai.com"
diff --git a/system/nvme-cli/nvme-cli.SlackBuild b/system/nvme-cli/nvme-cli.SlackBuild
index ea49298eac..e8980f65af 100644
--- a/system/nvme-cli/nvme-cli.SlackBuild
+++ b/system/nvme-cli/nvme-cli.SlackBuild
@@ -2,7 +2,7 @@
# Slackware build script for nvme-cli
-# Copyright 2017-2019, Alexander Verbovetsky, Moscow, Russia
+# Copyright 2017-2020, Alexander Verbovetsky, Moscow, Russia
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
@@ -23,7 +23,7 @@
# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
PRGNAM=nvme-cli
-VERSION=${VERSION:-1.9}
+VERSION=${VERSION:-1.13}
BUILD=${BUILD:-1}
TAG=${TAG:-_SBo}
@@ -65,8 +65,14 @@ find -L . \
\( -perm 666 -o -perm 664 -o -perm 640 -o -perm 600 -o -perm 444 \
-o -perm 440 -o -perm 400 \) -exec chmod 644 {} \;
-make CFLAGS="$SLKCFLAGS" CXXFLAGS="$SLKCFLAGS" PREFIX=/usr
-make install DESTDIR=$PKG PREFIX=/usr SBINDIR=/usr/sbin
+make CFLAGS="$SLKCFLAGS" CXXFLAGS="$SLKCFLAGS" PREFIX=/usr SBINDIR=/usr/sbin
+make install CFLAGS="$SLKCFLAGS" CXXFLAGS="$SLKCFLAGS" \
+ PREFIX=/usr SBINDIR=/usr/sbin DESTDIR=$PKG
+
+rm -f $PKG/etc/nvme/*
+rm -r $PKG/etc/udev
+rm -r $PKG/usr/lib/{dracut,systemd}
+rmdir --ignore-fail-on-non-empty $PKG/usr/lib
find $PKG -print0 | xargs -0 file | grep -e "executable" -e "shared object" | grep ELF \
| cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null || true
@@ -76,14 +82,13 @@ mv $PKG/usr/share/bash-completion/completions/nvme $PKG/etc/bash_completion.d/nv
rmdir $PKG/usr/share/bash-completion/completions/
rmdir $PKG/usr/share/bash-completion/
-mv $PKG/usr/share/man $PKG/usr/
-rmdir --ignore-fail-on-non-empty $PKG/usr/share/
+mv $PKG/usr/share/man $PKG/usr/man
find $PKG/usr/man -type f -exec gzip -9 {} \;
for i in $( find $PKG/usr/man -type l ) ; do ln -s $( readlink $i ).gz $i.gz ; rm $i ; done
mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION/completions
-cp -a CONTRIBUTING.md README.md LICENSE scripts $PKG/usr/doc/$PRGNAM-$VERSION
+cp -a CONTRIBUTING* README* LICENSE* scripts $PKG/usr/doc/$PRGNAM-$VERSION
cp -a completions/{README,_nvme} $PKG/usr/doc/$PRGNAM-$VERSION/completions
cat $CWD/$PRGNAM.SlackBuild > $PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM.SlackBuild
diff --git a/system/nvme-cli/nvme-cli.info b/system/nvme-cli/nvme-cli.info
index 02383baa91..b5ecb010b2 100644
--- a/system/nvme-cli/nvme-cli.info
+++ b/system/nvme-cli/nvme-cli.info
@@ -1,8 +1,8 @@
PRGNAM="nvme-cli"
-VERSION="1.9"
+VERSION="1.13"
HOMEPAGE="https://github.com/linux-nvme/nvme-cli"
-DOWNLOAD="https://github.com/linux-nvme/nvme-cli/archive/v1.9/nvme-cli-1.9.tar.gz"
-MD5SUM="013f0112fe8247789361af3932d1db68"
+DOWNLOAD="https://github.com/linux-nvme/nvme-cli/archive/v1.13/nvme-cli-1.13.tar.gz"
+MD5SUM="a9a326d481fa7bd68cb03bfc5c5e7f44"
DOWNLOAD_x86_64=""
MD5SUM_x86_64=""
REQUIRES=""
diff --git a/system/oksh/README b/system/oksh/README
new file mode 100644
index 0000000000..0690eec862
--- /dev/null
+++ b/system/oksh/README
@@ -0,0 +1 @@
+Portable OpenBSD ksh, based on the Public Domain Korn Shell (pdksh).
diff --git a/system/oksh/doinst.sh b/system/oksh/doinst.sh
new file mode 100644
index 0000000000..de374ed98d
--- /dev/null
+++ b/system/oksh/doinst.sh
@@ -0,0 +1,8 @@
+if [ ! -r etc/shells ]; then
+ touch etc/shells
+ chmod 644 etc/shells
+fi
+
+if ! grep -q /bin/oksh etc/shells ; then
+ printf %s\\n /bin/oksh >> etc/shells
+fi
diff --git a/system/oksh/oksh.SlackBuild b/system/oksh/oksh.SlackBuild
new file mode 100644
index 0000000000..b1b8988316
--- /dev/null
+++ b/system/oksh/oksh.SlackBuild
@@ -0,0 +1,100 @@
+#!/bin/sh
+
+# Slackware build script for oksh
+
+# Copyright 2019-2020 Hunter Sezen California, 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.
+
+PRGNAM=oksh
+VERSION=${VERSION:-6.8.1}
+BUILD=${BUILD:-1}
+TAG=${TAG:-_SBo}
+
+if [ -z "$ARCH" ]; then
+ case "$( uname -m )" in
+ i?86) ARCH=i586 ;;
+ arm*) ARCH=arm ;;
+ *) ARCH=$( uname -m ) ;;
+ esac
+fi
+
+CWD=$(pwd)
+TMP=${TMP:-/tmp/SBo}
+PKG=$TMP/package-$PRGNAM
+OUTPUT=${OUTPUT:-/tmp}
+
+if [ "$ARCH" = "i586" ]; then
+ SLKCFLAGS="-O2 -march=i586 -mtune=i686"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "i686" ]; then
+ SLKCFLAGS="-O2 -march=i686 -mtune=i686"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "x86_64" ]; then
+ SLKCFLAGS="-O2 -fPIC"
+ LIBDIRSUFFIX="64"
+else
+ SLKCFLAGS="-O2"
+ LIBDIRSUFFIX=""
+fi
+
+set -eu
+
+rm -rf $PKG
+mkdir -p $TMP $PKG $OUTPUT
+cd $TMP
+rm -rf $PRGNAM-$VERSION
+tar xvf $CWD/$PRGNAM-$VERSION.tar.gz
+cd $PRGNAM-$VERSION
+chown -R root:root .
+find -L . \
+ \( -perm 777 -o -perm 775 -o -perm 750 -o -perm 711 -o -perm 555 \
+ -o -perm 511 \) -exec chmod 755 {} \; -o \
+ \( -perm 666 -o -perm 664 -o -perm 640 -o -perm 600 -o -perm 444 \
+ -o -perm 440 -o -perm 400 \) -exec chmod 644 {} \;
+
+CFLAGS="$SLKCFLAGS" \
+./configure \
+ --prefix=/usr \
+ --bindir=/bin \
+ --mandir=/usr/man
+
+make
+make install DESTDIR=$PKG
+
+mkdir -p $PKG/usr/bin
+ln -sf /bin/$PRGNAM $PKG/usr/bin/$PRGNAM
+
+find $PKG -print0 | xargs -0 file | grep -e "executable" -e "shared object" |
+ grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null || true
+
+find $PKG/usr/man -type f -exec gzip -9 {} \;
+for i in $( find $PKG/usr/man -type l ) ; do ln -s $( readlink $i ).gz $i.gz ; rm $i ; done
+
+mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION
+cp -a CONTRIBUTORS LEGAL NOTES PROJECTS README.md README.pdksh \
+ $PKG/usr/doc/$PRGNAM-$VERSION
+cat $CWD/$PRGNAM.SlackBuild > $PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM.SlackBuild
+
+mkdir -p $PKG/install
+cat $CWD/slack-desc > $PKG/install/slack-desc
+cat $CWD/doinst.sh > $PKG/install/doinst.sh
+
+cd $PKG
+/sbin/makepkg -l y -c n $OUTPUT/$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.${PKGTYPE:-tgz}
diff --git a/system/oksh/oksh.info b/system/oksh/oksh.info
new file mode 100644
index 0000000000..ca37cc9ba1
--- /dev/null
+++ b/system/oksh/oksh.info
@@ -0,0 +1,10 @@
+PRGNAM="oksh"
+VERSION="6.8.1"
+HOMEPAGE="https://github.com/ibara/oksh"
+DOWNLOAD="https://github.com/ibara/oksh/releases/download/oksh-6.8.1/oksh-6.8.1.tar.gz"
+MD5SUM="ce8b7c278e6d36bbbd7b54c218fae7ba"
+DOWNLOAD_x86_64=""
+MD5SUM_x86_64=""
+REQUIRES=""
+MAINTAINER="Hunter Sezen"
+EMAIL="orbea@riseup.net"
diff --git a/system/oksh/slack-desc b/system/oksh/slack-desc
new file mode 100644
index 0000000000..1fbc1b1032
--- /dev/null
+++ b/system/oksh/slack-desc
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description.
+# Line up the first '|' above the ':' following the base package name, and
+# the '|' on the right side marks the last column you can put a character in.
+# You must make exactly 11 lines for the formatting to be correct. It's also
+# customary to leave one space after the ':' except on otherwise blank lines.
+
+ |-----handy-ruler------------------------------------------------------|
+oksh: oksh (Portable OpenBSD ksh)
+oksh:
+oksh: Portable OpenBSD ksh(1).
+oksh:
+oksh: Homepage: https://github.com/ibara/oksh
+oksh:
+oksh:
+oksh:
+oksh:
+oksh:
+oksh:
diff --git a/system/oldschool-pc-fonts/README b/system/oldschool-pc-fonts/README
index 7f05768503..e4d1dc7c58 100644
--- a/system/oldschool-pc-fonts/README
+++ b/system/oldschool-pc-fonts/README
@@ -1,10 +1,12 @@
oldschool-pc-fonts (remakes of PC text mode fonts)
-The Ultimate Oldschool PC Font Pack brings you pixel-perfect remakes of
-various type styles from text-mode era PCs - in modern, multi-platform,
-Unicode-compatible TrueType form, and/or as Linux .psfu console fonts.
+The Ultimate Oldschool PC Font Pack brings you pixel-perfect
+remakes of various type styles from text-mode era PCs - in modern,
+multi-platform, Unicode-compatible TrueType (and OpenType Bitmap)
+form, and/or as Linux .psfu console fonts.
-By default, the package will include TrueType fonts. To also include
-console fonts, install graphics/psftools before running this script.
-If you only want console fonts, set TTF=no in the script's environment.
-See README_console.txt for more information.
+By default, the package will include TrueType and OTB (OpenType
+Bitmap) fonts. To also include console fonts (PSFU), install
+graphics/psftools before running this script. If you only want console
+fonts, set TTF=no in the script's environment. See README_console.txt
+for more information.
diff --git a/system/oldschool-pc-fonts/doinst.sh b/system/oldschool-pc-fonts/doinst.sh
index 251ce03afb..4d463758c8 100644
--- a/system/oldschool-pc-fonts/doinst.sh
+++ b/system/oldschool-pc-fonts/doinst.sh
@@ -4,6 +4,10 @@ if [ -x /usr/bin/mkfontdir -a -x /usr/bin/mkfontscale ]; then
/usr/bin/mkfontscale .
/usr/bin/mkfontdir .
)
+ ( cd usr/share/fonts/misc
+ /usr/bin/mkfontscale .
+ /usr/bin/mkfontdir .
+ )
fi
if [ -x /usr/bin/fc-cache ]; then
/usr/bin/fc-cache -f
diff --git a/system/oldschool-pc-fonts/oldschool-pc-fonts.SlackBuild b/system/oldschool-pc-fonts/oldschool-pc-fonts.SlackBuild
index 0058c3ab0e..0cf5777b79 100644
--- a/system/oldschool-pc-fonts/oldschool-pc-fonts.SlackBuild
+++ b/system/oldschool-pc-fonts/oldschool-pc-fonts.SlackBuild
@@ -24,6 +24,13 @@
# Now maintained by B. Watson <yalhcru@gmail.com>
+# 20201207 bkw:
+# - Update for v2.2. Enough changes that we can't build the old version with
+# the modified script.
+# - Include all upstream's documentation.
+# - Include OTB fonts, now that they exist.
+# - gzip the .psfu fonts.
+
# 20180108 bkw:
# - Take over maintenance.
# - BUILD=2.
@@ -32,8 +39,8 @@
# - A bit of useful documentation in README_console.txt.
PRGNAM=oldschool-pc-fonts
-VERSION=${VERSION:-1.0}
-BUILD=${BUILD:-2}
+VERSION=${VERSION:-2.2}
+BUILD=${BUILD:-1}
TAG=${TAG:-_SBo}
ARCH=noarch
@@ -43,13 +50,13 @@ TMP=${TMP:-/tmp/SBo}
PKG=$TMP/package-$PRGNAM
OUTPUT=${OUTPUT:-/tmp}
-set -eu
+set -e
-# There are 2 sets of fonts that can be installed: the TrueType ones
-# and console ones converted from the .FON files. These 2 variables control
-# which are installed:
+# There are 2 sets of fonts that can be installed: the TrueType (and
+# OTB, OpenType Bitmap) ones and console ones converted from the .FON
+# files. These 2 variables control which are installed:
-TTF=${TTF:-yes} # By default, TTF is installed
+TTF=${TTF:-yes} # By default, TTF and OTB are installed
CONSOLE=${CONSOLE:-yes} # By default, install console fonts if possible
if [ "$CONSOLE" = "yes" ]; then
@@ -60,8 +67,8 @@ if [ "$CONSOLE" = "yes" ]; then
fi
case "$TTF$CONSOLE" in
- "yesyes") TYPE="TrueType and console fonts" ;;
- "yesno") TYPE="TrueType fonts only" ;;
+ "yesyes") TYPE="TrueType/OTB and console fonts" ;;
+ "yesno") TYPE="TrueType/OTB fonts only" ;;
"noyes") TYPE="console fonts only" ;;
"nono") echo "!!! At least one of TTF or CONSOLE must be set to 'yes'"
exit 1; ;;
@@ -73,26 +80,25 @@ rm -rf $PKG
mkdir -p $TMP $PKG $OUTPUT
cd $TMP
rm -rf $PRGNAM-$VERSION
-unzip $CWD/ultimate_oldschool_pc_font_pack_v${VERSION}.zip -d $PRGNAM-$VERSION
+unzip $CWD/oldschool_pc_font_pack_v${VERSION}_FULL.zip -d $PRGNAM-$VERSION
cd $PRGNAM-$VERSION
chown -R root:root .
-find -L . \
- \( -perm 777 -o -perm 775 -o -perm 750 -o -perm 711 -o -perm 555 \
- -o -perm 511 \) -exec chmod 755 {} \+ -o \
- \( -perm 666 -o -perm 664 -o -perm 640 -o -perm 600 -o -perm 444 \
- -o -perm 440 -o -perm 400 \) -exec chmod 644 {} \+
+find -L . -perm /111 -a \! -perm 755 -a -exec chmod 755 {} \+ -o \
+ \! -perm /111 -a \! -perm 644 -a -exec chmod 644 {} \+
if [ "$TTF" = "yes" ]; then
- mkdir -p $PKG/usr/share/fonts/TTF
+ mkdir -p $PKG/usr/share/fonts/TTF $PKG/usr/share/fonts/misc
cp -a */*.ttf $PKG/usr/share/fonts/TTF
+ cp -a */*.otb $PKG/usr/share/fonts/misc
fi
if [ "$CONSOLE" = "yes" ]; then
- # The "PS/2thin" fonts don't extract, because fon2fnts insists on using
+ # A few of the fonts don't extract, because fon2fnts insists on using
# the font name embedded in the .FON file as a filename, and these have
# a slash in them. On Windows, no problem, but a slash is a directory
# separator here... but, sed can handle binary files, so we can fix it:
- sed -i 's,PS/2,PS_2,g' */*IBM_PS2thin*.FON
+ sed -i 's,PS/55,PS-55,g' */*IBM_PS-55*.FON
+ sed -i 's,DOS/V,DOS-V,g' */*DOS-V*.FON
mkdir -p $PKG/usr/share/kbd/consolefonts
@@ -108,10 +114,13 @@ if [ "$CONSOLE" = "yes" ]; then
echo "=== $fnt => $psf"
fnt2psf --psf2 --codepage=437 "$fnt" $PKG/usr/share/kbd/consolefonts/$psf
done
+ gzip $PKG/usr/share/kbd/consolefonts/*.psfu
fi
+# Don't include README.NFO, it's the same as README.TXT but with some
+# CP437 characters in the ASCII art logo.
mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION
-cp -a LICENSE.TXT README.NFO $PKG/usr/doc/$PRGNAM-$VERSION
+cp -a *.TXT docs/*.pdf $PKG/usr/doc/$PRGNAM-$VERSION
cat $CWD/README_console.txt > $PKG/usr/doc/$PRGNAM-$VERSION/README_console.txt
cat $CWD/$PRGNAM.SlackBuild > $PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM.SlackBuild
diff --git a/system/oldschool-pc-fonts/oldschool-pc-fonts.info b/system/oldschool-pc-fonts/oldschool-pc-fonts.info
index 171e47a484..50cb1c1984 100644
--- a/system/oldschool-pc-fonts/oldschool-pc-fonts.info
+++ b/system/oldschool-pc-fonts/oldschool-pc-fonts.info
@@ -1,8 +1,8 @@
PRGNAM="oldschool-pc-fonts"
-VERSION="1.0"
+VERSION="2.2"
HOMEPAGE="https://int10h.org/oldschool-pc-fonts/"
-DOWNLOAD="https://int10h.org/oldschool-pc-fonts/download/ultimate_oldschool_pc_font_pack_v1.0.zip"
-MD5SUM="24acf70a302419895544e32757cfe4c8"
+DOWNLOAD="https://int10h.org/oldschool-pc-fonts/download/oldschool_pc_font_pack_v2.2_FULL.zip"
+MD5SUM="95561227c894f874127e3776284a0c16"
DOWNLOAD_x86_64=""
MD5SUM_x86_64=""
REQUIRES=""
diff --git a/system/oldschool-pc-fonts/slack-desc b/system/oldschool-pc-fonts/slack-desc
index a0b79293f7..cc9360e092 100644
--- a/system/oldschool-pc-fonts/slack-desc
+++ b/system/oldschool-pc-fonts/slack-desc
@@ -10,8 +10,8 @@ oldschool-pc-fonts: oldschool-pc-fonts (remakes of PC text mode fonts)
oldschool-pc-fonts:
oldschool-pc-fonts: The Ultimate Oldschool PC Font Pack brings you pixel-perfect
oldschool-pc-fonts: remakes of various type styles from text-mode era PCs - in modern,
-oldschool-pc-fonts: multi-platform, Unicode-compatible TrueType form, and/or as Linux
-oldschool-pc-fonts: .psfu console fonts.
+oldschool-pc-fonts: multi-platform, Unicode-compatible TrueType and OTB form, and/or as
+oldschool-pc-fonts: Linux .psfu console fonts.
oldschool-pc-fonts:
oldschool-pc-fonts: https://int10h.org/oldschool-pc-fonts/
oldschool-pc-fonts:
diff --git a/system/opendoas/README b/system/opendoas/README
new file mode 100644
index 0000000000..2e57141ec1
--- /dev/null
+++ b/system/opendoas/README
@@ -0,0 +1,67 @@
+This is the "OpenDoas" port of OpenBSD's doas.
+
+The doas utility is a program originally written for OpenBSD that
+allows a user to run a command as though they were another user,
+typically root. doas acts as an alternative to sudo, with simple
+configuration syntax and a smaller code base for ease of security
+auditing.
+
+Please note that running this SlackBuild will install doas with SUID
+root.
+
+To get started, write a configuration file at /etc/doas.conf. As an
+example, including the line:
+
+ permit :wheel as root
+
+will allow all users in the wheel group to act as root with doas.
+Consult the doas.conf(5) man page for further details.
+
+The parameter "keepenv" in /etc/doas.conf allows for opening graphical
+applications with doas:
+
+ permit keepenv gene as root
+
+"exec dbus-launch --exit-with-session" may be required for xinit in
+Slackware 14.2. An alternative is to run "export $(dbus-launch)" after
+starting the X session. As with su, KDE 4 graphical applications may
+fail to open with doas.
+
+Running this SlackBuild without parameters will provide a build of
+OpenDoas with shadow support if PAM is not installed, and with PAM
+support if PAM is installed. Password persistence is disabled by
+default.
+
+To enable timestamp-based password persistence, call the SlackBuild
+with PERSIST=yes:
+
+ PERSIST=yes ./opendoas.SlackBuild
+
+In addition, ensure that the appropriate user or group line in
+/etc/doas.conf includes the "persist" option, as in this example:
+
+ permit persist jane as root
+
+Please note that upstream considers timestamp-based password
+persistence to be "new and potentially dangerous."
+
+For users with PAM installed, enable shadow authentication instead by
+calling the SlackBuild with PAM=no:
+
+ PAM=no ./opendoas.SlackBuild
+
+If /etc/pam.d/other and /etc/pam.d/system-auth are unmodified from the
+state in which they are shipped in -current, doas will run with PAM
+support if so compiled. Otherwise, doas may require a dedicated file at
+/etc/pam.d/doas to use PAM authentication.
+
+To allow OpenDoas to write a new PAM configuration file for doas, call
+the SlackBuild with PAM_FILE=yes:
+
+ PAM_FILE=yes ./opendoas.SlackBuild
+
+Upstream will not include PAM configuration files in releases of
+OpenDoas beyond 6.8.1.
+
+opendoas has no outside dependencies on Slackware 14.2 and adds no
+users or groups. opendoas conflicts with all other ports of doas.
diff --git a/system/opendoas/doinst.sh b/system/opendoas/doinst.sh
new file mode 100644
index 0000000000..97b05239d4
--- /dev/null
+++ b/system/opendoas/doinst.sh
@@ -0,0 +1,14 @@
+config() {
+ NEW="$1"
+ OLD="$(dirname $NEW)/$(basename $NEW .new)"
+ # If there's no config file by that name, mv it over:
+ if [ ! -r $OLD ]; then
+ mv $NEW $OLD
+ elif [ "$(cat $OLD | md5sum)" = "$(cat $NEW | md5sum)" ]; then
+ # toss the redundant copy
+ rm $NEW
+ fi
+ # Otherwise, we leave the .new copy for the admin to consider...
+}
+
+config etc/pam.d/doas.new
diff --git a/system/opendoas/opendoas.SlackBuild b/system/opendoas/opendoas.SlackBuild
new file mode 100644
index 0000000000..656a1323f3
--- /dev/null
+++ b/system/opendoas/opendoas.SlackBuild
@@ -0,0 +1,136 @@
+#!/bin/sh
+
+# Slackware build script for opendoas
+
+# Copyright 2021 K. Eugene Carlson Tsukuba, Japan
+# 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.
+
+PRGNAM=opendoas
+VERSION=${VERSION:-6.8.1}
+BUILD=${BUILD:-1}
+TAG=${TAG:-_SBo}
+
+unset TIMESTAMP
+unset SHADOW
+
+# Use PERSIST=yes to enable timestamp-based password persistence. Upstream
+# considers this feature to be "new and potentially dangerous."
+[ ${PERSIST:-no} = yes ] && TIMESTAMP="--with-timestamp"
+
+# Use PAM=no to enable shadow authentication even on systems with PAM
+# installed. If shadow is not set, then doas will compile with PAM support
+# automatically if PAM is installed.
+[ ${PAM:-yes} = no ] && SHADOW="--with-shadow"
+
+if [ -z "$ARCH" ]; then
+ case "$( uname -m )" in
+ i?86) ARCH=i586 ;;
+ arm*) ARCH=arm ;;
+ *) ARCH=$( uname -m ) ;;
+ esac
+fi
+
+CWD=$(pwd)
+TMP=${TMP:-/tmp/SBo}
+PKG=$TMP/package-$PRGNAM
+OUTPUT=${OUTPUT:-/tmp}
+
+if [ "$ARCH" = "i586" ]; then
+ SLKCFLAGS="-O2 -march=i586 -mtune=i686"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "i686" ]; then
+ SLKCFLAGS="-O2 -march=i686 -mtune=i686"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "x86_64" ]; then
+ SLKCFLAGS="-O2 -fPIC"
+ LIBDIRSUFFIX="64"
+else
+ SLKCFLAGS="-O2"
+ LIBDIRSUFFIX=""
+fi
+
+set -e
+
+rm -rf $PKG
+mkdir -p $TMP $PKG $OUTPUT
+cd $TMP
+rm -rf $PRGNAM-$VERSION
+tar xvf $CWD/$PRGNAM-$VERSION.tar.gz
+cd $PRGNAM-$VERSION
+chown -R root:root .
+find -L . \
+ \( -perm 777 -o -perm 775 -o -perm 750 -o -perm 711 -o -perm 555 \
+ -o -perm 511 \) -exec chmod 755 {} \; -o \
+ \( -perm 666 -o -perm 664 -o -perm 640 -o -perm 600 -o -perm 444 \
+ -o -perm 440 -o -perm 400 \) -exec chmod 644 {} \;
+
+# Pass in shadow support if PAM is not installed. OpenDoas defaults to PAM
+# authentication otherwise.
+if [ ! -L /lib${LIBDIRSUFFIX}/libpam.so.? ]; then
+ SHADOW="--with-shadow"
+fi
+
+# No CXXFLAGS
+CFLAGS="$SLKCFLAGS" \
+./configure \
+ --prefix=/usr \
+ $SHADOW \
+ $TIMESTAMP \
+ --mandir=/usr/man
+
+make
+make install DESTDIR=$PKG
+
+find $PKG -print0 | xargs -0 file | grep -e "executable" -e "shared object" | grep ELF \
+ | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null || true
+
+find $PKG/usr/man -type f -exec gzip -9 {} \;
+for i in $( find $PKG/usr/man -type l ) ; do ln -s $( readlink $i ).gz $i.gz ; rm $i ; done
+
+mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION
+cp -a \
+ LICENSE README.md \
+ $PKG/usr/doc/$PRGNAM-$VERSION
+cat $CWD/$PRGNAM.SlackBuild > $PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM.SlackBuild
+
+mkdir -p $PKG/install
+cat $CWD/slack-desc > $PKG/install/slack-desc
+
+chmod 4711 $PKG/usr/bin/doas
+
+# If PAM support is enabled, rename the package's PAM file to doas.new.
+if [ -f "$PKG/etc/pam.d/doas" ]; then
+ mv $PKG/etc/pam.d/doas $PKG/etc/pam.d/doas.new
+fi
+
+# Delete the new configuration file and its directory if PAM_FILE=yes was not
+# used. For Slackware -current users, doas can use PAM authentication provided
+# that /etc/pam.d/other and /etc/pam.d/system-auth have not been altered from
+# the state in which they are shipped. Writing new PAM configuration files was
+# deprecated after the current release of OpenDoas. To allow OpenDoas to write
+# a configuration file anyway, use PAM_FILE=yes.
+[ ${PAM_FILE:-no} != yes ] && rm -rf $PKG/etc
+
+if [ -f "$PKG/etc/pam.d/doas.new" ]; then
+ cat $CWD/doinst.sh > $PKG/install/doinst.sh
+fi
+
+cd $PKG
+/sbin/makepkg -l y -c n $OUTPUT/$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.${PKGTYPE:-tgz}
diff --git a/system/opendoas/opendoas.info b/system/opendoas/opendoas.info
new file mode 100644
index 0000000000..19ab89a182
--- /dev/null
+++ b/system/opendoas/opendoas.info
@@ -0,0 +1,10 @@
+PRGNAM="opendoas"
+VERSION="6.8.1"
+HOMEPAGE="https://github.com/Duncaen/opendoas"
+DOWNLOAD="https://github.com/Duncaen/OpenDoas/releases/download/v6.8.1/opendoas-6.8.1.tar.gz"
+MD5SUM="c174a9e39ce6d526a1db16f214d0e127"
+DOWNLOAD_x86_64=""
+MD5SUM_x86_64=""
+REQUIRES="%README%"
+MAINTAINER="K. Eugene Carlson"
+EMAIL="kvngncrlsn@gmail.com"
diff --git a/system/opendoas/slack-desc b/system/opendoas/slack-desc
new file mode 100644
index 0000000000..272e764f6a
--- /dev/null
+++ b/system/opendoas/slack-desc
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description.
+# Line up the first '|' above the ':' following the base package name, and
+# the '|' on the right side marks the last column you can put a character in.
+# You must make exactly 11 lines for the formatting to be correct. It's also
+# customary to leave one space after the ':' except on otherwise blank lines.
+
+ |-----handy-ruler------------------------------------------------------|
+opendoas: opendoas (port of doas from OpenBSD)
+opendoas:
+opendoas: doas is a sudo alternative originally written for OpenBSD. It allows
+opendoas: a user to run a command as a different user, most often root. doas
+opendoas: offers simple configuration syntax; create a config file at
+opendoas: /etc/doas.conf to get started. See doas.conf(5).
+opendoas: The opendoas package conflicts with all other ports of doas.
+opendoas: The opendoas package does not conflict with sudo.
+opendoas: Author: Ted Unangst
+opendoas: Port author: Duncan Overbruck
+opendoas: https://github.com/Duncaen/OpenDoas
diff --git a/system/openmpi/openmpi.SlackBuild b/system/openmpi/openmpi.SlackBuild
index 63d3d97832..e485215f05 100644
--- a/system/openmpi/openmpi.SlackBuild
+++ b/system/openmpi/openmpi.SlackBuild
@@ -5,7 +5,7 @@
# Copyright 2010 Erik W. Hanson, Minneapolis, MN, USA
# All rights reserved.
#
-# Copyright 2015-2019 Emmanuel N. Millan, Mendoza, Argentina.
+# Copyright 2015-2021 Emmanuel N. Millan, Mendoza, Argentina.
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
@@ -26,7 +26,7 @@
# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
PRGNAM=openmpi
-VERSION=${VERSION:-4.0.1}
+VERSION=${VERSION:-4.1.0}
BUILD=${BUILD:-2}
TAG=${TAG:-_SBo}
diff --git a/system/openmpi/openmpi.info b/system/openmpi/openmpi.info
index 770be11131..827dbf8fcd 100644
--- a/system/openmpi/openmpi.info
+++ b/system/openmpi/openmpi.info
@@ -1,8 +1,8 @@
PRGNAM="openmpi"
-VERSION="4.0.1"
+VERSION="4.1.0"
HOMEPAGE="https://www.open-mpi.org/"
-DOWNLOAD="https://download.open-mpi.org/release/open-mpi/v4.0/openmpi-4.0.1.tar.bz2"
-MD5SUM="eff784f796b2aa77facaf8056a1ad511"
+DOWNLOAD="https://download.open-mpi.org/release/open-mpi/v4.1/openmpi-4.1.0.tar.bz2"
+MD5SUM="c24200d3b3401db465ab0efd6b696f80"
DOWNLOAD_x86_64=""
MD5SUM_x86_64=""
REQUIRES=""
diff --git a/system/openrc-services/README.Slackware b/system/openrc-services/README.Slackware
index 64b6e41f3b..0179747800 100644
--- a/system/openrc-services/README.Slackware
+++ b/system/openrc-services/README.Slackware
@@ -1,4 +1,5 @@
-After installing openrc and openrc-services, on rebooting one is booted to a command line with only a minimum of services enabled.
+After installing openrc and openrc-services, one is booted to a command line
+ with only minimum of services enabled.
Some common services that could be enabled:
@@ -17,4 +18,4 @@ $ rc-status
Enabled services across all runlevels can be queried with:
$ rc-update
-Note- Services are installed to /etc/openrc/init.d
+Note: Services are installed to /etc/openrc/init.d
diff --git a/system/openrc-services/slack-desc b/system/openrc-services/slack-desc
index c41d839e93..a63e71914e 100644
--- a/system/openrc-services/slack-desc
+++ b/system/openrc-services/slack-desc
@@ -13,7 +13,7 @@ openrc-services:
openrc-services: Various scripts are provided, for packages that are in Slackware
openrc-services: plus slackbuilds.org as well as some other packages.
openrc-services:
-openrc-services:
+openrc-services: Homepage: https://gitlab.com/aadityabagga/openrc-services
openrc-services:
openrc-services:
openrc-services:
diff --git a/system/opensc/opensc.SlackBuild b/system/opensc/opensc.SlackBuild
index e7dc5c71e3..48c2d058bf 100644
--- a/system/opensc/opensc.SlackBuild
+++ b/system/opensc/opensc.SlackBuild
@@ -3,6 +3,7 @@
# Slackware build script for opensc
# Copyright 2008-2015 LukenShiro, Italy
+# Copyright 2018-2021 Matteo Bernardini <ponce@slackbuilds.org>, Pisa, Italy
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
@@ -23,13 +24,13 @@
# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
PRGNAM=opensc
-VERSION=${VERSION:-0.15.0}
+VERSION=${VERSION:-0.21.0}
BUILD=${BUILD:-1}
TAG=${TAG:-_SBo}
if [ -z "$ARCH" ]; then
case "$( uname -m )" in
- i?86) ARCH=i486 ;;
+ i?86) ARCH=i586 ;;
arm*) ARCH=arm ;;
*) ARCH=$( uname -m ) ;;
esac
@@ -40,8 +41,8 @@ TMP=${TMP:-/tmp/SBo}
PKG=$TMP/package-$PRGNAM
OUTPUT=${OUTPUT:-/tmp}
-DOCFILES="README COPYING NEWS ChangeLog"
-XSL_STYLESHEETS_VER=1.78.1
+DOCFILES="README COPYING NEWS"
+XSL_STYLESHEETS_VER=$(export LS_OPTIONS='' ; ls -1 /usr/share/xml/docbook/ | grep xsl-stylesheets- | cut -d- -f3)
# opensc now supports only one reader subsystem (pcsc-lite or openct)
OPENCT=${OPENCT:-0} # pcsc-lite is the default, openct disabled
@@ -51,8 +52,8 @@ case "$OPENCT" in
*) RDRSUBSYS_flags="--disable-pcsc --enable-openct" ;;
esac
-if [ "$ARCH" = "i486" ]; then
- SLKCFLAGS="-O2 -march=i486 -mtune=i686"
+if [ "$ARCH" = "i586" ]; then
+ SLKCFLAGS="-O2 -march=i586 -mtune=i686"
LIBDIRSUFFIX=""
elif [ "$ARCH" = "i686" ]; then
SLKCFLAGS="-O2 -march=i686 -mtune=i686"
diff --git a/system/opensc/opensc.info b/system/opensc/opensc.info
index 91496b60e0..61f33648a0 100644
--- a/system/opensc/opensc.info
+++ b/system/opensc/opensc.info
@@ -1,10 +1,10 @@
PRGNAM="opensc"
-VERSION="0.15.0"
+VERSION="0.21.0"
HOMEPAGE="https://github.com/OpenSC/OpenSC/wiki/"
-DOWNLOAD="http://downloads.sourceforge.net/opensc/OpenSC/opensc-0.15.0.tar.gz"
-MD5SUM="34c55315b7f381bd047b6435933baab4"
+DOWNLOAD="https://github.com/OpenSC/OpenSC/releases/download/0.21.0/opensc-0.21.0.tar.gz"
+MD5SUM="d9f32e065ada3303c349cb5b54cd6e37"
DOWNLOAD_x86_64=""
MD5SUM_x86_64=""
REQUIRES="pcsc-lite"
-MAINTAINER="LukenShiro"
-EMAIL="lukenshiro@ngi.it"
+MAINTAINER="Matteo Bernardini"
+EMAIL="ponce@slackbuilds.org"
diff --git a/system/openstego/README b/system/openstego/README
index 5f5c99ed88..0879579ef1 100644
--- a/system/openstego/README
+++ b/system/openstego/README
@@ -1,6 +1,7 @@
openstego (the free steganography solution)
-Note: openstego doesn't work with openjdk.
+Note: openstego works with openjdk8, if you prefer not to install the
+Oracle jdk. It does NOT work with openjdk7 or older.
OpenStego is a tool implemented in Java for generic steganography,
with support for password-based encryption of the data.
diff --git a/system/openstego/openstego.SlackBuild b/system/openstego/openstego.SlackBuild
index 1bdad7e1dd..e45c80a3e4 100644
--- a/system/openstego/openstego.SlackBuild
+++ b/system/openstego/openstego.SlackBuild
@@ -23,6 +23,12 @@
# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+# 20210221 bkw: update for v0.8.0.
+
+# 20200708 bkw:
+# - Update for v0.7.4.
+# - Add README note about openjdk8.
+
# 20180802 bkw:
# - Take over maintenance.
# - Update for v0.7.3.
@@ -30,7 +36,7 @@
# openstego.sh. This matches upstream's recommendation.
PRGNAM=openstego
-VERSION=${VERSION:-0.7.3}
+VERSION=${VERSION:-0.8.0}
BUILD=${BUILD:-1}
TAG=${TAG:-_SBo}
diff --git a/system/openstego/openstego.info b/system/openstego/openstego.info
index 4827e4dd5b..61928e0238 100644
--- a/system/openstego/openstego.info
+++ b/system/openstego/openstego.info
@@ -1,8 +1,8 @@
PRGNAM="openstego"
-VERSION="0.7.3"
+VERSION="0.8.0"
HOMEPAGE="https://www.openstego.com/"
-DOWNLOAD="https://github.com/syvaidya/openstego/releases/download/openstego-0.7.3/openstego-0.7.3.zip"
-MD5SUM="65e6acca0faab0774c7b8a6433859c2e"
+DOWNLOAD="https://github.com/syvaidya/openstego/releases/download/openstego-0.8.0/openstego-0.8.0.zip"
+MD5SUM="e172fae2f0f3aca30ae5998866e7c7f2"
DOWNLOAD_x86_64=""
MD5SUM_x86_64=""
REQUIRES="jdk"
diff --git a/system/osinfo-db-tools/osinfo-db-tools.SlackBuild b/system/osinfo-db-tools/osinfo-db-tools.SlackBuild
index 9fb7bbf9d1..e929584590 100644
--- a/system/osinfo-db-tools/osinfo-db-tools.SlackBuild
+++ b/system/osinfo-db-tools/osinfo-db-tools.SlackBuild
@@ -2,7 +2,7 @@
# Slackware build script for osinfo-db-tools
-# Copyright 2016-2019 Matteo Bernardini <ponce@slackbuilds.org>, Pisa, Italy
+# Copyright 2016-2020 Matteo Bernardini <ponce@slackbuilds.org>, Pisa, Italy
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
@@ -23,7 +23,7 @@
# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
PRGNAM=osinfo-db-tools
-VERSION=${VERSION:-1.6.0}
+VERSION=${VERSION:-1.8.0}
BUILD=${BUILD:-1}
TAG=${TAG:-_SBo}
@@ -54,7 +54,7 @@ else
LIBDIRSUFFIX=""
fi
-DOCS="AUTHORS ChangeLog COPYING NEWS README"
+DOCS="CONTRIBUTING.md COPYING NEWS README"
set -e
@@ -71,19 +71,21 @@ find -L . \
\( -perm 666 -o -perm 664 -o -perm 640 -o -perm 600 -o -perm 444 \
-o -perm 440 -o -perm 400 \) -exec chmod 644 {} \;
-CFLAGS="$SLKCFLAGS" \
-CXXFLAGS="$SLKCFLAGS" \
-./configure \
- --prefix=/usr \
- --libdir=/usr/lib${LIBDIRSUFFIX} \
- --sysconfdir=/etc \
- --localstatedir=/var \
- --mandir=/usr/man \
- --docdir=/usr/doc/$PRGNAM-$VERSION \
- --build=$ARCH-slackware-linux
-
-make
-make install DESTDIR=$PKG
+mkdir build
+cd build
+ CFLAGS="$SLKCFLAGS" \
+ CXXFLAGS="$SLKCFLAGS" \
+ meson .. \
+ --buildtype=release \
+ --infodir=/usr/info \
+ --libdir=/usr/lib${LIBDIRSUFFIX} \
+ --localstatedir=/var \
+ --mandir=/usr/man \
+ --prefix=/usr \
+ --sysconfdir=/etc
+ ninja
+ DESTDIR=$PKG ninja install
+cd ..
find $PKG -print0 | xargs -0 file | grep -e "executable" -e "shared object" | grep ELF \
| cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null || true
diff --git a/system/osinfo-db-tools/osinfo-db-tools.info b/system/osinfo-db-tools/osinfo-db-tools.info
index 906b8fceca..ca3b2013a9 100644
--- a/system/osinfo-db-tools/osinfo-db-tools.info
+++ b/system/osinfo-db-tools/osinfo-db-tools.info
@@ -1,10 +1,10 @@
PRGNAM="osinfo-db-tools"
-VERSION="1.6.0"
+VERSION="1.8.0"
HOMEPAGE="http://libosinfo.org"
-DOWNLOAD="https://releases.pagure.org/libosinfo/osinfo-db-tools-1.6.0.tar.gz"
-MD5SUM="edfb599f960161d348c67f3261627136"
+DOWNLOAD="https://releases.pagure.org/libosinfo/osinfo-db-tools-1.8.0.tar.xz"
+MD5SUM="4a9c1cd3871e1809b44bdb8511cfe2d4"
DOWNLOAD_x86_64=""
MD5SUM_x86_64=""
-REQUIRES="json-glib"
+REQUIRES="json-glib meson"
MAINTAINER="Matteo Bernardini"
EMAIL="ponce@slackbuilds.org"
diff --git a/system/osinfo-db/osinfo-db.SlackBuild b/system/osinfo-db/osinfo-db.SlackBuild
index 0e69ab1779..9acaaa242c 100644
--- a/system/osinfo-db/osinfo-db.SlackBuild
+++ b/system/osinfo-db/osinfo-db.SlackBuild
@@ -2,7 +2,7 @@
# Slackware build script for osinfo-db
-# Copyright 2016-2019 Matteo Bernardini <ponce@slackbuilds.org>, Pisa, Italy
+# Copyright 2016-2020 Matteo Bernardini <ponce@slackbuilds.org>, Pisa, Italy
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
@@ -23,7 +23,7 @@
# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
PRGNAM=osinfo-db
-VERSION=${VERSION:-20190805}
+VERSION=${VERSION:-20200813}
SLVERSION=${SLVERSION:-20190702}
BUILD=${BUILD:-1}
TAG=${TAG:-_SBo}
diff --git a/system/osinfo-db/osinfo-db.info b/system/osinfo-db/osinfo-db.info
index 6efe44a4c1..9d327df7ee 100644
--- a/system/osinfo-db/osinfo-db.info
+++ b/system/osinfo-db/osinfo-db.info
@@ -1,9 +1,9 @@
PRGNAM="osinfo-db"
-VERSION="20190805"
+VERSION="20200813"
HOMEPAGE="http://libosinfo.org"
-DOWNLOAD="https://releases.pagure.org/libosinfo/osinfo-db-20190805.tar.xz \
+DOWNLOAD="https://releases.pagure.org/libosinfo/osinfo-db-20200813.tar.xz \
http://ponce.cc/slackware/sources/repo/osinfo-db-slackware-20190702.tar.xz"
-MD5SUM="ecf25fea17d7db2e4281ae52e4a36b94 \
+MD5SUM="da055fc0c589a672f926c346367e218a \
988b651d5f600eaa42cc1da91c7d765c"
DOWNLOAD_x86_64=""
MD5SUM_x86_64=""
diff --git a/system/osquery-bin/README b/system/osquery-bin/README
new file mode 100644
index 0000000000..3e8850a5bf
--- /dev/null
+++ b/system/osquery-bin/README
@@ -0,0 +1,4 @@
+osquery - an operating system instrumentation framework
+
+Osquery uses basic SQL commands to leverage a relational data-model to
+describe a device.
diff --git a/system/osquery-bin/doinst.sh b/system/osquery-bin/doinst.sh
new file mode 100644
index 0000000000..67b687ee90
--- /dev/null
+++ b/system/osquery-bin/doinst.sh
@@ -0,0 +1,22 @@
+config() {
+ NEW="$1"
+ OLD="$(dirname $NEW)/$(basename $NEW .new)"
+ if [ ! -r $OLD ]; then
+ mv $NEW $OLD
+ elif [ "$(cat $OLD | md5sum)" = "$(cat $NEW | md5sum)" ]; then
+ rm $NEW
+ fi
+}
+
+preserve_perms() {
+ NEW="$1"
+ OLD="$(dirname $NEW)/$(basename $NEW .new)"
+ if [ -e $OLD ]; then
+ cp -a $OLD ${NEW}.incoming
+ cat $NEW > ${NEW}.incoming
+ mv ${NEW}.incoming $NEW
+ fi
+ config $NEW
+}
+
+preserve_perms etc/rc.d/rc.osqueryd.new
diff --git a/system/osquery-bin/osquery-bin.SlackBuild b/system/osquery-bin/osquery-bin.SlackBuild
new file mode 100644
index 0000000000..a91e4ae2ff
--- /dev/null
+++ b/system/osquery-bin/osquery-bin.SlackBuild
@@ -0,0 +1,95 @@
+#!/bin/sh
+
+# Slackware build script for osquery-bin
+
+# Copyright 2019-2021 Andrew Clemons, Wellington New Zealand
+# 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.
+
+PRGNAM=osquery-bin
+SRCNAM=${PRGNAM%-bin}
+VERSION=${VERSION:-4.7.0}
+BUILD=${BUILD:-1}
+TAG=${TAG:-_SBo}
+
+if [ -z "$ARCH" ]; then
+ case "$( uname -m )" in
+ i?86) ARCH=i586 ;;
+ arm*) ARCH=arm ;;
+ *) ARCH=$( uname -m ) ;;
+ esac
+fi
+
+CWD=$(pwd)
+TMP=${TMP:-/tmp/SBo}
+PKG=$TMP/package-$PRGNAM
+OUTPUT=${OUTPUT:-/tmp}
+
+if [ "$ARCH" = "i586" ]; then
+ SLKCFLAGS="-O2 -march=i586 -mtune=i686"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "i686" ]; then
+ SLKCFLAGS="-O2 -march=i686 -mtune=i686"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "x86_64" ]; then
+ SLKCFLAGS="-O2 -fPIC"
+ LIBDIRSUFFIX="64"
+else
+ SLKCFLAGS="-O2"
+ LIBDIRSUFFIX=""
+fi
+
+set -e
+
+rm -rf $PKG
+mkdir -p $TMP $PKG $OUTPUT
+cd $PKG
+
+if [ "$ARCH" = "x86_64" ]; then
+ tar xvf $CWD/$SRCNAM-$VERSION"_1.linux_x86_64.tar.gz"
+else
+ printf "$ARCH is not supported...\n"
+ exit 1
+fi
+
+chown -R root:root .
+find -L . \
+ \( -perm 777 -o -perm 775 -o -perm 750 -o -perm 711 -o -perm 555 \
+ -o -perm 511 \) -exec chmod 755 {} \; -o \
+ \( -perm 666 -o -perm 664 -o -perm 640 -o -perm 600 -o -perm 444 \
+ -o -perm 440 -o -perm 400 \) -exec chmod 644 {} \;
+
+rm -rf .scripts
+
+mkdir etc/rc.d
+mv etc/init.d/osqueryd etc/rc.d/rc.osqueryd.new
+rm -rf etc/init.d
+
+mv usr/local/* usr/
+rm -rf usr/lib usr/local
+
+mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION
+cat $CWD/$PRGNAM.SlackBuild > $PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM.SlackBuild
+
+mkdir -p $PKG/install
+cat $CWD/slack-desc > $PKG/install/slack-desc
+cat $CWD/doinst.sh > $PKG/install/doinst.sh
+
+cd $PKG
+/sbin/makepkg -l y -c n $OUTPUT/$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.${PKGTYPE:-tgz}
diff --git a/system/osquery-bin/osquery-bin.info b/system/osquery-bin/osquery-bin.info
new file mode 100644
index 0000000000..057c9aa043
--- /dev/null
+++ b/system/osquery-bin/osquery-bin.info
@@ -0,0 +1,10 @@
+PRGNAM="osquery-bin"
+VERSION="4.7.0"
+HOMEPAGE="https://osquery.io/"
+DOWNLOAD="UNSUPPORTED"
+MD5SUM=""
+DOWNLOAD_x86_64="https://pkg.osquery.io/linux/osquery-4.7.0_1.linux_x86_64.tar.gz"
+MD5SUM_x86_64="e0fc79761a0d8008ee5f5d5f4c04181a"
+REQUIRES=""
+MAINTAINER="Andrew Clemons"
+EMAIL="andrew.clemons@gmail.com"
diff --git a/system/osquery-bin/slack-desc b/system/osquery-bin/slack-desc
new file mode 100644
index 0000000000..cc16ca601f
--- /dev/null
+++ b/system/osquery-bin/slack-desc
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description.
+# Line up the first '|' above the ':' following the base package name, and
+# the '|' on the right side marks the last column you can put a character in.
+# You must make exactly 11 lines for the formatting to be correct. It's also
+# customary to leave one space after the ':' except on otherwise blank lines.
+
+ |-----handy-ruler------------------------------------------------------|
+osquery-bin: osquery-bin (an operating system instrumentation framework)
+osquery-bin:
+osquery-bin: osquery is an operating system instrumentation framework
+osquery-bin:
+osquery-bin: https://osquery.io/
+osquery-bin:
+osquery-bin:
+osquery-bin:
+osquery-bin:
+osquery-bin:
+osquery-bin:
diff --git a/system/ossec-agent/README b/system/ossec-agent/README
index f973332031..e16fad6ea6 100644
--- a/system/ossec-agent/README
+++ b/system/ossec-agent/README
@@ -2,4 +2,13 @@ OSSEC is an Open Source Host-based Intrusion Detection System that performs log
analysis, file integrity checking, policy monitoring, rootkit detection,
real-time alerting and active response.
+The following build options are available:
+
+ GEOIP=yes Enable GeoIP support (requires GeoIP)
+ INOTIFY=yes Enable inotify for monitoring filesystem events
+
+Example of enabling the GeoIP and inotify support:
+
+ GEOIP=yes INOTIFY=yes ./ossec-agent.SlackBuild
+
See README.SLACKWARE for installation instructions.
diff --git a/system/ossec-agent/ossec-agent.SlackBuild b/system/ossec-agent/ossec-agent.SlackBuild
index 630bddc0f7..6d5963a33e 100644
--- a/system/ossec-agent/ossec-agent.SlackBuild
+++ b/system/ossec-agent/ossec-agent.SlackBuild
@@ -2,7 +2,7 @@
# Slackware build script for ossec-agent
-# Copyright 2016 Mario Preksavec, Zagreb, Croatia
+# Copyright 2016, 2020 Mario Preksavec, Zagreb, Croatia
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
@@ -22,8 +22,10 @@
# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+# Special thanks to Jason Graham for patches and testing
+
PRGNAM=ossec-agent
-VERSION=${VERSION:-2.9.1}
+VERSION=${VERSION:-3.6.0}
BUILD=${BUILD:-1}
TAG=${TAG:-_SBo}
@@ -61,6 +63,14 @@ USERID_MAIL=${USERID_MAIL:-334}
USERID_REMOTE=${USERID_REMOTE:-335}
GROUPID=${GROUPID:-333}
+if [ "$GEOIP" != "yes" ]; then
+ GEOIP=no
+fi
+
+if [ "$INOTIFY" != "yes" ]; then
+ INOTIFY=no
+fi
+
if ! grep ^ossec: /etc/group 2>&1 > /dev/null \
|| ! grep -E '^(ossec|ossecm|ossecr):' /etc/passwd 2>&1 > /dev/null; then
echo -e "\n You must have ossec users and a group to run this script\n"
@@ -113,8 +123,10 @@ sed -e 's|\(./init/adduser.sh.*\)|#\1|' \
# There is no configure script and install.sh is a bit limited
( cd src
- make PREFIX=$PKG/var/ossec TARGET=agent build
- make PREFIX=$PKG/var/ossec TARGET=agent install
+ make USE_GEOIP=$GEOIP USE_INOTIFY=$INOTIFY \
+ PREFIX=$PKG/var/ossec TARGET=agent build
+ make USE_GEOIP=$GEOIP USE_INOTIFY=$INOTIFY \
+ PREFIX=$PKG/var/ossec TARGET=agent install
)
# Prepare system /etc
@@ -141,7 +153,8 @@ find $PKG -print0 | xargs -0 file | grep -e "executable" -e "shared object" | gr
| cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null || true
mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION
-cp -a BUGS CHANGELOG CONFIG CONTRIBUTORS LICENSE README.md doc/{*.txt,README.*} \
+cp -a BUGS CHANGELOG.md CONFIG CONTRIBUTORS INSTALL LICENSE README.md SUPPORT.md \
+ doc/{*.txt,README.*} \
$CWD/README.SLACKWARE $PKG/usr/doc/$PRGNAM-$VERSION
cat $CWD/$PRGNAM.SlackBuild > $PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM.SlackBuild
diff --git a/system/ossec-agent/ossec-agent.info b/system/ossec-agent/ossec-agent.info
index 7b29fcca51..10cce74f00 100644
--- a/system/ossec-agent/ossec-agent.info
+++ b/system/ossec-agent/ossec-agent.info
@@ -1,10 +1,10 @@
PRGNAM="ossec-agent"
-VERSION="2.9.1"
+VERSION="3.6.0"
HOMEPAGE="https://ossec.github.io/"
-DOWNLOAD="https://github.com/ossec/ossec-hids/archive/2.9.1/ossec-hids-2.9.1.tar.gz"
-MD5SUM="51eb7958a752a8f1651395b1fe61e864"
+DOWNLOAD="https://github.com/ossec/ossec-hids/archive/3.6.0/ossec-hids-3.6.0.tar.gz"
+MD5SUM="03fe101f736e834b3804bac8bb4aa980"
DOWNLOAD_x86_64=""
MD5SUM_x86_64=""
-REQUIRES=""
+REQUIRES="pcre2"
MAINTAINER="Mario Preksavec"
EMAIL="mario at slackware dot hr"
diff --git a/system/ossec-local/README b/system/ossec-local/README
index f973332031..abc215b6eb 100644
--- a/system/ossec-local/README
+++ b/system/ossec-local/README
@@ -2,4 +2,13 @@ OSSEC is an Open Source Host-based Intrusion Detection System that performs log
analysis, file integrity checking, policy monitoring, rootkit detection,
real-time alerting and active response.
+The following build options are available:
+
+ GEOIP=yes Enable GeoIP support (requires GeoIP)
+ INOTIFY=yes Enable inotify for monitoring filesystem events
+
+Example of enabling the GeoIP and inotify support:
+
+ GEOIP=yes INOTIFY=yes ./ossec-local.SlackBuild
+
See README.SLACKWARE for installation instructions.
diff --git a/system/ossec-local/ossec-local.SlackBuild b/system/ossec-local/ossec-local.SlackBuild
index 51a29e7786..cd43e82965 100644
--- a/system/ossec-local/ossec-local.SlackBuild
+++ b/system/ossec-local/ossec-local.SlackBuild
@@ -2,7 +2,7 @@
# Slackware build script for ossec-local
-# Copyright 2016 Mario Preksavec, Zagreb, Croatia
+# Copyright 2016, 2020 Mario Preksavec, Zagreb, Croatia
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
@@ -22,8 +22,10 @@
# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+# Special thanks to Jason Graham for patches and testing
+
PRGNAM=ossec-local
-VERSION=${VERSION:-2.9.1}
+VERSION=${VERSION:-3.6.0}
BUILD=${BUILD:-1}
TAG=${TAG:-_SBo}
@@ -61,6 +63,14 @@ USERID_MAIL=${USERID_MAIL:-334}
USERID_REMOTE=${USERID_REMOTE:-335}
GROUPID=${GROUPID:-333}
+if [ "$GEOIP" != "yes" ]; then
+ GEOIP=no
+fi
+
+if [ "$INOTIFY" != "yes" ]; then
+ INOTIFY=no
+fi
+
if ! grep ^ossec: /etc/group 2>&1 > /dev/null \
|| ! grep -E '^(ossec|ossecm|ossecr):' /etc/passwd 2>&1 > /dev/null; then
echo -e "\n You must have ossec users and a group to run this script\n"
@@ -113,8 +123,10 @@ sed -e 's|\(./init/adduser.sh.*\)|#\1|' \
# There is no configure script and install.sh is a bit limited
( cd src
- make PREFIX=$PKG/var/ossec TARGET=local build
- make PREFIX=$PKG/var/ossec TARGET=local install
+ make USE_GEOIP=$GEOIP USE_INOTIFY=$INOTIFY \
+ PREFIX=$PKG/var/ossec TARGET=local build
+ make USE_GEOIP=$GEOIP USE_INOTIFY=$INOTIFY \
+ PREFIX=$PKG/var/ossec TARGET=local install
)
# Prepare system /etc
@@ -141,7 +153,8 @@ find $PKG -print0 | xargs -0 file | grep -e "executable" -e "shared object" | gr
| cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null || true
mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION
-cp -a BUGS CHANGELOG CONFIG CONTRIBUTORS LICENSE README.md doc/{*.txt,README.*} \
+cp -a BUGS CHANGELOG.md CONFIG CONTRIBUTORS INSTALL LICENSE README.md SUPPORT.md \
+ doc/{*.txt,README.*} \
$CWD/README.SLACKWARE $PKG/usr/doc/$PRGNAM-$VERSION
cat $CWD/$PRGNAM.SlackBuild > $PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM.SlackBuild
diff --git a/system/ossec-local/ossec-local.info b/system/ossec-local/ossec-local.info
index f195b5f1fa..8deedf1ab3 100644
--- a/system/ossec-local/ossec-local.info
+++ b/system/ossec-local/ossec-local.info
@@ -1,10 +1,10 @@
PRGNAM="ossec-local"
-VERSION="2.9.1"
+VERSION="3.6.0"
HOMEPAGE="https://ossec.github.io/"
-DOWNLOAD="https://github.com/ossec/ossec-hids/archive/2.9.1/ossec-hids-2.9.1.tar.gz"
-MD5SUM="51eb7958a752a8f1651395b1fe61e864"
+DOWNLOAD="https://github.com/ossec/ossec-hids/archive/3.6.0/ossec-hids-3.6.0.tar.gz"
+MD5SUM="03fe101f736e834b3804bac8bb4aa980"
DOWNLOAD_x86_64=""
MD5SUM_x86_64=""
-REQUIRES=""
+REQUIRES="pcre2"
MAINTAINER="Mario Preksavec"
EMAIL="mario at slackware dot hr"
diff --git a/system/ossec-server/README b/system/ossec-server/README
index f973332031..119ee06264 100644
--- a/system/ossec-server/README
+++ b/system/ossec-server/README
@@ -2,4 +2,13 @@ OSSEC is an Open Source Host-based Intrusion Detection System that performs log
analysis, file integrity checking, policy monitoring, rootkit detection,
real-time alerting and active response.
+The following build options are available:
+
+ GEOIP=yes Enable GeoIP support (requires GeoIP)
+ INOTIFY=yes Enable inotify for monitoring filesystem events
+
+Example of enabling the GeoIP and inotify support:
+
+ GEOIP=yes INOTIFY=yes ./ossec-server.SlackBuild
+
See README.SLACKWARE for installation instructions.
diff --git a/system/ossec-server/ossec-server.SlackBuild b/system/ossec-server/ossec-server.SlackBuild
index e3b7463eb3..31c9994ab8 100644
--- a/system/ossec-server/ossec-server.SlackBuild
+++ b/system/ossec-server/ossec-server.SlackBuild
@@ -2,7 +2,7 @@
# Slackware build script for ossec-server
-# Copyright 2016 Mario Preksavec, Zagreb, Croatia
+# Copyright 2016, 2020 Mario Preksavec, Zagreb, Croatia
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
@@ -22,8 +22,10 @@
# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+# Special thanks to Jason Graham for patches and testing
+
PRGNAM=ossec-server
-VERSION=${VERSION:-2.9.1}
+VERSION=${VERSION:-3.6.0}
BUILD=${BUILD:-1}
TAG=${TAG:-_SBo}
@@ -61,6 +63,14 @@ USERID_MAIL=${USERID_MAIL:-334}
USERID_REMOTE=${USERID_REMOTE:-335}
GROUPID=${GROUPID:-333}
+if [ "$GEOIP" != "yes" ]; then
+ GEOIP=no
+fi
+
+if [ "$INOTIFY" != "yes" ]; then
+ INOTIFY=no
+fi
+
if ! grep ^ossec: /etc/group 2>&1 > /dev/null \
|| ! grep -E '^(ossec|ossecm|ossecr):' /etc/passwd 2>&1 > /dev/null; then
echo -e "\n You must have ossec users and a group to run this script\n"
@@ -113,8 +123,10 @@ sed -e 's|\(./init/adduser.sh.*\)|#\1|' \
# There is no configure script and install.sh is a bit limited
( cd src
- make PREFIX=$PKG/var/ossec TARGET=server build
- make PREFIX=$PKG/var/ossec TARGET=server install
+ make USE_GEOIP=$GEOIP USE_INOTIFY=$INOTIFY \
+ PREFIX=$PKG/var/ossec TARGET=server build
+ make USE_GEOIP=$GEOIP USE_INOTIFY=$INOTIFY \
+ PREFIX=$PKG/var/ossec TARGET=server install
)
# Prepare system /etc
@@ -141,7 +153,8 @@ find $PKG -print0 | xargs -0 file | grep -e "executable" -e "shared object" | gr
| cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null || true
mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION
-cp -a BUGS CHANGELOG CONFIG CONTRIBUTORS LICENSE README.md doc/{*.txt,README.*} \
+cp -a BUGS CHANGELOG.md CONFIG CONTRIBUTORS INSTALL LICENSE README.md SUPPORT.md \
+ doc/{*.txt,README.*} \
$CWD/README.SLACKWARE $PKG/usr/doc/$PRGNAM-$VERSION
cat $CWD/$PRGNAM.SlackBuild > $PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM.SlackBuild
diff --git a/system/ossec-server/ossec-server.info b/system/ossec-server/ossec-server.info
index 7fbdd21503..05fc9965df 100644
--- a/system/ossec-server/ossec-server.info
+++ b/system/ossec-server/ossec-server.info
@@ -1,10 +1,10 @@
PRGNAM="ossec-server"
-VERSION="2.9.1"
+VERSION="3.6.0"
HOMEPAGE="https://ossec.github.io/"
-DOWNLOAD="https://github.com/ossec/ossec-hids/archive/2.9.1/ossec-hids-2.9.1.tar.gz"
-MD5SUM="51eb7958a752a8f1651395b1fe61e864"
+DOWNLOAD="https://github.com/ossec/ossec-hids/archive/3.6.0/ossec-hids-3.6.0.tar.gz"
+MD5SUM="03fe101f736e834b3804bac8bb4aa980"
DOWNLOAD_x86_64=""
MD5SUM_x86_64=""
-REQUIRES=""
+REQUIRES="pcre2"
MAINTAINER="Mario Preksavec"
EMAIL="mario at slackware dot hr"
diff --git a/system/ostree/ostree.SlackBuild b/system/ostree/ostree.SlackBuild
index 511ce1a797..6d2f938f35 100644
--- a/system/ostree/ostree.SlackBuild
+++ b/system/ostree/ostree.SlackBuild
@@ -24,7 +24,7 @@
PRGNAM=ostree
-VERSION=${VERSION:-2019.4}
+VERSION=${VERSION:-2019.6}
BUILD=${BUILD:-1}
TAG=${TAG:-_SBo}
diff --git a/system/ostree/ostree.info b/system/ostree/ostree.info
index 4c428e168b..6e294b63c5 100644
--- a/system/ostree/ostree.info
+++ b/system/ostree/ostree.info
@@ -1,8 +1,8 @@
PRGNAM="ostree"
-VERSION="2019.4"
+VERSION="2019.6"
HOMEPAGE="https://github.com/ostreedev/ostree/"
-DOWNLOAD="https://github.com/ostreedev/ostree/releases/download/v2019.4/libostree-2019.4.tar.xz"
-MD5SUM="d5c0e2a0ed27ba4c2ce5290d1f8fb852"
+DOWNLOAD="https://github.com/ostreedev/ostree/releases/download/v2019.6/libostree-2019.6.tar.xz"
+MD5SUM="4d00cd2c5bce31b6302c71cbdb2a17eb"
DOWNLOAD_x86_64=""
MD5SUM_x86_64=""
REQUIRES=""
diff --git a/system/otf2bdf/otf2bdf.info b/system/otf2bdf/otf2bdf.info
index bac247eb9b..eecb7c1950 100644
--- a/system/otf2bdf/otf2bdf.info
+++ b/system/otf2bdf/otf2bdf.info
@@ -1,7 +1,7 @@
PRGNAM="otf2bdf"
VERSION="3.1"
HOMEPAGE="http://web.archive.org/web/20171026195930/https://www.math.nmsu.edu/~mleisher/Software/otf2bdf/"
-DOWNLOAD="http://urchlay.naptime.net/~urchlay/src/otf2bdf-3.1.tbz2"
+DOWNLOAD="https://slackware.uk/~urchlay/src/otf2bdf-3.1.tbz2"
MD5SUM="6af09173615f1dd5ae294bbf67ac52c8"
DOWNLOAD_x86_64=""
MD5SUM_x86_64=""
diff --git a/system/pacemaker/pacemaker.SlackBuild b/system/pacemaker/pacemaker.SlackBuild
index b9135b0be0..b7a01dcfc1 100644
--- a/system/pacemaker/pacemaker.SlackBuild
+++ b/system/pacemaker/pacemaker.SlackBuild
@@ -2,7 +2,8 @@
# Slackware build script for pacemaker
-# Copyright 2018 Pierre-Philipp Braun, Russia
+# Copyright 2018 Pierre-Philipp Braun, Russia
+# Copyright 2020 Mario Preksavec, Zagreb, Croatia
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
@@ -23,7 +24,7 @@
# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
PRGNAM=pacemaker
-VERSION=${VERSION:-2.0.0_rc5}
+VERSION=${VERSION:-2.0.3}
TARVER="Pacemaker-$(echo $VERSION | tr _ -)"
BUILD=${BUILD:-1}
TAG=${TAG:-_SBo}
diff --git a/system/pacemaker/pacemaker.info b/system/pacemaker/pacemaker.info
index dc306399be..4ab60618b5 100644
--- a/system/pacemaker/pacemaker.info
+++ b/system/pacemaker/pacemaker.info
@@ -1,10 +1,10 @@
PRGNAM="pacemaker"
-VERSION="2.0.0_rc5"
+VERSION="2.0.3"
HOMEPAGE="https://wiki.clusterlabs.org/wiki/Pacemaker"
-DOWNLOAD="https://github.com/ClusterLabs/pacemaker/archive/Pacemaker-2.0.0-rc5/pacemaker-Pacemaker-2.0.0-rc5.tar.gz"
-MD5SUM="5064b505bb7d7b644991374b05f1e278"
+DOWNLOAD="https://github.com/ClusterLabs/pacemaker/archive/Pacemaker-2.0.3/pacemaker-Pacemaker-2.0.3.tar.gz"
+MD5SUM="4fee89ca3485f3bf27689ad9bd1670cb"
DOWNLOAD_x86_64=""
MD5SUM_x86_64=""
REQUIRES="corosync"
-MAINTAINER="Pierre-Philipp Braun"
-EMAIL="pbraun@nethence.com"
+MAINTAINER="Mario Preksavec"
+EMAIL="mario at slackware dot hr"
diff --git a/system/parallel/parallel.SlackBuild b/system/parallel/parallel.SlackBuild
index 7ffc2f6552..11043b331e 100644
--- a/system/parallel/parallel.SlackBuild
+++ b/system/parallel/parallel.SlackBuild
@@ -2,6 +2,7 @@
# Slackware build script for "parallel".
+# Copyright 2020-2021 CRTS <crts@gmx.net>
# Copyright 2015-2017 Marcel Saegebarth <marc@mos6581.de>
# All rights reserved.
#
@@ -25,7 +26,7 @@
# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
PRGNAM=parallel
-VERSION=${VERSION:-20170622}
+VERSION=${VERSION:-20210122}
BUILD=${BUILD:-1}
TAG=${TAG:-_SBo}
@@ -89,7 +90,8 @@ find $PKG/usr/man -type f -exec gzip -9 {} \;
for i in $( find $PKG/usr/man -type l ) ; do ln -s $( readlink $i ).gz $i.gz ; rm $i ; done
mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION
-cp -a CITATION COPYING NEWS README $PKG/usr/doc/$PRGNAM-$VERSION
+cp CITATION COPYING NEWS README $PKG/usr/doc/$PRGNAM-$VERSION
+cp $CWD/GNU_Parallel_2018.pdf $PKG/usr/doc/$PRGNAM-$VERSION
cat $CWD/$PRGNAM.SlackBuild > $PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM.SlackBuild
mkdir -p $PKG/install
diff --git a/system/parallel/parallel.info b/system/parallel/parallel.info
index f8ab2f619c..b9f5ef28f2 100644
--- a/system/parallel/parallel.info
+++ b/system/parallel/parallel.info
@@ -1,10 +1,12 @@
PRGNAM="parallel"
-VERSION="20170622"
+VERSION="20210122"
HOMEPAGE="http://www.gnu.org/software/parallel/"
-DOWNLOAD="http://gnu.uberglobalmirror.com/parallel/parallel-20170622.tar.bz2"
-MD5SUM="8494ff022451aac0162f18cf3dd3ae7f"
+DOWNLOAD="https://ftp.gnu.org/gnu/parallel/parallel-20210122.tar.bz2
+ https://zenodo.org/record/1146014/files/GNU_Parallel_2018.pdf"
+MD5SUM="d7adb3a5cc00bc024eedd5718351cef4
+ e32a78d93e53029d7338eac9f4194924"
DOWNLOAD_x86_64=""
MD5SUM_x86_64=""
REQUIRES=""
-MAINTAINER="Marcel Saegebarth"
-EMAIL="marc@mos6581.de"
+MAINTAINER="CRTS"
+EMAIL="crts@gmx.net"
diff --git a/system/pass-otp/README b/system/pass-otp/README
new file mode 100644
index 0000000000..40939c0745
--- /dev/null
+++ b/system/pass-otp/README
@@ -0,0 +1,2 @@
+pass-otp is a pass extension for managing one-time-password (OTP)
+tokens.
diff --git a/system/pass-otp/pass-otp.SlackBuild b/system/pass-otp/pass-otp.SlackBuild
new file mode 100644
index 0000000000..bf7e2c60c6
--- /dev/null
+++ b/system/pass-otp/pass-otp.SlackBuild
@@ -0,0 +1,65 @@
+#!/bin/sh
+
+# Slackware build script for pass-otp
+
+# Copyright 2020 Julian Grinblat <julian@dotcore.co.il>
+# 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.
+
+PRGNAM=pass-otp
+VERSION=${VERSION:-1.2.0}
+BUILD=${BUILD:-1}
+TAG=${TAG:-_SBo}
+
+ARCH=noarch
+
+CWD=$(pwd)
+TMP=${TMP:-/tmp/SBo}
+PKG=$TMP/package-$PRGNAM
+OUTPUT=${OUTPUT:-/tmp}
+
+set -e
+
+rm -rf $PKG
+mkdir -p $TMP $PKG $OUTPUT
+cd $TMP
+rm -rf $PRGNAM-$VERSION
+tar xvf $CWD/$PRGNAM-$VERSION.tar.gz
+cd $PRGNAM-$VERSION
+chown -R root:root .
+find -L . \
+ \( -perm 777 -o -perm 775 -o -perm 750 -o -perm 711 -o -perm 555 \
+ -o -perm 511 \) -exec chmod 755 {} \; -o \
+ \( -perm 666 -o -perm 664 -o -perm 640 -o -perm 600 -o -perm 444 \
+ -o -perm 440 -o -perm 400 \) -exec chmod 644 {} \;
+
+make install PREFIX=/usr LIBDIR=/usr/lib${LIBDIRSUFFIX} MANDIR=/usr/man/man1 DESTDIR=$PKG
+
+find $PKG/usr/man -type f -exec gzip -9 {} \;
+for i in $( find $PKG/usr/man -type l ) ; do ln -s $( readlink $i ).gz $i.gz ; rm $i ; done
+
+mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION
+cp -a README.md LICENSE CHANGELOG.md $PKG/usr/doc/$PRGNAM-$VERSION
+cat $CWD/$PRGNAM.SlackBuild > $PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM.SlackBuild
+
+mkdir -p $PKG/install
+cat $CWD/slack-desc > $PKG/install/slack-desc
+
+cd $PKG
+/sbin/makepkg -l y -c n $OUTPUT/$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.${PKGTYPE:-tgz}
diff --git a/system/pass-otp/pass-otp.info b/system/pass-otp/pass-otp.info
new file mode 100644
index 0000000000..f0170768eb
--- /dev/null
+++ b/system/pass-otp/pass-otp.info
@@ -0,0 +1,10 @@
+PRGNAM="pass-otp"
+VERSION="1.2.0"
+HOMEPAGE="https://github.com/tadfisher/pass-otp"
+DOWNLOAD="https://github.com/tadfisher/pass-otp/releases/download/v1.2.0/pass-otp-1.2.0.tar.gz"
+MD5SUM="20cfa80273813294014577fead8714ca"
+DOWNLOAD_x86_64=""
+MD5SUM_x86_64=""
+REQUIRES="password-store qrencode oath-toolkit"
+MAINTAINER="Julian Grinblat"
+EMAIL="julian@dotcore.co.il"
diff --git a/system/pass-otp/slack-desc b/system/pass-otp/slack-desc
new file mode 100644
index 0000000000..c0694a4d42
--- /dev/null
+++ b/system/pass-otp/slack-desc
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description.
+# Line up the first '|' above the ':' following the base package name, and
+# the '|' on the right side marks the last column you can put a character in.
+# You must make exactly 11 lines for the formatting to be correct. It's also
+# customary to leave one space after the ':' except on otherwise blank lines.
+
+ |-----handy-ruler------------------------------------------------------|
+pass-otp: pass-otp (Manage OTP tokens)
+pass-otp:
+pass-otp: A pass extension for managing one-time-password (OTP) tokens.
+pass-otp:
+pass-otp:
+pass-otp:
+pass-otp:
+pass-otp:
+pass-otp:
+pass-otp:
+pass-otp: https://github.com/tadfisher/pass-otp
diff --git a/system/passwdqc/passwdqc.SlackBuild b/system/passwdqc/passwdqc.SlackBuild
index db014e5915..fdf2f40aa1 100644
--- a/system/passwdqc/passwdqc.SlackBuild
+++ b/system/passwdqc/passwdqc.SlackBuild
@@ -5,7 +5,7 @@
# Written by pyllyukko
PRGNAM=passwdqc
-VERSION=${VERSION:-1.3.1}
+VERSION=${VERSION:-1.4.0}
BUILD=${BUILD:-1}
TAG=${TAG:-_SBo}
diff --git a/system/passwdqc/passwdqc.info b/system/passwdqc/passwdqc.info
index 424db4dd82..869b52d24a 100644
--- a/system/passwdqc/passwdqc.info
+++ b/system/passwdqc/passwdqc.info
@@ -1,8 +1,8 @@
PRGNAM="passwdqc"
-VERSION="1.3.1"
+VERSION="1.4.0"
HOMEPAGE="http://www.openwall.com/passwdqc/"
-DOWNLOAD="http://www.openwall.com/passwdqc/passwdqc-1.3.1.tar.gz"
-MD5SUM="3878b57bcd3fdbcf3d4b362dbc6228b9"
+DOWNLOAD="https://www.openwall.com/passwdqc/passwdqc-1.4.0.tar.gz"
+MD5SUM="204de4ff2e95095272bba1b0cbab1579"
DOWNLOAD_x86_64=""
MD5SUM_x86_64=""
REQUIRES=""
diff --git a/system/password-store/password-store.SlackBuild b/system/password-store/password-store.SlackBuild
index 38d702f3b6..770081cb2c 100644
--- a/system/password-store/password-store.SlackBuild
+++ b/system/password-store/password-store.SlackBuild
@@ -65,7 +65,7 @@ fi
# Uncomment the two lines below to install the fish completion file.
#mkdir -p "${PKG}/usr/share/fish/completions"
-#install -m 0644 -v contrib/pass.fish-completion "${PKG}/usr/share/fish/completions/pass.fish"
+#install -m 0644 -v src/completion/pass.fish-completion "${PKG}/usr/share/fish/completions/pass.fish"
find $PKG/usr/man -type f -exec gzip -9 {} \;
for i in $( find $PKG/usr/man -type l ) ; do ln -s $( readlink $i ).gz $i.gz ; rm $i ; done
diff --git a/system/passwordsafe/README b/system/passwordsafe/README
index 7b4a839487..ed4afdd044 100644
--- a/system/passwordsafe/README
+++ b/system/passwordsafe/README
@@ -1,14 +1,14 @@
-Passwordsafe - password database utility (BETA)
+Passwordsafe - password database utility
-Portable version of the password manager program originally designed by Bruce
-Schneier. passwordsafe is the Linux version of the popular Windows PasswordSafe
-password manager.
+Portable version of the password manager program originally designed by
+Bruce Schneier. passwordsafe is the Linux version of the popular Windows
+PasswordSafe password manager.
-passwordsafe supports Yubicos Yubikey, a unique USB and NFC device offering one-
-touch authentication and supporting multiple authentication protocols for all
-devices and platfroms - with no driver or client software needed.
+passwordsafe supports Yubicos Yubikey, a unique USB and NFC device
+offering one- touch authentication and supporting multiple
+authentication protocols for all devices and platfroms - with no driver
+or client software needed.
-If you do not want support for Yubicos Yubikey do not install ykpers and its
-dependency (libyubikey).
+Optional dependencies:
-Read passwordsafe.info for additional dependencies.
+ykpers (for yubikey support).
diff --git a/system/passwordsafe/passwordsafe.SlackBuild b/system/passwordsafe/passwordsafe.SlackBuild
index 2224a7b4b3..c5108d251a 100644
--- a/system/passwordsafe/passwordsafe.SlackBuild
+++ b/system/passwordsafe/passwordsafe.SlackBuild
@@ -2,7 +2,7 @@
# Slackware build script for passwordsafe
-# Copyright 2019 rfmae <rfmae.git@mailbox.org>
+# Copyright 2020 rfmae <rfmae.git@mailbox.org>
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
@@ -23,7 +23,7 @@
# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
PRGNAM=passwordsafe
-VERSION=${VERSION:-1.08.2BETA}
+VERSION=${VERSION:-1.13.0}
BUILD=${BUILD:-1}
TAG=${TAG:-_SBo}
diff --git a/system/passwordsafe/passwordsafe.info b/system/passwordsafe/passwordsafe.info
index 39f3f45fec..52e1c70c0b 100644
--- a/system/passwordsafe/passwordsafe.info
+++ b/system/passwordsafe/passwordsafe.info
@@ -1,10 +1,10 @@
PRGNAM="passwordsafe"
-VERSION="1.08.2BETA"
+VERSION="1.13.0"
HOMEPAGE="https://pwsafe.org"
-DOWNLOAD="https://github.com/pwsafe/pwsafe/archive/1.08.2BETA/pwsafe-1.08.2BETA.tar.gz"
-MD5SUM="56cd908b59aad2a3073916a4e80be297"
+DOWNLOAD="https://github.com/pwsafe/pwsafe/archive/1.13.0/pwsafe-1.13.0.tar.gz"
+MD5SUM="f75a4f3646227998f34c6732e2b22404"
DOWNLOAD_x86_64=""
MD5SUM_x86_64=""
-REQUIRES="ykpers xerces-c wxGTK3 xvkbd qrencode"
+REQUIRES="xerces-c wxGTK3 xvkbd qrencode"
MAINTAINER="rfmae"
EMAIL="rfmae.git@mailbox.org"
diff --git a/system/pax/pax.SlackBuild b/system/pax/pax.SlackBuild
index 88d9083792..b316863c42 100644
--- a/system/pax/pax.SlackBuild
+++ b/system/pax/pax.SlackBuild
@@ -10,6 +10,9 @@
# By: Eric Hameleers <alien@slackware.com>
# For: pax
# Changelog:
+# 20201030: 14/Apr/2021 by Ben Collver <bencollver@gmail.com>
+# * switch to MirBSD pax
+# * removed gpl-2.0.txt
# 3.4-2: 17/Sep/2012 by Willy Sudiarto Raharjo <willysr@slackware-id.org>
# * Fix build on Slackware 14.0
# 3.4-1: 30/Nov/2008 by Ben Collver <bencollver@gmail.com>
@@ -24,13 +27,13 @@
# -----------------------------------------------------------------------------
PRGNAM=pax
-VERSION=${VERSION:-3.4}
-BUILD=${BUILD:-2}
+VERSION=${VERSION:-20201030}
+BUILD=${BUILD:-1}
TAG=${TAG:-_SBo}
if [ -z "$ARCH" ]; then
case "$( uname -m )" in
- i?86) ARCH=i486 ;;
+ i?86) ARCH=i586 ;;
arm*) ARCH=arm ;;
*) ARCH=$( uname -m ) ;;
esac
@@ -41,8 +44,8 @@ TMP=${TMP:-/tmp/SBo}
PKG=$TMP/package-$PRGNAM
OUTPUT=${OUTPUT:-/tmp}
-if [ "$ARCH" = "i486" ]; then
- SLKCFLAGS="-O2 -march=i486 -mtune=i686"
+if [ "$ARCH" = "i586" ]; then
+ SLKCFLAGS="-O2 -march=i586 -mtune=i686"
LIBDIRSUFFIX=""
elif [ "$ARCH" = "i686" ]; then
SLKCFLAGS="-O2 -march=i686 -mtune=i686"
@@ -60,41 +63,32 @@ set -e
rm -rf $PKG
mkdir -p $TMP $PKG $OUTPUT
cd $TMP
-rm -rf $PRGNAM-$VERSION
-tar xvf $CWD/$PRGNAM-$VERSION.tar.bz2
-cd $PRGNAM-$VERSION
+rm -rf $PRGNAM
+tar xvf $CWD/${PRGNAM}_$VERSION.orig.tar.gz
+cd $PRGNAM
chown -R root:root .
find -L . \
- \( -perm 777 -o -perm 775 -o -perm 750 -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 {} \;
+ \( -perm 777 -o -perm 775 -o -perm 750 -o -perm 711 -o -perm 555 \
+ -o -perm 511 \) -exec chmod 755 {} \; -o \
+ \( -perm 666 -o -perm 664 -o -perm 640 -o -perm 600 -o -perm 444 \
+ -o -perm 440 -o -perm 400 \) -exec chmod 644 {} \;
+chmod 755 Build.sh
CFLAGS="$SLKCFLAGS -Wno-error" \
-./configure \
- --prefix=/usr \
- --libdir=/usr/lib${LIBDIRSUFFIX} \
- --sysconfdir=/etc \
- --localstatedir=/var \
- --mandir=/usr/man \
- --build=$ARCH-slackware-linux
+./Build.sh
-make
-make install DESTDIR=$PKG
+mkdir -p $PKG/usr/bin $PKG/usr/man/man1
+install -c -s -o root -g bin -m 555 pax $PKG/usr/bin/pax
+install -c -o root -g bin -m 444 mans/pax.1 $PKG/usr/man/man1/pax.1
-find $PKG | xargs file | grep -e "executable" -e "shared object" | grep ELF \
+find $PKG -print0 | xargs -0 file | grep -e "executable" -e "shared object" | grep ELF \
| cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null || true
-( cd $PKG/usr/man
- find . -type f -exec gzip -9 {} \;
- for i in $( find . -type l ) ; do ln -s $( readlink $i ).gz $i.gz ; rm $i ; done
-)
+find $PKG/usr/man -type f -exec gzip -9 {} \;
+for i in $( find $PKG/usr/man -type l ) ; do ln -s $( readlink $i ).gz $i.gz ; rm $i ; done
mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION
-cp -a \
- ABOUT-NLS AUTHORS COPYING ChangeLog NEWS README THANKS \
- $PKG/usr/doc/$PRGNAM-$VERSION
-chmod 0644 $PKG/usr/doc/$PRGNAM-$VERSION/*
+cat $CWD/$PRGNAM.SlackBuild > $PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM.SlackBuild
mkdir -p $PKG/install
cat $CWD/slack-desc > $PKG/install/slack-desc
diff --git a/system/pax/pax.info b/system/pax/pax.info
index dd95a443b1..976f2757b7 100644
--- a/system/pax/pax.info
+++ b/system/pax/pax.info
@@ -1,8 +1,8 @@
PRGNAM="pax"
-VERSION="3.4"
+VERSION="20201030"
HOMEPAGE="http://wiki.bash-hackers.org/howto/pax"
-DOWNLOAD="https://downloads.sourceforge.net/project/slackbuildsdirectlinks/pax/pax-3.4.tar.bz2"
-MD5SUM="fbd9023b590b45ac3ade95870702a0d6"
+DOWNLOAD="http://ponce.cc/slackware/sources/repo/pax_20201030.orig.tar.gz"
+MD5SUM="87a0a3870ec437c41eb1b406334fe2c5"
DOWNLOAD_x86_64=""
MD5SUM_x86_64=""
REQUIRES=""
diff --git a/system/pce/pce.SlackBuild b/system/pce/pce.SlackBuild
index 7e1c928558..c7cfb212d7 100644
--- a/system/pce/pce.SlackBuild
+++ b/system/pce/pce.SlackBuild
@@ -23,11 +23,12 @@
# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
PRGNAM=pce
-SRCVER=20160308-72f1e10
-VERSION=$(echo $SRCVER | tr - .)
+VERSION=${VERSION:-20160308.72f1e10}
BUILD=${BUILD:-1}
TAG=${TAG:-_SBo}
+SRCVER=$(echo $VERSION | tr . -)
+
if [ -z "$ARCH" ]; then
case "$( uname -m )" in
i?86) ARCH=i586 ;;
diff --git a/system/pcf2bdf/README b/system/pcf2bdf/README
new file mode 100644
index 0000000000..d7871d3a39
--- /dev/null
+++ b/system/pcf2bdf/README
@@ -0,0 +1,5 @@
+pcf2bdf (convert X fonts from PCF to BDF)
+
+Pcf2bdf is a font de-compiler. It converts X fonts from Portable Compiled
+Format (PCF) to Bitmap Distribution Format (BDF). It can also accept a
+compressed/gzipped PCF file as input.
diff --git a/system/pcf2bdf/pcf2bdf.SlackBuild b/system/pcf2bdf/pcf2bdf.SlackBuild
new file mode 100644
index 0000000000..7dc231f4a0
--- /dev/null
+++ b/system/pcf2bdf/pcf2bdf.SlackBuild
@@ -0,0 +1,72 @@
+#!/bin/sh
+
+# Slackware build script for pcf2bdf
+
+# Written by B. Watson (yalhcru@gmail.com)
+
+# Licensed under the WTFPL. See http://www.wtfpl.net/txt/copying/ for details.
+
+PRGNAM=pcf2bdf
+VERSION=${VERSION:-1.06}
+BUILD=${BUILD:-1}
+TAG=${TAG:-_SBo}
+
+if [ -z "$ARCH" ]; then
+ case "$( uname -m )" in
+ i?86) ARCH=i586 ;;
+ arm*) ARCH=arm ;;
+ *) ARCH=$( uname -m ) ;;
+ esac
+fi
+
+CWD=$(pwd)
+TMP=${TMP:-/tmp/SBo}
+PKG=$TMP/package-$PRGNAM
+OUTPUT=${OUTPUT:-/tmp}
+
+if [ "$ARCH" = "i586" ]; then
+ SLKCFLAGS="-O2 -march=i586 -mtune=i686"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "i686" ]; then
+ SLKCFLAGS="-O2 -march=i686 -mtune=i686"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "x86_64" ]; then
+ SLKCFLAGS="-O2 -fPIC"
+ LIBDIRSUFFIX="64"
+else
+ SLKCFLAGS="-O2"
+ LIBDIRSUFFIX=""
+fi
+
+set -e
+
+rm -rf $PKG
+mkdir -p $TMP $PKG $OUTPUT
+cd $TMP
+
+rm -rf $PRGNAM-$VERSION
+tar xvf $CWD/$PRGNAM-$VERSION.tar.gz
+cd $PRGNAM-$VERSION
+
+chown -R root:root .
+find -L . -perm /111 -a \! -perm 755 -a -exec chmod 755 {} \+ -o \
+ \! -perm /111 -a \! -perm 644 -a -exec chmod 644 {} \+
+
+make -f Makefile.gcc all install \
+ CXXFLAGS="$SLKCFLAGS" \
+ PREFIX=/usr \
+ MANPATH=/usr/man/man1 \
+ INSTALL_PROGRAM="install -s" \
+ DESTDIR=$PKG
+
+gzip $PKG/usr/man/man?/*.?
+
+mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION
+cp -a *.txt $PKG/usr/doc/$PRGNAM-$VERSION
+cat $CWD/$PRGNAM.SlackBuild > $PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM.SlackBuild
+
+mkdir -p $PKG/install
+cat $CWD/slack-desc > $PKG/install/slack-desc
+
+cd $PKG
+/sbin/makepkg -l y -c n $OUTPUT/$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.${PKGTYPE:-tgz}
diff --git a/system/pcf2bdf/pcf2bdf.info b/system/pcf2bdf/pcf2bdf.info
new file mode 100644
index 0000000000..43243ad4b4
--- /dev/null
+++ b/system/pcf2bdf/pcf2bdf.info
@@ -0,0 +1,10 @@
+PRGNAM="pcf2bdf"
+VERSION="1.06"
+HOMEPAGE="https://github.com/ganaware/pcf2bdf/"
+DOWNLOAD="https://github.com/ganaware/pcf2bdf/archive/1.06/pcf2bdf-1.06.tar.gz"
+MD5SUM="7cbdf32d1df7b084dc9549c8ba5f916c"
+DOWNLOAD_x86_64=""
+MD5SUM_x86_64=""
+REQUIRES=""
+MAINTAINER="B. Watson"
+EMAIL="yalhcru@gmail.com"
diff --git a/system/pcf2bdf/slack-desc b/system/pcf2bdf/slack-desc
new file mode 100644
index 0000000000..0547163b9d
--- /dev/null
+++ b/system/pcf2bdf/slack-desc
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description.
+# Line up the first '|' above the ':' following the base package name, and
+# the '|' on the right side marks the last column you can put a character in.
+# You must make exactly 11 lines for the formatting to be correct. It's also
+# customary to leave one space after the ':' except on otherwise blank lines.
+
+ |-----handy-ruler------------------------------------------------------|
+pcf2bdf: pcf2bdf (convert X fonts from PCF to BDF)
+pcf2bdf:
+pcf2bdf: Pcf2bdf is a font de-compiler. It converts X fonts from Portable
+pcf2bdf: Compiled Format (PCF) to Bitmap Distribution Format (BDF). It can
+pcf2bdf: also accept a compressed/gzipped PCF file as input.
+pcf2bdf:
+pcf2bdf:
+pcf2bdf:
+pcf2bdf:
+pcf2bdf:
+pcf2bdf:
diff --git a/system/pcmanfm/patches/0001-avoid-undefined-isdigit-behaviour.patch b/system/pcmanfm/patches/0001-avoid-undefined-isdigit-behaviour.patch
deleted file mode 100644
index ad9a022db9..0000000000
--- a/system/pcmanfm/patches/0001-avoid-undefined-isdigit-behaviour.patch
+++ /dev/null
@@ -1,54 +0,0 @@
-From 0619a81f358d85568d990fc78c67e121e55f1c05 Mon Sep 17 00:00:00 2001
-From: Michael Weghorn <m.weghorn@posteo.de>
-Date: Thu, 27 Dec 2018 11:56:09 +0100
-Subject: [PATCH] Avoid undefined 'isdigit()' behaviour
-
-As the C11 standard says in section 7.4, 1),
-the 'isdigit()' function is only well-defined
-under this precondition:
-
-> The header <ctype.h> declares several functions
-> useful for classifying and mapping characters.
-> In all cases the argument is an int, the value of
-> which shall be representable as an unsigned char or
-> shall equal the value of the macro EOF. If the argument
-> has any other value, the behavior is undefined.
-
-Therefore avoid to use the 'isdigit()' function here,
-since the Gdk key codes and thus the 'keyval'
-member from the 'GdkEventKey' do not always fulfill
-this requirement and the behaviour is thus undefined.
----
- NEWS | 5 +++++
- src/main-win.c | 2 +-
- 2 files changed, 6 insertions(+), 1 deletion(-)
-
-diff --git a/NEWS b/NEWS
-index d2e6caa..c5b2285 100644
---- a/NEWS
-+++ b/NEWS
-@@ -1,3 +1,8 @@
-+Changes on 1.3.2 since 1.3.1:
-+
-+* Fixed case when some keyboard shortcuts stopped working: Alt+Home, Alt+Up.
-+
-+
- Changes on 1.3.1 since 1.3.0:
-
- * Allowed bigger sizes of icons and thumbnails as 256*256 appears to be small
-diff --git a/src/main-win.c b/src/main-win.c
-index 3907dba..49fc53b 100644
---- a/src/main-win.c
-+++ b/src/main-win.c
-@@ -2465,7 +2465,7 @@ static gboolean on_key_press_event(GtkWidget* w, GdkEventKey* evt)
-
- if(modifier == GDK_MOD1_MASK) /* Alt */
- {
-- if(isdigit(evt->keyval)) /* Alt + 0 ~ 9, nth tab */
-+ if(evt->keyval >= '0' && evt->keyval <= '9') /* Alt + 0 ~ 9, nth tab */
- {
- int n;
- if(evt->keyval == '0')
---
-2.1.4
-
diff --git a/system/pcmanfm/pcmanfm.SlackBuild b/system/pcmanfm/pcmanfm.SlackBuild
index 2785dd5496..07edeac2f5 100644
--- a/system/pcmanfm/pcmanfm.SlackBuild
+++ b/system/pcmanfm/pcmanfm.SlackBuild
@@ -4,7 +4,7 @@
# Copyright 2006-2009 Chess Griffin <chess@chessgriffin.com>
# Copyright 2010 Chris Abela <chris.abela@maltats.com>
-# Copyright 2011-2019 Matteo Bernardini <ponce@slackbuilds.org>, Pisa, Italy
+# Copyright 2011-2021 Matteo Bernardini <ponce@slackbuilds.org>, Pisa, Italy
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
@@ -25,7 +25,7 @@
# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
PRGNAM=pcmanfm
-VERSION=${VERSION:-1.3.1}
+VERSION=${VERSION:-1.3.2}
BUILD=${BUILD:-1}
TAG=${TAG:-_SBo}
@@ -77,9 +77,6 @@ find -L . \
\( -perm 666 -o -perm 664 -o -perm 640 -o -perm 600 -o -perm 444 \
-o -perm 440 -o -perm 400 \) -exec chmod 644 {} \;
-# Apply upstream patches
-for i in $CWD/patches/* ; do patch -p1 < $i ; done
-
sh autogen.sh || true
CFLAGS="$SLKCFLAGS" \
diff --git a/system/pcmanfm/pcmanfm.info b/system/pcmanfm/pcmanfm.info
index 7cb89e0763..d3546b675e 100644
--- a/system/pcmanfm/pcmanfm.info
+++ b/system/pcmanfm/pcmanfm.info
@@ -1,8 +1,8 @@
PRGNAM="pcmanfm"
-VERSION="1.3.1"
+VERSION="1.3.2"
HOMEPAGE="https://wiki.lxde.org/en/PCManFM"
-DOWNLOAD="https://downloads.sf.net/pcmanfm/pcmanfm-1.3.1.tar.xz"
-MD5SUM="d32ad2c9c7c52bff2004bbc120b53420"
+DOWNLOAD="https://downloads.sf.net/pcmanfm/pcmanfm-1.3.2.tar.xz"
+MD5SUM="ef7c4417d2697ef138d175db7aeae15a"
DOWNLOAD_x86_64=""
MD5SUM_x86_64=""
REQUIRES="libfm"
diff --git a/system/pcsc-lite/pcsc-lite.SlackBuild b/system/pcsc-lite/pcsc-lite.SlackBuild
index 7be660105f..9c5b5a155a 100644
--- a/system/pcsc-lite/pcsc-lite.SlackBuild
+++ b/system/pcsc-lite/pcsc-lite.SlackBuild
@@ -3,6 +3,7 @@
# Slackware build script for pcsc-lite
# Copyright 2007-2015 LukenShiro, Italy
+# Copyright 2020-2021 Matteo Bernardini <ponce@slackbuilds.org>, Pisa, Italy
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
@@ -23,13 +24,13 @@
# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
PRGNAM=pcsc-lite
-VERSION=${VERSION:-1.8.14}
+VERSION=${VERSION:-1.9.1}
BUILD=${BUILD:-1}
TAG=${TAG:-_SBo}
if [ -z "$ARCH" ]; then
case "$( uname -m )" in
- i?86) ARCH=i486 ;;
+ i?86) ARCH=i586 ;;
arm*) ARCH=arm ;;
*) ARCH=$( uname -m ) ;;
esac
@@ -59,10 +60,10 @@ DEBUGATR=${DEBUGATR:-0}
AUTOPOFF=${AUTOPOFF:-0} # disabled by default
# README and README.DAEMON are not useful and partly outdated.
-DOCFILES="DRIVERS SECURITY ChangeLog* COPYING HELP NEWS TODO AUTHORS INSTALL"
+DOCFILES="SECURITY ChangeLog* COPYING HELP NEWS TODO AUTHORS INSTALL"
-if [ "$ARCH" = "i486" ]; then
- SLKCFLAGS="-O2 -march=i486 -mtune=i686"
+if [ "$ARCH" = "i586" ]; then
+ SLKCFLAGS="-O2 -march=i586 -mtune=i686"
LIBDIRSUFFIX=""
elif [ "$ARCH" = "i686" ]; then
SLKCFLAGS="-O2 -march=i686 -mtune=i686"
@@ -90,10 +91,6 @@ find -L . \
\( -perm 666 -o -perm 664 -o -perm 640 -o -perm 600 -o -perm 444 \
-o -perm 440 -o -perm 400 \) -exec chmod 644 {} \;
-# Fix the DRIVERS file to reflect the correct drivers directory as built
-# with this script
-sed -i "s|\/usr\/local|<libdir>|g" DRIVERS
-
# ATR (answer to reset) debug parsing output
case "$DEBUGATR" in
0) DEBUGATR_FLAG="dis" ;;
@@ -126,6 +123,7 @@ CXXFLAGS="$SLKCFLAGS" \
--enable-usbdropdir="/usr/lib${LIBDIRSUFFIX}/pcsc/drivers" \
--enable-confdir=/etc/reader.conf.d \
--${DEBUGATR_FLAG}able-debugatr \
+ --disable-libsystemd \
--build=$ARCH-slackware-linux
make
@@ -140,9 +138,9 @@ mkdir -p $PKG/etc/rc.d
install -m 0755 $CWD/rc.pcscd $PKG/etc/rc.d/rc.pcscd.new
# Correct manpages in reader.conf.5 and pcscd.8
-sed -i "s|@confdir@|/etc/reader.conf.d|g" $PKG/usr/man/man5/reader.conf.5
-sed -i "s|@sysconfdir_exp@/init.d/pcscd|/etc/rc.d/rc.pcscd|g" $PKG/usr/man/man8/pcscd.8
-sed -i "s|@sysconfdir_exp@|/etc/reader.conf.d|g" $PKG/usr/man/man8/pcscd.8
+sed -i "s|@confdir@|/etc/reader.conf.d|g" $PKG/usr/man/man5/reader.conf.5 || exit 1
+sed -i "s|@sysconfdir_exp@/init.d/pcscd|/etc/rc.d/rc.pcscd|g" $PKG/usr/man/man8/pcscd.8 || exit 1
+sed -i "s|@sysconfdir_exp@|/etc/reader.conf.d|g" $PKG/usr/man/man8/pcscd.8 || exit 1
# Create the directory for drivers and such (not included with this package)
mkdir -p $PKG/usr/lib${LIBDIRSUFFIX}/pcsc/{drivers,services}
diff --git a/system/pcsc-lite/pcsc-lite.info b/system/pcsc-lite/pcsc-lite.info
index 94205e0b12..2b8a9b9da1 100644
--- a/system/pcsc-lite/pcsc-lite.info
+++ b/system/pcsc-lite/pcsc-lite.info
@@ -1,10 +1,10 @@
PRGNAM="pcsc-lite"
-VERSION="1.8.14"
+VERSION="1.9.1"
HOMEPAGE="https://pcsclite.apdu.fr/"
-DOWNLOAD="https://pcsclite.apdu.fr/files/pcsc-lite-1.8.14.tar.bz2"
-MD5SUM="439b2c8892f502e39e5b8997a7ae01ed"
+DOWNLOAD="https://pcsclite.apdu.fr/files/pcsc-lite-1.9.1.tar.bz2"
+MD5SUM="de449fb9dc0bb57ede502905accc0d8b"
DOWNLOAD_x86_64=""
MD5SUM_x86_64=""
REQUIRES=""
-MAINTAINER="LukenShiro"
-EMAIL="lukenshiro@ngi.it"
+MAINTAINER="Matteo Bernardini"
+EMAIL="ponce@slackbuilds.org"
diff --git a/system/ph/README b/system/ph/README
new file mode 100644
index 0000000000..0b8c1894a3
--- /dev/null
+++ b/system/ph/README
@@ -0,0 +1,6 @@
+ph - a fast Slackware Package History tool
+
+[ROOT=/mnt] ph [options] [-][NUM]
+
+ph prints a filtered list of the packages installed in a Slackware
+system, using the package description files in /var/log/packages/.
diff --git a/system/ph/ph.SlackBuild b/system/ph/ph.SlackBuild
new file mode 100644
index 0000000000..5d2ffe6077
--- /dev/null
+++ b/system/ph/ph.SlackBuild
@@ -0,0 +1,79 @@
+#!/bin/sh
+
+# Slackware build script for ph
+#
+# Copyright 2013 Dave Woodfall <dave@tty1.uk>
+# 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.
+
+PRGNAM=ph
+VERSION=${VERSION:-1.1.0}
+BUILD=${BUILD:-1}
+TAG=${TAG:-_SBo}
+ARCH=noarch
+
+CWD=$(pwd)
+TMP=${TMP:-/tmp/SBo}
+PKG=$TMP/package-$PRGNAM
+OUTPUT=${OUTPUT:-/tmp}
+README=$PKG/usr/doc/$PRGNAM-$VERSION/README
+
+set -e
+
+rm -rf $PKG
+mkdir -p $TMP $PKG $OUTPUT
+cd $TMP
+rm -rf $PRGNAM-$VERSION
+tar xvf $CWD/$PRGNAM-$VERSION.tar.gz
+cd $PRGNAM-$VERSION
+chown -R root:root .
+find -L . \
+ \( -perm 777 -o -perm 775 -o -perm 750 -o -perm 711 -o -perm 555 \
+ -o -perm 511 \) -exec chmod 755 {} \; -o \
+ \( -perm 666 -o -perm 664 -o -perm 640 -o -perm 600 -o -perm 444 \
+ -o -perm 440 -o -perm 400 \) -exec chmod 644 {} \;
+
+sed -i -e "s/@VERSION@/$VERSION/" ph.1
+gzip ph.1
+install -m 644 -D ph.1.gz $PKG/usr/man/man1/ph.1.gz
+install -m 755 -D ph $PKG/usr/bin/ph
+
+mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION
+
+cat << EOF > $README
+ph - a fast Slackware Package History tool
+Copyright 2013- Dave Woodfall
+ph is licensed under a "one-clause BSD/Slackware" license.
+See the script for the full text.
+Homepage: http://tty1.uk/slackbuilds/noversion/ph
+EOF
+
+man ./ph.1.gz | col -b | expand | fmt -72 | cat -s | sed "
+ 1d
+ s/\([^[:space:]]\)[[:space:]][[:space:]]*/\1 /g
+ /^$/N;/PH(1)$/D
+ " >> $README
+
+cat $CWD/$PRGNAM.SlackBuild > $PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM.SlackBuild
+
+mkdir -p $PKG/install
+cat $CWD/slack-desc > $PKG/install/slack-desc
+
+cd $PKG
+/sbin/makepkg -l y -c n $OUTPUT/$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.${PKGTYPE:-tgz}
diff --git a/system/ph/ph.info b/system/ph/ph.info
new file mode 100644
index 0000000000..25ee1ce7fc
--- /dev/null
+++ b/system/ph/ph.info
@@ -0,0 +1,10 @@
+PRGNAM="ph"
+VERSION="1.1.0"
+HOMEPAGE="http://tty1.uk/slackbuilds/noversion/ph"
+DOWNLOAD="http://git.tty1.uk/cgit.cgi/ph/snapshot/ph-1.1.0.tar.gz"
+MD5SUM="916cad4a723485a54d4213e5dc46ad7f"
+DOWNLOAD_x86_64=""
+MD5SUM_x86_64=""
+REQUIRES=""
+MAINTAINER="Dave Woodfall"
+EMAIL="dave@slackbuilds.org"
diff --git a/system/ph/slack-desc b/system/ph/slack-desc
new file mode 100644
index 0000000000..8275eb17ac
--- /dev/null
+++ b/system/ph/slack-desc
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description.
+# Line up the first '|' above the ':' following the base package name, and
+# the '|' on the right side marks the last column you can put a character in.
+# You must make exactly 11 lines for the formatting to be correct. It's also
+# customary to leave one space after the ':' except on otherwise blank lines.
+
+ |-----handy-ruler------------------------------------------------------|
+ph: ph (A fast Slackware Package History tool)
+ph:
+ph: ph prints a filtered list of the packages installed in a Slackware
+ph: system, using the package description files in /var/log/packages/.
+ph:
+ph: HOMEPAGE="http://tty1.uk/slackbuilds/noversion/ph"
+ph:
+ph:
+ph:
+ph:
+ph:
diff --git a/system/phoronix-test-suite/phoronix-test-suite.SlackBuild b/system/phoronix-test-suite/phoronix-test-suite.SlackBuild
index 3db0c6a79f..d81b19a469 100644
--- a/system/phoronix-test-suite/phoronix-test-suite.SlackBuild
+++ b/system/phoronix-test-suite/phoronix-test-suite.SlackBuild
@@ -2,7 +2,7 @@
# Slackware build script for phoronix-test-suite
-# Copyright 2014-2019 Willy Sudiarto Raharjo <willysr@slackbuilds.org>
+# Copyright 2014-2021 Willy Sudiarto Raharjo <willysr@slackbuilds.org>
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
@@ -23,7 +23,7 @@
# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
PRGNAM=phoronix-test-suite
-VERSION=${VERSION:-9.2.0}
+VERSION=${VERSION:-10.2.2}
BUILD=${BUILD:-1}
TAG=${TAG:-_SBo}
diff --git a/system/phoronix-test-suite/phoronix-test-suite.info b/system/phoronix-test-suite/phoronix-test-suite.info
index e455275166..187c8159b8 100644
--- a/system/phoronix-test-suite/phoronix-test-suite.info
+++ b/system/phoronix-test-suite/phoronix-test-suite.info
@@ -1,8 +1,8 @@
PRGNAM="phoronix-test-suite"
-VERSION="9.2.0"
+VERSION="10.2.2"
HOMEPAGE="https://phoronix-test-suite.com/"
-DOWNLOAD="https://www.phoronix-test-suite.com/releases/phoronix-test-suite-9.2.0.tar.gz"
-MD5SUM="5b3c0edecd5281c08f756f78d99eae41"
+DOWNLOAD="https://www.phoronix-test-suite.com/releases/phoronix-test-suite-10.2.2.tar.gz"
+MD5SUM="e4a9d3fc2e21a7f15e2b4fbef3ee7a44"
DOWNLOAD_x86_64=""
MD5SUM_x86_64=""
REQUIRES=""
diff --git a/system/pigz/README b/system/pigz/README
index 0ba01a6bcd..9ffe321dfa 100644
--- a/system/pigz/README
+++ b/system/pigz/README
@@ -1,4 +1,4 @@
-pigz, which stands for parallel implementation of gzip, is a fully
-functional replacement for gzip that exploits multiple processors and
-multiple cores to the hilt when compressing data. pigz was written by
-Mark Adler, and uses the zlib and pthread libraries.
+pigz, which stands for Parallel Implementation of GZip, is a fully functional
+replacement for gzip that utilizes multiple processors and CPU cores when
+compressing data. pigz was written by Mark Adler, and uses zlib and pthread
+libraries.
diff --git a/system/pigz/math_fix.diff b/system/pigz/math_fix.diff
deleted file mode 100644
index 7123175132..0000000000
--- a/system/pigz/math_fix.diff
+++ /dev/null
@@ -1,12 +0,0 @@
-diff -Naur a/Makefile b/Makefile
---- a/Makefile 2013-03-04 00:06:35.000000000 -0600
-+++ b/Makefile 2013-06-18 08:56:58.111172954 -0500
-@@ -3,7 +3,7 @@
-
-
- pigz: pigz.o yarn.o zopfli/deflate.o zopfli/blocksplitter.o zopfli/tree.o zopfli/lz77.o zopfli/cache.o zopfli/hash.o zopfli/util.o zopfli/squeeze.o zopfli/katajainen.o
-- $(CC) -o pigz $^ -lpthread -lz
-+ $(CC) -o pigz $^ -lpthread -lz -lm
- ln -f pigz unpigz
-
- pigz.o: pigz.c yarn.h zopfli/deflate.h zopfli/util.h
diff --git a/system/pigz/pigz.SlackBuild b/system/pigz/pigz.SlackBuild
index ab0ffedf29..6668f4c69b 100644
--- a/system/pigz/pigz.SlackBuild
+++ b/system/pigz/pigz.SlackBuild
@@ -2,20 +2,38 @@
# Slackware build script for pigz
-# Written by Max Miorim <miorimmax@gmail.com>
-
-# Currently maintained by Patrick Verner <distrozilla@gmail.com> as of 6/29/2013
-# Changelog...
-# Patched to fix missing -lm flag in Makefile. math_fix.diff
+# Copyright 2010 Max Miorim <miorimmax@gmail.com>
+# Copyright 2010 Diogo Leal <diogo@diogoleal.com>
+# Copyright 2012 Matteo Bernardini <ponce@slackbuilds.org>
+# Copyright 2013 Patrick Verner <distrozilla@gmail.com>
+# Copyright 2020 Dominik Drobek <dominik.drobek (at) o2.pl>
+# 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.
PRGNAM=pigz
-VERSION=${VERSION:-2.3}
+VERSION=${VERSION:-2.4}
BUILD=${BUILD:-1}
TAG=${TAG:-_SBo}
if [ -z "$ARCH" ]; then
case "$( uname -m )" in
- i?86) ARCH=i486 ;;
+ i?86) ARCH=i586 ;;
arm*) ARCH=arm ;;
*) ARCH=$( uname -m ) ;;
esac
@@ -26,8 +44,8 @@ TMP=${TMP:-/tmp/SBo}
PKG=$TMP/package-$PRGNAM
OUTPUT=${OUTPUT:-/tmp}
-if [ "$ARCH" = "i486" ]; then
- SLKCFLAGS="-O2 -march=i486 -mtune=i686"
+if [ "$ARCH" = "i586" ]; then
+ SLKCFLAGS="-O2 -march=i586 -mtune=i686"
LIBDIRSUFFIX=""
elif [ "$ARCH" = "i686" ]; then
SLKCFLAGS="-O2 -march=i686 -mtune=i686"
@@ -40,7 +58,7 @@ else
LIBDIRSUFFIX=""
fi
-set -e
+set -e
rm -rf $PKG
mkdir -p $TMP $PKG $OUTPUT
@@ -50,30 +68,28 @@ tar xvf $CWD/$PRGNAM-$VERSION.tar.gz
cd $PRGNAM-$VERSION
chown -R root:root .
find -L . \
- \( -perm 777 -o -perm 775 -o -perm 750 -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 {} \;
-
-sed -i "s/^CFLAGS=.*/CFLAGS=$SLKCFLAGS/g" Makefile
-
-# Add missing -lm flag to Makefile
-patch -p1 < $CWD/math_fix.diff
+ \( -perm 777 -o -perm 775 -o -perm 750 -o -perm 711 -o -perm 555 \
+ -o -perm 511 \) -exec chmod 755 {} \; -o \
+ \( -perm 666 -o -perm 664 -o -perm 640 -o -perm 600 -o -perm 444 \
+ -o -perm 440 -o -perm 400 \) -exec chmod 644 {} \;
+# append our SLKCFLAGS to CFLAGS in the Makefile:
+sed -i "/^CFLAGS=/s/$/\ $SLKCFLAGS/" Makefile
make
install -D -m 0755 pigz $PKG/usr/bin/pigz
-install -D -m 0755 unpigz $PKG/usr/bin/unpigz
install -D -m 0644 pigz.1 $PKG/usr/man/man1/pigz.1
+# don't install pigz binary as unpigz, make a symlink instead:
+( cd $PKG/usr/bin ; ln -sf pigz unpigz )
-find $PKG | xargs file | grep -e "executable" -e "shared object" | grep ELF \
+find $PKG -print0 | xargs -0 file | grep -e "executable" -e "shared object" | grep ELF \
| cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null || true
find $PKG/usr/man -type f -exec gzip -9 {} \;
for i in $( find $PKG/usr/man -type l ) ; do ln -s $( readlink $i ).gz $i.gz ; rm $i ; done
mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION
-cp -a README $PKG/usr/doc/$PRGNAM-$VERSION
+cp -a README pigz.pdf $PKG/usr/doc/$PRGNAM-$VERSION
cat $CWD/$PRGNAM.SlackBuild > $PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM.SlackBuild
mkdir -p $PKG/install
diff --git a/system/pigz/pigz.info b/system/pigz/pigz.info
index 1c5c76bab6..6734070493 100644
--- a/system/pigz/pigz.info
+++ b/system/pigz/pigz.info
@@ -1,10 +1,10 @@
PRGNAM="pigz"
-VERSION="2.3"
-HOMEPAGE="http://www.zlib.net/pigz/"
-DOWNLOAD="http://ponce.cc/slackware/sources/repo/pigz-2.3.tar.gz"
-MD5SUM="042e3322534f2c3d761736350cac303f"
+VERSION="2.4"
+HOMEPAGE="https://www.zlib.net/pigz/"
+DOWNLOAD="https://www.zlib.net/pigz/pigz-2.4.tar.gz"
+MD5SUM="def2f6e19d9d8231445adc1349d346df"
DOWNLOAD_x86_64=""
MD5SUM_x86_64=""
REQUIRES=""
-MAINTAINER="Patrick Verner"
-EMAIL="distrozilla@gmail.com"
+MAINTAINER="Dominik Drobek"
+EMAIL="dominik.drobek (at) o2.pl"
diff --git a/system/pigz/slack-desc b/system/pigz/slack-desc
index 95cba60bb2..a7a2f85cf7 100644
--- a/system/pigz/slack-desc
+++ b/system/pigz/slack-desc
@@ -6,14 +6,14 @@
# customary to leave one space after the ':' except on otherwise blank lines.
|-----handy-ruler------------------------------------------------------|
-pigz: pigz (Parallel gzip)
+pigz: pigz (Parallel Implementation of GZip)
pigz:
-pigz: pigz, which stands for parallel implementation of gzip, is a fully
-pigz: functional replacement for gzip that exploits multiple processors and
-pigz: multiple cores to the hilt when compressing data. pigz was written by
-pigz: Mark Adler, and uses the zlib and pthread libraries.
+pigz: pigz is a fully functional replacement for gzip that utilizes
+pigz: multiple processors and CPU cores when compressing data. pigz
+pigz: was written by Mark Adler, and uses zlib and pthread libraries.
+pigz:
+pigz: Homepage: https://www.zlib.net/pigz/
pigz:
-pigz: Home page: http://www.zlib.net/pigz/
pigz:
pigz:
pigz:
diff --git a/system/pixma/pixma.SlackBuild b/system/pixma/pixma.SlackBuild
index 841d93ca88..1770fffead 100644
--- a/system/pixma/pixma.SlackBuild
+++ b/system/pixma/pixma.SlackBuild
@@ -23,12 +23,13 @@
# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
PRGNAM=pixma
-SRCNAM=cnijfilter-source
-SRCVERSION=${SRCVERSION:-4.00-1}
-VERSION=${SRCVERSION/-/.}
+VERSION=${VERSION:-4.00.1}
BUILD=${BUILD:-1}
TAG=${TAG:-_SBo}
+SRCNAM=cnijfilter-source
+SRCVERSION=${SRCVERSION:-4.00-1}
+
if [ -z "$ARCH" ]; then
case "$( uname -m )" in
i?86) ARCH=i586 ;;
diff --git a/system/plan9port/plan9port.info b/system/plan9port/plan9port.info
index 7cf3c1e3dd..eab8312767 100644
--- a/system/plan9port/plan9port.info
+++ b/system/plan9port/plan9port.info
@@ -1,7 +1,7 @@
PRGNAM="plan9port"
-VERSION="20171222"
+VERSION="20190501"
HOMEPAGE="https://9fans.github.io/plan9port/"
-DOWNLOAD="https://rbn.im/files/sources/plan9port/20171222/master.zip"
+DOWNLOAD="https://rbn.im/files/sources/plan9port/20190501/master.zip"
MD5SUM="3ca89a88e239f732a33d329a9fdb6f9d"
DOWNLOAD_x86_64=""
MD5SUM_x86_64=""
diff --git a/system/plymouth/slack-desc b/system/plymouth/slack-desc
index 04446c83ca..5034fa870f 100644
--- a/system/plymouth/slack-desc
+++ b/system/plymouth/slack-desc
@@ -7,13 +7,13 @@
|-----handy-ruler------------------------------------------------------|
plymouth: plymouth (graphical boot animation and logger)
-plymouth:
+plymouth:
plymouth: Plymouth is an application that runs very early in the boot process
-plymouth: (even before the root filesystem is mounted!) that provides a
-plymouth: graphical boot animation while the boot process happens in the
+plymouth: (even before the root filesystem is mounted!) that provides a
+plymouth: graphical boot animation while the boot process happens in the
plymouth: background.
-plymouth:
-plymouth:
+plymouth:
+plymouth:
plymouth: Homepage: https://www.freedesktop.org/wiki/Software/Plymouth/
-plymouth:
-plymouth:
+plymouth:
+plymouth:
diff --git a/system/podman/podman.SlackBuild b/system/podman/podman.SlackBuild
index 0513860b8c..7a727b07f3 100644
--- a/system/podman/podman.SlackBuild
+++ b/system/podman/podman.SlackBuild
@@ -67,7 +67,7 @@ rm -rf $REPONAME-$VERSION
mkdir -p $REPONAME-$VERSION/src/$DOMAIN/$ORG
cd $REPONAME-$VERSION/src/$DOMAIN/$ORG
tar xvf $CWD/$REPONAME-$VERSION.tar.gz
-mv $REPONAME-$VERSION $REPONAME
+mv $PRGNAM-$VERSION $REPONAME
cd $REPONAME
chown -R root:root .
find -L . \
diff --git a/system/pommed-light/slack-desc b/system/pommed-light/slack-desc
index ea62e9da6a..15bfb62be9 100644
--- a/system/pommed-light/slack-desc
+++ b/system/pommed-light/slack-desc
@@ -5,15 +5,15 @@
# You must make exactly 11 lines for the formatting to be correct. It's also
# customary to leave one space after the ':' except on otherwise blank lines.
- |-----handy-ruler-------------------------------------------------|
+ |-----handy-ruler------------------------------------------------------|
pommed-light: pommed-light (Apple laptops hotkeys events handler)
pommed-light:
pommed-light: pommed handles the hotkeys found on the Apple MacBook Pro and
pommed-light: MacBook laptops and adjusts the LCD backlight, sound volume,
pommed-light: keyboard backlight or ejects the CD-ROM drive accordingly.
pommed-light:
+pommed-light: Homepage: https://github.com/bytbox/pommed-light
pommed-light:
pommed-light:
pommed-light:
-pommed-light: Homepage: https://github.com/bytbox/pommed-light
pommed-light:
diff --git a/system/porg/porg.SlackBuild b/system/porg/porg.SlackBuild
index a2f4ca1ad5..61219d02c0 100644
--- a/system/porg/porg.SlackBuild
+++ b/system/porg/porg.SlackBuild
@@ -2,7 +2,7 @@
# Slackware build script for porg
-# Written by Jostein Berntsen <jbernts@broadpark.no>
+# Written by Jostein Berntsen <jvbernts@online.no>
PRGNAM=porg
VERSION=${VERSION:-0.10}
diff --git a/system/porg/porg.info b/system/porg/porg.info
index 57d779505d..6efa7e1524 100644
--- a/system/porg/porg.info
+++ b/system/porg/porg.info
@@ -7,4 +7,4 @@ DOWNLOAD_x86_64=""
MD5SUM_x86_64=""
REQUIRES=""
MAINTAINER="Jostein Berntsen"
-EMAIL="jbernts@broadpark.no"
+EMAIL="jvbernts@online.no"
diff --git a/system/posh/posh.SlackBuild b/system/posh/posh.SlackBuild
index fee476fe28..62f1c8dcd6 100644
--- a/system/posh/posh.SlackBuild
+++ b/system/posh/posh.SlackBuild
@@ -2,7 +2,7 @@
# Slackware build script for posh
-# Copyright 2017-2019 Hunter Sezen California, USA
+# Copyright 2017-2020 Hunter Sezen California, USA
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
@@ -23,8 +23,8 @@
# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
PRGNAM=posh
-VERSION=${VERSION:-0.13.2}
-BUILD=${BUILD:-2}
+VERSION=${VERSION:-0.14.1}
+BUILD=${BUILD:-1}
TAG=${TAG:-_SBo}
if [ -z "$ARCH" ]; then
diff --git a/system/posh/posh.info b/system/posh/posh.info
index 408fe5a053..5867da639a 100644
--- a/system/posh/posh.info
+++ b/system/posh/posh.info
@@ -1,8 +1,8 @@
PRGNAM="posh"
-VERSION="0.13.2"
+VERSION="0.14.1"
HOMEPAGE="https://packages.qa.debian.org/p/posh.html"
-DOWNLOAD="http://http.debian.net/debian/pool/main/p/posh/posh_0.13.2.tar.xz"
-MD5SUM="d4e4bd477bc68d78442f9967faab2406"
+DOWNLOAD="http://http.debian.net/debian/pool/main/p/posh/posh_0.14.1.tar.xz"
+MD5SUM="71f482c9a8815f209abf6ac134543bc9"
DOWNLOAD_x86_64=""
MD5SUM_x86_64=""
REQUIRES=""
diff --git a/system/posixovl/slack-desc b/system/posixovl/slack-desc
index e9026a93f9..df81acbaaa 100644
--- a/system/posixovl/slack-desc
+++ b/system/posixovl/slack-desc
@@ -12,7 +12,7 @@ posixovl: posixovl provides a filesystem view that supports various POSIX
posixovl: operations while using an otherwise incapable lower filesystem.
posixovl: Filesystems of various degrees of POSIXness can be utilitzed. VFAT
posixovl: is a common denominator when it comes to cross-compatibility,
-posixovl: though NTFS — its features are unused in Linux — would be another
+posixovl: though NTFS - its features are unused in Linux - would be another
posixovl: possibility. Secondly, potent native POSIX-style filesystems can
posixovl: also be used, though the actual use of doing that remains to be
posixovl: discovered.
diff --git a/system/powerkit/README b/system/powerkit/README
index 9fb732ba51..87098342bb 100644
--- a/system/powerkit/README
+++ b/system/powerkit/README
@@ -1,3 +1,9 @@
-powerkit is an lightweight desktop independent full featured power manager, originally created for Slackware for use with alternative desktop environments and window managers, like Fluxbox, Blackbox, FVWM, WindowMaker, Openbox, Lumina and others.
+powerkit is an lightweight desktop independent full featured power
+manager, originally created for Slackware for use with alternative
+desktop environments and window managers, like Fluxbox, Blackbox, FVWM,
+WindowMaker, Openbox, Lumina and others.
-Hibernation/HybridSleep requires the kernel option resume=<swap_partition/swap_file>. Backlight support requires proper udev rules, see /usr/doc/powerkit-VERSION/90-backlight.rules. Read 'man powerkit' and /usr/doc/powerkit-VERSION/README.md for more information.
+Hibernation/HybridSleep requires the kernel option
+resume=<swap_partition/swap_file>. Backlight support requires proper
+udev rules, see /usr/doc/powerkit-VERSION/90-backlight.rules. Read 'man
+powerkit' and /usr/doc/powerkit-VERSION/README.md for more information.
diff --git a/system/powerkit/slack-desc b/system/powerkit/slack-desc
index 3521964240..76e6d88325 100644
--- a/system/powerkit/slack-desc
+++ b/system/powerkit/slack-desc
@@ -13,7 +13,7 @@ powerkit: manager, originally created for Slackware for use with alternative
powerkit: desktop environments and window managers, like Fluxbox, Blackbox,
powerkit: FVWM, WindowMaker, Openbox, Lumina and others.
powerkit:
-powerkit: powerkit was written by Ole-André Rodlie
+powerkit: powerkit was written by Ole-Andre Rodlie
powerkit:
powerkit: Homepage: https://github.com/rodlie/powerkit
powerkit:
diff --git a/system/powernowd/powernowd.SlackBuild b/system/powernowd/powernowd.SlackBuild
index f17ad33837..c5d7cb8831 100644
--- a/system/powernowd/powernowd.SlackBuild
+++ b/system/powernowd/powernowd.SlackBuild
@@ -2,7 +2,7 @@
# Slackware build script for powernowd
-# Written by David Woodfall info@davidwoodfall.co.uk
+# Written by David Woodfall <dave@slackbuilds.org>
PRGNAM=powernowd
VERSION=${VERSION:-1.00}
diff --git a/system/powernowd/powernowd.info b/system/powernowd/powernowd.info
index 61240ccd55..bed5c35b49 100644
--- a/system/powernowd/powernowd.info
+++ b/system/powernowd/powernowd.info
@@ -7,4 +7,4 @@ DOWNLOAD_x86_64=""
MD5SUM_x86_64=""
REQUIRES=""
MAINTAINER="David Woodfall"
-EMAIL="dave@dawoodfall.net"
+EMAIL="dave@slackbuilds.org"
diff --git a/system/powerpanel/powerpanel.SlackBuild b/system/powerpanel/powerpanel.SlackBuild
index 02f3c3b86f..ae11ec630c 100644
--- a/system/powerpanel/powerpanel.SlackBuild
+++ b/system/powerpanel/powerpanel.SlackBuild
@@ -2,7 +2,7 @@
# Slackware build script for powerpanel
-# Copyright 2017 Jason Graham Baltimore, MD, USA
+# Copyright 2017,2020 Jason Graham <jgraham@compukix.net> MD, USA
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
@@ -23,8 +23,7 @@
# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
PRGNAM=powerpanel
-VERSION=${VERSION:-1.3.2}
-PKGVER=${VERSION//./}
+VERSION=${VERSION:-1.3.3}
BUILD=${BUILD:-1}
TAG=${TAG:-_SBo}
@@ -37,9 +36,9 @@ if [ -z "$ARCH" ]; then
fi
if [ "$ARCH" = "i586" ] || [ "$ARCH" = "i686" ]; then
- PKGARCH=i386
+ PKGARCH=32
elif [ "$ARCH" = "x86_64" ]; then
- PKGARCH=x86_64
+ PKGARCH=64
else
printf "$ARCH is not supported.\n"; exit 1
fi
@@ -55,7 +54,7 @@ rm -rf $PKG
mkdir -p $TMP $PKG $OUTPUT
cd $TMP
rm -rf $PRGNAM-$VERSION
-tar xvf $CWD/$PRGNAM-$PKGVER-$PKGARCH.tar.gz
+tar xvf $CWD/PPL-$VERSION-${PKGARCH}bit.tar.gz
cd $PRGNAM-$VERSION
chown -R root:root .
find -L . \
diff --git a/system/powerpanel/powerpanel.info b/system/powerpanel/powerpanel.info
index 6405578e56..15ba1327e1 100644
--- a/system/powerpanel/powerpanel.info
+++ b/system/powerpanel/powerpanel.info
@@ -1,10 +1,10 @@
PRGNAM="powerpanel"
-VERSION="1.3.2"
+VERSION="1.3.3"
HOMEPAGE="https://www.cyberpowersystems.com/products/software/power-panel-personal/"
-DOWNLOAD="https://dl4jz3rbrsfum.cloudfront.net/software/powerpanel-132-i386.tar.gz"
-MD5SUM="833f35179a8b0ca303698de08f048c8b"
-DOWNLOAD_x86_64="https://dl4jz3rbrsfum.cloudfront.net/software/powerpanel-132-x86_64.tar.gz"
-MD5SUM_x86_64="d69233e117f92611931cb820bad141df"
+DOWNLOAD="https://dl4jz3rbrsfum.cloudfront.net/software/PPL-1.3.3-32bit.tar.gz"
+MD5SUM="56a53554cbf523617c447f426521bf75"
+DOWNLOAD_x86_64="https://dl4jz3rbrsfum.cloudfront.net/software/PPL-1.3.3-64bit.tar.gz"
+MD5SUM_x86_64="d0af21f2e3f654a4813701932bb2fd2e"
REQUIRES=""
MAINTAINER="Jason Graham"
-EMAIL="jgraha8@gmail.com"
+EMAIL="jgraham@compukix.net"
diff --git a/system/powershell/README b/system/powershell/README
new file mode 100644
index 0000000000..b78bb03596
--- /dev/null
+++ b/system/powershell/README
@@ -0,0 +1,7 @@
+PowerShell is a task-based command-line shell and scripting language
+built on .NET. PowerShell helps system administrators and power-users
+rapidly automate tasks that manage operating systems (Linux, macOS, and
+Windows) and processes.
+
+After installing, you can start using PowerShell by typing "pwsh" in the
+Terminal.
diff --git a/system/powershell/powershell.SlackBuild b/system/powershell/powershell.SlackBuild
new file mode 100644
index 0000000000..bcdfa13d76
--- /dev/null
+++ b/system/powershell/powershell.SlackBuild
@@ -0,0 +1,68 @@
+#!/bin/sh
+#
+# Slackware build script for powershell.
+#
+# Copyright 2019 Reza Talebi, Shahin Shahr, Iran.
+# 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.
+
+PRGNAM=powershell
+VERSION=${VERSION:-7.1.3}
+BUILD=${BUILD:-1}
+TAG=${TAG:-_SBo}
+
+if [ -z "$ARCH" ]; then
+ ARCH=$( uname -m )
+fi
+
+if [ "$ARCH" = "x86_64" ]; then
+ ARCHITECTURE="x64"
+else
+ echo "Package for $ARCH architecture is not available."
+ exit 1
+fi
+
+CWD=$(pwd)
+TMP=${TMP:-/tmp/SBo}
+PKG=$TMP/package-$PRGNAM
+OUTPUT=${OUTPUT:-/tmp}
+
+set -e
+
+rm -rf $PKG
+mkdir -p $TMP $PKG $OUTPUT
+cd $TMP
+rm -rf $PRGNAM-${VERSION}-${BUILD}
+mkdir -p $PRGNAM-${VERSION}-${BUILD}
+cd $PKG
+mkdir -p opt/microsoft/powershell
+tar -zxf $CWD/$PRGNAM-${VERSION}-linux-${ARCHITECTURE}.tar.gz -C opt/microsoft/powershell
+chown -R root:root opt/microsoft/powershell
+
+mkdir -p usr/bin/
+ln -s /opt/microsoft/powershell/pwsh usr/bin/pwsh
+
+mkdir -p usr/doc/$PRGNAM-$VERSION
+cat $CWD/$PRGNAM.SlackBuild > $PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM.SlackBuild
+
+mkdir -p $PKG/install
+cat $CWD/slack-desc > $PKG/install/slack-desc
+
+cd $PKG
+/sbin/makepkg -l y -c n $OUTPUT/$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.${PKGTYPE:-tgz}
diff --git a/system/powershell/powershell.info b/system/powershell/powershell.info
new file mode 100644
index 0000000000..9e7c9aaa3f
--- /dev/null
+++ b/system/powershell/powershell.info
@@ -0,0 +1,10 @@
+PRGNAM="powershell"
+VERSION="7.1.3"
+HOMEPAGE="https://www.microsoft.com/powershell/"
+DOWNLOAD="UNSUPPORTED"
+MD5SUM=""
+DOWNLOAD_x86_64="https://github.com/PowerShell/PowerShell/releases/download/v7.1.3/powershell-7.1.3-linux-x64.tar.gz"
+MD5SUM_x86_64="bdeb7d2a5cf51b97b02d4c16a055c8eb"
+REQUIRES=""
+MAINTAINER="Reza Talebi"
+EMAIL="reza.talebi.73@outlook.com"
diff --git a/system/powershell/slack-desc b/system/powershell/slack-desc
new file mode 100644
index 0000000000..88ee249010
--- /dev/null
+++ b/system/powershell/slack-desc
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description.
+# Line up the first '|' above the ':' following the base package name, and
+# the '|' on the right side marks the last column you can put a character in.
+# You must make exactly 11 lines for the formatting to be correct. It's also
+# customary to leave one space after the ':' except on otherwise blank lines.
+
+ |-----handy-ruler------------------------------------------------------|
+powershell: powershell (A task-based command-line shell and scripting language)
+powershell:
+powershell: PowerShell is a task-based command-line shell and scripting language
+powershell: built on .NET. PowerShell helps system administrators and power-users
+powershell: rapidly automate tasks that manage operating systems (Linux, macOS,
+powershell: and Windows) and processes.
+powershell: PowerShell base source code is now available in GitHub
+powershell: and open to community contributions.
+powershell:
+powershell: https://www.microsoft.com/powershell/
+powershell:
diff --git a/system/prometheus/README b/system/prometheus/README
new file mode 100644
index 0000000000..32872f5f9c
--- /dev/null
+++ b/system/prometheus/README
@@ -0,0 +1,24 @@
+Prometheus (An Open-Source Monitoring and Alerting Toolkit)
+
+Prometheus is an open-source systems monitoring and alerting toolkit
+originally built at SoundCloud.
+
+Prometheus's main features are:
+
+- a multi-dimensional data model with time series data identified by
+ metric name and key/value pairs
+- PromQL, a flexible query language to leverage this dimensionality
+- no reliance on distributed storage; single server nodes are autonomous
+- time series collection happens via a pull model over HTTP
+- pushing time series is supported via an intermediary gateway
+- targets are discovered via service discovery or static configuration
+- multiple modes of graphing and dashboarding support
+
+Groupname and Username
+
+You must have the "prometheus" group and user to run this script, for
+example:
+
+ groupadd -g 368 prometheus
+ useradd -u 368 -s /bin/false -d /var/lib/prometheus \
+ -g prometheus prometheus
diff --git a/system/prometheus/doinst.sh b/system/prometheus/doinst.sh
new file mode 100644
index 0000000000..5e73a492a1
--- /dev/null
+++ b/system/prometheus/doinst.sh
@@ -0,0 +1,26 @@
+config() {
+ NEW="$1"
+ OLD="`dirname $NEW`/`basename $NEW .new`"
+ # If there's no config file by that name, mv it over:
+ if [ ! -r $OLD ]; then
+ mv $NEW $OLD
+ elif [ "`cat $OLD | md5sum`" = "`cat $NEW | md5sum`" ]; then # toss the redundant copy
+ rm $NEW
+ fi
+ # Otherwise, we leave the .new copy for the admin to consider...
+}
+
+preserve_perms() {
+ NEW="$1"
+ OLD="$(dirname $NEW)/$(basename $NEW .new)"
+ if [ -e $OLD ]; then
+ cp -a $OLD ${NEW}.incoming
+ cat $NEW > ${NEW}.incoming
+ mv ${NEW}.incoming $NEW
+ fi
+ config $NEW
+}
+
+config etc/prometheus/prometheus.yml.new
+
+preserve_perms etc/rc.d/rc.prometheus.new
diff --git a/system/prometheus/prometheus.SlackBuild b/system/prometheus/prometheus.SlackBuild
new file mode 100644
index 0000000000..57ec494f66
--- /dev/null
+++ b/system/prometheus/prometheus.SlackBuild
@@ -0,0 +1,106 @@
+#!/bin/sh
+
+# Slackware build script for Prometheus
+
+# Copyright 2017-2020 Ebben Aries <slackbuilds@dscp.org>
+# 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.
+
+PRGNAM=prometheus
+VERSION=${VERSION:-2.26.0}
+BUILD=${BUILD:-1}
+TAG=${TAG:-_SBo}
+
+if [ -z "$ARCH" ]; then
+ case "$( uname -m )" in
+ i?86) ARCH=i586 ;;
+ arm*) ARCH=arm ;;
+ *) ARCH=$( uname -m ) ;;
+ esac
+fi
+
+UIDGID=368
+if ! getent group $PRGNAM; then
+ echo " You must have the \"$PRGNAM\" group to run this script."
+ echo " # groupadd -g $UIDGID $PRGNAM"
+ exit 1
+elif ! getent passwd $PRGNAM; then
+ echo " You must have the \"$PRGNAM\" user to run this script."
+ echo " # useradd -u $UIDGID -s /bin/false -d /var/lib/$PRGNAM -g $PRGNAM $PRGNAM"
+ exit 1
+fi
+
+CWD=$(pwd)
+TMP=${TMP:-/tmp/SBo}
+PKG=$TMP/package-$PRGNAM
+OUTPUT=${OUTPUT:-/tmp}
+
+if [ "$ARCH" = "x86_64" ]; then
+ PKG_ARCH=amd64
+else
+ echo "$ARCH is not supported."
+ exit 1
+fi
+
+set -e
+
+rm -rf $PKG
+mkdir -p $TMP $PKG $OUTPUT
+cd $TMP
+rm -rf $PRGNAM
+tar xvf $CWD/$PRGNAM-${VERSION}.linux-${PKG_ARCH}.tar.gz
+cd $PRGNAM-${VERSION}.linux-${PKG_ARCH}
+chown -R root:root .
+find -L . \
+ \( -perm 777 -o -perm 775 -o -perm 750 -o -perm 711 -o -perm 555 \
+ -o -perm 511 \) -exec chmod 755 {} \; -o \
+ \( -perm 666 -o -perm 664 -o -perm 640 -o -perm 600 -o -perm 444 \
+ -o -perm 440 -o -perm 400 \) -exec chmod 644 {} \;
+
+mkdir -p $PKG/etc/prometheus
+cp -a prometheus.yml $PKG/etc/prometheus/prometheus.yml.new
+
+mkdir -p $PKG/usr/bin
+cp -a prometheus $PKG/usr/bin
+cp -a promtool $PKG/usr/bin
+
+mkdir -p $PKG/usr/share/prometheus
+cp -ar console_libraries $PKG/usr/share/prometheus
+cp -ar consoles $PKG/usr/share/prometheus
+
+mkdir -p $PKG/var/lib/prometheus
+chown -R prometheus:prometheus $PKG/var/lib/prometheus
+
+mkdir -p $PKG/etc/rc.d
+cat $CWD/rc.prometheus.new > $PKG/etc/rc.d/rc.prometheus.new
+
+find $PKG -print0 | xargs -0 file | grep -e "executable" -e "shared object" | grep ELF \
+ | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null || true
+
+
+mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION
+cp -a LICENSE NOTICE $PKG/usr/doc/$PRGNAM-$VERSION
+cat $CWD/$PRGNAM.SlackBuild > $PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM.SlackBuild
+
+mkdir -p $PKG/install
+cat $CWD/slack-desc > $PKG/install/slack-desc
+cat $CWD/doinst.sh > $PKG/install/doinst.sh
+
+cd $PKG
+/sbin/makepkg -l y -c n $OUTPUT/$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.${PKGTYPE:-tgz}
diff --git a/system/prometheus/prometheus.info b/system/prometheus/prometheus.info
new file mode 100644
index 0000000000..1d9ae489f1
--- /dev/null
+++ b/system/prometheus/prometheus.info
@@ -0,0 +1,10 @@
+PRGNAM="prometheus"
+VERSION="2.26.0"
+HOMEPAGE="https://prometheus.io"
+DOWNLOAD="UNSUPPORTED"
+MD5SUM=""
+DOWNLOAD_x86_64="https://github.com/prometheus/prometheus/releases/download/v2.26.0/prometheus-2.26.0.linux-amd64.tar.gz"
+MD5SUM_x86_64="839c1fc55ea026611f56eec5b36d61c3"
+REQUIRES=""
+MAINTAINER="Ebben Aries"
+EMAIL="slackbuilds@dscp.org"
diff --git a/system/prometheus/rc.prometheus.new b/system/prometheus/rc.prometheus.new
new file mode 100644
index 0000000000..6d1e705e0e
--- /dev/null
+++ b/system/prometheus/rc.prometheus.new
@@ -0,0 +1,65 @@
+#!/bin/sh
+
+# Copyright 2020, Ebben Aries, 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.
+
+PROG=/usr/bin/prometheus
+USER=prometheus
+LOGFILE=/var/log/prometheus.log
+CONF=/etc/prometheus/prometheus.yml
+TSDB=/var/lib/prometheus
+WEB_LIBS=/usr/share/prometheus/console_libraries
+WEB_TEMPLATES=/usr/share/prometheus/consoles
+
+prometheus_start() {
+ echo -e "Starting Prometheus..."
+ nohup sudo -u $USER $PROG \
+ --config.file=$CONF \
+ --storage.tsdb.path=$TSDB \
+ --web.console.libraries=$WEB_LIBS \
+ --web.console.templates=$WEB_TEMPLATES \
+ > $LOGFILE 2>&1 &
+}
+
+prometheus_stop() {
+ echo -e "Stopping Prometheus..."
+ killall prometheus
+}
+
+prometheus_restart() {
+ prometheus_stop
+ sleep 3
+ prometheus_start
+}
+
+case "$1" in
+ start)
+ prometheus_start
+ ;;
+ stop)
+ prometheus_stop
+ ;;
+ restart)
+ prometheus_restart
+ ;;
+ *)
+ echo "Usage: $0 {start|stop|restart}"
+ exit 1
+esac
diff --git a/system/prometheus/slack-desc b/system/prometheus/slack-desc
new file mode 100644
index 0000000000..30bd4f1c35
--- /dev/null
+++ b/system/prometheus/slack-desc
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description.
+# Line up the first '|' above the ':' following the base package name, and
+# the '|' on the right side marks the last column you can put a character in.
+# You must make exactly 11 lines for the formatting to be correct. It's also
+# customary to leave one space after the ':' except on otherwise blank lines.
+
+ |-----handy-ruler------------------------------------------------------|
+prometheus: Prometheus (An Open-Source Monitoring and Alerting Toolkit)
+prometheus:
+prometheus: Prometheus is an open-source systems monitoring and alerting toolkit
+prometheus: originally built at SoundCloud.
+prometheus:
+prometheus:
+prometheus:
+prometheus:
+prometheus:
+prometheus: Home-Page: https://prometheus.io
+prometheus:
diff --git a/system/pspg/pspg.SlackBuild b/system/pspg/pspg.SlackBuild
index bfa4a8596f..2c8b6c788a 100644
--- a/system/pspg/pspg.SlackBuild
+++ b/system/pspg/pspg.SlackBuild
@@ -2,7 +2,7 @@
# Slackware build script for pspg
-# Copyright 2017-2019 Benjamin Trigona-Harany <slackbuilds@jaxartes.net>
+# Copyright 2017-2021 Benjamin Trigona-Harany <slackbuilds@jaxartes.net>
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
@@ -23,7 +23,7 @@
# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
PRGNAM=pspg
-VERSION=${VERSION:-2.6.0}
+VERSION=${VERSION:-4.5.0}
BUILD=${BUILD:-1}
TAG=${TAG:-_SBo}
diff --git a/system/pspg/pspg.info b/system/pspg/pspg.info
index 75554800ea..8316fa3959 100644
--- a/system/pspg/pspg.info
+++ b/system/pspg/pspg.info
@@ -1,8 +1,8 @@
PRGNAM="pspg"
-VERSION="2.6.0"
+VERSION="4.5.0"
HOMEPAGE="https://github.com/okbob/pspg"
-DOWNLOAD="https://github.com/okbob/pspg/archive/2.6.0/pspg-2.6.0.tar.gz"
-MD5SUM="8eab64c77bdef1f465a1ac94a87ba10a"
+DOWNLOAD="https://github.com/okbob/pspg/archive/4.5.0/pspg-4.5.0.tar.gz"
+MD5SUM="f09bd3aa94affc2cc008ee78f64e774b"
DOWNLOAD_x86_64=""
MD5SUM_x86_64=""
REQUIRES=""
diff --git a/system/psuinfo/README b/system/psuinfo/README
new file mode 100644
index 0000000000..ebf249ba33
--- /dev/null
+++ b/system/psuinfo/README
@@ -0,0 +1,5 @@
+A Python3 psutil-based command to display customizable system usage
+info as icons or text. Intended for Tint2 panel executors, may also
+be used in other panels or executed in terminal.
+
+Note: required package psutil must have been built with Python3 support
diff --git a/system/psuinfo/psuinfo.SlackBuild b/system/psuinfo/psuinfo.SlackBuild
new file mode 100644
index 0000000000..23cb95e2fb
--- /dev/null
+++ b/system/psuinfo/psuinfo.SlackBuild
@@ -0,0 +1,70 @@
+#!/bin/sh
+
+# Slackware build script for psuinfo
+
+# Copyright 2020 Leonardo Citrolo, Italy
+# 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.
+
+PRGNAM=psuinfo
+VERSION=${VERSION:-1.1}
+BUILD=${BUILD:-1}
+TAG=${TAG:-_SBo}
+
+ARCH=noarch
+
+CWD=$(pwd)
+TMP=${TMP:-/tmp/SBo}
+PKG=$TMP/package-$PRGNAM
+OUTPUT=${OUTPUT:-/tmp}
+
+set -e
+
+rm -rf $PKG
+mkdir -p $TMP $PKG $OUTPUT
+cd $TMP
+rm -rf $PRGNAM-$VERSION
+tar xvf $CWD/$PRGNAM-$VERSION.tar.gz
+cd $PRGNAM-$VERSION
+chown -R root:root .
+find -L . \
+ \( -perm 777 -o -perm 775 -o -perm 750 -o -perm 711 -o -perm 555 \
+ -o -perm 511 \) -exec chmod 755 {} \; -o \
+ \( -perm 666 -o -perm 664 -o -perm 640 -o -perm 600 -o -perm 444 \
+ -o -perm 440 -o -perm 400 \) -exec chmod 644 {} \;
+
+mkdir -p $PKG/usr/bin
+cp -a $PRGNAM $PKG/usr/bin
+
+mkdir -p $PKG/usr/share/$PRGNAM
+cp -a icons/* $PKG/usr/share/$PRGNAM
+
+mkdir -p $PKG/usr/share/tint2
+cp -a configs/* $PKG/usr/share/tint2
+
+mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION
+cp -a CHANGELOG.md LICENSE README.md \
+ $PKG/usr/doc/$PRGNAM-$VERSION
+cat $CWD/$PRGNAM.SlackBuild > $PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM.SlackBuild
+
+mkdir -p $PKG/install
+cat $CWD/slack-desc > $PKG/install/slack-desc
+
+cd $PKG
+/sbin/makepkg -l y -c n $OUTPUT/$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.${PKGTYPE:-tgz}
diff --git a/system/psuinfo/psuinfo.info b/system/psuinfo/psuinfo.info
new file mode 100644
index 0000000000..54fcce6768
--- /dev/null
+++ b/system/psuinfo/psuinfo.info
@@ -0,0 +1,10 @@
+PRGNAM="psuinfo"
+VERSION="1.1"
+HOMEPAGE="https://github.com/nwg-piotr/psuinfo"
+DOWNLOAD="https://github.com/nwg-piotr/psuinfo/archive/v1.1/psuinfo-1.1.tar.gz"
+MD5SUM="ddbcfab6a6a9111fe3ea9e57186e9833"
+DOWNLOAD_x86_64=""
+MD5SUM_x86_64=""
+REQUIRES="psutil python3"
+MAINTAINER="Leo C."
+EMAIL="leoc@gmx.com"
diff --git a/system/psuinfo/slack-desc b/system/psuinfo/slack-desc
new file mode 100644
index 0000000000..503c9b2bd5
--- /dev/null
+++ b/system/psuinfo/slack-desc
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description.
+# Line up the first '|' above the ':' following the base package name, and
+# the '|' on the right side marks the last column you can put a character in.
+# You must make exactly 11 lines for the formatting to be correct. It's also
+# customary to leave one space after the ':' except on otherwise blank lines.
+
+ |-----handy-ruler------------------------------------------------------|
+psuinfo: psuinfo (Custom system usage info for Tint2 panel executors or CLI)
+psuinfo:
+psuinfo: A Python3 psutil-based command to display customizable system usage
+psuinfo: info as icons or text. Intended for Tint2 panel executors, may also
+psuinfo: be used in other panels or executed in terminal.
+psuinfo:
+psuinfo:
+psuinfo:
+psuinfo:
+psuinfo: Homepage: https://github.com/nwg-piotr/psuinfo
+psuinfo:
diff --git a/system/pucrunch/pucrunch.info b/system/pucrunch/pucrunch.info
index a6f3e16bc0..d7adcce7e5 100644
--- a/system/pucrunch/pucrunch.info
+++ b/system/pucrunch/pucrunch.info
@@ -1,7 +1,7 @@
PRGNAM="pucrunch"
VERSION="20081122"
HOMEPAGE="http://a1bert.kapsi.fi/Dev/pucrunch/"
-DOWNLOAD="http://urchlay.naptime.net/~urchlay/src/pucrunch-20081122.tar.xz"
+DOWNLOAD="https://slackware.uk/~urchlay/src/pucrunch-20081122.tar.xz"
MD5SUM="dbc3e129a9d963e96f34a3495307aeff"
DOWNLOAD_x86_64=""
MD5SUM_x86_64=""
diff --git a/system/pwman/README b/system/pwman/README
new file mode 100644
index 0000000000..7f4ec3cf94
--- /dev/null
+++ b/system/pwman/README
@@ -0,0 +1,19 @@
+PWman (An NCurses password management program)
+
+PWMan is a password manager which uses gpg encryption to safeguard your data.
+It provides a simple and easy to use command line (NCurses) interface to
+manage, store, search and retrieve your passwords.
+
+The look and feel is based on Jaakko Heinonen's abook.
+
+BEFORE USING PWMAN
+
+While compilation does not directly require it, usage relies on Gnu Privacy
+Guard (gpg) being installed. You will need to specify a GnuPG ID the
+first time a user runs pwman, so this must be set up beforehand.
+
+There is more information on the gpg manpage, but you can probably just run
+
+ % gpg --gen-key
+
+and follow the on-screen instructions.
diff --git a/system/pwman/pwman.SlackBuild b/system/pwman/pwman.SlackBuild
new file mode 100644
index 0000000000..a057496866
--- /dev/null
+++ b/system/pwman/pwman.SlackBuild
@@ -0,0 +1,113 @@
+#!/bin/sh
+
+# Copyright 2008, 2009, 2010, 2011 Patrick J. Volkerding, Sebeka, MN, USA
+# All rights reserved.
+#
+# Redistribution and use of this script, with or without modification, is
+# permitted provided that the following conditions are met:
+#
+# 1. Redistributions of this script must retain the above copyright
+# notice, this list of conditions and the following disclaimer.
+#
+# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED
+# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
+# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
+# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
+# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
+# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+PRGNAM=pwman
+VERSION=${VERSION:-0.4.5}
+BUILD=${BUILD:-1}
+TAG=${TAG:-_SBo}
+
+if [ -z "$ARCH" ]; then
+ case "$( uname -m )" in
+ i?86) export ARCH=i586 ;;
+ arm*) export ARCH=arm ;;
+ *) export ARCH=$( uname -m ) ;;
+ esac
+fi
+
+CWD=$(pwd)
+TMP=${TMP:-/tmp/SBo}
+PKG=$TMP/package-$PRGNAM
+OUTPUT=${OUTPUT:-/tmp}
+
+if [ "$ARCH" = "i586" ]; then
+ SLKCFLAGS="-O2 -march=i586 -mtune=i686"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "i686" ]; then
+ SLKCFLAGS="-O2 -march=i686 -mtune=i686"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "s390" ]; then
+ SLKCFLAGS="-O2"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "x86_64" ]; then
+ SLKCFLAGS="-O2 -fPIC"
+ LIBDIRSUFFIX="64"
+else
+ SLKCFLAGS="-O2"
+ LIBDIRSUFFIX=""
+fi
+
+set -e
+
+rm -rf $PKG
+mkdir -p $TMP $PKG $OUTPUT
+
+cd $TMP
+rm -rf $PRGNAM-$VERSION
+tar xvf $CWD/$PRGNAM-$VERSION.tar.gz
+cd $PRGNAM-$VERSION
+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 {} \;
+
+CFLAGS="$SLKCFLAGS" \
+./configure \
+ --prefix=/usr \
+ --libdir=/usr/lib${LIBDIRSUFFIX} \
+ --mandir=/usr/man \
+ --build=$ARCH-slackware-linux
+
+make
+make install DESTDIR=$PKG
+
+find $PKG | xargs file | grep -e "executable" -e "shared object" \
+ | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
+
+mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION
+cp -a \
+ AUTHORS COPYING ChangeLog INSTALL README TODO \
+ $PKG/usr/doc/$PRGNAM-$VERSION
+
+# In case they ever add this stuff:
+
+if [ -d $PKG/usr/man ]; then
+ ( cd $PKG/usr/man
+ for manpagedir in $(find . -type d -name "man*") ; do
+ ( cd $manpagedir
+ for eachpage in $( find . -type l -maxdepth 1) ; do
+ ln -s $( readlink $eachpage ).gz $eachpage.gz
+ rm $eachpage
+ done
+ gzip -9 *.?
+ )
+ done
+ )
+fi
+
+mkdir -p $PKG/install
+cat $CWD/slack-desc > $PKG/install/slack-desc
+
+cd $PKG
+/sbin/makepkg -l y -c n $OUTPUT/$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.${PKGTYPE:-tgz}
diff --git a/system/pwman/pwman.info b/system/pwman/pwman.info
new file mode 100644
index 0000000000..215d57511c
--- /dev/null
+++ b/system/pwman/pwman.info
@@ -0,0 +1,10 @@
+PRGNAM="pwman"
+VERSION="0.4.5"
+HOMEPAGE="https://sourceforge.net/projects/pwman/"
+DOWNLOAD="https://liquidtelecom.dl.sourceforge.net/project/pwman/pwman/pwman-0.4.5/pwman-0.4.5.tar.gz"
+MD5SUM="091a97b23bea2f5e02f28f66814df55b"
+DOWNLOAD_x86_64=""
+MD5SUM_x86_64=""
+REQUIRES=""
+MAINTAINER="kchan"
+EMAIL="kenneth.t.chan@gmail.com"
diff --git a/system/pwman/slack-desc b/system/pwman/slack-desc
new file mode 100644
index 0000000000..8eaec8ba06
--- /dev/null
+++ b/system/pwman/slack-desc
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|'
+# on the right side marks the last column you can put a character in. You must
+# make exactly 11 lines for the formatting to be correct. It's also
+# customary to leave one space after the ':'.
+
+ |-----handy-ruler------------------------------------------------------|
+pwman: pwman (An NCurses password management program)
+pwman:
+pwman: PWman is a text-based application based on the ui design of abook
+pwman: (http://abook.sourceforge.net). PWman works on Linux, and should also
+pwman: run on most other UNIXes(untested).
+pwman:
+pwman:
+pwman:
+pwman:
+pwman:
+pwman:
diff --git a/system/python3-urwid/python3-urwid.SlackBuild b/system/python3-urwid/python3-urwid.SlackBuild
index 6849d5503e..94695a76fe 100644
--- a/system/python3-urwid/python3-urwid.SlackBuild
+++ b/system/python3-urwid/python3-urwid.SlackBuild
@@ -1,7 +1,7 @@
#!/bin/sh
# Slackware build script for python3-urwid
-# Copyright 2017 David Woodfall <dave@dawoodfall.net>
+# Copyright 2017 David Woodfall <dave@slackbuilds.org>
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
diff --git a/system/python3-urwid/python3-urwid.info b/system/python3-urwid/python3-urwid.info
index e8437431b2..f883fa3cc8 100644
--- a/system/python3-urwid/python3-urwid.info
+++ b/system/python3-urwid/python3-urwid.info
@@ -7,4 +7,4 @@ DOWNLOAD_x86_64=""
MD5SUM_x86_64=""
REQUIRES="python3"
MAINTAINER="David Woodfall"
-EMAIL="dave@dawoodfall.net"
+EMAIL="dave@slackbuilds.org"
diff --git a/system/qdirstat/qdirstat.SlackBuild b/system/qdirstat/qdirstat.SlackBuild
index 14039d9ed9..623a675d77 100644
--- a/system/qdirstat/qdirstat.SlackBuild
+++ b/system/qdirstat/qdirstat.SlackBuild
@@ -23,7 +23,7 @@
# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
PRGNAM=qdirstat
-VERSION=${VERSION:-1.6}
+VERSION=${VERSION:-1.7.1}
BUILD=${BUILD:-1}
TAG=${TAG:-_SBo}
diff --git a/system/qdirstat/qdirstat.info b/system/qdirstat/qdirstat.info
index 68c7742253..20f34ac13d 100644
--- a/system/qdirstat/qdirstat.info
+++ b/system/qdirstat/qdirstat.info
@@ -1,8 +1,8 @@
PRGNAM="qdirstat"
-VERSION="1.6"
+VERSION="1.7.1"
HOMEPAGE="https://github.com/shundhammer/qdirstat/"
-DOWNLOAD="https://github.com/shundhammer/qdirstat/archive/1.6/qdirstat-1.6.tar.gz"
-MD5SUM="3dbd167320d60c7088e3a631ad4713ba"
+DOWNLOAD="https://github.com/shundhammer/qdirstat/archive/1.7.1/qdirstat-1.7.1.tar.gz"
+MD5SUM="551b48dcb8006727166d5b167a2af675"
DOWNLOAD_x86_64=""
MD5SUM_x86_64=""
REQUIRES="qt5"
diff --git a/system/qemu/qemu.SlackBuild b/system/qemu/qemu.SlackBuild
index c7b9538ff6..57a43b834a 100644
--- a/system/qemu/qemu.SlackBuild
+++ b/system/qemu/qemu.SlackBuild
@@ -55,10 +55,11 @@
# 4.5 03-Jun-2018 version update to 2.12.0 release, note new deps: sdl2, gtk+3
# 5.0 14-Dec-2018 version update to 3.1.0 release, note minimum dependency versions on release notes
# 6.0 14-JUL-2019 version update to 4.0.0 release, note minimum dependency versions on release notes, doc fixes
-# 6.1 19-AUG-2019 verion update
+# 6.1 19-AUG-2019 version update
+# 6.2 16-Nov-2020 version update, 14.2 final release.
PRGNAM=qemu
-VERSION=${VERSION:-4.1.0}
+VERSION=${VERSION:-4.1.1}
BUILD=${BUILD:-1}
TAG=${TAG:-_SBo}
diff --git a/system/qemu/qemu.info b/system/qemu/qemu.info
index d092200f0e..ff582deea0 100644
--- a/system/qemu/qemu.info
+++ b/system/qemu/qemu.info
@@ -1,8 +1,8 @@
PRGNAM="qemu"
-VERSION="4.1.0"
+VERSION="4.1.1"
HOMEPAGE="https://www.qemu.org"
-DOWNLOAD="https://download.qemu.org/qemu-4.1.0.tar.xz"
-MD5SUM="cdf2b5ca52b9abac9bacb5842fa420f8"
+DOWNLOAD="https://download.qemu.org/qemu-4.1.1.tar.xz"
+MD5SUM="53879f792ef2675c6c5e6cbf5cc1ac6c"
DOWNLOAD_x86_64=""
MD5SUM_x86_64=""
REQUIRES="SDL2"
diff --git a/system/quake-par/quake-par.info b/system/quake-par/quake-par.info
index ec5fda4979..3d1b8cdba4 100644
--- a/system/quake-par/quake-par.info
+++ b/system/quake-par/quake-par.info
@@ -1,5 +1,5 @@
PRGNAM="quake-par"
-VERSION="0.3.1"
+VERSION="0.03.01"
HOMEPAGE="http://ftp.vim.org/ibiblio/games/quake/"
DOWNLOAD="http://ftp.vim.org/ibiblio/games/quake/par-0.03.01.tar.gz"
MD5SUM="39a73b5b95b04067dfc9acb8ef6bc9ff"
diff --git a/system/rEFInd/README b/system/rEFInd/README
new file mode 100644
index 0000000000..2909b3d5d2
--- /dev/null
+++ b/system/rEFInd/README
@@ -0,0 +1,13 @@
+rEFInd (An EFI boot manager utility)
+
+A graphical boot manager for EFI- and UEFI-based computers, such as all
+Intel-based Macs and recent (most 2011 and later) PCs. rEFInd presents
+a boot menu showing all the EFI boot loaders on the EFI-accessible
+partitions, and optionally BIOS-bootable partitions on Macs.
+EFI-compatible OSes, including Linux, provide boot loaders that rEFInd
+can detect and launch. rEFInd can launch Linux EFI boot loaders such
+as ELILO, GRUB Legacy, GRUB 2, and 3.3.0 and later kernels with EFI
+stub support.
+
+This package is optionally depends on python3 if you want to run the
+refind-mkdefault script, otherwise you don't need python3.
diff --git a/system/rEFInd/rEFInd.SlackBuild b/system/rEFInd/rEFInd.SlackBuild
new file mode 100644
index 0000000000..9046b5f8fa
--- /dev/null
+++ b/system/rEFInd/rEFInd.SlackBuild
@@ -0,0 +1,105 @@
+#!/bin/sh
+
+# Slackware build script for refind
+
+# Copyright 2020 Zhu Qun-Ying 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.
+
+PRGNAM=rEFInd
+SRCNAME=refind
+VERSION=${VERSION:-0.13.1}
+BUILD=${BUILD:-1}
+TAG=${TAG:-_SBo}
+
+if [ -z "$ARCH" ]; then
+ case "$( uname -m )" in
+ i?86) ARCH=i586 ;;
+ arm*) ARCH=arm ;;
+ *) ARCH=$( uname -m ) ;;
+ esac
+fi
+
+if [ "$ARCH" != "x86_64" ] && [ "$ARCH" != "i586" ] && [ "$ARCH" != "i686" ]; then
+ echo "Platform $ARCH not supported."
+ exit
+fi
+
+CWD=$(pwd)
+TMP=${TMP:-/tmp/SBo}
+PKG=$TMP/package-$PRGNAM
+OUTPUT=${OUTPUT:-/tmp}
+
+set -e
+
+rm -rf $PKG
+mkdir -p $TMP $PKG $OUTPUT
+cd $TMP
+rm -rf $SRCNAME-$VERSION
+tar xvf $CWD/$SRCNAME-src-$VERSION.tar.gz
+cd $SRCNAME-$VERSION
+chown -R root:root .
+
+if [ "$ARCH" == "x86_64" ]; then
+ sed -i -s 's/usr\/lib/usr\/lib64/' Make.common
+ REFIND_SUFFIX=x64
+else
+ REFIND_SUFFIX=ia32
+fi
+sed -i '/^EFICRT0/ s/$/\/gnuefi/' Make.common
+make all_gnuefi
+REFIND_SHARE_DIR=$PKG/usr/share/$PRGNAM-$VERSION
+mkdir -p $PKG/usr/sbin
+mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION
+mkdir -p $REFIND_SHARE_DIR
+
+# copy keys
+cp -ra keys refind-install refind-mkdefault fonts banners $REFIND_SHARE_DIR
+mkdir $REFIND_SHARE_DIR/refind
+cp refind/*.efi $REFIND_SHARE_DIR/refind
+cp refind.conf-sample $REFIND_SHARE_DIR/refind
+cp refind-install refind-mkdefault $REFIND_SHARE_DIR/
+cp -ra icons $REFIND_SHARE_DIR/refind
+mkdir $REFIND_SHARE_DIR/refind/drivers_$REFIND_SUFFIX
+cp ./filesystems/*.efi $REFIND_SHARE_DIR/refind/drivers_$REFIND_SUFFIX
+cp ./filesystems/LICENSE* $REFIND_SHARE_DIR/refind/drivers_$REFIND_SUFFIX
+mkdir $REFIND_SHARE_DIR/refind/tools_$REFIND_SUFFIX
+cp ./gptsync/*.efi $REFIND_SHARE_DIR/refind/tools_$REFIND_SUFFIX
+
+cp mkrlconf mvrefind mountesp $PKG/usr/sbin
+(cd $PKG/usr/sbin
+ ln -sf /usr/share/$PRGNAM-$VERSION/refind-mkdefault
+ ln -sf /usr/share/$PRGNAM-$VERSION/refind-install
+)
+cp -a docs/* *.txt $PKG/usr/doc/$PRGNAM-$VERSION
+
+# include a slackware banner made by me, including the svg version
+cp $CWD/slackware-banner.* $REFIND_SHARE_DIR/banners
+
+mkdir -p $PKG/usr/man/man8
+mv $PKG/usr/doc/$PRGNAM-$VERSION/man/*.8 $PKG/usr/man/man8
+rmdir $PKG/usr/doc/$PRGNAM-$VERSION/man
+gzip $PKG/usr/man/man8/*
+
+cat $CWD/$PRGNAM.SlackBuild > $PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM.SlackBuild
+
+mkdir -p $PKG/install
+cat $CWD/slack-desc > $PKG/install/slack-desc
+
+cd $PKG
+/sbin/makepkg -l y -c n $OUTPUT/$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.${PKGTYPE:-tgz}
diff --git a/system/rEFInd/rEFInd.info b/system/rEFInd/rEFInd.info
new file mode 100644
index 0000000000..d4bded634f
--- /dev/null
+++ b/system/rEFInd/rEFInd.info
@@ -0,0 +1,10 @@
+PRGNAM="rEFInd"
+VERSION="0.13.1"
+HOMEPAGE="http://www.rodsbooks.com/refind/index.html"
+DOWNLOAD="https://sourceforge.net/projects/refind/files/0.13.1/refind-src-0.13.1.tar.gz"
+MD5SUM="816252968231915b3445ab00b067f011"
+DOWNLOAD_x86_64=""
+MD5SUM_x86_64=""
+REQUIRES=""
+MAINTAINER="Zhu Qun-Ying"
+EMAIL="zhu.qunying@gmail.com"
diff --git a/system/rEFInd/slack-desc b/system/rEFInd/slack-desc
new file mode 100644
index 0000000000..9110c5da70
--- /dev/null
+++ b/system/rEFInd/slack-desc
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description.
+# Line up the first '|' above the ':' following the base package name, and
+# the '|' on the right side marks the last column you can put a character in.
+# You must make exactly 11 lines for the formatting to be correct. It's also
+# customary to leave one space after the ':' except on otherwise blank lines.
+
+ |-----handy-ruler------------------------------------------------------|
+rEFInd: rEFInd (An EFI boot manager utility)
+rEFInd:
+rEFInd: A graphical boot manager for EFI and UEFI-based computers, such as all
+rEFInd: Intel-based Macs and recent (most 2011 and later) PCs. rEFInd presents
+rEFInd: a boot menu showing all the EFI boot loaders on the EFI-accessible
+rEFInd: partitions, and optionally BIOS-bootable partitions on Macs.
+rEFInd: EFI-compatible OSes, including Linux, provide boot loaders that rEFInd
+rEFInd: can detect and launch. rEFInd can launch Linux EFI boot loaders such
+rEFInd: as ELILO, GRUB Legacy, GRUB 2, and 3.3.0 and later kernels with EFI
+rEFInd: stub support.
+rEFInd: Home page: http://www.rodsbooks.com/refind/
diff --git a/system/rEFInd/slackware-banner.png b/system/rEFInd/slackware-banner.png
new file mode 100644
index 0000000000..3458904c3d
--- /dev/null
+++ b/system/rEFInd/slackware-banner.png
Binary files differ
diff --git a/system/rEFInd/slackware-banner.svg b/system/rEFInd/slackware-banner.svg
new file mode 100644
index 0000000000..78baf4d4d0
--- /dev/null
+++ b/system/rEFInd/slackware-banner.svg
@@ -0,0 +1,136 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+
+<svg
+ xmlns:dc="http://purl.org/dc/elements/1.1/"
+ xmlns:cc="http://creativecommons.org/ns#"
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns="http://www.w3.org/2000/svg"
+ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+ width="716.16858"
+ height="246.74951"
+ id="svg2"
+ version="1.1"
+ inkscape:version="0.48.4 r9939"
+ sodipodi:docname="slackware-banner.svg"
+ inkscape:export-filename="slackware-banner.png"
+ inkscape:export-xdpi="90"
+ inkscape:export-ydpi="90">
+ <defs
+ id="defs4" />
+ <sodipodi:namedview
+ id="base"
+ pagecolor="#ffffff"
+ bordercolor="#666666"
+ borderopacity="1.0"
+ inkscape:pageopacity="0.0"
+ inkscape:pageshadow="2"
+ inkscape:zoom="1"
+ inkscape:cx="397.44654"
+ inkscape:cy="94.748334"
+ inkscape:document-units="px"
+ inkscape:current-layer="layer1"
+ showgrid="true"
+ inkscape:window-width="960"
+ inkscape:window-height="1043"
+ inkscape:window-x="960"
+ inkscape:window-y="37"
+ inkscape:window-maximized="0"
+ showguides="false"
+ inkscape:snap-from-guide="false"
+ inkscape:object-paths="true"
+ inkscape:snap-global="true"
+ showborder="false"
+ inkscape:showpageshadow="false"
+ fit-margin-top="0"
+ fit-margin-left="0"
+ fit-margin-right="0"
+ fit-margin-bottom="0">
+ <inkscape:grid
+ type="xygrid"
+ id="grid3005"
+ empspacing="5"
+ visible="true"
+ enabled="true"
+ snapvisiblegridlinesonly="true"
+ originx="226.53154px"
+ originy="8.6054773px" />
+ </sodipodi:namedview>
+ <metadata
+ id="metadata7">
+ <rdf:RDF>
+ <cc:Work
+ rdf:about="">
+ <dc:format>image/svg+xml</dc:format>
+ <dc:type
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+ <dc:title></dc:title>
+ </cc:Work>
+ </rdf:RDF>
+ </metadata>
+ <g
+ inkscape:label="Layer 1"
+ inkscape:groupmode="layer"
+ id="layer1"
+ transform="translate(226.53154,-814.21814)">
+ <rect
+ style="fill:#000000;stroke:#000000;stroke-width:0;stroke-miterlimit:4;stroke-dasharray:none"
+ id="rect2985"
+ width="716.16858"
+ height="246.74951"
+ x="-226.53154"
+ y="814.21814"
+ inkscape:export-filename="/root/slackware-banner.png"
+ inkscape:export-xdpi="90"
+ inkscape:export-ydpi="90" />
+ <text
+ xml:space="preserve"
+ style="font-size:120px;font-style:normal;font-variant:normal;font-weight:500;font-stretch:normal;text-align:start;line-height:125%;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#ffffff;fill-opacity:1;stroke:none;font-family:CMU Typewriter Text Variable Width;-inkscape-font-specification:CMU Typewriter Text Variable Width Medium"
+ x="-133.22945"
+ y="931.62817"
+ id="text2991"
+ sodipodi:linespacing="125%"
+ inkscape:export-filename="/root/slackware-banner.png"
+ inkscape:export-xdpi="90"
+ inkscape:export-ydpi="90"><tspan
+ sodipodi:role="line"
+ id="tspan3003"
+ x="-133.22945"
+ y="931.62817">Slackware</tspan></text>
+ <text
+ xml:space="preserve"
+ style="font-size:48px;font-style:normal;font-variant:normal;font-weight:200;font-stretch:normal;text-align:start;line-height:125%;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#ffffff;fill-opacity:1;stroke:none;font-family:CMU Typewriter Text;-inkscape-font-specification:CMU Typewriter Text Ultra-Light"
+ x="168.72957"
+ y="968.2403"
+ id="text3023"
+ sodipodi:linespacing="125%"
+ inkscape:transform-center-x="36.42857"
+ inkscape:transform-center-y="-14.832038"
+ inkscape:export-filename="/root/slackware-banner.png"
+ inkscape:export-xdpi="90"
+ inkscape:export-ydpi="90"><tspan
+ sodipodi:role="line"
+ id="tspan3025"
+ x="168.72957"
+ y="968.2403">l i n u x</tspan></text>
+ <text
+ xml:space="preserve"
+ style="font-size:36px;font-style:italic;font-variant:normal;font-weight:500;font-stretch:normal;text-align:start;line-height:125%;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#ffffff;fill-opacity:1;stroke:none;font-family:CMU Typewriter Text;-inkscape-font-specification:CMU Typewriter Text Medium Italic"
+ x="-70.634323"
+ y="1068.5151"
+ id="text3063"
+ sodipodi:linespacing="125%"
+ transform="scale(1.0429907,0.95878132)"><tspan
+ sodipodi:role="line"
+ id="tspan3067"
+ x="-70.634323"
+ y="1068.5151">http://www.slackware.com</tspan></text>
+ <path
+ style="fill:none;stroke:#ffffff;stroke-width:2.50000000000000000;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
+ d="m -152,909.3622 0,48 309,0"
+ id="path3783"
+ inkscape:connector-curvature="0" />
+ </g>
+</svg>
diff --git a/system/ranger/ranger.SlackBuild b/system/ranger/ranger.SlackBuild
index c619d0af1d..a016f269c6 100644
--- a/system/ranger/ranger.SlackBuild
+++ b/system/ranger/ranger.SlackBuild
@@ -2,8 +2,8 @@
# Slackware build script for ranger
-# Copyright 2019 Dimitris Zlatanidis Orestiada, Greece
-# Copyright 2013 David Woodfall <dave@dawoodfall.net>
+# Copyright 2019-2020 Dimitris Zlatanidis Orestiada, Greece
+# Copyright 2013 David Woodfall <dave@slackbuilds.org>
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
@@ -24,8 +24,8 @@
# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
PRGNAM=ranger
-VERSION=${VERSION:-1.9.2}
-BUILD=${BUILD:-3}
+VERSION=${VERSION:-1.9.3}
+BUILD=${BUILD:-1}
TAG=${TAG:-_SBo}
if [ -z "$ARCH" ]; then
diff --git a/system/ranger/ranger.info b/system/ranger/ranger.info
index d57c4d43b3..056416b111 100644
--- a/system/ranger/ranger.info
+++ b/system/ranger/ranger.info
@@ -1,8 +1,8 @@
PRGNAM="ranger"
-VERSION="1.9.2"
+VERSION="1.9.3"
HOMEPAGE="https://ranger.github.io"
-DOWNLOAD="https://github.com/ranger/ranger/archive/v1.9.2/ranger-1.9.2.tar.gz"
-MD5SUM="4ce283e451a40a61590cf9aa504e926c"
+DOWNLOAD="https://github.com/ranger/ranger/archive/v1.9.3/ranger-1.9.3.tar.gz"
+MD5SUM="d491987cd9fb06bee100264cfea55d26"
DOWNLOAD_x86_64=""
MD5SUM_x86_64=""
REQUIRES=""
diff --git a/system/rar2fs/rar2fs.SlackBuild b/system/rar2fs/rar2fs.SlackBuild
index d58f7dc9ba..a0b1dcb813 100644
--- a/system/rar2fs/rar2fs.SlackBuild
+++ b/system/rar2fs/rar2fs.SlackBuild
@@ -2,7 +2,7 @@
# Slackware build script for rar2fs
-# Copyright 2011, 2015, 2016, 2017 Mario Preksavec, Zagreb, Croatia
+# Copyright 2011, 2015, 2016, 2017, 2021 Mario Preksavec, Zagreb, Croatia
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
@@ -23,7 +23,7 @@
# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
PRGNAM=rar2fs
-VERSION=${VERSION:-1.26.0}
+VERSION=${VERSION:-1.29.4}
BUILD=${BUILD:-1}
TAG=${TAG:-_SBo}
@@ -81,14 +81,14 @@ CXXFLAGS="$SLKCFLAGS" \
--build=$ARCH-slackware-linux
make
-install -D -m 755 mkr2i $PKG/usr/bin/mkr2i
-install -D -m 755 rar2fs $PKG/usr/bin/rar2fs
+install -D -m 755 src/mkr2i $PKG/usr/bin/mkr2i
+install -D -m 755 src/rar2fs $PKG/usr/bin/rar2fs
-install -D -m 644 rar2fs.1 $PKG/usr/man/man1/rar2fs.1
+install -D -m 644 man/rar2fs.1 $PKG/usr/man/man1/rar2fs.1
find $PKG/usr/man -type f -exec gzip -9 {} \;
mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION
-cp -a AUTHORS ChangeLog COPYING $PKG/usr/doc/$PRGNAM-$VERSION
+cp -a AUTHORS ChangeLog COPYING README $PKG/usr/doc/$PRGNAM-$VERSION
cat $CWD/$PRGNAM.SlackBuild > $PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM.SlackBuild
mkdir -p $PKG/install
diff --git a/system/rar2fs/rar2fs.info b/system/rar2fs/rar2fs.info
index adff04cbcb..97643ff11b 100644
--- a/system/rar2fs/rar2fs.info
+++ b/system/rar2fs/rar2fs.info
@@ -1,8 +1,8 @@
PRGNAM="rar2fs"
-VERSION="1.26.0"
+VERSION="1.29.4"
HOMEPAGE="https://github.com/hasse69/rar2fs"
-DOWNLOAD="https://github.com/hasse69/rar2fs/releases/download/v1.26.0/rar2fs-1.26.0.tar.gz"
-MD5SUM="30acf457c7ecec179b1cdcfbbe601410"
+DOWNLOAD="https://github.com/hasse69/rar2fs/releases/download/v1.29.4/rar2fs-1.29.4.tar.gz"
+MD5SUM="e4437a32e16ff03e78e3c65834bbe1dd"
DOWNLOAD_x86_64=""
MD5SUM_x86_64=""
REQUIRES="unrar"
diff --git a/system/rdiff-backup/rdiff-backup.info b/system/rdiff-backup/rdiff-backup.info
index 101ae00e71..fe58d9070b 100644
--- a/system/rdiff-backup/rdiff-backup.info
+++ b/system/rdiff-backup/rdiff-backup.info
@@ -6,5 +6,5 @@ MD5SUM="1a94dc537fcf74d6a3a80bd27808e77b"
DOWNLOAD_x86_64=""
MD5SUM_x86_64=""
REQUIRES="librsync"
-MAINTAINER="paul wisehart"
-EMAIL="wise@lupulin.net"
+MAINTAINER="Ricardo J. Barberis"
+EMAIL="ricardo.barberis@gmail.com"
diff --git a/system/refind/README b/system/refind/README
index c84f46eaf9..5a347d4823 100644
--- a/system/refind/README
+++ b/system/refind/README
@@ -14,3 +14,5 @@ the pre-build binary then convert to Slackware's.
This package is optionally depends on python3 if you want to run the
refind-mkdefault script, otherwise you don't need python3.
+
+There is an another Sbo script "rEFInd", which builds from source.
diff --git a/system/refind/refind.SlackBuild b/system/refind/refind.SlackBuild
index bb4cda4abd..4d319171f8 100644
--- a/system/refind/refind.SlackBuild
+++ b/system/refind/refind.SlackBuild
@@ -2,7 +2,7 @@
# Slackware build script for refind
-# Copyright 2014-2018 Zhu Qun-Ying
+# Copyright 2014-2020 Zhu Qun-Ying
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
@@ -23,7 +23,7 @@
# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
PRGNAM=refind
-VERSION=${VERSION:-0.11.4}
+VERSION=${VERSION:-0.13.1}
BUILD=${BUILD:-1}
TAG=${TAG:-_SBo}
@@ -65,6 +65,10 @@ cp -ra keys refind refind-install refind-mkdefault fonts banners $REFIND_SHARE_D
cp mkrlconf mvrefind mountesp $PKG/usr/sbin
cp -a docs/* *.txt $PKG/usr/doc/$PRGNAM-$VERSION
+(cd $PKG/usr/sbin
+ ln -sf /usr/share/refind-$VERSION/refind-install
+ ln -sf /usr/share/refind-$VERSION/refind-mkdefault)
+
AA64_PKG="$REFIND_SHARE_DIR/refind/drivers_aa64 \
$REFIND_SHARE_DIR/refind/tools_aa64 \
$REFIND_SHARE_DIR/refind/refind_aa64.efi"
diff --git a/system/refind/refind.info b/system/refind/refind.info
index d03482468d..bc3c09e94d 100644
--- a/system/refind/refind.info
+++ b/system/refind/refind.info
@@ -1,8 +1,8 @@
PRGNAM="refind"
-VERSION="0.11.4"
-HOMEPAGE="http://www.rodsbooks.com/refind/index.html"
-DOWNLOAD="http://sourceforge.net/projects/refind/files/0.11.4/refind-bin-0.11.4.zip"
-MD5SUM="7553ce542ff626396bec5a587161e28f"
+VERSION="0.13.1"
+HOMEPAGE="http://www.rodsbooks.com/refind"
+DOWNLOAD="http://sourceforge.net/projects/refind/files/0.13.1/refind-bin-0.13.1.zip"
+MD5SUM="c59ade5e8d63768abf30fc96cc2e77ad"
DOWNLOAD_x86_64=""
MD5SUM_x86_64=""
REQUIRES=""
diff --git a/system/regionset/regionset.SlackBuild b/system/regionset/regionset.SlackBuild
index 1196dc8ad0..a43b7764bd 100644
--- a/system/regionset/regionset.SlackBuild
+++ b/system/regionset/regionset.SlackBuild
@@ -2,7 +2,7 @@
# Slackware build script for regionset
-# Copyright 2009-2013 David Woodfall <dave@dawoodfall.net>
+# Copyright 2009-2013 David Woodfall <dave@slackbuilds.org>
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
diff --git a/system/regionset/regionset.info b/system/regionset/regionset.info
index 0a344c6a1e..f9792ed4ae 100644
--- a/system/regionset/regionset.info
+++ b/system/regionset/regionset.info
@@ -7,4 +7,4 @@ DOWNLOAD_x86_64=""
MD5SUM_x86_64=""
REQUIRES=""
MAINTAINER="David Woodfall"
-EMAIL="dave@dawoodfall.net"
+EMAIL="dave@slackbuilds.org"
diff --git a/system/reiser4progs/reiser4progs.SlackBuild b/system/reiser4progs/reiser4progs.SlackBuild
index 1728c00da4..32714ac9b5 100644
--- a/system/reiser4progs/reiser4progs.SlackBuild
+++ b/system/reiser4progs/reiser4progs.SlackBuild
@@ -2,11 +2,9 @@
# Slackware build script for reiser4progs
-# Written by Kurt Erickson <kurt_erickson@att.net>
-
PRGNAM=reiser4progs
-VERSION=${VERSION:-1.1.0}
-BUILD=${BUILD:-2}
+VERSION=${VERSION:-1.2.1}
+BUILD=${BUILD:-1}
TAG=${TAG:-_SBo}
if [ -z "$ARCH" ]; then
@@ -81,7 +79,7 @@ for i in $( find $PKG/usr/man -type l ) ; do ln -s $( readlink $i ).gz $i.gz ; r
mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION
cp -a AUTHORS BUGS COPYING CREDITS CUSTOM_INSTALL_README ChangeLog \
- INSTALL INSTALL_README README THANKS TODO \
+ INSTALL INSTALL_README NEWS README THANKS TODO \
$PKG/usr/doc/$PRGNAM-$VERSION
cat $CWD/$PRGNAM.SlackBuild > $PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM.SlackBuild
diff --git a/system/reiser4progs/reiser4progs.info b/system/reiser4progs/reiser4progs.info
index 65ab962b31..6ce1610ece 100644
--- a/system/reiser4progs/reiser4progs.info
+++ b/system/reiser4progs/reiser4progs.info
@@ -1,10 +1,10 @@
PRGNAM="reiser4progs"
-VERSION="1.1.0"
+VERSION="1.2.1"
HOMEPAGE="https://sourceforge.net/projects/reiser4/"
-DOWNLOAD="https://sourceforge.net/projects/reiser4/files/reiser4-utils/reiser4progs/reiser4progs-1.1.0.tar.gz"
-MD5SUM="4abfda040a0ef152bc2f42152e247a5e"
+DOWNLOAD="https://sourceforge.net/projects/reiser4/files/reiser4-utils/reiser4progs/reiser4progs-1.2.1.tar.gz"
+MD5SUM="5c3af8644a4ab291fd59ccff6539a1ed"
DOWNLOAD_x86_64=""
MD5SUM_x86_64=""
REQUIRES="libaal"
-MAINTAINER="Kurt Erickson"
-EMAIL="kerickson@lavabit.com"
+MAINTAINER="Pierre-Philipp Braun"
+EMAIL="pbraun@nethence.com"
diff --git a/system/reptyr/reptyr.SlackBuild b/system/reptyr/reptyr.SlackBuild
index f2825c71f6..532699761d 100644
--- a/system/reptyr/reptyr.SlackBuild
+++ b/system/reptyr/reptyr.SlackBuild
@@ -6,12 +6,14 @@
# Licensed under the WTFPL. See http://www.wtfpl.net/txt/copying/ for details.
+# 20201103 bkw: updated for v0.8.0
+# 20191128 bkw: updated for v0.7.0
# 20170621 bkw: get rid of -Werror (-current needs this)
# 20170302 bkw: use long-format github URL
# 20150505 bkw: updated for v0.6.2
PRGNAM=reptyr
-VERSION=${VERSION:-0.6.2}
+VERSION=${VERSION:-0.8.0}
BUILD=${BUILD:-1}
TAG=${TAG:-_SBo}
@@ -47,11 +49,8 @@ rm -rf $PRGNAM-$PRGNAM-$VERSION
tar xvf $CWD/$PRGNAM-$PRGNAM-$VERSION.tar.gz
cd $PRGNAM-$PRGNAM-$VERSION
chown -R root:root .
-find -L . \
- \( -perm 777 -o -perm 775 -o -perm 750 -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 {} \;
+find -L . -perm /111 -a \! -perm 755 -a -exec chmod 755 {} \+ -o \
+ \! -perm /111 -a \! -perm 644 -a -exec chmod 644 {} \+
sed -i \
-e 's,share/man,man,g' \
diff --git a/system/reptyr/reptyr.info b/system/reptyr/reptyr.info
index c758f3ac6a..844cb53c3e 100644
--- a/system/reptyr/reptyr.info
+++ b/system/reptyr/reptyr.info
@@ -1,8 +1,8 @@
PRGNAM="reptyr"
-VERSION="0.6.2"
+VERSION="0.8.0"
HOMEPAGE="https://github.com/nelhage/reptyr"
-DOWNLOAD="https://github.com/nelhage/reptyr/archive/reptyr-0.6.2/reptyr-reptyr-0.6.2.tar.gz"
-MD5SUM="9beb26462407f229c9e900466dc25b56"
+DOWNLOAD="https://github.com/nelhage/reptyr/archive/reptyr-0.8.0/reptyr-reptyr-0.8.0.tar.gz"
+MD5SUM="f682c73ebf2f0fc2fa577e84ba991e97"
DOWNLOAD_x86_64=""
MD5SUM_x86_64=""
REQUIRES=""
diff --git a/system/reptyr/slack-desc b/system/reptyr/slack-desc
index 52e0bc0486..95315b7afb 100644
--- a/system/reptyr/slack-desc
+++ b/system/reptyr/slack-desc
@@ -14,6 +14,6 @@ reptyr: ssh, but have to leave and don't want to interrupt it? Just start
reptyr: a screen, use reptyr to grab it, and then kill the ssh session and
reptyr: head on home.
reptyr:
-reptyr: homepage: https://github.com/nelhage/reptyr
+reptyr: Homepage: https://github.com/nelhage/reptyr
reptyr:
reptyr:
diff --git a/system/resource-agents/README b/system/resource-agents/README
index 5e29e87044..1a3187e18b 100644
--- a/system/resource-agents/README
+++ b/system/resource-agents/README
@@ -2,8 +2,8 @@ resource-agents (cluster service executables)
Combined repository of OCF agents from the RHCS and Linux-HA projects
-You might also want to install corosync, pacemaker, resource-agents, crmsh,
-fence-agents and eventually cluster-glue.
+You might also want to install cluster-glue, heartbeat, resource-agents,
+fence-agents.
Define OCF_ROOT and eventually OCF_RESKEY_<param> if you need to test the
resource executables manually.
diff --git a/system/resource-agents/resource-agents.SlackBuild b/system/resource-agents/resource-agents.SlackBuild
index 2755856326..e25b48105e 100644
--- a/system/resource-agents/resource-agents.SlackBuild
+++ b/system/resource-agents/resource-agents.SlackBuild
@@ -23,7 +23,7 @@
# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
PRGNAM=resource-agents
-VERSION=${VERSION:-4.1.1}
+VERSION=${VERSION:-4.5.0}
BUILD=${BUILD:-1}
TAG=${TAG:-_SBo}
@@ -94,7 +94,7 @@ for i in $( find $PKG/usr/man -type l ) ; do ln -s $( readlink $i ).gz $i.gz ; r
mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION
cp -a \
- AUTHORS COPYING COPYING.GPLv3 COPYING.LGPL ChangeLog README \
+ AUTHORS COPYING COPYING.GPLv3 COPYING.LGPL ChangeLog NEWS README.md \
$PKG/usr/doc/$PRGNAM-$VERSION
cat $CWD/$PRGNAM.SlackBuild > $PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM.SlackBuild
diff --git a/system/resource-agents/resource-agents.info b/system/resource-agents/resource-agents.info
index f926462310..1d1d04d0cf 100644
--- a/system/resource-agents/resource-agents.info
+++ b/system/resource-agents/resource-agents.info
@@ -1,8 +1,8 @@
PRGNAM="resource-agents"
-VERSION="4.1.1"
+VERSION="4.5.0"
HOMEPAGE="https://github.com/ClusterLabs/resource-agents"
-DOWNLOAD="https://github.com/ClusterLabs/resource-agents/archive/v4.1.1/resource-agents-4.1.1.tar.gz"
-MD5SUM="82e3a335f942347f1b7c27b9f8e8e984"
+DOWNLOAD="https://github.com/ClusterLabs/resource-agents/archive/v4.5.0/resource-agents-4.5.0.tar.gz"
+MD5SUM="265fd01a2b4119b7b733c829c4c36d32"
DOWNLOAD_x86_64=""
MD5SUM_x86_64=""
REQUIRES=""
diff --git a/system/resource-agents/slack-desc b/system/resource-agents/slack-desc
index 8912e4fd0a..375e8809f5 100644
--- a/system/resource-agents/slack-desc
+++ b/system/resource-agents/slack-desc
@@ -10,8 +10,8 @@ resource-agents: resource-agents (cluster service executables)
resource-agents:
resource-agents: Combined repository of OCF agents from the RHCS and Linux-HA projects
resource-agents:
-resource-agents: You might also want to install corosync, pacemaker, resource-agents,
-resource-agents: crmsh, fence-agents and eventually cluster-glue.
+resource-agents: You might also want to install cluster-glue, heartbeat,
+resource-agents: resource-agents, fence-agents.
resource-agents:
resource-agents:
resource-agents:
diff --git a/system/restic/README b/system/restic/README
new file mode 100644
index 0000000000..8aaf2e13bc
--- /dev/null
+++ b/system/restic/README
@@ -0,0 +1,5 @@
+restic (Modern backup program to backup your files)
+
+restic is a backup program that is fast, efficient and secure. It
+supports the three major operating systems (Linux, macOS, Windows) and
+a few smaller ones (FreeBSD, OpenBSD).
diff --git a/system/restic/restic.SlackBuild b/system/restic/restic.SlackBuild
new file mode 100644
index 0000000000..18a06b43b7
--- /dev/null
+++ b/system/restic/restic.SlackBuild
@@ -0,0 +1,82 @@
+#!/bin/sh
+
+# Slackware build script for restic
+
+# Copyright 2020-2021 Ebben Aries <slackbuilds@dscp.org>
+# 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.
+
+PRGNAM=restic
+VERSION=${VERSION:-0.12.0}
+BUILD=${BUILD:-1}
+TAG=${TAG:-_SBo}
+
+if [ -z "$ARCH" ]; then
+ case "$( uname -m )" in
+ i?86) ARCH=i586 ;;
+ arm*) ARCH=arm ;;
+ *) ARCH=$( uname -m ) ;;
+ esac
+fi
+
+CWD=$(pwd)
+TMP=${TMP:-/tmp/SBo}
+PKG=$TMP/package-$PRGNAM
+OUTPUT=${OUTPUT:-/tmp}
+
+case "$ARCH" in
+ x86_64)
+ BINARCH="amd64"
+ ;;
+ i?86)
+ BINARCH="386"
+ ;;
+ *)
+ echo "$ARCH is not supported."
+ exit 1
+ ;;
+esac
+
+set -e
+
+rm -rf $PKG
+mkdir -p $TMP $PKG $OUTPUT
+cd $TMP
+rm -rf $PRGNAM-$VERSION
+mkdir $PRGNAM-$VERSION
+cd $PRGNAM-$VERSION
+bzip2 -ckd $CWD/${PRGNAM}_${VERSION}_linux_${BINARCH}.bz2 > $PRGNAM
+chown -R root:root .
+find -L . \
+\( -perm 777 -o -perm 775 -o -perm 750 -o -perm 711 -o -perm 555 \
+ -o -perm 511 \) -exec chmod 755 {} \; -o \
+\( -perm 666 -o -perm 664 -o -perm 640 -o -perm 600 -o -perm 444 \
+ -o -perm 440 -o -perm 400 \) -exec chmod 644 {} \;
+
+mkdir -p $PKG/usr/bin
+install -D -m 0755 $PRGNAM $PKG/usr/bin/$PRGNAM
+
+mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION
+cat $CWD/$PRGNAM.SlackBuild > $PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM.SlackBuild
+
+mkdir -p $PKG/install
+cat $CWD/slack-desc > $PKG/install/slack-desc
+
+cd $PKG
+/sbin/makepkg -l y -c n $OUTPUT/$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.${PKGTYPE:-tgz}
diff --git a/system/restic/restic.info b/system/restic/restic.info
new file mode 100644
index 0000000000..2a720df865
--- /dev/null
+++ b/system/restic/restic.info
@@ -0,0 +1,10 @@
+PRGNAM="restic"
+VERSION="0.12.0"
+HOMEPAGE="https://restic.net/"
+DOWNLOAD="https://github.com/restic/restic/releases/download/v0.12.0/restic_0.12.0_linux_386.bz2"
+MD5SUM="ff4c35d9f4dbddf248e03b1994d7e27c"
+DOWNLOAD_x86_64="https://github.com/restic/restic/releases/download/v0.12.0/restic_0.12.0_linux_amd64.bz2"
+MD5SUM_x86_64="ed501c292a7b6dac355cc8f867699bc2"
+REQUIRES=""
+MAINTAINER="Ebben Aries"
+EMAIL="slackbuilds@dscp.org"
diff --git a/system/restic/slack-desc b/system/restic/slack-desc
new file mode 100644
index 0000000000..b0125b8a08
--- /dev/null
+++ b/system/restic/slack-desc
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description.
+# Line up the first '|' above the ':' following the base package name, and
+# the '|' on the right side marks the last column you can put a character in.
+# You must make exactly 11 lines for the formatting to be correct. It's also
+# customary to leave one space after the ':' except on otherwise blank lines.
+
+ |-----handy-ruler------------------------------------------------------|
+restic: restic (Modern backup program to backup your files)
+restic:
+restic: restic is a backup program that is fast, efficient and secure. It
+restic: supports the three major operating systems (Linux, macOS, Windows) and
+restic: a few smaller ones (FreeBSD, OpenBSD).
+restic:
+restic: Home-Page: https://restic.net/
+restic:
+restic:
+restic:
+restic:
diff --git a/system/rhash/rhash.SlackBuild b/system/rhash/rhash.SlackBuild
index 03b1a5f99f..24d4602337 100644
--- a/system/rhash/rhash.SlackBuild
+++ b/system/rhash/rhash.SlackBuild
@@ -1,6 +1,7 @@
#!/bin/sh
-# Copyright (c) 2014, Симонъ–Севаръ Болокановъ, Bulgaria <sbolokanov@abv.bg>
+# Copyright 2014-2021 S. S. Bolokanar, Bulgaria <sbolokanov@abv.bg>
+# С. С. Болоканаръ, БългариÑ
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
@@ -20,9 +21,6 @@
# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-# Written by: Симонъ Болокановъ <sbolokanov@abv.bg>
-# Date: Unknown
-
# Changelog:
# v1.3.3 - Re-done the sript and send it to SBo
# 27.2.2015 - no headers!? - thanks to Marcel Saegebarth for spotting this
@@ -32,7 +30,7 @@
# 3 Мартъ 1878 – възÑтановѧване на Българиѧ, 3 Мартъ 1918 (40 г. по–къÑно) – победа надъ РуÑиѧ
PRGNAM=rhash
-VERSION=${VERSION:-1.3.8}
+VERSION=${VERSION:-1.4.1}
BUILD=${BUILD:-1}
TAG=${TAG:-_SBo}
@@ -83,10 +81,9 @@ rm -rf $PKG
mkdir -p $TMP $PKG $OUTPUT
cd $TMP
-rm -rf $PRGNAM-$VERSION
-tar xvf $CWD/$PRGNAM-$VERSION-src.tar.gz
-mv RHash-$VERSION $PRGNAM-$VERSION
-cd $PRGNAM-$VERSION
+rm -rf RHash-$VERSION
+tar xvf $CWD/RHash-$VERSION.tar.gz
+cd RHash-$VERSION
chown -R root:root .
find -L . \
\( -perm 777 -o -perm 775 -o -perm 750 -o -perm 711 -o -perm 555 \
diff --git a/system/rhash/rhash.info b/system/rhash/rhash.info
index 7676ef5c9d..1e86e18c74 100644
--- a/system/rhash/rhash.info
+++ b/system/rhash/rhash.info
@@ -1,10 +1,10 @@
PRGNAM="rhash"
-VERSION="1.3.8"
-HOMEPAGE="http://rhash.sourceforge.net/"
-DOWNLOAD="http://downloads.sourceforge.net/rhash/rhash-1.3.8-src.tar.gz"
-MD5SUM="dcf91195581e2f821eaa1d3e3c504515"
+VERSION="1.4.1"
+HOMEPAGE="https://github.com/rhash/RHash/"
+DOWNLOAD="https://github.com/rhash/RHash/archive/v1.4.1/RHash-1.4.1.tar.gz"
+MD5SUM="5059d052270e92302dbb08de3f6d7fee"
DOWNLOAD_x86_64=""
MD5SUM_x86_64=""
REQUIRES=""
-MAINTAINER="Симонъ–Севаръ С. Болокановъ"
+MAINTAINER="S. S. Bolokanar"
EMAIL="sbolokanov@abv.bg"
diff --git a/system/ripgrep/ripgrep.SlackBuild b/system/ripgrep/ripgrep.SlackBuild
index 5564d587d2..3e469f5fd7 100644
--- a/system/ripgrep/ripgrep.SlackBuild
+++ b/system/ripgrep/ripgrep.SlackBuild
@@ -2,7 +2,7 @@
# Slackware build script for ripgrep
-# Copyright 2017-2019 Andrew Clemons, Wellington New Zealand
+# Copyright 2017-2020 Andrew Clemons, Wellington New Zealand
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
@@ -23,7 +23,7 @@
# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
PRGNAM=ripgrep
-VERSION=${VERSION:-11.0.2}
+VERSION=${VERSION:-12.1.1}
BUILD=${BUILD:-1}
TAG=${TAG:-_SBo}
@@ -119,7 +119,7 @@ mkdir vendor
sha256sum "$CWD/$dep-$ver.crate" | cut -f1 -d' ' | sed 's/$/"/'
printf "}\n"
- } | python -c "import sys, json; data = sys.stdin.read(); print json.dumps(json.loads(data), sort_keys=True, indent=4, separators=(',', ' : '))" > $dep-$ver/.cargo-checksum.json
+ } > $dep-$ver/.cargo-checksum.json
done
)
@@ -154,7 +154,7 @@ find $PKG -print0 | xargs -0 file | grep -e "executable" -e "shared object" | gr
| cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null || true
mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION
-cp -a CHANGELOG.md COPYING FAQ.md GUIDE.md ISSUE_TEMPLATE.md LICENSE-MIT README.md UNLICENSE $PKG/usr/doc/$PRGNAM-$VERSION
+cp -a CHANGELOG.md COPYING FAQ.md GUIDE.md LICENSE-MIT README.md RELEASE-CHECKLIST.md UNLICENSE $PKG/usr/doc/$PRGNAM-$VERSION
cat $CWD/$PRGNAM.SlackBuild > $PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM.SlackBuild
mkdir -p $PKG/install
diff --git a/system/ripgrep/ripgrep.info b/system/ripgrep/ripgrep.info
index 97189993c9..8ffbd6693e 100644
--- a/system/ripgrep/ripgrep.info
+++ b/system/ripgrep/ripgrep.info
@@ -1,138 +1,118 @@
PRGNAM="ripgrep"
-VERSION="11.0.2"
+VERSION="12.1.1"
HOMEPAGE="https://github.com/BurntSushi/ripgrep"
-DOWNLOAD="https://github.com/BurntSushi/ripgrep/archive/11.0.2/ripgrep-11.0.2.tar.gz \
- https://crates-io.s3-us-west-1.amazonaws.com/crates/aho-corasick/aho-corasick-0.7.4.crate \
- https://crates-io.s3-us-west-1.amazonaws.com/crates/atty/atty-0.2.13.crate \
- https://crates-io.s3-us-west-1.amazonaws.com/crates/base64/base64-0.10.1.crate \
- https://crates-io.s3-us-west-1.amazonaws.com/crates/bitflags/bitflags-1.1.0.crate \
- https://crates-io.s3-us-west-1.amazonaws.com/crates/bstr/bstr-0.2.6.crate \
- https://crates-io.s3-us-west-1.amazonaws.com/crates/bytecount/bytecount-0.5.1.crate \
- https://crates-io.s3-us-west-1.amazonaws.com/crates/byteorder/byteorder-1.3.2.crate \
- https://crates-io.s3-us-west-1.amazonaws.com/crates/c2-chacha/c2-chacha-0.2.2.crate \
- https://crates-io.s3-us-west-1.amazonaws.com/crates/cc/cc-1.0.38.crate \
- https://crates-io.s3-us-west-1.amazonaws.com/crates/cfg-if/cfg-if-0.1.9.crate \
- https://crates-io.s3-us-west-1.amazonaws.com/crates/clap/clap-2.33.0.crate \
- https://crates-io.s3-us-west-1.amazonaws.com/crates/crossbeam-channel/crossbeam-channel-0.3.9.crate \
- https://crates-io.s3-us-west-1.amazonaws.com/crates/crossbeam-utils/crossbeam-utils-0.6.6.crate \
- https://crates-io.s3-us-west-1.amazonaws.com/crates/encoding_rs/encoding_rs-0.8.17.crate \
- https://crates-io.s3-us-west-1.amazonaws.com/crates/encoding_rs_io/encoding_rs_io-0.1.6.crate \
- https://crates-io.s3-us-west-1.amazonaws.com/crates/fnv/fnv-1.0.6.crate \
+DOWNLOAD="https://github.com/BurntSushi/ripgrep/archive/12.1.1/ripgrep-12.1.1.tar.gz \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/aho-corasick/aho-corasick-0.7.10.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/atty/atty-0.2.14.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/autocfg/autocfg-1.0.0.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/base64/base64-0.12.1.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/bitflags/bitflags-1.2.1.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/bstr/bstr-0.2.13.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/bytecount/bytecount-0.6.0.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/byteorder/byteorder-1.3.4.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/cc/cc-1.0.54.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/cfg-if/cfg-if-0.1.10.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/clap/clap-2.33.1.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/crossbeam-channel/crossbeam-channel-0.4.2.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/crossbeam-utils/crossbeam-utils-0.7.2.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/encoding_rs/encoding_rs-0.8.23.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/encoding_rs_io/encoding_rs_io-0.1.7.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/fnv/fnv-1.0.7.crate \
https://crates-io.s3-us-west-1.amazonaws.com/crates/fs_extra/fs_extra-1.1.0.crate \
- https://crates-io.s3-us-west-1.amazonaws.com/crates/getrandom/getrandom-0.1.7.crate \
https://crates-io.s3-us-west-1.amazonaws.com/crates/glob/glob-0.3.0.crate \
- https://crates-io.s3-us-west-1.amazonaws.com/crates/itoa/itoa-0.4.4.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/hermit-abi/hermit-abi-0.1.13.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/itoa/itoa-0.4.5.crate \
https://crates-io.s3-us-west-1.amazonaws.com/crates/jemalloc-sys/jemalloc-sys-0.3.2.crate \
https://crates-io.s3-us-west-1.amazonaws.com/crates/jemallocator/jemallocator-0.3.2.crate \
- https://crates-io.s3-us-west-1.amazonaws.com/crates/lazy_static/lazy_static-1.3.0.crate \
- https://crates-io.s3-us-west-1.amazonaws.com/crates/libc/libc-0.2.60.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/lazy_static/lazy_static-1.4.0.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/libc/libc-0.2.71.crate \
https://crates-io.s3-us-west-1.amazonaws.com/crates/log/log-0.4.8.crate \
- https://crates-io.s3-us-west-1.amazonaws.com/crates/memchr/memchr-2.2.1.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/maybe-uninit/maybe-uninit-2.0.0.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/memchr/memchr-2.3.3.crate \
https://crates-io.s3-us-west-1.amazonaws.com/crates/memmap/memmap-0.7.0.crate \
- https://crates-io.s3-us-west-1.amazonaws.com/crates/num_cpus/num_cpus-1.10.1.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/num_cpus/num_cpus-1.13.0.crate \
https://crates-io.s3-us-west-1.amazonaws.com/crates/packed_simd/packed_simd-0.3.3.crate \
https://crates-io.s3-us-west-1.amazonaws.com/crates/pcre2-sys/pcre2-sys-0.2.2.crate \
- https://crates-io.s3-us-west-1.amazonaws.com/crates/pcre2/pcre2-0.2.1.crate \
- https://crates-io.s3-us-west-1.amazonaws.com/crates/pkg-config/pkg-config-0.3.15.crate \
- https://crates-io.s3-us-west-1.amazonaws.com/crates/ppv-lite86/ppv-lite86-0.2.5.crate \
- https://crates-io.s3-us-west-1.amazonaws.com/crates/proc-macro2/proc-macro2-0.4.30.crate \
- https://crates-io.s3-us-west-1.amazonaws.com/crates/quote/quote-0.6.13.crate \
- https://crates-io.s3-us-west-1.amazonaws.com/crates/rand/rand-0.7.0.crate \
- https://crates-io.s3-us-west-1.amazonaws.com/crates/rand_chacha/rand_chacha-0.2.1.crate \
- https://crates-io.s3-us-west-1.amazonaws.com/crates/rand_core/rand_core-0.5.0.crate \
- https://crates-io.s3-us-west-1.amazonaws.com/crates/rand_hc/rand_hc-0.2.0.crate \
- https://crates-io.s3-us-west-1.amazonaws.com/crates/redox_syscall/redox_syscall-0.1.56.crate \
- https://crates-io.s3-us-west-1.amazonaws.com/crates/regex-automata/regex-automata-0.1.8.crate \
- https://crates-io.s3-us-west-1.amazonaws.com/crates/regex-syntax/regex-syntax-0.6.10.crate \
- https://crates-io.s3-us-west-1.amazonaws.com/crates/regex/regex-1.2.0.crate \
- https://crates-io.s3-us-west-1.amazonaws.com/crates/remove_dir_all/remove_dir_all-0.5.2.crate \
- https://crates-io.s3-us-west-1.amazonaws.com/crates/ryu/ryu-1.0.0.crate \
- https://crates-io.s3-us-west-1.amazonaws.com/crates/same-file/same-file-1.0.5.crate \
- https://crates-io.s3-us-west-1.amazonaws.com/crates/serde/serde-1.0.98.crate \
- https://crates-io.s3-us-west-1.amazonaws.com/crates/serde_derive/serde_derive-1.0.98.crate \
- https://crates-io.s3-us-west-1.amazonaws.com/crates/serde_json/serde_json-1.0.40.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/pcre2/pcre2-0.2.3.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/pkg-config/pkg-config-0.3.17.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/proc-macro2/proc-macro2-1.0.17.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/quote/quote-1.0.6.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/regex-automata/regex-automata-0.1.9.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/regex-syntax/regex-syntax-0.6.18.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/regex/regex-1.3.9.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/ryu/ryu-1.0.4.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/same-file/same-file-1.0.6.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/serde/serde-1.0.110.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/serde_derive/serde_derive-1.0.110.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/serde_json/serde_json-1.0.53.crate \
https://crates-io.s3-us-west-1.amazonaws.com/crates/strsim/strsim-0.8.0.crate \
- https://crates-io.s3-us-west-1.amazonaws.com/crates/syn/syn-0.15.42.crate \
- https://crates-io.s3-us-west-1.amazonaws.com/crates/tempfile/tempfile-3.1.0.crate \
- https://crates-io.s3-us-west-1.amazonaws.com/crates/termcolor/termcolor-1.0.5.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/syn/syn-1.0.27.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/termcolor/termcolor-1.1.0.crate \
https://crates-io.s3-us-west-1.amazonaws.com/crates/textwrap/textwrap-0.11.0.crate \
- https://crates-io.s3-us-west-1.amazonaws.com/crates/thread_local/thread_local-0.3.6.crate \
- https://crates-io.s3-us-west-1.amazonaws.com/crates/ucd-util/ucd-util-0.1.5.crate \
- https://crates-io.s3-us-west-1.amazonaws.com/crates/unicode-width/unicode-width-0.1.5.crate \
- https://crates-io.s3-us-west-1.amazonaws.com/crates/unicode-xid/unicode-xid-0.1.0.crate \
- https://crates-io.s3-us-west-1.amazonaws.com/crates/utf8-ranges/utf8-ranges-1.0.3.crate \
- https://crates-io.s3-us-west-1.amazonaws.com/crates/walkdir/walkdir-2.2.9.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/thread_local/thread_local-1.0.1.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/unicode-width/unicode-width-0.1.7.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/unicode-xid/unicode-xid-0.2.0.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/walkdir/walkdir-2.3.1.crate \
https://crates-io.s3-us-west-1.amazonaws.com/crates/winapi-i686-pc-windows-gnu/winapi-i686-pc-windows-gnu-0.4.0.crate \
- https://crates-io.s3-us-west-1.amazonaws.com/crates/winapi-util/winapi-util-0.1.2.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/winapi-util/winapi-util-0.1.5.crate \
https://crates-io.s3-us-west-1.amazonaws.com/crates/winapi-x86_64-pc-windows-gnu/winapi-x86_64-pc-windows-gnu-0.4.0.crate \
- https://crates-io.s3-us-west-1.amazonaws.com/crates/winapi/winapi-0.3.7.crate \
- https://crates-io.s3-us-west-1.amazonaws.com/crates/wincolor/wincolor-1.0.1.crate"
-MD5SUM="d0cbdf8e072494e5bd6918423b18068a \
- 190a1a98a7a65ca5d0dd32407d5e5a84 \
- 4d54da5d6fec11f144464c1a928df3fe \
- 9ed1fef898024a6aaf3e3878cd83c103 \
- b06fb4397c2a873a4034136154da23c8 \
- beed1e0e8c4057d6a3ad7d9dd30fc91f \
- 679c5e5325d3a96465804c0a1396c6e6 \
- 85562346cef4a44a32cc1fadcdd06b50 \
- 0b69cb58ef22bbc1ccfed55414d57e6e \
- 43cae852e584f73790ce53aaab81d2f2 \
- 63d698a8b3fb9512be9744135d9eda89 \
- 135f6d6306e50606f0475ada50c33ce2 \
- 424dc35a59f3df5f9b49f1cac85de864 \
- 66912c6b316cfec144c4fbcbf59bf862 \
- 5d49b7d2daebecaf57fb00d37d9fed92 \
- 6a2b5eefc8395b54ac23df7cd19b61f4 \
- b0fd8ad50f5e64c71f0daf8af79ca952 \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/winapi/winapi-0.3.8.crate"
+MD5SUM="d3190853d47d51ad077a65aadbf55448 \
+ abc51f82118d86e83165ba87e2521e96 \
+ 142cb4b9a653e56e56311f0c883b8582 \
+ 7c6515c4b7f4c7723a3c6d1f07acc261 \
+ 468f237829e960715055da5d484681b9 \
+ 6799c26a7eacaf8e58d3e45c6c5add89 \
+ d25e25d08adce75c63f3969191141f28 \
+ fe9c56d3d43021538850fcad8404bdad \
+ e502e6c6b0dca9c1ae2d99e92b26f645 \
+ 720e6fb5478963221c58e4ef0fc44356 \
+ 882dbbc613a93f64c3709b0a2bd0d6dc \
+ 42af3a1e965585d80dcc1e0324fda6eb \
+ e9d5377e649441c6984e17b9679f2773 \
+ ff67cf2eb9668167782b8012d3b48e7b \
+ cba3538d5dac64d269dda867ba6c5011 \
+ 98dd664015c5a6c5e1d3cfb8dce1c4ff \
+ 8dab3b3ec00dc56cffde0b0c410d47b5 \
8b98db48d2cecf5843b75e2f668c58fa \
- b86971487cbdadfec02200e4587d8ecb \
e7c07242a95ee1df865efe9534e10a34 \
- a5143958be2dfd4f34d4634973c12da2 \
+ be4d52524ec8485abc40efba317b1e4c \
+ 493f4bd45cf2a6c3963f66f58884f622 \
85dae509b4cda41fa820b3ad3b302479 \
9f10bcc7b3ab24a0cdbaa0addc65b88d \
- 1c9fee8f180b6f3402849983a45bbd6d \
- ae28f7ed785ce88cd093a405e77ca8ce \
+ fba3b040a55c01be7376d3dd5c4d4920 \
+ 0a258dcd990afe3d83e0c103edd7f095 \
61e508ca2eee543023c5e1ba777e5ede \
- 4b85a1c8d6ad78feccb549d50e81c697 \
+ b5cf10e268e8a3bee2de8a734104245e \
+ 124ec4f35274a0e9c1a4ef3dc0958643 \
bdb38691302aeb63500e053919f5f0f7 \
- e8eef33ab80bc4d918213a28886d88db \
+ c36d452e37c73b1e99f40bae18cddfdb \
9551c939b35e3eb367843e03d71ba155 \
2cc140411a55694fa07baa857a720af2 \
- 59cc9748cadeac84347fd60b26f7151f \
- dd6ca7797472c064362ce0e184e497d8 \
- 38e4f8192b3d45f5858fc1fdd2eff9a0 \
- 020c7d0be083642e24a1499122793006 \
- e6692d52f35aa3b9311d7d7748fa25ea \
- 11a4a43f912049783610c41f869c107c \
- 156a171385b476b5a63459398419c803 \
- f363654e5432d1763b32038d05178ad2 \
- b269356e8646f3184a0e8d52a58cee69 \
- 8dc2aa474c2cba342120ade9e98de066 \
- 5235df246649c1e7d1f432a840064fbc \
- c6d864eb92d4c1b9d5f3ad34822d5649 \
- eda5bd48349c262436c81aa15ba56ec7 \
- 526f5ebac8d794185afbc71959c5c968 \
- 93bda82e007e0f4b4d095ca18e44daec \
- 6ece57eb74771cfee69719f514c3aa7a \
- 45f5fc14f8a9819b81f3dc3bb689d024 \
- e27721c5fbd99441f48eb947c704868f \
- 6371404de18adcd43f867fdf84df1699 \
+ 244c87ebce1ce19de9283d14e218618d \
+ d6f8f8aba0bdb5edb2dc41705b9d1144 \
+ e0941025a0c5ed64fa8837efd892ecce \
+ ef0afe60eee17cc47bc3cb6f88b843a6 \
+ 3b298ba1d0e5e75b14765b2c48d52b13 \
+ 24118e5657591c6f208dbb1d77fbc482 \
+ eee136546e9f4735577dd20f45727c69 \
+ 44d95c1ed46baee736c9420ad1de3228 \
+ 2d8d8b377d144f5e32b4f65a69eb0b24 \
+ 3879349fe374e764e24f37ce40ac9824 \
+ 9b7d58f6341fb619ff2190481ce13b84 \
+ ce76f5430cd6d2ab76d0d86ecb8a4f4d \
781d4ccf5d04c98fa02af207a9639249 \
- 68513e5014749ecc72f70181cfe34320 \
- bb3ae104a9fa1b31568cc98c920a4653 \
- 4df756b9ab1b163e13a390b204b3d092 \
+ 6fcb4505d0da4df3c5747dc23afe6622 \
+ 62e883807a65ebe1ba9d0e555d703339 \
a8de006fe0c7e373c560dd51599287a8 \
- baaa166f66e90e94b76b7418afd5df90 \
- 460c77765ecd617dc230b8feb1c07e38 \
- d7c493ca4f84a7d50b53646421a37487 \
- 5aaf04f9a94a6450e3e4963ddd62b92d \
- f8a47b6fe6c71c2fd9908dae88f94347 \
- 5933f1ea0593fae34fbd678057867287 \
+ a5dd75e77c7324f5c1d2d372c990d0a7 \
+ 0f65fd26370e1fd67c8e8812cabea574 \
+ e628ca8adb2b572bffb210f014656b6f \
+ 1092a4a24e80f8856efc71af51a06114 \
db96b50050277bf05a3c68534bbb9586 \
- 4724370f3179d1ab61f3fd8fa60a2368 \
+ b9e37d5fc4ad28b612b78ad37816684d \
09de9d01e7331ff3da11f58be8bef0df \
- 38569b37293d94fc57b6e1449a1c38aa \
- 2f9f840bd479751f715a8f530976b6bf"
+ ce68e06a2cd4f180747cf169fc388a95"
DOWNLOAD_x86_64=""
MD5SUM_x86_64=""
REQUIRES=""
diff --git a/system/rmw/README.Slackware b/system/rmw/README.Slackware
index bb11343514..a93201f522 100644
--- a/system/rmw/README.Slackware
+++ b/system/rmw/README.Slackware
@@ -1,4 +1,4 @@
-# rmw-0.7.04
+# rmw-0.7.05
## Description
@@ -20,7 +20,7 @@ Web site: <https://remove-to-waste.info/>
## Screenshots
-![rmw usage output](https://remove-to-waste.info/images/Screenshot_2019-07-05_22-47-51.png)
+![rmw usage output](https://remove-to-waste.info/images/Screenshot_2020-04-11.png)
[More Screenshots](https://remove-to-waste.info/screenshots.html)
@@ -74,11 +74,11 @@ libmenuw some other way, rmw will use `ncurses` but you may experience
[this minor
bug](https://github.com/theimpossibleastronaut/rmw/issues/205).
-Note: rmw has been built on **Windows** 2 years ago using Cygwin but it
+Note: rmw was built on **Windows** 2 years ago using Cygwin but it
didn't use the proper directories. We have no Windows developers
working on this project and are hoping that some will join soon!. As
stated in the description, the goal of this project is a
-"cross-platform" utility; so getting rmw to work reliably on Windows is
+"cross-platform" utility; so getting rmw to work on Windows is
still on the TODO list.
## Uninstall / Cleaning up
@@ -115,7 +115,7 @@ rmw is run, it will be used; if not, it will be skipped. Once you
create "example_waste", rmw will automatically create
example_waste/info and example_waste/files
- e.g: WASTE=/mnt/sda10000/example_waste, removable
+ e.g.: WASTE=/mnt/sda10000/example_waste, removable
== Features and Options ==
@@ -134,6 +134,8 @@ Restore FILE(s) from a WASTE directory
-o, --orphaned check for orphaned files (maintenance)
-f, --force allow purge to run
-e, --empty completely empty (purge) all waste folders
+-r, -R, --recursive option used for compatibility with rm
+ (recursive operation is enabled by default)
-v, --verbose increase output messages
-w, --warranty display warranty
-V, --version display version and license information
@@ -141,7 +143,7 @@ Restore FILE(s) from a WASTE directory
===] Restoring [===
--z, --restore <wildcard filename(s) pattern>
+-z, --restore <wildcard filename(s) pattern> (e.g. ~/.local/share/Waste/files/foo*)
-s, --select select files from list to restore
-u, --undo-last undo last ReMove
@@ -167,14 +169,9 @@ $HOME/.local/share/rmw (or $XDG_DATA_HOME/rmw).
== -z, --restore ==
-To restore a file, or multiple files, specify the path to them in in the
+To restore a file, or multiple files, specify the path to them in the
<WASTE>/files folder (wildcards ok).
-e.g. 'rmw -z ~/.local/share/Trash/files/foo*'
-
-Files can also be restored using only the basename, from within any directory.
-NOTE: That feature will not process wildcards unless the user is in a
-<WASTE>/files folder and the filespec actually exists in the present working
-directory.
+e.g. 'rmw -z ~/.local/share/Waste/files/foo*'
== -f, --force ==
diff --git a/system/rmw/rmw.SlackBuild b/system/rmw/rmw.SlackBuild
index 5cc04d3bd6..81fd0b5f17 100644
--- a/system/rmw/rmw.SlackBuild
+++ b/system/rmw/rmw.SlackBuild
@@ -2,7 +2,7 @@
#
# Slackware build script for rmw
#
-# Copyright 2019 / Andy Alt / United States
+# Copyright 2019-2021 / Andy Alt / United States
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
@@ -23,7 +23,7 @@
# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
PRGNAM=rmw
-VERSION=${VERSION:-0.7.04}
+VERSION=${VERSION:-0.7.06}
BUILD=${BUILD:-1}
TAG=${TAG:-_SBo}
diff --git a/system/rmw/rmw.info b/system/rmw/rmw.info
index 500850584d..778de6ab12 100644
--- a/system/rmw/rmw.info
+++ b/system/rmw/rmw.info
@@ -1,8 +1,8 @@
PRGNAM="rmw"
-VERSION="0.7.04"
+VERSION="0.7.06"
HOMEPAGE="https://remove-to-waste.info/"
-DOWNLOAD="https://github.com/theimpossibleastronaut/rmw/releases/download/v0.7.04/rmw-0.7.04.tar.gz"
-MD5SUM="4ca6fc8405883eba6ffe3d28bef43cc1"
+DOWNLOAD="https://github.com/theimpossibleastronaut/rmw/releases/download/v0.7.06/rmw-0.7.06.tar.gz"
+MD5SUM="9b5e0fcda2e32b1886efd50030e51a5e"
DOWNLOAD_x86_64=""
MD5SUM_x86_64=""
REQUIRES=""
diff --git a/system/rox-filer/rox-filer.SlackBuild b/system/rox-filer/rox-filer.SlackBuild
index b5ae022667..858f57f768 100644
--- a/system/rox-filer/rox-filer.SlackBuild
+++ b/system/rox-filer/rox-filer.SlackBuild
@@ -6,7 +6,7 @@
PRGNAM=rox-filer
VERSION=${VERSION:-2.11}
-BUILD=${BUILD:-2}
+BUILD=${BUILD:-3}
TAG=${TAG:-_SBo}
if [ -z "$ARCH" ]; then
@@ -44,6 +44,7 @@ cd $TMP
rm -rf $PRGNAM-$VERSION
tar xvf $CWD/$PRGNAM-$VERSION.tar.bz2
cd $PRGNAM-$VERSION
+patch -p0 < $CWD/session_auto_respawn.diff
chown -R root:root .
find -L . \
\( -perm 777 -o -perm 775 -o -perm 750 -o -perm 711 -o -perm 555 -o -perm 511 \) \
diff --git a/system/rox-filer/rox-filer.info b/system/rox-filer/rox-filer.info
index 915ba4ca49..cf0df141a1 100644
--- a/system/rox-filer/rox-filer.info
+++ b/system/rox-filer/rox-filer.info
@@ -6,5 +6,5 @@ MD5SUM="0eebf05a67f7932367750ebf9faf215d"
DOWNLOAD_x86_64=""
MD5SUM_x86_64=""
REQUIRES=""
-MAINTAINER="slakmagik"
-EMAIL="slakmagik@gmail.com"
+MAINTAINER="Emmanuel N. Millan"
+EMAIL="emmanueln@gmail.com"
diff --git a/system/rox-filer/session_auto_respawn.diff b/system/rox-filer/session_auto_respawn.diff
new file mode 100644
index 0000000000..0ade6b556b
--- /dev/null
+++ b/system/rox-filer/session_auto_respawn.diff
@@ -0,0 +1,11 @@
+--- ROX-Filer/src/session.h~ 2011-10-09 16:31:59.000000000 +0200
++++ ROX-Filer/src/session.h 2020-12-17 11:11:19.302291214 +0100
+@@ -10,7 +10,7 @@
+ #include <gtk/gtk.h>
+ #include <X11/SM/SMlib.h>
+
+-gboolean session_auto_respawn;
++extern gboolean session_auto_respawn;
+
+ void session_init(const gchar *client_id);
+
diff --git a/system/rsyslog/rsyslog.SlackBuild b/system/rsyslog/rsyslog.SlackBuild
index 2752f8f32e..5f66b8c68f 100644
--- a/system/rsyslog/rsyslog.SlackBuild
+++ b/system/rsyslog/rsyslog.SlackBuild
@@ -2,7 +2,7 @@
# Slackware build script for rsyslog
-# Copyright (c) 2019, Christophe Trussardi, Paris, France
+# Copyright (c) 2021, Christophe Trussardi, Paris, France
# All rights reserved.
#
# Redistribution and use in source and binary forms, with or without
@@ -22,7 +22,7 @@
# SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
PRGNAM=rsyslog
-VERSION=${VERSION:-8.1903.0}
+VERSION=${VERSION:-8.2102.0}
BUILD=${BUILD:-1}
TAG=${TAG:-_SBo}
@@ -58,6 +58,7 @@ fi
[ "${LIBDBI:-no}" = "no" ] || libdbi_option="--enable-libdbi"
[ "${GNUTLS:-no}" = "no" ] || gnutls_option="--enable-gnutls"
[ "${RELP:-no}" = "no" ] || relp_option="--enable-relp"
+[ "${LIBLOGGING:-no}" = "no" ] || liblogging_option="--enable-liblogging-stdlog"
set -e
@@ -85,7 +86,7 @@ CXXFLAGS="$SLKCFLAGS" \
--enable-generate-man-pages \
--docdir=/usr/doc/$PRGNAM-$VERSION \
--build=$ARCH-slackware-linux \
- $mysql_option $pgsql_option $libdbi_option $gnutls_option $relp_option
+ $mysql_option $pgsql_option $libdbi_option $gnutls_option $relp_option $liblogging_option
make
make install-strip DESTDIR=$PKG
diff --git a/system/rsyslog/rsyslog.info b/system/rsyslog/rsyslog.info
index 189ee45e5c..4b184817d9 100644
--- a/system/rsyslog/rsyslog.info
+++ b/system/rsyslog/rsyslog.info
@@ -1,10 +1,10 @@
PRGNAM="rsyslog"
-VERSION="8.1903.0"
+VERSION="8.2102.0"
HOMEPAGE="https://www.rsyslog.com/"
-DOWNLOAD="https://www.rsyslog.com/files/download/rsyslog/rsyslog-8.1903.0.tar.gz"
-MD5SUM="f0d454c79d4040e3f25fcd12f8f33fe2"
+DOWNLOAD="https://www.rsyslog.com/files/download/rsyslog/rsyslog-8.2102.0.tar.gz"
+MD5SUM="1f6150dfd2ef38db37c2165e98d2f2b1"
DOWNLOAD_x86_64=""
MD5SUM_x86_64=""
-REQUIRES="%README% docutils libee libestr libfastjson liblogging"
+REQUIRES="%README% docutils libee libestr libfastjson"
MAINTAINER="Christophe Trussardi"
EMAIL="chris@teria.org"
diff --git a/system/rtirq/rtirq.info b/system/rtirq/rtirq.info
index 6376ed271b..70b90d606b 100644
--- a/system/rtirq/rtirq.info
+++ b/system/rtirq/rtirq.info
@@ -1,7 +1,7 @@
PRGNAM="rtirq"
VERSION="20150216"
HOMEPAGE="https://alsa.opensrc.org/Rtirq"
-DOWNLOAD="http://urchlay.naptime.net/~urchlay/src/rtirq-20150216.tar.gz"
+DOWNLOAD="https://slackware.uk/~urchlay/src/rtirq-20150216.tar.gz"
MD5SUM="59e8b012c16b1e879ce8648f537400c5"
DOWNLOAD_x86_64=""
MD5SUM_x86_64=""
diff --git a/system/runc/runc.SlackBuild b/system/runc/runc.SlackBuild
index 68a75686f5..4352b4126f 100644
--- a/system/runc/runc.SlackBuild
+++ b/system/runc/runc.SlackBuild
@@ -3,7 +3,7 @@
# Slackware build script for runc
# Copyright 2016 Asaf Ohayon <asaf@sysbind.co.il>
-# Copyright 2017-2019 Audrius Kažukauskas <audrius@neutrino.lt>
+# Copyright 2017-2021 Audrius Kažukauskas <audrius@neutrino.lt>
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
@@ -24,11 +24,13 @@
# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
PRGNAM=runc
-VERSION=${VERSION:-1.0.0_rc6_8084f76}
-GITHASH=${GITHASH:-8084f7611e4677174c8dbeb17152f3390fa41952}
+VERSION=${VERSION:-1.0.0_rc92}
+GITHASH=${GITHASH:-ff819c7e9184c13b7c2607fe6c30ae19403a7aff}
BUILD=${BUILD:-1}
TAG=${TAG:-_SBo}
+SRCVER=$(echo $VERSION | tr _ -)
+
if [ -z "$ARCH" ]; then
case "$( uname -m )" in
i?86) ARCH=i586 ;;
@@ -47,9 +49,9 @@ set -e
rm -rf $PKG
mkdir -p $TMP $PKG $OUTPUT
cd $TMP
-rm -rf $PRGNAM-$GITHASH
-tar xvf $CWD/$PRGNAM-$GITHASH.tar.gz
-cd $PRGNAM-$GITHASH
+rm -rf $PRGNAM-$SRCVER
+tar xvf $CWD/$PRGNAM-$SRCVER.tar.gz
+cd $PRGNAM-$SRCVER
chown -R root:root .
find -L . \
\( -perm 777 -o -perm 775 -o -perm 750 -o -perm 711 -o -perm 555 \
@@ -57,16 +59,12 @@ find -L . \
\( -perm 666 -o -perm 664 -o -perm 640 -o -perm 600 -o -perm 444 \
-o -perm 440 -o -perm 400 \) -exec chmod 644 {} \;
-mkdir build
-mv vendor build/src
-ln -sf $TMP/$PRGNAM-$GITHASH build/src/github.com/opencontainers/runc
-
# Do not try to get git commit hash, we're not inside git repository.
sed -i '/^COMMIT/d' Makefile
make \
- COMMIT=$GITHASH \
- GOPATH=$TMP/$PRGNAM-$GITHASH/build
+ BUILDTAGS="seccomp" \
+ COMMIT=$GITHASH
make install BINDIR=$PKG/usr/bin
make install-bash PREFIX=$PKG/usr
diff --git a/system/runc/runc.info b/system/runc/runc.info
index b3839d46b4..a43ca11b09 100644
--- a/system/runc/runc.info
+++ b/system/runc/runc.info
@@ -1,10 +1,10 @@
PRGNAM="runc"
-VERSION="1.0.0_rc6_8084f76"
+VERSION="1.0.0_rc92"
HOMEPAGE="https://github.com/opencontainers/runc"
DOWNLOAD="UNSUPPORTED"
MD5SUM=""
-DOWNLOAD_x86_64="https://github.com/opencontainers/runc/archive/8084f76/runc-8084f7611e4677174c8dbeb17152f3390fa41952.tar.gz"
-MD5SUM_x86_64="4b48d73ad5764ecbd6f002681d0b5e42"
+DOWNLOAD_x86_64="https://github.com/opencontainers/runc/archive/v1.0.0-rc92/runc-1.0.0-rc92.tar.gz"
+MD5SUM_x86_64="7c4dcdf8d481c8d25b88af3f40846a4b"
REQUIRES="google-go-lang libseccomp"
MAINTAINER="Audrius Kažukauskas"
EMAIL="audrius@neutrino.lt"
diff --git a/system/runit/config.tar b/system/runit/config.tar
index 342cc163ce..7f7beec36e 100644
--- a/system/runit/config.tar
+++ b/system/runit/config.tar
Binary files differ
diff --git a/system/rxvt-unicode/rxvt-unicode.SlackBuild b/system/rxvt-unicode/rxvt-unicode.SlackBuild
index ab2f3f1387..5a955c787b 100644
--- a/system/rxvt-unicode/rxvt-unicode.SlackBuild
+++ b/system/rxvt-unicode/rxvt-unicode.SlackBuild
@@ -21,7 +21,7 @@
# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-# Currently maintained by Glenn Becker (glenn.becker@gmail.com)
+# Currently maintained by Jason Graham (jgraha8@gmail.com)
# Updates by Kevin Paulus, aka "goarilla" (goarilla@gmail.com)
# Previously maintained by LEVAI Daniel, 2010-2014
# Initial SlackBuild written by Dugan Chen (dugan_c@fastmail.fm)
diff --git a/system/s3fs-fuse/README b/system/s3fs-fuse/README
new file mode 100644
index 0000000000..5f80545687
--- /dev/null
+++ b/system/s3fs-fuse/README
@@ -0,0 +1,7 @@
+s3fs allows Linux and macOS to mount an S3 bucket via FUSE.
+
+s3fs preserves the native object format for files, allowing
+use of other tools like AWS CLI
+
+NOTE: awscli is runtime dependency as it needs to be properly
+configured to be able to connect to AWS S3 Buckets.
diff --git a/system/s3fs-fuse/s3fs-fuse.SlackBuild b/system/s3fs-fuse/s3fs-fuse.SlackBuild
new file mode 100644
index 0000000000..8bf183152a
--- /dev/null
+++ b/system/s3fs-fuse/s3fs-fuse.SlackBuild
@@ -0,0 +1,101 @@
+#!/bin/sh
+
+# Slackware build script for s3fs-fuse
+
+# Copyright 2020-2021 Willy Sudiarto Raharjo <willysr@slackbuilds.org>
+# 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.
+
+PRGNAM=s3fs-fuse
+VERSION=${VERSION:-1.89}
+BUILD=${BUILD:-1}
+TAG=${TAG:-_SBo}
+
+if [ -z "$ARCH" ]; then
+ case "$( uname -m )" in
+ i?86) ARCH=i586 ;;
+ arm*) ARCH=arm ;;
+ *) ARCH=$( uname -m ) ;;
+ esac
+fi
+
+CWD=$(pwd)
+TMP=${TMP:-/tmp/SBo}
+PKG=$TMP/package-$PRGNAM
+OUTPUT=${OUTPUT:-/tmp}
+
+if [ "$ARCH" = "i586" ]; then
+ SLKCFLAGS="-O2 -march=i586 -mtune=i686"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "i686" ]; then
+ SLKCFLAGS="-O2 -march=i686 -mtune=i686"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "x86_64" ]; then
+ SLKCFLAGS="-O2 -fPIC"
+ LIBDIRSUFFIX="64"
+else
+ SLKCFLAGS="-O2"
+ LIBDIRSUFFIX=""
+fi
+
+set -e
+
+rm -rf $PKG
+mkdir -p $TMP $PKG $OUTPUT
+cd $TMP
+rm -rf $PRGNAM-$VERSION
+tar xvf $CWD/$PRGNAM-$VERSION.tar.gz
+cd $PRGNAM-$VERSION
+chown -R root:root .
+find -L . \
+ \( -perm 777 -o -perm 775 -o -perm 750 -o -perm 711 -o -perm 555 \
+ -o -perm 511 \) -exec chmod 755 {} \; -o \
+ \( -perm 666 -o -perm 664 -o -perm 640 -o -perm 600 -o -perm 444 \
+ -o -perm 440 -o -perm 400 \) -exec chmod 644 {} \;
+
+./autogen.sh
+CFLAGS="$SLKCFLAGS" \
+CXXFLAGS="$SLKCFLAGS" \
+./configure \
+ --prefix=/usr \
+ --libdir=/usr/lib${LIBDIRSUFFIX} \
+ --sysconfdir=/etc \
+ --localstatedir=/var \
+ --mandir=/usr/man \
+ --docdir=/usr/doc/$PRGNAM-$VERSION \
+ --build=$ARCH-slackware-linux
+
+make
+make install DESTDIR=$PKG
+
+find $PKG -print0 | xargs -0 file | grep -e "executable" -e "shared object" | grep ELF \
+ | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null || true
+
+find $PKG/usr/man -type f -exec gzip -9 {} \;
+for i in $( find $PKG/usr/man -type l ) ; do ln -s $( readlink $i ).gz $i.gz ; rm $i ; done
+
+mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION
+cp -a AUTHORS COPYING ChangeLog INSTALL *.md $PKG/usr/doc/$PRGNAM-$VERSION
+cat $CWD/$PRGNAM.SlackBuild > $PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM.SlackBuild
+
+mkdir -p $PKG/install
+cat $CWD/slack-desc > $PKG/install/slack-desc
+
+cd $PKG
+/sbin/makepkg -l y -c n $OUTPUT/$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.${PKGTYPE:-tgz}
diff --git a/system/s3fs-fuse/s3fs-fuse.info b/system/s3fs-fuse/s3fs-fuse.info
new file mode 100644
index 0000000000..b1075b5180
--- /dev/null
+++ b/system/s3fs-fuse/s3fs-fuse.info
@@ -0,0 +1,10 @@
+PRGNAM="s3fs-fuse"
+VERSION="1.89"
+HOMEPAGE="https://github.com/s3fs-fuse/s3fs-fuse"
+DOWNLOAD="https://github.com/s3fs-fuse/s3fs-fuse/archive/v1.89/s3fs-fuse-1.89.tar.gz"
+MD5SUM="b1b5e5cb7478e411d4470f1058e7c011"
+DOWNLOAD_x86_64=""
+MD5SUM_x86_64=""
+REQUIRES="awscli"
+MAINTAINER="Willy Sudiarto Raharjo"
+EMAIL="willysr@slackbuilds.org"
diff --git a/system/s3fs-fuse/slack-desc b/system/s3fs-fuse/slack-desc
new file mode 100644
index 0000000000..91af0e7c4e
--- /dev/null
+++ b/system/s3fs-fuse/slack-desc
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description.
+# Line up the first '|' above the ':' following the base package name, and
+# the '|' on the right side marks the last column you can put a character in.
+# You must make exactly 11 lines for the formatting to be correct. It's also
+# customary to leave one space after the ':' except on otherwise blank lines.
+
+ |-----handy-ruler------------------------------------------------------|
+s3fs-fuse: s3fs-fuse (FUSE-based file system)
+s3fs-fuse:
+s3fs-fuse: s3fs allows Linux and macOS to mount an S3 bucket via FUSE.
+s3fs-fuse:
+s3fs-fuse: s3fs preserves the native object format for files, allowing use of
+s3fs-fuse: other tools like AWS CLI.
+s3fs-fuse:
+s3fs-fuse:
+s3fs-fuse: Project URL: https://github.com/s3fs-fuse/s3fs-fuse
+s3fs-fuse:
+s3fs-fuse:
diff --git a/system/s6-linux-init/README b/system/s6-linux-init/README
new file mode 100644
index 0000000000..21fdbd752a
--- /dev/null
+++ b/system/s6-linux-init/README
@@ -0,0 +1,64 @@
+s6-linux-init is a set of minimalistic tools used to create a s6-based
+init system, including a /sbin/init binary, on a Linux kernel.
+
+The resulting architecture follows the Unix philosophy (one job -> one
+tool) as closely as possible, and is fully dedicated to the s6 way of
+managing a system:
+
+- s6-svscan runs as process 1 for the whole machine lifetime.
+- Every daemon is supervised.
+- No logs are ever lost.
+- Policy is entirely left to the user. Typically, any service manager
+ can be run on top of s6-linux-init.
+
+Nevertheless, the architecture is fully compliant with various empirical
+and historical specifications. For instance, it provides:
+
+- utmp management compatible with sysvinit,
+- runlevel management, with a configurable default, overridable from the
+ kernel command line,
+- sysvinit-like commands to shut the system down, including a shutdown
+ command that follows the LSB specification.
+
+Optional dependencies:
+nsss (https://skarnet.org/software/nsss/) (not available at SBo)
+utmps (https://skarnet.org/software/utmps/) (not available at SBo)
+
+NOTE:
+s6-linux-init has some skeleton files that will be used to build the
+complete s6-based init system. These files will be placed under
+/etc/s6-linux-init/skel by default. You can change this by passing
+SKEL_DIR=/path/to/directory environment variable to the SlackBuild
+script like below:
+
+ SKEL_DIR=/path/to/directory ./s6-linux-init.SlackBuild
+
+The init system created by s6-linux-init will need an early boot tmpfs
+in order to work properly. By default, s6-linux-init will assume that
+this tmpfs will be mounted on /run. You can change this by passing
+TMPFS_DIR=/path/to/directory to the script like below:
+
+ TMPFS_DIR=/path/to/directory ./s6-linux-init.SlackBuild
+
+Upstream recommends building skarnet.org softwares with static libraries
+as most of skarnet.org softwares are small enough that using shared
+libraries are generally not worth using. Therefore, by default, shared
+libraries are not built and binaries are linked against the static
+versions of the skarnet.org libraries.
+
+If you want to also build the shared libraries, pass BUILD_SHARED=yes
+to the script like below:
+
+ BUILD_SHARED=yes ./s6-linux-init.SlackBuild
+
+Similarly, to avoid building the static libraries, you can pass
+BUILD_STATIC=no to the script. For example, to only build the shared
+libraries and not the static ones, you can do something like:
+
+ BUILD_SHARED=yes BUILD_STATIC=no ./s6-linux-init.SlackBuild
+
+If you just want to build and use skarnet.org softwares, building only
+the static libraries should be sufficient.
+
+If you want the binaries to be linked against the shared versions of the
+skarnet.org libraries, pass LINK_SHARED=yes to the script.
diff --git a/system/s6-linux-init/s6-linux-init.SlackBuild b/system/s6-linux-init/s6-linux-init.SlackBuild
new file mode 100644
index 0000000000..12bf4948a3
--- /dev/null
+++ b/system/s6-linux-init/s6-linux-init.SlackBuild
@@ -0,0 +1,131 @@
+#!/bin/sh
+
+# Slackware build script for s6-linux-init
+
+# Copyright 2020 Muhammad Mahendra Subrata Depok, Indonesia
+# 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.
+
+PRGNAM=s6-linux-init
+VERSION=${VERSION:-1.0.6.2}
+BUILD=${BUILD:-1}
+TAG=${TAG:-_SBo}
+
+if [ -z "$ARCH" ]; then
+ case "$( uname -m )" in
+ i?86) ARCH=i586 ;;
+ arm*) ARCH=arm ;;
+ *) ARCH=$( uname -m ) ;;
+ esac
+fi
+
+CWD=$(pwd)
+TMP=${TMP:-/tmp/SBo}
+PKG=$TMP/package-$PRGNAM
+OUTPUT=${OUTPUT:-/tmp}
+
+if [ "$ARCH" = "i586" ]; then
+ SLKCFLAGS="-O2 -march=i586 -mtune=i686"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "i686" ]; then
+ SLKCFLAGS="-O2 -march=i686 -mtune=i686"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "x86_64" ]; then
+ SLKCFLAGS="-O2 -fPIC"
+ LIBDIRSUFFIX="64"
+else
+ SLKCFLAGS="-O2"
+ LIBDIRSUFFIX=""
+fi
+
+# By default, only static libraries are built. If you need to build the shared libraries, just pass
+# BUILD_SHARED=yes to this script
+BUILD_STATIC=${BUILD_STATIC:-yes}
+BUILD_SHARED=${BUILD_SHARED:-no}
+
+if [ "$BUILD_STATIC" = "no" ]; then
+ LIBS_CONF="--disable-static"
+fi
+
+if [ "$BUILD_SHARED" = "yes" ]; then
+ LIBS_CONF="--enable-shared $LIBS_CONF"
+fi
+
+# By default, all binaries are linked against the static versions of the skarnet.org libraries
+# Pass LINK_SHARED=yes to link the binaries against the shared versions of the skarnet.org libraries
+# Also, if you only built the shared versions of the skarnet.org libraries, the binaries will be
+# linked against shared libraries automatically, as though LINK_SHARED=yes is passed to this script
+LINK_SHARED=${LINK_SHARED:-no}
+
+if [ "$LINK_SHARED" = "yes" ]; then
+ LIBS_CONF="--disable-allstatic $LIBS_CONF"
+fi
+
+# By default, all the skeleton files from s6-linux-init are placed under /etc/s6-linux-init/skel
+# Pass SKEL_DIR=/path/to/directory to this script if you want to place it somewhere else
+SKEL_DIR=${SKEL_DIR:-/etc/s6-linux-init/skel}
+
+# By default, s6-linux-init will assume that the initial tmpfs is mounted on /run
+# Pass TMPFS_DIR=/path/to/directory to this script if you want to change it
+TMPFS_DIR=${TMPFS_DIR:-/run}
+
+set -e
+
+rm -rf $PKG
+mkdir -p $TMP $PKG $OUTPUT
+cd $TMP
+rm -rf $PRGNAM-$VERSION
+tar xvf $CWD/$PRGNAM-$VERSION.tar.gz
+cd $PRGNAM-$VERSION
+chown -R root:root .
+find -L . \
+ \( -perm 777 -o -perm 775 -o -perm 750 -o -perm 711 -o -perm 555 \
+ -o -perm 511 \) -exec chmod 755 {} \; -o \
+ \( -perm 666 -o -perm 664 -o -perm 640 -o -perm 600 -o -perm 444 \
+ -o -perm 440 -o -perm 400 \) -exec chmod 644 {} \;
+
+CFLAGS="$SLKCFLAGS" \
+CXXFLAGS="$SLKCFLAGS" \
+./configure \
+ --dynlibdir=/lib${LIBDIRSUFFIX} \
+ --bindir=/sbin \
+ --libexecdir=/usr/libexec \
+ --libdir=/usr/lib${LIBDIRSUFFIX}/s6-linux-init \
+ --includedir=/usr/include \
+ --skeldir=${SKEL_DIR} \
+ --tmpfsdir=${TMPFS_DIR} \
+ --with-sysdeps=/usr/lib${LIBDIRSUFFIX}/skalibs/sysdeps \
+ --with-lib=/usr/lib${LIBDIRSUFFIX}/skalibs \
+ --with-lib=/usr/lib${LIBDIRSUFFIX}/execline \
+ --with-lib=/usr/lib${LIBDIRSUFFIX}/s6 \
+ $LIBS_CONF
+
+make
+make strip
+make install DESTDIR=$PKG
+
+mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION
+cp -a AUTHORS COPYING INSTALL NEWS README doc $PKG/usr/doc/$PRGNAM-$VERSION
+cat $CWD/$PRGNAM.SlackBuild > $PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM.SlackBuild
+
+mkdir -p $PKG/install
+cat $CWD/slack-desc > $PKG/install/slack-desc
+
+cd $PKG
+/sbin/makepkg -l y -c n $OUTPUT/$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.${PKGTYPE:-tgz}
diff --git a/system/s6-linux-init/s6-linux-init.info b/system/s6-linux-init/s6-linux-init.info
new file mode 100644
index 0000000000..2efba226a8
--- /dev/null
+++ b/system/s6-linux-init/s6-linux-init.info
@@ -0,0 +1,10 @@
+PRGNAM="s6-linux-init"
+VERSION="1.0.6.2"
+HOMEPAGE="https://skarnet.org/software/s6-linux-init/"
+DOWNLOAD="https://skarnet.org/software/s6-linux-init/s6-linux-init-1.0.6.2.tar.gz"
+MD5SUM="8ac36600894f2624eb3a2e9bb440e857"
+DOWNLOAD_x86_64=""
+MD5SUM_x86_64=""
+REQUIRES="s6"
+MAINTAINER="Muhammad Mahendra Subrata"
+EMAIL="mumahendras3@gmail.com"
diff --git a/system/s6-linux-init/slack-desc b/system/s6-linux-init/slack-desc
new file mode 100644
index 0000000000..2df638d9b3
--- /dev/null
+++ b/system/s6-linux-init/slack-desc
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description.
+# Line up the first '|' above the ':' following the base package name, and
+# the '|' on the right side marks the last column you can put a character in.
+# You must make exactly 11 lines for the formatting to be correct. It's also
+# customary to leave one space after the ':' except on otherwise blank lines.
+
+ |-----handy-ruler------------------------------------------------------|
+s6-linux-init: s6-linux-init (a set of small tools to create an s6-based init system)
+s6-linux-init:
+s6-linux-init: s6-linux-init is a set of minimalistic tools used to create an
+s6-linux-init: s6-based init system, including a /sbin/init binary, on a Linux
+s6-linux-init: kernel. The resulting architecture follows the Unix philosophy (one
+s6-linux-init: job -> one tool) as closely as possible, and is fully dedicated to
+s6-linux-init: the s6 way of managing a system while still be fully compliant with
+s6-linux-init: various empirical and historical specifications.
+s6-linux-init:
+s6-linux-init: Homepage: https://skarnet.org/software/s6-linux-init/
+s6-linux-init:
diff --git a/system/s6-rc/README b/system/s6-rc/README
new file mode 100644
index 0000000000..fcc650f1d7
--- /dev/null
+++ b/system/s6-rc/README
@@ -0,0 +1,41 @@
+s6-rc is a service manager for s6-based systems, i.e. a suite of
+programs that can start and stop services, both long-running daemons and
+one-time initialization scripts, in the proper order according to a
+dependency tree. It ensures that long-running daemons are supervised by
+the s6 infrastructure, and that one-time scripts are also run in a
+controlled environment.
+
+NOTE:
+s6-rc has a "live directory" where it puts some internal files that are
+needed at runtime, which defaults to /run/s6-rc. This can be changed to
+other directory by passing LIVE_DIR=/path/to/directory environment
+variable to the SlackBuild script like below:
+
+ LIVE_DIR=/path/to/directory ./s6-rc.SlackBuild
+
+Make sure /path/to/directory is readable and writable by s6-rc or it
+will not work correctly. A good recommendation is to put the live
+directory inside a RAM filesystem (e.g. tmpfs).
+
+Upstream recommends building skarnet.org softwares with static libraries
+as most of skarnet.org softwares are small enough that using shared
+libraries are generally not worth using. Therefore, by default, shared
+libraries are not built and binaries are linked against the static
+versions of the skarnet.org libraries.
+
+If you want to also build the shared libraries, pass BUILD_SHARED=yes to
+the SlackBuild script like below:
+
+ BUILD_SHARED=yes ./s6-rc.SlackBuild
+
+Similarly, to avoid building the static libraries, you can pass
+BUILD_STATIC=no to the script. For example, to only build the shared
+libraries and not the static ones, you can do something like:
+
+ BUILD_SHARED=yes BUILD_STATIC=no ./s6-rc.SlackBuild
+
+If you just want to build and use skarnet.org softwares, building only
+the static libraries should be sufficient.
+
+If you want the binaries to be linked against the shared versions of the
+skarnet.org libraries, pass LINK_SHARED=yes to the script.
diff --git a/system/s6-rc/s6-rc.SlackBuild b/system/s6-rc/s6-rc.SlackBuild
new file mode 100644
index 0000000000..bbbd9c5755
--- /dev/null
+++ b/system/s6-rc/s6-rc.SlackBuild
@@ -0,0 +1,117 @@
+#!/bin/sh
+
+# Slackware build script for s6-rc
+
+# Copyright 2020 Muhammad Mahendra Subrata Depok, Indonesia
+# 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.
+
+PRGNAM=s6-rc
+VERSION=${VERSION:-0.5.2.2}
+BUILD=${BUILD:-1}
+TAG=${TAG:-_SBo}
+
+if [ -z "$ARCH" ]; then
+ case "$( uname -m )" in
+ i?86) ARCH=i586 ;;
+ arm*) ARCH=arm ;;
+ *) ARCH=$( uname -m ) ;;
+ esac
+fi
+
+CWD=$(pwd)
+TMP=${TMP:-/tmp/SBo}
+PKG=$TMP/package-$PRGNAM
+OUTPUT=${OUTPUT:-/tmp}
+
+if [ "$ARCH" = "i586" ]; then
+ SLKCFLAGS="-O2 -march=i586 -mtune=i686"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "i686" ]; then
+ SLKCFLAGS="-O2 -march=i686 -mtune=i686"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "x86_64" ]; then
+ SLKCFLAGS="-O2 -fPIC"
+ LIBDIRSUFFIX="64"
+else
+ SLKCFLAGS="-O2"
+ LIBDIRSUFFIX=""
+fi
+
+# By default, only static libraries are built. If you need to build the shared libraries, just pass
+# BUILD_SHARED=yes to this script
+BUILD_STATIC=${BUILD_STATIC:-yes}
+BUILD_SHARED=${BUILD_SHARED:-no}
+[ "$BUILD_STATIC" = "no" ] && LIBS_CONF="--disable-static"
+[ "$BUILD_SHARED" = "yes" ] && LIBS_CONF="--enable-shared $LIBS_CONF"
+
+# By default, all binaries are linked against the static versions of the skarnet.org libraries
+# Pass LINK_SHARED=yes to link the binaries against the shared versions of the skarnet.org libraries
+# Also, if you only built the shared versions of the skarnet.org libraries, the binaries will be
+# linked against shared libraries automatically, as though LINK_SHARED=yes is passed to this script
+LINK_SHARED=${LINK_SHARED:-no}
+[ "$LINK_SHARED" = "yes" ] && LIBS_CONF="--disable-allstatic $LIBS_CONF"
+
+# /run/s6-rc is the default live directory, pass LIVE_DIR=/path/to/directory to this script to change it
+# make sure /path/to/directory is readable and writable by s6-rc or it will not work correctly
+LIVE_DIR=${LIVE_DIR:-/run/s6-rc}
+
+set -e
+
+rm -rf $PKG
+mkdir -p $TMP $PKG $OUTPUT
+cd $TMP
+rm -rf $PRGNAM-$VERSION
+tar xvf $CWD/$PRGNAM-$VERSION.tar.gz
+cd $PRGNAM-$VERSION
+chown -R root:root .
+find -L . \
+ \( -perm 777 -o -perm 775 -o -perm 750 -o -perm 711 -o -perm 555 \
+ -o -perm 511 \) -exec chmod 755 {} \; -o \
+ \( -perm 666 -o -perm 664 -o -perm 640 -o -perm 600 -o -perm 444 \
+ -o -perm 440 -o -perm 400 \) -exec chmod 644 {} \;
+
+CFLAGS="$SLKCFLAGS" \
+CXXFLAGS="$SLKCFLAGS" \
+./configure \
+ --dynlibdir=/lib${LIBDIRSUFFIX} \
+ --bindir=/bin \
+ --libexecdir=/usr/libexec \
+ --libdir=/usr/lib${LIBDIRSUFFIX}/s6-rc \
+ --includedir=/usr/include \
+ --livedir=${LIVE_DIR} \
+ --with-sysdeps=/usr/lib${LIBDIRSUFFIX}/skalibs/sysdeps \
+ --with-lib=/usr/lib${LIBDIRSUFFIX}/skalibs \
+ --with-lib=/usr/lib${LIBDIRSUFFIX}/execline \
+ --with-lib=/usr/lib${LIBDIRSUFFIX}/s6 \
+ $LIBS_CONF
+
+make
+make strip
+make install DESTDIR=$PKG
+
+mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION
+cp -a AUTHORS COPYING INSTALL NEWS README doc examples $PKG/usr/doc/$PRGNAM-$VERSION
+cat $CWD/$PRGNAM.SlackBuild > $PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM.SlackBuild
+
+mkdir -p $PKG/install
+cat $CWD/slack-desc > $PKG/install/slack-desc
+
+cd $PKG
+/sbin/makepkg -l y -c n $OUTPUT/$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.${PKGTYPE:-tgz}
diff --git a/system/s6-rc/s6-rc.info b/system/s6-rc/s6-rc.info
new file mode 100644
index 0000000000..7fec7a8ac7
--- /dev/null
+++ b/system/s6-rc/s6-rc.info
@@ -0,0 +1,10 @@
+PRGNAM="s6-rc"
+VERSION="0.5.2.2"
+HOMEPAGE="https://skarnet.org/software/s6-rc/"
+DOWNLOAD="https://skarnet.org/software/s6-rc/s6-rc-0.5.2.2.tar.gz"
+MD5SUM="1e003badbde728137170775806c6776b"
+DOWNLOAD_x86_64=""
+MD5SUM_x86_64=""
+REQUIRES="s6"
+MAINTAINER="Muhammad Mahendra Subrata"
+EMAIL="mumahendras3@gmail.com"
diff --git a/system/s6-rc/slack-desc b/system/s6-rc/slack-desc
new file mode 100644
index 0000000000..2682b6b1c8
--- /dev/null
+++ b/system/s6-rc/slack-desc
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description.
+# Line up the first '|' above the ':' following the base package name, and
+# the '|' on the right side marks the last column you can put a character in.
+# You must make exactly 11 lines for the formatting to be correct. It's also
+# customary to leave one space after the ':' except on otherwise blank lines.
+
+ |-----handy-ruler------------------------------------------------------|
+s6-rc: s6-rc (service manager for s6-based systems)
+s6-rc:
+s6-rc: s6-rc is a service manager for s6-based systems, i.e. a suite of
+s6-rc: programs that can start and stop services, both long-running daemons
+s6-rc: and one-time initialization scripts, in the proper order according
+s6-rc: to a dependency tree. It ensures that long-running daemons are
+s6-rc: supervised by the s6 infrastructure, and that one-time scripts are
+s6-rc: also run in a controlled environment.
+s6-rc:
+s6-rc: Homepage: https://skarnet.org/software/s6-rc/
+s6-rc:
diff --git a/system/s6/README b/system/s6/README
index fc847045e9..2c7ec758e3 100644
--- a/system/s6/README
+++ b/system/s6/README
@@ -7,19 +7,39 @@ be used within or without the framework, and that can be assembled
together to achieve powerful functionality with a very small amount of
code.
-skalibs is only required at build time, not run time.
-
-
-Some hints for using this package on Slackware:
-
-I added the following to my /etc/inittab:
-
-# S6
-sv:12345:respawn:/command/s6-svscanboot
-
-Then did a 'telinit q' to start it.
-
-Note that the default s6-svscanboot provided disables polling
-(-t0). So after adding a new service to /service you should call:
-
-/command/s6-svscanctl -a /service
+Examples of things you can do by assembling together several programs
+provided by s6 - besides process supervision:
+
+- syslogd functionality, using much less resources than the traditional
+ syslogd.
+- Reliable service readiness notification, which is the basis for
+ service dependency management.
+- Controlled privileged gain as with sudo, without using any suid
+ programs.
+- The useful parts of socket activation without having to change
+ application code or link servers against any specific library, and
+ without having to switch to any specific init system.
+
+NOTE:
+Upstream recommends building skarnet.org softwares with static libraries
+as most of skarnet.org softwares are small enough that using shared
+libraries are generally not worth using. Therefore, by default, shared
+libraries are not built and binaries are linked against the static
+versions of the skarnet.org libraries.
+
+If you want to also build the shared libraries, pass BUILD_SHARED=yes
+environment variable to the SlackBuild script like below:
+
+ BUILD_SHARED=yes ./s6.SlackBuild
+
+Similarly, to avoid building the static libraries, you can pass
+BUILD_STATIC=no to the script. For example, to only build the shared
+libraries and not the static ones, you can do something like:
+
+ BUILD_SHARED=yes BUILD_STATIC=no ./s6.SlackBuild
+
+If you just want to build and use skarnet.org softwares, building only
+the static libraries should be sufficient.
+
+If you want the binaries to be linked against the shared versions of the
+skarnet.org libraries, pass LINK_SHARED=yes to the script.
diff --git a/system/s6/README.Slackware b/system/s6/README.Slackware
new file mode 100644
index 0000000000..5842f3888d
--- /dev/null
+++ b/system/s6/README.Slackware
@@ -0,0 +1,21 @@
+Some hints for using this package alongside Slackware's default
+init system:
+
+I added the following to my /etc/inittab:
+
+ # S6
+ sv:12345:respawn:/bin/s6-svscanboot
+
+Then did a 'telinit q' to start it.
+
+Note that the default s6-svscanboot provided disables polling
+(-t0). So after adding a new service to /service you should call:
+
+ /bin/s6-svscanctl -a /service
+
+where /service is a directory that contains all the services that
+s6 will supervise. You can change it to other places such as
+/etc/service, /var/service, etc. and edit the provided
+/bin/s6-svscanboot script to change the scan directory to the new
+service directory (i.e. change /service in the script to the new service
+directory).
diff --git a/system/s6/s6.SlackBuild b/system/s6/s6.SlackBuild
index 83120ba2a5..7bf12235fe 100644
--- a/system/s6/s6.SlackBuild
+++ b/system/s6/s6.SlackBuild
@@ -3,6 +3,7 @@
# Slackware build script for s6
# Copyright 2019 Sean MacLennan Ottawa, Canada
+# Copyright 2020 Muhammad Mahendra Subrata Depok, Indonesia
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
@@ -23,7 +24,7 @@
# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
PRGNAM=s6
-VERSION=${VERSION:-2.7.2.2}
+VERSION=${VERSION:-2.10.0.3}
BUILD=${BUILD:-1}
TAG=${TAG:-_SBo}
@@ -54,6 +55,29 @@ else
LIBDIRSUFFIX=""
fi
+# By default, only static libraries are built. If you need to build the shared libraries, just pass
+# BUILD_SHARED=yes to this script
+BUILD_STATIC=${BUILD_STATIC:-yes}
+BUILD_SHARED=${BUILD_SHARED:-no}
+
+if [ "$BUILD_STATIC" = "no" ]; then
+ LIBS_CONF="--disable-static"
+fi
+
+if [ "$BUILD_SHARED" = "yes" ]; then
+ LIBS_CONF="--enable-shared $LIBS_CONF"
+fi
+
+# By default, all binaries are linked against the static versions of the skarnet.org libraries
+# Pass LINK_SHARED=yes to link the binaries against the shared versions of the skarnet.org libraries
+# Also, if you only built the shared versions of the skarnet.org libraries, the binaries will be
+# linked against shared libraries automatically, as though LINK_SHARED=yes is passed to this script
+LINK_SHARED=${LINK_SHARED:-no}
+
+if [ "$LINK_SHARED" = "yes" ]; then
+ LIBS_CONF="--disable-allstatic $LIBS_CONF"
+fi
+
set -e
rm -rf $PKG
@@ -72,23 +96,24 @@ find -L . \
CFLAGS="$SLKCFLAGS" \
CXXFLAGS="$SLKCFLAGS" \
./configure \
- --bindir=/command \
- --libdir=/usr/lib${LIBDIRSUFFIX} \
- --dynlibdir=/usr/lib${LIBDIRSUFFIX} \
- --build=$ARCH-slackware-linux
+ --dynlibdir=/lib${LIBDIRSUFFIX} \
+ --bindir=/bin \
+ --libexecdir=/usr/libexec \
+ --libdir=/usr/lib${LIBDIRSUFFIX}/s6 \
+ --includedir=/usr/include \
+ --with-sysdeps=/usr/lib${LIBDIRSUFFIX}/skalibs/sysdeps \
+ --with-lib=/usr/lib${LIBDIRSUFFIX}/skalibs \
+ --with-lib=/usr/lib${LIBDIRSUFFIX}/execline \
+ $LIBS_CONF
make
+make strip
make install DESTDIR=$PKG
-# Promote s6-svscanboot to /command since most Slackware users will
-# probably want to run without replacing init
-install examples/s6-svscanboot $PKG/command
-
-# Make this directory so that removepkg will show it as not empty
-mkdir $PKG/service
-
-find $PKG -print0 | xargs -0 file | grep -e "executable" -e "shared object" | grep ELF \
- | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null || true
+# Promote s6-svscanboot to /bin for users that want to use s6
+# alongside the system's default init system
+install examples/s6-svscanboot $PKG/bin
+sed -i 's|command|bin|g' $PKG/bin/s6-svscanboot
mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION
cp -a AUTHORS COPYING INSTALL NEWS README doc examples $PKG/usr/doc/$PRGNAM-$VERSION
diff --git a/system/s6/s6.info b/system/s6/s6.info
index 01a1bfcb19..d17ff68653 100644
--- a/system/s6/s6.info
+++ b/system/s6/s6.info
@@ -1,10 +1,10 @@
PRGNAM="s6"
-VERSION="2.7.2.2"
+VERSION="2.10.0.3"
HOMEPAGE="https://skarnet.org/software/s6/"
-DOWNLOAD="https://skarnet.org/software/s6/s6-2.7.2.2.tar.gz"
-MD5SUM="49d7d214c41cc49b839834a518f21ca5"
+DOWNLOAD="https://skarnet.org/software/s6/s6-2.10.0.3.tar.gz"
+MD5SUM="c3956a7c46522e4eea3bf89634d29f88"
DOWNLOAD_x86_64=""
MD5SUM_x86_64=""
-REQUIRES="execline"
-MAINTAINER="Sean MacLennan"
-EMAIL="seanm@seanm.ca"
+REQUIRES="skalibs execline"
+MAINTAINER="Muhammad Mahendra Subrata"
+EMAIL="mumahendras3@gmail.com"
diff --git a/system/s6/slack-desc b/system/s6/slack-desc
index 79cc2632c7..57896e4006 100644
--- a/system/s6/slack-desc
+++ b/system/s6/slack-desc
@@ -10,10 +10,10 @@ s6: s6 (process/service supervision suite)
s6:
s6: s6 is a small suite of programs for UNIX, designed to allow process
s6: supervision (a.k.a service supervision), in the line of daemontools
-s6: and runit, as well as various operations on processes and daemons.
-s6: It is meant to be a toolbox for low-level process and service
-s6: administration, providing different sets of independent tools that
-s6: can be used within or without the framework.
-s6:
-s6: https://skarnet.org/software/s6/
+s6: and runit, as well as various operations on processes and daemons. It
+s6: is meant to be a toolbox for low-level process and service
+s6: administration, providing different sets of independent tools that can
+s6: be used within or without the framework, and can be assembled together
+s6: to achieve powerful functionality with a very small amount of code.
s6:
+s6: Homepage: https://skarnet.org/software/s6/
diff --git a/system/saleae-logic/saleae-logic.SlackBuild b/system/saleae-logic/saleae-logic.SlackBuild
index ceca9f5622..28af6cb3a4 100644
--- a/system/saleae-logic/saleae-logic.SlackBuild
+++ b/system/saleae-logic/saleae-logic.SlackBuild
@@ -113,6 +113,7 @@ cat $CWD/$PRGNAM.SlackBuild > $PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM.SlackBuild
mkdir -p $PKG/install
cat $CWD/slack-desc > $PKG/install/slack-desc
+cat $CWD/doinst.sh > $PKG/install/doinst.sh
cd $PKG
/sbin/makepkg -l y -c n $OUTPUT/$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.${PKGTYPE:-tgz}
diff --git a/system/saleae-logic/slack-desc b/system/saleae-logic/slack-desc
index 08b751a9f1..9fd9e5f742 100644
--- a/system/saleae-logic/slack-desc
+++ b/system/saleae-logic/slack-desc
@@ -5,14 +5,15 @@
# You must make exactly 11 lines for the formatting to be correct. It's also
# customary to leave one space after the ':' except on otherwise blank lines.
- |-----------handy-ruler------------------------------------------------------|
+ |-----handy-ruler------------------------------------------------------|
saleae-logic: saleae-logic (Logic Analyzer Software)
saleae-logic:
-saleae-logic: Saleae Logic Analyzer is a powerful tool capable of capturing multiple sig-
-saleae-logic: nals from a digital circuit and displaying that information in the form of
-saleae-logic: timing diagrams. Saleae's Logic software can help you decode a variety of
-saleae-logic: digital protocols, including UART, SPI, I2C, 1-Wire, I2S, CAN, USB, and
-saleae-logic: many more.
-saleae-logic:
+saleae-logic: Saleae Logic Analyzer is a powerful tool capable of capturing multiple
+saleae-logic: signals from a digital circuit and displaying that information in the
+saleae-logic: form of timing diagrams. Saleae's Logic software can help you decode a
+saleae-logic: variety of digital protocols, including UART, SPI, I2C, 1-Wire, I2S,
+saleae-logic: CAN, USB, and many more.
+saleae-logic:
saleae-logic: These features can make debugging your embedded designs much simpler.
-saleae-logic:
+saleae-logic:
+saleae-logic:
diff --git a/system/sandbox/sandbox.SlackBuild b/system/sandbox/sandbox.SlackBuild
index 9832355b7a..e1c592ca8f 100644
--- a/system/sandbox/sandbox.SlackBuild
+++ b/system/sandbox/sandbox.SlackBuild
@@ -2,7 +2,7 @@
# Slackware build script for sandbox
-# Copyright 2018-2019 Hunter Sezen California, USA
+# Copyright 2018-2020 Hunter Sezen California, USA
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
@@ -23,7 +23,7 @@
# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
PRGNAM=sandbox
-VERSION=${VERSION:-2.18}
+VERSION=${VERSION:-2.20}
BUILD=${BUILD:-1}
TAG=${TAG:-_SBo}
diff --git a/system/sandbox/sandbox.info b/system/sandbox/sandbox.info
index 131e955d23..7ea79a2f57 100644
--- a/system/sandbox/sandbox.info
+++ b/system/sandbox/sandbox.info
@@ -1,8 +1,8 @@
PRGNAM="sandbox"
-VERSION="2.18"
+VERSION="2.20"
HOMEPAGE="https://wiki.gentoo.org/wiki/Project:Sandbox"
-DOWNLOAD="https://gitweb.gentoo.org/proj/sandbox.git/snapshot/sandbox-2.18.tar.bz2"
-MD5SUM="8d772726ef0edd05e52e4289b76bfa14"
+DOWNLOAD="https://gitweb.gentoo.org/proj/sandbox.git/snapshot/sandbox-2.20.tar.bz2"
+MD5SUM="9f0fc6baae17190fdd78cda967936e80"
DOWNLOAD_x86_64=""
MD5SUM_x86_64=""
REQUIRES=""
diff --git a/system/sandy/sandy.info b/system/sandy/sandy.info
index c77f0e5943..629649b220 100644
--- a/system/sandy/sandy.info
+++ b/system/sandy/sandy.info
@@ -1,7 +1,7 @@
PRGNAM="sandy"
VERSION="0.4_20140727"
HOMEPAGE="https://web.archive.org/web/20180213024506/https://tools.suckless.org/sandy"
-DOWNLOAD="http://urchlay.naptime.net/~urchlay/src/sandy-0.4_20140727.tar.gz"
+DOWNLOAD="https://slackware.uk/~urchlay/src/sandy-0.4_20140727.tar.gz"
MD5SUM="b046a5271584fea2fb1e881dfc86c899"
DOWNLOAD_x86_64=""
MD5SUM_x86_64=""
diff --git a/system/sargon/slack-desc b/system/sargon/slack-desc
index aa5f19f39e..5ad58ec29d 100644
--- a/system/sargon/slack-desc
+++ b/system/sargon/slack-desc
@@ -7,13 +7,13 @@
|-----handy-ruler------------------------------------------------------|
sargon: sargon (User privilege system for docker)
-sargon:
+sargon:
sargon: Docker authorization plugin that controls container and volume
sargon: creation. It enables the administrator to exercise control over the
sargon: containers that users are allowed to create and decide whether to
sargon: permit creation of privileged containers, what parts of the host file
sargon: system can be visible to containers via bind or volume mechanism,
sargon: what memory limits to apply, etc.
-sargon:
+sargon:
sargon: Homepage: https://github.com/graygnuorg/sargon
-sargon:
+sargon:
diff --git a/system/scangearmp2/README b/system/scangearmp2/README
new file mode 100644
index 0000000000..f4d82f23af
--- /dev/null
+++ b/system/scangearmp2/README
@@ -0,0 +1,9 @@
+scangearmp2 (scanning front-end GUI for Canon Multifunction Inkjet Printer)
+
+scangearmp2 is a scanning program for Canon Multifunction Inkjet Printer.
+You can scan image from Canon Multifunction Inkjet Printer, and select the
+scanning parameters, for example, scan mode, size, etc.
+
+Support MG7500 series, MG6600 series, MG5600 series, MG2900 series,
+MB2000 series, MB2300 series, MB5000 series, MB5300 series, E460 series,
+MX490 series, E480 series.
diff --git a/system/scangearmp2/scangearmp2.SlackBuild b/system/scangearmp2/scangearmp2.SlackBuild
new file mode 100644
index 0000000000..162fcbc20a
--- /dev/null
+++ b/system/scangearmp2/scangearmp2.SlackBuild
@@ -0,0 +1,117 @@
+#!/bin/sh
+
+# Slackware build script for scangearmp2
+
+# Copyright 2019 Kenneth Chan, Hong Kong
+# 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.
+
+PRGNAM=scangearmp2
+VERSION=${VERSION:-3.90.1}
+BUILD=${BUILD:-1}
+TAG=${TAG:-_SBo}
+
+SRCNAM=$PRGNAM-source
+SRCVERSION=3.90-1
+
+if [ -z "$ARCH" ]; then
+ case "$( uname -m )" in
+ i?86) ARCH=i586 ;;
+ arm*) ARCH=arm ;;
+ *) ARCH=$( uname -m ) ;;
+ esac
+fi
+
+CWD=$(pwd)
+TMP=${TMP:-/tmp/SBo}
+PKG=$TMP/package-$PRGNAM
+OUTPUT=${OUTPUT:-/tmp}
+
+if [ "$ARCH" = "i586" ]; then
+ SLKCFLAGS="-O2 -march=i586 -mtune=i686"
+ LIBDIRSUFFIX=""
+ LDFLAGS="-L$TMP/$SRCNAM-${SRCVERSION}/com/libs_bin32"
+ BITS="i386"
+elif [ "$ARCH" = "i686" ]; then
+ SLKCFLAGS="-O2 -march=i686 -mtune=i686"
+ LIBDIRSUFFIX=""
+ LDFLAGS="-L$TMP/$SRCNAM-${SRCVERSION}/com/libs_bin32"
+ BITS="i386"
+elif [ "$ARCH" = "x86_64" ]; then
+ SLKCFLAGS="-O2 -fPIC"
+ LIBDIRSUFFIX="64"
+ LDFLAGS="-L$TMP/$SRCNAM-${SRCVERSION}/com/libs_bin64"
+ BITS="amd64"
+else
+ echo "Package for $(uname -m) architecture is not available."
+ exit 1
+fi
+
+set -e
+
+rm -rf $PKG
+mkdir -p $TMP $PKG $OUTPUT
+cd $TMP
+rm -rf $SRCNAM-$SRCVERSION
+
+tar xvzf $CWD/$SRCNAM-${SRCVERSION}.tar.gz
+cd $SRCNAM-$SRCVERSION
+chown -R root:root .
+find -L . \
+ \( -perm 777 -o -perm 775 -o -perm 750 -o -perm 711 -o -perm 555 \
+ -o -perm 511 \) -exec chmod 755 {} \; -o \
+ \( -perm 666 -o -perm 664 -o -perm 640 -o -perm 600 -o -perm 444 \
+ -o -perm 440 -o -perm 400 \) -exec chmod 644 {} \;
+find -L . \
+ \( -type f \! -name autogen.sh \) \
+ -exec chmod 644 {} \;
+
+cd $PRGNAM
+
+./autogen.sh --prefix=/usr LDFLAGS="$LDFLAGS"
+make
+make install-strip DESTDIR=$PKG
+
+# Follow debian/rules
+if [ "$ARCH" = "x86_64" ]; then
+ mv $PKG/usr/lib $PKG/usr/lib64
+ install -s -m 755 ../com/libs_bin64/*.so $PKG/usr/lib64/
+ install -m 666 ../com/ini/canon_mfp2_net.ini $PKG/usr/lib64/bjlib/
+elif [ "$ARCH" = "i586" ]; then
+ install -s -m 755 ../com/libs_bin32/*.so $PKG/usr/lib/
+ install -m 666 ../com/ini/canon_mfp2_net.ini $PKG/usr/lib/bjlib/
+elif [ "$ARCH" = "i686" ]; then
+ install -s -m 755 ../com/libs_bin32/*.so $PKG/usr/lib/
+ install -m 666 ../com/ini/canon_mfp2_net.ini $PKG/usr/lib/bjlib/
+fi
+
+mkdir -p $PKG/lib/udev/rules.d
+install -m 644 etc/80-canon_mfp2.rules $PKG/lib/udev/rules.d
+
+mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION
+cp -a \
+ AUTHORS COPYING ChangeLog INSTALL LICENSE NEWS README ../doc/* \
+ $PKG/usr/doc/$PRGNAM-$VERSION
+cat $CWD/$PRGNAM.SlackBuild > $PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM.SlackBuild
+
+mkdir -p $PKG/install
+cat $CWD/slack-desc > $PKG/install/slack-desc
+
+cd $PKG
+/sbin/makepkg -l y -c n $OUTPUT/$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.${PKGTYPE:-tgz}
diff --git a/system/scangearmp2/scangearmp2.info b/system/scangearmp2/scangearmp2.info
new file mode 100644
index 0000000000..977724b7ed
--- /dev/null
+++ b/system/scangearmp2/scangearmp2.info
@@ -0,0 +1,10 @@
+PRGNAM="scangearmp2"
+VERSION="3.90.1"
+HOMEPAGE="https://asia.canon/en/support/0101048701/1"
+DOWNLOAD="http://gdlp01.c-wss.com/gds/7/0100010487/01/scangearmp2-source-3.90-1.tar.gz"
+MD5SUM="6c22dd63e8ed0e8badd5f012f773497d"
+DOWNLOAD_x86_64=""
+MD5SUM_x86_64=""
+REQUIRES=""
+MAINTAINER="Kenneth Chan"
+EMAIL="kenneth.t.chan@gmail.com"
diff --git a/system/scangearmp2/slack-desc b/system/scangearmp2/slack-desc
new file mode 100644
index 0000000000..714f021816
--- /dev/null
+++ b/system/scangearmp2/slack-desc
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description.
+# Line up the first '|' above the ':' following the base package name, and
+# the '|' on the right side marks the last column you can put a character in.
+# You must make exactly 11 lines for the formatting to be correct. It's also
+# customary to leave one space after the ':' except on otherwise blank lines.
+
+ |-----handy-ruler------------------------------------------------------|
+scangearmp2: scangearmp2 (Front-end GUI for Canon Multifunction Inkjet Printer)
+scangearmp2:
+scangearmp2: A scanning program for Canon Multifunction Inkjet Printer.
+scangearmp2: You can scan image from Canon Multifunction Inkjet Printer, and
+scangearmp2: select the scanning parameters, for example, scan mode, size, etc.
+scangearmp2:
+scangearmp2: Support MG7500 series, MG6600 series, MG5600 series, MG2900 series,
+scangearmp2: MB2000 series, MB2300 series, MB5000 series, MB5300 series, E460
+scangearmp2: series, MX490 series, E480 series.
+scangearmp2:
+scangearmp2: Homepage: https://asia.canon/en/support/0101048701/1
diff --git a/system/scdoc/README b/system/scdoc/README
new file mode 100644
index 0000000000..3c4b288e25
--- /dev/null
+++ b/system/scdoc/README
@@ -0,0 +1,3 @@
+scdoc is a simple man page generator for POSIX systems written in C99.
+
+It requires the input files to be UTF-8 encoded.
diff --git a/system/scdoc/fix-makefile.patch.gz b/system/scdoc/fix-makefile.patch.gz
new file mode 100644
index 0000000000..a9918c14cc
--- /dev/null
+++ b/system/scdoc/fix-makefile.patch.gz
Binary files differ
diff --git a/system/scdoc/scdoc.SlackBuild b/system/scdoc/scdoc.SlackBuild
new file mode 100644
index 0000000000..fb7418e537
--- /dev/null
+++ b/system/scdoc/scdoc.SlackBuild
@@ -0,0 +1,97 @@
+#!/bin/sh
+
+# Slackware build script for scdoc
+
+# Copyright 2021 Manuel Argüelles Panama City, Panama
+# 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.
+
+PRGNAM=scdoc
+VERSION=${VERSION:-1.11.1}
+BUILD=${BUILD:-1}
+TAG=${TAG:-_SBo}
+
+if [ -z "$ARCH" ]; then
+ case "$( uname -m )" in
+ i?86) ARCH=i586 ;;
+ arm*) ARCH=arm ;;
+ *) ARCH=$( uname -m ) ;;
+ esac
+fi
+
+CWD=$(pwd)
+TMP=${TMP:-/tmp/SBo}
+PKG=$TMP/package-$PRGNAM
+OUTPUT=${OUTPUT:-/tmp}
+
+if [ "$ARCH" = "i586" ]; then
+ SLKCFLAGS="-O2 -march=i586 -mtune=i686"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "i686" ]; then
+ SLKCFLAGS="-O2 -march=i686 -mtune=i686"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "x86_64" ]; then
+ SLKCFLAGS="-O2 -fPIC"
+ LIBDIRSUFFIX="64"
+else
+ SLKCFLAGS="-O2"
+ LIBDIRSUFFIX=""
+fi
+
+set -e
+
+rm -rf $PKG
+mkdir -p $TMP $PKG $OUTPUT
+cd $TMP
+rm -rf $PRGNAM-$VERSION
+tar xvf $CWD/$PRGNAM-$VERSION.tar.gz || tar xvf $CWD/$VERSION.tar.gz
+cd $PRGNAM-$VERSION
+chown -R root:root .
+find -L . \
+ \( -perm 777 -o -perm 775 -o -perm 750 -o -perm 711 -o -perm 555 \
+ -o -perm 511 \) -exec chmod 755 {} \; -o \
+ \( -perm 666 -o -perm 664 -o -perm 640 -o -perm 600 -o -perm 444 \
+ -o -perm 440 -o -perm 400 \) -exec chmod 644 {} \;
+
+zcat $CWD/fix-makefile.patch.gz | patch -p1
+
+CFLAGS="$SLKCFLAGS" \
+CXXFLAGS="$SLKCFLAGS" \
+PREFIX=/usr \
+make
+make install DESTDIR=$PKG PREFIX=/usr MANDIR=/usr/man
+
+find $PKG -print0 | xargs -0 file | grep -e "executable" -e "shared object" | grep ELF \
+ | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null || true
+
+find $PKG/usr/man -type f -exec gzip -9 {} \;
+for i in $( find $PKG/usr/man -type l ) ; do ln -s $( readlink $i ).gz $i.gz ; rm $i ; done
+
+mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION
+cp -a \
+ COPYING \
+ README.md \
+ $PKG/usr/doc/$PRGNAM-$VERSION
+cat $CWD/$PRGNAM.SlackBuild > $PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM.SlackBuild
+
+mkdir -p $PKG/install
+cat $CWD/slack-desc > $PKG/install/slack-desc
+
+cd $PKG
+/sbin/makepkg -l y -c n $OUTPUT/$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.${PKGTYPE:-tgz}
diff --git a/system/scdoc/scdoc.info b/system/scdoc/scdoc.info
new file mode 100644
index 0000000000..fd8e496116
--- /dev/null
+++ b/system/scdoc/scdoc.info
@@ -0,0 +1,10 @@
+PRGNAM="scdoc"
+VERSION="1.11.1"
+HOMEPAGE="https://git.sr.ht/~sircmpwn/scdoc"
+DOWNLOAD="https://git.sr.ht/~sircmpwn/scdoc/archive/1.11.1.tar.gz"
+MD5SUM="ce8369cb5d2406786f61cf805ceae66f"
+DOWNLOAD_x86_64=""
+MD5SUM_x86_64=""
+REQUIRES=""
+MAINTAINER="Manuel Argüelles"
+EMAIL="manuel.arguelles@gmail.com"
diff --git a/system/scdoc/slack-desc b/system/scdoc/slack-desc
new file mode 100644
index 0000000000..1f56aa5e39
--- /dev/null
+++ b/system/scdoc/slack-desc
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description.
+# Line up the first '|' above the ':' following the base package name, and
+# the '|' on the right side marks the last column you can put a character in.
+# You must make exactly 11 lines for the formatting to be correct. It's also
+# customary to leave one space after the ':' except on otherwise blank lines.
+
+ |-----handy-ruler------------------------------------------------------|
+scdoc: scdoc (small man page generator)
+scdoc:
+scdoc: Simple man page generator for POSIX systems written in C99.
+scdoc:
+scdoc:
+scdoc:
+scdoc:
+scdoc:
+scdoc:
+scdoc:
+scdoc:
diff --git a/system/scrypt/README b/system/scrypt/README
index 90be1eb4e0..2dda616f34 100644
--- a/system/scrypt/README
+++ b/system/scrypt/README
@@ -1,11 +1,16 @@
-The scrypt key derivation function was originally developed for use in the
-Tarsnap online backup system and is designed to be far more secure against
-hardware brute-force attacks than alternative functions such as PBKDF2 or
-bcrypt.
+The scrypt key derivation function was originally developed for use in
+the Tarsnap online backup system and is designed to be far more secure
+against hardware brute-force attacks than alternative functions such as
+PBKDF2 or bcrypt.
-This simple password-based encryption utility is available as a demonstration
-of the scrypt key derivation function. On modern hardware and with default
-parameters, the cost of cracking the password on a file encrypted by scrypt
-enc is approximately 100 billion times more than the cost of cracking the same
-password on a file encrypted by openssl enc; this means that a five-character
-password using scrypt is stronger than a ten-character password using openssl.
+A simple password-based encryption utility is available as a
+demonstration of the scrypt key derivation function. On modern hardware
+and with default parameters, the cost of cracking the password on a file
+encrypted by scrypt enc is approximately 100 billion times more than the
+cost of cracking the same password on a file encrypted by openssl enc;
+this means that a five-character password using scrypt is stronger than
+a ten-character password using openssl.
+
+In addition to the scrypt command-line utility, a development library
+libscrypt-kdf can be built and installed by setting the LIB environment
+variable: LIB=yes ./scrypt.SlackBuild
diff --git a/system/scrypt/scrypt.SlackBuild b/system/scrypt/scrypt.SlackBuild
index a9c388d707..3f1f51f3c2 100644
--- a/system/scrypt/scrypt.SlackBuild
+++ b/system/scrypt/scrypt.SlackBuild
@@ -1,36 +1,34 @@
#!/bin/sh
+# Slackware build script for scrypt
+
# Copyright (c) 2011-2013 LEVAI Daniel
+# Copyright 2020, Alexander Verbovetsky, Moscow, Russia
# All rights reserved.
+# Redistribution and use of this script, with or without modification, is
+# permitted provided that the following conditions are met:
#
-# * Redistribution and use in source and binary forms, with or without
-# modification, are permitted provided that the following conditions
-# are met:
-# * Redistributions of source code must retain the above copyright notice
-# this list of conditions and the following disclaimer.
-# * Redistributions in binary form must reproduce the above copyright
-# notice, this list of conditions and the following disclaimer in the
-# documentation and/or other materials provided with the distribution.
+# 1. Redistributions of this script must retain the above copyright
+# notice, this list of conditions and the following disclaimer.
#
-# THIS SOFTWARE IS PROVIDED ''AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES,
-# INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY
-# AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
-# COPYRIGHT HOLDER 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 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.
PRGNAM=scrypt
-VERSION=${VERSION:-1.2.1}
-BUILD=${BUILD:-2}
+VERSION=${VERSION:-1.3.1}
+BUILD=${BUILD:-1}
TAG=${TAG:-_SBo}
if [ -z "$ARCH" ]; then
case "$( uname -m )" in
- i686) ARCH=i686 ;;
i?86) ARCH=i586 ;;
arm*) ARCH=arm ;;
*) ARCH=$( uname -m ) ;;
@@ -58,6 +56,9 @@ fi
set -e
+libscrypt_kdf=""
+[ "${LIB:-no}" != "no" ] && libscrypt_kdf="--enable-libscrypt-kdf"
+
rm -rf $PKG
mkdir -p $TMP $PKG $OUTPUT
cd $TMP
@@ -67,15 +68,18 @@ cd $PRGNAM-$VERSION
chown -R root:root .
find -L . \
\( -perm 777 -o -perm 775 -o -perm 750 -o -perm 711 -o -perm 555 \
- -o -perm 511 \) -exec chmod 755 {} \; -o \
+ -o -perm 511 \) -exec chmod 755 {} \; -o \
\( -perm 666 -o -perm 664 -o -perm 640 -o -perm 600 -o -perm 444 \
- -o -perm 440 -o -perm 400 \) -exec chmod 644 {} \;
+ -o -perm 440 -o -perm 400 \) -exec chmod 644 {} \;
CFLAGS="$SLKCFLAGS" \
-./configure \
- --prefix=/usr \
- --mandir=/usr/man \
- --docdir=/usr/doc \
+ ./configure \
+ --prefix=/usr \
+ --libdir=/usr/lib${LIBDIRSUFFIX} \
+ --mandir=/usr/man \
+ --docdir=/usr/doc \
+ --enable-static=no \
+ $libscrypt_kdf \
--build=$ARCH-slackware-linux
make
make install DESTDIR=$PKG
@@ -87,7 +91,7 @@ find $PKG/usr/man -type f -exec gzip -9 {} \;
for i in $( find $PKG/usr/man -type l ) ; do ln -s $( readlink $i ).gz $i.gz ; rm $i ; done
mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION
-cp $CWD/README FORMAT $PKG/usr/doc/$PRGNAM-$VERSION/
+cp -a FORMAT tests $PKG/usr/doc/$PRGNAM-$VERSION/
cat $CWD/$PRGNAM.SlackBuild > $PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM.SlackBuild
mkdir -p $PKG/install
diff --git a/system/scrypt/scrypt.info b/system/scrypt/scrypt.info
index 9bbf775555..5f88fd121f 100644
--- a/system/scrypt/scrypt.info
+++ b/system/scrypt/scrypt.info
@@ -1,10 +1,10 @@
PRGNAM="scrypt"
-VERSION="1.2.1"
+VERSION="1.3.1"
HOMEPAGE="http://www.tarsnap.com/scrypt.html"
-DOWNLOAD="http://www.tarsnap.com/scrypt/scrypt-1.2.1.tgz"
-MD5SUM="b33d22cd35032743047d30f1f5a49514"
+DOWNLOAD="http://www.tarsnap.com/scrypt/scrypt-1.3.1.tgz"
+MD5SUM="1f5aded31478319357c2c611eb5c4f71"
DOWNLOAD_x86_64=""
MD5SUM_x86_64=""
REQUIRES=""
-MAINTAINER="LEVAI Daniel"
-EMAIL="leva@ecentrum.hu"
+MAINTAINER="Alexander Verbovetsky"
+EMAIL="alik@ejik.org"
diff --git a/system/scrypt/slack-desc b/system/scrypt/slack-desc
index 379ee0fc64..2141b59125 100644
--- a/system/scrypt/slack-desc
+++ b/system/scrypt/slack-desc
@@ -8,12 +8,12 @@
|-----handy-ruler------------------------------------------------------|
scrypt: scrypt (scrypt encryption utility)
scrypt:
-scrypt: A simple password-based encryption utility that is a demonstration of
-scrypt: the scrypt key derivation function.
-scrypt:
-scrypt:
-scrypt: Homepage: http://www.tarsnap.com/scrypt.html
-scrypt:
-scrypt:
-scrypt:
+scrypt: The scrypt key derivation function was originally developed for use in
+scrypt: the Tarsnap online backup system and is designed to be far more secure
+scrypt: against hardware brute-force attacks than alternative functions such
+scrypt: as PBKDF2 or bcrypt. A simple password-based encryption utility and an
+scrypt: optional library are available as a demonstration of the scrypt key
+scrypt: derivation function.
scrypt:
+scrypt: Homepage: https://www.tarsnap.com/scrypt.html
+scrypt: Development: https://github.com/Tarsnap/scrypt
diff --git a/system/sddm/sddm.SlackBuild b/system/sddm/sddm.SlackBuild
index f78743c992..a977bd5c30 100644
--- a/system/sddm/sddm.SlackBuild
+++ b/system/sddm/sddm.SlackBuild
@@ -1,7 +1,7 @@
#!/bin/sh
# Slackware build script for sddm
-# Copyright 2017 David Woodfall <dave@dawoodfall.net>
+# Copyright 2017 David Woodfall <dave@slackbuilds.org>
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
@@ -53,12 +53,15 @@ else
LIBDIRSUFFIX=""
fi
-if grep sddm /etc/passwd | grep "/var/empty"; then
- printf "%s\n%s\n%s\n%s\n" \
- "It appears that SDDM's home is set to /var/empty in /etc/passwd." \
- "This needs to be changed to /var/lib/sddm." \
- "To do this, run: usermod -d /var/lib/sddm sddm" \
- "This installation will now terminate."
+SDDM_HOME="/var/lib/sddm"
+PW_HOME="$( getent passwd sddm | cut -d: -f6 )"
+if [ "$PW_HOME" != "$SDDM_HOME" ]; then
+ cat <<EOF
+It appears that the sddm user's home is set to $PW_HOME in /etc/passwd.
+This needs to be changed to $SDDM_HOME
+To do this, run: usermod -d $SDDM_HOME sddm
+This installation will now terminate.
+EOF
exit 1
fi
@@ -108,8 +111,8 @@ cp -a \
$PKG/usr/doc/$PRGNAM-$VERSION
cat $CWD/$PRGNAM.SlackBuild > $PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM.SlackBuild
-mkdir -p $PKG/var/lib/sddm
-chown sddm:sddm $PKG/var/lib/sddm
+mkdir -p $PKG/$SDDM_HOME
+chown sddm:sddm $PKG/$SDDM_HOME
mkdir -p $PKG/install
cat $CWD/slack-desc > $PKG/install/slack-desc
diff --git a/system/sddm/sddm.info b/system/sddm/sddm.info
index e5b5c9e396..6b38805b07 100644
--- a/system/sddm/sddm.info
+++ b/system/sddm/sddm.info
@@ -7,4 +7,4 @@ DOWNLOAD_x86_64=""
MD5SUM_x86_64=""
REQUIRES="extra-cmake-modules qt5"
MAINTAINER="Dave Woodfall"
-EMAIL="dave@tty1.uk"
+EMAIL="dave@slackbuilds.org"
diff --git a/system/sdl-jstest/sdl-jstest.info b/system/sdl-jstest/sdl-jstest.info
index c70abad9ff..cf78c56ffc 100644
--- a/system/sdl-jstest/sdl-jstest.info
+++ b/system/sdl-jstest/sdl-jstest.info
@@ -1,7 +1,7 @@
PRGNAM="sdl-jstest"
VERSION="20180715_aafbdb1"
HOMEPAGE="https://gitlab.com/sdl-jstest/sdl-jstest"
-DOWNLOAD="http://urchlay.naptime.net/~urchlay/src/sdl-jstest-20180715_aafbdb1.tar.xz"
+DOWNLOAD="https://slackware.uk/~urchlay/src/sdl-jstest-20180715_aafbdb1.tar.xz"
MD5SUM="68e335dec338030aedfdb07100bc18d8"
DOWNLOAD_x86_64=""
MD5SUM_x86_64=""
diff --git a/system/secure-delete/README b/system/secure-delete/README
index aae5cfa3b6..a9100b9943 100644
--- a/system/secure-delete/README
+++ b/system/secure-delete/README
@@ -2,7 +2,8 @@ Tools to wipe files, free disk space, swap and memory.
Gutmann method based tools for securely wiping data.
-From files (srm), free disk space (sfill), swap (sswap) and memory (sdmem).
+From files (srm), free disk space (sfill), swap (sswap) and memory
+(sdmem).
-This package maybe conflict with "srm" program and "srm" manpage present in
-"srm" package also available on SlackBuilds.
+This package maybe conflict with "srm" program and "srm" manpage present
+in "srm" package also available on SlackBuilds.
diff --git a/system/secure-delete/secure-delete-3.1-do-not-use-the-kernel-module.patch b/system/secure-delete/secure-delete-3.1-do-not-use-the-kernel-module.patch
deleted file mode 100644
index a685b81bc6..0000000000
--- a/system/secure-delete/secure-delete-3.1-do-not-use-the-kernel-module.patch
+++ /dev/null
@@ -1,41 +0,0 @@
---- Makefile.old 2006-03-08 14:59:53.000000000 -0500
-+++ Makefile 2006-03-08 15:00:23.000000000 -0500
-@@ -7,7 +7,7 @@
- OPT_MOD=-D__KERNEL__ -DMODULE -fomit-frame-pointer -fno-strict-aliasing -pipe -mpreferred-stack-boundary=2
- #LD_MOD=-r
-
--all: sdel-lib.o srm sfill sswap smem sdel-mod.o
-+all: sdel-lib.o srm sfill sswap smem
- @echo
- @echo "A Puritan is someone who is deathly afraid that someone, somewhere, is"
- @echo "having fun."
-@@ -15,9 +15,6 @@
- @echo "I hope YOU have fun!"
- @echo
-
--sdel-mod.o: sdel-mod.c
-- $(CC) $(OPT) $(OPT_MOD) $(LD_MOD) -I/lib/modules/`uname -r`/build/include -c sdel-mod.c
--
- sdel-lib.o: sdel-lib.c
- $(CC) ${OPT} -c sdel-lib.c
-
-@@ -35,7 +32,7 @@
- -strip smem
-
- clean:
-- rm -f sfill srm sswap smem sdel sdel-lib.o sdel-mod.o core *~
-+ rm -f sfill srm sswap smem sdel sdel-lib.o
-
- install: all
- mkdir -p -m 755 ${INSTALL_DIR} 2> /dev/null
-@@ -47,8 +44,8 @@
- chmod 644 ${MAN_DIR}/man1/srm.1 ${MAN_DIR}/man1/sfill.1 ${MAN_DIR}/man1/sswap.1 ${MAN_DIR}/man1/smem.1
- mkdir -p -m 755 ${DOC_DIR} 2> /dev/null
- cp -f CHANGES FILES README secure_delete.doc usenix6-gutmann.doc ${DOC_DIR}
-- -test -e sdel-mod.o && cp -f sdel-mod.o /lib/modules/`uname -r`/kernel/drivers/char
--# @-test '!' -e sdel-mod.o -a `uname -s` = 'Linux' && echo "type \"make sdel-mod install\" to compile and install the Linux loadable kernel module for secure delete"
-+ -test -e
-+# @-test '!' -e
- @echo
- @echo "If men could get pregnant, abortion would be a sacrament."
- @echo
diff --git a/system/secure-delete/secure-delete-3.1-makefile.patch b/system/secure-delete/secure-delete-3.1-makefile.patch
deleted file mode 100644
index b9aad3d04a..0000000000
--- a/system/secure-delete/secure-delete-3.1-makefile.patch
+++ /dev/null
@@ -1,25 +0,0 @@
---- Makefile 2010-08-10 10:44:37.000000000 -0400
-+++ Makefile.secure 2010-08-10 10:44:43.000000000 -0400
-@@ -18,14 +19,14 @@
- sdel-lib.o: sdel-lib.c
- $(CC) ${OPT} -c sdel-lib.c
-
--srm: srm.c
-- $(CC) ${OPT} -o srm srm.c sdel-lib.o
--sfill: sfill.c
-- $(CC) ${OPT} -o sfill sfill.c sdel-lib.o
--sswap: sswap.c
-- $(CC) ${OPT} -o sswap sswap.c sdel-lib.o
--smem: smem.c
-- $(CC) ${OPT} -o smem smem.c sdel-lib.o
-+srm: srm.o sdel-lib.o
-+ $(CC) $(LDFLAGS) srm.o sdel-lib.o -o srm
-+sfill: sfill.o sdel-lib.o
-+ $(CC) $(LDFLAGS) sfill.o sdel-lib.o -o sfill
-+sswap: sswap.o sdel-lib.o
-+ $(CC) $(LDFLAGS) sswap.o sdel-lib.o -o sswap
-+smem: smem.o sdel-lib.o
-+ $(CC) $(LDFLAGS) smem.o sdel-lib.o -o smem
-
- clean:
- rm -f sfill srm sswap smem sdel sdel-lib.o
diff --git a/system/secure-delete/secure-delete.SlackBuild b/system/secure-delete/secure-delete.SlackBuild
index 538c630156..3d05a44e21 100644
--- a/system/secure-delete/secure-delete.SlackBuild
+++ b/system/secure-delete/secure-delete.SlackBuild
@@ -2,8 +2,9 @@
#
# Slackware build script for secure-delete.
#
-# Copyright 2015-2017 Edinaldo P. Silva, Rio de Janeiro, Brazil.
+# Copyright 2015-2020 Edinaldo P. Silva, Rio de Janeiro, Brazil.
# All rights reserved.
+# Copyright Jefferson Rocha, Curitiba, Brazil.
#
# Redistribution and use of this script, with or without modification, is
# permitted provided that the following conditions are met:
@@ -23,8 +24,8 @@
# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
PRGNAM=secure-delete
-VERSION=${VERSION:-3.1}
-BUILD=${BUILD:-6}
+VERSION=${VERSION:-3.1_6}
+BUILD=${BUILD:-1}
TAG=${TAG:-_SBo}
if [ -z "$ARCH" ]; then
@@ -73,10 +74,7 @@ find -L . \
\( -perm 666 -o -perm 664 -o -perm 640 -o -perm 600 -o -perm 444 \
-o -perm 440 -o -perm 400 \) -exec chmod 644 {} \;
-sed -i -e 's|mktemp|mkstemp|g' sfill.c
-sed -i -e "/strip/d" Makefile
-patch < $CWD/secure-delete-3.1-do-not-use-the-kernel-module.patch
-patch < $CWD/secure-delete-3.1-makefile.patch
+patch < $CWD/${PRGNAM}_${VERSION}.diff
make -j1 prefix=/usr DESTDIR=$PKG
diff --git a/system/secure-delete/secure-delete.info b/system/secure-delete/secure-delete.info
index c7ee40dfd7..09f4883535 100644
--- a/system/secure-delete/secure-delete.info
+++ b/system/secure-delete/secure-delete.info
@@ -1,10 +1,10 @@
PRGNAM="secure-delete"
-VERSION="3.1"
-HOMEPAGE="https://packages.debian.org/search?keywords=secure-delete/"
-DOWNLOAD="http://ftp.debian.org/debian/pool/main//s/secure-delete/secure-delete_3.1.orig.tar.gz"
+VERSION="3.1_6"
+HOMEPAGE="https://packages.debian.org/buster/secure-delete"
+DOWNLOAD="http://deb.debian.org/debian/pool/main/s/secure-delete/secure-delete_3.1.orig.tar.gz"
MD5SUM="1a9d31a049f9ee916c994cb613a2754e"
DOWNLOAD_x86_64=""
MD5SUM_x86_64=""
REQUIRES=""
-MAINTAINER="Edinaldo P. Silva"
-EMAIL="edps.mundognu@gmail.com"
+MAINTAINER="Jefferson Rocha"
+EMAIL="root@slackjeff.com.br"
diff --git a/system/secure-delete/secure-delete_3.1_6.diff b/system/secure-delete/secure-delete_3.1_6.diff
new file mode 100644
index 0000000000..288092f59a
--- /dev/null
+++ b/system/secure-delete/secure-delete_3.1_6.diff
@@ -0,0 +1,478 @@
+--- secure-delete-3.1.orig/srm.1
++++ secure-delete-3.1/srm.1
+@@ -55,7 +55,7 @@
+ .TP
+ .B \-d
+ ignore the two special dot files . and .. on the commandline. (so you can
+-execute it like "srm -d .* *")
++execute it like "srm \-d .* *")
+ .TP
+ .B \-f
+ fast (and insecure mode): no /dev/urandom, no synchronize mode.
+@@ -65,7 +65,7 @@
+ and a final mode random values.
+ .TP
+ .B \-l
+--l for a second time lessons the security even more: only one random pass
++\-l for a second time lessons the security even more: only one random pass
+ is written.
+ .TP
+ .B \-r
+@@ -95,7 +95,7 @@
+ which comes with the
+ .I secure_deletion package
+ to ensure to wipe also the free diskspace. However, If already a small
+-file aquired a block with your precious data, no tool known to me can help
++file acquired a block with your precious data, no tool known to me can help
+ you here. For a secure deletion of the swap space
+ .I sswap
+ is available.
+@@ -136,5 +136,5 @@
+ (1),
+ .I sswap
+ (1),
+-.I smem
++.I sdmem
+ (1)
+--- secure-delete-3.1.orig/sfill.1
++++ secure-delete-3.1/sfill.1
+@@ -16,7 +16,7 @@
+ is designed to delete data which lies on available diskspace on mediums
+ in a secure manner which can not be recovered by thiefs, law enforcement
+ or other threats.
+-The wipe algorythm is based on the paper "Secure Deletion of Data from
++The wipe algorithm is based on the paper "Secure Deletion of Data from
+ Magnetic and Solid-State Memory" presented at the 6th Usenix Security
+ Symposium by Peter Gutmann, one of the leading civilian cryptographers.
+ .PP
+@@ -59,7 +59,7 @@
+ and a final mode with random values.
+ .TP
+ .B \-l
+--l for a second time lessons the security even more: only one random pass
++\-l for a second time lessons the security even more: only one random pass
+ is written.
+ .TP
+ .B \-v
+@@ -130,5 +130,5 @@
+ (1),
+ .I sswap
+ (1),
+-.I smem
++.I sdmem
+ (1)
+--- secure-delete-3.1.orig/Makefile
++++ secure-delete-3.1/Makefile
+@@ -1,19 +1,19 @@
+ CC=gcc
+-OPT=-O2 -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE
++OPT=$(CFLAGS) -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE
+ #OPT=-Wall -D_DEBUG_ -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE
+-INSTALL_DIR=/usr/local/bin
++INSTALL_DIR=$(prefix)/bin
+ MAN_DIR=/usr/local/man
+ DOC_DIR=/usr/share/doc/secure_delete
+ OPT_MOD=-D__KERNEL__ -DMODULE -fomit-frame-pointer -fno-strict-aliasing -pipe -mpreferred-stack-boundary=2
+ #LD_MOD=-r
+
+-all: sdel-lib.o srm sfill sswap smem sdel-mod.o
+- @echo
+- @echo "A Puritan is someone who is deathly afraid that someone, somewhere, is"
+- @echo "having fun."
+- @echo
+- @echo "I hope YOU have fun!"
+- @echo
++all: sdel-lib.o srm sfill sswap smem
++# @echo
++# @echo "A Puritan is someone who is deathly afraid that someone, somewhere, is"
++# @echo "having fun."
++# @echo
++# @echo "I hope YOU have fun!"
++# @echo
+
+ sdel-mod.o: sdel-mod.c
+ $(CC) $(OPT) $(OPT_MOD) $(LD_MOD) -I/lib/modules/`uname -r`/build/include -c sdel-mod.c
+@@ -23,32 +23,28 @@
+
+ srm: srm.c
+ $(CC) ${OPT} -o srm srm.c sdel-lib.o
+- -strip srm
+ sfill: sfill.c
+ $(CC) ${OPT} -o sfill sfill.c sdel-lib.o
+- -strip sfill
+ sswap: sswap.c
+ $(CC) ${OPT} -o sswap sswap.c sdel-lib.o
+- -strip sswap
+ smem: smem.c
+ $(CC) ${OPT} -o smem smem.c sdel-lib.o
+- -strip smem
+
+ clean:
+ rm -f sfill srm sswap smem sdel sdel-lib.o sdel-mod.o core *~
+
+ install: all
+ mkdir -p -m 755 ${INSTALL_DIR} 2> /dev/null
+- rm -f sdel && ln -s srm sdel
+- cp -f sdel srm sfill sswap smem the_cleaner.sh ${INSTALL_DIR}
+- chmod 711 ${INSTALL_DIR}/srm ${INSTALL_DIR}/sfill ${INSTALL_DIR}/sswap ${INSTALL_DIR}/smem ${INSTALL_DIR}/the_cleaner.sh
+- mkdir -p -m 755 ${MAN_DIR}/man1 2> /dev/null
+- cp -f srm.1 sfill.1 sswap.1 smem.1 ${MAN_DIR}/man1
+- chmod 644 ${MAN_DIR}/man1/srm.1 ${MAN_DIR}/man1/sfill.1 ${MAN_DIR}/man1/sswap.1 ${MAN_DIR}/man1/smem.1
+- mkdir -p -m 755 ${DOC_DIR} 2> /dev/null
+- cp -f CHANGES FILES README secure_delete.doc usenix6-gutmann.doc ${DOC_DIR}
+- -test -e sdel-mod.o && cp -f sdel-mod.o /lib/modules/`uname -r`/kernel/drivers/char
++# rm -f sdel && ln -s srm sdel
++ cp -f srm sfill sswap smem ${INSTALL_DIR}
++ chmod 711 ${INSTALL_DIR}/srm ${INSTALL_DIR}/sfill ${INSTALL_DIR}/sswap ${INSTALL_DIR}/smem
++# mkdir -p -m 755 ${MAN_DIR}/man1 2> /dev/null
++# cp -f srm.1 sfill.1 sswap.1 smem.1 ${MAN_DIR}/man1
++# chmod 644 ${MAN_DIR}/man1/srm.1 ${MAN_DIR}/man1/sfill.1 ${MAN_DIR}/man1/sswap.1 ${MAN_DIR}/man1/smem.1
++# mkdir -p -m 755 ${DOC_DIR} 2> /dev/null
++# cp -f CHANGES FILES README secure_delete.doc usenix6-gutmann.doc ${DOC_DIR}
++# -test -e sdel-mod.o && cp -f sdel-mod.o /lib/modules/`uname -r`/kernel/drivers/char
+ # @-test '!' -e sdel-mod.o -a `uname -s` = 'Linux' && echo "type \"make sdel-mod install\" to compile and install the Linux loadable kernel module for secure delete"
+- @echo
+- @echo "If men could get pregnant, abortion would be a sacrament."
+- @echo
++# @echo
++# @echo "If men could get pregnant, abortion would be a sacrament."
++# @echo
+--- secure-delete-3.1.orig/srm.c
++++ secure-delete-3.1/srm.c
+@@ -110,7 +110,7 @@
+ if ( (filestat.st_dev != controlstat.st_dev) || (filestat.st_ino != controlstat.st_ino) ) {
+ fprintf(stderr, "Race found! (directory %s became a link)\n", filename);
+ } else {
+- if ((dir = opendir (".")) != NULL) {
++ if ((dir = opendir (".")) < 0) {
+ (void) chmod(".", 0700); /* ignore permission errors */
+ dir = opendir (".");
+ }
+@@ -166,8 +166,10 @@
+ return 3;
+ }
+
+- if (sdel_overwrite(mode, fd, 0, bufsize, filestat.st_size > 0 ? filestat.st_size : 1, zero) == 0)
++ if (sdel_overwrite(mode, fd, 0, bufsize, filestat.st_size > 0 ? filestat.st_size : 1, zero) == 0) {
++ close(fd);
+ return sdel_unlink(filename, 0, 1, slow);
++ }
+ } /* end IS_REG() */
+ else {
+ if (S_ISDIR(filestat.st_mode)) {
+--- secure-delete-3.1.orig/smem.1
++++ secure-delete-3.1/smem.1
+@@ -3,16 +3,16 @@
+ .if n .sp
+ .if t .sp 0.4
+ ..
+-.TH SMEM 1
++.TH SDMEM 1
+
+ .SH NAME
+-smem \- secure memory wiper (secure_deletion toolkit)
++sdmem \- secure memory wiper (secure_deletion toolkit)
+
+ .SH SYNOPSIS
+-.B smem [-f] [-l] [-l] [-v]
++.B sdmem [-f] [-l] [-l] [-v]
+
+ .SH DESCRIPTION
+-.I smem
++.I sdmem
+ is designed to delete data which may lie still in your memory (RAM)
+ in a secure manner which can not be recovered by thiefs, law enforcement
+ or other threats.
+@@ -24,7 +24,7 @@
+ .PP
+ The
+ .I secure data deletion
+-process of smem goes like this:
++process of sdmem goes like this:
+ .PP
+ .TP
+ .B *
+@@ -51,20 +51,26 @@
+ and a final random one.
+ .TP
+ .B \-l
+--l for a second time lessons the security even more: only one pass with
++\-l for a second time lessons the security even more: only one pass with
+ 0x00 is written.
+ .TP
+ .B \-v
+ verbose mode
+ .PP
+
++.SH NOTE
++.TP
++This utility was originally called
++.I smem
++but was renamed for debian to avoid name clashes with another package.
++
+ .SH BEWARE
+ .TP
+ .B SLOW
+-Wiping the memory is very slow. You might use smem with the -ll option. (tip)
++Wiping the memory is very slow. You might use sdmem with the \-ll option. (tip)
+ .TP
+ .B BETA!
+-.I smem
++.I sdmem
+ is still beta.
+
+ .PP
+@@ -84,7 +90,7 @@
+ can be obtained from
+ .I http://www.thc.org
+ .Sp
+-.I smem
++.I sdmem
+ and the
+ .I secure_deletion package
+ is (C) 1997-2003 by van Hauser / THC (vh@thc.org)
+--- secure-delete-3.1.orig/sswap.1
++++ secure-delete-3.1/sswap.1
+@@ -49,7 +49,7 @@
+ a final mode with random values.
+ .TP
+ .B \-l
+--l for a second time lessons the security even more: only one pass with
++\-l for a second time lessons the security even more: only one pass with
+ random values is written.
+ .TP
+ .B \-v
+@@ -106,5 +106,5 @@
+ (1),
+ .I sfill
+ (1),
+-.I smem
++.I sdmem
+ (1)
+--- secure-delete-3.1.orig/debian/docs
++++ secure-delete-3.1/debian/docs
+@@ -0,0 +1,4 @@
++README
++TODO
++secure_delete.doc
++usenix6-gutmann.doc
+--- secure-delete-3.1.orig/debian/control
++++ secure-delete-3.1/debian/control
+@@ -0,0 +1,13 @@
++Source: secure-delete
++Section: utils
++Priority: optional
++Maintainer: Robert Lemmen <robertle@semistable.com>
++Build-Depends: debhelper (>= 7.0.0)
++Standards-Version: 3.9.4
++
++Package: secure-delete
++Architecture: any
++Depends: ${shlibs:Depends}, ${misc:Depends}
++Description: tools to wipe files, free disk space, swap and memory
++ Gutmann method based tools for securely wiping data from files, free
++ disk space, swap and memory: srm, sfill, sswap and sdmem.
+--- secure-delete-3.1.orig/debian/compat
++++ secure-delete-3.1/debian/compat
+@@ -0,0 +1 @@
++7
+--- secure-delete-3.1.orig/debian/changelog
++++ secure-delete-3.1/debian/changelog
+@@ -0,0 +1,46 @@
++secure-delete (3.1-6) unstable; urgency=low
++
++ * Enable hardening flags during build
++ * Update packaging
++ * Bump standards-version
++ * Fix a few minus-vs-hyphen bugs in manpages
++ * Fixed a few typos (closes: #486018, #653260)
++ * Tone down description a little bit and include binary names
++ (closes: #680336, #538151)
++
++ -- Robert Lemmen <robertle@semistable.com> Fri, 05 Jul 2013 08:50:37 +0100
++
++secure-delete (3.1-5) unstable; urgency=low
++
++ * Rename smem to sdmem to avoid name clash with smem package
++ * Bumped Standards-Version to 3.8.3 and related fixes
++
++ -- Robert Lemmen <robertle@semistable.com> Tue, 05 Jan 2010 14:55:00 +0000
++
++secure-delete (3.1-4) unstable; urgency=low
++
++ * Fixed licensing info (closes: #428102)
++ * Fixed handling of nostrip build option (closes: #438009)
++
++ -- Robert Lemmen <robertle@semistable.com> Tue, 28 Aug 2007 13:21:17 +0200
++
++secure-delete (3.1-3) unstable; urgency=low
++
++ * Moved from experimental
++ * Added more documentation
++
++ -- Robert Lemmen <robertle@semistable.com> Thu, 5 Oct 2006 22:04:17 +0200
++
++secure-delete (3.1-2) experimental; urgency=low
++
++ * Upload to experimental instead of unstable.
++ * Added description on how to test security to README.Debian.
++
++ -- Robert Lemmen <robertle@semistable.com> Mon, 2 May 2005 11:55:11 +0200
++
++secure-delete (3.1-1) unstable; urgency=low
++
++ * Initial Release.
++
++ -- Robert Lemmen <robertle@semistable.com> Thu, 29 Jan 2004 18:09:26 +0100
++
+--- secure-delete-3.1.orig/debian/copyright
++++ secure-delete-3.1/debian/copyright
+@@ -0,0 +1,17 @@
++This package was debianized by Robert Lemmen <robertle@semistable.com> on
++Thu, 29 Jan 2004 18:09:26 +0100.
++
++It was downloaded from http://www.thc.org
++
++Upstream Author: van Hauser <vh@thc.org>
++
++Copyright: 1999-2004 van Hauser
++
++ You are free to distribute this software under the terms of
++ the GNU General Public License.
++ On Debian systems, the complete text of the GNU General Public
++ License can be found in /usr/share/common-licenses/GPL file.
++
++The file "usenix6-gutmann.doc" is licensed under the "Creative Commons
++Attribution 3.0" license, which you can find at
++http://creativecommons.org/licenses/by/3.0/
+--- secure-delete-3.1.orig/debian/watch
++++ secure-delete-3.1/debian/watch
+@@ -0,0 +1,3 @@
++version=2
++http://www.thc.org/releases.php .*secure[-_]delete-(.*)\.tar\.gz
++
+--- secure-delete-3.1.orig/debian/README.Debian
++++ secure-delete-3.1/debian/README.Debian
+@@ -0,0 +1,56 @@
++secure-delete for Debian
++------------------------
++
++The original package and debian versions prio to 3.1-5 contained a utility
++called smem that wiped memory. This utility seems to be of limited use and
++clashes with another binary of the same name, it is therefore renamed to sdmem.
++
++The source for secure_delete contains a 2.4 kernel module that turns every
++call to unlink() into a secure remove, this module is not yet part of this
++package for technical reasons. if you need it please "apt_get source
++secure-delete" and build it yourself for now.
++
++Also note that securely wiping data from magnetic media is a difficult task and
++depends a lot on the filesystem in question (among other things). So there is no
++guarantee that this program will work in your configuration, but you can and
++should check for yourself by creating a loopback filesystem, mountig it and
++creating a file in it, then securely wiping it and grepping for it's contents in
++the loopback file:
++
++dd if=/dev/zero of=disk bs=4096 count=1024
++mke2fs disk
++losetup /dev/loop0 disk
++mkdir test
++mount /dev/loop0 test
++cd test
++for ((i=0; i<10000; i++))
++do
++ echo "ofenrohr" >> file;
++done
++cd ..
++umount test
++losetup -d /dev/loop0
++grep "ofenrohr" disk
++--> this should result in a "binary file disk matches"
++losetup /dev/loop0 disk
++mount /dev/loop0 test
++cd test
++srm file
++cd ..
++umount test
++losetup -d /dev/loop0
++grep "ofenrohr" disk
++--> this should not find anything
++
++Please make sure you use the correct filesystem type and options during the
++mkfs!
++
++Another general problem of wiping data from disks is that most harddisks will
++occasionally mark a sector as "bad" and copy it's contents to a new location
++that the disk will pretend is at the original location. Since this is completely
++transparent, there is no way to access these sectors without touching the disks
++hardware. These sectors may then contain sensitive information that could be
++retrieved from the disk. If you want better security, use an encrypting
++filesystem (dm-crypt, loop-aes), and forget the key if you want to wipe it.
++
++ -- Robert Lemmen <robertle@semistable.com>, Thu, 29 Jan 2004 18:09:26 +0100
+--- secure-delete-3.1.orig/debian/rules
++++ secure-delete-3.1/debian/rules
+@@ -0,0 +1,59 @@
++#!/usr/bin/make -f
++
++# Uncomment this to turn on verbose mode.
++#export DH_VERBOSE=1
++
++CPPFLAGS:=$(shell dpkg-buildflags --get CPPFLAGS)
++CFLAGS:=$(shell dpkg-buildflags --get CFLAGS)
++CXXFLAGS:=$(shell dpkg-buildflags --get CXXFLAGS)
++LDFLAGS:=$(shell dpkg-buildflags --get LDFLAGS)
++
++build: build-arch build-indep
++build-arch: build-stamp
++build-indep: build-stamp
++
++build-stamp:
++ dh_testdir
++ CFLAGS="$(CFLAGS) $(CPPFLAGS) $(LDFLAGS)" $(MAKE)
++ touch build-stamp
++
++clean:
++ dh_testdir
++ dh_testroot
++ rm -f build-stamp
++ $(MAKE) clean
++ dh_clean
++
++install: build
++ dh_testdir
++ dh_testroot
++ dh_prep
++ dh_installdirs
++ $(MAKE) install prefix=$(CURDIR)/debian/secure-delete/usr
++
++
++binary-indep: build install
++
++binary-arch: build install
++ dh_testdir
++ dh_testroot
++ dh_installchangelogs CHANGES
++ dh_installdocs README TODO
++ dh_installman sfill.1 srm.1 smem.1 sswap.1
++ # rename smem
++ mv $(CURDIR)/debian/secure-delete/usr/bin/smem \
++ $(CURDIR)/debian/secure-delete/usr/bin/sdmem
++ mv $(CURDIR)/debian/secure-delete/usr/share/man/man1/smem.1 \
++ $(CURDIR)/debian/secure-delete/usr/share/man/man1/sdmem.1
++ dh_link
++ dh_strip
++ dh_compress
++ dh_fixperms
++ dh_installdeb
++ dh_shlibdeps
++ dh_gencontrol
++ dh_md5sums
++ dh_builddeb
++
++binary: binary-indep binary-arch
++.PHONY: build clean binary-indep binary-arch binary install
+--- secure-delete-3.1.orig/debian/source/format
++++ secure-delete-3.1/debian/source/format
+@@ -0,0 +1 @@
++1.0
diff --git a/system/secure-delete/slack-desc b/system/secure-delete/slack-desc
index 4b8772474e..e18b5dd8e1 100644
--- a/system/secure-delete/slack-desc
+++ b/system/secure-delete/slack-desc
@@ -10,7 +10,7 @@ secure-delete: secure-delete (wipe files, free disk space, swap and memory)
secure-delete:
secure-delete: Gutmann method based tools for securely wiping data.
secure-delete:
-secure-delete: Home page: https://packages.debian.org/search?keywords=secure-delete/
+secure-delete: Home page: https://packages.debian.org/buster/secure-delete
secure-delete:
secure-delete:
secure-delete:
diff --git a/system/setconf/setconf.SlackBuild b/system/setconf/setconf.SlackBuild
index f7c65e28d8..5efa224d3e 100644
--- a/system/setconf/setconf.SlackBuild
+++ b/system/setconf/setconf.SlackBuild
@@ -2,7 +2,7 @@
# Slackware build script for setconf
-# Copyright 2017-2019 Willy Sudiarto Raharjo <willysr@slackbuilds.org>
+# Copyright 2017-2020 Willy Sudiarto Raharjo <willysr@slackbuilds.org>
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
@@ -23,7 +23,7 @@
# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
PRGNAM=setconf
-VERSION=${VERSION:-0.7.6}
+VERSION=${VERSION:-0.7.7}
BUILD=${BUILD:-1}
TAG=${TAG:-_SBo}
diff --git a/system/setconf/setconf.info b/system/setconf/setconf.info
index acce9cf82b..fe6a24cbd7 100644
--- a/system/setconf/setconf.info
+++ b/system/setconf/setconf.info
@@ -1,8 +1,8 @@
PRGNAM="setconf"
-VERSION="0.7.6"
+VERSION="0.7.7"
HOMEPAGE="http://setconf.roboticoverlords.org/"
-DOWNLOAD="http://setconf.roboticoverlords.org/setconf-0.7.6.tar.xz"
-MD5SUM="e2119e3ff5f85926a633d09f8cd05426"
+DOWNLOAD="http://setconf.roboticoverlords.org/setconf-0.7.7.tar.xz"
+MD5SUM="ee72aa823120aa3affcd0ec75667147c"
DOWNLOAD_x86_64=""
MD5SUM_x86_64=""
REQUIRES=""
diff --git a/system/siji-font/siji-font.SlackBuild b/system/siji-font/siji-font.SlackBuild
index 706b558a74..f82f75eb08 100644
--- a/system/siji-font/siji-font.SlackBuild
+++ b/system/siji-font/siji-font.SlackBuild
@@ -23,11 +23,13 @@
# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
PRGNAM=siji-font
-SRCNAM=${PRGNAM%-*}
-SRCVER=25468227348e2d4b3abbc163b2e2d68882fa2ba6
-VERSION=${VERSION:-20171023_${SRCVER%${SRCVER#???????}}}
+VERSION=${VERSION:-20171023_2546822}
BUILD=${BUILD:-1}
TAG=${TAG:-_SBo}
+
+SRCNAM=${PRGNAM%-*}
+SRCVER=25468227348e2d4b3abbc163b2e2d68882fa2ba6
+
ARCH=noarch
CWD=$(pwd)
diff --git a/system/skim/README b/system/skim/README
new file mode 100644
index 0000000000..5f5f45da93
--- /dev/null
+++ b/system/skim/README
@@ -0,0 +1,2 @@
+skim is a fuzzy finder that can be used as a general filter like grep or as an
+interactive interface for invoking commands.
diff --git a/system/skim/skim.SlackBuild b/system/skim/skim.SlackBuild
new file mode 100644
index 0000000000..874b531085
--- /dev/null
+++ b/system/skim/skim.SlackBuild
@@ -0,0 +1,161 @@
+#!/bin/sh
+
+# Slackware build script for skim
+
+# Copyright 2019-2021 Benjamin Trigona-Harany <slackbuilds@jaxartes.net>
+# 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.
+
+PRGNAM=skim
+BINNAM=sk
+VERSION=${VERSION:-0.9.4}
+BUILD=${BUILD:-1}
+TAG=${TAG:-_SBo}
+
+if [ -z "$ARCH" ]; then
+ case "$( uname -m )" in
+ i?86) ARCH=i586 ;;
+ arm*) ARCH=arm ;;
+ *) ARCH=$( uname -m ) ;;
+ esac
+
+ if [ "$ARCH" = "i586" ]; then
+ if rustc -Vv | grep host | grep i686 > /dev/null ; then
+ ARCH=i686
+ fi
+ fi
+fi
+
+CWD=$(pwd)
+TMP=${TMP:-/tmp/SBo}
+PKG=$TMP/package-$PRGNAM
+OUTPUT=${OUTPUT:-/tmp}
+
+if [ "$ARCH" = "i586" ]; then
+ SLKCFLAGS="-O2 -march=i586 -mtune=i686"
+ LIBDIRSUFFIX=""
+ CARGOTARGET="--target i586-unknown-linux-gnu"
+elif [ "$ARCH" = "i686" ]; then
+ SLKCFLAGS="-O2 -march=i686 -mtune=i686"
+ LIBDIRSUFFIX=""
+ CARGOTARGET="--target i686-unknown-linux-gnu"
+elif [ "$ARCH" = "x86_64" ]; then
+ SLKCFLAGS="-O2 -fPIC"
+ LIBDIRSUFFIX="64"
+ CARGOTARGET="--target x86_64-unknown-linux-gnu"
+else
+ SLKCFLAGS="-O2"
+ LIBDIRSUFFIX=""
+ CARGOTARGET=""
+fi
+
+set -e
+
+rm -rf $PKG
+mkdir -p $TMP $PKG $OUTPUT
+cd $TMP
+rm -rf $PRGNAM-$VERSION
+tar xvf $CWD/$PRGNAM-$VERSION.tar.gz
+cd $PRGNAM-$VERSION
+
+# build offline
+# configuration tells cargo to use the configured directory
+# for dependencies intead of downloading from crates.io
+mkdir .cargo
+cat << EOF >> .cargo/config
+[source.crates-io]
+registry = 'https://github.com/rust-lang/crates.io-index'
+replace-with = 'vendored-sources'
+
+[source.vendored-sources]
+directory = '$(pwd)/vendor'
+EOF
+
+# deps and versions come from Cargo.lock
+mkdir vendor
+(
+ cd vendor
+
+ grep -h -A 3 "\[\[package\]\]" $(find ../ -maxdepth 1 -mindepth 1 -name Cargo.lock | tr '\n' ' ') | \
+ sed 's/[[:space:]]*=[[:space:]]*/=/g;s/^--//;s/^\[\[/--\n[[/' | \
+ awk 'BEGIN { RS = "--\n" ; FS="\n" } { print $2, $3, $4 }' | sed 's/"//g;s/name=//;s/ version=/=/' | \
+ grep crates\.io-index | sed 's/ source=.*$//' | sort -u | while read -r dep ; do
+
+ ver="$(printf "%s\n" "$dep" | cut -d= -f2)"
+ dep="$(printf "%s\n" "$dep" | cut -d= -f1)"
+
+ tar xvf $CWD/$dep-$ver.crate
+
+ touch $dep-$ver/.cargo-ok
+
+ # generate checksum
+ {
+ printf "{\n"
+ printf ' "files": {\n'
+
+ (
+ cd $dep-$ver
+ find . -type f -print0 | xargs -0 sha256sum | sed -n '/\.cargo-checksum\.json/!p' | sed 's/\.\///;s/^\([^ ]*\)[[:space:]][[:space:]]*\(.*\)$/"\2":"\1",/'
+ ) | sed '$ s/,$//'
+
+ printf " },\n"
+ printf ' "package": "'
+
+ sha256sum "$CWD/$dep-$ver.crate" | cut -f1 -d' ' | sed 's/$/"/'
+
+ printf "}\n"
+ } | python -c "import sys, json; data = sys.stdin.read(); print json.dumps(json.loads(data), sort_keys=True, indent=4, separators=(',', ' : '))" > $dep-$ver/.cargo-checksum.json
+ done
+)
+
+chown -R root:root .
+find -L . \
+ \( -perm 777 -o -perm 775 -o -perm 750 -o -perm 711 -o -perm 555 \
+ -o -perm 511 \) -exec chmod 755 {} \; -o \
+ \( -perm 666 -o -perm 664 -o -perm 640 -o -perm 600 -o -perm 444 \
+ -o -perm 440 -o -perm 400 \) -exec chmod 644 {} \;
+
+CFLAGS="$SLKCFLAGS" \
+CXXFLAGS="$SLKCFLAGS" \
+cargo build --offline --release $CARGOTARGET
+
+mkdir -p $PKG/usr/bin/
+find target -name $BINNAM -exec install -m 755 {} $PKG/usr/bin/$BINNAM \;
+
+find $PKG -print0 | xargs -0 file | grep -e "executable" -e "shared object" | grep ELF \
+ | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null || true
+
+mkdir -p $PKG/etc/bash_completion.d
+install -m 755 shell/completion.bash $PKG/etc/bash_completion.d/skim
+
+mkdir -p $PKG/usr/man/man1
+cp -a man/man1/*.1 $PKG/usr/man/man1
+gzip -9 $PKG/usr/man/man1/*.1
+
+mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION
+cp -a -r \
+ CHANGELOG.md LICENSE README.md \
+ $PKG/usr/doc/$PRGNAM-$VERSION
+cat $CWD/$PRGNAM.SlackBuild > $PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM.SlackBuild
+
+mkdir -p $PKG/install
+cat $CWD/slack-desc > $PKG/install/slack-desc
+
+cd $PKG
+/sbin/makepkg -l y -c n $OUTPUT/$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.${PKGTYPE:-tgz}
diff --git a/system/skim/skim.info b/system/skim/skim.info
new file mode 100644
index 0000000000..a971c13ed0
--- /dev/null
+++ b/system/skim/skim.info
@@ -0,0 +1,240 @@
+PRGNAM="skim"
+VERSION="0.9.4"
+HOMEPAGE="https://github.com/lotabout/skim"
+DOWNLOAD="https://github.com/lotabout/skim/archive/v0.9.4/skim-0.9.4.tar.gz \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/aho-corasick/aho-corasick-0.7.15.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/ansi_term/ansi_term-0.11.0.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/arrayref/arrayref-0.3.6.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/arrayvec/arrayvec-0.5.2.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/atty/atty-0.2.14.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/autocfg/autocfg-1.0.1.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/base-x/base-x-0.2.8.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/base64/base64-0.13.0.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/beef/beef-0.5.0.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/bitflags/bitflags-1.2.1.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/blake2b_simd/blake2b_simd-0.5.11.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/bumpalo/bumpalo-3.4.0.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/cc/cc-1.0.66.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/cfg-if/cfg-if-0.1.10.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/cfg-if/cfg-if-1.0.0.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/chrono/chrono-0.4.19.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/clap/clap-2.33.3.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/const_fn/const_fn-0.4.4.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/constant_time_eq/constant_time_eq-0.1.5.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/crossbeam/crossbeam-0.8.0.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/crossbeam-channel/crossbeam-channel-0.4.4.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/crossbeam-channel/crossbeam-channel-0.5.0.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/crossbeam-deque/crossbeam-deque-0.8.0.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/crossbeam-epoch/crossbeam-epoch-0.9.1.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/crossbeam-queue/crossbeam-queue-0.3.1.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/crossbeam-utils/crossbeam-utils-0.7.2.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/crossbeam-utils/crossbeam-utils-0.8.1.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/darling/darling-0.10.3.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/darling_core/darling_core-0.10.3.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/darling_macro/darling_macro-0.10.3.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/defer-drop/defer-drop-1.0.1.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/derive_builder/derive_builder-0.9.0.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/derive_builder_core/derive_builder_core-0.9.0.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/dirs/dirs-2.0.2.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/dirs-sys/dirs-sys-0.3.5.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/discard/discard-1.0.4.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/either/either-1.6.1.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/env_logger/env_logger-0.8.2.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/fnv/fnv-1.0.7.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/fuzzy-matcher/fuzzy-matcher-0.3.7.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/getrandom/getrandom-0.1.15.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/hermit-abi/hermit-abi-0.1.17.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/humantime/humantime-2.0.1.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/ident_case/ident_case-1.0.1.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/itoa/itoa-0.4.6.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/lazy_static/lazy_static-1.4.0.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/libc/libc-0.2.81.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/log/log-0.4.11.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/maybe-uninit/maybe-uninit-2.0.0.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/memchr/memchr-2.3.4.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/memoffset/memoffset-0.6.1.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/nix/nix-0.14.1.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/nix/nix-0.19.1.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/num-integer/num-integer-0.1.44.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/num-traits/num-traits-0.2.14.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/num_cpus/num_cpus-1.13.0.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/once_cell/once_cell-1.5.2.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/proc-macro-hack/proc-macro-hack-0.5.19.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/proc-macro2/proc-macro2-1.0.24.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/quote/quote-1.0.7.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/rayon/rayon-1.5.0.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/rayon-core/rayon-core-1.9.0.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/redox_syscall/redox_syscall-0.1.57.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/redox_users/redox_users-0.3.5.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/regex/regex-1.4.2.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/regex-syntax/regex-syntax-0.6.21.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/rust-argon2/rust-argon2-0.8.3.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/rustc_version/rustc_version-0.2.3.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/ryu/ryu-1.0.5.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/scopeguard/scopeguard-1.1.0.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/semver/semver-0.9.0.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/semver-parser/semver-parser-0.7.0.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/serde/serde-1.0.118.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/serde_derive/serde_derive-1.0.118.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/serde_json/serde_json-1.0.60.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/sha1/sha1-0.6.0.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/shlex/shlex-0.1.1.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/skim/skim-0.9.4.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/standback/standback-0.2.13.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/stdweb/stdweb-0.4.20.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/stdweb-derive/stdweb-derive-0.5.3.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/stdweb-internal-macros/stdweb-internal-macros-0.2.9.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/stdweb-internal-runtime/stdweb-internal-runtime-0.1.5.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/strsim/strsim-0.8.0.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/strsim/strsim-0.10.0.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/syn/syn-1.0.54.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/term/term-0.6.1.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/termcolor/termcolor-1.1.2.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/textwrap/textwrap-0.11.0.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/thread_local/thread_local-1.0.1.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/time/time-0.1.44.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/time/time-0.2.23.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/time-macros/time-macros-0.1.1.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/time-macros-impl/time-macros-impl-0.1.1.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/timer/timer-0.2.0.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/tuikit/tuikit-0.4.5.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/unicode-width/unicode-width-0.1.8.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/unicode-xid/unicode-xid-0.2.1.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/utf8parse/utf8parse-0.2.0.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/vec_map/vec_map-0.8.2.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/version_check/version_check-0.9.2.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/void/void-1.0.2.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/vte/vte-0.9.0.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/vte_generate_state_changes/vte_generate_state_changes-0.1.1.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/wasi/wasi-0.9.0+wasi-snapshot-preview1.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/wasi/wasi-0.10.0+wasi-snapshot-preview1.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/wasm-bindgen/wasm-bindgen-0.2.69.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/wasm-bindgen-backend/wasm-bindgen-backend-0.2.69.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/wasm-bindgen-macro/wasm-bindgen-macro-0.2.69.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/wasm-bindgen-macro-support/wasm-bindgen-macro-support-0.2.69.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/wasm-bindgen-shared/wasm-bindgen-shared-0.2.69.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/winapi/winapi-0.3.9.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/winapi-i686-pc-windows-gnu/winapi-i686-pc-windows-gnu-0.4.0.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/winapi-util/winapi-util-0.1.5.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/winapi-x86_64-pc-windows-gnu/winapi-x86_64-pc-windows-gnu-0.4.0.crate"
+MD5SUM="3e7211f090f11b340f4bafed14c22cd6 \
+ 93850f8bf39e61dcf80ce49b5e0943d7 \
+ 294a49d3c53865fa7ac5d0ce2f5d5735 \
+ 6ff474dd60c839a9c788844b7a42c72c \
+ c83252f91435a921e7e4434956010344 \
+ 142cb4b9a653e56e56311f0c883b8582 \
+ c6443ec8d007c729ba5482008d0c864d \
+ 50b80bd6ac81e09a40eb3e865b0920e2 \
+ 80a2c27647a6acb1890a3a7de8fded72 \
+ d362615e7ec599233fa4e9da5393bbcf \
+ 6799c26a7eacaf8e58d3e45c6c5add89 \
+ 8dcd8db8f0e4971b7c9b13c273ab8b10 \
+ 7f74a18288dd952887eb53f90404ea23 \
+ b3ebb5d4433417e998d982d46334a6f4 \
+ 882dbbc613a93f64c3709b0a2bd0d6dc \
+ 74634128440dbc3766bda76fdf0aaa05 \
+ 1581b390d17f6e73a43ffc8a7b009e57 \
+ bc79e0eb364df515a33755ac9a581cfd \
+ e1081b868a908a7094894b7409e99c27 \
+ ec9751a4c0d35e7313e52ddb7147376b \
+ 04382bb2ecb2336f49f3e437f9deeeca \
+ 093c5099d3cef0f418550fe28788d34d \
+ 8248cc4466ea3a77b9c2666ed4fc7963 \
+ e38f9483da311ab0e0811a12201dfa1a \
+ 9ae7be25dee514b764ee2f73c2a90791 \
+ f6454b63029b247e2e8b7feac1695009 \
+ ff67cf2eb9668167782b8012d3b48e7b \
+ 9e1f73325eeb9647ee68eeaa4bff975c \
+ fd22741b59a28330936c5da4f933596d \
+ 6dd72935005d24990488f13c94c13e23 \
+ 0fdb86d5f53dd375a39576e90c621b6b \
+ 1d0a8951a71eff8e28acc555152902ac \
+ a9045fa57c1e4ed702e51da973b658cb \
+ 2ff8927b9cc3e6bcec18745859808751 \
+ 8b418106a3968619300a2af8f6b4f200 \
+ 8b70009baf55df3c0eea3582883f148b \
+ 20006dab4b1bd43c86688877ecd58e8f \
+ b4e2b229c362ad0dd313ff631816d5db \
+ e70f67200b1a8bbf0bfe7061510f20c2 \
+ 8dab3b3ec00dc56cffde0b0c410d47b5 \
+ 39767ee14933b0006f02f295314668af \
+ 704babd757a22f163230a36fa5474890 \
+ 553b325a602b701eb7eaef228e69d0f2 \
+ 3f94dd669aafea2fcd7c8c63236029c4 \
+ fe77a3f609b6fd8d5b08f3b2ef14d2ad \
+ 396bc88987f4bc192f975d94cdf326c7 \
+ fba3b040a55c01be7376d3dd5c4d4920 \
+ 21a815dce24180ddceb02d732eb431ec \
+ f50d2e280b4a3491fffda43b90982544 \
+ b5cf10e268e8a3bee2de8a734104245e \
+ fa3630e5867493e09296155763e4f4a0 \
+ a7a8c0f9d8d00f65fabad79005560dfa \
+ 0cddb62b3dcfb814b4e0b9441c5c1a18 \
+ 4ade3dff4f5f96ff3aa1c04fd28ac11d \
+ a8ec1126ef06244ac1e3773981a005f1 \
+ c0e036fd990d0c9cae11b5876a5cb572 \
+ c36d452e37c73b1e99f40bae18cddfdb \
+ d227ca24b102ae4ab2a4f3bc3bd44bf3 \
+ c7c38eb603bed6f42edbc4294806a44a \
+ 0736e4f76f4f8f0a29563b0608ca3974 \
+ 63b29211eef9ccee0b0401d423db0efd \
+ e4e9750df83fa662872061952e155d9a \
+ 21235a4cec107822e39c144242a95bf1 \
+ 3cc3a4bd5861ca93d7c0d19129334703 \
+ 870008bba2e68db4988c31e511fbd9c4 \
+ 40d1ab8fd9b6e5e376b0839a9132abe1 \
+ 13373372c7ce2e894925d846625a7987 \
+ 29e548496d699fbd888e4a65ec2d1488 \
+ 4d101ab24d14c54937c5f45ece8fad5f \
+ a69721c73263cd2040e1a5f120b03a6f \
+ b4a0a98a54439a5a37952c8879187ee3 \
+ 64111c20b69aa1532fb66b70c4660b55 \
+ 8b4d8c7b6e3a060d365bc1ad650929fa \
+ 0a3d0ff7244041ee2b77883faf44fa80 \
+ 448ce60d31dd153eea161fe376cf80d0 \
+ 8ca07aa626d9d47730bfee5685057309 \
+ 5d57f977a55f0b99139cc46ac4cee784 \
+ e4e7efe2ab7921499d5c247a349e9e1f \
+ c201a2cd25aec8a2ca35b3d6ac8a0ca0 \
+ 765021b931e839c0f4789b62a211cc38 \
+ 82d13642cb366d10feed4e06220eea64 \
+ f74dd8f5f9f972335eff63649cfcd5ba \
+ 0d449ec619ac8336ef533d6b7df91c14 \
+ bcc5d4659d3210ea73d37c9f02adbbd3 \
+ 781d4ccf5d04c98fa02af207a9639249 \
+ 82d98dc87dc8503400aa095f5aa70f13 \
+ 2102f53f0ab0767dd835190f11aad054 \
+ 03a495cfd0e710b3528a8792883e2572 \
+ ebdff467249aa3dca005a441dc824236 \
+ a8de006fe0c7e373c560dd51599287a8 \
+ a5dd75e77c7324f5c1d2d372c990d0a7 \
+ c6c50e4feea5f4cc4e1fb3c7e88606a5 \
+ af3c7593729923b6559c5fe02377788c \
+ c7d88c3e5879e6ff1c468568c049d9c7 \
+ 30b97559c13b9352aa881be16251def4 \
+ a2eb00593ac747dfeced9d0376bd3728 \
+ a2cc84e2e831bda7908261812a982e01 \
+ 4272c279b06b88f8b0ffce7109348e27 \
+ a51c43692084979295641a7ffba4b297 \
+ 9d83f7627e511837fb2d94fbad338d35 \
+ 333b4ba3f64c35b6f89b521e8d64548b \
+ 8b01b016a9b6deebc1b43f296057efb5 \
+ 689203efc084fc0f1d1f74f5d354ae75 \
+ d167b9d56ec24513738d4779703b3ebf \
+ a29fec77b1e07caf7b682b881b676c06 \
+ 6e23e0eee42b1ba9ec61a6db7ec2dc08 \
+ a312b55a428f827a91097d1d8497b02b \
+ 6bf1f415139a3e7ce1e21511ac667911 \
+ 2e2de28b44543b57cbb053676a312be2 \
+ 2aa28a36d14358020490e8794d23eb70 \
+ 8918afebbbed63e050fe091800945aaa \
+ e29146f0c630bc9a4dc02df90ab18dc6 \
+ 0498c4a11448bfc35dc7bb2caa64c753 \
+ db96b50050277bf05a3c68534bbb9586 \
+ b9e37d5fc4ad28b612b78ad37816684d \
+ 09de9d01e7331ff3da11f58be8bef0df"
+DOWNLOAD_x86_64=""
+MD5SUM_x86_64=""
+REQUIRES=""
+MAINTAINER="Benjamin Trigona-Harany"
+EMAIL="slackbuilds@jaxartes.net"
diff --git a/system/skim/slack-desc b/system/skim/slack-desc
new file mode 100644
index 0000000000..2febe2361d
--- /dev/null
+++ b/system/skim/slack-desc
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description.
+# Line up the first '|' above the ':' following the base package name, and
+# the '|' on the right side marks the last column you can put a character in.
+# You must make exactly 11 lines for the formatting to be correct. It's also
+# customary to leave one space after the ':' except on otherwise blank lines.
+
+ |-----handy-ruler------------------------------------------------------|
+skim: skim (fuzzy finder)
+skim:
+skim: skim is a fuzzy finder that can be used as a general filter like grep
+skim: or as an interactive interface for invoking commands.
+skim:
+skim:
+skim:
+skim:
+skim:
+skim:
+skim:
diff --git a/system/skopeo/skopeo.SlackBuild b/system/skopeo/skopeo.SlackBuild
index e9a1d57cd4..20b80f6b6f 100644
--- a/system/skopeo/skopeo.SlackBuild
+++ b/system/skopeo/skopeo.SlackBuild
@@ -23,7 +23,7 @@
# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
PRGNAM=skopeo
-VERSION=${VERSION:-0.1.39}
+VERSION=${VERSION:-0.2.0}
BUILD=${BUILD:-1}
TAG=${TAG:-_SBo}
diff --git a/system/skopeo/skopeo.info b/system/skopeo/skopeo.info
index e3c0f0b82e..bff6ed8d23 100644
--- a/system/skopeo/skopeo.info
+++ b/system/skopeo/skopeo.info
@@ -1,8 +1,8 @@
PRGNAM="skopeo"
-VERSION="v0.1.39"
+VERSION="0.2.0"
HOMEPAGE="https://github.com/containers/skopeo"
-DOWNLOAD="https://github.com/containers/skopeo/archive/v0.1.39/skopeo-0.1.39.tar.gz"
-MD5SUM="c7148136eb1fabd321fc963031b21305"
+DOWNLOAD="https://github.com/containers/skopeo/archive/v0.2.0/skopeo-0.2.0.tar.gz"
+MD5SUM="51ec7580f5a7110bf39e885f6b1fe28f"
DOWNLOAD_x86_64=""
MD5SUM_x86_64=""
REQUIRES="go-md2man"
diff --git a/system/slack-osquery/README b/system/slack-osquery/README
new file mode 100644
index 0000000000..0b825b4c5c
--- /dev/null
+++ b/system/slack-osquery/README
@@ -0,0 +1,11 @@
+slack-osquery - osquery extensions for Slackware
+
+This extension provides extra tables for osquery on slackware.
+
+After installation, you will need to configure osquery to load your extension:
+https://osquery.readthedocs.io/en/stable/deployment/extensions/
+
+The extension currently exposes the package database through a table called
+slackware_packages.
+
+NOTE: google-go-lang is only needed at compile time - not at runtime.
diff --git a/system/fs-uae-arcade/slack-desc b/system/slack-osquery/slack-desc
index 7fc57b1154..9c484c4c96 100644
--- a/system/fs-uae-arcade/slack-desc
+++ b/system/slack-osquery/slack-desc
@@ -6,14 +6,14 @@
# customary to leave one space after the ':' except on otherwise blank lines.
|-----handy-ruler------------------------------------------------------|
-fs-uae-arcade: fs-uae-arcade (fullscreen game browser)
-fs-uae-arcade:
-fs-uae-arcade: FS-UAE Arcade is a fullscreen Amiga game browser for FS-UAE.
-fs-uae-arcade:
-fs-uae-arcade: Homepage: http://fs-uae.net/
-fs-uae-arcade:
-fs-uae-arcade:
-fs-uae-arcade:
-fs-uae-arcade:
-fs-uae-arcade:
-fs-uae-arcade:
+slack-osquery: slack-osquery (osquery extensions for slackware)
+slack-osquery:
+slack-osquery: osquery extensions for slackware
+slack-osquery:
+slack-osquery: https://github.com/aclemons/slack-osquery
+slack-osquery:
+slack-osquery:
+slack-osquery:
+slack-osquery:
+slack-osquery:
+slack-osquery:
diff --git a/system/slack-osquery/slack-osquery.SlackBuild b/system/slack-osquery/slack-osquery.SlackBuild
new file mode 100644
index 0000000000..d8ec7d4871
--- /dev/null
+++ b/system/slack-osquery/slack-osquery.SlackBuild
@@ -0,0 +1,120 @@
+#!/bin/sh
+
+# Slackware build script for slack-osquery
+
+# Copyright 2020 Andrew Clemons, Wellington New Zealand
+# 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.
+
+PRGNAM=slack-osquery
+VERSION=${VERSION:-1.0}
+BUILD=${BUILD:-1}
+TAG=${TAG:-_SBo}
+
+if [ -z "$ARCH" ]; then
+ case "$( uname -m )" in
+ i?86) ARCH=i586 ;;
+ arm*) ARCH=arm ;;
+ *) ARCH=$( uname -m ) ;;
+ esac
+fi
+
+CWD=$(pwd)
+TMP=${TMP:-/tmp/SBo}
+PKG=$TMP/package-$PRGNAM
+OUTPUT=${OUTPUT:-/tmp}
+
+if [ "$ARCH" = "i586" ]; then
+ SLKCFLAGS="-O2 -march=i586 -mtune=i686"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "i686" ]; then
+ SLKCFLAGS="-O2 -march=i686 -mtune=i686"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "x86_64" ]; then
+ SLKCFLAGS="-O2 -fPIC"
+ LIBDIRSUFFIX="64"
+else
+ SLKCFLAGS="-O2"
+ LIBDIRSUFFIX=""
+fi
+
+set -e
+
+rm -rf $PKG
+mkdir -p $TMP $PKG $OUTPUT
+cd $TMP
+rm -rf $PRGNAM-$VERSION
+tar xvf $CWD/$PRGNAM-$VERSION.tar.gz
+cd $PRGNAM-$VERSION
+
+mkdir -p vendor/github.com
+
+for DEPENDENCY in Microsoft/go-winio/0.4.9 \
+ apache/thrift/0.12.0 \
+ davecgh/go-spew/1.1.0 \
+ kolide/osquery-go/a74aa860032dacda9b8304c6565efcb9d80dfaa9 \
+ pkg/errors/0.8.0 \
+ pmezard/go-difflib/1.0.0 \
+ stretchr/testify/1.2.2 ; do
+ DEPENDENCY_OWNER="$(echo "$DEPENDENCY" | cut -d/ -f1)"
+ DEPENDENCY_NAME="$(echo "$DEPENDENCY" | cut -d/ -f2)"
+ DEPENDENCY_REV="$(echo "$DEPENDENCY" | cut -d/ -f3)"
+
+ mkdir -p "vendor/github.com/$DEPENDENCY_OWNER"
+
+ tar xf "$CWD/$DEPENDENCY_NAME-$DEPENDENCY_REV.tar.gz"
+ mv "$DEPENDENCY_NAME-$DEPENDENCY_REV" "vendor/github.com/$DEPENDENCY_OWNER/$DEPENDENCY_NAME"
+done
+
+mkdir -p vendor/golang.org/x
+for DEPENDENCY in sys/14742f9018cd6651ec7364dc6ee08af0baaa1031 ; do
+ DEPENDENCY_NAME="$(echo "$DEPENDENCY" | cut -d/ -f1)"
+ DEPENDENCY_REV="$(echo "$DEPENDENCY" | cut -d/ -f2)"
+
+ tar xf "$CWD/$DEPENDENCY_NAME-$DEPENDENCY_REV.tar.gz"
+ mv "$DEPENDENCY_NAME-$DEPENDENCY_REV" "vendor/golang.org/x/$DEPENDENCY_NAME"
+done
+
+chown -R root:root .
+find -L . \
+ \( -perm 777 -o -perm 775 -o -perm 750 -o -perm 711 -o -perm 555 \
+ -o -perm 511 \) -exec chmod 755 {} \; -o \
+ \( -perm 666 -o -perm 664 -o -perm 640 -o -perm 600 -o -perm 444 \
+ -o -perm 440 -o -perm 400 \) -exec chmod 644 {} \;
+
+go build -a -mod=vendor -o target/slackware.ext
+mkdir -p $PKG/usr/lib${LIBDIRSUFFIX}/osquery/extensions
+
+install -m 0700 target/slackware.ext $PKG/usr/lib${LIBDIRSUFFIX}/osquery/extensions/slackware.ext
+
+find $PKG -print0 | xargs -0 file | grep -e "executable" -e "shared object" | grep ELF \
+ | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null || true
+
+mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION
+cp -a \
+ README.md \
+ $PKG/usr/doc/$PRGNAM-$VERSION
+
+cat $CWD/$PRGNAM.SlackBuild > $PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM.SlackBuild
+
+mkdir -p $PKG/install
+cat $CWD/slack-desc > $PKG/install/slack-desc
+
+cd $PKG
+/sbin/makepkg -l y -c n $OUTPUT/$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.${PKGTYPE:-tgz}
diff --git a/system/slack-osquery/slack-osquery.info b/system/slack-osquery/slack-osquery.info
new file mode 100644
index 0000000000..21b713f5f6
--- /dev/null
+++ b/system/slack-osquery/slack-osquery.info
@@ -0,0 +1,26 @@
+PRGNAM="slack-osquery"
+VERSION="1.0"
+HOMEPAGE="https://github.com/aclemosn/slack-osquery"
+DOWNLOAD="https://github.com/aclemons/slack-osquery/archive/v1.0/slack-osquery-1.0.tar.gz \
+ https://github.com/Microsoft/go-winio/archive/v0.4.9/go-winio-0.4.9.tar.gz \
+ https://github.com/apache/thrift/archive/v0.12.0/thrift-0.12.0.tar.gz \
+ https://github.com/davecgh/go-spew/archive/v1.1.0/go-spew-1.1.0.tar.gz \
+ https://github.com/kolide/osquery-go/archive/a74aa860032dacda9b8304c6565efcb9d80dfaa9/osquery-go-a74aa860032dacda9b8304c6565efcb9d80dfaa9.tar.gz \
+ https://github.com/pkg/errors/archive/v0.8.0/errors-0.8.0.tar.gz \
+ https://github.com/pmezard/go-difflib/archive/v1.0.0/go-difflib-1.0.0.tar.gz \
+ https://github.com/stretchr/testify/archive/v1.2.2/testify-1.2.2.tar.gz \
+ https://github.com/golang/sys/archive/14742f9018cd6651ec7364dc6ee08af0baaa1031/sys-14742f9018cd6651ec7364dc6ee08af0baaa1031.tar.gz"
+MD5SUM="6f9cdd4f0f8e2d5e5a41568f1c80eb7e \
+ 8696fc61920c07d8591b5f5c6920cf82 \
+ ff9af01fec424b5a279fa8a3c9e95c0c \
+ 89875fb674e0ea72a189e5048186206c \
+ c11f2cbf425ccf11292e0caaf9619a69 \
+ 8072f1b5f0f97a9167caff82f812edeb \
+ 56e81fe945d04771dcb79964ce958a5f \
+ cae3d38d807581cd78da0a9dc6b0eb70 \
+ e854fa1c61cb6d71bf9feb71b3f97f97"
+DOWNLOAD_x86_64=""
+MD5SUM_x86_64=""
+REQUIRES="google-go-lang"
+MAINTAINER="Andrew Clemons"
+EMAIL="andrew.clemons@gmail.com"
diff --git a/system/slack-scripts/README b/system/slack-scripts/README
deleted file mode 100644
index e58de09685..0000000000
--- a/system/slack-scripts/README
+++ /dev/null
@@ -1,83 +0,0 @@
-slack-scripts (Some Slackware Utilities)
-
-ph - A Slackware Package History
-slkcfg - A Sysvinit Script Utility
-
-============================================================
-
-ph N
-
-Lists last installed N packages by date order, newest first
-unless N is negative, then it lists oldest first. With no
-number it outputs all, suitable for grepping etc.
-
-It supports a few options about listing style such as date,
-version, tag, and can be used in conjunction with other
-applications such as removepkg.
-
-Example:
-
-ph -s 5 (list last 5 SBo packages installed)
-ph -t alien 10 (list last 10 packages with tag 'alien')
-ph -d 5 (list last 5 without printing the dates)
-pn -v 5 (list last 5 without printing versions)
-
-Or combine them:
-
-ph -v -d -s 5 (list only the names of the last 5 SBo packages)
-
-It also supports the $ROOT environmental option so that it
-will work with mounted file systems and partitions.
-
-See ph -h for more details and ph --help for more examples.
-
-============================================================
-
-slkcfg runs commands on the rc scripts in /etc/rc.d/ but
-without needing to specify the full path. Any output is
-printed.
-
-It can run the usual start/stop/restart/status commands and
-set/unset the executable bit.
-
-eg:
-
-slkcfg cups on|off (chmod +/-x)
-slkcfg cups start|stop|status
-
-and so on.
-
-It greps the rc file to find options. If it doesn't find any
-options but you know that some exist you can force the
-command by adding 'force' at the end.
-
-Running with just the name of the rc file will 'ls -l' it
-and print any found options.
-
-/etc/rc.d/rc.inet1 is treated specially and will try to
-find the names of interfaces using ifconfig -a.
-
-At the moment it supports the following: eth, wlan, br,
-virbr, vmnet, vboxnet, pan and ppp.
-
-If you would like me to add extra interface support just
-drop me a line with the details or send a patch.
-
-Example output from inet1:
-
-slkcfg inet1
--rwxr-xr-x 1 root root 10878 Nov 19 2015 /etc/rc.d/rc.inet1*
-
-Options:
-start stop restart
-lo_start lo_stop
-eth0_start eth0_stop eth0_restart
-virbr0_start virbr0_stop virbr0_restart
-wlan0_start wlan0_stop wlan0_restart
-
-slkcfg uses 'sh' to run commands (apart from chmod) so it
-should work even if the rc file isn't executable. In that
-case it will print a message to tell you at the end of the
-output.
-
-See slkcfg -h for more details.
diff --git a/system/slack-scripts/slack-scripts.info b/system/slack-scripts/slack-scripts.info
deleted file mode 100644
index 95494eddaa..0000000000
--- a/system/slack-scripts/slack-scripts.info
+++ /dev/null
@@ -1,10 +0,0 @@
-PRGNAM="slack-scripts"
-VERSION="0.0.3"
-HOMEPAGE="http://dawoodfall.net"
-DOWNLOAD="http://unrealize.co.uk/source/slack-scripts-0.0.3.tar.gz"
-MD5SUM="25d081be066dcb16b282c727449d0772"
-DOWNLOAD_x86_64=""
-MD5SUM_x86_64=""
-REQUIRES=""
-MAINTAINER="Dave Woodfall"
-EMAIL="dave@tty1.uk"
diff --git a/system/slackroll/slackroll.SlackBuild b/system/slackroll/slackroll.SlackBuild
index 4088c4a1d6..b67bb23661 100644
--- a/system/slackroll/slackroll.SlackBuild
+++ b/system/slackroll/slackroll.SlackBuild
@@ -2,7 +2,7 @@
# Slackware build script for slackroll
-# Copyright 2011-2018 Andrew Clemons, Wellington New Zealand
+# Copyright 2011-2018,2020-2021 Andrew Clemons, Wellington New Zealand
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
@@ -23,8 +23,9 @@
# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
PRGNAM=slackroll
-VERSION=${VERSION:-v48}
-SRCVER=${VERSION#v}
+GITREV="${GITREV:-0c6ab0b24b9ec48fb1f1058b92720a6ff794d8ac}"
+VERSION=${VERSION:-git$(echo "$GITREV" | sed 's/^\(.\{7\}\).*$/\1/')}
+SRCVER=${SRCVER:-v48}
BUILD=${BUILD:-1}
TAG=${TAG:-_SBo}
@@ -40,9 +41,9 @@ set -e
rm -rf $PKG
mkdir -p $TMP $PKG $OUTPUT
cd $TMP
-rm -rf $PRGNAM-$SRCVER
-tar xvf $CWD/$PRGNAM-$SRCVER.tar.gz
-cd $PRGNAM-$SRCVER
+rm -rf $PRGNAM-$GITREV
+tar xvf $CWD/$PRGNAM-$GITREV.tar.gz
+cd $PRGNAM-$GITREV
chown -R root:root .
find -L . \
\( -perm 777 -o -perm 775 -o -perm 750 -o -perm 711 -o -perm 555 \
@@ -67,6 +68,8 @@ cp -a \
$PKG/usr/doc/$PRGNAM-$VERSION
cat $CWD/$PRGNAM.SlackBuild > $PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM.SlackBuild
+mv $PKG/usr/doc/$PRGNAM-$VERSION $PKG/usr/doc/$PRGNAM-$SRCVER
+
mkdir -p $PKG/install
cat $CWD/slack-desc > $PKG/install/slack-desc
diff --git a/system/slackroll/slackroll.info b/system/slackroll/slackroll.info
index 6cad4e8adb..aa3edaa433 100644
--- a/system/slackroll/slackroll.info
+++ b/system/slackroll/slackroll.info
@@ -1,8 +1,8 @@
PRGNAM="slackroll"
-VERSION="v48"
+VERSION="git0c6ab0b"
HOMEPAGE="http://rg3.github.io/slackroll/"
-DOWNLOAD="https://github.com/rg3/slackroll/archive/v48/slackroll-48.tar.gz"
-MD5SUM="145652bb1b1170dfd7b2ca661bfd3301"
+DOWNLOAD="https://github.com/rg3/slackroll/archive/0c6ab0b24b9ec48fb1f1058b92720a6ff794d8ac/slackroll-0c6ab0b24b9ec48fb1f1058b92720a6ff794d8ac.tar.gz"
+MD5SUM="4474bcb2e48cf55947c9b30022381a9e"
DOWNLOAD_x86_64=""
MD5SUM_x86_64=""
REQUIRES=""
diff --git a/system/sleepd/fix_acpica_version.patch b/system/sleepd/fix_acpica_version.patch
new file mode 100644
index 0000000000..02422ed0be
--- /dev/null
+++ b/system/sleepd/fix_acpica_version.patch
@@ -0,0 +1,12 @@
+diff -uNr sleepd-2.05.orig/acpi.c sleepd-2.05/acpi.c
+--- sleepd-2.05.orig/acpi.c 2014-05-28 04:06:50.000000000 +0800
++++ sleepd-2.05/acpi.c 2020-07-17 22:51:39.340113991 +0800
+@@ -67,7 +67,7 @@
+ fd = open(file, O_RDONLY);
+ if (fd == -1) return NULL;
+ end = read(fd, buf, sizeof(buf));
+- buf[end-1] = '\0';
++ ((buf[end-1]) == '\n') && (buf[end-1] = '\0');
+ close(fd);
+ return buf;
+ }
diff --git a/system/sleepd/rc.sleepd b/system/sleepd/rc.sleepd
index bbfa1b0f15..66587a2f8c 100644
--- a/system/sleepd/rc.sleepd
+++ b/system/sleepd/rc.sleepd
@@ -1,26 +1,36 @@
#!/bin/sh
# /etc/rc.d/rc.sleepd
-# Start/stop/restart the Wicd daemon
+# Start/stop/restart the sleepd daemon
PIDFILE="/var/run/sleepd.pid"
DAEMON="/usr/sbin/sleepd"
+. /etc/sleepd.conf
+
# Define start and stop functions
sleepd_start() {
+ [ $UID -eq 0 ] || exit 4
if [ -e $PIDFILE ]; then
- echo "sleepd appears to already be running."
- echo "If this is not the case, then remove "
- echo "$PIDFILE and try again..."
+ echo "sleepd appears to already be running. If this is not the case,"
+ echo "remove $PIDFILE and try again."
exit 1
else
- echo "Starting sleepd: $DAEMON &"
- sleepd 2>/dev/null 1>&2 &
+ echo "Starting sleepd: $DAEMON"
+ sleepd $PARAMS > /dev/null 2>&1
+ ps -p `cat $PIDFILE` > /dev/null 2>&1
+ if [ "$?" == 1 ]; then
+ rm -f $PIDFILE
+ echo "ERROR: $DAEMON failed to start."
+ echo "ERROR: For more verbosity, run \"$DAEMON -n -v\" manually."
+ echo "ERROR: Exiting..."
+ fi
fi
}
sleepd_force_stop() {
+ [ $UID -eq 0 ] || exit 4
echo "Force stopping sleepd..."
if [ -e $PIDFILE ]; then
kill $(cat $PIDFILE) 2>/dev/null
@@ -31,6 +41,7 @@ sleepd_force_stop() {
}
sleepd_stop() {
+ [ $UID -eq 0 ] || exit 4
echo "Stopping sleepd..."
if [ -e $PIDFILE ]; then
kill $(cat $PIDFILE) 2>/dev/null
@@ -62,7 +73,7 @@ case $1 in
sleepd_status
;;
*)
- echo "Usage: $0 {start|stop|restart|status}"
+ echo "Usage: $0 {start|stop|force_stop|restart|status}"
exit 1
;;
esac
diff --git a/system/sleepd/sleepd.SlackBuild b/system/sleepd/sleepd.SlackBuild
index 2d16819b8c..d4847ffee4 100644
--- a/system/sleepd/sleepd.SlackBuild
+++ b/system/sleepd/sleepd.SlackBuild
@@ -23,7 +23,7 @@
PRGNAM="sleepd"
VERSION=${VERSION:-2.05}
-BUILD=${BUILD:-1}
+BUILD=${BUILD:-2}
TAG=${TAG:-_SBo}
if [ -z "$ARCH" ]; then
@@ -70,6 +70,8 @@ find -L . \
sed -i "s|share/man|man|"g Makefile
+patch -p1 < $CWD/fix_acpica_version.patch
+
make
make install PREFIX=$PKG
@@ -78,6 +80,7 @@ find $PKG -print0 | xargs -0 file | grep -e "executable" -e "shared object" | gr
mkdir -p $PKG/etc/rc.d
cat $CWD/rc.sleepd > $PKG/etc/rc.d/rc.sleepd.new
+cp -a debian/default $PKG/etc/sleepd.conf
mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION
cp -a GPL INSTALL TODO $PKG/usr/doc/$PRGNAM-$VERSION
diff --git a/system/sleuthkit/sleuthkit.SlackBuild b/system/sleuthkit/sleuthkit.SlackBuild
index 5bcdd6d2d8..470f81084a 100644
--- a/system/sleuthkit/sleuthkit.SlackBuild
+++ b/system/sleuthkit/sleuthkit.SlackBuild
@@ -26,11 +26,11 @@
# IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
# THE POSSIBILITY OF SUCH DAMAGE.
-# Updated v4.7.0 October 2019. Barry J. Grundy
+# Updated v4.10.1 December 2020. Barry J. Grundy
# <bgrundy(at)linuxleo.com>
PRGNAM=sleuthkit
-VERSION=${VERSION:-4.7.0}
+VERSION=${VERSION:-4.10.1}
BUILD=${BUILD:-1}
TAG=${TAG:-_SBo}
diff --git a/system/sleuthkit/sleuthkit.info b/system/sleuthkit/sleuthkit.info
index 755552c277..5654baee56 100644
--- a/system/sleuthkit/sleuthkit.info
+++ b/system/sleuthkit/sleuthkit.info
@@ -1,8 +1,8 @@
PRGNAM="sleuthkit"
-VERSION="4.7.0"
+VERSION="4.10.1"
HOMEPAGE="http://www.sleuthkit.org/sleuthkit/"
-DOWNLOAD="https://github.com/sleuthkit/sleuthkit/releases/download/sleuthkit-4.7.0/sleuthkit-4.7.0.tar.gz"
-MD5SUM="ffd33f3130f954583527b31242bbaefa"
+DOWNLOAD="https://github.com/sleuthkit/sleuthkit/releases/download/sleuthkit-4.10.1/sleuthkit-4.10.1.tar.gz"
+MD5SUM="c37bb35897a471c52ec18e0cbb807e9e"
DOWNLOAD_x86_64=""
MD5SUM_x86_64=""
REQUIRES=""
diff --git a/system/slpkg/slpkg.SlackBuild b/system/slpkg/slpkg.SlackBuild
index 05fdb9c3a6..317c863c13 100644
--- a/system/slpkg/slpkg.SlackBuild
+++ b/system/slpkg/slpkg.SlackBuild
@@ -2,7 +2,7 @@
# Slackware build script for slpkg
-# Copyright 2014-2019 Dimitris Zlatanidis Orestiada, Greece
+# Copyright 2014-2021 Dimitris Zlatanidis Orestiada, Greece
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
@@ -23,7 +23,7 @@
# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
PRGNAM=slpkg
-VERSION=${VERSION:-3.7.2}
+VERSION=${VERSION:-3.9.1}
BUILD=${BUILD:-1}
TAG=${TAG:-_SBo}
@@ -69,9 +69,6 @@ find -L . \
\( -perm 666 -o -perm 664 -o -perm 640 -o -perm 600 -o -perm 444 \
-o -perm 440 -o -perm 400 \) -exec chmod 644 {} \;
-# avoid install configuration files and man page over setup.py
-sed -i 's/if "install"/if ""/' setup.py
-
python3 setup.py install --root=$PKG
find $PKG -print0 | xargs -0 file | grep -e "executable" -e "shared object" | grep ELF \
diff --git a/system/slpkg/slpkg.info b/system/slpkg/slpkg.info
index 802acc6d5b..66c1162c9f 100644
--- a/system/slpkg/slpkg.info
+++ b/system/slpkg/slpkg.info
@@ -1,10 +1,10 @@
PRGNAM="slpkg"
-VERSION="3.7.2"
+VERSION="3.9.1"
HOMEPAGE="https://dslackw.gitlab.io/slpkg"
-DOWNLOAD="https://gitlab.com/dslackw/slpkg/-/archive/3.7.2/slpkg-3.7.2.tar.gz"
-MD5SUM="6740e8213bbaa8f8d674144f61954366"
+DOWNLOAD="https://gitlab.com/dslackw/slpkg/-/archive/3.9.1/slpkg-3.9.1.tar.gz"
+MD5SUM="19d4b05df424482d8532892fc6271666"
DOWNLOAD_x86_64=""
MD5SUM_x86_64=""
-REQUIRES="python3 python-requests"
+REQUIRES="python3 python-urllib3"
MAINTAINER="Dimitris Zlatanidis"
EMAIL="d.zlatanidis@gmail.com"
diff --git a/system/socketcand/socketcand.SlackBuild b/system/socketcand/socketcand.SlackBuild
index f53c8e5638..1b883e3fe7 100644
--- a/system/socketcand/socketcand.SlackBuild
+++ b/system/socketcand/socketcand.SlackBuild
@@ -101,6 +101,7 @@ cat $CWD/$PRGNAM.SlackBuild > $PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM.SlackBuild
mkdir -p $PKG/install
cat $CWD/slack-desc > $PKG/install/slack-desc
+cat $CWD/doinst.sh > $PKG/install/doinst.sh
cd $PKG
/sbin/makepkg -l y -c n $OUTPUT/$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.${PKGTYPE:-tgz}
diff --git a/system/softhsm/doinst.sh b/system/softhsm/doinst.sh
new file mode 100644
index 0000000000..a3383ce28e
--- /dev/null
+++ b/system/softhsm/doinst.sh
@@ -0,0 +1,14 @@
+config() {
+ NEW="$1"
+ OLD="$(dirname $NEW)/$(basename $NEW .new)"
+ # If there's no config file by that name, mv it over:
+ if [ ! -r $OLD ]; then
+ mv $NEW $OLD
+ elif [ "$(cat $OLD | md5sum)" = "$(cat $NEW | md5sum)" ]; then
+ # toss the redundant copy
+ rm $NEW
+ fi
+ # Otherwise, we leave the .new copy for the admin to consider...
+}
+
+config etc/softhsm2.conf.new
diff --git a/system/softhsm/softhsm.SlackBuild b/system/softhsm/softhsm.SlackBuild
index a853328cf7..245fb58135 100644
--- a/system/softhsm/softhsm.SlackBuild
+++ b/system/softhsm/softhsm.SlackBuild
@@ -2,7 +2,7 @@
# Slackware build script for softhsm
-# Copyright 2016-2018 Giuseppe Di Terlizzi <giuseppe.diterlizzi@gmail.com>
+# Copyright 2016-2021 Giuseppe Di Terlizzi <giuseppe.diterlizzi@gmail.com>
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
@@ -23,7 +23,7 @@
# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
PRGNAM=softhsm
-VERSION=${VERSION:-2.5.0}
+VERSION=${VERSION:-2.6.1}
BUILD=${BUILD:-1}
TAG=${TAG:-_SBo}
@@ -91,12 +91,15 @@ find $PKG -print0 | xargs -0 file | grep -e "executable" -e "shared object" | gr
find $PKG/usr/man -type f -exec gzip -9 {} \;
for i in $( find $PKG/usr/man -type l ) ; do ln -s $( readlink $i ).gz $i.gz ; rm $i ; done
+mv $PKG/etc/softhsm2.conf $PKG/etc/softhsm2.conf.new
+
mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION
cp -a *.md NEWS LICENSE $PKG/usr/doc/$PRGNAM-$VERSION
cat $CWD/$PRGNAM.SlackBuild > $PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM.SlackBuild
mkdir -p $PKG/install
cat $CWD/slack-desc > $PKG/install/slack-desc
+cat $CWD/doinst.sh > $PKG/install/doinst.sh
cd $PKG
/sbin/makepkg -l y -c n $OUTPUT/$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.${PKGTYPE:-tgz}
diff --git a/system/softhsm/softhsm.info b/system/softhsm/softhsm.info
index 4f6f6b88f2..8cb44f0374 100644
--- a/system/softhsm/softhsm.info
+++ b/system/softhsm/softhsm.info
@@ -1,8 +1,8 @@
PRGNAM="softhsm"
-VERSION="2.5.0"
+VERSION="2.6.1"
HOMEPAGE="https://www.opendnssec.org"
-DOWNLOAD="https://dist.opendnssec.org/source/softhsm-2.5.0.tar.gz"
-MD5SUM="fb0e490aa5d83de1b3936288c22c2475"
+DOWNLOAD="https://dist.opendnssec.org/source/softhsm-2.6.1.tar.gz"
+MD5SUM="040b93ca327cbe0a3a8661e7c371ab16"
DOWNLOAD_x86_64=""
MD5SUM_x86_64=""
REQUIRES=""
diff --git a/system/solarize-12x29-psf/solarize-12x29-psf.info b/system/solarize-12x29-psf/solarize-12x29-psf.info
index c163f58194..7752ca27e9 100644
--- a/system/solarize-12x29-psf/solarize-12x29-psf.info
+++ b/system/solarize-12x29-psf/solarize-12x29-psf.info
@@ -1,7 +1,7 @@
PRGNAM="solarize-12x29-psf"
VERSION="20150529"
HOMEPAGE="https://github.com/talamus/solarize-12x29-psf"
-DOWNLOAD="http://urchlay.naptime.net/~urchlay/src/solarize-12x29-psf-20150529.tar.gz"
+DOWNLOAD="https://slackware.uk/~urchlay/src/solarize-12x29-psf-20150529.tar.gz"
MD5SUM="a43342ae0d02a2c0d19909a52681f9e1"
DOWNLOAD_x86_64=""
MD5SUM_x86_64=""
diff --git a/system/splix/README b/system/splix/README
index 17714ab92e..f8a1037680 100644
--- a/system/splix/README
+++ b/system/splix/README
@@ -1,18 +1,14 @@
-SpliX is a set of CUPS printer drivers for SPL (Samsung Printer Language)
-printers. It covers several Samsung and Xerox printers. See ppd/*.ppd in
-the tarball for supported models. Only SPL2 and SPLc printers are
-currently supported; however, work is in progress to implement support
-for other SPL printers.
+SpliX is a set of CUPS printer drivers for SPL (Samsung Printer
+Language) printers. It covers several Samsung and Xerox printers. See
+ppd/*.ppd in the tarball for supported models. Only SPL2 and SPLc
+printers are supported.
-IMPORTANT NOTICE:
-If you are upgrading your current version, you MUST delete your printer
-in the CUPS interface and install it again. This operation MUST be done
-since CUPS caches a copy of the PPD file, so if the PPD changes from one
-version of splix to the next, cups will still have the cached copy.
+JBIG-KIT is an optional dependency. To build SpliX with support for JBIG printers:
+ JBIG=yes ./splix.SlackBuild
-IMPORTANT NOTICE ABOUT THE JBIG ALGORITHM:
-JBIG-KIT is an optional dependency for SpliX, but it seems that parts of this
-algorithm was previously or is still patented. To disable the use of JBIG, add
-NO_JBIG=1 when executing the build script: NO_JBIG=1 ./splix.SlackBuild
-Unfortunately, JBIG printers (such as the CLP-600) won't work with SpliX if
-the JBIG algorithm is disabled.
+IMPORTANT:
+If you are upgrading your current version, you MUST delete your
+printer in the CUPS interface and install it again. This operation
+MUST be done since CUPS caches a copy of the PPD file, so if the PPD
+changes from one version of splix to the next, CUPS will still have
+the cached copy.
diff --git a/system/splix/splix.SlackBuild b/system/splix/splix.SlackBuild
index 6b631c785c..52d2f8d914 100644
--- a/system/splix/splix.SlackBuild
+++ b/system/splix/splix.SlackBuild
@@ -2,11 +2,12 @@
# Slackware build script for splix
# Written by Iskar Enev <iskar.enev[@]gmail.com>
-# Currently maintained by Glenn Becker <burningc@sdf.lonestar.org>
+# Currently maintained by endspiel <endspiel@disroot.org>
PRGNAM=splix
-VERSION=${VERSION:-2.0.0}
-BUILD=${BUILD:-2}
+VERSION=${VERSION:-2.0.0_76268c4}
+SRCVERSION=${SRCVERSION:-76268c4dd7dbc8218ea7426401104c3b40cc707a}
+BUILD=${BUILD:-1}
TAG=${TAG:-_SBo}
if [ -z "$ARCH" ]; then
@@ -22,6 +23,9 @@ TMP=${TMP:-/tmp/SBo}
PKG=$TMP/package-$PRGNAM
OUTPUT=${OUTPUT:-/tmp}
+[ ${JBIG:-no} = "yes" ] \
+ && JBIGOPT=0 || JBIGOPT=1
+
CUPSCFLAGS=$(cups-config --cflags)
CUPSLDFLAGS=$(cups-config --ldflags)
CUPSLIBS=$(cups-config --libs)
@@ -42,17 +46,17 @@ else
LIBDIRSUFFIX=""
fi
-# Whether or not to use JBIG (see README)
-# 0 - enable JBIG (default), 1 - disable JBIG
-NO_JBIG=${NO_JBIG:-0}
-
set -e
rm -rf $PKG
mkdir -p $TMP $PKG $OUTPUT
cd $TMP
rm -rf $PRGNAM-$VERSION
-tar xvf $CWD/$PRGNAM-$VERSION.tar.bz2
+mkdir $PRGNAM-$VERSION
+tar \
+ -C $PRGNAM-$VERSION \
+ --strip-components=2 \
+ -xvf $CWD/$PRGNAM-$SRCVERSION.tar.bz2 $PRGNAM-$SRCVERSION/$PRGNAM
cd $PRGNAM-$VERSION
chown -R root:root .
find -L . \
@@ -61,24 +65,23 @@ find -L . \
\( -perm 666 -o -perm 664 -o -perm 640 -o -perm 600 -o -perm 444 \
-o -perm 440 -o -perm 400 \) -exec chmod 644 {} \;
-sed -i "s%\`cups-config --cflags\`%$CUPSCFLAGS%" module.mk
-sed -i "s%\`cups-config --ldflags\`%$CUPSLDFLAGS%" module.mk
-sed -i "s%\`cups-config --libs\`%$CUPSLIBS%" module.mk
-sed -i "s%\`cups-config --serverbin\`%$CUPSSERVERBIN%" module.mk
-sed -i "s%\`cups-config --datadir\`%$CUPSDATADIR%" module.mk
-
-sed -i 's#const PPDFile::Value::Value #const PPDFile::Value #' src/ppdfile.cpp
+sed -e "s%\`cups-config --cflags\`%$CUPSCFLAGS%" \
+ -e "s%\`cups-config --ldflags\`%$CUPSLDFLAGS%" \
+ -e "s%\`cups-config --libs\`%$CUPSLIBS%" \
+ -e "s%\`cups-config --serverbin\`%$CUPSSERVERBIN%" \
+ -e "s%\`cups-config --datadir\`%$CUPSDATADIR%" \
+ -i module.mk
make \
V=1 \
- DISABLE_JBIG=$NO_JBIG \
+ DISABLE_JBIG=$JBIGOPT \
OPTIM_CFLAGS="$SLKCFLAGS" \
OPTIM_CXXFLAGS="$SLKCFLAGS"
mkdir -p ${PKG}${CUPSSERVERBIN}/filter ${PKG}${CUPSDATADIR}/model
make install \
- DISABLE_JBIG=$NO_JBIG \
+ DISABLE_JBIG=$JBIGOPT \
DESTDIR=$PKG
find $PKG | xargs file | grep -e "executable" -e "shared object" | grep ELF \
diff --git a/system/splix/splix.info b/system/splix/splix.info
index d18fff909d..d81de53ea6 100644
--- a/system/splix/splix.info
+++ b/system/splix/splix.info
@@ -1,10 +1,10 @@
PRGNAM="splix"
-VERSION="2.0.0"
-HOMEPAGE="http://splix.sourceforge.net/"
-DOWNLOAD="http://downloads.sourceforge.net/splix/splix-2.0.0.tar.bz2"
-MD5SUM="f3aa735c22a926818b3d8b26c9964186"
+VERSION="2.0.0_76268c4"
+HOMEPAGE="https://gitlab.com/ScumCoder/splix"
+DOWNLOAD="https://gitlab.com/ScumCoder/splix/-/archive/76268c4dd7dbc8218ea7426401104c3b40cc707a/splix-76268c4dd7dbc8218ea7426401104c3b40cc707a.tar.bz2"
+MD5SUM="a7ef1c396b221b962c8f2b6838c67cbf"
DOWNLOAD_x86_64=""
MD5SUM_x86_64=""
-REQUIRES="jbigkit"
-MAINTAINER="Glenn Becker"
-EMAIL="burningc@sdf.lonestar.org"
+REQUIRES=""
+MAINTAINER="endspiel"
+EMAIL="endspiel@disroot.org"
diff --git a/system/sqlcipher/sqlcipher.SlackBuild b/system/sqlcipher/sqlcipher.SlackBuild
index e997211ef6..5ae180c8cb 100644
--- a/system/sqlcipher/sqlcipher.SlackBuild
+++ b/system/sqlcipher/sqlcipher.SlackBuild
@@ -2,7 +2,7 @@
# Slackware build script for sqlcipher
-# Copyright 2015, 2016, 2017 Mario Preksavec, Zagreb, Croatia
+# Copyright 2015, 2021 Mario Preksavec, Zagreb, Croatia
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
@@ -23,7 +23,7 @@
# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
PRGNAM=sqlcipher
-VERSION=${VERSION:-3.4.1}
+VERSION=${VERSION:-4.4.2}
BUILD=${BUILD:-1}
TAG=${TAG:-_SBo}
@@ -56,8 +56,7 @@ fi
# Do not build TCL extension by default
case ${WITH_TCL:-no} in
- y|yes|Y|YES) : ;;
- *) WITH_TCL="--disable-tcl" ;;
+ n*|N*) CONF_TCL="--disable-tcl" ;;
esac
set -e
@@ -87,7 +86,7 @@ LDFLAGS="-lcrypto" \
--docdir=/usr/doc/$PRGNAM-$VERSION \
--enable-tempstore=yes \
--disable-static \
- $WITH_TCL \
+ $CONF_TCL \
--build=$ARCH-slackware-linux
make
diff --git a/system/sqlcipher/sqlcipher.info b/system/sqlcipher/sqlcipher.info
index 3c87c1007c..04cde44605 100644
--- a/system/sqlcipher/sqlcipher.info
+++ b/system/sqlcipher/sqlcipher.info
@@ -1,8 +1,8 @@
PRGNAM="sqlcipher"
-VERSION="3.4.1"
+VERSION="4.4.2"
HOMEPAGE="http://sqlcipher.net"
-DOWNLOAD="https://github.com/sqlcipher/sqlcipher/archive/v3.4.1/sqlcipher-3.4.1.tar.gz"
-MD5SUM="edd1c57129c21a22ab2c2fd7f47d4ccd"
+DOWNLOAD="https://github.com/sqlcipher/sqlcipher/archive/v4.4.2/sqlcipher-4.4.2.tar.gz"
+MD5SUM="c306b8f5de6bde3d7ae40bdb2ab5535c"
DOWNLOAD_x86_64=""
MD5SUM_x86_64=""
REQUIRES=""
diff --git a/system/sqlite2/sqlite2.info b/system/sqlite2/sqlite2.info
index 4176372a7d..aaa7b6674f 100644
--- a/system/sqlite2/sqlite2.info
+++ b/system/sqlite2/sqlite2.info
@@ -2,7 +2,7 @@ PRGNAM="sqlite2"
VERSION="2.8.17_7"
HOMEPAGE="http://www.sqlite.org"
DOWNLOAD="http://ftp.de.debian.org/debian/pool/main/s/sqlite/sqlite_2.8.17.orig.tar.gz \
- http://ftp.de.debian.org/debian/pool/main/s/sqlite/sqlite_2.8.17-7.diff.gz"
+ http://archive.debian.org/debian/pool/main/s/sqlite/sqlite_2.8.17-7.diff.gz"
MD5SUM="04f15ed552134b06528b3628be7d7315 \
9d926474caaed0d12f2fb418bdcf1ccf"
DOWNLOAD_x86_64=""
diff --git a/system/st/doinst.sh b/system/st/doinst.sh
deleted file mode 100644
index 492b5a6c42..0000000000
--- a/system/st/doinst.sh
+++ /dev/null
@@ -1,3 +0,0 @@
-if [ -e /usr/bin/tic ]; then
- /usr/bin/tic -s usr/share/st/st.info >/dev/null 2>&1
-fi
diff --git a/system/st/st.SlackBuild b/system/st/st.SlackBuild
index ac59ed740a..38aecd74ee 100644
--- a/system/st/st.SlackBuild
+++ b/system/st/st.SlackBuild
@@ -2,7 +2,7 @@
# Slackware build script for st
-# Copyright 2011-2018, Nikolay Korotkiy <sikmir@gmail.com>
+# Copyright 2011-2020, Nikolay Korotkiy <sikmir@gmail.com>
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
@@ -22,9 +22,11 @@
# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+# Modified by the SlackBuilds.org project
+
PRGNAM=st
-VERSION=${VERSION:-0.8.1}
-BUILD=${BUILD:-2}
+VERSION=${VERSION:-0.8.4}
+BUILD=${BUILD:-1}
TAG=${TAG:-_SBo}
if [ -z "$ARCH" ]; then
@@ -70,13 +72,22 @@ find -L . \
-o -perm 440 -o -perm 400 \) -exec chmod 644 {} \;
# Now apply any other patches that users might have added
-for i in $(ls $CWD/patches); do
+for i in $(ls $CWD/patches 2>/dev/null); do
echo "Applying patch $i"
patch -p1 < $CWD/patches/$i
done
# Remove "tic" line from Makefile - we cannot do this here!
-sed -i "/^\t@tic/d" Makefile
+#sed -i "/^\t@tic/d" Makefile
+
+# 20200123 bkw: Actually, yes we can:
+sed -i "s|\\<tic\\>|& -o $PKG/usr/share/terminfo|" Makefile
+
+# Above sed command got broken by upstream (they removed the @)
+# so files were being written to the real /usr, not $PKG/usr.
+# Doing it this way means the terminfo stuff is cleanly removed
+# when the package is removed. tic won't create the dir, so:
+mkdir -p $PKG/usr/share/terminfo
[ -f "$CWD/config.h" ] && cp -f $CWD/config.h config.h
@@ -86,10 +97,6 @@ make install \
MANPREFIX=/usr/man \
DESTDIR=$PKG
-# Incluse st.info in package
-mkdir -p $PKG/usr/share/st
-cp st.info $PKG/usr/share/st/
-
find $PKG -print0 | xargs -0 file | grep -e "executable" -e "shared object" | grep ELF \
| cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null || true
@@ -102,7 +109,6 @@ cat $CWD/$PRGNAM.SlackBuild > $PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM.SlackBuild
mkdir -p $PKG/install
cat $CWD/slack-desc > $PKG/install/slack-desc
-cat $CWD/doinst.sh > $PKG/install/doinst.sh
cd $PKG
/sbin/makepkg -l y -c n $OUTPUT/$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.${PKGTYPE:-tgz}
diff --git a/system/st/st.info b/system/st/st.info
index 14cdc1c7e3..471bfcaa6a 100644
--- a/system/st/st.info
+++ b/system/st/st.info
@@ -1,8 +1,8 @@
PRGNAM="st"
-VERSION="0.8.1"
+VERSION="0.8.4"
HOMEPAGE="https://st.suckless.org"
-DOWNLOAD="https://dl.suckless.org/st/st-0.8.1.tar.gz"
-MD5SUM="92135aecdba29300bb2e274a55f5b71e"
+DOWNLOAD="https://dl.suckless.org/st/st-0.8.4.tar.gz"
+MD5SUM="e00b074c0e5d55513745c99f027b7a34"
DOWNLOAD_x86_64=""
MD5SUM_x86_64=""
REQUIRES=""
diff --git a/system/steghide/README b/system/steghide/README
index 021c40d4d7..70510ec141 100644
--- a/system/steghide/README
+++ b/system/steghide/README
@@ -1,4 +1,4 @@
Steghide is a steganography program that is able to hide data in
various kinds of image- and audio-files.
The color- respectivly sample-frequencies are not changed thus making
-the embedding resistant against first-order statistical tests. \ No newline at end of file
+the embedding resistant against first-order statistical tests.
diff --git a/system/steghide/steghide.SlackBuild b/system/steghide/steghide.SlackBuild
index eaf19f30a7..ce643226b8 100644
--- a/system/steghide/steghide.SlackBuild
+++ b/system/steghide/steghide.SlackBuild
@@ -103,4 +103,4 @@ mkdir -p $PKG/install
cat $CWD/slack-desc > $PKG/install/slack-desc
cd $PKG
-/sbin/makepkg -l y -c n $OUTPUT/$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.${PKGTYPE:-tgz} \ No newline at end of file
+/sbin/makepkg -l y -c n $OUTPUT/$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.${PKGTYPE:-tgz}
diff --git a/system/stegseek/README b/system/stegseek/README
new file mode 100644
index 0000000000..e83ddcf068
--- /dev/null
+++ b/system/stegseek/README
@@ -0,0 +1 @@
+stegseek is a fast steghide cracker
diff --git a/system/stegseek/slack-desc b/system/stegseek/slack-desc
new file mode 100644
index 0000000000..0d7e28d046
--- /dev/null
+++ b/system/stegseek/slack-desc
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description.
+# Line up the first '|' above the ':' following the base package name, and
+# the '|' on the right side marks the last column you can put a character in.
+# You must make exactly 11 lines for the formatting to be correct. It's also
+# customary to leave one space after the ':' except on otherwise blank lines.
+
+ |-----handy-ruler------------------------------------------------------|
+stegseek: stegseek (fast steghide cracker)
+stegseek:
+stegseek: a fast steghide cracker
+stegseek:
+stegseek:
+stegseek:
+stegseek:
+stegseek:
+stegseek:
+stegseek:
+stegseek:
diff --git a/system/stegseek/stegseek.SlackBuild b/system/stegseek/stegseek.SlackBuild
new file mode 100644
index 0000000000..f0dc0bcf28
--- /dev/null
+++ b/system/stegseek/stegseek.SlackBuild
@@ -0,0 +1,96 @@
+#!/bin/sh
+
+# Slackware build script for stegseek
+
+# Copyright 2021 toolonely <lonely_@tutanota.com>
+# 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.
+
+PRGNAM=stegseek
+VERSION=${VERSION:-0.5}
+BUILD=${BUILD:-1}
+TAG=${TAG:-_SBo}
+
+if [ -z "$ARCH" ]; then
+ case "$( uname -m )" in
+ i?86) ARCH=i586 ;;
+ arm*) ARCH=arm ;;
+ *) ARCH=$( uname -m ) ;;
+ esac
+fi
+
+CWD=$(pwd)
+TMP=${TMP:-/tmp/SBo}
+PKG=$TMP/package-$PRGNAM
+OUTPUT=${OUTPUT:-/tmp}
+
+if [ "$ARCH" = "i586" ]; then
+ SLKCFLAGS="-O2 -march=i586 -mtune=i686"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "i686" ]; then
+ SLKCFLAGS="-O2 -march=i686 -mtune=i686"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "x86_64" ]; then
+ SLKCFLAGS="-O2 -fPIC"
+ LIBDIRSUFFIX="64"
+else
+ SLKCFLAGS="-O2"
+ LIBDIRSUFFIX=""
+fi
+
+set -e
+
+rm -rf $PKG
+mkdir -p $TMP $PKG $OUTPUT
+cd $TMP
+rm -rf $PRGNAM-$VERSION
+tar xvf $CWD/$PRGNAM-$VERSION.tar.gz
+cd $PRGNAM-$VERSION
+chown -R root:root .
+find -L . \
+ \( -perm 777 -o -perm 775 -o -perm 750 -o -perm 711 -o -perm 555 \
+ -o -perm 511 \) -exec chmod 755 {} \; -o \
+ \( -perm 666 -o -perm 664 -o -perm 640 -o -perm 600 -o -perm 444 \
+ -o -perm 440 -o -perm 400 \) -exec chmod 644 {} \;
+
+mkdir -p build
+cd build
+ cmake \
+ -DCMAKE_C_FLAGS:STRING="$SLKCFLAGS" \
+ -DCMAKE_CXX_FLAGS:STRING="$SLKCFLAGS" \
+ -DCMAKE_CXX_STANDARD:STRING=11 \
+ -DCMAKE_INSTALL_PREFIX=/usr \
+ -DLIB_SUFFIX=${LIBDIRSUFFIX} \
+ -DMAN_INSTALL_DIR=/usr/man \
+ -DCMAKE_BUILD_TYPE=Release ..
+ make
+ make install DESTDIR=$PKG
+cd ..
+
+find $PKG -print0 | xargs -0 file | grep -e "executable" -e "shared object" | grep ELF \
+ | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null || true
+
+mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION
+cat $CWD/$PRGNAM.SlackBuild > $PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM.SlackBuild
+
+mkdir -p $PKG/install
+cat $CWD/slack-desc > $PKG/install/slack-desc
+
+cd $PKG
+/sbin/makepkg -l y -c n $OUTPUT/$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.${PKGTYPE:-tgz}
diff --git a/system/stegseek/stegseek.info b/system/stegseek/stegseek.info
new file mode 100644
index 0000000000..5b3c57ea31
--- /dev/null
+++ b/system/stegseek/stegseek.info
@@ -0,0 +1,10 @@
+PRGNAM="stegseek"
+VERSION="0.5"
+HOMEPAGE="https://github.com/RickdeJager/stegseek"
+DOWNLOAD="UNSUPPORTED"
+MD5SUM=""
+DOWNLOAD_x86_64="https://github.com/RickdeJager/stegseek/archive/v0.5/stegseek-0.5.tar.gz"
+MD5SUM_x86_64="d8f0ed0cabea7ab95262de9d65f017ce"
+REQUIRES=""
+MAINTAINER="toolonely"
+EMAIL="lonely_@tutanota.com"
diff --git a/system/stress-ng/stress-ng.SlackBuild b/system/stress-ng/stress-ng.SlackBuild
index 4ecf19207b..18ecea0125 100644
--- a/system/stress-ng/stress-ng.SlackBuild
+++ b/system/stress-ng/stress-ng.SlackBuild
@@ -1,7 +1,7 @@
#!/bin/sh
# Slackware build script for stress-ng
-# Copyright 2018 David Woodfall <dave@dawoodfall.net>
+# Copyright 2018 David Woodfall <dave@slackbuilds.org>
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
@@ -24,7 +24,7 @@
PRGNAM=stress-ng
VERSION=${VERSION:-0.09.48}
BUILD=${BUILD:-1}
-TAG=${TAG:-daw}
+TAG=${TAG:-_SBo}
if [ -z "$ARCH" ]; then
case "$( uname -m )" in
diff --git a/system/stress-ng/stress-ng.info b/system/stress-ng/stress-ng.info
index 65cf8489c2..8c292bea66 100644
--- a/system/stress-ng/stress-ng.info
+++ b/system/stress-ng/stress-ng.info
@@ -7,4 +7,4 @@ DOWNLOAD_x86_64=""
MD5SUM_x86_64=""
REQUIRES=""
MAINTAINER="Dave Woodfall"
-EMAIL="dave@tty1.uk"
+EMAIL="dave@slackbuilds.org"
diff --git a/system/sunflower/README b/system/sunflower/README
new file mode 100644
index 0000000000..711a5bd496
--- /dev/null
+++ b/system/sunflower/README
@@ -0,0 +1,5 @@
+Sunflower is a small and highly customizable twin-panel file manager
+with support for plugins. It contains a built-in terminal.
+
+Sunflower 0.4 requires GTK+ 3.22 (and thus is unsupported on
+Slackware 14.2).
diff --git a/system/fs-uae-launcher/doinst.sh b/system/sunflower/doinst.sh
index 65c7e2eeb9..65c7e2eeb9 100644
--- a/system/fs-uae-launcher/doinst.sh
+++ b/system/sunflower/doinst.sh
diff --git a/system/sunflower/slack-desc b/system/sunflower/slack-desc
new file mode 100644
index 0000000000..633b0afd27
--- /dev/null
+++ b/system/sunflower/slack-desc
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description.
+# Line up the first '|' above the ':' following the base package name, and
+# the '|' on the right side marks the last column you can put a character in.
+# You must make exactly 11 lines for the formatting to be correct. It's also
+# customary to leave one space after the ':' except on otherwise blank lines.
+
+ |-----handy-ruler------------------------------------------------------|
+sunflower: sunflower (Twin-panel file manager)
+sunflower:
+sunflower: Sunflower is a small and highly customizable twin-panel file manager
+sunflower: with support for plugins.
+sunflower:
+sunflower:
+sunflower:
+sunflower:
+sunflower:
+sunflower:
+sunflower:
diff --git a/system/sunflower/sunflower.SlackBuild b/system/sunflower/sunflower.SlackBuild
new file mode 100644
index 0000000000..a4d545f82a
--- /dev/null
+++ b/system/sunflower/sunflower.SlackBuild
@@ -0,0 +1,98 @@
+#!/bin/sh
+
+# Slackware build script for sunflower
+# Copyright 2020 Isaac Yu <isaacyu1@isaacyu1.com>
+# 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.
+
+PRGNAM=sunflower
+VERSION=${VERSION:-0.3}
+BUILD=${BUILD:-1}
+TAG=${TAG:-_SBo}
+
+COMMIT=61
+
+if [ -z "$ARCH" ]; then
+ case "$( uname -m )" in
+ i?86) ARCH=i586 ;;
+ arm*) ARCH=arm ;;
+ *) ARCH=$( uname -m ) ;;
+ esac
+fi
+
+CWD=$(pwd)
+TMP=${TMP:-/tmp/SBo}
+PKG=$TMP/package-$PRGNAM
+OUTPUT=${OUTPUT:-/tmp}
+
+if [ "$ARCH" = "i586" ]; then
+ SLKCFLAGS="-O2 -march=i586 -mtune=i686"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "i686" ]; then
+ SLKCFLAGS="-O2 -march=i686 -mtune=i686"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "x86_64" ]; then
+ SLKCFLAGS="-O2 -fPIC"
+ LIBDIRSUFFIX="64"
+else
+ SLKCFLAGS="-O2"
+ LIBDIRSUFFIX=""
+fi
+
+set -e
+
+rm -rf $PKG
+mkdir -p $TMP $PKG $OUTPUT
+cd $TMP
+rm -rf Sunflower
+tar xvf $CWD/$PRGNAM-$VERSION-$COMMIT.tgz
+cd Sunflower
+chown -R root:root .
+find -L . \
+ \( -perm 777 -o -perm 775 -o -perm 750 -o -perm 711 -o -perm 555 \
+ -o -perm 511 \) -exec chmod 755 {} \; -o \
+ \( -perm 666 -o -perm 664 -o -perm 640 -o -perm 600 -o -perm 444 \
+ -o -perm 440 -o -perm 400 \) -exec chmod 644 {} \;
+
+# Treat sunflower as an executable
+mkdir -p "$PKG/usr/bin"
+[ ! -f "$PKG/usr/bin/sunflower" ] \
+ && echo -e '#!/bin/bash\nexec python /usr/share/sunflower/Sunflower.py "$@"' > "$PKG/usr/bin/sunflower"
+chmod 755 "$PKG/usr/bin/sunflower"
+
+# Copy other files
+mkdir -p "$PKG/usr/share/sunflower"
+cp -r Sunflower.py application images translations "$PKG/usr/share/sunflower/"
+install -Dm644 Sunflower.desktop "$PKG/usr/share/applications/sunflower.desktop"
+install -Dm644 images/sunflower.svg "$PKG/usr/share/pixmaps/sunflower.svg"
+install -Dm644 images/sunflower.png "$PKG/usr/share/pixmaps/sunflower.png"
+
+find $PKG -print0 | xargs -0 file | grep -e "executable" -e "shared object" | grep ELF \
+ | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null || true
+
+mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION
+cp AUTHORS CHANGES COPYING DEPENDS LICENSE README.md TODO $PKG/usr/doc/$PRGNAM-$VERSION
+cat $CWD/$PRGNAM.SlackBuild > $PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM.SlackBuild
+
+mkdir -p $PKG/install
+cat $CWD/slack-desc > $PKG/install/slack-desc
+cat $CWD/doinst.sh > $PKG/install/doinst.sh
+
+cd $PKG
+/sbin/makepkg -l y -c n $OUTPUT/$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.${PKGTYPE:-tgz}
diff --git a/system/sunflower/sunflower.info b/system/sunflower/sunflower.info
new file mode 100644
index 0000000000..e2d5a51dc6
--- /dev/null
+++ b/system/sunflower/sunflower.info
@@ -0,0 +1,10 @@
+PRGNAM="sunflower"
+VERSION="0.3"
+HOMEPAGE="https://sunflower-fm.org"
+DOWNLOAD="https://sunflower-fm.org/pub/sunflower-0.3-61.tgz"
+MD5SUM="a5cd28438e83b88e5a4edeb3aacef0c6"
+DOWNLOAD_x86_64=""
+MD5SUM_x86_64=""
+REQUIRES="python-chardet"
+MAINTAINER="Isaac Yu"
+EMAIL="isaacyu1@isaacyu1.com"
diff --git a/system/symbola-font-ttf/README b/system/symbola-font-ttf/README
index faea3bae56..9744e70cd7 100644
--- a/system/symbola-font-ttf/README
+++ b/system/symbola-font-ttf/README
@@ -1,4 +1,6 @@
-Symbola is a ttf font, which contains many scripts, special symbols,
+Symbola is a otf font, which contains many scripts, special symbols,
and emoji characters supported by The Unicode Standard.
Symbola is free strictly for personal, non-commercial use.
+
+This script also creates the ttf font file using the FontForge.
diff --git a/system/symbola-font-ttf/doinst.sh b/system/symbola-font-ttf/doinst.sh
index 883c47ac0a..ed20b4faf0 100644
--- a/system/symbola-font-ttf/doinst.sh
+++ b/system/symbola-font-ttf/doinst.sh
@@ -1,6 +1,9 @@
# Update the X font indexes:
if [ -x /usr/bin/mkfontdir ]; then
- ( cd /usr/share/fonts/TTF
+ ( cd /usr/share/fonts/OTF
+ mkfontscale .
+ mkfontdir .
+ cd /usr/share/fonts/TTF
mkfontscale .
mkfontdir .
)
diff --git a/system/symbola-font-ttf/slack-desc b/system/symbola-font-ttf/slack-desc
index 2204d7d492..7276850d5a 100644
--- a/system/symbola-font-ttf/slack-desc
+++ b/system/symbola-font-ttf/slack-desc
@@ -13,7 +13,7 @@ symbola-font-ttf: and emoji characters supported by The Unicode Standard.
symbola-font-ttf:
symbola-font-ttf: Symbola is free strictly for personal, non-commercial use.
symbola-font-ttf:
-symbola-font-ttf: Homepage: http://users.teilar.gr/~g1951d/
+symbola-font-ttf: Homepage: https://dn-works.com/ufas/
symbola-font-ttf:
symbola-font-ttf:
symbola-font-ttf:
diff --git a/system/symbola-font-ttf/symbola-font-ttf.SlackBuild b/system/symbola-font-ttf/symbola-font-ttf.SlackBuild
index 5a9a1e9475..0c3420e93e 100644
--- a/system/symbola-font-ttf/symbola-font-ttf.SlackBuild
+++ b/system/symbola-font-ttf/symbola-font-ttf.SlackBuild
@@ -2,7 +2,7 @@
# Slackware build script for symbola-font-ttf
-# Copyright 2016-2019 Alexander Verbovetsky, Moscow, Russia
+# Copyright 2016-2020 Alexander Verbovetsky, Moscow, Russia
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
@@ -23,8 +23,8 @@
# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
PRGNAM=symbola-font-ttf
-VERSION=${VERSION:-12.00}
-BUILD=${BUILD:-3}
+VERSION=${VERSION:-13.00}
+BUILD=${BUILD:-1}
TAG=${TAG:-_SBo}
ARCH=noarch
@@ -44,11 +44,15 @@ mkdir $PRGNAM-$VERSION
cd $PRGNAM-$VERSION
unzip $CWD/Symbola.zip
-mkdir -p $PKG/usr/share/fonts/TTF/
-install -m 0644 -o root -g root Symbola_Hinted.ttf $PKG/usr/share/fonts/TTF/
+fontforge -lang=ff -c 'Open("Symbola.otf");Generate("Symbola.ttf");Close();'
+
+mkdir -p $PKG/usr/share/fonts/{O,T}TF/
+install -m 0644 -o root -g root Symbola.otf $PKG/usr/share/fonts/OTF/
+install -m 0644 -o root -g root Symbola.ttf $PKG/usr/share/fonts/TTF/
mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION
-install -m 0644 -o root -g root $CWD/Symbola.pdf $CWD/License.pdf $PKG/usr/doc/$PRGNAM-$VERSION
+install -m 0644 -o root -g root Symbola.odt Symbola.pdf $CWD/License.pdf \
+ $PKG/usr/doc/$PRGNAM-$VERSION
cat $CWD/$PRGNAM.SlackBuild > $PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM.SlackBuild
mkdir -p $PKG/install
diff --git a/system/symbola-font-ttf/symbola-font-ttf.info b/system/symbola-font-ttf/symbola-font-ttf.info
index 873609bddd..c2a8c85655 100644
--- a/system/symbola-font-ttf/symbola-font-ttf.info
+++ b/system/symbola-font-ttf/symbola-font-ttf.info
@@ -1,14 +1,12 @@
PRGNAM="symbola-font-ttf"
-VERSION="12.00"
-HOMEPAGE="http://users.teilar.gr/~g1951d/"
-DOWNLOAD="https://web.archive.org/web/20191029215733/users.teilar.gr/~g1951d/Symbola.zip \
- https://web.archive.org/web/20191029215733/users.teilar.gr/~g1951d/Symbola.pdf \
- https://web.archive.org/web/20191029215733/users.teilar.gr/~g1951d/License.pdf"
-MD5SUM="be7b84a1e5ba3fce6bf73338aa7013cc \
- b1f8ae8b5e8c77b355fe5146808b63ff \
- e388d1b920c52d301f2c32053ed4d715"
+VERSION="13.00"
+HOMEPAGE="https://dn-works.com/ufas/"
+DOWNLOAD="https://dn-works.com/wp-content/uploads/2020/UFAS-Fonts/Symbola.zip \
+ https://dn-works.com/wp-content/uploads/2020/UFAS-Docs/License.pdf"
+MD5SUM="a14dda162bd1cb407059f62d77fcc5ea \
+ bb6edb616a86a98826cd269486b095b5"
DOWNLOAD_x86_64=""
MD5SUM_x86_64=""
-REQUIRES=""
+REQUIRES="fontforge"
MAINTAINER="Alexander Verbovetsky"
EMAIL="alik@ejik.org"
diff --git a/system/sysbench/README b/system/sysbench/README
new file mode 100644
index 0000000000..ad4a872557
--- /dev/null
+++ b/system/sysbench/README
@@ -0,0 +1,4 @@
+sysbench is a benchmark suite which allows you to quickly get an
+impression of system performance which is important if you plan to
+run a database under intensive load. This article explains how to
+benchmark your CPU, file IO, and MySQL performance with sysbench.
diff --git a/system/sysbench/slack-desc b/system/sysbench/slack-desc
new file mode 100644
index 0000000000..792f18d6d7
--- /dev/null
+++ b/system/sysbench/slack-desc
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|' on
+# the right side marks the last column you can put a character in. You must make
+# exactly 11 lines for the formatting to be correct. It's also customary to
+# leave one space after the ':'.
+
+ |-----handy-ruler------------------------------------------------------|
+sysbench: sysbench (benchmark suite)
+sysbench:
+sysbench: sysbench is a benchmark suite which allows you to quickly get an
+sysbench: impression of system performance which is important if you plan to
+sysbench: run a database under intensive load. This article explains how to
+sysbench: benchmark your CPU, file IO, and MySQL performance with sysbench.
+sysbench:
+sysbench:
+sysbench:
+sysbench:
+sysbench:
diff --git a/system/sysbench/sysbench.SlackBuild b/system/sysbench/sysbench.SlackBuild
new file mode 100644
index 0000000000..69dc96805f
--- /dev/null
+++ b/system/sysbench/sysbench.SlackBuild
@@ -0,0 +1,103 @@
+#!/bin/sh
+
+# Slackware build script for sysbench
+
+# Copyright 2020 Sergio Vicari <devteamtuc[at]gmail.com>
+# 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.
+
+PRGNAM=sysbench
+VERSION=${VERSION:-1.0.19}
+BUILD=${BUILD:-1}
+TAG=${TAG:-_SBo}
+
+if [ -z "$ARCH" ]; then
+ case "$( uname -m )" in
+ i?86) ARCH=i586 ;;
+ arm*) ARCH=arm ;;
+ *) ARCH=$( uname -m ) ;;
+ esac
+fi
+
+CWD=$(pwd)
+TMP=${TMP:-/tmp/SBo}
+PKG=$TMP/package-$PRGNAM
+OUTPUT=${OUTPUT:-/tmp}
+
+if [ "$ARCH" = "i586" ]; then
+ SLKCFLAGS="-O2 -march=i586 -mtune=i686"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "i686" ]; then
+ SLKCFLAGS="-O2 -march=i686 -mtune=i686"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "x86_64" ]; then
+ SLKCFLAGS="-O2 -fPIC"
+ LIBDIRSUFFIX="64"
+else
+ SLKCFLAGS="-O2"
+ LIBDIRSUFFIX=""
+fi
+
+set -e
+
+rm -rf $PKG
+mkdir -p $TMP $PKG $OUTPUT
+cd $TMP
+rm -rf $PRGNAM-$VERSION
+tar xvf $CWD/$PRGNAM-$VERSION.tar.gz
+cd $PRGNAM-$VERSION
+chown -R root:root .
+find -L . \
+ \( -perm 777 -o -perm 775 -o -perm 750 -o -perm 711 -o -perm 555 \
+ -o -perm 511 \) -exec chmod 755 {} \; -o \
+ \( -perm 666 -o -perm 664 -o -perm 640 -o -perm 600 -o -perm 444 \
+ -o -perm 440 -o -perm 400 \) -exec chmod 644 {} \;
+
+CFLAGS="$SLKCFLAGS" \
+CXXFLAGS="$SLKCFLAGS" \
+./autogen.sh
+./configure \
+ --libdir=/usr/lib${LIBDIRSUFFIX} \
+ --mandir=/usr/man \
+ --sysconfdir=/etc \
+ --docdir=/usr/doc/$PRGNAM-$VERSION \
+ --build=$ARCH-slackware-linux \
+ --bindir=/usr/bin \
+ --datarootdir=/usr/share \
+ --datadir=/usr/share \
+ --htmldir=/usr/doc/$PRGNAM-$VERSION/html
+
+make
+make install DESTDIR=$PKG
+
+find $PKG -print0 | xargs -0 file | grep -e "executable" -e "shared object" | grep ELF \
+ | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null || true
+
+
+mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION
+cp -a \
+ README.md README-Oracle.md ChangeLog COPYING \
+ $PKG/usr/doc/$PRGNAM-$VERSION
+cat $CWD/$PRGNAM.SlackBuild > $PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM.SlackBuild
+
+mkdir -p $PKG/install
+cat $CWD/slack-desc > $PKG/install/slack-desc
+
+cd $PKG
+/sbin/makepkg -l y -c n $OUTPUT/$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.${PKGTYPE:-tgz}
diff --git a/system/sysbench/sysbench.info b/system/sysbench/sysbench.info
new file mode 100644
index 0000000000..ff5bc4deaa
--- /dev/null
+++ b/system/sysbench/sysbench.info
@@ -0,0 +1,10 @@
+PRGNAM="sysbench"
+VERSION="1.0.19"
+HOMEPAGE="https://github.com/akopytov/sysbench"
+DOWNLOAD="https://github.com/akopytov/sysbench/archive/1.0.19/sysbench-1.0.19.tar.gz"
+MD5SUM="2912bfe7238cac7351459019a84e2557"
+DOWNLOAD_x86_64=""
+MD5SUM_x86_64=""
+REQUIRES="lua"
+MAINTAINER="Sergio Vicari"
+EMAIL="devteamtuc@gmail.com"
diff --git a/system/sysdig/sysdig.SlackBuild b/system/sysdig/sysdig.SlackBuild
index 91dcccac29..6ef570486d 100644
--- a/system/sysdig/sysdig.SlackBuild
+++ b/system/sysdig/sysdig.SlackBuild
@@ -2,7 +2,7 @@
# Slackware build script for sysdig
-# Copyright 2015-2018 Larry Hajali <larryhaja[at]gmail[dot]com>
+# Copyright 2015-2020 Larry Hajali <larryhaja[at]gmail[dot]com>
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
@@ -23,7 +23,7 @@
# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
PRGNAM=sysdig
-VERSION=${VERSION:-0.26.4}
+VERSION=${VERSION:-0.26.6}
BUILD=${BUILD:-1}
TAG=${TAG:-_SBo}
diff --git a/system/sysdig/sysdig.info b/system/sysdig/sysdig.info
index e9592e0005..0e203261da 100644
--- a/system/sysdig/sysdig.info
+++ b/system/sysdig/sysdig.info
@@ -1,10 +1,10 @@
PRGNAM="sysdig"
-VERSION="0.26.4"
+VERSION="0.26.6"
HOMEPAGE="https://www.sysdig.org"
-DOWNLOAD="https://github.com/draios/sysdig/archive/0.26.4/sysdig-0.26.4.tar.gz"
-MD5SUM="5d7b57d13e70ed77799c112bbba8769e"
+DOWNLOAD="https://github.com/draios/sysdig/archive/0.26.6/sysdig-0.26.6.tar.gz"
+MD5SUM="60f9498c97b6e69639a8be8e9d6ed032"
DOWNLOAD_x86_64=""
MD5SUM_x86_64=""
-REQUIRES="jsoncpp lua libb64 jq tbb grpc"
+REQUIRES="jsoncpp lua libb64 jq tbb grpc gtest"
MAINTAINER="Larry Hajali"
EMAIL="larryhaja[at]gmail[dot]com"
diff --git a/system/system76-io-dkms/doinst.sh b/system/system76-io-dkms/doinst.sh
index 9e5bcd5ed0..6b33ed6c28 100644
--- a/system/system76-io-dkms/doinst.sh
+++ b/system/system76-io-dkms/doinst.sh
@@ -1,4 +1,4 @@
-VER=#MODULE_VERSION#
+VER=@MODULE_VERSION@
dkms install system76-io/$VER
# Before removing the system76-io package, the following command should
diff --git a/system/system76-io-dkms/system76-io-dkms.SlackBuild b/system/system76-io-dkms/system76-io-dkms.SlackBuild
index 40ad2dc99d..3b9dead3d7 100644
--- a/system/system76-io-dkms/system76-io-dkms.SlackBuild
+++ b/system/system76-io-dkms/system76-io-dkms.SlackBuild
@@ -67,7 +67,7 @@ cp -a \
$PKG/usr/src/$MODNAM-$VERSION
# Edit and install dkms configuration
-sed "s/#MODULE_VERSION#/${VERSION}/" "debian/system76-io-dkms.dkms" > "$PKG/usr/src/$MODNAM-$VERSION/dkms.conf"
+sed "s/@MODULE_VERSION@/${VERSION}/" "debian/system76-io-dkms.dkms" > "$PKG/usr/src/$MODNAM-$VERSION/dkms.conf"
mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION
cp -a \
@@ -77,7 +77,7 @@ cat $CWD/$PRGNAM.SlackBuild > $PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM.SlackBuild
mkdir -p $PKG/install
cat $CWD/slack-desc > $PKG/install/slack-desc
-sed "s/#MODULE_VERSION#/${VERSION}/" "$CWD/doinst.sh" > "$PKG/install/doinst.sh"
+sed "s/@MODULE_VERSION@/${VERSION}/" "$CWD/doinst.sh" > "$PKG/install/doinst.sh"
cd $PKG
/sbin/makepkg -l y -c n $OUTPUT/$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.${PKGTYPE:-tgz}
diff --git a/system/system76-power/README b/system/system76-power/README
index 59f0b219f4..6e1f40fa8f 100644
--- a/system/system76-power/README
+++ b/system/system76-power/README
@@ -3,12 +3,23 @@ system76-power is a utility for managing graphics and power profiles.
When run in daemon mode, system76-power manages the fan speed of fans
connected to the System76 Io board on Thelio desktops.
-To start the daemon at boot, add the following to your /etc/rc.d/rc.local
-script and make sure rc.system76-power has executable permissions set:
+To start the daemon at boot, add the following to your
+/etc/rc.d/rc.local script and make sure rc.system76-power has executable
+permissions set:
if [ -x /etc/rc.d/rc.system76-power ]; then
/etc/rc.d/rc.system76-power start
fi
The system76-power daemon log messages are logged to
-/var/log/system76-power.log by default. Logging can be disabled by setting
-LOG_FILE=/dev/null in /etc/rc.d/rc.system76-power.
+/var/log/system76-power.log by default. Logging can be disabled by
+setting LOG_FILE=/dev/null in /etc/rc.d/rc.system76-power.
+
+This project is pinned to a specific Rust version, currently 1.41.0. As
+such, rustup is a compile time only dependency. If this specific
+version of the Rust toolchain is not already installed, it will be
+downloaded and installed automatically during build script execution.
+It can be installed manually beforehand by running
+ rustup toolchain install 1.41.0
+
+NOTE: The directions in rustup's README must be followed so that the
+rust installed by rustup is preferred over the system rust.
diff --git a/system/system76-power/config/system76-power.logrotate b/system/system76-power/config/system76-power.logrotate
index cd9cef89cf..513d6193ed 100644
--- a/system/system76-power/config/system76-power.logrotate
+++ b/system/system76-power/config/system76-power.logrotate
@@ -4,4 +4,5 @@
compress
notifempty
missingok
+ size 1M
}
diff --git a/system/system76-power/system76-power.SlackBuild b/system/system76-power/system76-power.SlackBuild
index 7557cd19b6..a149369ba6 100644
--- a/system/system76-power/system76-power.SlackBuild
+++ b/system/system76-power/system76-power.SlackBuild
@@ -2,7 +2,7 @@
# Slackware build script for system76-power
-# Copyright 2019 Erich Ritz, Scottsdale, Arizona, USA
+# Copyright 2019-2021 Erich Ritz, Scottsdale, Arizona, USA
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
@@ -23,7 +23,7 @@
# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
PRGNAM=system76-power
-VERSION=${VERSION:-1.0.1}
+VERSION=${VERSION:-1.1.16}
BUILD=${BUILD:-1}
TAG=${TAG:-_SBo}
@@ -31,7 +31,6 @@ if [ -z "$ARCH" ]; then
case "$( uname -m )" in
i?86) ARCH=i586 ;;
arm*) ARCH=arm ;;
- # Unless $ARCH is already set, use uname -m for all other archs:
*) ARCH=$( uname -m ) ;;
esac
@@ -96,57 +95,95 @@ mkdir vendor
(
cd vendor
- for dependency in ansi_term=0.11.0 \
- atty=0.2.11 \
- bitflags=0.7.0 \
- bitflags=1.0.4 \
- cfg-if=0.1.7 \
- clap=2.33.0 \
- dbus=0.6.2 \
- err-derive=0.1.5 \
- fern=0.5.8 \
- intel-pstate=0.2.0 \
- libc=0.2.54 \
- libdbus-sys=0.1.5 \
- log=0.4.6 \
- numtoa=0.1.0 \
- numtoa=0.2.3 \
- pkg-config=0.3.14 \
- proc-macro2=0.4.30 \
- quote=0.6.12 \
- redox_syscall=0.1.54 \
- redox_termios=0.1.1 \
- rustc_version=0.2.3 \
- semver=0.9.0 \
- semver-parser=0.7.0 \
- smart-default=0.5.2 \
- strsim=0.8.0 \
- syn=0.15.34 \
- synstructure=0.10.1 \
- sysfs-class=0.1.1=7bc914e0ac41df18a671ede0691fcd7d1f7e8add \
- termion=1.5.2 \
- textwrap=0.11.0 \
- time=0.1.42 \
- unicode-width=0.1.5 \
- unicode-xid=0.1.0 \
- vec_map=0.8.1 \
- vergen=0.1.1 \
- winapi=0.3.7 \
- winapi-i686-pc-windows-gnu=0.4.0 \
- winapi-x86_64-pc-windows-gnu=0.4.0; do
+ for dependency in \
+ ansi_term=0.11.0 \
+ atty=0.2.14 \
+ bitflags=1.2.1 \
+ bytes=0.5.6 \
+ cc=1.0.67 \
+ cfg-if=0.1.10 \
+ cfg-if=1.0.0 \
+ clap=2.33.3 \
+ dbus=0.9.2 \
+ dbus-crossroads=0.3.0 \
+ dbus-tokio=0.6.0 \
+ err-derive=0.2.4 \
+ fern=0.6.0 \
+ fuchsia-zircon=0.3.3 \
+ fuchsia-zircon-sys=0.3.3 \
+ futures-channel=0.3.12 \
+ futures-core=0.3.12 \
+ futures-io=0.3.12 \
+ futures-macro=0.3.12 \
+ futures-task=0.3.12 \
+ futures-util=0.3.12 \
+ hermit-abi=0.1.18 \
+ hidapi=1.2.5 \
+ inotify=0.8.3 \
+ inotify-sys=0.1.5 \
+ intel-pstate=0.2.1 \
+ iovec=0.1.4 \
+ itoa=0.4.7 \
+ kernel32-sys=0.2.2 \
+ lazy_static=1.4.0 \
+ libc=0.2.86 \
+ libdbus-sys=0.2.1 \
+ log=0.4.14 \
+ memchr=2.3.4 \
+ mio=0.6.23 \
+ mio-uds=0.6.8 \
+ miow=0.2.2 \
+ net2=0.2.37 \
+ num_cpus=1.13.0 \
+ numtoa=0.2.3 \
+ once_cell=1.6.0 \
+ pin-project-lite=0.1.11 \
+ pin-project-lite=0.2.4 \
+ pin-utils=0.1.0 \
+ pkg-config=0.3.19 \
+ proc-macro-error=1.0.4 \
+ proc-macro-error-attr=1.0.4 \
+ proc-macro-hack=0.5.19 \
+ proc-macro-nested=0.1.7 \
+ proc-macro2=1.0.24 \
+ quote=1.0.9 \
+ rustversion=1.0.4 \
+ ryu=1.0.5 \
+ serde=1.0.123 \
+ serde_derive=1.0.123 \
+ serde_json=1.0.62 \
+ signal-hook-registry=1.3.0 \
+ slab=0.4.2 \
+ smart-default=0.6.0 \
+ strsim=0.8.0 \
+ syn=1.0.60 \
+ synstructure=0.12.4 \
+ sysfs-class=0.1.3 \
+ textwrap=0.11.0 \
+ tokio=0.2.25 \
+ tokio-macros=0.2.6 \
+ unicode-width=0.1.8 \
+ unicode-xid=0.2.1 \
+ vec_map=0.8.2 \
+ version_check=0.9.2 \
+ winapi=0.2.8 \
+ winapi=0.3.9 \
+ winapi-build=0.1.1 \
+ winapi-i686-pc-windows-gnu=0.4.0 \
+ winapi-x86_64-pc-windows-gnu=0.4.0 \
+ ws2_32-sys=0.2.1; do
+
dep="$(echo "$dependency" | cut -d= -f1)"
ver="$(echo "$dependency" | cut -d= -f2)"
if [ -e $CWD/$dep-$ver.crate ]; then
CRATE_FILE=$CWD/$dep-$ver.crate
else
- id="$(echo "$dependency" | cut -d= -f3)"
- if [ -e $CWD/$id.tar.gz ]; then
- CRATE_FILE=$CWD/$id.tar.gz
+ if [ -e $CWD/$ver.tar.gz ]; then
+ CRATE_FILE=$CWD/$ver.tar.gz
else
- CRATE_FILE=$CWD/sysfs-class-$id.tar.gz
+ CRATE_FILE=$CWD/$dep-$ver.tar.gz
fi
- ver=$id
fi
tar xvf $CRATE_FILE
@@ -189,11 +226,6 @@ libdir=/usr/lib${LIBDIRSUFFIX} \
make
make install DESTDIR=$PKG
-# Remove suid bit on system76-power executable
-# Despite being installed SUID by the Makefile, the Debian package installed
-# on Pop!_OS has 0755 permissions for this file, so follow that convention.
-chmod u-s $PKG/usr/bin/system76-power
-
find $PKG -print0 | xargs -0 file | grep -e "executable" -e "shared object" | grep ELF \
| cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null || true
diff --git a/system/system76-power/system76-power.info b/system/system76-power/system76-power.info
index 245203581a..940ac9a283 100644
--- a/system/system76-power/system76-power.info
+++ b/system/system76-power/system76-power.info
@@ -1,86 +1,162 @@
PRGNAM="system76-power"
-VERSION="1.0.1"
+VERSION="1.1.16"
HOMEPAGE="https://github.com/pop-os/system76-power"
-DOWNLOAD="https://github.com/pop-os/system76-power/archive/1.0.1/system76-power-1.0.1.tar.gz \
+DOWNLOAD="https://github.com/pop-os/system76-power/archive/1.1.16/system76-power-1.1.16.tar.gz \
https://crates-io.s3-us-west-1.amazonaws.com/crates/ansi_term/ansi_term-0.11.0.crate \
- https://crates-io.s3-us-west-1.amazonaws.com/crates/atty/atty-0.2.11.crate \
- https://crates-io.s3-us-west-1.amazonaws.com/crates/bitflags/bitflags-0.7.0.crate \
- https://crates-io.s3-us-west-1.amazonaws.com/crates/bitflags/bitflags-1.0.4.crate \
- https://crates-io.s3-us-west-1.amazonaws.com/crates/cfg-if/cfg-if-0.1.7.crate \
- https://crates-io.s3-us-west-1.amazonaws.com/crates/clap/clap-2.33.0.crate \
- https://crates-io.s3-us-west-1.amazonaws.com/crates/dbus/dbus-0.6.2.crate \
- https://crates-io.s3-us-west-1.amazonaws.com/crates/err-derive/err-derive-0.1.5.crate \
- https://crates-io.s3-us-west-1.amazonaws.com/crates/fern/fern-0.5.8.crate \
- https://crates-io.s3-us-west-1.amazonaws.com/crates/intel-pstate/intel-pstate-0.2.0.crate \
- https://crates-io.s3-us-west-1.amazonaws.com/crates/libc/libc-0.2.54.crate \
- https://crates-io.s3-us-west-1.amazonaws.com/crates/libdbus-sys/libdbus-sys-0.1.5.crate \
- https://crates-io.s3-us-west-1.amazonaws.com/crates/log/log-0.4.6.crate \
- https://crates-io.s3-us-west-1.amazonaws.com/crates/numtoa/numtoa-0.1.0.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/atty/atty-0.2.14.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/bitflags/bitflags-1.2.1.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/bytes/bytes-0.5.6.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/cc/cc-1.0.67.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/cfg-if/cfg-if-0.1.10.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/cfg-if/cfg-if-1.0.0.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/clap/clap-2.33.3.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/dbus/dbus-0.9.2.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/dbus-crossroads/dbus-crossroads-0.3.0.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/dbus-tokio/dbus-tokio-0.6.0.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/err-derive/err-derive-0.2.4.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/fern/fern-0.6.0.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/fuchsia-zircon/fuchsia-zircon-0.3.3.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/fuchsia-zircon-sys/fuchsia-zircon-sys-0.3.3.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/futures-channel/futures-channel-0.3.12.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/futures-core/futures-core-0.3.12.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/futures-io/futures-io-0.3.12.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/futures-macro/futures-macro-0.3.12.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/futures-task/futures-task-0.3.12.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/futures-util/futures-util-0.3.12.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/hermit-abi/hermit-abi-0.1.18.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/hidapi/hidapi-1.2.5.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/inotify/inotify-0.8.3.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/inotify-sys/inotify-sys-0.1.5.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/intel-pstate/intel-pstate-0.2.1.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/iovec/iovec-0.1.4.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/itoa/itoa-0.4.7.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/kernel32-sys/kernel32-sys-0.2.2.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/lazy_static/lazy_static-1.4.0.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/libc/libc-0.2.86.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/libdbus-sys/libdbus-sys-0.2.1.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/log/log-0.4.14.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/memchr/memchr-2.3.4.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/mio/mio-0.6.23.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/mio-uds/mio-uds-0.6.8.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/miow/miow-0.2.2.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/net2/net2-0.2.37.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/num_cpus/num_cpus-1.13.0.crate \
https://crates-io.s3-us-west-1.amazonaws.com/crates/numtoa/numtoa-0.2.3.crate \
- https://crates-io.s3-us-west-1.amazonaws.com/crates/pkg-config/pkg-config-0.3.14.crate \
- https://crates-io.s3-us-west-1.amazonaws.com/crates/proc-macro2/proc-macro2-0.4.30.crate \
- https://crates-io.s3-us-west-1.amazonaws.com/crates/quote/quote-0.6.12.crate \
- https://crates-io.s3-us-west-1.amazonaws.com/crates/redox_syscall/redox_syscall-0.1.54.crate \
- https://crates-io.s3-us-west-1.amazonaws.com/crates/redox_termios/redox_termios-0.1.1.crate \
- https://crates-io.s3-us-west-1.amazonaws.com/crates/rustc_version/rustc_version-0.2.3.crate \
- https://crates-io.s3-us-west-1.amazonaws.com/crates/semver/semver-0.9.0.crate \
- https://crates-io.s3-us-west-1.amazonaws.com/crates/semver-parser/semver-parser-0.7.0.crate \
- https://crates-io.s3-us-west-1.amazonaws.com/crates/smart-default/smart-default-0.5.2.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/once_cell/once_cell-1.6.0.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/pin-project-lite/pin-project-lite-0.1.11.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/pin-project-lite/pin-project-lite-0.2.4.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/pin-utils/pin-utils-0.1.0.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/pkg-config/pkg-config-0.3.19.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/proc-macro-error/proc-macro-error-1.0.4.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/proc-macro-error-attr/proc-macro-error-attr-1.0.4.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/proc-macro-hack/proc-macro-hack-0.5.19.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/proc-macro-nested/proc-macro-nested-0.1.7.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/proc-macro2/proc-macro2-1.0.24.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/quote/quote-1.0.9.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/rustversion/rustversion-1.0.4.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/ryu/ryu-1.0.5.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/serde/serde-1.0.123.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/serde_derive/serde_derive-1.0.123.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/serde_json/serde_json-1.0.62.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/signal-hook-registry/signal-hook-registry-1.3.0.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/slab/slab-0.4.2.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/smart-default/smart-default-0.6.0.crate \
https://crates-io.s3-us-west-1.amazonaws.com/crates/strsim/strsim-0.8.0.crate \
- https://crates-io.s3-us-west-1.amazonaws.com/crates/syn/syn-0.15.34.crate \
- https://crates-io.s3-us-west-1.amazonaws.com/crates/synstructure/synstructure-0.10.1.crate \
- https://github.com/pop-os/sysfs-class/archive/7bc914e0ac41df18a671ede0691fcd7d1f7e8add.tar.gz \
- https://crates-io.s3-us-west-1.amazonaws.com/crates/termion/termion-1.5.2.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/syn/syn-1.0.60.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/synstructure/synstructure-0.12.4.crate \
+ https://github.com/pop-os/sysfs-class/archive/0.1.3/sysfs-class-0.1.3.tar.gz \
https://crates-io.s3-us-west-1.amazonaws.com/crates/textwrap/textwrap-0.11.0.crate \
- https://crates-io.s3-us-west-1.amazonaws.com/crates/time/time-0.1.42.crate \
- https://crates-io.s3-us-west-1.amazonaws.com/crates/unicode-width/unicode-width-0.1.5.crate \
- https://crates-io.s3-us-west-1.amazonaws.com/crates/unicode-xid/unicode-xid-0.1.0.crate \
- https://crates-io.s3-us-west-1.amazonaws.com/crates/vec_map/vec_map-0.8.1.crate \
- https://crates-io.s3-us-west-1.amazonaws.com/crates/vergen/vergen-0.1.1.crate \
- https://crates-io.s3-us-west-1.amazonaws.com/crates/winapi/winapi-0.3.7.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/tokio/tokio-0.2.25.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/tokio-macros/tokio-macros-0.2.6.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/unicode-width/unicode-width-0.1.8.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/unicode-xid/unicode-xid-0.2.1.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/vec_map/vec_map-0.8.2.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/version_check/version_check-0.9.2.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/winapi/winapi-0.2.8.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/winapi/winapi-0.3.9.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/winapi-build/winapi-build-0.1.1.crate \
https://crates-io.s3-us-west-1.amazonaws.com/crates/winapi-i686-pc-windows-gnu/winapi-i686-pc-windows-gnu-0.4.0.crate \
- https://crates-io.s3-us-west-1.amazonaws.com/crates/winapi-x86_64-pc-windows-gnu/winapi-x86_64-pc-windows-gnu-0.4.0.crate"
-MD5SUM="34a7e9c9a05e13f6807c52aeb1d375a6 \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/winapi-x86_64-pc-windows-gnu/winapi-x86_64-pc-windows-gnu-0.4.0.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/ws2_32-sys/ws2_32-sys-0.2.1.crate"
+MD5SUM="dcb250b54de23e7d1c26529653668384 \
294a49d3c53865fa7ac5d0ce2f5d5735 \
- 5d7155b7fbc0e234c017f418f0dc9d64 \
- 1dd9b755c91f0f7bb401e393a9ed69f2 \
- e5767560aad375059c975285c07022c0 \
- 0cd2bb93a82da2e4ca526b40ae8b341e \
- 135f6d6306e50606f0475ada50c33ce2 \
- 1651afddc85f41bc8ed7a8de31330733 \
- f2f2aaa1f19b52785665e4079ae6b903 \
- 0659d17c4a1530155d8aac2d9cab7cdb \
- a55e4bbf06ebb689ed245fbfbf3f1dd2 \
- 2c69391ab2d137625a5ab389ae94ba26 \
- f98185d068ac4625238cfe13a60395b3 \
- cc65f96341390c0f60f5216e829486e7 \
- bbda7e9c572f651774dfdb0006b9f085 \
+ 142cb4b9a653e56e56311f0c883b8582 \
+ 6799c26a7eacaf8e58d3e45c6c5add89 \
+ d123f33f646e37ca5b825ea6eb2dd150 \
+ 8637708206e07c0b9e726c7b2f4412d6 \
+ 882dbbc613a93f64c3709b0a2bd0d6dc \
+ 74634128440dbc3766bda76fdf0aaa05 \
+ bc79e0eb364df515a33755ac9a581cfd \
+ d2857f71826c749b5f086d57039a5e5e \
+ d228b7c6e0d220d40c064e3feaaceb7f \
+ 409eecafa64d119eca370486e49dd522 \
+ 9d53a61cdf8af705fd38cc26481b610d \
+ 9bb99bc31c32da009e64621f4c635748 \
+ dd7c80c2d04d2e9ceba82826cf69764d \
+ 54cfab480b7a5f7302eadf44129d3f4b \
+ 26e7ab2c497aa1c096c0bcdd0ca609d0 \
+ 5089653abbfb3f23c1c805eec737ab0d \
+ fe677f0fd8f467037f4fd5b1331c82a6 \
+ c7948dfaf0320378998df01203bb894c \
+ b98894ea67edeb6618196552c484b79d \
+ 6d799b8e9321f6882053f1ceb0e3e817 \
+ 2c4bc5c16b345ce4d4bbf977577fab35 \
+ 551b1e3feb17b3e30fab6e9c92f129b7 \
+ e7696ea7bac5b2d62b5306498960430b \
+ 639af0cca65c012e6a028acfb657e417 \
+ 1c4f7ad251632c854fa67dc1f1f314e3 \
+ f1c40b9836035b69e464df711a1d2950 \
+ 4379362bf1be77d47a45c7223a01eead \
+ 9d033cc2daa6924420a4a89e6705773f \
+ fba3b040a55c01be7376d3dd5c4d4920 \
+ 04f84e88732a1057a37b5d01c23eac1d \
+ 78e11acb853ee9a9c1b905e209b33d4a \
+ 40e508baeee8cdccbc471489b0f449ff \
+ fa3630e5867493e09296155763e4f4a0 \
+ 257e573f323c639630b31f147671b627 \
+ 10e28d0be14899dcbad91142a228fb35 \
+ 1fbbe598255c0addb31bdfbe3e76420d \
+ ff6c054468eab826f0dab7cc9a3fe557 \
+ c36d452e37c73b1e99f40bae18cddfdb \
28a4e2e962d9723f131cdd5acb140b6d \
- 87a9d36f5ebe5eae0c3e8d69d58752e1 \
- 020c7d0be083642e24a1499122793006 \
- 54694fe2ab822610b6ee4ccc048752eb \
- 14fab6ea3c2c94779d3c50dd2dffd10e \
- 01cb5402c0fd99cebac702b76f2f2669 \
- 4d101ab24d14c54937c5f45ece8fad5f \
- 64111c20b69aa1532fb66b70c4660b55 \
- 8b4d8c7b6e3a060d365bc1ad650929fa \
- 2d3e63b50a8d82c4dccd51981e332da8 \
+ 67168b70886fe5bd86af5619a3f35ce4 \
+ 8771ed9f596c68a307bef4b2ac20acde \
+ cec81553116d1234d8a2a618593848ad \
+ 07c75fec267864bcbb800ca7709ceae2 \
+ 448bc61aee07661464d98da7660e9a1d \
+ 6a32bab57772c3a1146d599b65ffb0cb \
+ 7d76a523677de261dda1b65d29a93c4e \
+ c7c38eb603bed6f42edbc4294806a44a \
+ e6fd8764e2acb835d7d2f04d052e30ce \
+ 0736e4f76f4f8f0a29563b0608ca3974 \
+ 3233400d1bc56e7c78d4d7564d8e5b74 \
+ 6261b6f5fb803ee74f3916c6550ea9b3 \
+ a69721c73263cd2040e1a5f120b03a6f \
+ e16bb0d9c46839fbf5d1a69673b00c4c \
+ 6ec70075835fed0250bc4407f32d5928 \
+ f024ce4a4f4ff7326d9bbe3039017081 \
+ b006529e0475297e0e2346e2a4558931 \
+ c7bfa89e6da163f1474bb3787987bb12 \
+ 26b4ac1432c227434bc943817f42872e \
781d4ccf5d04c98fa02af207a9639249 \
- f84584b1a3e6311ffcb517ff3e1aff0b \
- d155c08de6c18bd55639ffed629894b9 \
- 6c390f2e82570acd1b5b4e2510c6e433 \
- 9f1f6e2fe9afbbcc351a7430962a7571 \
+ c72a927acc4cc7695ae9c73c19964a6f \
+ 09f09b3f56045183393726a31d8a0192 \
+ 80ca0de72168dc03e90bc3c519153305 \
a8de006fe0c7e373c560dd51599287a8 \
- 3d311d2cedf2d3d7b11b32baf470b178 \
- d7c493ca4f84a7d50b53646421a37487 \
- 5aaf04f9a94a6450e3e4963ddd62b92d \
- 0eedbc32447f40b3045d6de3910b5415 \
- 03910f37dc041fd9402bda7825e8404f \
- 38569b37293d94fc57b6e1449a1c38aa \
+ 1c63947b82fb656602a15cff8cc7c360 \
+ 2c8f1fe04919c09e705eccb13a2aa583 \
+ 4272c279b06b88f8b0ffce7109348e27 \
+ a51c43692084979295641a7ffba4b297 \
+ 333b4ba3f64c35b6f89b521e8d64548b \
+ 8b01b016a9b6deebc1b43f296057efb5 \
+ b44489eb4799c4fabac3fceb48de54f7 \
+ 0498c4a11448bfc35dc7bb2caa64c753 \
+ c900e7dbce808ff8ced375077b17a163 \
db96b50050277bf05a3c68534bbb9586 \
- 09de9d01e7331ff3da11f58be8bef0df"
+ 09de9d01e7331ff3da11f58be8bef0df \
+ 38346bab0933c9eb1e36d22fe4220ba7"
DOWNLOAD_x86_64=""
MD5SUM_x86_64=""
-REQUIRES="system76-io-dkms"
+REQUIRES="system76-io-dkms rustup %README%"
MAINTAINER="Erich Ritz"
EMAIL="erich.public@protonmail.com"
diff --git a/system/t1utils/t1utils.SlackBuild b/system/t1utils/t1utils.SlackBuild
index ab9ef7ba50..5b0176ceb1 100644
--- a/system/t1utils/t1utils.SlackBuild
+++ b/system/t1utils/t1utils.SlackBuild
@@ -2,7 +2,7 @@
# Slackware build script for t1utils
-# Copyright 2013-2017 Kyle Guinn <elyk03@gmail.com>, USA
+# Copyright 2013-2021 Kyle Guinn <elyk03@gmail.com>, USA
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
@@ -23,7 +23,7 @@
# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
PRGNAM=t1utils
-VERSION=${VERSION:-1.41}
+VERSION=${VERSION:-1.42}
BUILD=${BUILD:-1}
TAG=${TAG:-_SBo}
@@ -71,6 +71,7 @@ chown -R root:root .
chmod -R u+w,go-w,a+rX-st .
# -D_GNU_SOURCE is to fix https://github.com/kohler/t1utils/issues/8
+# (Was fixed in 1.42, but keep this workaround to prefer the system memmem.)
./configure \
--prefix=/usr \
--libdir=/usr/lib${LIBDIRSUFFIX} \
diff --git a/system/t1utils/t1utils.info b/system/t1utils/t1utils.info
index 99d640b848..d1d725aa09 100644
--- a/system/t1utils/t1utils.info
+++ b/system/t1utils/t1utils.info
@@ -1,8 +1,8 @@
PRGNAM="t1utils"
-VERSION="1.41"
+VERSION="1.42"
HOMEPAGE="https://www.lcdf.org/type/#t1utils"
-DOWNLOAD="https://www.lcdf.org/type/t1utils-1.41.tar.gz"
-MD5SUM="5430f82fcc27ccfc44526a59fa64849a"
+DOWNLOAD="https://www.lcdf.org/type/t1utils-1.42.tar.gz"
+MD5SUM="acc4bc832bafbdc059fb3b0cad8c3ab0"
DOWNLOAD_x86_64=""
MD5SUM_x86_64=""
REQUIRES=""
diff --git a/system/tagtools/tagtools.info b/system/tagtools/tagtools.info
index 8e23eed2b0..cae7b1a6e5 100644
--- a/system/tagtools/tagtools.info
+++ b/system/tagtools/tagtools.info
@@ -1,5 +1,5 @@
PRGNAM="tagtools"
-VERSION="1.0"
+VERSION="v1"
HOMEPAGE="https://notabug.org/jeffersonrocha/tagtools"
DOWNLOAD="https://notabug.org/jeffersonrocha/tagtools/raw/master/tagtools.tar.xz"
MD5SUM="d56b71d973b6b764d5f69187d55f1fc6"
diff --git a/system/targetcli-fb/targetcli-fb.SlackBuild b/system/targetcli-fb/targetcli-fb.SlackBuild
index ddf581b88d..8a8eb91dca 100644
--- a/system/targetcli-fb/targetcli-fb.SlackBuild
+++ b/system/targetcli-fb/targetcli-fb.SlackBuild
@@ -24,9 +24,9 @@
# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
PRGNAM=targetcli-fb
-VERSION=${VERSION:-2.1.51}
-RTVERSION=${RTVERSION:-2.1.71}
-CSVERSION=${CSVERSION:-1.1.27}
+VERSION=${VERSION:-2.1.53}
+RTVERSION=${RTVERSION:-2.1.73}
+CSVERSION=${CSVERSION:-1.1.28}
BUILD=${BUILD:-1}
TAG=${TAG:-_SBo}
diff --git a/system/targetcli-fb/targetcli-fb.info b/system/targetcli-fb/targetcli-fb.info
index 10a891f839..99d90cc03d 100644
--- a/system/targetcli-fb/targetcli-fb.info
+++ b/system/targetcli-fb/targetcli-fb.info
@@ -1,12 +1,12 @@
PRGNAM="targetcli-fb"
-VERSION="2.1.51"
+VERSION="2.1.53"
HOMEPAGE="https://github.com/open-iscsi/targetcli-fb"
-DOWNLOAD="https://github.com/open-iscsi/targetcli-fb/archive/v2.1.51/targetcli-fb-2.1.51.tar.gz \
- https://github.com/open-iscsi/rtslib-fb/archive/v2.1.71/rtslib-fb-2.1.71.tar.gz \
- https://github.com/open-iscsi/configshell-fb/archive/v1.1.27/configshell-fb-1.1.27.tar.gz"
-MD5SUM="e0971e9befda9f43fc16a5b754d2c063 \
- e53e1a3309ac57f934850ffbd45ef993 \
- daf5eab4666b298e4444c841d645ffee"
+DOWNLOAD="https://github.com/open-iscsi/targetcli-fb/archive/v2.1.53/targetcli-fb-2.1.53.tar.gz \
+ https://github.com/open-iscsi/rtslib-fb/archive/v2.1.73/rtslib-fb-2.1.73.tar.gz \
+ https://github.com/open-iscsi/configshell-fb/archive/v1.1.28/configshell-fb-1.1.28.tar.gz"
+MD5SUM="61cdf4c71a0b206b021232fb9e845bd8 \
+ 5eb1fc54a5f16566b76b6037950c0dc6 \
+ d1908982dffb1df700fa52ed65949729"
DOWNLOAD_x86_64=""
MD5SUM_x86_64=""
REQUIRES="pyudev pyparsing six"
diff --git a/system/tbsm/README b/system/tbsm/README
index 6d7a8b7a0f..a02d5c305a 100644
--- a/system/tbsm/README
+++ b/system/tbsm/README
@@ -1,10 +1,11 @@
tbsm is a pure bash session or application launcher, inspired by cdm,
tdm and krunner. It supports X and Wayland sessions.
-Autostart tbsm upon login by adding the following to $HOME/.profile:
+Autostart tbsm upon login by adding the following to $HOME/.profile
+(Reference: https://wiki.gentoo.org/wiki/Start_X_on_login):
-# Autostart tbsm on all TTYs
-if [[ ! ${DISPLAY} && ${XDG_VTNR} -le 2 ]]; then
+# Autostart tbsm on tty1
+if [[ -z $DISPLAY ]] && [[ $(tty) = /dev/tty1 ]]; then
exec tbsm
fi
diff --git a/system/tbsm/README.SLACKWARE b/system/tbsm/README.SLACKWARE
index d80360d4df..2a04e39c6a 100644
--- a/system/tbsm/README.SLACKWARE
+++ b/system/tbsm/README.SLACKWARE
@@ -1,6 +1,6 @@
-tbsm may run desktop sessions, such as dwm, without consolekit and dbus
+tbsm may run desktop sessions, such as i3, without consolekit and dbus
support. Thus, given that tbsm detects available .desktop files from
/usr/share/xsessions, create a copy of the .desktop file and modify
the Name and Exec lines as such:
-Name=dwm-dbus
-Exec=ck-launch-session dbus-launch --sh-syntax --exit-with-session dwm
+Name=i3-dbus
+Exec=ck-launch-session dbus-launch --sh-syntax --exit-with-session i3
diff --git a/system/telegraf/telegraf.SlackBuild b/system/telegraf/telegraf.SlackBuild
index 18e1a5dfc2..6fecbd774f 100644
--- a/system/telegraf/telegraf.SlackBuild
+++ b/system/telegraf/telegraf.SlackBuild
@@ -2,7 +2,7 @@
# Slackware build script for Telegraf
-# Copyright 2017-2019 Ebben Aries <e@dscp.org>
+# Copyright 2017-2021 Ebben Aries <slackbuilds@dscp.org>
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
@@ -23,7 +23,7 @@
# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
PRGNAM=telegraf
-VERSION=${VERSION:-1.12.6}
+VERSION=${VERSION:-1.18.1}
BUILD=${BUILD:-1}
TAG=${TAG:-_SBo}
@@ -67,7 +67,7 @@ mkdir -p $TMP $PKG $OUTPUT
cd $TMP
rm -rf $PRGNAM
tar xvf $CWD/$PRGNAM-${VERSION}_linux_${PKG_ARCH}.tar.gz
-cd $PRGNAM
+cd $PRGNAM-${VERSION}
chown -R root:root .
find -L . \
\( -perm 777 -o -perm 775 -o -perm 750 -o -perm 711 -o -perm 555 \
diff --git a/system/telegraf/telegraf.default b/system/telegraf/telegraf.default
deleted file mode 100644
index 56276508e3..0000000000
--- a/system/telegraf/telegraf.default
+++ /dev/null
@@ -1,3 +0,0 @@
-# Telegraf options
-
-TELEGRAF_OPTS=""
diff --git a/system/telegraf/telegraf.info b/system/telegraf/telegraf.info
index 337846fc9c..92f01bc041 100644
--- a/system/telegraf/telegraf.info
+++ b/system/telegraf/telegraf.info
@@ -1,10 +1,10 @@
PRGNAM="telegraf"
-VERSION="1.12.6"
+VERSION="1.18.1"
HOMEPAGE="https://www.influxdata.com"
-DOWNLOAD="https://dl.influxdata.com/telegraf/releases/telegraf-1.12.6_linux_i386.tar.gz"
-MD5SUM="22b3fa4b2d12c1157d0b0b33226bd80a"
-DOWNLOAD_x86_64="https://dl.influxdata.com/telegraf/releases/telegraf-1.12.6_linux_amd64.tar.gz"
-MD5SUM_x86_64="b23926f29165103b0c266731380d25da"
+DOWNLOAD="https://dl.influxdata.com/telegraf/releases/telegraf-1.18.1_linux_i386.tar.gz"
+MD5SUM="5c5fa71a4c28be188604727ee06e7704"
+DOWNLOAD_x86_64="https://dl.influxdata.com/telegraf/releases/telegraf-1.18.1_linux_amd64.tar.gz"
+MD5SUM_x86_64="a7bb19afa8fcbf3144129f5fb45d559f"
REQUIRES=""
MAINTAINER="Ebben Aries"
-EMAIL="e@dscp.org"
+EMAIL="slackbuilds@dscp.org"
diff --git a/system/terminology/terminology.SlackBuild b/system/terminology/terminology.SlackBuild
index fed8189f2c..ba6ce393f3 100644
--- a/system/terminology/terminology.SlackBuild
+++ b/system/terminology/terminology.SlackBuild
@@ -23,7 +23,7 @@
PRGNAM=terminology
-VERSION=${VERSION:-1.3.2}
+VERSION=${VERSION:-1.8.1}
BUILD=${BUILD:-1}
TAG=${TAG:-_SBo}
@@ -54,7 +54,8 @@ else
LIBDIRSUFFIX=""
fi
-DOCS="AUTHORS COPYING ChangeLog DESIGN.md NEWS README.md TODO"
+
+DOCS="AUTHORS COPYING ChangeLog ChangeLog.theme DESIGN.md NEWS README.md THEME.md TODO"
set -e
@@ -76,8 +77,6 @@ CXXFLAGS="$SLKCFLAGS" \
meson \
--prefix=/usr \
--libdir=/usr/lib${LIBDIRSUFFIX} \
- --sysconfdir=/etc \
- --localstatedir=/var \
--mandir=/usr/man \
. build
diff --git a/system/terminology/terminology.info b/system/terminology/terminology.info
index b29f33b5f8..6c5301afc7 100644
--- a/system/terminology/terminology.info
+++ b/system/terminology/terminology.info
@@ -1,10 +1,10 @@
PRGNAM="terminology"
-VERSION="1.3.2"
+VERSION="1.8.1"
HOMEPAGE="https://www.enlightenment.org/about-terminology"
-DOWNLOAD="https://download.enlightenment.org/rel/apps/terminology/terminology-1.3.2.tar.xz"
-MD5SUM="ab125bd9b4b183cffa1ca61143d5888b"
+DOWNLOAD="https://download.enlightenment.org/rel/apps/terminology/terminology-1.8.1.tar.xz"
+MD5SUM="a01667086dd35557ecbbe3836ba66740"
DOWNLOAD_x86_64=""
MD5SUM_x86_64=""
-REQUIRES="efl meson"
+REQUIRES="efl"
MAINTAINER="Erik Falor"
EMAIL="ewfalor@gmail.com"
diff --git a/system/thin-provisioning-tools/thin-provisioning-tools.SlackBuild b/system/thin-provisioning-tools/thin-provisioning-tools.SlackBuild
index ffb391afff..c2ad2a330f 100644
--- a/system/thin-provisioning-tools/thin-provisioning-tools.SlackBuild
+++ b/system/thin-provisioning-tools/thin-provisioning-tools.SlackBuild
@@ -2,7 +2,7 @@
# Slackware build script for thin-provisioning-tools
-# Copyright 2016-2019 Marek Wodzinski
+# Copyright 2016-2020 Marek Wodzinski
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
@@ -24,7 +24,7 @@
PRGNAM=thin-provisioning-tools
-VERSION=${VERSION:-0.8.5}
+VERSION=${VERSION:-0.9.0}
BUILD=${BUILD:-1}
TAG=${TAG:-_SBo}
diff --git a/system/thin-provisioning-tools/thin-provisioning-tools.info b/system/thin-provisioning-tools/thin-provisioning-tools.info
index 371c3da667..096e0a9fed 100644
--- a/system/thin-provisioning-tools/thin-provisioning-tools.info
+++ b/system/thin-provisioning-tools/thin-provisioning-tools.info
@@ -1,8 +1,8 @@
PRGNAM="thin-provisioning-tools"
-VERSION="0.8.5"
+VERSION="0.9.0"
HOMEPAGE="https://github.com/jthornber/thin-provisioning-tools"
-DOWNLOAD="https://github.com/jthornber/thin-provisioning-tools/archive/v0.8.5/thin-provisioning-tools-0.8.5.tar.gz"
-MD5SUM="4ff949e9eef65aaee68d6d923ba0862f"
+DOWNLOAD="https://github.com/jthornber/thin-provisioning-tools/archive/v0.9.0/thin-provisioning-tools-0.9.0.tar.gz"
+MD5SUM="b3ce6f476a5b7ea64c583e7d910d2db7"
DOWNLOAD_x86_64=""
MD5SUM_x86_64=""
REQUIRES=""
diff --git a/system/thinkfan/thinkfan.SlackBuild b/system/thinkfan/thinkfan.SlackBuild
index c8e7b688aa..b3a0afefcc 100644
--- a/system/thinkfan/thinkfan.SlackBuild
+++ b/system/thinkfan/thinkfan.SlackBuild
@@ -2,7 +2,7 @@
# Slackware build script for thinkfan
-# Copyright 2014-2019 Benjamin Trigona-Harany <slackbuilds@jaxartes.net>
+# Copyright 2014-2020 Benjamin Trigona-Harany <slackbuilds@jaxartes.net>
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
@@ -23,7 +23,7 @@
# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
PRGNAM=thinkfan
-VERSION=${VERSION:-1.0.2}
+VERSION=${VERSION:-1.1}
BUILD=${BUILD:-1}
TAG=${TAG:-_SBo}
diff --git a/system/thinkfan/thinkfan.info b/system/thinkfan/thinkfan.info
index 5656669cdf..736fd11b37 100644
--- a/system/thinkfan/thinkfan.info
+++ b/system/thinkfan/thinkfan.info
@@ -1,8 +1,8 @@
PRGNAM="thinkfan"
-VERSION="1.0.2"
+VERSION="1.1"
HOMEPAGE="https://github.com/vmatare/thinkfan"
-DOWNLOAD="https://github.com/vmatare/thinkfan/archive/1.0.2/thinkfan-1.0.2.tar.gz"
-MD5SUM="2fc604c3670a1432dffb4482d1cf2193"
+DOWNLOAD="https://github.com/vmatare/thinkfan/archive/1.1/thinkfan-1.1.tar.gz"
+MD5SUM="cf9caa107e17bea95871d78955f49e3c"
DOWNLOAD_x86_64=""
MD5SUM_x86_64=""
REQUIRES=""
diff --git a/system/ticpp/README b/system/ticpp/README
new file mode 100644
index 0000000000..4d25e1098c
--- /dev/null
+++ b/system/ticpp/README
@@ -0,0 +1,8 @@
+TiCPP is short for the official name TinyXML++. It is a completely
+new interface to TinyXML that uses MANY of the C++ strengths.
+Templates, exceptions, and much better error handling. It is also
+fully documented in Doxygen. It is really cool because this version
+lets you interface tiny the exact same way as before or you can
+choose to use the new ticpp classes. All you need to do is define
+TIXML_USE_TICPP. It has been tested in VC 6.0, VC 7.0, VC 7.1,
+VC 8.0, MinGW gcc 3.4.5, and in Linux GNU gcc 3+.
diff --git a/system/ticpp/slack-desc b/system/ticpp/slack-desc
new file mode 100644
index 0000000000..e924f8e05e
--- /dev/null
+++ b/system/ticpp/slack-desc
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description.
+# Line up the first '|' above the ':' following the base package name, and
+# the '|' on the right side marks the last column you can put a character in.
+# You must make exactly 11 lines for the formatting to be correct. It's also
+# customary to leave one space after the ':' except on otherwise blank lines.
+
+ |-----handy-ruler------------------------------------------------------|
+ticpp: ticpp (xml parser)
+ticpp:
+ticpp: TiCPP is short for the official name TinyXML++. It is a completely
+ticpp: new interface to TinyXML that uses MANY of the C++ strengths.
+ticpp:
+ticpp:
+ticpp:
+ticpp:
+ticpp:
+ticpp: Homepage: https://github.com/wxFormBuilder/ticpp
+ticpp:
diff --git a/system/ticpp/ticpp.SlackBuild b/system/ticpp/ticpp.SlackBuild
new file mode 100644
index 0000000000..9fe9e6543b
--- /dev/null
+++ b/system/ticpp/ticpp.SlackBuild
@@ -0,0 +1,111 @@
+#!/bin/sh
+
+# Slackware build script for TiCPP
+# XML Parser
+
+# Copyright 2019 Fernando Lopez Jr. <fernando.lopezjr@gmail.com>
+# 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.
+
+# Revision date: 2020/Nov/25
+
+PRGNAM=ticpp
+VERSION=${VERSION:-0.1}
+COMVER=eb79120ea16b847ce9f483a298a394050f463d6b
+BUILD=${BUILD:-1}
+TAG=${TAG:-_SBo}
+
+if [ -z "$ARCH" ]; then
+ case "$( uname -m )" in
+ i?86) ARCH=i586 ;;
+ arm*) ARCH=arm ;;
+ *) ARCH=$( uname -m ) ;;
+ esac
+fi
+
+CWD=$(pwd)
+TMP=${TMP:-/tmp/SBo}
+PKG=$TMP/package-$PRGNAM
+OUTPUT=${OUTPUT:-/tmp}
+
+if [ "$ARCH" = "i586" ]; then
+ SLKCFLAGS="-O2 -march=i586 -mtune=i686 -std=c++11"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "i686" ]; then
+ SLKCFLAGS="-O2 -march=i686 -mtune=i686 -std=c++11"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "x86_64" ]; then
+ SLKCFLAGS="-O2 -fPIC -std=c++11"
+ LIBDIRSUFFIX="64"
+else
+ SLKCFLAGS="-O2 -std=c++11"
+ LIBDIRSUFFIX=""
+fi
+
+set -e
+
+rm -rf $PKG
+mkdir -p $TMP $PKG $OUTPUT
+cd $TMP
+rm -rf $PRGNAM-$VERSION
+tar xvf $CWD/$PRGNAM-$COMVER.tar.?z
+mv $PRGNAM-$COMVER $PRGNAM-$VERSION
+cd $PRGNAM-$VERSION
+
+chown -R root:root .
+find -L . \
+ \( -perm 777 -o -perm 775 -o -perm 750 -o -perm 711 -o -perm 555 \
+ -o -perm 511 \) -exec chmod 755 {} \; -o \
+ \( -perm 666 -o -perm 664 -o -perm 640 -o -perm 600 -o -perm 444 \
+ -o -perm 440 -o -perm 400 \) -exec chmod 644 {} \;
+
+mkdir -p build
+cd build
+ cmake \
+ -DCMAKE_C_FLAGS:STRING="$SLKCFLAGS" \
+ -DCMAKE_CXX_FLAGS:STRING="$SLKCFLAGS" \
+ -DCMAKE_INSTALL_PREFIX=/usr \
+ -DCMAKE_BUILD_TYPE=Release ..
+ make VERBOSE=1
+ make CONFIG=Release DESTDIR=$PKG
+cd ..
+
+mkdir -p "$PKG/usr/include"
+install -Dm775 ticpp.h "$PKG/usr/include"
+install -Dm775 ticppapi.h "$PKG/usr/include"
+install -Dm775 ticpprc.h "$PKG/usr/include"
+install -Dm775 tinystr.h "$PKG/usr/include"
+install -Dm775 tinyxml.h "$PKG/usr/include"
+
+mkdir -p "$PKG/usr/lib${LIBDIRSUFFIX}"
+install -Dm775 build/libticpp.a "$PKG"/usr/lib${LIBDIRSUFFIX}
+
+find $PKG -print0 | xargs -0 file | grep -e "executable" -e "shared object" | grep ELF \
+ | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null || true
+
+mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION
+cp -a build_instructions.txt changes.txt LICENSE README.md tutorial_gettingStarted.txt \
+ tutorial_ticpp.txt $PKG/usr/doc/$PRGNAM-$VERSION
+cat $CWD/$PRGNAM.SlackBuild > $PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM.SlackBuild
+
+mkdir -p $PKG/install
+cat $CWD/slack-desc > $PKG/install/slack-desc
+
+cd $PKG
+/sbin/makepkg -l y -c n $OUTPUT/$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.${PKGTYPE:-tgz}
diff --git a/system/ticpp/ticpp.info b/system/ticpp/ticpp.info
new file mode 100644
index 0000000000..04f790e583
--- /dev/null
+++ b/system/ticpp/ticpp.info
@@ -0,0 +1,10 @@
+PRGNAM="ticpp"
+VERSION="0.1"
+HOMEPAGE="https://github.com/wxFormBuilder/ticpp"
+DOWNLOAD="https://github.com/wxFormBuilder/ticpp/archive/eb79120ea16b847ce9f483a298a394050f463d6b/ticpp-eb79120ea16b847ce9f483a298a394050f463d6b.tar.gz"
+MD5SUM="250643c6562957da9993734c8f2f4b51"
+DOWNLOAD_x86_64=""
+MD5SUM_x86_64=""
+REQUIRES=""
+MAINTAINER="Fernando Lopez Jr."
+EMAIL="fernando.lopezjr@gmail.com"
diff --git a/system/tiger/tiger.SlackBuild b/system/tiger/tiger.SlackBuild
index 1561f5a513..d9ae3e69b9 100644
--- a/system/tiger/tiger.SlackBuild
+++ b/system/tiger/tiger.SlackBuild
@@ -48,7 +48,7 @@ mkdir -p $TMP $PKG $OUTPUT
cd $TMP
rm -rf $PRGNAM-$VERSION
-# The package can be verified with Javier Fernández-Sanguino's PGP key (0xDC814B09)
+# The package can be verified with Javier Fernández-Sanguino's PGP key (0xDC814B09)
# If we have GnuPG installed, we try to verify the signature.
if [ -x "/usr/bin/gpg" -a -x "/usr/bin/gpgv" ]
then
diff --git a/system/tini/tini.SlackBuild b/system/tini/tini.SlackBuild
index a243946f75..5ffafbcb8e 100644
--- a/system/tini/tini.SlackBuild
+++ b/system/tini/tini.SlackBuild
@@ -2,7 +2,7 @@
# Slackware build script for tini
-# Copyright 2017-2018 Audrius Kažukauskas <audrius@neutrino.lt>
+# Copyright 2017-2021 Audrius Kažukauskas <audrius@neutrino.lt>
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
@@ -23,8 +23,8 @@
# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
PRGNAM=tini
-GITHASH=${GITHASH:-fec3683}
-VERSION=${VERSION:-0.18.0}
+GITHASH=${GITHASH:-de40ad0}
+VERSION=${VERSION:-0.19.0}
BUILD=${BUILD:-1}
TAG=${TAG:-_SBo}
diff --git a/system/tini/tini.info b/system/tini/tini.info
index e9d45b913f..ec5fa869c9 100644
--- a/system/tini/tini.info
+++ b/system/tini/tini.info
@@ -1,8 +1,8 @@
PRGNAM="tini"
-VERSION="0.18.0"
+VERSION="0.19.0"
HOMEPAGE="https://github.com/krallin/tini"
-DOWNLOAD="https://github.com/krallin/tini/archive/v0.18.0/tini-0.18.0.tar.gz"
-MD5SUM="cc3b205a1b83b8e6ed6892fc5e8ef2c3"
+DOWNLOAD="https://github.com/krallin/tini/archive/v0.19.0/tini-0.19.0.tar.gz"
+MD5SUM="72935bca9232313409a052833068fb1d"
DOWNLOAD_x86_64=""
MD5SUM_x86_64=""
REQUIRES=""
diff --git a/system/tinycdb/tinycdb.SlackBuild b/system/tinycdb/tinycdb.SlackBuild
index 621a9add4f..d83e626f57 100644
--- a/system/tinycdb/tinycdb.SlackBuild
+++ b/system/tinycdb/tinycdb.SlackBuild
@@ -56,7 +56,7 @@ find -L . \
-o -perm 440 -o -perm 400 \) -exec chmod 644 {} \;
make
-make install prefix=$PKG mandir=$PKG/usr/man libdir=$PKG/usr/lib$LIBDIRSUFFIX bindir=$PKG/usr/bin
+make install prefix=$PKG includedir=$PKG/usr/include mandir=$PKG/usr/man libdir=$PKG/usr/lib$LIBDIRSUFFIX bindir=$PKG/usr/bin
find $PKG -print0 | xargs -0 file | grep -e "executable" -e "shared object" | grep ELF \
| cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null || true
diff --git a/system/tinycdb/tinycdb.info b/system/tinycdb/tinycdb.info
index 5c24c40b44..0caf0d8665 100644
--- a/system/tinycdb/tinycdb.info
+++ b/system/tinycdb/tinycdb.info
@@ -8,4 +8,3 @@ MD5SUM_x86_64=""
REQUIRES=""
MAINTAINER="Dejan Strbac"
EMAIL="me@dejanstrbac.com"
-
diff --git a/system/tinyterm/tinyterm.SlackBuild b/system/tinyterm/tinyterm.SlackBuild
index 0abd5e9dbb..d7d3da0215 100644
--- a/system/tinyterm/tinyterm.SlackBuild
+++ b/system/tinyterm/tinyterm.SlackBuild
@@ -25,6 +25,8 @@
# with this program (most likely, a file named COPYING). If not, see
# <http://www.gnu.org/licenses/>.
+# 20200114 bkw: update for v0.6.0
+
# 20170308 bkw:
# - take over maintenance
# - cosmetics in slack-desc and README
@@ -34,8 +36,8 @@
# - BUILD=2
PRGNAM=tinyterm
-VERSION=${VERSION:-0.5.8}
-BUILD=${BUILD:-2}
+VERSION=${VERSION:-0.6.0}
+BUILD=${BUILD:-1}
TAG=${TAG:-_SBo}
if [ -z "$ARCH" ]; then
@@ -51,8 +53,6 @@ TMP=${TMP:-/tmp/SBo}
PKG=$TMP/package-$PRGNAM
OUTPUT=${OUTPUT:-/tmp}
-DOCS="COPYING README.md"
-
if [ "$ARCH" = "i586" ]; then
SLKCFLAGS="-O2 -march=i586 -mtune=i686"
LIBDIRSUFFIX=""
@@ -76,11 +76,8 @@ rm -rf $PRGNAM-$VERSION
tar xvf $CWD/$PRGNAM-$VERSION.tar.gz
cd $PRGNAM-$VERSION
chown -R root:root .
-find -L . \
- \( -perm 777 -o -perm 775 -o -perm 750 -o -perm 711 -o -perm 555 \
- -o -perm 511 \) -exec chmod 755 {} \; -o \
- \( -perm 666 -o -perm 664 -o -perm 640 -o -perm 600 -o -perm 444 \
- -o -perm 440 -o -perm 400 \) -exec chmod 644 {} \;
+find -L . -perm /111 -a \! -perm 755 -a -exec chmod 755 {} \+ -o \
+ \! -perm /111 -a \! -perm 644 -a -exec chmod 644 {} \+
[ -e "$CWD/config.h" ] && cp "$CWD/config.h" config.h
@@ -91,8 +88,12 @@ make install \
MANPREFIX=/usr/man \
DESTDIR=$PKG
+for i in LICENSE COPYING; do
+ [ -e $i ] && lic="$i $lic"
+done
+
mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION
-cp -a $DOCS $PKG/usr/doc/$PRGNAM-$VERSION
+cp -a README* $lic $PKG/usr/doc/$PRGNAM-$VERSION
cat $CWD/$PRGNAM.SlackBuild > $PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM.SlackBuild
mkdir -p $PKG/install
diff --git a/system/tinyterm/tinyterm.info b/system/tinyterm/tinyterm.info
index 64685cb803..d27383884f 100644
--- a/system/tinyterm/tinyterm.info
+++ b/system/tinyterm/tinyterm.info
@@ -1,8 +1,8 @@
PRGNAM="tinyterm"
-VERSION="0.5.8"
+VERSION="0.6.0"
HOMEPAGE="https://github.com/ryanpcmcquen/tinyterm"
-DOWNLOAD="https://github.com/ryanpcmcquen/tinyterm/archive/0.5.8/tinyterm-0.5.8.tar.gz"
-MD5SUM="d79ebef1fd122a5b06e348bd24437e41"
+DOWNLOAD="https://github.com/ryanpcmcquen/tinyterm/archive/0.6.0/tinyterm-0.6.0.tar.gz"
+MD5SUM="e9adc2bc038576dfaa51cb4390b1100b"
DOWNLOAD_x86_64=""
MD5SUM_x86_64=""
REQUIRES=""
diff --git a/system/tinyvm/tinyvm.SlackBuild b/system/tinyvm/tinyvm.SlackBuild
index 55b728d155..94b2eb5c1b 100644
--- a/system/tinyvm/tinyvm.SlackBuild
+++ b/system/tinyvm/tinyvm.SlackBuild
@@ -25,6 +25,7 @@
# with this program (most likely, a file named COPYING). If not, see
# <http://www.gnu.org/licenses/>.
+# 20201108 bkw: update for 20180322 (latest git)
# 20170308 bkw:
# - take over maintenance
# - update to 20170212 (latest git commit)
@@ -32,8 +33,8 @@
# - add some clarification to README
PRGNAM=tinyvm
-VERSION=${VERSION:-20170212}
-SRCVER=${SRCVER:-a652f7219f3378450ccdb05154832558bdf5f22d}
+VERSION=${VERSION:-20180322}
+SRCVER=${SRCVER:-10c25d83e442caf0c1fc4b0ab29a91b3805d72ec}
BUILD=${BUILD:-1}
TAG=${TAG:-_SBo}
@@ -71,6 +72,8 @@ cd $TMP
rm -rf $PRGNAM-$SRCVER
tar xvf $CWD/$PRGNAM-$SRCVER.tar.gz
cd $PRGNAM-$SRCVER
+find -L . -perm /111 -a \! -perm 755 -a -exec chmod 755 {} \+ -o \
+ \! -perm /111 -a \! -perm 644 -a -exec chmod 644 {} \+
## default compiler (clang)
make OPTS="$SLKCFLAGS"
diff --git a/system/tinyvm/tinyvm.info b/system/tinyvm/tinyvm.info
index b36c0976c0..1bad6e47dd 100644
--- a/system/tinyvm/tinyvm.info
+++ b/system/tinyvm/tinyvm.info
@@ -1,8 +1,8 @@
PRGNAM="tinyvm"
-VERSION="20170212"
+VERSION="20180322"
HOMEPAGE="https://github.com/jakogut/tinyvm"
-DOWNLOAD="https://github.com/jakogut/tinyvm/archive/a652f7219f3378450ccdb05154832558bdf5f22d/tinyvm-a652f7219f3378450ccdb05154832558bdf5f22d.tar.gz"
-MD5SUM="e8d48db43f9e1c5f27b9c0ac20a682d2"
+DOWNLOAD="https://github.com/jakogut/tinyvm/archive/10c25d83e442caf0c1fc4b0ab29a91b3805d72ec/tinyvm-10c25d83e442caf0c1fc4b0ab29a91b3805d72ec.tar.gz"
+MD5SUM="95f649139746c6c5100fac113de518e1"
DOWNLOAD_x86_64=""
MD5SUM_x86_64=""
REQUIRES=""
diff --git a/system/tmpwatch/README b/system/tmpwatch/README
new file mode 100644
index 0000000000..89a87bce2a
--- /dev/null
+++ b/system/tmpwatch/README
@@ -0,0 +1,5 @@
+The tmpwatch utility recursively searches through specified
+directories and removes files which have not been accessed in a
+specified period of time. tmpwatch is normally used to clean up
+directories which are used for temporarily holding files (for example,
+/tmp).
diff --git a/system/tmpwatch/slack-desc b/system/tmpwatch/slack-desc
new file mode 100644
index 0000000000..c6326fe026
--- /dev/null
+++ b/system/tmpwatch/slack-desc
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description.
+# Line up the first '|' above the ':' following the base package name, and
+# the '|' on the right side marks the last column you can put a character in.
+# You must make exactly 11 lines for the formatting to be correct. It's also
+# customary to leave one space after the ':' except on otherwise blank lines.
+
+ |-----handy-ruler------------------------------------------------------|
+tmpwatch: tmpwatch (A utility for removing temporary files)
+tmpwatch:
+tmpwatch: The tmpwatch utility recursively searches through specified
+tmpwatch: directories and removes files which have not been accessed in a
+tmpwatch: specified period of time. Tmpwatch is normally used to clean up
+tmpwatch: directories which are used for temporarily holding files (for example,
+tmpwatch: /tmp). Tmpwatch ignores symlinks, won't switch filesystems and only
+tmpwatch: removes empty directories and regular files.
+tmpwatch:
+tmpwatch: https://fedorahosted.org/tmpwatch/
+tmpwatch:
diff --git a/system/tmpwatch/tmpwatch.SlackBuild b/system/tmpwatch/tmpwatch.SlackBuild
new file mode 100644
index 0000000000..ade8a5fdd8
--- /dev/null
+++ b/system/tmpwatch/tmpwatch.SlackBuild
@@ -0,0 +1,80 @@
+#!/bin/sh
+
+# Slackware build script for tmpwatch
+
+# Maintainer: Dejan Strbac <me at dejanstrbac dot com>
+
+# This script is released in the public domain.
+# I am not responsible for any consequences that follow from the
+# incorrect use of this script.
+
+PRGNAM=tmpwatch
+VERSION=${VERSION:-2.11}
+BUILD=${BUILD:-1}
+TAG=${TAG:-_SBo}
+
+if [ -z "$ARCH" ]; then
+ case "$( uname -m )" in
+ i?86) ARCH=i586 ;;
+ arm*) ARCH=arm ;;
+ *) ARCH=$( uname -m ) ;;
+ esac
+fi
+
+CWD=$(pwd)
+TMP=${TMP:-/tmp/SBo}
+PKG=$TMP/package-$PRGNAM
+OUTPUT=${OUTPUT:-/tmp}
+
+if [ "$ARCH" = "i586" ]; then
+ SLKCFLAGS="-O2 -march=i586 -mtune=i686"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "i686" ]; then
+ SLKCFLAGS="-O2 -march=i686 -mtune=i686"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "x86_64" ]; then
+ SLKCFLAGS="-O2 -fPIC"
+ LIBDIRSUFFIX="64"
+else
+ SLKCFLAGS="-O2"
+ LIBDIRSUFFIX=""
+fi
+
+set -e
+
+rm -rf $PKG
+mkdir -p $TMP $PKG $OUTPUT
+cd $TMP
+rm -rf $PRGNAM-$VERSION
+tar xvfj $CWD/$PRGNAM-$VERSION.tar.bz2
+cd $PRGNAM-$VERSION
+chown -R root:root .
+find -L . \
+ \( -perm 777 -o -perm 775 -o -perm 750 -o -perm 711 -o -perm 555 \
+ -o -perm 511 \) -exec chmod 755 {} \; -o \
+ \( -perm 666 -o -perm 664 -o -perm 640 -o -perm 600 -o -perm 444 \
+ -o -perm 440 -o -perm 400 \) -exec chmod 644 {} \;
+
+./configure
+make
+make install prefix=$PKG mandir=$PKG/usr/man libdir=$PKG/usr/lib$LIBDIRSUFFIX bindir=$PKG/usr/bin
+
+find $PKG -print0 | xargs -0 file | grep -e "executable" -e "shared object" | grep ELF \
+ | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null || true
+
+# Create the directory for program documentation.
+mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION
+
+find $PKG/usr/man -type f -exec gzip -9 {} \;
+for i in $( find $PKG/usr/man -type l ) ; do ln -s $( readlink $i ).gz $i.gz ; rm $i ; done
+
+cp -a ChangeLog* NEWS $PKG/usr/doc/$PRGNAM-$VERSION
+cat $CWD/$PRGNAM.SlackBuild > $PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM.SlackBuild
+
+mkdir -p $PKG/install
+cat $CWD/slack-desc > $PKG/install/slack-desc
+
+cd $PKG
+/sbin/makepkg -l y -c n $OUTPUT/$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.${PKGTYPE:-tgz}
+
+
diff --git a/system/tmpwatch/tmpwatch.info b/system/tmpwatch/tmpwatch.info
new file mode 100644
index 0000000000..4c0046b586
--- /dev/null
+++ b/system/tmpwatch/tmpwatch.info
@@ -0,0 +1,10 @@
+PRGNAM="tmpwatch"
+VERSION="2.11"
+HOMEPAGE="https://pagure.io/tmpwatch"
+DOWNLOAD="https://releases.pagure.org/tmpwatch/tmpwatch-2.11.tar.bz2"
+MD5SUM="9ea7e169296eb1196b80fe05bba1cbd0"
+DOWNLOAD_x86_64=""
+MD5SUM_x86_64=""
+REQUIRES=""
+MAINTAINER="Dejan Strbac"
+EMAIL="me@dejanstrbac.com"
diff --git a/system/tmuxp/tmuxp.SlackBuild b/system/tmuxp/tmuxp.SlackBuild
index e1e4f02d0e..aa4879755a 100644
--- a/system/tmuxp/tmuxp.SlackBuild
+++ b/system/tmuxp/tmuxp.SlackBuild
@@ -2,7 +2,7 @@
# Slackware build script for tmuxp
-# Copyright 2014-2019 Dimitris Zlatanidis Orestiada, Greece
+# Copyright 2014-2021 Dimitris Zlatanidis Orestiada, Greece
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
@@ -23,7 +23,7 @@
# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
PRGNAM=tmuxp
-VERSION=${VERSION:-1.5.4}
+VERSION=${VERSION:-1.7.0}
BUILD=${BUILD:-1}
TAG=${TAG:-_SBo}
@@ -69,13 +69,13 @@ find -L . \
\( -perm 666 -o -perm 664 -o -perm 640 -o -perm 600 -o -perm 444 \
-o -perm 440 -o -perm 400 \) -exec chmod 644 {} \;
-python setup.py install --root=$PKG
+python3 setup.py install --root=$PKG
find $PKG -print0 | xargs -0 file | grep -e "executable" -e "shared object" | grep ELF \
| cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null || true
mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION
-cp -a CHANGES LICENSE PKG-INFO README.rst doc/*.rst $PKG/usr/doc/$PRGNAM-$VERSION
+cp -a CHANGES LICENSE PKG-INFO README.rst docs/*.rst $PKG/usr/doc/$PRGNAM-$VERSION
cat $CWD/$PRGNAM.SlackBuild > $PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM.SlackBuild
mkdir -p $PKG/install
diff --git a/system/tmuxp/tmuxp.info b/system/tmuxp/tmuxp.info
index c33932a7a9..53558856aa 100644
--- a/system/tmuxp/tmuxp.info
+++ b/system/tmuxp/tmuxp.info
@@ -1,10 +1,10 @@
PRGNAM="tmuxp"
-VERSION="1.5.4"
+VERSION="1.7.0"
HOMEPAGE="https://github.com/tony/tmuxp/"
-DOWNLOAD="https://files.pythonhosted.org/packages/0f/ce/c06eb1dec939d75c60b837528e8205590d0306ced5fa9046f4029fb6058b/tmuxp-1.5.4.tar.gz"
-MD5SUM="2bdbaef671e97ff5658165f67e627df5"
+DOWNLOAD="https://files.pythonhosted.org/packages/4f/c8/80c974b3c373d479945a2e4ad6b3a655547af5121854b5213ad78ec46401/tmuxp-1.7.0.tar.gz"
+MD5SUM="c12a96d257b78337422f04418367ccae"
DOWNLOAD_x86_64=""
MD5SUM_x86_64=""
-REQUIRES="kaptan click colorama python-libtmux"
+REQUIRES="kaptan click colorama python-libtmux python3-PyYAML"
MAINTAINER="Dimitris Zlatanidis"
EMAIL="d.zlatanidis@gmail.com"
diff --git a/system/tomb/tomb.SlackBuild b/system/tomb/tomb.SlackBuild
index 0d1c22c077..261fc0c050 100644
--- a/system/tomb/tomb.SlackBuild
+++ b/system/tomb/tomb.SlackBuild
@@ -2,7 +2,7 @@
# Slackware build script for tomb
-# Copyright 2015-2017 Willy Sudiarto Raharjo <willysr@slackbuilds.org>
+# Copyright 2015-2021 Willy Sudiarto Raharjo <willysr@slackbuilds.org>
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
@@ -24,7 +24,7 @@
PRGNAM=tomb
SRCNAM=Tomb
-VERSION=${VERSION:-2.6}
+VERSION=${VERSION:-2.9}
BUILD=${BUILD:-1}
TAG=${TAG:-_SBo}
diff --git a/system/tomb/tomb.info b/system/tomb/tomb.info
index f55b83777c..b1c0476815 100644
--- a/system/tomb/tomb.info
+++ b/system/tomb/tomb.info
@@ -1,8 +1,8 @@
PRGNAM="tomb"
-VERSION="2.6"
+VERSION="2.9"
HOMEPAGE="https://www.dyne.org/software/tomb/"
-DOWNLOAD="https://github.com/dyne/Tomb/archive/v2.6/Tomb-2.6.tar.gz"
-MD5SUM="1c3d2d01f2ee70e725d544b41d6c8db3"
+DOWNLOAD="https://github.com/dyne/Tomb/archive/v2.9/Tomb-2.9.tar.gz"
+MD5SUM="e0640de7b613f80b91776af476ea525e"
DOWNLOAD_x86_64=""
MD5SUM_x86_64=""
REQUIRES=""
diff --git a/system/tpc/README b/system/tpc/README
index 7c80c34b9e..01ca47b20d 100644
--- a/system/tpc/README
+++ b/system/tpc/README
@@ -1 +1 @@
-Cross-platform utility to control and tweak modern AMD processors \ No newline at end of file
+Cross-platform utility to control and tweak modern AMD processors
diff --git a/system/tpm/README b/system/tpm/README
index c306fc218f..0cdc921316 100644
--- a/system/tpm/README
+++ b/system/tpm/README
@@ -1,10 +1,11 @@
tpm is a tiny shell script which is heavily inspired and largely
-compatible with pass. Just like pass it uses gpg2 to securely store your
-passwords, the major difference between pass and tpm is that the latter is
-a lot more minimal. Furthermore, tpm is written entirely in POSIX shell.
+compatible with pass. Just like pass it uses gpg2 to securely store
+your passwords, the major difference between pass and tpm is that the
+latter is a lot more minimal. Furthermore, tpm is written entirely
+in POSIX shell.
-Invoking tpm consists of specifying a command either insert or show and
-supplying one entry as a target. If insert is specified as a command,
-tpm will create a new entry and prompt for the corresponding password. If
-you specify show as a command, tpm will write the password for the given
-entry to standard output.
+Invoking tpm consists of specifying a command either insert or show
+and supplying one entry as a target. If insert is specified as a
+command, tpm will create a new entry and prompt for the corresponding
+password. If you specify show as a command, tpm will write the password
+for the given entry to standard output.
diff --git a/system/tpm/tpm.SlackBuild b/system/tpm/tpm.SlackBuild
index b0d689f9d9..d6cd6a2979 100644
--- a/system/tpm/tpm.SlackBuild
+++ b/system/tpm/tpm.SlackBuild
@@ -2,7 +2,7 @@
# Slackware build script for tpm
-# Copyright 2015-2016 Hunter Sezen California, USA
+# Copyright 2015-2016, 2020 Hunter Sezen California, USA
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
@@ -23,8 +23,8 @@
# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
PRGNAM=tpm
-VERSION=${VERSION:-1.3.2}
-BUILD=${BUILD:-1}
+VERSION=${VERSION:-1.3.3}
+BUILD=${BUILD:-2}
TAG=${TAG:-_SBo}
ARCH=noarch
@@ -34,7 +34,7 @@ TMP=${TMP:-/tmp/SBo}
PKG=$TMP/package-$PRGNAM
OUTPUT=${OUTPUT:-/tmp}
-set -e
+set -eu
rm -rf $PKG
mkdir -p $TMP $PKG $OUTPUT
@@ -49,15 +49,11 @@ find -L . \
\( -perm 666 -o -perm 664 -o -perm 640 -o -perm 600 -o -perm 444 \
-o -perm 440 -o -perm 400 \) -exec chmod 644 {} \;
-make
make install \
PREFIX=/usr \
MANDIR=/usr/man \
DESTDIR=$PKG
-find $PKG -print0 | xargs -0 file | grep -e "executable" -e "shared object" | grep ELF \
- | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null || true
-
find $PKG/usr/man -type f -exec gzip -9 {} \;
for i in $( find $PKG/usr/man -type l ) ; do ln -s $( readlink $i ).gz $i.gz ; rm $i ; done
diff --git a/system/tpm/tpm.info b/system/tpm/tpm.info
index 09f3c3f3a3..4b0f8ba320 100644
--- a/system/tpm/tpm.info
+++ b/system/tpm/tpm.info
@@ -1,8 +1,8 @@
PRGNAM="tpm"
-VERSION="1.3.2"
+VERSION="1.3.3"
HOMEPAGE="https://github.com/nmeum/tpm"
-DOWNLOAD="https://github.com/nmeum/tpm/archive/1.3.2/tpm-1.3.2.tar.gz"
-MD5SUM="d86118c38e908663c8d1422c79f6ce1d"
+DOWNLOAD="https://github.com/nmeum/tpm/archive/1.3.3/tpm-1.3.3.tar.gz"
+MD5SUM="9a5244e8f5e5bf0ba491ab7a029e79c1"
DOWNLOAD_x86_64=""
MD5SUM_x86_64=""
REQUIRES=""
diff --git a/system/trackfs/trackfs.info b/system/trackfs/trackfs.info
index 5951bbd27d..fa78cc69d4 100644
--- a/system/trackfs/trackfs.info
+++ b/system/trackfs/trackfs.info
@@ -1,7 +1,7 @@
PRGNAM="trackfs"
VERSION="0.1.0"
-HOMEPAGE="http://www.mr511.de/software/english.html"
-DOWNLOAD="http://www.mr511.de/software/trackfs-0.1.0.tar.gz"
+HOMEPAGE="http://web.archive.org/web/20180104142349/http://www.mr511.de/software/english.html"
+DOWNLOAD="http://attic-distfiles.pld-linux.org/distfiles/by-md5/6/0/602bdd3c74862c3cf2c1e06fd96e6f21/trackfs-0.1.0.tar.gz"
MD5SUM="602bdd3c74862c3cf2c1e06fd96e6f21"
DOWNLOAD_x86_64=""
MD5SUM_x86_64=""
diff --git a/system/triggerhappy/README b/system/triggerhappy/README
new file mode 100644
index 0000000000..fc8e62f25f
--- /dev/null
+++ b/system/triggerhappy/README
@@ -0,0 +1,29 @@
+triggerhappy (a lightweight global hotkey daemon)
+
+Triggerhappy is a hotkey daemon that operates on a system wide
+scale. It watches all configured input devices for key, switch,
+or button events and can launch arbitrary commands specified by the
+administrator. In contrast to hotkey services provided by desktop
+environments, Triggerhappy is especially suited to hardware related
+switches like volume or wifi control; it works independently from
+a specific user being logged in and is also suitable for embedded
+systems that do not have a graphical user interface.
+
+The disadvantage of using triggerhappy is that it must be run with
+root privileges.
+
+After installing the package, you'll want to:
+
+ 1. Read the man page for thd, particularly the EXAMPLES section.
+
+ 2. Create one or more confg files, matching the pattern:
+ /etc/triggerhappy/triggers.d/*.conf
+ See the example files in /etc/triggerhappy/triggers.d/ for ideas.
+
+ 3. chmod +x /etc/rc.d/rc.triggerhappy
+
+ 4. /etc/rc.d/rc.triggerhappy start
+
+After this, the daemon will start on boot. To add devices to the
+running daemon, use th-cmd's --passfd option (not --add, since the
+daemon drops privileges after startup).
diff --git a/system/triggerhappy/rc.triggerhappy b/system/triggerhappy/rc.triggerhappy
new file mode 100644
index 0000000000..d8f3266484
--- /dev/null
+++ b/system/triggerhappy/rc.triggerhappy
@@ -0,0 +1,24 @@
+#!/bin/sh
+
+# rc.triggerhappy, sysv-style init script for triggerhappy.
+# part of the slackbuilds.org triggerhappy build.
+
+THD_SOCKET=/var/run/thd.socket
+THD_ARGS="--daemon --user nobody --socket $THD_SOCKET --triggers /etc/triggerhappy/triggers.d/ /dev/input/event*"
+
+case "$1" in
+ ""|"start") if [ -e $THD_SOCKET ]; then
+ echo "$0: $THD_SOCKET already exists (daemon running or stale socket?)"
+ exit 1;
+ fi
+ echo "Starting triggerhappy daemon (thd)"
+ /usr/sbin/thd $THD_ARGS ;;
+ stop) echo "Stopping triggerhappy daemon (thd)"
+ /usr/sbin/th-cmd --socket $THD_SOCKET --quit
+ /bin/rm -f $THD_SOCKET ;;
+ restart) $0 stop ; /bin/sleep 1; exec $0 start ;;
+ *) echo "Usage: $0 [stop|start|restart]"
+ exit 1 ;;
+esac
+
+exit 0
diff --git a/system/triggerhappy/slack-desc b/system/triggerhappy/slack-desc
new file mode 100644
index 0000000000..49485ed1fb
--- /dev/null
+++ b/system/triggerhappy/slack-desc
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description.
+# Line up the first '|' above the ':' following the base package name, and
+# the '|' on the right side marks the last column you can put a character in.
+# You must make exactly 11 lines for the formatting to be correct. It's also
+# customary to leave one space after the ':' except on otherwise blank lines.
+
+ |-----handy-ruler------------------------------------------------------|
+triggerhappy: triggerhappy (a lightweight global hotkey daemon)
+triggerhappy:
+triggerhappy: Triggerhappy is a hotkey daemon that operates on a system wide
+triggerhappy: scale. It watches all configured input devices for key, switch,
+triggerhappy: or button events and can launch arbitrary commands specified by the
+triggerhappy: administrator. In contrast to hotkey services provided by desktop
+triggerhappy: environments, Triggerhappy is especially suited to hardware related
+triggerhappy: switches like volume or wifi control; it works independently from
+triggerhappy: a specific user being logged in and is also suitable for embedded
+triggerhappy: systems that do not have a graphical user interface.
+triggerhappy:
diff --git a/system/triggerhappy/test.conf.example b/system/triggerhappy/test.conf.example
new file mode 100644
index 0000000000..458e6433b4
--- /dev/null
+++ b/system/triggerhappy/test.conf.example
@@ -0,0 +1,10 @@
+# 20201031 bkw: very simple test config.
+# cp test.conf.example test.conf
+# /etc/rc.d/rc.triggerhappy start
+# Press F11 and F12, while running:
+# watch ls /tmp/triggerhappy_works
+# Note that comments are allowed in triggerhappy's .conf files,
+# but blank lines ARE NOT allowed! That's why this looks so
+# cramped and hard to read...
+KEY_F11 1 /usr/bin/touch /tmp/triggerhappy_works
+KEY_F12 1 /usr/bin/rm /tmp/triggerhappy_works
diff --git a/system/triggerhappy/triggerhappy.SlackBuild b/system/triggerhappy/triggerhappy.SlackBuild
new file mode 100644
index 0000000000..8c8adb0f49
--- /dev/null
+++ b/system/triggerhappy/triggerhappy.SlackBuild
@@ -0,0 +1,84 @@
+#!/bin/sh
+
+# Slackware build script for triggerhappy
+
+# Written by B. Watson (yalhcru@gmail.com)
+
+# Licensed under the WTFPL. See http://www.wtfpl.net/txt/copying/ for details.
+
+PRGNAM=triggerhappy
+VERSION=${VERSION:-0.5.0}
+BUILD=${BUILD:-1}
+TAG=${TAG:-_SBo}
+
+SRCVER=release-$VERSION
+
+if [ -z "$ARCH" ]; then
+ case "$( uname -m )" in
+ i?86) ARCH=i586 ;;
+ arm*) ARCH=arm ;;
+ *) ARCH=$( uname -m ) ;;
+ esac
+fi
+
+CWD=$(pwd)
+TMP=${TMP:-/tmp/SBo}
+PKG=$TMP/package-$PRGNAM
+OUTPUT=${OUTPUT:-/tmp}
+
+if [ "$ARCH" = "i586" ]; then
+ SLKCFLAGS="-O2 -march=i586 -mtune=i686"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "i686" ]; then
+ SLKCFLAGS="-O2 -march=i686 -mtune=i686"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "x86_64" ]; then
+ SLKCFLAGS="-O2 -fPIC"
+ LIBDIRSUFFIX="64"
+else
+ SLKCFLAGS="-O2"
+ LIBDIRSUFFIX=""
+fi
+
+set -e
+
+rm -rf $PKG
+mkdir -p $TMP $PKG $OUTPUT
+cd $TMP
+rm -rf $PRGNAM-$SRCVER
+tar xvf $CWD/$PRGNAM-$SRCVER.tar.gz
+cd $PRGNAM-$SRCVER
+chown -R root:root .
+find -L . -perm /111 -a \! -perm 755 -a -exec chmod 755 {} \+ -o \
+ \! -perm /111 -a \! -perm 644 -a -exec chmod 644 {} \+
+
+make CFLAGS="$SLKCFLAGS"
+make install BINDIR=$PKG/usr/sbin MANDIR=$PKG/usr/man/man1
+strip $PKG/usr/sbin/*
+
+# man pages are installed +x, *gag*
+chmod -x $PKG/usr/man/man1/*.1
+gzip -9 $PKG/usr/man/man1/*.1
+
+# The example config won't actually get used unless renamed to end
+# in .conf (per the man page). Also include a much simpler test
+# config that can be used as-is.
+mkdir -p $PKG/etc/$PRGNAM/triggers.d
+cp -a *.conf.examples $PKG/etc/$PRGNAM/triggers.d
+cat $CWD/test.conf.example > $PKG/etc/$PRGNAM/triggers.d/test.conf.example
+
+# init script written by SlackBuild author. It's pretty rudimentary.
+mkdir -p $PKG/etc/rc.d
+cat $CWD/rc.$PRGNAM > $PKG/etc/rc.d/rc.$PRGNAM
+
+# Include our own README since it has manual config instructions.
+mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION
+cp -a AUTHORS COPYING README $PKG/usr/doc/$PRGNAM-$VERSION
+cat $CWD/README > $PKG/usr/doc/$PRGNAM-$VERSION/README_SBo.txt
+cat $CWD/$PRGNAM.SlackBuild > $PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM.SlackBuild
+
+mkdir -p $PKG/install
+cat $CWD/slack-desc > $PKG/install/slack-desc
+
+cd $PKG
+/sbin/makepkg -l y -c n $OUTPUT/$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.${PKGTYPE:-tgz}
diff --git a/system/triggerhappy/triggerhappy.info b/system/triggerhappy/triggerhappy.info
new file mode 100644
index 0000000000..edaa5e53e6
--- /dev/null
+++ b/system/triggerhappy/triggerhappy.info
@@ -0,0 +1,10 @@
+PRGNAM="triggerhappy"
+VERSION="0.5.0"
+HOMEPAGE="https://github.com/wertarbyte/triggerhappy"
+DOWNLOAD="https://github.com/wertarbyte/triggerhappy/archive/release/0.5.0/triggerhappy-release-0.5.0.tar.gz"
+MD5SUM="2056cda4e9127cd375067f2cd3234616"
+DOWNLOAD_x86_64=""
+MD5SUM_x86_64=""
+REQUIRES=""
+MAINTAINER="B. Watson"
+EMAIL="yalhcru@gmail.com"
diff --git a/system/ttf-ancient-fonts/README b/system/ttf-ancient-fonts/README
new file mode 100644
index 0000000000..79c9476e25
--- /dev/null
+++ b/system/ttf-ancient-fonts/README
@@ -0,0 +1,20 @@
+ttf-ancient-fonts (Unicode fonts for ancient scripts)
+
+These are free unicode fonts for Aegean Scripts, other ancient scripts
+in the greater Aegean vicinity, Egyptian Hieroglyphs, Sumero-Akkadian
+Cuneiform, and Musical Symbols in the Unicode Standard.
+
+Despite the "ttf" in the name, the package includes a few .otf fonts
+as well.
+
+The fonts installed by this package include hinting, by default. If you
+for some reason require unhinted fonts, export HINTS=no in the
+environment before running the SlackBuild. If you don't know what font
+hinting is, you probably shouldn't worry about it.
+
+The source tarball contains an older version of the Symbola font.
+By default it's not included here, as there's already a symbola-font-ttf
+on SBo. It's a much newer version of Symbola, but is licensed under
+highly restrictive terms. If you'd rather have the older but free-to-use
+version of Symbola, set SYMBOLA=yes in the environment for this build,
+and don't install symbola-font-ttf.
diff --git a/system/ttf-ancient-fonts/README.debian b/system/ttf-ancient-fonts/README.debian
new file mode 100644
index 0000000000..2978e4a02a
--- /dev/null
+++ b/system/ttf-ancient-fonts/README.debian
@@ -0,0 +1,21 @@
+Versions of the fonts included in this package
+==============================================
+
+Aegean v.9.17 02/2017 Scripts and symbols of the Aegean world
+Textfonts v.7.17 02/2017 Fonts based on early Greek editions
+
+Symbola v.9.17 07/2017 Symbol blocks of The Unicode Standard
+Abydos v.1.23 07/2017 A data-font of 7440 Egyptian Hieroglyphs
+Aegyptus v.6.17 02/2017 Egyptian Hieroglyphs, Coptic, Meroitic
+Akkadian v.7.17 02/2017 Sumero-Akkadian Cuneiform
+Anatolian v.5.17 02/2017 Anatolian Hieroglyphs
+Maya v.4.17 02/2017 Maya Hieroglyphs
+Unidings v.9.17 07/2017 Icons for blocks of The Unicode Standard
+Musica v.3.17 02/2017 Musical Notation
+Analecta v.5.17 02/2017 Coptic, Gothic, Deseret
+
+The package also includes the following fonts obsoleted by the author:
+
+Alfios (superseded by Asea)
+Atavyros
+Avdira
diff --git a/system/ttf-ancient-fonts/copyright.debian b/system/ttf-ancient-fonts/copyright.debian
new file mode 100644
index 0000000000..24cd414239
--- /dev/null
+++ b/system/ttf-ancient-fonts/copyright.debian
@@ -0,0 +1,26 @@
+This package was debianized by:
+
+ Gürkan Myczko <gurkan@phys.ethz.ch> on Mon, 26 Nov 2007 12:13:25 +0100.
+
+It was downloaded from:
+
+ http://users.teilar.gr/~g1951d/
+
+Upstream Author:
+
+ George Douros <g1951d@teilar.gr>
+
+Copyright:
+
+ Copyright (C) 2007-2015 George Douros
+
+License:
+
+ Fonts are free for any use; they may be opened, edited,
+ modified, regenerated, packaged and redistributed.
+
+The Debian packaging is:
+
+ Copyright (C) 2007-2017 Gürkan Myczko <gurkan@phys.ethz.ch>
+ Copyright (C) 2015 Andrew Shadura <andrewsh@debian.org>
+ is licensed under the GPL, see `/usr/share/common-licenses/GPL'.
diff --git a/system/ttf-ancient-fonts/doinst.sh b/system/ttf-ancient-fonts/doinst.sh
new file mode 100644
index 0000000000..2b48ae510c
--- /dev/null
+++ b/system/ttf-ancient-fonts/doinst.sh
@@ -0,0 +1,13 @@
+if [ -x /usr/bin/mkfontdir ]; then
+ ( cd usr/share/fonts/TTF
+ mkfontscale .
+ mkfontdir .
+ )
+ ( cd usr/share/fonts/OTF
+ mkfontscale .
+ mkfontdir .
+ )
+fi
+if [ -x /usr/bin/fc-cache ]; then
+ /usr/bin/fc-cache -f
+fi
diff --git a/system/ttf-ancient-fonts/slack-desc b/system/ttf-ancient-fonts/slack-desc
new file mode 100644
index 0000000000..9df1af7ee8
--- /dev/null
+++ b/system/ttf-ancient-fonts/slack-desc
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description.
+# Line up the first '|' above the ':' following the base package name, and
+# the '|' on the right side marks the last column you can put a character in.
+# You must make exactly 11 lines for the formatting to be correct. It's also
+# customary to leave one space after the ':' except on otherwise blank lines.
+
+ |-----handy-ruler------------------------------------------------------|
+ttf-ancient-fonts: ttf-ancient-fonts (Unicode fonts for ancient scripts)
+ttf-ancient-fonts:
+ttf-ancient-fonts: These are free unicode fonts for Aegean Scripts, other ancient scripts
+ttf-ancient-fonts: in the greater Aegean vicinity, Egyptian Hieroglyphs, Sumero-Akkadian
+ttf-ancient-fonts: Cuneiform, and Musical Symbols in the Unicode Standard.
+ttf-ancient-fonts:
+ttf-ancient-fonts: The TTF fonts in this package are @UN@hinted.
+ttf-ancient-fonts:
+ttf-ancient-fonts:
+ttf-ancient-fonts:
+ttf-ancient-fonts:
diff --git a/system/ttf-ancient-fonts/ttf-ancient-fonts.SlackBuild b/system/ttf-ancient-fonts/ttf-ancient-fonts.SlackBuild
new file mode 100644
index 0000000000..f01844ad7e
--- /dev/null
+++ b/system/ttf-ancient-fonts/ttf-ancient-fonts.SlackBuild
@@ -0,0 +1,89 @@
+#!/bin/sh
+
+# Slackware build script for ttf-ancient-fonts
+
+# Written by B. Watson (yalhcru@gmail.com)
+
+# Licensed under the WTFPL. See http://www.wtfpl.net/txt/copying/ for details.
+
+# Notes to self (or anyone else who cares):
+
+# The tarball includes both hinted and unhinted versions of the fonts. The
+# Debian package installs <font>.ttf and <font>_hint.ttf for all the
+# fonts. However, if I do this, it's impossible to select the _hint
+# versions in any application (because the TTF names conflict). Since
+# it's possible to disable hinting in fontconfig or specific apps,
+# I'm only going to include the _hint versions here by default. User
+# can override with HINTS=no. The .otf fonts only come in one variety,
+# so they're always installed as-is.
+
+# There are newer versions of these fonts at https://dn-works.com/ufas/
+# but they're under what I consider a ludicrously restrictive license,
+# so I'm not going to touch them with a 10 foot pole. The symbola-font-ttf
+# package is the restrictive version, so I've made it possible to include
+# the older (free-to-use) Symbola here, though it's not the default.
+
+# There's no documentation in the tarball, so I borrow it from Debian.
+# There's no license info in the tarball, and neither the original site
+# nor web.archive.org still has has the "un-Debianized" zip files that
+# presumably included the licenses, so I'm including Debian's copyright
+# file that asserts these fonts are "free for any use".
+
+PRGNAM=ttf-ancient-fonts
+VERSION=${VERSION:-2.60}
+BUILD=${BUILD:-1}
+TAG=${TAG:-_SBo}
+ARCH=noarch
+
+CWD=$(pwd)
+TMP=${TMP:-/tmp/SBo}
+PKG=$TMP/package-$PRGNAM
+OUTPUT=${OUTPUT:-/tmp}
+
+set -e
+
+HINTS="${HINTS:-yes}"
+
+# If the user requested unhinted fonts, don't even bother to extract
+# the hinted versions.
+[ "$HINTS" != "yes" ] && UN=un && TAROPT="--exclude=*_hint.ttf"
+
+rm -rf $PKG
+mkdir -p $TMP $PKG $OUTPUT
+cd $TMP
+rm -rf $PRGNAM-$VERSION.orig
+tar xvf $CWD/${PRGNAM}_$VERSION.orig.tar.xz $TAROPT
+cd $PRGNAM-$VERSION.orig
+chown -R root:root .
+find -L . -perm /111 -a \! -perm 755 -a -exec chmod 755 {} \+ -o \
+ \! -perm /111 -a \! -perm 644 -a -exec chmod 644 {} \+
+
+HAS_SYMBOLA=yes
+[ "${SYMBOLA:-no}" = "no" ] && rm -f Symbola* && HAS_SYMBOLA=no
+
+# If we're doing hinted fonts, get rid of the unhinted ones. I can't think
+# of a sane way to avoid extracting them in the first place...
+[ "$HINTS" = "yes" ] && /bin/ls *.ttf | grep -v _hint | xargs rm -f
+
+for i in TTF OTF; do
+ mkdir -p $PKG/usr/share/fonts/$i
+ install -m0644 *.$( echo $i | tr A-Z a-z) $PKG/usr/share/fonts/$i
+done
+
+mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION
+for i in README.debian copyright.debian; do
+ cat $CWD/$i > $PKG/usr/doc/$PRGNAM-$VERSION/$i
+done
+cat $CWD/$PRGNAM.SlackBuild > $PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM.SlackBuild
+
+mkdir -p $PKG/install
+sed "s,@UN@,$UN," $CWD/slack-desc > $PKG/install/slack-desc
+if [ "$HAS_SYMBOLA" = "yes" ]; then
+ sed -i \
+ '17s/$/ This package includes the Symbola font, and will conflict with symbola-font-ttf/' \
+ $PKG/install/slack-desc
+fi
+cat $CWD/doinst.sh > $PKG/install/doinst.sh
+
+cd $PKG
+/sbin/makepkg -l y -c n $OUTPUT/$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.${PKGTYPE:-tgz}
diff --git a/system/ttf-ancient-fonts/ttf-ancient-fonts.info b/system/ttf-ancient-fonts/ttf-ancient-fonts.info
new file mode 100644
index 0000000000..3e51b06439
--- /dev/null
+++ b/system/ttf-ancient-fonts/ttf-ancient-fonts.info
@@ -0,0 +1,10 @@
+PRGNAM="ttf-ancient-fonts"
+VERSION="2.60"
+HOMEPAGE="https://packages.debian.org/sid/ttf-ancient-fonts"
+DOWNLOAD="http://deb.debian.org/debian/pool/main/t/ttf-ancient-fonts/ttf-ancient-fonts_2.60.orig.tar.xz"
+MD5SUM="a0132b3262b3eec9bc2fc8ff8c4ed9f3"
+DOWNLOAD_x86_64=""
+MD5SUM_x86_64=""
+REQUIRES=""
+MAINTAINER="B. Watson"
+EMAIL="yalhcru@gmail.com"
diff --git a/system/ttf-console-fonts/ttf-console-fonts.info b/system/ttf-console-fonts/ttf-console-fonts.info
index 8121f46f78..84c4372ff6 100644
--- a/system/ttf-console-fonts/ttf-console-fonts.info
+++ b/system/ttf-console-fonts/ttf-console-fonts.info
@@ -1,7 +1,7 @@
PRGNAM="ttf-console-fonts"
VERSION="20170403_abc5771"
-HOMEPAGE="http://urchlay.naptime.net/repos/ttf-console-fonts/about/"
-DOWNLOAD="http://urchlay.naptime.net/~urchlay/src/ttf-console-fonts-20170403_abc5771.tar.gz"
+HOMEPAGE="https://slackware.uk/~urchlay/repos/ttf-console-fonts/about/"
+DOWNLOAD="https://slackware.uk/~urchlay/src/ttf-console-fonts-20170403_abc5771.tar.gz"
MD5SUM="36be7b721871c2c21f15a9e9206066cb"
DOWNLOAD_x86_64=""
MD5SUM_x86_64=""
diff --git a/system/ttf-dark-courier/slack-desc b/system/ttf-dark-courier/slack-desc
index 88035e8e31..c765d1c2ec 100644
--- a/system/ttf-dark-courier/slack-desc
+++ b/system/ttf-dark-courier/slack-desc
@@ -9,7 +9,7 @@
ttf-dark-courier: ttf-dark-courier (HP font based on courier-new)
ttf-dark-courier:
ttf-dark-courier: Originally distributed by Hewlett-Packard many years ago. Dark
-ttf-dark-courier: Courier’s main goal is to make Courier-New more readable by making
+ttf-dark-courier: Courier's main goal is to make Courier-New more readable by making
ttf-dark-courier: it heavier and darker on the page. The slightly darker font gives
ttf-dark-courier: greater readability while being identical to the original courier-new
ttf-dark-courier: font shipped with Windows operating systems.
diff --git a/system/ttf-ibm-plex/slack-desc b/system/ttf-ibm-plex/slack-desc
index 3276be677c..696a49ef6f 100644
--- a/system/ttf-ibm-plex/slack-desc
+++ b/system/ttf-ibm-plex/slack-desc
@@ -5,15 +5,15 @@
# You must make exactly 11 lines for the formatting to be correct. It's also
# customary to leave one space after the ':' except on otherwise blank lines.
- |-----handy-ruler------------------------------------------------------|
-appname: ttf-ibm-plex (True Type Font)
-appname:
-appname: IBM Plex font family.
-appname:
-appname: Home page: https://github.com/IBM/plex
-appname:
-appname:
-appname:
-appname:
-appname:
-appname:
+ |-----handy-ruler------------------------------------------------------|
+ttf-ibm-plex: ttf-ibm-plex (True Type Font)
+ttf-ibm-plex:
+ttf-ibm-plex: IBM Plex font family.
+ttf-ibm-plex:
+ttf-ibm-plex: Homepage: https://github.com/IBM/plex
+ttf-ibm-plex:
+ttf-ibm-plex:
+ttf-ibm-plex:
+ttf-ibm-plex:
+ttf-ibm-plex:
+ttf-ibm-plex:
diff --git a/system/ttf-ibm-plex/ttf-ibm-plex.SlackBuild b/system/ttf-ibm-plex/ttf-ibm-plex.SlackBuild
index 4e3c4c7ab2..d7fd215368 100644
--- a/system/ttf-ibm-plex/ttf-ibm-plex.SlackBuild
+++ b/system/ttf-ibm-plex/ttf-ibm-plex.SlackBuild
@@ -4,7 +4,7 @@
#
# ISC License
#
-# Copyright (c) 2019, Lazar Isailovic <etflazar@gmail.com>
+# Copyright (c) 2019, 2020 Lazar Isailovic <etflazar@gmail.com>
#
# Permission to use, copy, modify, and/or distribute this software for any
# purpose with or without fee is hereby granted, provided that the above
@@ -19,7 +19,7 @@
# OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
PRGNAM=ttf-ibm-plex
-VERSION=${VERSION:-2.0.0}
+VERSION=${VERSION:-5.1.3}
BUILD=${BUILD:-1}
TAG=${TAG:-_SBo}
diff --git a/system/ttf-ibm-plex/ttf-ibm-plex.info b/system/ttf-ibm-plex/ttf-ibm-plex.info
index b4f1cd604a..86067dc59d 100644
--- a/system/ttf-ibm-plex/ttf-ibm-plex.info
+++ b/system/ttf-ibm-plex/ttf-ibm-plex.info
@@ -1,8 +1,8 @@
PRGNAM="ttf-ibm-plex"
-VERSION="2.0.0"
+VERSION="5.1.3"
HOMEPAGE="https://github.com/IBM/plex"
-DOWNLOAD="https://github.com/IBM/plex/releases/download/v2.0.0/TrueType.zip"
-MD5SUM="b96bde472b3717892c191380f0c2a028"
+DOWNLOAD="https://github.com/IBM/plex/releases/download/v5.1.3/TrueType.zip"
+MD5SUM="813956ffd825da7d502adb545bb4367c"
DOWNLOAD_x86_64=""
MD5SUM_x86_64=""
REQUIRES=""
diff --git a/system/ttf-ipaex/ttf-ipaex.SlackBuild b/system/ttf-ipaex/ttf-ipaex.SlackBuild
index b0504fac8d..979f694305 100644
--- a/system/ttf-ipaex/ttf-ipaex.SlackBuild
+++ b/system/ttf-ipaex/ttf-ipaex.SlackBuild
@@ -1,9 +1,8 @@
#!/bin/sh
# Slackware build script for ttf-ipaex
-# $Id: ttf-ipaex.SlackBuild,v 1.2 2018/09/18 03:45:07 pomf Exp pomf $
-# Copyright 2018 pomfland
+# Copyright 2020 pomfland
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
@@ -24,7 +23,7 @@
# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
PRGNAM=ttf-ipaex
-VERSION=${VERSION:-003.01}
+VERSION=${VERSION:-004.01}
BUILD=${BUILD:-1}
TAG=${TAG:-_SBo}
diff --git a/system/ttf-ipaex/ttf-ipaex.info b/system/ttf-ipaex/ttf-ipaex.info
index 19f9df4f8d..303be395b9 100644
--- a/system/ttf-ipaex/ttf-ipaex.info
+++ b/system/ttf-ipaex/ttf-ipaex.info
@@ -1,8 +1,8 @@
PRGNAM="ttf-ipaex"
-VERSION="003.01"
+VERSION="004.01"
HOMEPAGE="https://ipafont.ipa.go.jp"
-DOWNLOAD="https://oscdl.ipa.go.jp/IPAexfont/IPAexfont00301.zip"
-MD5SUM="1dfe7be38d73b389b63525b785423d2c"
+DOWNLOAD="https://ipafont.ipa.go.jp/IPAexfont/IPAexfont00401.zip"
+MD5SUM="57f2631833c1049ea89320971cc74ce5"
DOWNLOAD_x86_64=""
MD5SUM_x86_64=""
REQUIRES=""
diff --git a/system/ttf-mononoki/ttf-mononoki.SlackBuild b/system/ttf-mononoki/ttf-mononoki.SlackBuild
index ca2952723d..8c1dcee09a 100644
--- a/system/ttf-mononoki/ttf-mononoki.SlackBuild
+++ b/system/ttf-mononoki/ttf-mononoki.SlackBuild
@@ -2,7 +2,7 @@
# Slackware build script for ttf-mononoki
-# Copyright 2016-2017 Andrew Clemons, Wellington New Zealand
+# Copyright 2016-2017,2021 Andrew Clemons, Wellington New Zealand
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
@@ -24,7 +24,7 @@
PRGNAM=ttf-mononoki
SRCNAM=${PRGNAM#ttf-}
-VERSION=${VERSION:-1.2}
+VERSION=${VERSION:-1.3}
BUILD=${BUILD:-1}
TAG=${TAG:-_SBo}
diff --git a/system/ttf-mononoki/ttf-mononoki.info b/system/ttf-mononoki/ttf-mononoki.info
index 60e4396fab..a38db1a554 100644
--- a/system/ttf-mononoki/ttf-mononoki.info
+++ b/system/ttf-mononoki/ttf-mononoki.info
@@ -1,8 +1,8 @@
PRGNAM="ttf-mononoki"
-VERSION="1.2"
+VERSION="1.3"
HOMEPAGE="https://github.com/madmalik/mononoki"
-DOWNLOAD="https://github.com/madmalik/mononoki/archive/1.2/mononoki-1.2.tar.gz"
-MD5SUM="363cc670712f5c5decdc4bf5691e8828"
+DOWNLOAD="https://github.com/madmalik/mononoki/archive/1.3/mononoki-1.3.tar.gz"
+MD5SUM="48c04185ec480173990d6b8853662da5"
DOWNLOAD_x86_64=""
MD5SUM_x86_64=""
REQUIRES=""
diff --git a/system/ttf-paratype-pt-fonts/OFL.txt b/system/ttf-paratype-pt-fonts/OFL.txt
new file mode 100644
index 0000000000..18c908ba35
--- /dev/null
+++ b/system/ttf-paratype-pt-fonts/OFL.txt
@@ -0,0 +1,90 @@
+This Font Software is licensed under the Open Font License, Version 1.1
+This license is copied below, and is also available with a FAQ at:
+https://scripts.sil.org/OFL
+
+-----------------------------------------------------------
+SIL OPEN FONT LICENSE Version 1.1 - 26 February 2007
+-----------------------------------------------------------
+
+PREAMBLE
+The goals of the Open Font License (OFL) are to stimulate worldwide
+development of collaborative font projects, to support the font creation
+efforts of academic and linguistic communities, and to provide a free and
+open framework in which fonts may be shared and improved in partnership
+with others.
+
+The OFL allows the licensed fonts to be used, studied, modified and
+redistributed freely as long as they are not sold by themselves. The
+fonts, including any derivative works, can be bundled, embedded,
+redistributed and/or sold with any software provided that any reserved
+names are not used by derivative works. The fonts and derivatives,
+however, cannot be released under any other type of license. The
+requirement for fonts to remain under this license does not apply
+to any document created using the fonts or their derivatives.
+
+DEFINITIONS
+"Font Software" refers to the set of files released by the Copyright
+Holder(s) under this license and clearly marked as such. This may
+include source files, build scripts and documentation.
+
+"Reserved Font Name" refers to any names specified as such after the
+copyright statement(s).
+
+"Original Version" refers to the collection of Font Software components as
+distributed by the Copyright Holder(s).
+
+"Modified Version" refers to any derivative made by adding to, deleting,
+or substituting -- in part or in whole -- any of the components of the
+Original Version, by changing formats or by porting the Font Software to a
+new environment.
+
+"Author" refers to any designer, engineer, programmer, technical
+writer or other person who contributed to the Font Software.
+
+PERMISSION & CONDITIONS
+Permission is hereby granted, free of charge, to any person obtaining
+a copy of the Font Software, to use, study, copy, merge, embed, modify,
+redistribute, and sell modified and unmodified copies of the Font
+Software, subject to the following conditions:
+
+1) Neither the Font Software nor any of its individual components,
+in Original or Modified Versions, may be sold by itself.
+
+2) Original or Modified Versions of the Font Software may be bundled,
+redistributed and/or sold with any software, provided that each copy
+contains the above copyright notice and this license. These can be
+included either as stand-alone text files, human-readable headers or
+in the appropriate machine-readable metadata fields within text or
+binary files as long as those fields can be easily viewed by the user.
+
+3) No Modified Version of the Font Software may use the Reserved Font
+Name(s) unless explicit written permission is granted by the corresponding
+Copyright Holder. This restriction only applies to the primary font name as
+presented to the users.
+
+4) The name(s) of the Copyright Holder(s) or the Author(s) of the Font
+Software shall not be used to promote, endorse or advertise any
+Modified Version, except to acknowledge the contribution(s) of the
+Copyright Holder(s) and the Author(s) or with their explicit written
+permission.
+
+5) The Font Software, modified or unmodified, in part or in whole,
+must be distributed entirely under this license, and must not be
+distributed under any other license. The requirement for fonts to
+remain under this license does not apply to any document created
+using the Font Software.
+
+TERMINATION
+This license becomes null and void if any of the above conditions are
+not met.
+
+DISCLAIMER
+THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF
+MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT
+OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL THE
+COPYRIGHT HOLDER BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
+INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL
+DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+FROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM
+OTHER DEALINGS IN THE FONT SOFTWARE.
diff --git a/system/ttf-paratype-pt-fonts/README b/system/ttf-paratype-pt-fonts/README
index 551e37c317..8d66ce0b39 100644
--- a/system/ttf-paratype-pt-fonts/README
+++ b/system/ttf-paratype-pt-fonts/README
@@ -1,18 +1,27 @@
-The Public Type (PT) fonts are free OFL licensed fonts released in
-2009-2011 by the ParaType company. They consists of PT Sans (includes 8
-styles), PT Serif (6 styles), and PT Mono (2 styles) families.
+This package contains free OFL licensed fonts released in 2009-2019 by
+the ParaType company. They consist of 7 families:
+
+* PT Sans (8 styles)
+* PT Serif (6 styles)
+* PT Mono (2 styles)
+* PT Astra Sans (4 styles)
+* PT Astra Serif (4 styles)
+* PT Root UI (5 styles)
+* Golos Text (6 styles)
The fonts cover a long list of Eurasian languages based on Latin and
Cyrillic scripts.
-The PT fonts were primarily designed by Alexandra Korolkova.
+PT Astra Sans and PT Astra Serif fonts are metrically compatible with
+Times New Roman.
-The texlive-fonts package contains a different variant of PT fonts in
+The texlive-fonts package contains earlier versions of PT Sans, PT
+Serif, and PT Mono fonts in
/usr/share/texmf-dist/fonts/truetype/paratype/
-The present package contains fonts with the truetype specific
-hhea-metrics adapted for linux environment.
+In this package these families have the truetype specific hhea-metrics
+adapted for linux environment.
-PT fonts are primarily designed to be used with subpixel hinting (aka
+These fonts are primarily designed to be used with subpixel hinting (aka
ClearType) activated.
When using subpixel hinting, it is recommended to disable embedded
diff --git a/system/ttf-paratype-pt-fonts/slack-desc b/system/ttf-paratype-pt-fonts/slack-desc
index 887ca2238d..9d00d224db 100644
--- a/system/ttf-paratype-pt-fonts/slack-desc
+++ b/system/ttf-paratype-pt-fonts/slack-desc
@@ -6,14 +6,14 @@
# customary to leave one space after the ':' except on otherwise blank lines.
|-----handy-ruler------------------------------------------------------|
-ttf-paratype-pt-fonts: ttf-paratype-pt-fonts (Public Type (PT)
+ttf-paratype-pt-fonts: ttf-paratype-pt-fonts (ParaType free fonts)
ttf-paratype-pt-fonts:
-ttf-paratype-pt-fonts: The Public Type (PT) fonts are free OFL licensed fonts released in
-ttf-paratype-pt-fonts: 2009-2011 by the ParaType company. They consists of PT Sans (includes
-ttf-paratype-pt-fonts: 8 styles), PT Serif (6 styles), and PT Mono (2 styles) families.
+ttf-paratype-pt-fonts: This package contains 7 free OFL licensed fonts released in 2009-2019
+ttf-paratype-pt-fonts: by the ParaType company. The fonts include 35 styles and cover a long
+ttf-paratype-pt-fonts: list of Eurasian languages based on Latin and Cyrillic scripts.
+ttf-paratype-pt-fonts:
+ttf-paratype-pt-fonts:
+ttf-paratype-pt-fonts: Homepage: https://www.paratype.com/catalog?freefonts=true
ttf-paratype-pt-fonts:
-ttf-paratype-pt-fonts: The fonts cover a long list of Eurasian languages based on Latin and
-ttf-paratype-pt-fonts: Cyrillic scripts.
ttf-paratype-pt-fonts:
-ttf-paratype-pt-fonts: Homepage: https://company.paratype.com/pt-sans-pt-serif
ttf-paratype-pt-fonts:
diff --git a/system/ttf-paratype-pt-fonts/ttf-paratype-pt-fonts.SlackBuild b/system/ttf-paratype-pt-fonts/ttf-paratype-pt-fonts.SlackBuild
index b55b37fbea..206f546920 100644
--- a/system/ttf-paratype-pt-fonts/ttf-paratype-pt-fonts.SlackBuild
+++ b/system/ttf-paratype-pt-fonts/ttf-paratype-pt-fonts.SlackBuild
@@ -2,7 +2,7 @@
# Slackware build script for ttf-paratype-pt-fonts
-# Copyright 2016, Alexander Verbovetsky, Moscow, Russia
+# Copyright 2016-2020, Alexander Verbovetsky, Moscow, Russia
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
@@ -23,7 +23,7 @@
# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
PRGNAM=ttf-paratype-pt-fonts
-VERSION=${VERSION:-2.5_1.2_1.3} # Sans_Serif_Mono
+VERSION=${VERSION:-2019}
BUILD=${BUILD:-1}
TAG=${TAG:-_SBo}
@@ -38,15 +38,10 @@ set -e
rm -rf $PKG
mkdir -p $TMP $PKG $OUTPUT
-cd $TMP
-rm -rf $PRGNAM-$VERSION
-mkdir -p $PRGNAM-$VERSION
-cd $PRGNAM-$VERSION
-unzip $CWD/PTSansOFL.zip
-rm PTSSM_OFL.txt
-unzip $CWD/PTSerifOFL.zip
-rm PTSSM_OFL.txt
-unzip $CWD/PTMonoOFL.zip
+mkdir -p $PKG/usr/share/fonts/TTF
+unzip -j "$CWD/*.zip" *.ttf -d $PKG/usr/share/fonts/TTF
+
+cd $PKG/usr/share/fonts/TTF
chown -R root:root .
find -L . \
@@ -55,11 +50,8 @@ find -L . \
\( -perm 666 -o -perm 664 -o -perm 640 -o -perm 600 -o -perm 444 \
-o -perm 440 -o -perm 400 \) -exec chmod 644 {} \;
-mkdir -p $PKG/usr/share/fonts/TTF
-cp -a *.ttf $PKG/usr/share/fonts/TTF
-
mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION
-cp -a PTSSM_OFL.txt $PKG/usr/doc/$PRGNAM-$VERSION
+cp -a $CWD/OFL.txt $PKG/usr/doc/$PRGNAM-$VERSION
cat $CWD/$PRGNAM.SlackBuild > $PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM.SlackBuild
mkdir -p $PKG/etc/fonts/conf.{d,avail}
diff --git a/system/ttf-paratype-pt-fonts/ttf-paratype-pt-fonts.info b/system/ttf-paratype-pt-fonts/ttf-paratype-pt-fonts.info
index 622b61443d..27da7a2807 100644
--- a/system/ttf-paratype-pt-fonts/ttf-paratype-pt-fonts.info
+++ b/system/ttf-paratype-pt-fonts/ttf-paratype-pt-fonts.info
@@ -1,12 +1,22 @@
PRGNAM="ttf-paratype-pt-fonts"
-VERSION="2.5_1.2_1.3"
-HOMEPAGE="https://company.paratype.com/pt-sans-pt-serif"
+VERSION="2019"
+HOMEPAGE="https://www.paratype.com/catalog?freefonts=true"
DOWNLOAD="https://downloads.sourceforge.net/slackbuildsdirectlinks/ttf-paratype-pt-fonts/PTSansOFL.zip \
https://downloads.sourceforge.net/slackbuildsdirectlinks/ttf-paratype-pt-fonts/PTSerifOFL.zip \
- https://downloads.sourceforge.net/slackbuildsdirectlinks/ttf-paratype-pt-fonts/PTMonoOFL.zip"
+ https://downloads.sourceforge.net/slackbuildsdirectlinks/ttf-paratype-pt-fonts/PTMonoOFL.zip \
+ https://downloads.sourceforge.net/slackbuildsdirectlinks/ttf-paratype-pt-fonts/PT%20Astra%20Sans_OtTt.zip \
+ https://downloads.sourceforge.net/slackbuildsdirectlinks/ttf-paratype-pt-fonts/PT%20Astra%20Serif_OtTt.zip \
+ https://downloads.sourceforge.net/slackbuildsdirectlinks/ttf-paratype-pt-fonts/PT%20Root%20UI_OtTt.zip \
+ https://downloads.sourceforge.net/slackbuildsdirectlinks/ttf-paratype-pt-fonts/PT%20Root%20UI%20VF_OtTt.zip \
+ https://downloads.sourceforge.net/slackbuildsdirectlinks/ttf-paratype-pt-fonts/Golos%20Text_OtTt.zip"
MD5SUM="e5b99133d3b72cd35400b5aa810ad0ee \
4dd07baa86fd30977cdfabd82bf2ad1d \
- 1c6d5c30fca24130b2888b9427a75134"
+ 1c6d5c30fca24130b2888b9427a75134 \
+ 1033f9d5a25ff79e13f9f5fc68ed6cbc \
+ da2896d7d602090dc14af9c7da0dde24 \
+ 43ca19bdada4b1287b162fb098ebbe9d \
+ 0387e570db7f99f77bf5d76dbfcb8242 \
+ 98dd266db0d1e1e66b54df53e61e2223"
DOWNLOAD_x86_64=""
MD5SUM_x86_64=""
REQUIRES=""
diff --git a/system/ttf-xo-fonts/README b/system/ttf-xo-fonts/README
new file mode 100644
index 0000000000..87cbb0ebe1
--- /dev/null
+++ b/system/ttf-xo-fonts/README
@@ -0,0 +1,17 @@
+This package contains free fonts released in 2016-2019 by the New Cloud
+Technologies company (the developer of the office suite "MyOffice").
+They consist of 10 families based on Latin and Cyrillic scripts:
+
+* XO Oriel (4 styles)
+* XO Thames (4 styles)
+* XO Caliburn (4 styles)
+* XO Courser (4 styles)
+* XO Tahion (2 styles)
+* XO Windy
+* XO Symbol (2 variants)
+* XO Oriel Condensed
+* XO Trebizond
+* XO Verbena
+
+XO Fonts are metrically compatible with common Microsoft and Monotype
+fonts and are designed as an alternative to them.
diff --git a/system/ttf-xo-fonts/doinst.sh b/system/ttf-xo-fonts/doinst.sh
new file mode 100644
index 0000000000..883c47ac0a
--- /dev/null
+++ b/system/ttf-xo-fonts/doinst.sh
@@ -0,0 +1,10 @@
+# Update the X font indexes:
+if [ -x /usr/bin/mkfontdir ]; then
+ ( cd /usr/share/fonts/TTF
+ mkfontscale .
+ mkfontdir .
+ )
+fi
+if [ -x /usr/bin/fc-cache ]; then
+ /usr/bin/fc-cache -f
+fi
diff --git a/system/ttf-xo-fonts/slack-desc b/system/ttf-xo-fonts/slack-desc
new file mode 100644
index 0000000000..37e45d5fdc
--- /dev/null
+++ b/system/ttf-xo-fonts/slack-desc
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description.
+# Line up the first '|' above the ':' following the base package name, and
+# the '|' on the right side marks the last column you can put a character in.
+# You must make exactly 11 lines for the formatting to be correct. It's also
+# customary to leave one space after the ':' except on otherwise blank lines.
+
+ |-----handy-ruler------------------------------------------------------|
+ttf-xo-fonts: ttf-xo-fonts (free XO Fonts)
+ttf-xo-fonts:
+ttf-xo-fonts: This package contains 10 free fonts released in 2016-2019 by the New
+ttf-xo-fonts: Cloud Technologies company. The fonts include 24 styles and are based
+ttf-xo-fonts: on Latin and Cyrillic scripts. XO Fonts are metrically compatible with
+ttf-xo-fonts: common Microsoft and Monotype fonts and are designed as an alternative
+ttf-xo-fonts: to them.
+ttf-xo-fonts:
+ttf-xo-fonts: Homepage: https://fonts.myoffice.ru
+ttf-xo-fonts:
+ttf-xo-fonts:
diff --git a/system/ttf-xo-fonts/ttf-xo-fonts.SlackBuild b/system/ttf-xo-fonts/ttf-xo-fonts.SlackBuild
new file mode 100644
index 0000000000..907790f575
--- /dev/null
+++ b/system/ttf-xo-fonts/ttf-xo-fonts.SlackBuild
@@ -0,0 +1,61 @@
+#!/bin/sh
+
+# Slackware build script for ttf-xo-fonts
+
+# Copyright 2020, Alexander Verbovetsky, Moscow, Russia
+# 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.
+
+PRGNAM=ttf-xo-fonts
+VERSION=${VERSION:-2019}
+BUILD=${BUILD:-1}
+TAG=${TAG:-_SBo}
+
+ARCH=noarch
+
+CWD=$(pwd)
+TMP=${TMP:-/tmp/SBo}
+PKG=$TMP/package-$PRGNAM
+OUTPUT=${OUTPUT:-/tmp}
+
+set -e
+
+rm -rf $PKG
+mkdir -p $TMP $PKG $OUTPUT
+mkdir -p $PKG/usr/share/fonts/TTF
+unzip -j $CWD/all_fonts_myoffice.zip *.ttf -x "*__*" -d $PKG/usr/share/fonts/TTF
+
+cd $PKG/usr/share/fonts/TTF
+
+chown -R root:root .
+find -L . \
+ \( -perm 777 -o -perm 775 -o -perm 750 -o -perm 711 -o -perm 555 \
+ -o -perm 511 \) -exec chmod 755 {} \; -o \
+ \( -perm 666 -o -perm 664 -o -perm 640 -o -perm 600 -o -perm 444 \
+ -o -perm 440 -o -perm 400 \) -exec chmod 644 {} \;
+
+mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION
+cat $CWD/$PRGNAM.SlackBuild > $PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM.SlackBuild
+
+mkdir -p $PKG/install
+cat $CWD/slack-desc > $PKG/install/slack-desc
+cat $CWD/doinst.sh > $PKG/install/doinst.sh
+
+cd $PKG
+/sbin/makepkg -l y -c n $OUTPUT/$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.${PKGTYPE:-tgz}
diff --git a/system/ttf-xo-fonts/ttf-xo-fonts.info b/system/ttf-xo-fonts/ttf-xo-fonts.info
new file mode 100644
index 0000000000..f62e5b18cf
--- /dev/null
+++ b/system/ttf-xo-fonts/ttf-xo-fonts.info
@@ -0,0 +1,10 @@
+PRGNAM="ttf-xo-fonts"
+VERSION="2019"
+HOMEPAGE="https://fonts.myoffice.ru"
+DOWNLOAD="https://fonts.myoffice.ru/wp-content/themes/template/fonts_page/files/all_fonts_myoffice.zip"
+MD5SUM="16d1ea41f10ad0ecdb2afcac3ee56361"
+DOWNLOAD_x86_64=""
+MD5SUM_x86_64=""
+REQUIRES=""
+MAINTAINER="Alexander Verbovetsky"
+EMAIL="alik@ejik.org"
diff --git a/system/ufiformat/slack-desc b/system/ufiformat/slack-desc
index 169617d50a..897e7412ec 100644
--- a/system/ufiformat/slack-desc
+++ b/system/ufiformat/slack-desc
@@ -8,7 +8,7 @@
|-----handy-ruler------------------------------------------------------|
ufiformat: ufiformat (a formatting utility for USB floppy drives)
ufiformat:
-ufiformat: Homepage: http://www.geocities.jp/tedi_world/format_usbfdd_e.html
+ufiformat: https://github.com/tedigh/ufiformat
ufiformat:
ufiformat:
ufiformat:
diff --git a/system/ufiformat/ufiformat.SlackBuild b/system/ufiformat/ufiformat.SlackBuild
index 9363d136f4..670c9432e0 100644
--- a/system/ufiformat/ufiformat.SlackBuild
+++ b/system/ufiformat/ufiformat.SlackBuild
@@ -2,9 +2,13 @@
# Slackware build script for ufiFormat
# Written by Ben Collver <bencollver@gmail.com>
+# Modified by Bojan Popovic <bojanpopovic@slackware-srbija.org>
+
+# 02 feb 2020 - 0.9.9 build 1 - Updated to 0.9.9. Updated homepage and download links.
+# (Bojan)
PRGNAM=ufiformat
-VERSION=${VERSION:-0.9.6}
+VERSION=${VERSION:-0.9.9}
BUILD=${BUILD:-1}
TAG=${TAG:-_SBo}
diff --git a/system/ufiformat/ufiformat.info b/system/ufiformat/ufiformat.info
index a5ab921ab0..aa9e4668e7 100644
--- a/system/ufiformat/ufiformat.info
+++ b/system/ufiformat/ufiformat.info
@@ -1,10 +1,10 @@
PRGNAM="ufiformat"
-VERSION="0.9.6"
-HOMEPAGE="http://www.geocities.jp/tedi_world/format_usbfdd_e.html"
-DOWNLOAD="http://www.geocities.jp/tedi_world/ufiformat-0.9.6.tar.gz"
-MD5SUM="53a1c033bfca4f182a2c1199484484d8"
+VERSION="0.9.9"
+HOMEPAGE="https://github.com/tedigh/ufiformat"
+DOWNLOAD="https://github.com/tedigh/ufiformat/archive/v0.9.9/ufiformat-0.9.9.tar.gz"
+MD5SUM="9a5766b70c469732624d6f7d7941be7d"
DOWNLOAD_x86_64=""
MD5SUM_x86_64=""
REQUIRES=""
-MAINTAINER="Ben Collver"
-EMAIL="bencollver@gmail.com"
+MAINTAINER="Bojan Popovic"
+EMAIL="bocke@slackware-srbija.org"
diff --git a/system/uhubctl/uhubctl.SlackBuild b/system/uhubctl/uhubctl.SlackBuild
index 04fa6a1781..6ebf7e1171 100644
--- a/system/uhubctl/uhubctl.SlackBuild
+++ b/system/uhubctl/uhubctl.SlackBuild
@@ -12,7 +12,6 @@ if [ -z "$ARCH" ]; then
case "$( uname -m )" in
i?86) ARCH=i586 ;;
arm*) ARCH=arm ;;
- # Unless $ARCH is already set, use uname -m for all other archs:
*) ARCH=$( uname -m ) ;;
esac
fi
diff --git a/system/uif2iso/uif2iso.SlackBuild b/system/uif2iso/uif2iso.SlackBuild
index 3c80bf8c12..1b9a9ac20b 100644
--- a/system/uif2iso/uif2iso.SlackBuild
+++ b/system/uif2iso/uif2iso.SlackBuild
@@ -2,7 +2,7 @@
# Slackware build script for uif2iso
-# Copyright 2009 David Woodfall <dave@dawoodfall.net>
+# Copyright 2009 David Woodfall <dave@slackbuilds.org>
# All rights reserved.
#
# aka dive in #slackware on freenode.net
diff --git a/system/uif2iso/uif2iso.info b/system/uif2iso/uif2iso.info
index d1e3a7d511..645d3d6045 100644
--- a/system/uif2iso/uif2iso.info
+++ b/system/uif2iso/uif2iso.info
@@ -7,4 +7,4 @@ DOWNLOAD_x86_64=""
MD5SUM_x86_64=""
REQUIRES=""
MAINTAINER="David Woodfall"
-EMAIL="dave@dawoodfall.net"
+EMAIL="dave@slackbuilds.org"
diff --git a/system/unar/unar.SlackBuild b/system/unar/unar.SlackBuild
index 4858c94efa..bf543ed322 100644
--- a/system/unar/unar.SlackBuild
+++ b/system/unar/unar.SlackBuild
@@ -2,7 +2,7 @@
# Slackware build script for <appname>
-# Copyright 2016-2019 Alexander Verbovetsky, Moscow, Russia
+# Copyright 2016-2020 Alexander Verbovetsky, Moscow, Russia
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
@@ -23,7 +23,7 @@
# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
PRGNAM=unar
-VERSION=${VERSION:-1.10.6}
+VERSION=${VERSION:-1.10.7}
UDVERSION=${UDVERSION:-1.1}
BUILD=${BUILD:-1}
TAG=${TAG:-_SBo}
diff --git a/system/unar/unar.info b/system/unar/unar.info
index 736bf75e1f..d0aad06e4a 100644
--- a/system/unar/unar.info
+++ b/system/unar/unar.info
@@ -1,9 +1,9 @@
PRGNAM="unar"
-VERSION="1.10.6"
+VERSION="1.10.7"
HOMEPAGE="https://theunarchiver.com/command-line"
-DOWNLOAD="https://github.com/MacPaw/XADMaster/archive/v1.10.6/XADMaster-1.10.6.tar.gz \
+DOWNLOAD="https://github.com/MacPaw/XADMaster/archive/v1.10.7/XADMaster-1.10.7.tar.gz \
https://github.com/MacPaw/universal-detector/archive/1.1/universal-detector-1.1.tar.gz"
-MD5SUM="db67f8e5ee29fb0c7e3b094385649825 \
+MD5SUM="6cbb0629367e4f0fc0eac5af39786c6d \
5c87b87c72609b23110236c6d7aac8e5"
DOWNLOAD_x86_64=""
MD5SUM_x86_64=""
diff --git a/system/unetbootin/unetbootin.SlackBuild b/system/unetbootin/unetbootin.SlackBuild
index dedae6b2e7..23e9f5ba58 100644
--- a/system/unetbootin/unetbootin.SlackBuild
+++ b/system/unetbootin/unetbootin.SlackBuild
@@ -9,9 +9,10 @@
# v608: (jw) version bump to 608 21 March 2015 (also tested on multilib 14.1)
# v647: (jw) version bump to 647 26 May 2017
# v661: (jw) version bump to 661 29 July 2018 / take sources from github.com as the sourceforge page seems to be somehow obsolete
+# v677: (SBo) version bump to 677 14 April 2020
PRGNAM=unetbootin
-VERSION=${VERSION:-661}
+VERSION=${VERSION:-677}
BUILD=${BUILD:-1}
TAG=${TAG:-_SBo}
diff --git a/system/unetbootin/unetbootin.info b/system/unetbootin/unetbootin.info
index d6f3dbb6d5..43633d144b 100644
--- a/system/unetbootin/unetbootin.info
+++ b/system/unetbootin/unetbootin.info
@@ -1,8 +1,8 @@
PRGNAM="unetbootin"
-VERSION="661"
+VERSION="677"
HOMEPAGE="https://unetbootin.github.io"
-DOWNLOAD="https://github.com/unetbootin/unetbootin/releases/download/661/unetbootin-source-661.tar.gz"
-MD5SUM="eafb57095669add5d3eef49193bcb5a9"
+DOWNLOAD="https://github.com/unetbootin/unetbootin/releases/download/677/unetbootin-source-677.tar.gz"
+MD5SUM="1478ccd53e0ea003fd33135cf458b9e3"
DOWNLOAD_x86_64=""
MD5SUM_x86_64=""
REQUIRES="p7zip"
diff --git a/system/unicode-character-database/unicode-character-database.SlackBuild b/system/unicode-character-database/unicode-character-database.SlackBuild
index f3a1be5631..166ad24775 100644
--- a/system/unicode-character-database/unicode-character-database.SlackBuild
+++ b/system/unicode-character-database/unicode-character-database.SlackBuild
@@ -2,7 +2,7 @@
# Slackware build script for unicode-character-database
-# Copyright 2016-2019 Willy Sudiarto Raharjo <willysr@slackbuilds.org>
+# Copyright 2016-2020 Willy Sudiarto Raharjo <willysr@slackbuilds.org>
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
@@ -25,7 +25,7 @@
PRGNAM=unicode-character-database
SRCNAM1=UCD
SRCNAM2=Unihan
-VERSION=${VERSION:-12.1.0}
+VERSION=${VERSION:-13.0.0}
BUILD=${BUILD:-1}
TAG=${TAG:-_SBo}
diff --git a/system/unicode-character-database/unicode-character-database.info b/system/unicode-character-database/unicode-character-database.info
index 8f17c772c2..841babe8e8 100644
--- a/system/unicode-character-database/unicode-character-database.info
+++ b/system/unicode-character-database/unicode-character-database.info
@@ -1,10 +1,10 @@
PRGNAM="unicode-character-database"
-VERSION="12.1.0"
+VERSION="13.0.0"
HOMEPAGE="https://www.unicode.org/ucd/"
-DOWNLOAD="https://www.unicode.org/Public/zipped/12.1.0/UCD.zip \
- https://www.unicode.org/Public/zipped/12.1.0/Unihan.zip"
-MD5SUM="430cbdac2615451571dd69a976dd08f6 \
- 55a93848bb2810b942d607e55ad01bf3"
+DOWNLOAD="https://www.unicode.org/Public/zipped/13.0.0/UCD.zip \
+ https://www.unicode.org/Public/zipped/13.0.0/Unihan.zip"
+MD5SUM="23f7bf8cc99adef525718b2bee0867ba \
+ 1e7f8b6bf1cf69d3602fe91f97aaee01"
DOWNLOAD_x86_64=""
MD5SUM_x86_64=""
REQUIRES=""
diff --git a/system/unigine-heaven-benchmark/README b/system/unigine-heaven-benchmark/README
new file mode 100644
index 0000000000..81758f21e6
--- /dev/null
+++ b/system/unigine-heaven-benchmark/README
@@ -0,0 +1,9 @@
+Heaven Benchmark is a GPU-intensive benchmark that hammers graphics
+cards to the limits. This powerful tool can be effectively used
+to determine the stability of a GPU under extremely stressful
+conditions, as well as check the cooling system's potential
+under maximum heat output.
+
+Please note that the source file is 273mb if you are on a slow
+internet connection.
+
diff --git a/system/unigine-heaven-benchmark/doinst.sh b/system/unigine-heaven-benchmark/doinst.sh
new file mode 100644
index 0000000000..392c12adb9
--- /dev/null
+++ b/system/unigine-heaven-benchmark/doinst.sh
@@ -0,0 +1,4 @@
+if [ -x /usr/bin/update-desktop-database ]; then
+ /usr/bin/update-desktop-database -q usr/share/applications
+fi
+
diff --git a/system/unigine-heaven-benchmark/slack-desc b/system/unigine-heaven-benchmark/slack-desc
new file mode 100644
index 0000000000..3a3cc4a94d
--- /dev/null
+++ b/system/unigine-heaven-benchmark/slack-desc
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|'
+# on the right side marks the last column you can put a character in. You must
+# make exactly 11 lines for the formatting to be correct. It's also
+# customary to leave one space after the ':'.
+
+ |-----handy-ruler------------------------------------------------------|
+unigine-heaven-benchmark: unigine-heaven-benchmark (benchmark software)
+unigine-heaven-benchmark:
+unigine-heaven-benchmark: Heaven Benchmark is a GPU-intensive benchmark that hammers graphics
+unigine-heaven-benchmark: cards to the limits. This powerful tool can be effectively used
+unigine-heaven-benchmark: to determine the stability of a GPU under extremely stressful
+unigine-heaven-benchmark: conditions, as well as check the cooling system's potential
+unigine-heaven-benchmark: under maximum heat output.
+unigine-heaven-benchmark:
+unigine-heaven-benchmark:
+unigine-heaven-benchmark:
+unigine-heaven-benchmark:
diff --git a/system/unigine-heaven-benchmark/unigine-heaven-benchmark.SlackBuild b/system/unigine-heaven-benchmark/unigine-heaven-benchmark.SlackBuild
new file mode 100644
index 0000000000..315b37cdaf
--- /dev/null
+++ b/system/unigine-heaven-benchmark/unigine-heaven-benchmark.SlackBuild
@@ -0,0 +1,94 @@
+#!/bin/sh
+
+# Slackware build script for unigine-heaven-benchmark
+
+# Copyright 2020 Matt Dinslage Springfield, MO
+# 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.
+
+PRGNAM=unigine-heaven-benchmark
+VERSION=${VERSION:-4.0}
+BUILD=${BUILD:-1}
+TAG=${TAG:-_SBo}
+
+SRCNAM=Unigine_Heaven
+
+if [ -z "$ARCH" ]; then
+ case "$( uname -m )" in
+ i?86) ARCH=i586 ;;
+ arm*) ARCH=arm ;;
+ *) ARCH=$( uname -m ) ;;
+ esac
+fi
+
+CWD=$(pwd)
+TMP=${TMP:-/tmp/SBo}
+PKG=$TMP/package-$PRGNAM
+OUTPUT=${OUTPUT:-/tmp}
+
+if [ "$ARCH" = "i586" ]; then
+ SLKCFLAGS="-O2 -march=i586 -mtune=i686"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "i686" ]; then
+ SLKCFLAGS="-O2 -march=i686 -mtune=i686"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "x86_64" ]; then
+ SLKCFLAGS="-O2 -fPIC"
+ LIBDIRSUFFIX="64"
+else
+ SLKCFLAGS="-O2"
+ LIBDIRSUFFIX=""
+fi
+
+set -e
+
+rm -rf $PKG
+mkdir -p $TMP $PKG $OUTPUT
+cd $TMP
+rm -rf $PRGNAM-$VERSION
+cd $PKG
+sh $CWD/$SRCNAM-$VERSION.run --target "$PKG/opt/$PRGNAM" --noexec
+chown -R root:root .
+find -L . \
+ \( -perm 777 -o -perm 775 -o -perm 750 -o -perm 711 -o -perm 555 \
+ -o -perm 511 \) -exec chmod 755 {} \; -o \
+ \( -perm 666 -o -perm 664 -o -perm 640 -o -perm 600 -o -perm 444 \
+ -o -perm 440 -o -perm 400 \) -exec chmod 644 {} \;
+
+# copy excutable
+mkdir -p $PKG/usr/bin
+cp $PKG/opt/$PRGNAM/heaven $PKG/usr/bin
+
+# fix excutable
+sed -i 's,./bin,/opt/unigine-heaven-benchmark/bin,g' $PKG/usr/bin/heaven
+
+#add application launcher
+mkdir -p $PKG/usr/share/applications
+cat $CWD/$PRGNAM.desktop > $PKG/usr/share/applications/$PRGNAM.desktop
+
+mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION
+cp -a $PKG/opt/$PRGNAM/documentation/User_Manual.pdf $PKG/usr/doc/$PRGNAM-$VERSION
+cat $CWD/$PRGNAM.SlackBuild > $PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM.SlackBuild
+
+mkdir -p $PKG/install
+cat $CWD/slack-desc > $PKG/install/slack-desc
+cat $CWD/doinst.sh > $PKG/install/doinst.sh
+
+cd $PKG
+/sbin/makepkg -l y -c n $OUTPUT/$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.${PKGTYPE:-tgz}
diff --git a/system/unigine-heaven-benchmark/unigine-heaven-benchmark.desktop b/system/unigine-heaven-benchmark/unigine-heaven-benchmark.desktop
new file mode 100644
index 0000000000..c28649c996
--- /dev/null
+++ b/system/unigine-heaven-benchmark/unigine-heaven-benchmark.desktop
@@ -0,0 +1,9 @@
+[Desktop Entry]
+Name=unigine-heaven-benchmark
+GenericName=System benchmarking software
+Exec=heaven
+Terminal=false
+Type=Application
+Categories=Game;
+Icon=/opt/unigine-heaven-benchmark/data/launcher/icon.png
+StartupNotify=false
diff --git a/system/unigine-heaven-benchmark/unigine-heaven-benchmark.info b/system/unigine-heaven-benchmark/unigine-heaven-benchmark.info
new file mode 100644
index 0000000000..6feb42d90c
--- /dev/null
+++ b/system/unigine-heaven-benchmark/unigine-heaven-benchmark.info
@@ -0,0 +1,10 @@
+PRGNAM="unigine-heaven-benchmark"
+VERSION="4.0"
+HOMEPAGE="https://benchmark.unigine.com/heaven"
+DOWNLOAD="https://assets.unigine.com/d/Unigine_Heaven-4.0.run"
+MD5SUM="71e87df9f7b7569e9a2ea307fde2d8f4"
+DOWNLOAD_x86_64=""
+MD5SUM_x86_64=""
+REQUIRES=""
+MAINTAINER="M.Dinslage"
+EMAIL="daedra1980@gmail.com"
diff --git a/system/unigine-valley-benchmark/README b/system/unigine-valley-benchmark/README
new file mode 100644
index 0000000000..b567bdc095
--- /dev/null
+++ b/system/unigine-valley-benchmark/README
@@ -0,0 +1,7 @@
+unigine-valley-benchmark is an extreme performance and stability test
+for PC hardware: video card, power supply, cooling system. Check
+your rig in stock and overclocking modes with real-life load! Also
+includes interactive experience in a beautiful, detailed environment.
+
+Please not the source is 394mb if you are on a slow internet
+connection.
diff --git a/system/unigine-valley-benchmark/doinst.sh b/system/unigine-valley-benchmark/doinst.sh
new file mode 100644
index 0000000000..392c12adb9
--- /dev/null
+++ b/system/unigine-valley-benchmark/doinst.sh
@@ -0,0 +1,4 @@
+if [ -x /usr/bin/update-desktop-database ]; then
+ /usr/bin/update-desktop-database -q usr/share/applications
+fi
+
diff --git a/system/unigine-valley-benchmark/slack-desc b/system/unigine-valley-benchmark/slack-desc
new file mode 100644
index 0000000000..cd8e8cc8a5
--- /dev/null
+++ b/system/unigine-valley-benchmark/slack-desc
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|'
+# on the right side marks the last column you can put a character in. You must
+# make exactly 11 lines for the formatting to be correct. It's also
+# customary to leave one space after the ':'.
+
+ |-----handy-ruler------------------------------------------------------|
+unigine-valley-benchmark: unigine-valley-benchmark (System benchmark tool)
+unigine-valley-benchmark:
+unigine-valley-benchmark: unigine-valley-benchmark is an extreme performance and stability test
+unigine-valley-benchmark: for PC hardware: video card, power supply, cooling system. Check
+unigine-valley-benchmark: your rig in stock and overclocking modes with real-life load! Also
+unigine-valley-benchmark: includes interactive experience in a beautiful, detailed environment.
+unigine-valley-benchmark:
+unigine-valley-benchmark:
+unigine-valley-benchmark:
+unigine-valley-benchmark:
+unigine-valley-benchmark:
diff --git a/system/unigine-valley-benchmark/unigine-valley-benchmark.SlackBuild b/system/unigine-valley-benchmark/unigine-valley-benchmark.SlackBuild
new file mode 100644
index 0000000000..3f55ff015b
--- /dev/null
+++ b/system/unigine-valley-benchmark/unigine-valley-benchmark.SlackBuild
@@ -0,0 +1,94 @@
+#!/bin/sh
+
+# Slackware build script for unigine-valley-benchmark
+
+# Copyright 2020 Matt Dinslage Springfield, MO
+# 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.
+
+PRGNAM=unigine-valley-benchmark
+VERSION=${VERSION:-1.0}
+BUILD=${BUILD:-1}
+TAG=${TAG:-_SBo}
+
+SRCNAM=Unigine_Valley
+
+if [ -z "$ARCH" ]; then
+ case "$( uname -m )" in
+ i?86) ARCH=i586 ;;
+ arm*) ARCH=arm ;;
+ *) ARCH=$( uname -m ) ;;
+ esac
+fi
+
+CWD=$(pwd)
+TMP=${TMP:-/tmp/SBo}
+PKG=$TMP/package-$PRGNAM
+OUTPUT=${OUTPUT:-/tmp}
+
+if [ "$ARCH" = "i586" ]; then
+ SLKCFLAGS="-O2 -march=i586 -mtune=i686"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "i686" ]; then
+ SLKCFLAGS="-O2 -march=i686 -mtune=i686"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "x86_64" ]; then
+ SLKCFLAGS="-O2 -fPIC"
+ LIBDIRSUFFIX="64"
+else
+ SLKCFLAGS="-O2"
+ LIBDIRSUFFIX=""
+fi
+
+set -e
+
+rm -rf $PKG
+mkdir -p $TMP $PKG $OUTPUT
+cd $TMP
+rm -rf $PRGNAM-$VERSION
+cd $PKG
+sh $CWD/$SRCNAM-$VERSION.run --target "$PKG/opt/$PRGNAM" --noexec
+chown -R root:root .
+find -L . \
+ \( -perm 777 -o -perm 775 -o -perm 750 -o -perm 711 -o -perm 555 \
+ -o -perm 511 \) -exec chmod 755 {} \; -o \
+ \( -perm 666 -o -perm 664 -o -perm 640 -o -perm 600 -o -perm 444 \
+ -o -perm 440 -o -perm 400 \) -exec chmod 644 {} \;
+
+# copy excutable
+mkdir -p $PKG/usr/bin
+cp $PKG/opt/$PRGNAM/valley $PKG/usr/bin
+
+# fix excutable
+sed -i 's,./bin,/opt/unigine-valley-benchmark/bin,g' $PKG/usr/bin/valley
+
+#add application launcher
+mkdir -p $PKG/usr/share/applications
+cat $CWD/$PRGNAM.desktop > $PKG/usr/share/applications/$PRGNAM.desktop
+
+mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION
+cp -a $PKG/opt/$PRGNAM/documentation/*.pdf $PKG/usr/doc/$PRGNAM-$VERSION
+cat $CWD/$PRGNAM.SlackBuild > $PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM.SlackBuild
+
+mkdir -p $PKG/install
+cat $CWD/slack-desc > $PKG/install/slack-desc
+cat $CWD/doinst.sh > $PKG/install/doinst.sh
+
+cd $PKG
+/sbin/makepkg -l y -c n $OUTPUT/$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.${PKGTYPE:-tgz}
diff --git a/system/unigine-valley-benchmark/unigine-valley-benchmark.desktop b/system/unigine-valley-benchmark/unigine-valley-benchmark.desktop
new file mode 100644
index 0000000000..f67847e9d3
--- /dev/null
+++ b/system/unigine-valley-benchmark/unigine-valley-benchmark.desktop
@@ -0,0 +1,9 @@
+[Desktop Entry]
+Name=unigine-valley-benchmark
+GenericName=System benchmarking software
+Exec=valley
+Terminal=false
+Type=Application
+Categories=Game;
+Icon=/opt/unigine-valley-benchmark/data/launcher/icon.png
+StartupNotify=false
diff --git a/system/unigine-valley-benchmark/unigine-valley-benchmark.info b/system/unigine-valley-benchmark/unigine-valley-benchmark.info
new file mode 100644
index 0000000000..5de76a9744
--- /dev/null
+++ b/system/unigine-valley-benchmark/unigine-valley-benchmark.info
@@ -0,0 +1,10 @@
+PRGNAM="unigine-valley-benchmark"
+VERSION="1.0"
+HOMEPAGE="https://benchmark.unigine.com/valley"
+DOWNLOAD="https://assets.unigine.com/d/Unigine_Valley-1.0.run"
+MD5SUM="186268c769db82f51a01cc8e0810752f"
+DOWNLOAD_x86_64=""
+MD5SUM_x86_64=""
+REQUIRES=""
+MAINTAINER="M.Dinslage"
+EMAIL="daedra1980@gmail.com"
diff --git a/system/unionfs-fuse/README b/system/unionfs-fuse/README
new file mode 100644
index 0000000000..15eb5cc1bc
--- /dev/null
+++ b/system/unionfs-fuse/README
@@ -0,0 +1,15 @@
+unionfs-fuse is a unionfs filesystem implementation using fuse.
+It is meant to be way more flexible than the current in-kernel unionfs
+solution.
+
+Why choose this stuff?
+ * The filesystem has to be mounted after the roots are mounted when
+ using the standard module. With unionfs-fuse, you can mount the
+ roots later and their contents will appear seamlesly.
+ * You get caching (provided by the underlying FUSE page cache) which
+ speeds things up a lot for free.
+ * Advanced features like copy-on-write and more.
+
+Why NOT choose it?
+ * Compared to kernel-space solution we need lots of useless context
+ switches which makes a kernel-only solution clear speed-winner.
diff --git a/system/unionfs-fuse/slack-desc b/system/unionfs-fuse/slack-desc
new file mode 100644
index 0000000000..e3d09b34de
--- /dev/null
+++ b/system/unionfs-fuse/slack-desc
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description.
+# Line up the first '|' above the ':' following the base package name, and
+# the '|' on the right side marks the last column you can put a character in.
+# You must make exactly 11 lines for the formatting to be correct. It's also
+# customary to leave one space after the ':' except on otherwise blank lines.
+
+ |-----handy-ruler------------------------------------------------------|
+unionfs-fuse: unionfs-fuse (unionfs filesystem)
+unionfs-fuse:
+unionfs-fuse: unionfs-fuse is a unionfs filesystem implementation using fuse.
+unionfs-fuse:
+unionfs-fuse: It is meant to be way more flexible than the current in-kernel
+unionfs-fuse: unionfs solution.
+unionfs-fuse:
+unionfs-fuse: Project URL: https://github.com/rpodgorny/unionfs-fuse
+unionfs-fuse:
+unionfs-fuse:
+unionfs-fuse:
diff --git a/system/unionfs-fuse/unionfs-fuse.SlackBuild b/system/unionfs-fuse/unionfs-fuse.SlackBuild
new file mode 100644
index 0000000000..8b5241e008
--- /dev/null
+++ b/system/unionfs-fuse/unionfs-fuse.SlackBuild
@@ -0,0 +1,92 @@
+#!/bin/sh
+# Slackware build script for unionfs-fuse.
+#
+# Yth | Pont-en-Royans, France | yth@ythogtha.org
+#
+# 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.
+
+PRGNAM=unionfs-fuse
+VERSION=${VERSION:-2.1}
+BUILD=${BUILD:-1}
+TAG=${TAG:-_SBo}
+
+if [ -z "$ARCH" ]; then
+ case "$( uname -m )" in
+ i?86) ARCH=i586 ;;
+ arm*) ARCH=arm ;;
+ *) ARCH=$( uname -m ) ;;
+ esac
+fi
+
+CWD=$(pwd)
+TMP=${TMP:-/tmp/SBo}
+PKG=$TMP/package-$PRGNAM
+OUTPUT=${OUTPUT:-/tmp}
+
+if [ "$ARCH" = "i586" ]; then
+ SLKCFLAGS="-O2 -march=i586 -mtune=i686"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "i686" ]; then
+ SLKCFLAGS="-O2 -march=i686 -mtune=i686"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "x86_64" ]; then
+ SLKCFLAGS="-O2 -fPIC"
+ LIBDIRSUFFIX="64"
+else
+ SLKCFLAGS="-O2"
+ LIBDIRSUFFIX=""
+fi
+
+DOCFILES="CREDITS LICENSE NEWS README*"
+
+set -e
+
+rm -rf $PKG
+mkdir -p $TMP $PKG $OUTPUT
+cd $TMP
+rm -rf $PRGNAM-$VERSION
+tar xvf $CWD/$PRGNAM-$VERSION.tar.gz
+cd $PRGNAM-$VERSION
+chown -R root:root .
+find -L . \
+ \( -perm 777 -o -perm 775 -o -perm 750 -o -perm 711 -o -perm 555 \
+ -o -perm 511 \) -exec chmod 755 {} \; -o \
+ \( -perm 666 -o -perm 664 -o -perm 640 -o -perm 600 -o -perm 444 \
+ -o -perm 440 -o -perm 400 \) -exec chmod 644 {} \;
+
+sed -i -e 's|share/man|man|' Makefile
+sed -i -e 's|usr/local|usr|' Makefile
+
+make PREFIX=/usr CFLAGS_EXTRA="$SLKCFLAGS"
+make install DESTDIR=$PKG
+
+find $PKG -print0 | xargs -0 file | grep -e "executable" -e "shared object" | grep ELF \
+ | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null || true
+
+find $PKG/usr/man -type f -exec gzip -9 {} \;
+for i in $( find $PKG/usr/man -type l ) ; do ln -s $( readlink $i ).gz $i.gz ; rm $i ; done
+
+mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION
+cp -a $DOCFILES $PKG/usr/doc/$PRGNAM-$VERSION
+cat $CWD/$PRGNAM.SlackBuild > $PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM.SlackBuild
+
+mkdir -p $PKG/install
+cat $CWD/slack-desc > $PKG/install/slack-desc
+
+cd $PKG
+/sbin/makepkg -l y -c n $OUTPUT/$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.${PKGTYPE:-tgz}
diff --git a/system/unionfs-fuse/unionfs-fuse.info b/system/unionfs-fuse/unionfs-fuse.info
new file mode 100644
index 0000000000..e8c9d31d6a
--- /dev/null
+++ b/system/unionfs-fuse/unionfs-fuse.info
@@ -0,0 +1,10 @@
+PRGNAM="unionfs-fuse"
+VERSION="2.1"
+HOMEPAGE="https://github.com/rpodgorny/unionfs-fuse"
+DOWNLOAD="https://github.com/rpodgorny/unionfs-fuse/archive/v2.1/unionfs-fuse-2.1.tar.gz"
+MD5SUM="07f877d5b440b526fcf4532905183085"
+DOWNLOAD_x86_64=""
+MD5SUM_x86_64=""
+REQUIRES=""
+MAINTAINER="Yth - Arnaud"
+EMAIL="yth@ythogtha.org"
diff --git a/system/unison/old_ocaml.diff.gz b/system/unison/old_ocaml.diff.gz
new file mode 100644
index 0000000000..9fd8b1b527
--- /dev/null
+++ b/system/unison/old_ocaml.diff.gz
Binary files differ
diff --git a/system/unison/unison.SlackBuild b/system/unison/unison.SlackBuild
index 6d43f2fab0..3e82e4a68b 100644
--- a/system/unison/unison.SlackBuild
+++ b/system/unison/unison.SlackBuild
@@ -3,7 +3,7 @@
# Slackware build script for unison
# Copyright 2007-2011 Ferenc Deak <ferenc.deak@gmail.com>
-# Copyright 2018 Andrew Clemons, Wellington New Zealand
+# Copyright 2018,2020 Andrew Clemons, Wellington New Zealand
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
@@ -24,7 +24,7 @@
# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
PRGNAM=unison
-VERSION=${VERSION:-2.51.2}
+VERSION=${VERSION:-2.51.3}
BUILD=${BUILD:-1}
TAG=${TAG:-_SBo}
@@ -63,6 +63,11 @@ cd $TMP
rm -rf $PRGNAM-$VERSION
tar xvf $CWD/$PRGNAM-$VERSION.tar.gz
cd $PRGNAM-$VERSION
+
+if [ "$(ocamlc --version | cut -d. -f1)" = "4" ] && [ "$(ocamlc --version | cut -d. -f2)" = "03" ] ; then
+ zcat $CWD/old_ocaml.diff.gz | patch -p1
+fi
+
chown -R root:root .
find -L . \
\( -perm 777 -o -perm 775 -o -perm 750 -o -perm 711 -o -perm 555 \
diff --git a/system/unison/unison.info b/system/unison/unison.info
index ec88247672..3db7c7da02 100644
--- a/system/unison/unison.info
+++ b/system/unison/unison.info
@@ -1,8 +1,8 @@
PRGNAM="unison"
-VERSION="2.51.2"
-HOMEPAGE="http://www.cis.upenn.edu/~bcpierce/unison/"
-DOWNLOAD="https://github.com/bcpierce00/unison/archive/v2.51.2/unison-2.51.2.tar.gz"
-MD5SUM="11991eddcf6fdd8b50041eefe44bad61"
+VERSION="2.51.3"
+HOMEPAGE="https://www.cis.upenn.edu/~bcpierce/unison/"
+DOWNLOAD="https://github.com/bcpierce00/unison/archive/v2.51.3/unison-2.51.3.tar.gz"
+MD5SUM="015533d6f89b47d8862c0e56350d1b0a"
DOWNLOAD_x86_64=""
MD5SUM_x86_64=""
REQUIRES="lablgtk"
diff --git a/system/univga-font/README b/system/univga-font/README
index 8550419cbf..10e0670927 100644
--- a/system/univga-font/README
+++ b/system/univga-font/README
@@ -1,17 +1,30 @@
univga-font (unicode terminal font)
UNI-VGA is a Unicode VGA font for X11 and console. It is primarily
-intended to be the single source of fonts for console and for XDosEmu.
+intended to be the single source of fonts for console and for MS-DOS
+emulators.
-One of the aims while creating the font was its internal consistency. For
-example, accented glyphs shouldn't differ too much from unaccented ones,
-as it was in original IBM's VGA font. It also allowed to render Latin
-Extended Additional glyphs with two accents, which was impossible with
-IBM's accents' size.
+One of the aims while creating the font was its internal consistency.
+For example, accented glyphs shouldn't differ too much from unaccented
+ones, as it was in original IBM's VGA font. It also allows rendering
+Latin Extended Additional glyphs with two accents, which was
+impossible with IBM's accents' size.
-X11 calls the font "-bolkhov-vga-medium-r-normal--16-160-75-75-c-80-iso10646-1"
-and an alias called "univga" is added, so you can say e.g. "xterm -fn univga".
+X11 calls the font:
+ -bolkhov-vga-medium-r-normal--16-160-75-75-c-80-iso10646-1
+...and an alias called "univga" is added, so you can say e.g.:
+ xterm -fn univga
-Also 3 varieties of the font are installed for use with the Linux console:
-AsianCyr-vga-8x16, WinCyr-vga-8x16, and UniCyrX-vga-8x16. They can be
-used in /etc/rc.d/rc.font, but won't show up in the setconsolefont menu.
+In most applications' font pickers, the font is just "VGA".
+
+Also 3 varieties of the font are installed for use with
+the Linux console: AsianCyr-vga-8x16, WinCyr-vga-8x16, and
+UniCyrX-vga-8x16. They can be used in /etc/rc.d/rc.font, but won't
+show up in the setconsolefont menu.
+
+By default, the BDF (old style X bitmap), PSF (Linux console), and
+OTB (new style Pango/Harfbuzz bitmap) fonts are installed. If you for
+some reason need it, you can also install the PCF (portable compiled
+X font) version, with PCF=yes in the environment. You can also set
+BDF=no, PSF=no, and/or OTB=no, if you want to omit one or more of
+these font types. Setting all 4 variables to "no" is an error, though.
diff --git a/system/univga-font/doinst.sh b/system/univga-font/doinst.sh
index 4316eac64c..11dff54efe 100644
--- a/system/univga-font/doinst.sh
+++ b/system/univga-font/doinst.sh
@@ -11,6 +11,11 @@ if [ -x /usr/bin/mkfontdir -a -x /usr/bin/mkfontscale ]; then
)
fi
+# If X is running...
+if [ "$DISPLAY" != "" ] && [ -x /usr/bin/xset ]; then
+ /usr/bin/xset fp rehash >/dev/null 2>&1
+fi
+
# Update the X font indexes:
if [ -x /usr/bin/fc-cache ]; then
/usr/bin/fc-cache -f
diff --git a/system/univga-font/slack-desc b/system/univga-font/slack-desc
index 79e4dfc1e4..6ec95c65cf 100644
--- a/system/univga-font/slack-desc
+++ b/system/univga-font/slack-desc
@@ -9,11 +9,11 @@
univga-font: univga-font (unicode terminal font)
univga-font:
univga-font: UNI-VGA is a Unicode VGA font for X11 and console. It is primarily
-univga-font: intended to be the single source of fonts for console and for XDosEmu.
-univga-font:
-univga-font:
-univga-font:
+univga-font: intended to be the single source of fonts for console and for MS-DOS
univga-font:
+univga-font: emulators.
+univga-font: Font types included in this package:
univga-font:
+univga-font: PSF=@PSF@, BDF=@BDF@, OTB=@OTB@, PCF=@PCF@
univga-font:
univga-font:
diff --git a/system/univga-font/univga-font.SlackBuild b/system/univga-font/univga-font.SlackBuild
index 8a4f44caa0..907dd8d16b 100644
--- a/system/univga-font/univga-font.SlackBuild
+++ b/system/univga-font/univga-font.SlackBuild
@@ -8,9 +8,16 @@
# VERSION taken from the datestamp of the tarball.
+# 20201206 bkw: BUILD=3, added OTB font since -current's pango wants it.
+# Also add PCF (disabled by default). Based on a patch from
+# Tomasz Bywalec. Update README. Have slack-desc list the
+# font types included in the package.
+
+# 20191224 bkw: BUILD=2, xset fp rehash in doinst.sh.
+
PRGNAM=univga-font
VERSION=${VERSION:-20021031}
-BUILD=${BUILD:-1}
+BUILD=${BUILD:-3}
TAG=${TAG:-_SBo}
ARCH=noarch
@@ -23,6 +30,7 @@ OUTPUT=${OUTPUT:-/tmp}
set -e
TARNAME=uni-vga
+FNAME=u_vga16
DIRNAME=${TARNAME/-/_}
rm -rf $PKG
@@ -32,11 +40,14 @@ rm -rf $DIRNAME
tar xvf $CWD/$TARNAME.tgz
cd $DIRNAME
chown -R root:root .
-find -L . \
- \( -perm 777 -o -perm 775 -o -perm 750 -o -perm 711 -o -perm 555 \
- -o -perm 511 \) -exec chmod 755 {} \; -o \
- \( -perm 666 -o -perm 664 -o -perm 640 -o -perm 600 -o -perm 444 \
- -o -perm 440 -o -perm 400 \) -exec chmod 644 {} \;
+find -L . -perm /111 -a \! -perm 755 -a -exec chmod 755 {} \+ -o \
+ \! -perm /111 -a \! -perm 644 -a -exec chmod 644 {} \+
+
+# Defaults:
+PSF="${PSF:-yes}"
+BDF="${BDF:-yes}"
+OTB="${OTB:-yes}"
+PCF="${PCF:-no}"
# modern perl needs a slight change to the bdf2psf.pl script, and modern
# psfaddtable has different options than whatever this was written for.
@@ -44,22 +55,46 @@ patch -p1 < $CWD/buildfix.diff
# The console fonts. They're very similar to the ones shipped with the kbd
# package, but not identical.
-make allfonts
-mkdir -p $PKG/usr/share/kbd/consolefonts/
-for i in *.psf; do
- gzip -9c < $i > $PKG/usr/share/kbd/consolefonts/${i}u.gz
-done
+if [ "$PSF" = "yes" ]; then
+ make allfonts
+ mkdir -p $PKG/usr/share/kbd/consolefonts/
+ for i in *.psf; do
+ gzip -9c < $i > $PKG/usr/share/kbd/consolefonts/${i}u.gz
+ done
+ ok=yes
+fi
# The X font. Use with xterm or such, very nice.
-mkdir -p $PKG/usr/share/fonts/misc
-gzip -9c < u_vga16.bdf > $PKG/usr/share/fonts/misc/u_vga16.bdf.gz
-
-# thought about using PCF instead, it's a trade-off: the compiled PCF is
-# bigger than the BDF, and after gzipping both, it's still bigger. The
-# BDF supposedly takes longer to load when first accessed, but I doubt
-# anyone's got a slow enough system to notice.
-
-#bdftopcf -t u_vga16.bdf | gzip -9c > $PKG/usr/share/fonts/misc/u_vga16.pcf.gz
+if [ "$BDF" = "yes" ]; then
+ mkdir -p $PKG/usr/share/fonts/misc
+ gzip -9c < $FNAME.bdf > $PKG/usr/share/fonts/misc/$FNAME.bdf.gz
+ ok=yes
+fi
+
+# If you *really* want the PCF version, you can have it via PCF=yes.
+# It's a trade-off: the compiled PCF is bigger than the BDF, and after
+# gzipping both, it's still bigger. The BDF supposedly takes longer
+# to load when first accessed, but I doubt anyone's got a slow enough
+# system to notice.
+if [ "$PCF" = "yes" ]; then
+ mkdir -p $PKG/usr/share/fonts/misc
+ bdftopcf -t $FNAME.bdf | gzip -9c > $PKG/usr/share/fonts/misc/$FNAME.pcf.gz
+ ok=yes
+fi
+
+# OpenType Bitmap (OTB) fonts, compatible with recent versions of Pango.
+# Necessary for -current and eventually 15.0. Support added by Tomasz Bywalec.
+if [ "$OTB" = "yes" ]; then
+ mkdir -p $PKG/usr/share/fonts/misc
+ fonttosfnt -o "$PKG/usr/share/fonts/misc/$FNAME.otb" $FNAME.bdf
+ ok=yes
+fi
+
+if [ "$ok" != "yes" ]; then
+ echo "*** No fonts selected to be included in the package." 1>&2
+ echo "*** At least one of the PCF BDF PSF OTB environment variables must be 'yes'." 1>&2
+ exit 1
+fi
# include the converter script, someone might find it useful.
mkdir -p $PKG/usr/bin
@@ -70,7 +105,11 @@ cp -a *.lsm $PKG/usr/doc/$PRGNAM-$VERSION
cat $CWD/$PRGNAM.SlackBuild > $PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM.SlackBuild
mkdir -p $PKG/install
-cat $CWD/slack-desc > $PKG/install/slack-desc
+sed -e "s,@PCF@,$PCF," \
+ -e "s,@BDF@,$BDF," \
+ -e "s,@PSF@,$PSF," \
+ -e "s,@OTB@,$OTB," \
+ $CWD/slack-desc > $PKG/install/slack-desc
cat $CWD/doinst.sh > $PKG/install/doinst.sh
cd $PKG
diff --git a/system/upass/upass.SlackBuild b/system/upass/upass.SlackBuild
index ce1a84f4ea..428b6700f0 100644
--- a/system/upass/upass.SlackBuild
+++ b/system/upass/upass.SlackBuild
@@ -1,7 +1,7 @@
#!/bin/sh
# Slackware build script for upass
-# Copyright 2017 David Woodfall <dave@dawoodfall.net>
+# Copyright 2017 David Woodfall <dave@slackbuilds.org>
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
diff --git a/system/upass/upass.info b/system/upass/upass.info
index f34cb0fafe..978cd80dd7 100644
--- a/system/upass/upass.info
+++ b/system/upass/upass.info
@@ -7,4 +7,4 @@ DOWNLOAD_x86_64=""
MD5SUM_x86_64=""
REQUIRES="python3-urwid pyperclip password-store"
MAINTAINER="David Woodfall"
-EMAIL="dave@dawoodfall.net"
+EMAIL="dave@slackbuilds.org"
diff --git a/system/usbguard/usbguard.SlackBuild b/system/usbguard/usbguard.SlackBuild
index 31ce481e6f..0bd7c48f96 100644
--- a/system/usbguard/usbguard.SlackBuild
+++ b/system/usbguard/usbguard.SlackBuild
@@ -23,7 +23,7 @@
# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
PRGNAM=usbguard
-VERSION=${VERSION:-0.7.4}
+VERSION=${VERSION:-0.7.8}
BUILD=${BUILD:-1}
TAG=${TAG:-_SBo}
diff --git a/system/usbguard/usbguard.info b/system/usbguard/usbguard.info
index 0a91374766..2f91cbf1b3 100644
--- a/system/usbguard/usbguard.info
+++ b/system/usbguard/usbguard.info
@@ -1,8 +1,8 @@
PRGNAM="usbguard"
-VERSION="0.7.4"
+VERSION="0.7.8"
HOMEPAGE="https://usbguard.github.io/"
-DOWNLOAD="https://github.com/USBGuard/usbguard/releases/download/usbguard-0.7.4/usbguard-0.7.4.tar.gz"
-MD5SUM="1cebf50ed9fdbd83f989fcb2e1ae4493"
+DOWNLOAD="https://github.com/USBGuard/usbguard/releases/download/usbguard-0.7.8/usbguard-0.7.8.tar.gz"
+MD5SUM="b96dcae8c4169c455ac81adab44d59c8"
DOWNLOAD_x86_64=""
MD5SUM_x86_64=""
REQUIRES="protobuf libqb libsodium"
diff --git a/system/usbrelay/slack-desc b/system/usbrelay/slack-desc
index 04076d196a..b43db4071d 100644
--- a/system/usbrelay/slack-desc
+++ b/system/usbrelay/slack-desc
@@ -12,7 +12,7 @@ usbrelay: Command line tool for 1,2,4 and 8 output usb relays based on HID
usbrelay: compatible chips.
usbrelay:
usbrelay: Usage instructions at: https://github.com/darrylb123/usbrelay
-usbrelay:
+usbrelay:
usbrelay:
usbrelay:
usbrelay:
diff --git a/system/usbrelay/usbrelay.SlackBuild b/system/usbrelay/usbrelay.SlackBuild
index e57a8c8f76..1e6d5ca66d 100644
--- a/system/usbrelay/usbrelay.SlackBuild
+++ b/system/usbrelay/usbrelay.SlackBuild
@@ -23,7 +23,7 @@
# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
PRGNAM=usbrelay
-VERSION=${VERSION:-0.3}
+VERSION=${VERSION:-0.7}
BUILD=${BUILD:-1}
TAG=${TAG:-_SBo}
diff --git a/system/usbrelay/usbrelay.info b/system/usbrelay/usbrelay.info
index c6447b97e7..2c1c413699 100644
--- a/system/usbrelay/usbrelay.info
+++ b/system/usbrelay/usbrelay.info
@@ -1,8 +1,8 @@
PRGNAM="usbrelay"
-VERSION="0.3"
+VERSION="0.7"
HOMEPAGE="https://github.com/darrylb123/usbrelay"
-DOWNLOAD="https://github.com/darrylb123/usbrelay/archive/v0.3/usbrelay-0.3.tar.gz"
-MD5SUM="7daec063f9ad565209c6c06ea5a98821"
+DOWNLOAD="https://github.com/darrylb123/usbrelay/archive/0.7/usbrelay-0.7.tar.gz"
+MD5SUM="67b1d297db24a294722abcf7de5f9f71"
DOWNLOAD_x86_64=""
MD5SUM_x86_64=""
REQUIRES="hidapi"
diff --git a/system/usermin/usermin.SlackBuild b/system/usermin/usermin.SlackBuild
index 929600e09b..7d222a0742 100644
--- a/system/usermin/usermin.SlackBuild
+++ b/system/usermin/usermin.SlackBuild
@@ -2,7 +2,7 @@
# Slackware build script for usermin
-# Copyright 2014-2018 Willy Sudiarto Raharjo <willysr@slackbuilds.org>
+# Copyright 2014-2021 Willy Sudiarto Raharjo <willysr@slackbuilds.org>
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
@@ -23,7 +23,7 @@
# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
PRGNAM=usermin
-VERSION=${VERSION:-1.780}
+VERSION=${VERSION:-1.823}
BUILD=${BUILD:-1}
TAG=${TAG:-_SBo}
diff --git a/system/usermin/usermin.info b/system/usermin/usermin.info
index 51068b0ffa..79cf82e572 100644
--- a/system/usermin/usermin.info
+++ b/system/usermin/usermin.info
@@ -1,8 +1,8 @@
PRGNAM="usermin"
-VERSION="1.780"
+VERSION="1.823"
HOMEPAGE="http://webmin.com/usermin.html"
-DOWNLOAD="http://jaist.dl.sourceforge.net/project/webadmin/usermin/1.780/usermin-1.780.tar.gz"
-MD5SUM="453cdcb344ad89c01ad260af2f092947"
+DOWNLOAD="http://jaist.dl.sourceforge.net/project/webadmin/usermin/1.823/usermin-1.823.tar.gz"
+MD5SUM="f4f75578881f2cb43372b5d5d54adfbf"
DOWNLOAD_x86_64=""
MD5SUM_x86_64=""
REQUIRES="webmin"
diff --git a/system/v4l2loopback/README b/system/v4l2loopback/README
new file mode 100644
index 0000000000..2c78fe244c
--- /dev/null
+++ b/system/v4l2loopback/README
@@ -0,0 +1,9 @@
+v4l2loopback - a kernel module to create V4L2 loopback devices
+
+This module allows you to create "virtual video devices".
+Normal (v4l2) applications will read these devices as if they
+were ordinary video devices, but the video will not be read
+from, e.g. a capture card or webcam, but instead video generated
+by another application.
+
+You must rebuild this package if you upgrade your kernel.
diff --git a/system/v4l2loopback/doinst.sh b/system/v4l2loopback/doinst.sh
new file mode 100644
index 0000000000..dcfb80855f
--- /dev/null
+++ b/system/v4l2loopback/doinst.sh
@@ -0,0 +1,3 @@
+
+chroot . /sbin/depmod -a @KERNEL@ 2>/dev/null
+
diff --git a/system/v4l2loopback/slack-desc b/system/v4l2loopback/slack-desc
new file mode 100644
index 0000000000..bf660f214d
--- /dev/null
+++ b/system/v4l2loopback/slack-desc
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description.
+# Line up the first '|' above the ':' following the base package name, and
+# the '|' on the right side marks the last column you can put a character in.
+# You must make exactly 11 lines for the formatting to be correct. It's also
+# customary to leave one space after the ':' except on otherwise blank lines.
+
+ |-----handy-ruler------------------------------------------------------|
+v4l2loopback: v4l2loopback (kernel module to create V4L2 loopback devices)
+v4l2loopback:
+v4l2loopback: This module allows you to create "virtual video
+v4l2loopback: devices". Normal (v4l2) applications will read these
+v4l2loopback: devices as if they were ordinary video devices, but
+v4l2loopback: the video will not be read from, e.g. a capture card
+v4l2loopback: or webcam, but instead video generated by another
+v4l2loopback: application.
+v4l2loopback:
+v4l2loopback: Project URL:
+v4l2loopback: http://github.com/umlaeute/v4l2loopback/
diff --git a/system/v4l2loopback/update_to_master_17JUN2020.patch b/system/v4l2loopback/update_to_master_17JUN2020.patch
new file mode 100644
index 0000000000..cd44185102
--- /dev/null
+++ b/system/v4l2loopback/update_to_master_17JUN2020.patch
@@ -0,0 +1,671 @@
+diff --git a/README.md b/README.md
+index d8b295a..d8d338b 100644
+--- a/README.md
++++ b/README.md
+@@ -18,9 +18,31 @@ only be of limited use...
+
+ # ISSUES
+ for current issues, checkout https://github.com/umlaeute/v4l2loopback/issues
+-please use the issue-tracker for reporting any problems
++please use the issue-tracker for reporting any problems.
++
++before you create a new ticket in our issue tracker, please make sure that you have read
++*this* document and followed any instructions found within.
++
++also, please search the issue-tracker *before* reporting any problems: it's much better
++to add your information to an existing ticket than to create a new ticket with essentially
++the same information.
++
++## SEEKING HELP
++the issue tracker is meant to track specific bugs in the code (and new features).
++however, it is ill-suited as a user support forum.
++
++if you have general questions or problems, please use the `v4l2loopback` tag
++on [Stack Overflow](https://stackoverflow.com/questions/tagged/v4l2loopback) instead:
++https://stackoverflow.com/questions/tagged/v4l2loopback
++
+
+ # DEPENDENCIES
++in order to build (compile,...) anything, you must have a *working* build-environment
++(compiler, GNU make,...).
++the kernel can be somewhat picky if you try to load a module that was compiled with
++a different compiler than was used to compile the kernel itself.
++so make sure to have the right compiler in place.
++
+ the v4l2loopback module is a *kernel module*.
+ in order to build it, you *must have* the kernel headers installed that match
+ the linux kernel with which you want to use the module (in most cases this will
+@@ -31,6 +53,12 @@ the first few number are the same.
+ (modules will be incompatible if the versions don't match. if you are lucky, the module will
+ simply refuse to load. if you are unlucky, your computer will spit in your eye or do worse.)
+
++there are distribution-specific differences on how to get the correct kernel headers
++(or to install a compilation toolchain).
++documenting all those possibilities would go far beyond the scope of `v4l2loopback`.
++please understnd that we cannot provide support for questions regarding dependencies.
++
++
+ # BUILD
+ to build the kernel module run:
+
+diff --git a/v4l2loopback.c b/v4l2loopback.c
+index bcf7667..b0f7b93 100644
+--- a/v4l2loopback.c
++++ b/v4l2loopback.c
+@@ -48,9 +48,9 @@
+
+ MODULE_DESCRIPTION("V4L2 loopback video device");
+ MODULE_AUTHOR("Vasily Levin, " \
+- "IOhannes m zmoelnig <zmoelnig@iem.at>," \
+- "Stefan Diewald," \
+- "Anton Novikov" \
++ "IOhannes m zmoelnig <zmoelnig@iem.at>," \
++ "Stefan Diewald," \
++ "Anton Novikov" \
+ "et al." \
+ );
+ MODULE_LICENSE("GPL");
+@@ -61,18 +61,18 @@ MODULE_LICENSE("GPL");
+ #define STRINGIFY(s) #s
+ #define STRINGIFY2(s) STRINGIFY(s)
+
+-#define dprintk(fmt, args...) \
+- do { if (debug > 0) { \
++#define dprintk(fmt, args...) \
++ do { if (debug > 0) { \
+ printk(KERN_INFO "v4l2-loopback[" STRINGIFY2(__LINE__) "]: " fmt, ##args); \
+ } } while (0)
+
+-#define MARK() \
+- do { if (debug > 1) { \
++#define MARK() \
++ do { if (debug > 1) { \
+ printk(KERN_INFO "%s:%d[%s]\n", __FILE__, __LINE__, __func__); \
+ } } while (0)
+
+-#define dprintkrw(fmt, args...) \
+- do { if (debug > 2) { \
++#define dprintkrw(fmt, args...) \
++ do { if (debug > 2) { \
+ printk(KERN_INFO "v4l2-loopback[" STRINGIFY2(__LINE__)"]: " fmt, ##args); \
+ } } while (0)
+
+@@ -85,14 +85,14 @@ struct v4l2_ctrl_handler {
+ int error;
+ };
+ struct v4l2_ctrl_config {
+- void *ops;
+- u32 id;
++ void *ops;
++ u32 id;
+ const char *name;
+ int type;
+- s32 min;
+- s32 max;
+- u32 step;
+- s32 def;
++ s32 min;
++ s32 max;
++ u32 step;
++ s32 def;
+ };
+ int v4l2_ctrl_handler_init(struct v4l2_ctrl_handler*hdl,
+ unsigned nr_of_controls_hint)
+@@ -119,7 +119,7 @@ struct v4l2_device {
+ char name[V4L2_DEVICE_NAME_SIZE];
+ struct v4l2_ctrl_handler*ctrl_handler;
+ };
+-static inline int v4l2_device_register (void *dev, void *v4l2_dev) { return 0; }
++static inline int v4l2_device_register(void *dev, void *v4l2_dev) { return 0; }
+ static inline void v4l2_device_unregister(struct v4l2_device *v4l2_dev) { return; }
+ #endif /* HAVE__V4L2_DEVICE */
+
+@@ -155,7 +155,7 @@ static inline void v4l2l_get_timestamp(struct v4l2_buffer *b) {
+
+ /* module constants
+ * can be overridden during he build process using something like
+- * make KCPPFLAGS="-DMAX_DEVICES=100"
++ * make KCPPFLAGS="-DMAX_DEVICES=100"
+ */
+
+
+@@ -235,13 +235,13 @@ MODULE_PARM_DESC(max_height, "maximum frame height");
+
+ /* control IDs */
+ #ifndef HAVE__V4L2_CTRLS
+-# define V4L2LOOPBACK_CID_BASE (V4L2_CID_PRIVATE_BASE)
++# define V4L2LOOPBACK_CID_BASE (V4L2_CID_PRIVATE_BASE)
+ #else
+-# define V4L2LOOPBACK_CID_BASE (V4L2_CID_USER_BASE | 0xf000)
++# define V4L2LOOPBACK_CID_BASE (V4L2_CID_USER_BASE | 0xf000)
+ #endif
+-#define CID_KEEP_FORMAT (V4L2LOOPBACK_CID_BASE + 0)
++#define CID_KEEP_FORMAT (V4L2LOOPBACK_CID_BASE + 0)
+ #define CID_SUSTAIN_FRAMERATE (V4L2LOOPBACK_CID_BASE + 1)
+-#define CID_TIMEOUT (V4L2LOOPBACK_CID_BASE + 2)
++#define CID_TIMEOUT (V4L2LOOPBACK_CID_BASE + 2)
+ #define CID_TIMEOUT_IMAGE_IO (V4L2LOOPBACK_CID_BASE + 3)
+
+ static int v4l2loopback_s_ctrl(struct v4l2_ctrl *ctrl);
+@@ -249,44 +249,44 @@ static const struct v4l2_ctrl_ops v4l2loopback_ctrl_ops = {
+ .s_ctrl = v4l2loopback_s_ctrl,
+ };
+ static const struct v4l2_ctrl_config v4l2loopback_ctrl_keepformat = {
+- .ops = &v4l2loopback_ctrl_ops,
+- .id = CID_KEEP_FORMAT,
+- .name = "keep_format",
+- .type = V4L2_CTRL_TYPE_BOOLEAN,
+- .min = 0,
+- .max = 1,
+- .step = 1,
+- .def = 0,
++ .ops = &v4l2loopback_ctrl_ops,
++ .id = CID_KEEP_FORMAT,
++ .name = "keep_format",
++ .type = V4L2_CTRL_TYPE_BOOLEAN,
++ .min = 0,
++ .max = 1,
++ .step = 1,
++ .def = 0,
+ };
+ static const struct v4l2_ctrl_config v4l2loopback_ctrl_sustainframerate = {
+- .ops = &v4l2loopback_ctrl_ops,
+- .id = CID_SUSTAIN_FRAMERATE,
+- .name = "sustain_framerate",
+- .type = V4L2_CTRL_TYPE_BOOLEAN,
+- .min = 0,
+- .max = 1,
+- .step = 1,
+- .def = 0,
++ .ops = &v4l2loopback_ctrl_ops,
++ .id = CID_SUSTAIN_FRAMERATE,
++ .name = "sustain_framerate",
++ .type = V4L2_CTRL_TYPE_BOOLEAN,
++ .min = 0,
++ .max = 1,
++ .step = 1,
++ .def = 0,
+ };
+ static const struct v4l2_ctrl_config v4l2loopback_ctrl_timeout = {
+- .ops = &v4l2loopback_ctrl_ops,
+- .id = CID_TIMEOUT,
+- .name = "timeout",
+- .type = V4L2_CTRL_TYPE_INTEGER,
+- .min = 0,
+- .max = MAX_TIMEOUT,
+- .step = 1,
+- .def = 0,
++ .ops = &v4l2loopback_ctrl_ops,
++ .id = CID_TIMEOUT,
++ .name = "timeout",
++ .type = V4L2_CTRL_TYPE_INTEGER,
++ .min = 0,
++ .max = MAX_TIMEOUT,
++ .step = 1,
++ .def = 0,
+ };
+ static const struct v4l2_ctrl_config v4l2loopback_ctrl_timeoutimageio = {
+- .ops = &v4l2loopback_ctrl_ops,
+- .id = CID_TIMEOUT_IMAGE_IO,
+- .name = "timeout_image_io",
+- .type = V4L2_CTRL_TYPE_BOOLEAN,
+- .min = 0,
+- .max = 1,
+- .step = 1,
+- .def = 0,
++ .ops = &v4l2loopback_ctrl_ops,
++ .id = CID_TIMEOUT_IMAGE_IO,
++ .name = "timeout_image_io",
++ .type = V4L2_CTRL_TYPE_BOOLEAN,
++ .min = 0,
++ .max = 1,
++ .step = 1,
++ .def = 0,
+ };
+
+
+@@ -321,7 +321,7 @@ struct v4l2_loopback_device {
+ (close to) nominal framerate */
+
+ /* buffers stuff */
+- u8 *image; /* pointer to actual buffers data */
++ u8 *image; /* pointer to actual buffers data */
+ unsigned long int imagesize; /* size of buffers data */
+ int buffers_number; /* should not be big, 4 is a good choice */
+ struct v4l2l_buffer buffers[MAX_BUFFERS]; /* inner driver buffers */
+@@ -386,13 +386,13 @@ struct v4l2_loopback_opener {
+ /* this is heavily inspired by the bttv driver found in the linux kernel */
+ struct v4l2l_format {
+ char *name;
+- int fourcc; /* video4linux 2 */
+- int depth; /* bit/pixel */
++ int fourcc; /* video4linux 2 */
++ int depth; /* bit/pixel */
+ int flags;
+ };
+ /* set the v4l2l_format.flags to PLANAR for non-packed formats */
+-#define FORMAT_FLAGS_PLANAR 0x01
+-#define FORMAT_FLAGS_COMPRESSED 0x02
++#define FORMAT_FLAGS_PLANAR 0x01
++#define FORMAT_FLAGS_COMPRESSED 0x02
+
+ #ifndef V4L2_PIX_FMT_VP9
+ #define V4L2_PIX_FMT_VP9 v4l2_fourcc('V', 'P', '9', '0')
+@@ -446,7 +446,7 @@ static void pix_format_set_size(struct v4l2_pix_format *f,
+ f->bytesperline = width; /* Y plane */
+ f->sizeimage = (width * height * fmt->depth) >> 3;
+ } else if (fmt->flags & FORMAT_FLAGS_COMPRESSED) {
+- /* doesn't make sense for compressed formats */
++ /* doesn't make sense for compressed formats */
+ f->bytesperline = 0;
+ f->sizeimage = (width * height * fmt->depth) >> 3;
+ } else {
+@@ -458,7 +458,7 @@ static void pix_format_set_size(struct v4l2_pix_format *f,
+ static int set_timeperframe(struct v4l2_loopback_device *dev,
+ struct v4l2_fract *tpf)
+ {
+- if((tpf->denominator < 1) || (tpf->numerator < 1)) {
++ if((tpf->denominator < 1) || (tpf->numerator < 1)) {
+ return -EINVAL;
+ }
+ dev->capture_param.timeperframe = *tpf;
+@@ -485,7 +485,7 @@ static ssize_t attr_show_format(struct device *cd,
+ tpf = &dev->capture_param.timeperframe;
+
+ fourcc2str(dev->pix_format.pixelformat, buf4cc);
+- buf4cc[4]=0;
++ buf4cc[4]=0;
+ if (tpf->numerator == 1)
+ snprintf(buf_fps, sizeof(buf_fps), "%d", tpf->denominator);
+ else
+@@ -578,7 +578,7 @@ static void v4l2loopback_create_sysfs(struct video_device *vdev)
+ {
+ int res = 0;
+
+-#define V4L2_SYSFS_CREATE(x) res = device_create_file(&vdev->dev, &dev_attr_##x); if (res < 0) break
++#define V4L2_SYSFS_CREATE(x) res = device_create_file(&vdev->dev, &dev_attr_##x); if (res < 0) break
+ if (!vdev)
+ return;
+ do {
+@@ -671,7 +671,7 @@ static int vidioc_querycap(struct file *file, void *priv, struct v4l2_capability
+ {
+ struct v4l2_loopback_device *dev = v4l2loopback_getdevice(file);
+ int devnr = ((struct v4l2loopback_private *)video_get_drvdata(dev->vdev))->devicenr;
+- __u32 capabilities = V4L2_CAP_STREAMING | V4L2_CAP_READWRITE;
++ __u32 capabilities = V4L2_CAP_STREAMING | V4L2_CAP_READWRITE;
+
+ strlcpy(cap->driver, "v4l2 loopback", sizeof(cap->driver));
+ vidioc_fill_name(cap->card, sizeof(cap->card), devnr);
+@@ -698,7 +698,10 @@ static int vidioc_querycap(struct file *file, void *priv, struct v4l2_capability
+ }
+ }
+
+- dev->vdev->device_caps = cap->device_caps = cap->capabilities = capabilities;
++#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 7, 0)
++ dev->vdev->device_caps =
++#endif /* >=linux-4.7.0 */
++ cap->device_caps = cap->capabilities = capabilities;
+
+ #if LINUX_VERSION_CODE >= KERNEL_VERSION(3, 3, 0)
+ cap->capabilities |= V4L2_CAP_DEVICE_CAPS;
+@@ -891,7 +894,7 @@ static int vidioc_enum_fmt_out(struct file *file, void *fh, struct v4l2_fmtdesc
+ f->pixelformat = dev->pix_format.pixelformat;
+ } else {
+ /* fill in a dummy format */
+- /* coverity[unsigned_compare] */
++ /* coverity[unsigned_compare] */
+ if (f->index < 0 || f->index >= FORMATS)
+ return -EINVAL;
+
+@@ -1069,11 +1072,11 @@ static int vidioc_s_parm(struct file *file, void *priv, struct v4l2_streamparm *
+
+ switch (parm->type) {
+ case V4L2_BUF_TYPE_VIDEO_CAPTURE:
+- if ((err=set_timeperframe(dev, &parm->parm.capture.timeperframe)) < 0)
++ if ((err=set_timeperframe(dev, &parm->parm.capture.timeperframe)) < 0)
+ return err;
+ break;
+ case V4L2_BUF_TYPE_VIDEO_OUTPUT:
+- if ((err=set_timeperframe(dev, &parm->parm.capture.timeperframe)) < 0)
++ if ((err=set_timeperframe(dev, &parm->parm.capture.timeperframe)) < 0)
+ return err;
+ break;
+ default:
+@@ -1249,7 +1252,7 @@ static int vidioc_enum_output(struct file *file, void *fh, struct v4l2_output *o
+ struct v4l2_loopback_device *dev = v4l2loopback_getdevice(file);
+ MARK();
+
+- if (!dev->announce_all_caps && !dev->ready_for_output)
++ if (!dev->announce_all_caps && !dev->ready_for_output)
+ return -ENOTTY;
+
+ if (0 != index)
+@@ -1279,7 +1282,7 @@ static int vidioc_enum_output(struct file *file, void *fh, struct v4l2_output *o
+ static int vidioc_g_output(struct file *file, void *fh, unsigned int *i)
+ {
+ struct v4l2_loopback_device *dev = v4l2loopback_getdevice(file);
+- if (!dev->announce_all_caps && !dev->ready_for_output)
++ if (!dev->announce_all_caps && !dev->ready_for_output)
+ return -ENOTTY;
+ if (i)
+ *i = 0;
+@@ -1292,7 +1295,7 @@ static int vidioc_g_output(struct file *file, void *fh, unsigned int *i)
+ static int vidioc_s_output(struct file *file, void *fh, unsigned int i)
+ {
+ struct v4l2_loopback_device *dev = v4l2loopback_getdevice(file);
+- if (!dev->announce_all_caps && !dev->ready_for_output)
++ if (!dev->announce_all_caps && !dev->ready_for_output)
+ return -ENOTTY;
+
+ if (i)
+@@ -1340,7 +1343,7 @@ static int vidioc_enum_input(struct file *file, void *fh, struct v4l2_input *inp
+ static int vidioc_g_input(struct file *file, void *fh, unsigned int *i)
+ {
+ struct v4l2_loopback_device *dev = v4l2loopback_getdevice(file);
+- if (!dev->announce_all_caps && !dev->ready_for_capture)
++ if (!dev->announce_all_caps && !dev->ready_for_capture)
+ return -ENOTTY;
+ if (i)
+ *i = 0;
+@@ -1353,7 +1356,7 @@ static int vidioc_g_input(struct file *file, void *fh, unsigned int *i)
+ static int vidioc_s_input(struct file *file, void *fh, unsigned int i)
+ {
+ struct v4l2_loopback_device *dev = v4l2loopback_getdevice(file);
+- if (!dev->announce_all_caps && !dev->ready_for_capture)
++ if (!dev->announce_all_caps && !dev->ready_for_capture)
+ return -ENOTTY;
+ if (i == 0)
+ return 0;
+@@ -1527,7 +1530,7 @@ static int vidioc_qbuf(struct file *file, void *private_data, struct v4l2_buffer
+ /* Hopefully fix 'DQBUF return bad index if queue bigger then 2 for capture'
+ https://github.com/umlaeute/v4l2loopback/issues/60 */
+ buf->flags &= ~V4L2_BUF_FLAG_DONE;
+- buf->flags |= V4L2_BUF_FLAG_QUEUED;
++ buf->flags |= V4L2_BUF_FLAG_QUEUED;
+
+ wake_up_all(&dev->read_event);
+ return 0;
+@@ -1666,7 +1669,7 @@ static int vidioc_streamon(struct file *file, void *private_data, enum v4l2_buf_
+ default:
+ return -EINVAL;
+ }
+- return -EINVAL;
++ return -EINVAL;
+ }
+
+ /* stop streaming
+@@ -1896,8 +1899,8 @@ static ssize_t v4l2_loopback_read(struct file *file,
+ dev = v4l2loopback_getdevice(file);
+
+ read_index = get_capture_buffer(file);
+- if (read_index < 0)
+- return read_index;
++ if (read_index < 0)
++ return read_index;
+ if (count > dev->buffer_size)
+ count = dev->buffer_size;
+ b = &dev->buffers[read_index].buffer;
+@@ -2034,20 +2037,20 @@ static void init_buffers(struct v4l2_loopback_device *dev)
+
+ for (i = 0; i < dev->buffers_number; ++i) {
+ struct v4l2_buffer *b = &dev->buffers[i].buffer;
+- b->index = i;
+- b->bytesused = bytesused;
+- b->length = buffer_size;
+- b->field = V4L2_FIELD_NONE;
+- b->flags = 0;
++ b->index = i;
++ b->bytesused = bytesused;
++ b->length = buffer_size;
++ b->field = V4L2_FIELD_NONE;
++ b->flags = 0;
+ #if LINUX_VERSION_CODE < KERNEL_VERSION(3, 6, 1)
+- b->input = 0;
++ b->input = 0;
+ #endif
+- b->m.offset = i * buffer_size;
+- b->memory = V4L2_MEMORY_MMAP;
+- b->sequence = 0;
++ b->m.offset = i * buffer_size;
++ b->memory = V4L2_MEMORY_MMAP;
++ b->sequence = 0;
+ b->timestamp.tv_sec = 0;
+ b->timestamp.tv_usec = 0;
+- b->type = V4L2_BUF_TYPE_VIDEO_CAPTURE;
++ b->type = V4L2_BUF_TYPE_VIDEO_CAPTURE;
+
+ v4l2l_get_timestamp(b);
+ }
+@@ -2077,29 +2080,29 @@ static void init_vdev(struct video_device *vdev, int nr)
+ vidioc_fill_name(vdev->name, sizeof(vdev->name), nr);
+
+ #ifdef V4L2LOOPBACK_WITH_STD
+- vdev->tvnorms = V4L2_STD_ALL;
++ vdev->tvnorms = V4L2_STD_ALL;
+ #endif /* V4L2LOOPBACK_WITH_STD */
+
+- vdev->vfl_type = VFL_TYPE_VIDEO;
+- vdev->fops = &v4l2_loopback_fops;
+- vdev->ioctl_ops = &v4l2_loopback_ioctl_ops;
+- vdev->release = &video_device_release;
+- vdev->minor = -1;
++ vdev->vfl_type = VFL_TYPE_VIDEO;
++ vdev->fops = &v4l2_loopback_fops;
++ vdev->ioctl_ops = &v4l2_loopback_ioctl_ops;
++ vdev->release = &video_device_release;
++ vdev->minor = -1;
+ #if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 7, 0)
+ vdev->device_caps =
+- V4L2_CAP_DEVICE_CAPS |
++ V4L2_CAP_VIDEO_CAPTURE | V4L2_CAP_VIDEO_OUTPUT |
++ V4L2_CAP_READWRITE | V4L2_CAP_STREAMING;
+ #ifdef V4L2_CAP_VIDEO_M2M
+- V4L2_CAP_VIDEO_M2M |
+-#endif
+- V4L2_CAP_VIDEO_CAPTURE | V4L2_CAP_VIDEO_OUTPUT |
+- V4L2_CAP_READWRITE | V4L2_CAP_STREAMING;
++ vdev->device_caps |= V4L2_CAP_VIDEO_M2M;
+ #endif
++#endif /* >=linux-4.7.0 */
++
+ if (debug > 1)
+- #if LINUX_VERSION_CODE < KERNEL_VERSION(3, 20, 0)
++#if LINUX_VERSION_CODE < KERNEL_VERSION(3, 20, 0)
+ vdev->debug = V4L2_DEBUG_IOCTL | V4L2_DEBUG_IOCTL_ARG;
+- #else
++#else
+ vdev->dev_debug = V4L2_DEV_DEBUG_IOCTL | V4L2_DEV_DEBUG_IOCTL_ARG;
+- #endif
++#endif
+
+ /* since kernel-3.7, there is a new field 'vfl_dir' that has to be
+ * set to VFL_DIR_M2M for bidrectional devices */
+@@ -2114,11 +2117,11 @@ static void init_vdev(struct video_device *vdev, int nr)
+ static void init_capture_param(struct v4l2_captureparm *capture_param)
+ {
+ MARK();
+- capture_param->capability = 0;
+- capture_param->capturemode = 0;
+- capture_param->extendedmode = 0;
+- capture_param->readbuffers = max_buffers;
+- capture_param->timeperframe.numerator = 1;
++ capture_param->capability = 0;
++ capture_param->capturemode = 0;
++ capture_param->extendedmode = 0;
++ capture_param->readbuffers = max_buffers;
++ capture_param->timeperframe.numerator = 1;
+ capture_param->timeperframe.denominator = 30;
+ }
+
+@@ -2177,10 +2180,10 @@ static int v4l2_loopback_init(struct v4l2_loopback_device *dev, int nr)
+ int ret;
+ struct v4l2_ctrl_handler *hdl = &dev->ctrl_handler;
+ snprintf(dev->v4l2_dev.name, sizeof(dev->v4l2_dev.name),
+- "v4l2loopback-%03d", nr);
+- ret = v4l2_device_register(NULL, &dev->v4l2_dev);
+- if (ret)
+- return ret;
++ "v4l2loopback-%03d", nr);
++ ret = v4l2_device_register(NULL, &dev->v4l2_dev);
++ if (ret)
++ return ret;
+
+ MARK();
+ dev->vdev = video_device_alloc();
+@@ -2230,7 +2233,7 @@ static int v4l2_loopback_init(struct v4l2_loopback_device *dev, int nr)
+ setup_timer(&dev->sustain_timer, sustain_timer_clb, nr);
+ setup_timer(&dev->timeout_timer, timeout_timer_clb, nr);
+ #endif
+- dev->reread_count = 0;
++ dev->reread_count = 0;
+ dev->timeout_jiffies = 0;
+ dev->timeout_image = NULL;
+ dev->timeout_happened = 0;
+@@ -2242,10 +2245,10 @@ static int v4l2_loopback_init(struct v4l2_loopback_device *dev, int nr)
+ v4l2_ctrl_new_custom(hdl, &v4l2loopback_ctrl_sustainframerate, NULL);
+ v4l2_ctrl_new_custom(hdl, &v4l2loopback_ctrl_timeout, NULL);
+ v4l2_ctrl_new_custom(hdl, &v4l2loopback_ctrl_timeoutimageio, NULL);
+- if (hdl->error) {
+- ret = hdl->error;
+- goto error;
+- }
++ if (hdl->error) {
++ ret = hdl->error;
++ goto error;
++ }
+ dev->v4l2_dev.ctrl_handler = hdl;
+
+ /* FIXME set buffers to 0 */
+@@ -2267,55 +2270,55 @@ static int v4l2_loopback_init(struct v4l2_loopback_device *dev, int nr)
+ return 0;
+
+ error:
+- v4l2_ctrl_handler_free(&dev->ctrl_handler);
+- v4l2_device_unregister(&dev->v4l2_dev);
++ v4l2_ctrl_handler_free(&dev->ctrl_handler);
++ v4l2_device_unregister(&dev->v4l2_dev);
+ kfree(dev->vdev);
+- return ret;
++ return ret;
+
+ };
+
+ /* LINUX KERNEL */
+ static const struct v4l2_file_operations v4l2_loopback_fops = {
+- .owner = THIS_MODULE,
+- .open = v4l2_loopback_open,
++ .owner = THIS_MODULE,
++ .open = v4l2_loopback_open,
+ .release = v4l2_loopback_close,
+- .read = v4l2_loopback_read,
+- .write = v4l2_loopback_write,
+- .poll = v4l2_loopback_poll,
+- .mmap = v4l2_loopback_mmap,
+- .unlocked_ioctl = video_ioctl2,
++ .read = v4l2_loopback_read,
++ .write = v4l2_loopback_write,
++ .poll = v4l2_loopback_poll,
++ .mmap = v4l2_loopback_mmap,
++ .unlocked_ioctl = video_ioctl2,
+ };
+
+ static const struct v4l2_ioctl_ops v4l2_loopback_ioctl_ops = {
+- .vidioc_querycap = &vidioc_querycap,
++ .vidioc_querycap = &vidioc_querycap,
+ #if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 29)
+- .vidioc_enum_framesizes = &vidioc_enum_framesizes,
++ .vidioc_enum_framesizes = &vidioc_enum_framesizes,
+ .vidioc_enum_frameintervals = &vidioc_enum_frameintervals,
+ #endif
+
+ #ifndef HAVE__V4L2_CTRLS
+- .vidioc_queryctrl = &vidioc_queryctrl,
+- .vidioc_g_ctrl = &vidioc_g_ctrl,
+- .vidioc_s_ctrl = &vidioc_s_ctrl,
++ .vidioc_queryctrl = &vidioc_queryctrl,
++ .vidioc_g_ctrl = &vidioc_g_ctrl,
++ .vidioc_s_ctrl = &vidioc_s_ctrl,
+ #endif /* HAVE__V4L2_CTRLS */
+
+- .vidioc_enum_output = &vidioc_enum_output,
+- .vidioc_g_output = &vidioc_g_output,
+- .vidioc_s_output = &vidioc_s_output,
++ .vidioc_enum_output = &vidioc_enum_output,
++ .vidioc_g_output = &vidioc_g_output,
++ .vidioc_s_output = &vidioc_s_output,
+
+- .vidioc_enum_input = &vidioc_enum_input,
+- .vidioc_g_input = &vidioc_g_input,
+- .vidioc_s_input = &vidioc_s_input,
++ .vidioc_enum_input = &vidioc_enum_input,
++ .vidioc_g_input = &vidioc_g_input,
++ .vidioc_s_input = &vidioc_s_input,
+
+ .vidioc_enum_fmt_vid_cap = &vidioc_enum_fmt_cap,
+- .vidioc_g_fmt_vid_cap = &vidioc_g_fmt_cap,
+- .vidioc_s_fmt_vid_cap = &vidioc_s_fmt_cap,
+- .vidioc_try_fmt_vid_cap = &vidioc_try_fmt_cap,
++ .vidioc_g_fmt_vid_cap = &vidioc_g_fmt_cap,
++ .vidioc_s_fmt_vid_cap = &vidioc_s_fmt_cap,
++ .vidioc_try_fmt_vid_cap = &vidioc_try_fmt_cap,
+
+ .vidioc_enum_fmt_vid_out = &vidioc_enum_fmt_out,
+- .vidioc_s_fmt_vid_out = &vidioc_s_fmt_out,
+- .vidioc_g_fmt_vid_out = &vidioc_g_fmt_out,
+- .vidioc_try_fmt_vid_out = &vidioc_try_fmt_out,
++ .vidioc_s_fmt_vid_out = &vidioc_s_fmt_out,
++ .vidioc_g_fmt_vid_out = &vidioc_g_fmt_out,
++ .vidioc_try_fmt_vid_out = &vidioc_try_fmt_out,
+
+ #ifdef V4L2L_OVERLAY
+ .vidioc_s_fmt_vid_overlay = &vidioc_s_fmt_overlay,
+@@ -2323,24 +2326,24 @@ static const struct v4l2_ioctl_ops v4l2_loopback_ioctl_ops = {
+ #endif
+
+ #ifdef V4L2LOOPBACK_WITH_STD
+- .vidioc_s_std = &vidioc_s_std,
+- .vidioc_g_std = &vidioc_g_std,
+- .vidioc_querystd = &vidioc_querystd,
++ .vidioc_s_std = &vidioc_s_std,
++ .vidioc_g_std = &vidioc_g_std,
++ .vidioc_querystd = &vidioc_querystd,
+ #endif /* V4L2LOOPBACK_WITH_STD */
+
+- .vidioc_g_parm = &vidioc_g_parm,
+- .vidioc_s_parm = &vidioc_s_parm,
++ .vidioc_g_parm = &vidioc_g_parm,
++ .vidioc_s_parm = &vidioc_s_parm,
+
+- .vidioc_reqbufs = &vidioc_reqbufs,
+- .vidioc_querybuf = &vidioc_querybuf,
+- .vidioc_qbuf = &vidioc_qbuf,
+- .vidioc_dqbuf = &vidioc_dqbuf,
++ .vidioc_reqbufs = &vidioc_reqbufs,
++ .vidioc_querybuf = &vidioc_querybuf,
++ .vidioc_qbuf = &vidioc_qbuf,
++ .vidioc_dqbuf = &vidioc_dqbuf,
+
+- .vidioc_streamon = &vidioc_streamon,
+- .vidioc_streamoff = &vidioc_streamoff,
++ .vidioc_streamon = &vidioc_streamon,
++ .vidioc_streamoff = &vidioc_streamoff,
+
+ #ifdef CONFIG_VIDEO_V4L1_COMPAT
+- .vidiocgmbuf = &vidiocgmbuf,
++ .vidiocgmbuf = &vidiocgmbuf,
+ #endif
+ };
+
+@@ -2459,10 +2462,10 @@ static void v4l2loopback_cleanup_module(void)
+ #ifdef MODULE
+ int __init init_module(void)
+ {
+- return v4l2loopback_init_module();
++ return v4l2loopback_init_module();
+ }
+ void __exit cleanup_module(void) {
+- return v4l2loopback_cleanup_module();
++ return v4l2loopback_cleanup_module();
+ }
+ #else
+ late_initcall(v4l2loopback_init_module);
diff --git a/system/v4l2loopback/v4l2loopback.SlackBuild b/system/v4l2loopback/v4l2loopback.SlackBuild
new file mode 100644
index 0000000000..7d7fadd788
--- /dev/null
+++ b/system/v4l2loopback/v4l2loopback.SlackBuild
@@ -0,0 +1,98 @@
+#!/bin/sh
+
+# Slackware build script for v4l2loopback
+
+# Copyright 2020 Edward W. Koenig <kingbeowulf@gmail.com>
+# 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.
+
+PRGNAM=v4l2loopback
+VERSION=${VERSION:-0.12.5}
+BUILD=${BUILD:-1}
+TAG=${TAG:-_SBo}
+
+if [ -z "$ARCH" ]; then
+ case "$( uname -m )" in
+ i?86) ARCH=i586 ;;
+ arm*) ARCH=arm ;;
+ *) ARCH=$( uname -m ) ;;
+ esac
+fi
+
+CWD=$(pwd)
+TMP=${TMP:-/tmp/SBo}
+PKG=$TMP/package-$PRGNAM
+OUTPUT=${OUTPUT:-/tmp}
+
+if [ "$ARCH" = "i586" ]; then
+ SLKCFLAGS="-O2 -march=i586 -mtune=i686"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "i686" ]; then
+ SLKCFLAGS="-O2 -march=i686 -mtune=i686"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "x86_64" ]; then
+ SLKCFLAGS="-O2 -fPIC"
+ LIBDIRSUFFIX="64"
+else
+ SLKCFLAGS="-O2"
+ LIBDIRSUFFIX=""
+fi
+
+set -e
+
+rm -rf $PKG
+mkdir -p $TMP $PKG $OUTPUT
+cd $TMP
+rm -rf $PRGNAM-$VERSION
+tar -xvf $CWD/$PRGNAM-$VERSION.tar.gz
+cd $PRGNAM-$VERSION
+chown -R root:root .
+find -L . \
+ \( -perm 777 -o -perm 775 -o -perm 750 -o -perm 711 -o -perm 555 \
+ -o -perm 511 \) -exec chmod 755 {} \; -o \
+ \( -perm 666 -o -perm 664 -o -perm 640 -o -perm 600 -o -perm 444 \
+ -o -perm 440 -o -perm 400 \) -exec chmod 644 {} \;
+
+# Fix for older kernels, etc...
+# https://github.com/umlaeute/v4l2loopback/commit/d26e624b4ead762d34152f9f825b3a51fb92fb9c
+# https://github.com/umlaeute/v4l2loopback/commit/7dced0f9e6641b7e9e54ced74c5c7611d10f729f
+# https://github.com/umlaeute/v4l2loopback/commit/72a32a67dee3a67dff76f565551907a2fc7e88e6
+# only set (struct video_device).device_caps on linux>=4.7.0
+# Set device_caps in init_vdev() for all kernel-versions (not just >4.7.0)
+# Don't set the V4L2_CAP_DEVICE_CAPS on device_caps
+patch -p1 < $CWD/update_to_master_17JUN2020.patch
+
+make
+
+install -D -m 644 $PRGNAM.ko $PKG/lib/modules/$(uname -r)/kernel/extra/$PRGNAM.ko
+install -D -m 755 utils/$PRGNAM-ctl $PKG/usr/bin/$PRGNAM-ctl
+
+find $PKG -print0 | xargs -0 file | grep -e "executable" -e "shared object" | grep ELF \
+ | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null || true
+
+mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION
+cp -a AUTHORS COPYING NEWS README.md TODO doc/ $PKG/usr/doc/$PRGNAM-$VERSION
+cat $CWD/$PRGNAM.SlackBuild > $PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM.SlackBuild
+
+mkdir -p $PKG/install
+cat $CWD/slack-desc > $PKG/install/slack-desc
+cat $CWD/doinst.sh > $PKG/install/doinst.sh
+
+cd $PKG
+/sbin/makepkg -l y -c n $OUTPUT/$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.${PKGTYPE:-tgz}
diff --git a/system/v4l2loopback/v4l2loopback.info b/system/v4l2loopback/v4l2loopback.info
new file mode 100644
index 0000000000..f475983a79
--- /dev/null
+++ b/system/v4l2loopback/v4l2loopback.info
@@ -0,0 +1,10 @@
+PRGNAM="v4l2loopback"
+VERSION="0.12.5"
+HOMEPAGE="https://github.com/umlaeute/v4l2loopback/"
+DOWNLOAD="https://github.com/umlaeute/v4l2loopback/archive/v0.12.5/v4l2loopback-0.12.5.tar.gz"
+MD5SUM="4b0aaae5dd8c4f5dd0f9e2142e92e390"
+DOWNLOAD_x86_64=""
+MD5SUM_x86_64=""
+REQUIRES=""
+MAINTAINER="Edward W. Koenig"
+EMAIL="kingbeowulf@gmail.com"
diff --git a/system/vagrant-public-key/README b/system/vagrant-public-key/README
new file mode 100644
index 0000000000..f3e7692d57
--- /dev/null
+++ b/system/vagrant-public-key/README
@@ -0,0 +1,11 @@
+Vagrant Public Key
+
+Preparing a Vagrant virtual machine to be used as a base box
+requires the installation of a ssh public key. This package provides
+the key and a script called vagrant-basebox to both install the key
+and perform some setup of the system.
+
+THIS PACKAGE WILL MAKE THE MACHINE IT'S INSTALLED ON INSECURE, USE ONLY
+WHEN CREATING A VAGRANT BASE BOX FOR SHARING ON VAGRANT CLOUD.
+
+See: https://www.vagrantup.com/docs/boxes/base.html for further info.
diff --git a/system/vagrant-public-key/slack-desc b/system/vagrant-public-key/slack-desc
new file mode 100644
index 0000000000..919659c723
--- /dev/null
+++ b/system/vagrant-public-key/slack-desc
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description.
+# Line up the first '|' above the ':' following the base package name, and
+# the '|' on the right side marks the last column you can put a character in.
+# You must make exactly 11 lines for the formatting to be correct. It's also
+# customary to leave one space after the ':' except on otherwise blank lines.
+
+ |-----handy-ruler------------------------------------------------------|
+vagrant-public-key: vagrant-public-key (Vagrant Public Key)
+vagrant-public-key:
+vagrant-public-key: Preparing a Vagrant virtual machine to be used as a base box
+vagrant-public-key: requires the installation of an ssh public key. This package provides
+vagrant-public-key: the key and a script called vagrant-basebox to both install it and
+vagrant-public-key: setup the system.
+vagrant-public-key:
+vagrant-public-key: ONLY FOR USE ON VIRTUAL MACHINES YOU INTEND TO SHARE, DO NOT INSTALL
+vagrant-public-key: ON A PRODUCTION SYSTEM AS THIS WILL MAKE IT INSECURE.
+vagrant-public-key:
+vagrant-public-key: See: https://www.vagrantup.com/docs/boxes/base.html for further info.
diff --git a/system/vagrant-public-key/vagrant-basebox b/system/vagrant-public-key/vagrant-basebox
new file mode 100644
index 0000000000..4211766c38
--- /dev/null
+++ b/system/vagrant-public-key/vagrant-basebox
@@ -0,0 +1,48 @@
+#!/bin/sh -e
+
+# vagrant base box preparation script.
+
+
+# Some safeguards
+if grep -q "^avagrant:" /etc/passwd ; then
+ echo "vagrant user has already been created."
+ exit
+fi
+
+if test -f /root/.ssh/authorized_keys; then
+ echo "root already has /root/.ssh/authorized_keys, refusing to overwrite it."
+ exit
+fi
+
+
+# Create vagrant user and give them the key.
+echo "Creating user vagrant"
+useradd -m vagrant
+mkdir -p /home/vagrant/.ssh
+echo "Adding Vagrant authorized key for user vagrant"
+cp /etc/vagrant/vagrant.pub /home/vagrant/.ssh/authorized_keys
+chown -R vagrant:users /home/vagrant
+chmod 0700 /home/vagrant/.ssh
+chmod 0600 /home/vagrant/.ssh/authorized_keys
+
+
+# Add the key to root as well.
+echo "Adding vagrant authorized key for user root"
+mkdir -p /root/.ssh
+cp /etc/vagrant/vagrant.pub /root/.ssh/authorized_keys
+chmod 0700 /root/.ssh
+chmod 0600 /root/.ssh/authorized_keys
+
+
+echo "Adding vagrant to /etc/sudoers"
+echo "vagrant ALL=(ALL) NOPASSWD: ALL" >> /etc/sudoers
+echo "Adding 'UseDNS no' to /etc/ssh/sshd_config"
+echo "UseDNS no" >> /etc/ssh/sshd_config
+echo "PermitRootLogin yes" >> /etc/ssh/sshd_config
+
+
+echo
+echo "THIS SYSTEM IS NOW INSECURE, AND ACCESSIBLE TO ANYONE WITH THE VAGRANT PRIVATE KEY"
+echo "FROM https://github.com/hashicorp/vagrant/blob/master/keys/vagrant"
+
+
diff --git a/system/vagrant-public-key/vagrant-public-key.SlackBuild b/system/vagrant-public-key/vagrant-public-key.SlackBuild
new file mode 100644
index 0000000000..88d40182ad
--- /dev/null
+++ b/system/vagrant-public-key/vagrant-public-key.SlackBuild
@@ -0,0 +1,60 @@
+#!/bin/sh
+
+# Slackware build script to package the Vagrant insecure public key.
+
+# Copyright 2020 bifferos@gmail.com UK
+# 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.
+
+PRGNAM=vagrant-public-key
+VERSION=${VERSION:-1.0.0}
+BUILD=${BUILD:-1}
+TAG=${TAG:-_SBo}
+ARCH=noarch
+
+CWD=$(pwd)
+TMP=${TMP:-/tmp/SBo}
+PKG=$TMP/package-$PRGNAM
+OUTPUT=${OUTPUT:-/tmp}
+
+set -e
+
+rm -rf $PKG
+mkdir -p $TMP $PKG $OUTPUT
+cd $TMP
+rm -rf $PRGNAM-$VERSION
+mkdir -p $PRGNAM-$VERSION
+cd $PRGNAM-$VERSION
+
+mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION
+cp -a $CWD/README $PKG/usr/doc/$PRGNAM-$VERSION
+cat $CWD/$PRGNAM.SlackBuild > $PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM.SlackBuild
+
+mkdir -p $PKG/install
+cat $CWD/slack-desc > $PKG/install/slack-desc
+mkdir -p $PKG/usr/sbin
+cp $CWD/vagrant-basebox $PKG/usr/sbin/vagrant-basebox
+chmod 744 $PKG/usr/sbin/vagrant-basebox
+
+mkdir -p $PKG/etc/vagrant
+cp $CWD/vagrant.pub $PKG/etc/vagrant
+chmod 644 $PKG/etc/vagrant
+
+cd $PKG
+/sbin/makepkg -l y -c n $OUTPUT/$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.${PKGTYPE:-tgz}
diff --git a/system/vagrant-public-key/vagrant-public-key.info b/system/vagrant-public-key/vagrant-public-key.info
new file mode 100644
index 0000000000..cad8b26950
--- /dev/null
+++ b/system/vagrant-public-key/vagrant-public-key.info
@@ -0,0 +1,10 @@
+PRGNAM="vagrant-public-key"
+VERSION="1.0.0"
+HOMEPAGE="https://www.vagrantup.com/docs/boxes/base.html"
+DOWNLOAD="https://raw.githubusercontent.com/hashicorp/vagrant/master/keys/vagrant.pub"
+MD5SUM="b440b5086dd12c3fd8abb762476b9f40"
+DOWNLOAD_x86_64=""
+MD5SUM_x86_64=""
+REQUIRES=""
+MAINTAINER="Bifferos"
+EMAIL="bifferos@gmail.com"
diff --git a/system/vagrant/vagrant.SlackBuild b/system/vagrant/vagrant.SlackBuild
index d74b7d8175..a81fe9f5f4 100644
--- a/system/vagrant/vagrant.SlackBuild
+++ b/system/vagrant/vagrant.SlackBuild
@@ -2,7 +2,7 @@
# SlackBuild script for vagrant
-# Copyright 2013-2019 Benjamin Trigona-Harany <slackbuilds@jaxartes.net>
+# Copyright 2013-2021 Benjamin Trigona-Harany <slackbuilds@jaxartes.net>
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
@@ -24,7 +24,7 @@
PRGNAM=vagrant
-VERSION=${VERSION:-2.2.6}
+VERSION=${VERSION:-2.2.15}
BUILD=${BUILD:-1}
TAG=${TAG:-_SBo}
diff --git a/system/vagrant/vagrant.info b/system/vagrant/vagrant.info
index d1f5ca9a4b..a9f104a145 100644
--- a/system/vagrant/vagrant.info
+++ b/system/vagrant/vagrant.info
@@ -1,10 +1,10 @@
PRGNAM="vagrant"
-VERSION="2.2.6"
+VERSION="2.2.15"
HOMEPAGE="https://www.vagrantup.com"
-DOWNLOAD="https://releases.hashicorp.com/vagrant/2.2.6/vagrant_2.2.6_i686.rpm"
-MD5SUM="718cd1609322700beded66d41e2d5c34"
-DOWNLOAD_x86_64="https://releases.hashicorp.com/vagrant/2.2.6/vagrant_2.2.6_x86_64.rpm"
-MD5SUM_x86_64="ce122e841026d8a9941b8c4f6aa377ab"
+DOWNLOAD="https://releases.hashicorp.com/vagrant/2.2.15/vagrant_2.2.15_i686.rpm"
+MD5SUM="ae0d97049ecc03275b12eea6e92c6c91"
+DOWNLOAD_x86_64="https://releases.hashicorp.com/vagrant/2.2.15/vagrant_2.2.15_x86_64.rpm"
+MD5SUM_x86_64="68f7629a4fb363031cc95e00f4c17980"
REQUIRES=""
MAINTAINER="Benjamin Trigona-Harany"
EMAIL="slackbuilds@jaxartes.net"
diff --git a/system/vhba-module/vhba-module.SlackBuild b/system/vhba-module/vhba-module.SlackBuild
index 405df90f90..64d9365316 100644
--- a/system/vhba-module/vhba-module.SlackBuild
+++ b/system/vhba-module/vhba-module.SlackBuild
@@ -4,7 +4,7 @@
# Copyright 2008-2009 Heinz Wiesinger, Amsterdam, The Netherlands
# Copyright 2010-2012 Niels Horn, Rio de Janeiro, RJ, Brazil <niels.horn@gmail.com>
-# Copyright 2018-2019 Isaac Yu <isaacyu1@isaacyu1.com>
+# Copyright 2018-2020 Isaac Yu <isaacyu1@isaacyu1.com>
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
@@ -25,7 +25,7 @@
# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
PRGNAM=vhba-module
-VERSION=${VERSION:-20190831}
+VERSION=${VERSION:-20200106}
BUILD=${BUILD:-1}
TAG=${TAG:-_SBo}
diff --git a/system/vhba-module/vhba-module.info b/system/vhba-module/vhba-module.info
index f1d4f109bb..0662c11db8 100644
--- a/system/vhba-module/vhba-module.info
+++ b/system/vhba-module/vhba-module.info
@@ -1,8 +1,8 @@
PRGNAM="vhba-module"
-VERSION="20190831"
+VERSION="20200106"
HOMEPAGE="https://cdemu.sourceforge.io/about/vhba/"
-DOWNLOAD="https://downloads.sourceforge.net/cdemu/vhba-module-20190831.tar.bz2"
-MD5SUM="e78ce00b01fd9691e2328818f9bb8a16"
+DOWNLOAD="https://downloads.sourceforge.net/cdemu/vhba-module-20200106.tar.bz2"
+MD5SUM="0f0b6d9647197e43929310594afece5f"
DOWNLOAD_x86_64=""
MD5SUM_x86_64=""
REQUIRES=""
diff --git a/system/vice/README b/system/vice/README
index ade2df503f..cf93780f1a 100644
--- a/system/vice/README
+++ b/system/vice/README
@@ -1,10 +1,8 @@
-VICE is the one and only Versatile Commodore Emulator. It provides emulation
-of the Commodore C64, C128, VIC20, PET, PLUS4 and CBM-II computers.
+vice (Commodore 8-bit emulator)
+VICE is the one and only Versatile Commodore Emulator. It provides
+emulation of the Commodore C64, C128, VIC20, PET, PLUS4 and CBM-II
+computers.
-Optional Dependency
-
-To enable recording of videos, you need ffmpeg. Enable this by passing
-to the script the parameter:
-
- FFMPEG=yes ./vice.SlackBuild
+See README_SBo.txt for build options. The defaults should be fine for
+most users.
diff --git a/system/vice/README_SBo.txt b/system/vice/README_SBo.txt
new file mode 100644
index 0000000000..e8fd15f8de
--- /dev/null
+++ b/system/vice/README_SBo.txt
@@ -0,0 +1,21 @@
+Optional dependencies: ffmpeg and SDL2.
+
+Vice can use ffmpeg to record videos of the emulated machine. If
+ffmpeg is installed, it will be autodetected. If you have ffmpeg
+installed but don't want ffmpeg support, you'll have to removepkg
+ffmpeg before building (there's no way to override the autodetection).
+
+By default, vice will be built with SDL2 if it's installed, otherwise
+SDL1. You can set SDL=1 to force building with SDL1 even if SDL2 is
+installed.
+
+If you want to build without PulseAudio, set PULSE=no in the environment.
+
+Note: To use the standard application menu instead of the in-emulator
+PETSCII menu, GTK3 v3.22 is required. Slackware 14.2 ships with 3.18
+and there is no upgrade package for this. Slackware -current has
+3.22. So to use the normal application menus, either use Slackware
+-current or find a way to upgrade your Slackware 14.2's GTK3 to
+v3.22. The SlackBuild maintainer has NOT tested this build with
+Slackware -current, you're on your own if it doesn't work (fix it and
+send me a patch if you can).
diff --git a/system/vice/config/vsid.desktop b/system/vice/config/vsid.desktop
new file mode 100644
index 0000000000..c1dfd32f55
--- /dev/null
+++ b/system/vice/config/vsid.desktop
@@ -0,0 +1,9 @@
+[Desktop Entry]
+Name=VICE SID Player
+Comment=A SID Player
+StartupNotify=true
+Exec=vsid
+Icon=vice
+Terminal=false
+Type=Application
+Categories=System
diff --git a/system/vice/config/x128.desktop b/system/vice/config/x128.desktop
index d4e5d4fad8..92ab76c637 100644
--- a/system/vice/config/x128.desktop
+++ b/system/vice/config/x128.desktop
@@ -1,6 +1,6 @@
[Desktop Entry]
Name=VICE C128 emulator
-Comment=Commodore 128 emulator from the VICE team
+Comment=A Commodore 128 emulator
StartupNotify=true
Exec=x128
Icon=vice
diff --git a/system/vice/config/x64.desktop b/system/vice/config/x64.desktop
index 41e8485963..7991b5ecd9 100644
--- a/system/vice/config/x64.desktop
+++ b/system/vice/config/x64.desktop
@@ -1,6 +1,6 @@
[Desktop Entry]
Name=VICE C64 emulator
-Comment=Commodore 64 emulator from the VICE team
+Comment=A fast Commodore 64 emulator
StartupNotify=true
Exec=x64
Icon=vice
diff --git a/system/vice/config/x64dtv.desktop b/system/vice/config/x64dtv.desktop
index b6e1bc1112..f3d82b642d 100644
--- a/system/vice/config/x64dtv.desktop
+++ b/system/vice/config/x64dtv.desktop
@@ -1,6 +1,6 @@
[Desktop Entry]
Name=VICE C64DTV emulator
-Comment=Commodore 64 DTV emulator from the VICE team
+Comment=A C64DTV emulator
StartupNotify=true
Exec=x64dtv
Icon=vice
diff --git a/system/vice/config/x64sc.desktop b/system/vice/config/x64sc.desktop
new file mode 100644
index 0000000000..46d5b89ee0
--- /dev/null
+++ b/system/vice/config/x64sc.desktop
@@ -0,0 +1,9 @@
+[Desktop Entry]
+Name=VICE C64 emulator
+Comment=An accurate Commodore 64 emulator
+StartupNotify=true
+Exec=x64sc
+Icon=vice
+Terminal=false
+Type=Application
+Categories=System
diff --git a/system/vice/config/xcbm2.desktop b/system/vice/config/xcbm2.desktop
index 017254e8ac..1411e41883 100644
--- a/system/vice/config/xcbm2.desktop
+++ b/system/vice/config/xcbm2.desktop
@@ -1,6 +1,6 @@
[Desktop Entry]
-Name=VICE CBM2 emulator
-Comment=Commodore CBM2 emulator from the VICE team
+Name=VICE CBM-II emulator
+Comment=A Commodore CBM-II (6x0/7x0) emulator
StartupNotify=true
Exec=xcbm2
Icon=vice
diff --git a/system/vice/config/xcbm5x0.desktop b/system/vice/config/xcbm5x0.desktop
new file mode 100644
index 0000000000..2acabe36d5
--- /dev/null
+++ b/system/vice/config/xcbm5x0.desktop
@@ -0,0 +1,9 @@
+[Desktop Entry]
+Name=VICE CBM-II emulator
+Comment=A Commodore CBM-II (5x0) emulator
+StartupNotify=true
+Exec=xcbm5x0
+Icon=vice
+Terminal=false
+Type=Application
+Categories=System
diff --git a/system/vice/config/xpet.desktop b/system/vice/config/xpet.desktop
index 53f125405d..1efabc6b61 100644
--- a/system/vice/config/xpet.desktop
+++ b/system/vice/config/xpet.desktop
@@ -1,6 +1,6 @@
[Desktop Entry]
Name=VICE PET emulator
-Comment=Commodore PET emulator from the VICE team
+Comment=A Commodore PET emulator
StartupNotify=true
Exec=xpet
Icon=vice
diff --git a/system/vice/config/xplus4.desktop b/system/vice/config/xplus4.desktop
index a10f256ef1..63f095c95a 100644
--- a/system/vice/config/xplus4.desktop
+++ b/system/vice/config/xplus4.desktop
@@ -1,6 +1,6 @@
[Desktop Entry]
-Name=VICE PLUS4 emulator
-Comment=Commodore PLUS4 emulator from the VICE team
+Name=VICE Plus4 emulator
+Comment=A Commodore Plus4 emulator
StartupNotify=true
Exec=xplus4
Icon=vice
diff --git a/system/vice/config/xscpu64.desktop b/system/vice/config/xscpu64.desktop
new file mode 100644
index 0000000000..295643f0c8
--- /dev/null
+++ b/system/vice/config/xscpu64.desktop
@@ -0,0 +1,9 @@
+[Desktop Entry]
+Name=VICE C64 SuperCPU emulator
+Comment=An accurate SuperCPU64 emulator
+StartupNotify=true
+Exec=xscpu64
+Icon=vice
+Terminal=false
+Type=Application
+Categories=System
diff --git a/system/vice/config/xvic.desktop b/system/vice/config/xvic.desktop
index fe29db9bed..d06423e8be 100644
--- a/system/vice/config/xvic.desktop
+++ b/system/vice/config/xvic.desktop
@@ -1,6 +1,6 @@
[Desktop Entry]
Name=VICE VIC-20 emulator
-Comment=Commodore VIC-20 emulator from the VICE team
+Comment=A Commodore VIC-20 emulator
StartupNotify=true
Exec=xvic
Icon=vice
diff --git a/system/vice/doinst.sh b/system/vice/doinst.sh
index 8095c47d9b..2dde7a5cb4 100644
--- a/system/vice/doinst.sh
+++ b/system/vice/doinst.sh
@@ -1,9 +1,7 @@
-# Update desktop icons
if [ -x /usr/bin/update-desktop-database ]; then
/usr/bin/update-desktop-database -q usr/share/applications >/dev/null 2>&1
fi
-# Update the X font indexes:
if [ -x /usr/bin/mkfontdir ]; then
( cd /usr/share/fonts/TTF
mkfontscale .
@@ -14,3 +12,4 @@ if [ -x /usr/bin/fc-cache ]; then
/usr/bin/fc-cache -f
fi
+chroot . /usr/bin/install-info --info-dir=/usr/info /usr/info/vice.info.gz
diff --git a/system/vice/psiddrv.h.prebuilt.3.4 b/system/vice/psiddrv.h.prebuilt.3.4
new file mode 100644
index 0000000000..c1820907b8
--- /dev/null
+++ b/system/vice/psiddrv.h.prebuilt.3.4
@@ -0,0 +1,28 @@
+ 0x01, 0x00, 0x6f, 0x36, 0x35, 0x00, 0x03, 0x00, 0x00, 0x10, 0x35, 0x01, 0x00, 0x04, 0x00, 0x00,
+ 0x00, 0x40, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0e, 0x00, 0x70, 0x73, 0x69, 0x64,
+ 0x64, 0x72, 0x76, 0x2e, 0x6f, 0x36, 0x35, 0x00, 0x1c, 0x03, 0x44, 0x61, 0x67, 0x20, 0x4c, 0x65,
+ 0x6d, 0x20, 0x3c, 0x72, 0x65, 0x73, 0x69, 0x64, 0x40, 0x6e, 0x69, 0x6d, 0x72, 0x6f, 0x64, 0x2e,
+ 0x6e, 0x6f, 0x3e, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x4c, 0x2b,
+ 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x11, 0x11, 0x2b, 0x11, 0x31, 0x11,
+ 0xa9, 0x00, 0x8d, 0x1a, 0xd0, 0xad, 0x19, 0xd0, 0x8d, 0x19, 0xd0, 0xa9, 0x7f, 0x8d, 0x0d, 0xdc,
+ 0x8d, 0x0d, 0xdd, 0xad, 0x0d, 0xdc, 0xad, 0x0d, 0xdd, 0xa2, 0x08, 0xbd, 0x0c, 0x10, 0x9d, 0x00,
+ 0x80, 0xca, 0x10, 0xf7, 0xad, 0x18, 0x10, 0xc9, 0x03, 0x90, 0x14, 0xd0, 0x07, 0xad, 0x17, 0x10,
+ 0xc9, 0x1a, 0x90, 0x0b, 0xa2, 0x05, 0xbd, 0x25, 0x10, 0x9d, 0x14, 0x03, 0xca, 0x10, 0xf7, 0xa9,
+ 0x1b, 0xa2, 0x00, 0x8d, 0x11, 0xd0, 0x8e, 0x12, 0xd0, 0xad, 0x21, 0x10, 0xf0, 0x06, 0xa9, 0x25,
+ 0xa2, 0x40, 0xd0, 0x04, 0xa9, 0x95, 0xa2, 0x42, 0x8d, 0x04, 0xdc, 0x8e, 0x05, 0xdc, 0xa9, 0x0f,
+ 0x8d, 0x18, 0xd4, 0xac, 0x15, 0x10, 0x88, 0xcc, 0x16, 0x10, 0x90, 0x02, 0xa0, 0x00, 0x98, 0x48,
+ 0xad, 0x1c, 0x10, 0xf0, 0x27, 0xae, 0x1c, 0x10, 0x20, 0xf9, 0x10, 0x8d, 0x24, 0x10, 0xc0, 0x20,
+ 0x90, 0x02, 0xa0, 0x1f, 0xa9, 0x00, 0xaa, 0x38, 0x2a, 0x90, 0x02, 0x2a, 0xe8, 0x88, 0x10, 0xf8,
+ 0x3d, 0x1d, 0x10, 0xd0, 0x07, 0xa9, 0x81, 0x8d, 0x1a, 0xd0, 0xd0, 0x0a, 0xa9, 0x81, 0xa2, 0x01,
+ 0x8d, 0x0d, 0xdc, 0x8e, 0x0e, 0xdc, 0xa9, 0x2f, 0x85, 0x00, 0xad, 0x1a, 0x10, 0xae, 0x23, 0x10,
+ 0x20, 0xf9, 0x10, 0x85, 0x01, 0x68, 0xaa, 0xa8, 0x20, 0xf3, 0x10, 0xad, 0x1c, 0x10, 0xf0, 0x04,
+ 0xa9, 0x36, 0x85, 0x01, 0x58, 0x4c, 0xf0, 0x10, 0x6c, 0x19, 0x10, 0x6c, 0x1b, 0x10, 0xc9, 0xe0,
+ 0x90, 0x03, 0xa9, 0x35, 0x60, 0xc9, 0xd0, 0x90, 0x03, 0xa9, 0x34, 0x60, 0xe0, 0xa0, 0x90, 0x03,
+ 0xa9, 0x36, 0x60, 0xa9, 0x37, 0x60, 0xad, 0x1c, 0x10, 0xf0, 0x0c, 0xad, 0x24, 0x10, 0x85, 0x01,
+ 0x20, 0xf6, 0x10, 0xa9, 0x36, 0x85, 0x01, 0xad, 0x19, 0xd0, 0x8d, 0x19, 0xd0, 0xad, 0x0d, 0xdc,
+ 0x68, 0xa8, 0x68, 0xaa, 0x68, 0x40, 0x2c, 0x0d, 0xdd, 0x40, 0x00, 0x00, 0x0b, 0x82, 0x1b, 0x82,
+ 0x02, 0x82, 0x02, 0x82, 0x1e, 0x82, 0x09, 0x82, 0x09, 0x82, 0x09, 0x82, 0x13, 0x82, 0x1a, 0x82,
+ 0x04, 0x82, 0x09, 0x82, 0x05, 0x82, 0x03, 0x82, 0x03, 0x82, 0x15, 0x82, 0x1a, 0x82, 0x03, 0x82,
+ 0x03, 0x82, 0x08, 0x82, 0x03, 0x82, 0x0a, 0x82, 0x03, 0x82, 0x03, 0x82, 0x1b, 0x82, 0x05, 0x82,
+ 0x05, 0x82, 0x00, 0x00, 0x00, 0x00,
diff --git a/system/vice/slack-desc b/system/vice/slack-desc
index 953758d889..589a2077b8 100644
--- a/system/vice/slack-desc
+++ b/system/vice/slack-desc
@@ -6,14 +6,14 @@
# customary to leave one space after the ':' except on otherwise blank lines.
|-----handy-ruler------------------------------------------------------|
-vice: vice (the one and only Versatile Commodore Emulator)
+vice: vice (Commodore 8-bit emulator)
vice:
-vice: VICE is a program that runs on a Unix, MS-DOS, Win32, OS/2, Acorn
-vice: RISC OS, BeOS, QNX 6.x, Amiga, GP2X or Mac OS X machine and executes
-vice: programs intended for the old 8-bit computers. The current version
-vice: emulates the C64, the C128, the VIC20, almost all PET models, the
-vice: PLUS4 and the CBM-II (aka C610).
-vice:
-vice: Homepage: http://vice-emu.sourceforge.net
+vice: VICE is a program that runs on a modern machine and executes
+vice: programs intended for the the C64, the C64DTV, the C128, the
+vice: VIC20, practically all PET models, the PLUS4 and the CBM-II (aka
+vice: C610/C510). An extra emulator is provided for C64 expanded with
+vice: the CMD SuperCPU.
vice:
+vice: Build options: ffpmeg=@FF@, sdl=@SDL@, pulse=@PA@
vice:
+vice: Homepage: http://vice-emu.sourceforge.io
diff --git a/system/vice/vice.SlackBuild b/system/vice/vice.SlackBuild
index 43c1de7bc4..0b1d3f9e64 100644
--- a/system/vice/vice.SlackBuild
+++ b/system/vice/vice.SlackBuild
@@ -2,7 +2,8 @@
# Slackware build script for VICE
-# Copyright 2008 Mauro Giachero (mauro dot giachero at gmail dot com)
+# Copyright 2008 Mauro Giachero (email removed)
+# Copyright 2020 B. Watson (yalhcru@gmail.com)
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
@@ -22,10 +23,21 @@
# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-# Initialize variables
+# 20200801 bkw:
+# - Take over maintenance
+# - Autodetect ffmpeg
+# - Allow building with SDL 1.x
+# - Allow building without pulseaudio
+# - Get rid of xa dep
+# - Install TTF fonts in correct place, get rid of other formats
+# - install-info in doinst.sh so vice.info shows up in the info dir
+# - Have slack-desc show build options
+# - Re-enable the old x64 emulator
+# - BUILD=3
+
PRGNAM=vice
-VERSION=${VERSION:-3.3}
-BUILD=${BUILD:-1}
+VERSION=${VERSION:-3.4}
+BUILD=${BUILD:-3}
TAG=${TAG:-_SBo}
if [ -z "$ARCH" ]; then
@@ -58,13 +70,40 @@ else
LIBDIRSUFFIX=""
fi
-# Only an external ffmpeg seems to work ATM (might change from version to version)
-if [ "${FFMPEG:-no}" = "yes" ]; then ffmpeg="--enable-external-ffmpeg"; else ffmpeg=""; fi
-
-# Exit if errors encountered
set -e
-# Setup for package creation
+# The "--enable-shared-ffmpeg" option creates conflicts with external
+# ffmpeg libraries, so we don't use it here. Static would be OK, but
+# it won't build, so it's not an option for now either: I don't care
+# enough about it to spend any more time trying to fix it. If you do
+# care, come up with a way to build with --enable-static-ffmpeg, send
+# me a patch, and I'll include it here.
+
+[ -x /usr/bin/ffmpeg ] && ffmpeg="--enable-external-ffmpeg"
+
+SDL="${SDL:-auto}"
+if [ "$SDL" = "auto" ]; then
+ SDL=1
+ pkg-config --exists sdl2 && SDL=2
+fi
+
+case "$SDL" in
+ 1) sdlopt="--enable-sdlui" ;;
+ 2) sdlopt="--enable-sdlui2" ;;
+ *) echo -e "$( basename $0 ):" \
+ "invalid SDL option '$SDL'." \
+ "Valid options are:\n auto 1 2" \
+ 1>&2
+ exit 1 ;;
+esac
+
+# Anticipating 15.0's pure-alsa-system
+if [ "${PULSE:-yes}" != "yes" ]; then
+ pulseopt="--without-pulse"
+fi
+
+echo "=== sdlopt '$sdlopt', ffmpeg '$ffmpeg', pulseopt '$pulseopt'"
+
rm -rf $PKG
mkdir -p $TMP $PKG $OUTPUT
cd $TMP
@@ -72,11 +111,8 @@ rm -rf $PRGNAM-$VERSION
tar xvf $CWD/$PRGNAM-$VERSION.tar.?z
cd $PRGNAM-$VERSION
chown -R root:root .
-find -L . \
- \( -perm 777 -o -perm 775 -o -perm 750 -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 {} \;
+find -L . -perm /111 -a \! -perm 755 -a -exec chmod 755 {} \+ -o \
+ \! -perm /111 -a \! -perm 644 -a -exec chmod 644 {} \+
# Set proper paths in documentation.
sed -i "s/\/usr\/local\/lib\//\/usr\/lib${LIBDIRSUFFIX}\//g" \
@@ -86,27 +122,33 @@ sed -i 's/"\/vice_toc\.html"/"\/html\/vice_toc\.html"/g' \
sed -i "s/\/usr\/local/\/usr/g" doc/vice.* doc/html/*html
sed -i "s/\/usr\/lib\//\/usr\/lib${LIBDIRSUFFIX}\//g" doc/vice.* doc/html/*html
-# Disable PDF generation because it bombs
-sed -i "s/AM_CONDITIONAL(BUILD_PDF, true)/AM_CONDITIONAL(BUILD_PDF, false)/g" \
- configure.ac
-
-# Don't install fonts in $HOME and run fc-cache on the build system
-sed -i -e '/@HAVE_FC_CACHE_TRUE@/d' data/fonts/Makefile.am
+# Avoid the need for xa. It's only used to generate a small C header
+# file, which we include a prebuilt version of here. There's nothing
+# dynamic about this header, it's just a small chunk of 6502 object
+# code as a C array, and for a given version of vice it'll always be
+# the same code.
+cat $CWD/psiddrv.h.prebuilt.$VERSION > src/c64/psiddrv.h
autoreconf -vif
-# Configure the software
+DOCDIR=/usr/doc/$PRGNAM-$VERSION
+PKGDOC=$PKG/$DOCDIR
+
CFLAGS="$SLKCFLAGS" \
CXXFLAGS="$SLKCFLAGS" \
+XA=/bin/true \
./configure \
+ $sdlopt \
+ $ffmpeg \
+ $pulseopt \
+ --enable-x64 \
--prefix=/usr \
--libdir=/usr/lib${LIBDIRSUFFIX} \
--sysconfdir=/etc \
--localstatedir=/var \
--mandir=/usr/man \
--infodir=/usr/info \
- $ffmpeg \
- --docdir=/usr/doc/$PRGNAM-$VERSION \
+ --docdir=$DOCDIR \
--with-x \
--enable-quicktime \
--enable-ethernet \
@@ -114,46 +156,59 @@ CXXFLAGS="$SLKCFLAGS" \
--enable-cpuhistory \
--build=$ARCH-slackware-linux
-# Build the software
make
-make install DESTDIR=$PKG
-
-# Strip symbols from binaries
-find $PKG -print0 | xargs -0 file | grep -e "executable" -e "shared object" | grep ELF \
- | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null || true
-
-find $PKG/usr/man -type f -exec gzip -9 {} \;
-for i in $( find $PKG/usr/man -type l ) ; do ln -s $( readlink $i ).gz $i.gz ; rm $i ; done
-
-# Compress info files
+make install-strip DESTDIR=$PKG
rm -f $PKG/usr/info/dir
-gzip -9 $PKG/usr/info/*
+gzip -9 $PKG/usr/man/man?/*.? $PKG/usr/info/*
-# Install icon and menu entries
mkdir -p $PKG/usr/share/{applications,pixmaps}
install -D -m 0644 $CWD/config/*.desktop $PKG/usr/share/applications
install -D -m 0644 $CWD/config/vice.png $PKG/usr/share/pixmaps
-# Move the original documentation folder to the usual place
-# and create a link to where vice expect it to be
-mkdir -p $PKG/usr/doc
-mv $PKG/usr/lib$LIBDIRSUFFIX/$PRGNAM/doc $PKG/usr/doc/$PRGNAM-$VERSION
-( cd $PKG/usr/doc/$PRGNAM-$VERSION
+# Move the docs to the Slackware standard place, symlink to where vice
+# expects it to be.
+mkdir -p $PKGDOC
+mv $PKG/usr/lib$LIBDIRSUFFIX/$PRGNAM/doc/* $PKGDOC
+( cd $PKGDOC
chmod 644 *
mkdir html
mv *.html *.png *.gif *.css html/ )
-( cd $PKG/usr/lib$LIBDIRSUFFIX/$PRGNAM ; ln -s /usr/doc/$PRGNAM-$VERSION doc )
-
-# Copy additional program documentation
-cp -a AUTHORS ChangeLog COPYING FEEDBACK INSTALL NEWS README \
- $PKG/usr/doc/$PRGNAM-$VERSION
-cat $CWD/$PRGNAM.SlackBuild > $PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM.SlackBuild
+( cd $PKG/usr/lib$LIBDIRSUFFIX/$PRGNAM
+ rmdir doc
+ ln -s $DOCDIR doc )
+
+# 20200728 bkw: when I inherited this build, it was installing the
+# fonts to the doc dir (where they can't be used), but updating
+# the font cache in doinst.sh. I'm not so sure the fonts are
+# really necessary, but in case they are, I've moved them to
+# /usr/share/fonts/TTF (and gotten rid of the non-TTF ones).
+mkdir -p $PKG/usr/share/fonts/TTF
+mv $PKGDOC/*.ttf $PKG/usr/share/fonts/TTF
+rm -f $PKGDOC/Lato-*
+
+# This would install Commodore font where other software can use it.
+# However, the characters in the font are in PETSCII order, not ASCII
+# or Unicode, so it's not all that useful.
+#ln -s ../../../lib$LIBDIRSUFFIX/$PRGNAM/common/CBM.ttf $PKG/usr/share/fonts/TTF
+
+cp -a AUTHORS ChangeLog COPYING FEEDBACK NEWS README $PKGDOC
+cat $CWD/$PRGNAM.SlackBuild > $PKGDOC/$PRGNAM.SlackBuild
+
+# Make the slack-desc reflect the build options.
+FF=no; SDL=1.2; PA=no
+
+# We can't use ldd to detect whether ffmpeg is built in since it
+# gets loaded with dlopen(). Hence this stuff:
+grep -q '^#define USE_SDLUI2\>' src/config.h && SDL=2.0
+grep -q '^#define HAVE_FFMPEG\>' src/config.h && FF=yes
+grep -q '^#define USE_PULSE\>' src/config.h && PA=yes
-# Setup package install directory
mkdir -p $PKG/install
-cat $CWD/slack-desc > $PKG/install/slack-desc
+sed -e "s,@FF@,$FF," \
+ -e "s,@PA@,$PA," \
+ -e "s,@SDL@,$SDL," \
+ $CWD/slack-desc > $PKG/install/slack-desc
cat $CWD/doinst.sh > $PKG/install/doinst.sh
-# Create package
cd $PKG
/sbin/makepkg -l y -c n $OUTPUT/$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.${PKGTYPE:-tgz}
diff --git a/system/vice/vice.info b/system/vice/vice.info
index ff9cf49f60..481d98ad3f 100644
--- a/system/vice/vice.info
+++ b/system/vice/vice.info
@@ -1,10 +1,10 @@
PRGNAM="vice"
-VERSION="3.3"
-HOMEPAGE="http://vice-emu.sourceforge.net"
-DOWNLOAD="https://downloads.sourceforge.net/project/vice-emu/releases/vice-3.3.tar.gz"
-MD5SUM="b0797f534b33f638220418207d606cf5"
+VERSION="3.4"
+HOMEPAGE="http://vice-emu.sourceforge.io"
+DOWNLOAD="https://downloads.sourceforge.net/project/vice-emu/releases/vice-3.4.tar.gz"
+MD5SUM="24d83f692910f5d87de19857e8095f0b"
DOWNLOAD_x86_64=""
MD5SUM_x86_64=""
-REQUIRES="SDL2 xa"
-MAINTAINER="Eric B. Pratt"
-EMAIL="eric.b.pratt@gmail.com"
+REQUIRES=""
+MAINTAINER="B. Watson"
+EMAIL="yalhcru@gmail.com"
diff --git a/system/victor-mono-fonts/README b/system/victor-mono-fonts/README
new file mode 100644
index 0000000000..d4a382def6
--- /dev/null
+++ b/system/victor-mono-fonts/README
@@ -0,0 +1,9 @@
+Victor Mono is an open-source monospaced font with optional
+semi-connected cursive italics and programming symbol ligatures.
+
+The typeface is clean, crisp and narrow, with a large x-height and clear
+punctuation, making it legible and ideal for code. It comes in seven
+weights and Roman, Italic and Oblique styles.
+
+Learn more and optionally support the creator at:
+https://rubjo.github.io/victor-mono/
diff --git a/system/victor-mono-fonts/doinst.sh b/system/victor-mono-fonts/doinst.sh
new file mode 100644
index 0000000000..887f9240a8
--- /dev/null
+++ b/system/victor-mono-fonts/doinst.sh
@@ -0,0 +1,14 @@
+# Update the X font indexes:
+if [ -x /usr/bin/mkfontdir ]; then
+ ( cd usr/share/fonts/TTF
+ /usr/bin/mkfontscale .
+ /usr/bin/mkfontdir .
+ )
+ ( cd usr/share/fonts/OTF
+ /usr/bin/mkfontscale .
+ /usr/bin/mkfontdir .
+ )
+fi
+if [ -x /usr/bin/fc-cache ]; then
+ /usr/bin/fc-cache -f
+fi
diff --git a/system/victor-mono-fonts/slack-desc b/system/victor-mono-fonts/slack-desc
new file mode 100644
index 0000000000..0c60d80a90
--- /dev/null
+++ b/system/victor-mono-fonts/slack-desc
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description.
+# Line up the first '|' above the ':' following the base package name, and
+# the '|' on the right side marks the last column you can put a character in.
+# You must make exactly 11 lines for the formatting to be correct. It's also
+# customary to leave one space after the ':' except on otherwise blank lines.
+
+ |-----handy-ruler------------------------------------------------------|
+victor-mono-fonts: victor-mono-fonts (monospaced font with programming ligatures)
+victor-mono-fonts:
+victor-mono-fonts: Victor Mono is an open-source monospaced font with optional
+victor-mono-fonts: semi-connected cursive italics and programming symbol ligatures.
+victor-mono-fonts:
+victor-mono-fonts: The typeface is clean, crisp and arow, with a large x-height and
+victor-mono-fonts: clear punctuation, making it legible and ideal for code. It comes
+victor-mono-fonts: in seven weights and Roman, Italic and Oblique styles.
+victor-mono-fonts:
+victor-mono-fonts: https://rubjo.github.io/victor-mono/
+victor-mono-fonts:
diff --git a/system/victor-mono-fonts/victor-mono-fonts.SlackBuild b/system/victor-mono-fonts/victor-mono-fonts.SlackBuild
new file mode 100644
index 0000000000..ba30348900
--- /dev/null
+++ b/system/victor-mono-fonts/victor-mono-fonts.SlackBuild
@@ -0,0 +1,68 @@
+#!/bin/sh
+
+# Slackware build script for victor-mono-fonts
+
+# Copyright 2021 Justin Teague <arcadellama@posteo.net>
+# 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.
+
+PRGNAM=victor-mono-fonts
+SRCNAM=VictorMonoAll
+VERSION=${VERSION:-1.4.2}
+BUILD=${BUILD:-1}
+TAG=${TAG:-_SBo}
+ARCH=noarch
+
+CWD=$(pwd)
+TMP=${TMP:-/tmp/SBo}
+PKG=$TMP/package-$PRGNAM
+OUTPUT=${OUTPUT:-/tmp}
+
+set -e
+
+rm -rf $PKG
+mkdir -p $TMP $PKG $OUTPUT
+cd $TMP
+rm -rf ${PRGNAM%-fonts}-$VERSION
+tar xvf $CWD/${PRGNAM%-fonts}-$VERSION.tar.gz
+cd ${PRGNAM%-fonts}-$VERSION
+unzip public/$SRCNAM
+chown -R root:root .
+find -L . \
+ \( -perm 777 -o -perm 775 -o -perm 750 -o -perm 711 -o -perm 555 \
+ -o -perm 511 \) -exec chmod 755 {} \; -o \
+ \( -perm 666 -o -perm 664 -o -perm 640 -o -perm 600 -o -perm 444 \
+ -o -perm 440 -o -perm 400 \) -exec chmod 644 {} \;
+
+mkdir -p $PKG/usr/share/fonts/TTF
+mv TTF/*.ttf $PKG/usr/share/fonts/TTF
+
+mkdir -p $PKG/usr/share/fonts/OTF
+mv OTF/*.otf $PKG/usr/share/fonts/OTF
+
+mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION
+cp -p LICENSE.txt $PKG/usr/doc/$PRGNAM-$VERSION
+cat $CWD/$PRGNAM.SlackBuild > $PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM.SlackBuild
+
+mkdir -p $PKG/install
+cat $CWD/slack-desc > $PKG/install/slack-desc
+cat $CWD/doinst.sh > $PKG/install/doinst.sh
+
+cd $PKG
+/sbin/makepkg -l y -c n $OUTPUT/$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.${PKGTYPE:-tgz}
diff --git a/system/victor-mono-fonts/victor-mono-fonts.info b/system/victor-mono-fonts/victor-mono-fonts.info
new file mode 100644
index 0000000000..538ced8141
--- /dev/null
+++ b/system/victor-mono-fonts/victor-mono-fonts.info
@@ -0,0 +1,10 @@
+PRGNAM="victor-mono-fonts"
+VERSION="1.4.2"
+HOMEPAGE="https://rubjo.github.io/victor-mono/"
+DOWNLOAD="https://github.com/rubjo/victor-mono/archive/v1.4.2/victor-mono-1.4.2.tar.gz"
+MD5SUM="b1ddcb2711be3f696fe443d41386e02b"
+DOWNLOAD_x86_64=""
+MD5SUM_x86_64=""
+REQUIRES=""
+MAINTAINER="Justin Teague"
+EMAIL="arcadellama@posteo.net"
diff --git a/system/vifm/README b/system/vifm/README
index 54e68874e2..b4fa881ff4 100644
--- a/system/vifm/README
+++ b/system/vifm/README
@@ -1,6 +1,8 @@
+vifm (a ncurses-based file manager with vi-like keybindings)
+
Vifm is an ncurses-based file manager with vi-like keybindings. If you
use vi, vifm gives you complete keyboard control over your files without
having to learn a new set of commands.
Vim users: A vifm.vim plugin is included in /usr/share/vifm/vim/.
-Read the INSTALL file for usage information.
+Read /usr/doc/vifm-$VERSION/README_vim.txt for usage information.
diff --git a/system/vifm/slack-desc b/system/vifm/slack-desc
index 4d046e0494..2160c75bee 100644
--- a/system/vifm/slack-desc
+++ b/system/vifm/slack-desc
@@ -12,8 +12,8 @@ vifm: If you use vi, vifm gives you complete keyboard control over your
vifm: files without having to learn a new set of commands.
vifm: The configuration for vifm sits in ~/.vifm.
vifm:
-vifm: A vifm.vim plugin is included in /usr/doc/vifm-$VERSION. Read the
-vifm: INSTALL file there for usage information.
+vifm: Vim users: A vifm.vim plugin is included in /usr/share/vifm/vim/.
+vifm: Read /usr/doc/vifm-$VERSION/README_vim.txt for usage information.
vifm:
vifm: Homepage: https://vifm.sourceforge.net
vifm:
diff --git a/system/vifm/vifm.SlackBuild b/system/vifm/vifm.SlackBuild
index 954455e1b7..5974e05a88 100644
--- a/system/vifm/vifm.SlackBuild
+++ b/system/vifm/vifm.SlackBuild
@@ -4,12 +4,21 @@
# Originally Written by V'yacheslav Stetskevych
# Modified by Charles E. Kauffman
+# Modified by B. Watson
-# [1-31-18] : Added BETA variable to keep with Slackware's packaging rules.
-# export VERSION=0.9.1 BETA=beta; sh vifm.SlackBuild
+# Now maintained by B. Watson <yalhcru@gmail.com>. Original version
+# had no license; modified version is licensed under the WTFPL.
+# See http://www.wtfpl.net/txt/copying/ for details.
+
+# 20200101 bkw:
+# - take over maintenance
+# - update for v0.10.1
+# - get rid of BETA kludge (handle beta versions more gracefully).
+# script tested with 0.10, 0.10.1-beta, and 0.10.1. I can't be
+# bothered to support older versions (you're on your own).
PRGNAM=vifm
-VERSION=${VERSION:-0.10}
+VERSION=${VERSION:-0.10.1}
BUILD=${BUILD:-1}
TAG=${TAG:-_SBo}
@@ -40,28 +49,29 @@ else
LIBDIRSUFFIX=""
fi
-# Since vifm's beta naming breaks Slackware's packaging rules,
-# add the beta suffix, then rename before package creation so
-# it preserves Slackware's package naming rules.
-if [ "$BETA" != "" ]
-then
- VERSION=$VERSION-$BETA
-fi
-
set -e
+# Handle potential VERSION=10.1-beta (hyphen not allowed).
+# Accept either -beta or _beta in VERSION, fix it up. I don't
+# plan to ever package a beta version, but if I ever do, the
+# VERSION in the script will have the underscore, not the hyphen.
+case "$VERSION" in
+ *-*) SRCVER="$( echo $VERSION | sed 's,_,-,g' )"
+ VERSION="$( echo $SRCVER | sed 's,-,_,g' )"
+ ;;
+ *) SRCVER=$VERSION
+ ;;
+esac
+
rm -rf $PKG
mkdir -p $TMP $PKG $OUTPUT
cd $TMP
-rm -rf $PRGNAM-$VERSION
-tar xvf $CWD/$PRGNAM-$VERSION.tar.bz2
-cd $PRGNAM-$VERSION
+rm -rf $PRGNAM-$SRCVER
+tar xvf $CWD/$PRGNAM-$SRCVER.tar.bz2
+cd $PRGNAM-$SRCVER
chown -R root:root .
-find -L . \
- \( -perm 777 -o -perm 775 -o -perm 750 -o -perm 711 -o -perm 555 \
- -o -perm 511 \) -exec chmod 755 {} \; -o \
- \( -perm 666 -o -perm 664 -o -perm 640 -o -perm 600 -o -perm 444 \
- -o -perm 440 -o -perm 400 \) -exec chmod 644 {} \;
+find -L . -perm /111 -a \! -perm 755 -a -exec chmod 755 {} \+ -o \
+ \! -perm /111 -a \! -perm 644 -a -exec chmod 644 {} \+
CFLAGS="$SLKCFLAGS" \
CXXFLAGS="$SLKCFLAGS" \
@@ -70,29 +80,21 @@ CXXFLAGS="$SLKCFLAGS" \
--mandir=/usr/man \
--build=$ARCH-slackware-linux
-# Since datarootdir doesn't work as expected, modify Makefile for png and desktop files.
-sed -i -e 's;dir)/applications;rootdir)/applications;' -e 's;dir)/pixmaps;rootdir)/pixmaps;' src/Makefile
-
make
-make install DESTDIR=$PKG
-
-find $PKG/usr/man -type f -exec gzip -9 {} \;
+make install-strip DESTDIR=$PKG
+gzip -9 $PKG/usr/man/man?/*.?
+DOCDIR=$PKG/usr/doc/$PRGNAM-$VERSION
+mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION
+mv $PKG/usr/share/doc/$PRGNAM/* $DOCDIR
+rm -rf $PKG/usr/share/doc
-# If this is a beta package, rename the version to preserve
-# Slackware's package naming rules.
-if [ "$BETA" != "" ]
-then
- VERSION=${VERSION//-/_}
-fi
-
-# Add the version number to the /usr/doc/vifm directory.
-# and move it to the correct location.
-mv $PKG/usr/share/doc $PKG/usr/doc
-mv $PKG/usr/doc/vifm $PKG/usr/doc/$PRGNAM-$VERSION
+# Include only the vim instructions from INSTALL, nobody cares about compile
+# instructions (especially not Windows ones) when using a binary package.
+rm -f $DOCDIR/INSTALL
+sed -n '/^Vim Specific/,$p' INSTALL > $DOCDIR/README_vim.txt
-cp -a AUTHORS BUGS COPYING ChangeLog INSTALL README TODO THANKS $PKG/usr/doc/$PRGNAM-$VERSION
-cat $CWD/$PRGNAM.SlackBuild > $PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM.SlackBuild
+cat $CWD/$PRGNAM.SlackBuild > $DOCDIR/$PRGNAM.SlackBuild
mkdir -p $PKG/install
cat $CWD/slack-desc > $PKG/install/slack-desc
diff --git a/system/vifm/vifm.info b/system/vifm/vifm.info
index e84b6fbca8..b006ebeac7 100644
--- a/system/vifm/vifm.info
+++ b/system/vifm/vifm.info
@@ -1,10 +1,10 @@
PRGNAM="vifm"
-VERSION="0.10"
+VERSION="0.10.1"
HOMEPAGE="https://vifm.info"
-DOWNLOAD="https://downloads.sourceforge.net/vifm/vifm-0.10.tar.bz2"
-MD5SUM="fd50f29c2cbea32ac55d37b470ddc692"
+DOWNLOAD="https://downloads.sourceforge.net/vifm/vifm-0.10.1.tar.bz2"
+MD5SUM="0afde44205424355ec5f90957971bb07"
DOWNLOAD_x86_64=""
MD5SUM_x86_64=""
REQUIRES=""
-MAINTAINER="Charles E. Kauffman"
-EMAIL="molbolom@gmail.com"
+MAINTAINER="B. Watson"
+EMAIL="yalhcru@gmail.com"
diff --git a/system/vinterm/vinterm.info b/system/vinterm/vinterm.info
index a456f8af70..39175b37a3 100644
--- a/system/vinterm/vinterm.info
+++ b/system/vinterm/vinterm.info
@@ -1,8 +1,8 @@
PRGNAM="vinterm"
VERSION="0.5.0"
HOMEPAGE="https://github.com/andrenho/vinterm"
-DOWNLOAD="http://urchlay.naptime.net/~urchlay/src/vinterm-0.5.0.tar.gz \
- http://urchlay.naptime.net/~urchlay/src/vinterm.vim"
+DOWNLOAD="https://slackware.uk/~urchlay/src/vinterm-0.5.0.tar.gz \
+ https://slackware.uk/~urchlay/src/vinterm.vim"
MD5SUM="307d2285565d9699d62bfc72b8e445c3 \
15fd1ef04deb529f3aad5aa11b5d1bf4"
DOWNLOAD_x86_64=""
diff --git a/system/vtcol/0bca17247120d2ec2ae465bac7dd6d0354189175.patch.gz b/system/vtcol/0bca17247120d2ec2ae465bac7dd6d0354189175.patch.gz
new file mode 100644
index 0000000000..45129dff9e
--- /dev/null
+++ b/system/vtcol/0bca17247120d2ec2ae465bac7dd6d0354189175.patch.gz
Binary files differ
diff --git a/system/vtcol/9dda18921a25f64e0a0da06e3417ce99f8bf9b41.patch b/system/vtcol/9dda18921a25f64e0a0da06e3417ce99f8bf9b41.patch
deleted file mode 100644
index ef76ea2ef7..0000000000
--- a/system/vtcol/9dda18921a25f64e0a0da06e3417ce99f8bf9b41.patch
+++ /dev/null
@@ -1,24 +0,0 @@
-From 9dda18921a25f64e0a0da06e3417ce99f8bf9b41 Mon Sep 17 00:00:00 2001
-From: Andrew Clemons <andrew.clemons@gmail.com>
-Date: Wed, 25 Oct 2017 21:35:14 +1300
-Subject: [PATCH] Silence warning for missing path for `vtcol` binary
-
-vtcol.rs should probably be main.rs, but explicitly setting the
-non-standard path also silences the warning. (src/bin would also work)
----
- Cargo.lock | 2 +-
- Cargo.toml | 1 +
- 2 files changed, 2 insertions(+), 1 deletion(-)
-
-diff --git a/Cargo.toml b/Cargo.toml
-index 16590af..0833d44 100644
---- a/Cargo.toml
-+++ b/Cargo.toml
-@@ -14,6 +14,7 @@ license = "GPL-3.0"
-
- [[bin]]
- name = "vtcol"
-+path = "src/vtcol.rs"
- test = false
- doc = false
-
diff --git a/system/vtcol/9dda18921a25f64e0a0da06e3417ce99f8bf9b41.patch.gz b/system/vtcol/9dda18921a25f64e0a0da06e3417ce99f8bf9b41.patch.gz
new file mode 100644
index 0000000000..e6f330efc0
--- /dev/null
+++ b/system/vtcol/9dda18921a25f64e0a0da06e3417ce99f8bf9b41.patch.gz
Binary files differ
diff --git a/system/vtcol/f00fed1f947dcd372a598f1e2905ae9d4c8a1b0c.patch.gz b/system/vtcol/f00fed1f947dcd372a598f1e2905ae9d4c8a1b0c.patch.gz
new file mode 100644
index 0000000000..2716a62ed8
--- /dev/null
+++ b/system/vtcol/f00fed1f947dcd372a598f1e2905ae9d4c8a1b0c.patch.gz
Binary files differ
diff --git a/system/vtcol/vtcol.SlackBuild b/system/vtcol/vtcol.SlackBuild
index dd7b848b71..b32862aeef 100644
--- a/system/vtcol/vtcol.SlackBuild
+++ b/system/vtcol/vtcol.SlackBuild
@@ -2,7 +2,7 @@
# Slackware build script for vtcol
-# Copyright 2017-2019 Andrew Clemons, Wellington New Zealand
+# Copyright 2017-2020 Andrew Clemons, Wellington New Zealand
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
@@ -24,7 +24,7 @@
PRGNAM=vtcol
VERSION=${VERSION:-0.42.2}
-BUILD=${BUILD:-3}
+BUILD=${BUILD:-4}
TAG=${TAG:-_SBo}
if [ -z "$ARCH" ]; then
@@ -65,11 +65,13 @@ set -e
rm -rf $PKG
mkdir -p $TMP $PKG $OUTPUT
cd $TMP
-rm -rf $PRGNAM-$VERSION
-tar xvf $CWD/$PRGNAM-$VERSION.tar.gz
-cd $PRGNAM-$VERSION
+rm -rf $PRGNAM-v$VERSION
+tar xvf $CWD/$PRGNAM-v$VERSION.tar.gz
+cd $PRGNAM-v$VERSION
-patch -p1 < $CWD/9dda18921a25f64e0a0da06e3417ce99f8bf9b41.patch
+zcat $CWD/9dda18921a25f64e0a0da06e3417ce99f8bf9b41.patch.gz | patch -p1
+zcat $CWD/0bca17247120d2ec2ae465bac7dd6d0354189175.patch.gz | patch -p1
+zcat $CWD/f00fed1f947dcd372a598f1e2905ae9d4c8a1b0c.patch.gz | patch -p1
# build offline
# configuration tells cargo to use the configured directory
@@ -117,7 +119,7 @@ mkdir vendor
sha256sum "$CWD/$dep-$ver.crate" | cut -f1 -d' ' | sed 's/$/"/'
printf "}\n"
- } | python -c "import sys, json; data = sys.stdin.read(); print json.dumps(json.loads(data), sort_keys=True, indent=4, separators=(',', ' : '))" > $dep-$ver/.cargo-checksum.json
+ } > $dep-$ver/.cargo-checksum.json
done
)
diff --git a/system/vtcol/vtcol.info b/system/vtcol/vtcol.info
index 9f3fc65672..e55ba739e6 100644
--- a/system/vtcol/vtcol.info
+++ b/system/vtcol/vtcol.info
@@ -1,12 +1,14 @@
PRGNAM="vtcol"
VERSION="0.42.2"
HOMEPAGE="https://gitlab.com/phgsng/vtcol"
-DOWNLOAD="https://github.com/phi-gamma/vtcol/archive/v0.42.2/vtcol-0.42.2.tar.gz \
- https://crates-io.s3-us-west-1.amazonaws.com/crates/getopts/getopts-0.2.14.crate \
- https://crates-io.s3-us-west-1.amazonaws.com/crates/libc/libc-0.2.19.crate"
-MD5SUM="80091d0507aff4fe8bfb8d82e70a020c \
- 6d59f4fa29cab7bcc7ea7e0c8f96e27d \
- 604a2edfd52c6e87d8903ef2795da387"
+DOWNLOAD="https://gitlab.com/phgsng/vtcol/-/archive/v0.42.2/vtcol-v0.42.2.tar.gz \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/getopts/getopts-0.2.21.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/libc/libc-0.2.19.crate \
+ https://crates-io.s3-us-west-1.amazonaws.com/crates/unicode-width/unicode-width-0.1.8.crate"
+MD5SUM="94ec72b7b2cc7d1a2ed80d2a08a70761 \
+ c3ec5977ecc0f6244ef3be87f5325e72 \
+ 604a2edfd52c6e87d8903ef2795da387 \
+ 4272c279b06b88f8b0ffce7109348e27"
DOWNLOAD_x86_64=""
MD5SUM_x86_64=""
REQUIRES=""
diff --git a/system/webmin/webmin.SlackBuild b/system/webmin/webmin.SlackBuild
index 893272901c..3889b03612 100644
--- a/system/webmin/webmin.SlackBuild
+++ b/system/webmin/webmin.SlackBuild
@@ -23,7 +23,7 @@
# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
PRGNAM=webmin
-VERSION=${VERSION:-1.930}
+VERSION=${VERSION:-1.973}
BUILD=${BUILD:-1}
TAG=${TAG:-_SBo}
diff --git a/system/webmin/webmin.info b/system/webmin/webmin.info
index 3a1d8d44c6..e51856347c 100644
--- a/system/webmin/webmin.info
+++ b/system/webmin/webmin.info
@@ -1,8 +1,8 @@
PRGNAM="webmin"
-VERSION="1.930"
-HOMEPAGE="http://www.webmin.com/"
-DOWNLOAD="https://downloads.sf.net/project/webadmin/webmin/1.930/webmin-1.930.tar.gz"
-MD5SUM="146806a89026155c0f617f201b6ee33c"
+VERSION="1.973"
+HOMEPAGE="https://www.webmin.com/"
+DOWNLOAD="https://downloads.sf.net/project/webadmin/webmin/1.973/webmin-1.973.tar.gz"
+MD5SUM="6d38a589e4b721a5ae584767713a230a"
DOWNLOAD_x86_64=""
MD5SUM_x86_64=""
REQUIRES="jdk"
diff --git a/system/whowatch/whowatch.SlackBuild b/system/whowatch/whowatch.SlackBuild
index 40c3d88617..436bf2d1e2 100644
--- a/system/whowatch/whowatch.SlackBuild
+++ b/system/whowatch/whowatch.SlackBuild
@@ -2,7 +2,7 @@
# Slackware build script for whowatch
-# Copyright 2009 David Woodfall <info@davidwoodfall.co.uk>
+# Copyright 2009 David Woodfall <dave@slackbuilds.org>
# Copyright 2009-2012 Renato Martini, renatomartini.net, Brazil
# All rights reserved.
#
diff --git a/system/wiimms-iso-tools/cflags.diff b/system/wiimms-iso-tools/cflags.diff
index 2107bdc175..0e483f6ecd 100644
--- a/system/wiimms-iso-tools/cflags.diff
+++ b/system/wiimms-iso-tools/cflags.diff
@@ -1,16 +1,27 @@
---- Makefile.orig 2018-04-01 01:05:20.377566441 -0700
-+++ Makefile 2018-04-01 01:05:59.596953701 -0700
+--- Makefile.orig 2019-12-22 07:58:45.850503487 -0800
++++ Makefile 2019-12-22 08:17:35.475369649 -0800
+@@ -112,8 +112,8 @@
+ # compiler settings
+
+ PRE ?=
+-CC = $(PRE)gcc
+-CPP = $(PRE)g++
++CC ?= $(PRE)gcc
++CXX ?= $(PRE)g++
+ STRIP = $(PRE)strip
+
+ #-------------------------------------------------------------------------------
@@ -243,7 +243,8 @@
DCLIB_DIR := ./dclib
DIR_LIST += $(DCLIB_DIR)
VPATH += $(DCLIB_DIR)
-CFLAGS += -I$(DCLIB_DIR)
+CFLAGS ?= -O3 -funroll-loops
-+DEF_FLAGS += -I$(DCLIB_DIR)
++DEF_FLAGS := -I$(DCLIB_DIR)
# other objects
WIT_O := lib-std.o lib-file.o lib-sf.o \
-@@ -297,15 +298,15 @@
+@@ -297,17 +298,17 @@
DEFINES1 += -D_LZMA_PROB32=1 # LZMA option
DEFINES = $(strip $(DEFINES1) $(MODE) $(XDEF))
@@ -22,9 +33,12 @@
+DEF_FLAGS += -Wall -Wno-parentheses -Wno-unused-function
+#DEF_FLAGS += -Isrc/libwbfs -Isrc/lzma -Isrc -I$(UI) -I. -Iwork
+DEF_FLAGS += -Isrc/libwbfs -Isrc -I$(UI) -I. -Iwork
- ifeq ($(SYSTEM),mac)
+ ifeq ($(SYSTEM),cygwin)
+- CFLAGS += -Wno-format-truncation
++ DEF_FLAGS += -Wno-format-truncation
+ else ifeq ($(SYSTEM),mac)
- CFLAGS += -I/usr/local/include
-+ DEF_FLAGS += -I/usr/local/include
++ DEF_FLAGS += -I/usr/local/include
endif
-CFLAGS += $(XFLAGS)
-CFLAGS := $(strip $(CFLAGS))
@@ -33,7 +47,7 @@
DEPFLAGS += -MMD
-@@ -369,7 +370,7 @@
+@@ -371,7 +372,7 @@
$(ALL_TOOLS_X): %: %.o $(ALL_OBJECTS) $(TOBJ_ALL) Makefile | $(HELPER_TOOLS)
@printf "$(LOGFORMAT_TOOL)" tool "$@" "$(MODE) $(TOPT_$@) $(TOBJ_$@)"
@@ -42,7 +56,7 @@
$(ALL_OBJECTS) $(TOBJ_$@) $(LIBS) $(TOPT_$@) -o $@
@if test -f $@.exe; then $(STRIP) $@.exe; else $(STRIP) $@; fi
-@@ -382,7 +383,7 @@
+@@ -384,7 +385,7 @@
$(HELPER_TOOLS): %: %.o $(ALL_OBJECTS) $(UI_TABS) Makefile
@printf "$(LOGFORMAT_TOOL)" helper "$@ $(TOBJ_$@)" "$(MODE)"
@@ -51,7 +65,7 @@
$(ALL_OBJECTS) $(TOBJ_$@) $(LIBS) -o $@
#--------------------------
-@@ -395,19 +396,19 @@
+@@ -397,19 +398,19 @@
$(UI_OBJECTS): %.o: %.c ui-%.c ui-%.h version.h Makefile
@printf "$(LOGFORMAT_CC)" +object "$@" "$(MODE)"
@@ -74,7 +88,7 @@
#--------------------------
-@@ -440,11 +441,11 @@
+@@ -442,11 +443,11 @@
$(LIBBZ2_OBJ): %.o: %.c Makefile
@printf "$(LOGFORMAT_CC)" object "$(subst src/libbz2/,,$@)" "$(MODE) [libbz2]"
@@ -88,7 +102,7 @@
#
###############################################################################
-@@ -656,6 +657,8 @@
+@@ -658,6 +659,8 @@
@echo ""
@echo "CFLAGS: $(CFLAGS)"
@echo ""
@@ -97,7 +111,7 @@
@echo "LDFLAGS: $(LDFLAGS)"
@echo ""
@echo "LIBS: $(LIBS)"
-@@ -1003,7 +1006,7 @@
+@@ -1005,7 +1008,7 @@
@echo " make old enable '-DOLD_FEATURES'"
@echo " make wait enable '-DWAIT'"
@echo " make testtrace enable '-DTESTTRACE'"
diff --git a/system/wiimms-iso-tools/wiimms-iso-tools.SlackBuild b/system/wiimms-iso-tools/wiimms-iso-tools.SlackBuild
index a5d51c87dd..d10239ff94 100644
--- a/system/wiimms-iso-tools/wiimms-iso-tools.SlackBuild
+++ b/system/wiimms-iso-tools/wiimms-iso-tools.SlackBuild
@@ -3,7 +3,7 @@
# Slackware build script for Wiimms ISO Tools
#
# Copyright 2010-2011 Marco Bonetti <sid77@slackware.it>
-# Copyright 2015, 2018 Hunter Sezen California, USA
+# Copyright 2015, 2018-2019 Hunter Sezen California, USA
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
@@ -24,7 +24,7 @@
# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
PRGNAM=wiimms-iso-tools
-VERSION=${VERSION:-3.01a}
+VERSION=${VERSION:-3.02a}
BUILD=${BUILD:-1}
TAG=${TAG:-_SBo}
@@ -60,9 +60,9 @@ set -eu
rm -rf $PKG
mkdir -p $TMP $PKG $OUTPUT
cd $TMP
-rm -rf $PRGNAM-$VERSION
-tar xvf $CWD/$PRGNAM-$VERSION.tar.xz
-cd $PRGNAM-$VERSION
+rm -rf $PRGNAM.source-$VERSION
+tar xvf $CWD/$PRGNAM.source-$VERSION.txz
+cd $PRGNAM.source-$VERSION
chown -R root:root .
find -L . \
\( -perm 777 -o -perm 775 -o -perm 750 -o -perm 711 -o -perm 555 \
@@ -79,8 +79,8 @@ sed -i "s|/usr/local|$PKG/usr|" templates.sed
make install
-find $PKG -print0 | xargs -0 file | grep -e "executable" -e "shared object" | grep ELF \
- | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null || true
+find $PKG -print0 | xargs -0 file | grep -e "executable" -e "shared object" |
+ grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null || true
mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION
cp -a gpl-2.0.txt $PKG/usr/doc/$PRGNAM-$VERSION
diff --git a/system/wiimms-iso-tools/wiimms-iso-tools.info b/system/wiimms-iso-tools/wiimms-iso-tools.info
index 3dd408d461..c15948fdb0 100644
--- a/system/wiimms-iso-tools/wiimms-iso-tools.info
+++ b/system/wiimms-iso-tools/wiimms-iso-tools.info
@@ -1,8 +1,8 @@
PRGNAM="wiimms-iso-tools"
-VERSION="3.01a"
+VERSION="3.02a"
HOMEPAGE="https://wit.wiimm.de/"
-DOWNLOAD="http://slackware.uk/sbosrcarch/by-name/system/wiimms-iso-tools/wiimms-iso-tools-3.01a.tar.xz"
-MD5SUM="ebfe94fc14d851770da9c921de1ebb8c"
+DOWNLOAD="https://download.wiimm.de/source/wiimms-iso-tools/wiimms-iso-tools.source-3.02a.txz"
+MD5SUM="a49c0fe7e5cf7fff7dd13fbdacb946eb"
DOWNLOAD_x86_64=""
MD5SUM_x86_64=""
REQUIRES=""
diff --git a/system/wine-staging/README b/system/wine-staging/README
index 070ac7f7d9..eab14d1e07 100644
--- a/system/wine-staging/README
+++ b/system/wine-staging/README
@@ -9,60 +9,82 @@ before they are integrated into the main branch.
This is a current development branch of Wine appended with full
patches of the Staging branch.
-MULTILIB.
+NOTE
-With no options this script will build the 32bit wine-staging
-package ONLY!, for which you need to have a FULL multilib
-system installed (see below).
+libusb in Slackware 14.2 is too old for this version of wine, and
+consequently, USB isn't supported.
-To build a package for both 64bit and 32bit Windows executable
-support, use this:
+============================================================
- # WIN64=yes sh wine-staging.SlackBuild
+OPTIONS
-See README.SLACKWARE for a giant list of dependencies and
-AlienBOB's multilib readme and repo:
+With no options this SlackBuild will build a 32 bit package,
+for which you need to have either have multilib installed, or
+building in a 32 OS, or in a 32 bit chroot.
-https://docs.slackware.com/slackware:multilib
-http://www.slackware.com/~alien/multilib/
+To enable 64 bit support use:
-From wine's maintainer David Woodfall you can grab a script
-to get and install the multilib packages:
+ WIN64=yes ./wine.SlackBuild
-http://dawoodfall.net/files/scripts/slackware/alien-multilib-rysnc.sh
+To disable win32 support, use:
-Be sure to read the short instructions at the top. If you use
-slackpkg then you will also want to blacklist his packages in
-/etc/slackpkg/blacklist:
+ WIN32=no ./wine.SlackBuild
- [0-9]+alien
- [0-9]+compat32
+To disable OpenGL support, use:
-WINEPREFIX.
+ OPENGL=no ./wine.SlackBuild
-With 64bit support you would use the wine64 binary. If you have a
-combined 32 and 64bit package you need to set the environmental
-variable WINEPREFIX to point to the 64bit wine directory when running
-wine64, which should be different to the 32bit directory (~/.wine by
-default). Example:
+The above options can be combined.
- $ WINEPREFIX=~/.wine64 wine64 notepad
+============================================================
-To build the 32bit wine on x86_64 you will need to have multilib
-packages installed, unless you want to build for Windows 64 bit
-applications only using:
+OPTIONAL DEPENDENCIES
- # WIN64=yes NOWIN32=yes sh wine-staging.SlackBuild
+fontforge: To build tahoma, tahomabd, and marlett fonts.
+webcore-fonts: For MS fonts for the web and Windows Vista.
+oss
+SDL2
+FAudio
+libcapi20
+gsm
+krb5
+OpenAL
+vulkan-sdk
-OPENGL.
+============================================================
-To disable OpenGL support, use:
+MULTILIB
+
+To build the 32 bit wine on x86_64 you will need to have
+multilib packages installed, unless you want to build for
+Windows 64 bit applications only (using WIN64=yes WIN32=no.)
+
+alienBOB's multilib readme and repo:
+
+https://docs.slackware.com/slackware:multilib
+http://www.slackware.com/~alien/multilib/
+
+A script that rsyncs with alienBOB's repo and installs the
+multilib packages which can be found here:
+
+http://tty1.uk/scripts/slackware/alien-multilib-rsync.sh
+
+Be sure to read the short instructions at the top. If you
+use slackpkg then you will also want to blacklist his
+packages in /etc/slackpkg/blacklist:
+
+[0-9]+alien
+[0-9]+compat32
- # OPENGL=no ./wine.SlackBuild
+============================================================
-Optional dependencies: fontforge, webcore-fonts, winetricks
+NOTES
-NOTE: you can increase buildtime passing some like that to the
-SlackBuild script:
+With 64 bit support you would use the wine64 binary. If you
+have a combined 32 and 64 bit package you need to set the
+environmental variable WINEPREFIX to point to the 64 bit
+wine directory when running wine64, which should be
+different to the 32 bit directory (~/.wine by default).
+Example:
- # MAKEFLAGS=-j6 ./wine-staging.SlackBuild
+WINEPREFIX=~/.wine64 wine64 notepad
diff --git a/system/wine-staging/wine-staging.SlackBuild b/system/wine-staging/wine-staging.SlackBuild
index b92c4a6ec4..da0da96bc8 100644
--- a/system/wine-staging/wine-staging.SlackBuild
+++ b/system/wine-staging/wine-staging.SlackBuild
@@ -29,8 +29,11 @@
# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+# Now maintained by Dave Woodfall <dave@slackbuilds.org>
+
PRGNAM=wine-staging
-VERSION=${VERSION:-4.21}
+VERSION=${VERSION:-6.5}
+WINEVERSION=${WINEVERSION:-6.5}
BUILD=${BUILD:-1}
TAG=${TAG:-_SBo}
@@ -46,6 +49,8 @@ CWD=$(pwd)
TMP=${TMP:-/tmp/SBo}
PKG=$TMP/package-$PRGNAM
OUTPUT=${OUTPUT:-/tmp}
+WIN32=${WIN32:-yes}
+WIN64=${WIN64:-no}
# If your video card does not support hardware accelerated OpenGL,
# run the script like: OPENGL=NO ./wine.SlackBuild
@@ -54,27 +59,18 @@ if [ "${OPENGL:-YES}" = "YES" ]; then
else
do_opengl="without"
fi
-
-if [ -z "$ARCH" ]; then
- case "$(uname -m)" in
- i?86) ARCH=i586 ;;
- arm*) ARCH=arm ;;
- *) ARCH=$(uname -m) ;;
- esac
-fi
-
-if [ -n "$NOWIN32" ] && [ -z "$WIN64" ]; then
+if [ "$WIN32" = "no" ] && [ "$WIN64" = "no" ]; then
echo "Both 64 and 32 bit builds disabled. Nothing to do."
exit 1
fi
# These should work for anything not specified below
-BUILD_ARCH=$ARCH"-slackware-linux"
+BUILD_ARCH="$ARCH-slackware-linux"
SLKCFLAGS="-O2"
case "$ARCH" in
arm)
- BUILD_ARCH=$ARCH"-slackware-linux-gnueabi"
+ BUILD_ARCH="$ARCH-slackware-linux-gnueabi"
;;
i?86)
# -Os was -O2, fix for:
@@ -84,7 +80,6 @@ case "$ARCH" in
SLKCFLAGS="-Os -march=$ARCH -mtune=i686"
;;
x86_64)
- [ -n "$WIN64" ] && WIN64="--enable-win64"
SLKCFLAGS="-O2 -fPIC"
LIBDIRSUFFIX="64"
;;
@@ -95,8 +90,8 @@ set -e
rm -rf $PKG
mkdir -p $TMP $PKG $OUTPUT
cd $TMP
-rm -rf $PRGNAM-$VERSION wine-$VERSION
-tar xvf $CWD/wine-$VERSION.tar.xz
+rm -rf $PRGNAM-$VERSION wine-$WINEVERSION
+tar xvf $CWD/wine-$WINEVERSION.tar.xz
tar xvf $CWD/$PRGNAM-$VERSION.tar.gz
cd $PRGNAM-$VERSION/patches
@@ -107,9 +102,9 @@ find -L . \
\( -perm 666 -o -perm 664 -o -perm 640 -o -perm 600 -o -perm 444 \
-o -perm 440 -o -perm 400 \) -exec chmod 644 {} \;
-./patchinstall.sh DESTDIR=$TMP/wine-$VERSION --all
+./patchinstall.sh DESTDIR=$TMP/wine-$WINEVERSION --all
-cd $TMP/wine-$VERSION
+cd $TMP/wine-$WINEVERSION
chown -R root:root .
find -L . \
\( -perm 777 -o -perm 775 -o -perm 750 -o -perm 711 -o -perm 555 \
@@ -123,12 +118,7 @@ patch -p1 --verbose < $CWD/0001-winhlp32-Workaround-a-bug-in-Flex.patch
# fix path of opencl headers.
sed 's|OpenCL/opencl.h|CL/opencl.h|g' -i configure*
-# Remove -fPIC for i?86 or the build will hang.
-if [ "$ARCH" == "i?86" ]; then
- patch -p1 --verbose < $CWD/x86_remove_fpic.patch
-fi
-
-if [ -n "$WIN64" ]; then
+if [ "$WIN64" = "yes" ]; then
wine64="--with-wine64=../wine64"
mkdir wine64
cd wine64
@@ -157,7 +147,7 @@ if [ -n "$WIN64" ]; then
cd ..
fi
-if [ -z "$NOWIN32" ]; then
+if [ "$WIN32" = "yes" ]; then
mkdir wine32
cd wine32
@@ -219,6 +209,8 @@ cp $CWD/*.desktop $PKG/usr/share/applications/
DOCS="ANNOUNCE AUTHORS COPYING.LIB LICENSE* MAINTAINERS README VERSION"
FONTS_LICENSE="COPYING.arial COPYING.cour COPYING.msyh COPYING.times"
+VERSION=$( printf %s $VERSION | tr - _ )
+
mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION
cp $DOCS $FONTS_LICENSE $PKG/usr/doc/$PRGNAM-$VERSION
cat $CWD/$PRGNAM.SlackBuild > $PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM.SlackBuild
diff --git a/system/wine-staging/wine-staging.info b/system/wine-staging/wine-staging.info
index 46c3cd7d08..520f7c2dfb 100644
--- a/system/wine-staging/wine-staging.info
+++ b/system/wine-staging/wine-staging.info
@@ -1,12 +1,12 @@
PRGNAM="wine-staging"
-VERSION="4.21"
+VERSION="6.5"
HOMEPAGE="https://wiki.winehq.org/Wine-Staging"
-DOWNLOAD="https://dl.winehq.org/wine/source/4.x/wine-4.21.tar.xz \
- https://github.com/wine-staging/wine-staging/archive/v4.21/wine-staging-4.21.tar.gz"
-MD5SUM="8c0b7b7f16c9fcbad663a35903b4613b \
- c253c253bdfb5ece6b7889bb642894a7"
-DOWNLOAD_x86_64="UNSUPPORTED"
+DOWNLOAD="https://dl.winehq.org/wine/source/6.x/wine-6.5.tar.xz \
+ https://github.com/wine-staging/wine-staging/archive/v6.5/wine-staging-6.5.tar.gz"
+MD5SUM="ff2e13ce3cfce10ab801bbe89261d76b \
+ 34ee330a274bec7ad5cb7ab840f424fc"
+DOWNLOAD_x86_64=""
MD5SUM_x86_64=""
REQUIRES=""
-MAINTAINER="Edinaldo P. Silva"
-EMAIL="edps.mundognu@gmail.com"
+MAINTAINER="Dave Woodfall"
+EMAIL="dave@slackbuilds.org"
diff --git a/system/wine-staging/x86_remove_fpic.patch b/system/wine-staging/x86_remove_fpic.patch
deleted file mode 100644
index ac949dc86d..0000000000
--- a/system/wine-staging/x86_remove_fpic.patch
+++ /dev/null
@@ -1,202 +0,0 @@
-diff -Naur a/configure b/configure
---- a/configure 2018-01-02 20:58:13.000000000 +0000
-+++ b/configure 2018-01-08 18:31:55.480995247 +0000
-@@ -8072,7 +8072,7 @@
- done
-
- LIBEXT="dylib"
-- DLLFLAGS="$DLLFLAGS -fPIC"
-+ DLLFLAGS="$DLLFLAGS "
- LDRPATH_INSTALL="-Wl,-rpath,@loader_path/\`\$(MAKEDEP) -R \${bindir} \${libdir}\`"
- LDRPATH_LOCAL="-Wl,-rpath,@loader_path/\$(top_builddir)/libs/wine"
- COREFOUNDATION_LIBS="-framework CoreFoundation"
-@@ -8304,14 +8304,14 @@
- ;;
-
- linux-android*)
-- DLLFLAGS="$DLLFLAGS -fPIC"
-- { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the compiler supports -fPIC -Wl,--export-dynamic" >&5
--$as_echo_n "checking whether the compiler supports -fPIC -Wl,--export-dynamic... " >&6; }
-+ DLLFLAGS="$DLLFLAGS "
-+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the compiler supports -Wl,--export-dynamic" >&5
-+$as_echo_n "checking whether the compiler supports -Wl,--export-dynamic... " >&6; }
- if ${ac_cv_cflags__fPIC__Wl___export_dynamic+:} false; then :
- $as_echo_n "(cached) " >&6
- else
- ac_wine_try_cflags_saved=$CFLAGS
--CFLAGS="$CFLAGS -fPIC -Wl,--export-dynamic"
-+CFLAGS="$CFLAGS -Wl,--export-dynamic"
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
- /* end confdefs.h. */
- int main(int argc, char **argv) { return 0; }
-@@ -8330,14 +8330,14 @@
- if test "x$ac_cv_cflags__fPIC__Wl___export_dynamic" = xyes; then :
- LDEXECFLAGS="-Wl,--export-dynamic"
- fi
-- as_ac_var=`$as_echo "ac_cv_cflags_-fPIC -Wl,--rpath,\\$ORIGIN/../lib" | $as_tr_sh`
--{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the compiler supports -fPIC -Wl,--rpath,\$ORIGIN/../lib" >&5
--$as_echo_n "checking whether the compiler supports -fPIC -Wl,--rpath,\$ORIGIN/../lib... " >&6; }
-+ as_ac_var=`$as_echo "ac_cv_cflags_ -Wl,--rpath,\\$ORIGIN/../lib" | $as_tr_sh`
-+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the compiler supports -Wl,--rpath,\$ORIGIN/../lib" >&5
-+$as_echo_n "checking whether the compiler supports -Wl,--rpath,\$ORIGIN/../lib... " >&6; }
- if eval \${$as_ac_var+:} false; then :
- $as_echo_n "(cached) " >&6
- else
- ac_wine_try_cflags_saved=$CFLAGS
--CFLAGS="$CFLAGS -fPIC -Wl,--rpath,\$ORIGIN/../lib"
-+CFLAGS="$CFLAGS -Wl,--rpath,\$ORIGIN/../lib"
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
- /* end confdefs.h. */
- int main(int argc, char **argv) { return 0; }
-@@ -8358,14 +8358,14 @@
- LDRPATH_INSTALL="-Wl,--rpath,\\\$\$ORIGIN/\`\$(MAKEDEP) -R \${bindir} \${libdir}\`"
- LDRPATH_LOCAL="-Wl,--rpath,\\\$\$ORIGIN/\$(top_builddir)/libs/wine"
- else
-- as_ac_var=`$as_echo "ac_cv_cflags_-fPIC -Wl,-R,\\$ORIGIN/../lib" | $as_tr_sh`
--{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the compiler supports -fPIC -Wl,-R,\$ORIGIN/../lib" >&5
--$as_echo_n "checking whether the compiler supports -fPIC -Wl,-R,\$ORIGIN/../lib... " >&6; }
-+ as_ac_var=`$as_echo "ac_cv_cflags_ -Wl,-R,\\$ORIGIN/../lib" | $as_tr_sh`
-+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the compiler supports -Wl,-R,\$ORIGIN/../lib" >&5
-+$as_echo_n "checking whether the compiler supports -Wl,-R,\$ORIGIN/../lib... " >&6; }
- if eval \${$as_ac_var+:} false; then :
- $as_echo_n "(cached) " >&6
- else
- ac_wine_try_cflags_saved=$CFLAGS
--CFLAGS="$CFLAGS -fPIC -Wl,-R,\$ORIGIN/../lib"
-+CFLAGS="$CFLAGS -Wl,-R,\$ORIGIN/../lib"
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
- /* end confdefs.h. */
- int main(int argc, char **argv) { return 0; }
-@@ -8448,7 +8448,7 @@
- ;;
-
- *)
-- DLLFLAGS="$DLLFLAGS -fPIC"
-+ DLLFLAGS="$DLLFLAGS "
- LDEXECFLAGS=""
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we can build a GNU style ELF dll" >&5
- $as_echo_n "checking whether we can build a GNU style ELF dll... " >&6; }
-@@ -8456,7 +8456,7 @@
- $as_echo_n "(cached) " >&6
- else
- ac_wine_try_cflags_saved=$CFLAGS
--CFLAGS="$CFLAGS -fPIC -shared -Wl,-Bsymbolic"
-+CFLAGS="$CFLAGS -shared -Wl,-Bsymbolic"
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
- /* end confdefs.h. */
- void myfunc() {}
-@@ -8475,13 +8475,13 @@
- if test "$ac_cv_c_dll_gnuelf" = "yes"
- then
- LIBWINE_LDFLAGS="-shared"
-- { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the compiler supports -fPIC -shared -Wl,-soname,confest.so.1" >&5
--$as_echo_n "checking whether the compiler supports -fPIC -shared -Wl,-soname,confest.so.1... " >&6; }
-+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the compiler supports -shared -Wl,-soname,confest.so.1" >&5
-+$as_echo_n "checking whether the compiler supports -shared -Wl,-soname,confest.so.1... " >&6; }
- if ${ac_cv_cflags__fPIC__shared__Wl__soname_confest_so_1+:} false; then :
- $as_echo_n "(cached) " >&6
- else
- ac_wine_try_cflags_saved=$CFLAGS
--CFLAGS="$CFLAGS -fPIC -shared -Wl,-soname,confest.so.1"
-+CFLAGS="$CFLAGS -shared -Wl,-soname,confest.so.1"
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
- /* end confdefs.h. */
- int main(int argc, char **argv) { return 0; }
-@@ -8500,13 +8500,13 @@
- if test "x$ac_cv_cflags__fPIC__shared__Wl__soname_confest_so_1" = xyes; then :
- LIBWINE_LDFLAGS="-shared -Wl,-soname,libwine.so.$libwine_soversion"
- else
-- { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the compiler supports -fPIC -shared -Wl,-h,confest.so.1" >&5
--$as_echo_n "checking whether the compiler supports -fPIC -shared -Wl,-h,confest.so.1... " >&6; }
-+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the compiler supports -shared -Wl,-h,confest.so.1" >&5
-+$as_echo_n "checking whether the compiler supports -shared -Wl,-h,confest.so.1... " >&6; }
- if ${ac_cv_cflags__fPIC__shared__Wl__h_confest_so_1+:} false; then :
- $as_echo_n "(cached) " >&6
- else
- ac_wine_try_cflags_saved=$CFLAGS
--CFLAGS="$CFLAGS -fPIC -shared -Wl,-h,confest.so.1"
-+CFLAGS="$CFLAGS -shared -Wl,-h,confest.so.1"
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
- /* end confdefs.h. */
- int main(int argc, char **argv) { return 0; }
-@@ -8528,13 +8528,13 @@
- fi
-
- echo '{ global: *; };' >conftest.map
-- { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the compiler supports -fPIC -shared -Wl,--version-script=conftest.map" >&5
--$as_echo_n "checking whether the compiler supports -fPIC -shared -Wl,--version-script=conftest.map... " >&6; }
-+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the compiler supports -shared -Wl,--version-script=conftest.map" >&5
-+$as_echo_n "checking whether the compiler supports -shared -Wl,--version-script=conftest.map... " >&6; }
- if ${ac_cv_cflags__fPIC__shared__Wl___version_script_conftest_map+:} false; then :
- $as_echo_n "(cached) " >&6
- else
- ac_wine_try_cflags_saved=$CFLAGS
--CFLAGS="$CFLAGS -fPIC -shared -Wl,--version-script=conftest.map"
-+CFLAGS="$CFLAGS -shared -Wl,--version-script=conftest.map"
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
- /* end confdefs.h. */
- int main(int argc, char **argv) { return 0; }
-@@ -8555,13 +8555,13 @@
- fi
- rm -f conftest.map
-
-- { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the compiler supports -fPIC -Wl,--export-dynamic" >&5
--$as_echo_n "checking whether the compiler supports -fPIC -Wl,--export-dynamic... " >&6; }
-+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the compiler supports -Wl,--export-dynamic" >&5
-+$as_echo_n "checking whether the compiler supports -Wl,--export-dynamic... " >&6; }
- if ${ac_cv_cflags__fPIC__Wl___export_dynamic+:} false; then :
- $as_echo_n "(cached) " >&6
- else
- ac_wine_try_cflags_saved=$CFLAGS
--CFLAGS="$CFLAGS -fPIC -Wl,--export-dynamic"
-+CFLAGS="$CFLAGS -Wl,--export-dynamic"
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
- /* end confdefs.h. */
- int main(int argc, char **argv) { return 0; }
-@@ -8581,14 +8581,14 @@
- LDEXECFLAGS="-Wl,--export-dynamic"
- fi
-
-- as_ac_var=`$as_echo "ac_cv_cflags_-fPIC -Wl,--rpath,\\$ORIGIN/../lib" | $as_tr_sh`
--{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the compiler supports -fPIC -Wl,--rpath,\$ORIGIN/../lib" >&5
--$as_echo_n "checking whether the compiler supports -fPIC -Wl,--rpath,\$ORIGIN/../lib... " >&6; }
-+ as_ac_var=`$as_echo "ac_cv_cflags_ -Wl,--rpath,\\$ORIGIN/../lib" | $as_tr_sh`
-+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the compiler supports -Wl,--rpath,\$ORIGIN/../lib" >&5
-+$as_echo_n "checking whether the compiler supports -Wl,--rpath,\$ORIGIN/../lib... " >&6; }
- if eval \${$as_ac_var+:} false; then :
- $as_echo_n "(cached) " >&6
- else
- ac_wine_try_cflags_saved=$CFLAGS
--CFLAGS="$CFLAGS -fPIC -Wl,--rpath,\$ORIGIN/../lib"
-+CFLAGS="$CFLAGS -Wl,--rpath,\$ORIGIN/../lib"
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
- /* end confdefs.h. */
- int main(int argc, char **argv) { return 0; }
-@@ -8609,14 +8609,14 @@
- LDRPATH_INSTALL="-Wl,--rpath,\\\$\$ORIGIN/\`\$(MAKEDEP) -R \${bindir} \${libdir}\`"
- LDRPATH_LOCAL="-Wl,--rpath,\\\$\$ORIGIN/\$(top_builddir)/libs/wine"
- else
-- as_ac_var=`$as_echo "ac_cv_cflags_-fPIC -Wl,-R,\\$ORIGIN/../lib" | $as_tr_sh`
--{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the compiler supports -fPIC -Wl,-R,\$ORIGIN/../lib" >&5
--$as_echo_n "checking whether the compiler supports -fPIC -Wl,-R,\$ORIGIN/../lib... " >&6; }
-+ as_ac_var=`$as_echo "ac_cv_cflags_ -Wl,-R,\\$ORIGIN/../lib" | $as_tr_sh`
-+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the compiler supports -Wl,-R,\$ORIGIN/../lib" >&5
-+$as_echo_n "checking whether the compiler supports -Wl,-R,\$ORIGIN/../lib... " >&6; }
- if eval \${$as_ac_var+:} false; then :
- $as_echo_n "(cached) " >&6
- else
- ac_wine_try_cflags_saved=$CFLAGS
--CFLAGS="$CFLAGS -fPIC -Wl,-R,\$ORIGIN/../lib"
-+CFLAGS="$CFLAGS -Wl,-R,\$ORIGIN/../lib"
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
- /* end confdefs.h. */
- int main(int argc, char **argv) { return 0; }
-@@ -8804,7 +8804,7 @@
- $as_echo_n "(cached) " >&6
- else
- ac_wine_try_cflags_saved=$CFLAGS
--CFLAGS="$CFLAGS -fPIC -Wl,-G,-h,conftest.so.1.0,-B,symbolic"
-+CFLAGS="$CFLAGS -Wl,-G,-h,conftest.so.1.0,-B,symbolic"
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
- /* end confdefs.h. */
- void myfunc() {}
diff --git a/system/wine/README b/system/wine/README
index 4bfe4f5d03..a5830f6347 100644
--- a/system/wine/README
+++ b/system/wine/README
@@ -4,7 +4,6 @@ top of X for Linux and Unix.
NOTE: This builds the stable version of wine. If you need
cutting-edge then you may want to check out wine-staging.
-
OPTIONS
With no options this SlackBuild will build a 32 bit package,
@@ -25,17 +24,18 @@ To disable OpenGL support, use:
The above options can be combined.
-
OPTIONAL DEPENDENCIES
-fontforge:
-
-To build tahoma, tahomabd, and marlett fonts.
-
-webcore-fonts:
-
-For tahoma, lucida console, MS fonts for the web and Win
-Vista.
+fontforge: To build tahoma, tahomabd, and marlett fonts.
+webcore-fonts: For MS fonts for the web and Windows Vista.
+oss
+SDL2
+FAudio
+libcapi20
+gsm
+krb5
+OpenAL
+vulkan-sdk
============================================================
diff --git a/system/wine/wine.SlackBuild b/system/wine/wine.SlackBuild
index 217c92b9cf..64ae4f4275 100644
--- a/system/wine/wine.SlackBuild
+++ b/system/wine/wine.SlackBuild
@@ -24,7 +24,7 @@
# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
PRGNAM=wine
-VERSION=${VERSION:-4.0.2}
+VERSION=${VERSION:-6.0}
BUILD=${BUILD:-1}
TAG=${TAG:-_SBo}
CWD=$(pwd)
@@ -56,12 +56,12 @@ if [ "$WIN32" = "no" ] && [ "$WIN64" = "no" ]; then
fi
# These should work for anything not specified below
-BUILD_ARCH=$ARCH"-slackware-linux"
+BUILD_ARCH="$ARCH-slackware-linux"
SLKCFLAGS="-O2"
case "$ARCH" in
arm)
- BUILD_ARCH=$ARCH"-slackware-linux-gnueabi"
+ BUILD_ARCH="$ARCH-slackware-linux-gnueabi"
;;
i?86)
# -Os was -O2, fix for:
@@ -94,11 +94,6 @@ find -L . \
# Fix for flex
patch -p1 --verbose < $CWD/0001-winhlp32-Workaround-a-bug-in-Flex.patch
-# Remove -fPIC for i?86 or the build will hang
-if [ "$ARCH" == "i?86" ]; then
- patch -p1 --verbose < $CWD/x86_remove_fpic.patch
-fi
-
if [ "$WIN64" = "yes" ]; then
wine64="--with-wine64=../wine64"
mkdir wine64
@@ -165,8 +160,11 @@ find $PKG -print0 | xargs -0 file | grep -e "executable" -e "shared object" | gr
find $PKG/usr/man -type f -exec gzip -9 {} \;
for i in $( find $PKG/usr/man -type l ) ; do ln -s $( readlink $i ).gz $i.gz ; rm $i ; done
+VERSION=$( printf %s $VERSION | tr - _ )
+
mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION
-cp -a ANNOUNCE AUTHORS COPYING.LIB LICENSE* README VERSION $PKG/usr/doc/$PRGNAM-$VERSION
+cp -a ANNOUNCE AUTHORS COPYING.LIB LICENSE* README VERSION \
+ $PKG/usr/doc/$PRGNAM-$VERSION
cat $CWD/$PRGNAM.SlackBuild > $PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM.SlackBuild
mkdir -p $PKG/install
diff --git a/system/wine/wine.info b/system/wine/wine.info
index 74d494ebfa..44d7b362ae 100644
--- a/system/wine/wine.info
+++ b/system/wine/wine.info
@@ -1,8 +1,8 @@
PRGNAM="wine"
-VERSION="4.0.2"
+VERSION="6.0"
HOMEPAGE="http://www.winehq.com/"
-DOWNLOAD="https://dl.winehq.org/wine/source/4.0/wine-4.0.2.tar.xz"
-MD5SUM="770ab184d7f9c561a99e49feffbb0332"
+DOWNLOAD="https://dl.winehq.org/wine/source/6.0/wine-6.0.tar.xz"
+MD5SUM="1c8b7e1642a9e532106b88a7b1932ef3"
DOWNLOAD_x86_64=""
MD5SUM_x86_64=""
REQUIRES=""
diff --git a/system/wine/x86_remove_fpic.patch b/system/wine/x86_remove_fpic.patch
deleted file mode 100644
index ac949dc86d..0000000000
--- a/system/wine/x86_remove_fpic.patch
+++ /dev/null
@@ -1,202 +0,0 @@
-diff -Naur a/configure b/configure
---- a/configure 2018-01-02 20:58:13.000000000 +0000
-+++ b/configure 2018-01-08 18:31:55.480995247 +0000
-@@ -8072,7 +8072,7 @@
- done
-
- LIBEXT="dylib"
-- DLLFLAGS="$DLLFLAGS -fPIC"
-+ DLLFLAGS="$DLLFLAGS "
- LDRPATH_INSTALL="-Wl,-rpath,@loader_path/\`\$(MAKEDEP) -R \${bindir} \${libdir}\`"
- LDRPATH_LOCAL="-Wl,-rpath,@loader_path/\$(top_builddir)/libs/wine"
- COREFOUNDATION_LIBS="-framework CoreFoundation"
-@@ -8304,14 +8304,14 @@
- ;;
-
- linux-android*)
-- DLLFLAGS="$DLLFLAGS -fPIC"
-- { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the compiler supports -fPIC -Wl,--export-dynamic" >&5
--$as_echo_n "checking whether the compiler supports -fPIC -Wl,--export-dynamic... " >&6; }
-+ DLLFLAGS="$DLLFLAGS "
-+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the compiler supports -Wl,--export-dynamic" >&5
-+$as_echo_n "checking whether the compiler supports -Wl,--export-dynamic... " >&6; }
- if ${ac_cv_cflags__fPIC__Wl___export_dynamic+:} false; then :
- $as_echo_n "(cached) " >&6
- else
- ac_wine_try_cflags_saved=$CFLAGS
--CFLAGS="$CFLAGS -fPIC -Wl,--export-dynamic"
-+CFLAGS="$CFLAGS -Wl,--export-dynamic"
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
- /* end confdefs.h. */
- int main(int argc, char **argv) { return 0; }
-@@ -8330,14 +8330,14 @@
- if test "x$ac_cv_cflags__fPIC__Wl___export_dynamic" = xyes; then :
- LDEXECFLAGS="-Wl,--export-dynamic"
- fi
-- as_ac_var=`$as_echo "ac_cv_cflags_-fPIC -Wl,--rpath,\\$ORIGIN/../lib" | $as_tr_sh`
--{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the compiler supports -fPIC -Wl,--rpath,\$ORIGIN/../lib" >&5
--$as_echo_n "checking whether the compiler supports -fPIC -Wl,--rpath,\$ORIGIN/../lib... " >&6; }
-+ as_ac_var=`$as_echo "ac_cv_cflags_ -Wl,--rpath,\\$ORIGIN/../lib" | $as_tr_sh`
-+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the compiler supports -Wl,--rpath,\$ORIGIN/../lib" >&5
-+$as_echo_n "checking whether the compiler supports -Wl,--rpath,\$ORIGIN/../lib... " >&6; }
- if eval \${$as_ac_var+:} false; then :
- $as_echo_n "(cached) " >&6
- else
- ac_wine_try_cflags_saved=$CFLAGS
--CFLAGS="$CFLAGS -fPIC -Wl,--rpath,\$ORIGIN/../lib"
-+CFLAGS="$CFLAGS -Wl,--rpath,\$ORIGIN/../lib"
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
- /* end confdefs.h. */
- int main(int argc, char **argv) { return 0; }
-@@ -8358,14 +8358,14 @@
- LDRPATH_INSTALL="-Wl,--rpath,\\\$\$ORIGIN/\`\$(MAKEDEP) -R \${bindir} \${libdir}\`"
- LDRPATH_LOCAL="-Wl,--rpath,\\\$\$ORIGIN/\$(top_builddir)/libs/wine"
- else
-- as_ac_var=`$as_echo "ac_cv_cflags_-fPIC -Wl,-R,\\$ORIGIN/../lib" | $as_tr_sh`
--{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the compiler supports -fPIC -Wl,-R,\$ORIGIN/../lib" >&5
--$as_echo_n "checking whether the compiler supports -fPIC -Wl,-R,\$ORIGIN/../lib... " >&6; }
-+ as_ac_var=`$as_echo "ac_cv_cflags_ -Wl,-R,\\$ORIGIN/../lib" | $as_tr_sh`
-+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the compiler supports -Wl,-R,\$ORIGIN/../lib" >&5
-+$as_echo_n "checking whether the compiler supports -Wl,-R,\$ORIGIN/../lib... " >&6; }
- if eval \${$as_ac_var+:} false; then :
- $as_echo_n "(cached) " >&6
- else
- ac_wine_try_cflags_saved=$CFLAGS
--CFLAGS="$CFLAGS -fPIC -Wl,-R,\$ORIGIN/../lib"
-+CFLAGS="$CFLAGS -Wl,-R,\$ORIGIN/../lib"
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
- /* end confdefs.h. */
- int main(int argc, char **argv) { return 0; }
-@@ -8448,7 +8448,7 @@
- ;;
-
- *)
-- DLLFLAGS="$DLLFLAGS -fPIC"
-+ DLLFLAGS="$DLLFLAGS "
- LDEXECFLAGS=""
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we can build a GNU style ELF dll" >&5
- $as_echo_n "checking whether we can build a GNU style ELF dll... " >&6; }
-@@ -8456,7 +8456,7 @@
- $as_echo_n "(cached) " >&6
- else
- ac_wine_try_cflags_saved=$CFLAGS
--CFLAGS="$CFLAGS -fPIC -shared -Wl,-Bsymbolic"
-+CFLAGS="$CFLAGS -shared -Wl,-Bsymbolic"
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
- /* end confdefs.h. */
- void myfunc() {}
-@@ -8475,13 +8475,13 @@
- if test "$ac_cv_c_dll_gnuelf" = "yes"
- then
- LIBWINE_LDFLAGS="-shared"
-- { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the compiler supports -fPIC -shared -Wl,-soname,confest.so.1" >&5
--$as_echo_n "checking whether the compiler supports -fPIC -shared -Wl,-soname,confest.so.1... " >&6; }
-+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the compiler supports -shared -Wl,-soname,confest.so.1" >&5
-+$as_echo_n "checking whether the compiler supports -shared -Wl,-soname,confest.so.1... " >&6; }
- if ${ac_cv_cflags__fPIC__shared__Wl__soname_confest_so_1+:} false; then :
- $as_echo_n "(cached) " >&6
- else
- ac_wine_try_cflags_saved=$CFLAGS
--CFLAGS="$CFLAGS -fPIC -shared -Wl,-soname,confest.so.1"
-+CFLAGS="$CFLAGS -shared -Wl,-soname,confest.so.1"
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
- /* end confdefs.h. */
- int main(int argc, char **argv) { return 0; }
-@@ -8500,13 +8500,13 @@
- if test "x$ac_cv_cflags__fPIC__shared__Wl__soname_confest_so_1" = xyes; then :
- LIBWINE_LDFLAGS="-shared -Wl,-soname,libwine.so.$libwine_soversion"
- else
-- { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the compiler supports -fPIC -shared -Wl,-h,confest.so.1" >&5
--$as_echo_n "checking whether the compiler supports -fPIC -shared -Wl,-h,confest.so.1... " >&6; }
-+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the compiler supports -shared -Wl,-h,confest.so.1" >&5
-+$as_echo_n "checking whether the compiler supports -shared -Wl,-h,confest.so.1... " >&6; }
- if ${ac_cv_cflags__fPIC__shared__Wl__h_confest_so_1+:} false; then :
- $as_echo_n "(cached) " >&6
- else
- ac_wine_try_cflags_saved=$CFLAGS
--CFLAGS="$CFLAGS -fPIC -shared -Wl,-h,confest.so.1"
-+CFLAGS="$CFLAGS -shared -Wl,-h,confest.so.1"
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
- /* end confdefs.h. */
- int main(int argc, char **argv) { return 0; }
-@@ -8528,13 +8528,13 @@
- fi
-
- echo '{ global: *; };' >conftest.map
-- { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the compiler supports -fPIC -shared -Wl,--version-script=conftest.map" >&5
--$as_echo_n "checking whether the compiler supports -fPIC -shared -Wl,--version-script=conftest.map... " >&6; }
-+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the compiler supports -shared -Wl,--version-script=conftest.map" >&5
-+$as_echo_n "checking whether the compiler supports -shared -Wl,--version-script=conftest.map... " >&6; }
- if ${ac_cv_cflags__fPIC__shared__Wl___version_script_conftest_map+:} false; then :
- $as_echo_n "(cached) " >&6
- else
- ac_wine_try_cflags_saved=$CFLAGS
--CFLAGS="$CFLAGS -fPIC -shared -Wl,--version-script=conftest.map"
-+CFLAGS="$CFLAGS -shared -Wl,--version-script=conftest.map"
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
- /* end confdefs.h. */
- int main(int argc, char **argv) { return 0; }
-@@ -8555,13 +8555,13 @@
- fi
- rm -f conftest.map
-
-- { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the compiler supports -fPIC -Wl,--export-dynamic" >&5
--$as_echo_n "checking whether the compiler supports -fPIC -Wl,--export-dynamic... " >&6; }
-+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the compiler supports -Wl,--export-dynamic" >&5
-+$as_echo_n "checking whether the compiler supports -Wl,--export-dynamic... " >&6; }
- if ${ac_cv_cflags__fPIC__Wl___export_dynamic+:} false; then :
- $as_echo_n "(cached) " >&6
- else
- ac_wine_try_cflags_saved=$CFLAGS
--CFLAGS="$CFLAGS -fPIC -Wl,--export-dynamic"
-+CFLAGS="$CFLAGS -Wl,--export-dynamic"
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
- /* end confdefs.h. */
- int main(int argc, char **argv) { return 0; }
-@@ -8581,14 +8581,14 @@
- LDEXECFLAGS="-Wl,--export-dynamic"
- fi
-
-- as_ac_var=`$as_echo "ac_cv_cflags_-fPIC -Wl,--rpath,\\$ORIGIN/../lib" | $as_tr_sh`
--{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the compiler supports -fPIC -Wl,--rpath,\$ORIGIN/../lib" >&5
--$as_echo_n "checking whether the compiler supports -fPIC -Wl,--rpath,\$ORIGIN/../lib... " >&6; }
-+ as_ac_var=`$as_echo "ac_cv_cflags_ -Wl,--rpath,\\$ORIGIN/../lib" | $as_tr_sh`
-+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the compiler supports -Wl,--rpath,\$ORIGIN/../lib" >&5
-+$as_echo_n "checking whether the compiler supports -Wl,--rpath,\$ORIGIN/../lib... " >&6; }
- if eval \${$as_ac_var+:} false; then :
- $as_echo_n "(cached) " >&6
- else
- ac_wine_try_cflags_saved=$CFLAGS
--CFLAGS="$CFLAGS -fPIC -Wl,--rpath,\$ORIGIN/../lib"
-+CFLAGS="$CFLAGS -Wl,--rpath,\$ORIGIN/../lib"
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
- /* end confdefs.h. */
- int main(int argc, char **argv) { return 0; }
-@@ -8609,14 +8609,14 @@
- LDRPATH_INSTALL="-Wl,--rpath,\\\$\$ORIGIN/\`\$(MAKEDEP) -R \${bindir} \${libdir}\`"
- LDRPATH_LOCAL="-Wl,--rpath,\\\$\$ORIGIN/\$(top_builddir)/libs/wine"
- else
-- as_ac_var=`$as_echo "ac_cv_cflags_-fPIC -Wl,-R,\\$ORIGIN/../lib" | $as_tr_sh`
--{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the compiler supports -fPIC -Wl,-R,\$ORIGIN/../lib" >&5
--$as_echo_n "checking whether the compiler supports -fPIC -Wl,-R,\$ORIGIN/../lib... " >&6; }
-+ as_ac_var=`$as_echo "ac_cv_cflags_ -Wl,-R,\\$ORIGIN/../lib" | $as_tr_sh`
-+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the compiler supports -Wl,-R,\$ORIGIN/../lib" >&5
-+$as_echo_n "checking whether the compiler supports -Wl,-R,\$ORIGIN/../lib... " >&6; }
- if eval \${$as_ac_var+:} false; then :
- $as_echo_n "(cached) " >&6
- else
- ac_wine_try_cflags_saved=$CFLAGS
--CFLAGS="$CFLAGS -fPIC -Wl,-R,\$ORIGIN/../lib"
-+CFLAGS="$CFLAGS -Wl,-R,\$ORIGIN/../lib"
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
- /* end confdefs.h. */
- int main(int argc, char **argv) { return 0; }
-@@ -8804,7 +8804,7 @@
- $as_echo_n "(cached) " >&6
- else
- ac_wine_try_cflags_saved=$CFLAGS
--CFLAGS="$CFLAGS -fPIC -Wl,-G,-h,conftest.so.1.0,-B,symbolic"
-+CFLAGS="$CFLAGS -Wl,-G,-h,conftest.so.1.0,-B,symbolic"
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
- /* end confdefs.h. */
- void myfunc() {}
diff --git a/system/wipe/wipe.SlackBuild b/system/wipe/wipe.SlackBuild
index c9f3bf90de..0db357d199 100644
--- a/system/wipe/wipe.SlackBuild
+++ b/system/wipe/wipe.SlackBuild
@@ -2,7 +2,7 @@
#
# Slackware build script for wipe.
#
-# Copyright 2015-2017 Edinaldo P. Silva, Rio de Janeiro, Brazil.
+# Copyright 2015-2020 Edinaldo P. Silva, Rio de Janeiro, Brazil.
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
diff --git a/system/wipe/wipe.info b/system/wipe/wipe.info
index e2d2bef2a1..2d7bb3d47a 100644
--- a/system/wipe/wipe.info
+++ b/system/wipe/wipe.info
@@ -6,5 +6,5 @@ MD5SUM="3aed00711e0490edbec115bc283b8544"
DOWNLOAD_x86_64=""
MD5SUM_x86_64=""
REQUIRES=""
-MAINTAINER="Edinaldo P. Silva"
-EMAIL="edps.mundognu@gmail.com"
+MAINTAINER="orphaned - no maintainer"
+EMAIL="nobody@nowhere"
diff --git a/system/wmgtemp/bugfix.diff b/system/wmgtemp/bugfix.diff
deleted file mode 100644
index 19916400c8..0000000000
--- a/system/wmgtemp/bugfix.diff
+++ /dev/null
@@ -1,14 +0,0 @@
-diff -Naur wmgtemp-1.1/src/wmgtemp.c wmgtemp-1.1.patched/src/wmgtemp.c
---- wmgtemp-1.1/src/wmgtemp.c 2010-06-21 06:54:37.000000000 -0400
-+++ wmgtemp-1.1.patched/src/wmgtemp.c 2016-08-16 08:38:01.208866564 -0400
-@@ -90,8 +90,8 @@
- int SUBFEAT_NUM_CPU = 0;
- int SUBFEAT_NUM_SYS = 0;
-
--double cpu_history[59];
--double sys_history[59];
-+double cpu_history[60];
-+double sys_history[60];
-
- double display_min = 20;
- double display_max = 35;
diff --git a/system/wmgtemp/wmgtemp.SlackBuild b/system/wmgtemp/wmgtemp.SlackBuild
index d48afc24a9..f8c546215f 100644
--- a/system/wmgtemp/wmgtemp.SlackBuild
+++ b/system/wmgtemp/wmgtemp.SlackBuild
@@ -3,6 +3,7 @@
# Slackware build script for wmgtemp
#
# Copyright 2015 Gethyn ThomasQuail <email removed>
+# Copyright 2020 B. Watson <yalhcru@gmail.com>
# All rights reserved.
#
# Based on:
@@ -27,6 +28,7 @@
# Now maintained by B. Watson <yalhcru@gmail.com>
+# 20200609 bkw: update for v1.2, add libdockapp dep
# 20160816 bkw:
# - take over maintenance
# - BUILD=2
@@ -37,8 +39,8 @@
# - don't install INSTALL to doc dir
PRGNAM=wmgtemp
-VERSION=${VERSION:-1.1}
-BUILD=${BUILD:-2}
+VERSION=${VERSION:-1.2}
+BUILD=${BUILD:-1}
TAG=${TAG:-_SBo}
if [ -z "$ARCH" ]; then
@@ -77,21 +79,23 @@ rm -rf $PRGNAM-$VERSION
tar xvf $CWD/$PRGNAM-$VERSION.tar.gz
cd $PRGNAM-$VERSION
chown -R root:root .
-find -L . \
- \( -perm 777 -o -perm 775 -o -perm 750 -o -perm 711 -o -perm 555 \
- -o -perm 511 \) -exec chmod 755 {} \; -o \
- \( -perm 666 -o -perm 664 -o -perm 640 -o -perm 600 -o -perm 444 \
- -o -perm 440 -o -perm 400 \) -exec chmod 644 {} \;
+find -L . -perm /111 -a \! -perm 755 -a -exec chmod 755 {} \+ -o \
+ \! -perm /111 -a \! -perm 644 -a -exec chmod 644 {} \+
-patch -p1 < $CWD/bugfix.diff
+CFLAGS="$SLKCFLAGS" \
+CXXFLAGS="$SLKCFLAGS" \
+./configure \
+ --prefix=/usr \
+ --libdir=/usr/lib${LIBDIRSUFFIX} \
+ --sysconfdir=/etc \
+ --localstatedir=/var \
+ --mandir=/usr/man \
+ --docdir=/usr/doc/$PRGNAM-$VERSION \
+ --build=$ARCH-slackware-linux
-sed -i 's,/etc/sensors\.conf,/etc/sensors3.conf,' src/$PRGNAM.c $PRGNAM.1
-
-make CCFLAGS="$SLKCFLAGS -fgnu89-inline"
-mkdir -p $PKG/usr/bin
-install -s -m0755 src/$PRGNAM $PKG/usr/bin
-mkdir -p $PKG/usr/man/man1
-gzip -9c < $PRGNAM.1 > $PKG/usr/man/man1/$PRGNAM.1.gz
+make
+make install-strip DESTDIR=$PKG
+gzip -9 $PKG/usr/man/man1/$PRGNAM.1
mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION
cp -a Artistic ChangeLog CREDITS README TODO $PKG/usr/doc/$PRGNAM-$VERSION
diff --git a/system/wmgtemp/wmgtemp.info b/system/wmgtemp/wmgtemp.info
index 8723be139c..0ead6258c1 100644
--- a/system/wmgtemp/wmgtemp.info
+++ b/system/wmgtemp/wmgtemp.info
@@ -1,10 +1,10 @@
PRGNAM="wmgtemp"
-VERSION="1.1"
-HOMEPAGE="http://fluxcode.net/projects/wmgtemp"
-DOWNLOAD="http://fluxcode.net/files/wmgtemp-1.1.tar.gz"
-MD5SUM="cce700b3a4ef74b2ec019d8e89bdf2f6"
+VERSION="1.2"
+HOMEPAGE="https://www.dockapps.net/wmgtemp"
+DOWNLOAD="https://www.dockapps.net/download/wmgtemp-1.2.tar.gz"
+MD5SUM="a595053ba7fab25e318d983df3af8ce8"
DOWNLOAD_x86_64=""
MD5SUM_x86_64=""
-REQUIRES=""
+REQUIRES="libdockapp"
MAINTAINER="B. Watson"
EMAIL="yalhcru@gmail.com"
diff --git a/system/worker/worker.SlackBuild b/system/worker/worker.SlackBuild
index 6609c04762..543fc06525 100644
--- a/system/worker/worker.SlackBuild
+++ b/system/worker/worker.SlackBuild
@@ -27,7 +27,7 @@
# Modified by Eugene M., <damagedone at gmx dot com
PRGNAM=worker
-VERSION=${VERSION:-4.1.0}
+VERSION=${VERSION:-4.8.0}
BUILD=${BUILD:-1}
TAG=${TAG:-_SBo}
diff --git a/system/worker/worker.info b/system/worker/worker.info
index 60b5219129..f2e68e7085 100644
--- a/system/worker/worker.info
+++ b/system/worker/worker.info
@@ -1,8 +1,8 @@
PRGNAM="worker"
-VERSION="4.1.0"
+VERSION="4.8.0"
HOMEPAGE="http://www.boomerangsworld.de/worker/"
-DOWNLOAD="http://www.boomerangsworld.de/cms/worker/downloads/worker-4.1.0.tar.bz2"
-MD5SUM="e9c4321a2ad016f05c83b08db70afe89"
+DOWNLOAD="http://www.boomerangsworld.de/cms/worker/downloads/worker-4.8.0.tar.bz2"
+MD5SUM="a5319b60723a0a489b7c0426d6aac446"
DOWNLOAD_x86_64=""
MD5SUM_x86_64=""
REQUIRES="avfs"
diff --git a/system/xarchiver/xarchiver.SlackBuild b/system/xarchiver/xarchiver.SlackBuild
index 626765dc4a..e7837ae2f9 100644
--- a/system/xarchiver/xarchiver.SlackBuild
+++ b/system/xarchiver/xarchiver.SlackBuild
@@ -24,7 +24,7 @@
# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
PRGNAM=xarchiver
-VERSION=${VERSION:-0.5.4.14}
+VERSION=${VERSION:-0.5.4.17}
BUILD=${BUILD:-1}
TAG=${TAG:-_SBo}
diff --git a/system/xarchiver/xarchiver.info b/system/xarchiver/xarchiver.info
index 5c56740a4c..bdf73f4d96 100644
--- a/system/xarchiver/xarchiver.info
+++ b/system/xarchiver/xarchiver.info
@@ -1,10 +1,10 @@
PRGNAM="xarchiver"
-VERSION="0.5.4.14"
+VERSION="0.5.4.17"
HOMEPAGE="https://github.com/ib/xarchiver"
-DOWNLOAD="https://github.com/ib/xarchiver/archive/0.5.4.14/xarchiver-0.5.4.14.tar.gz"
-MD5SUM="70e60118c59fe647f620b07f83907fc9"
+DOWNLOAD="https://github.com/ib/xarchiver/archive/0.5.4.17/xarchiver-0.5.4.17.tar.gz"
+MD5SUM="f09d266775347f2ebccd94b01cf23c65"
DOWNLOAD_x86_64=""
MD5SUM_x86_64=""
REQUIRES=""
MAINTAINER="Edward W. Koenig"
-EMAIL="kingbeowulf{at}gmail{dot}com"
+EMAIL="kingbeowulf@gmail.com"
diff --git a/system/xbattmon/README b/system/xbattmon/README
index 3125528794..209c062390 100644
--- a/system/xbattmon/README
+++ b/system/xbattmon/README
@@ -10,5 +10,6 @@ COLOR_LEFT2CHARGE=<color> (default: grey)
COLOR_DRAINED=<color> (default: red)
COLOR_LEFT2DRAIN=<color> (default: blue)
RAISE=yes|no (default: no), the bar to be raised on top of other windows
-CRITICAL=<number> (default: 5), the charge level at which starts blinking
+CRITICAL=<number> (default: 5), the charge level at which it starts
+blinking
TRANSPARENT=yes|no (default: no)
diff --git a/system/xbattmon/slack-desc b/system/xbattmon/slack-desc
index bee69cf587..25be2d7718 100644
--- a/system/xbattmon/slack-desc
+++ b/system/xbattmon/slack-desc
@@ -12,8 +12,8 @@ xbattmon: xbattmon is a simple battery status bar for X. It draws a 2 pixels
xbattmon: bar at the edge of your screen, which shows battery status with
xbattmon: different colors.
xbattmon:
+xbattmon: Homepage: https://git.2f30.org/xbattmon/log.html
xbattmon:
-xbattmon: Homepage: http://git.2f30.org/xbattmon/
xbattmon:
xbattmon:
xbattmon:
diff --git a/system/xbattmon/xbattmon.info b/system/xbattmon/xbattmon.info
index 0177707fd0..8dd02097bc 100644
--- a/system/xbattmon/xbattmon.info
+++ b/system/xbattmon/xbattmon.info
@@ -1,7 +1,7 @@
PRGNAM="xbattmon"
VERSION="1.1"
-HOMEPAGE="http://git.2f30.org/xbattmon/"
-DOWNLOAD="http://dl.2f30.org/releases/xbattmon-1.1.tar.gz"
+HOMEPAGE="https://git.2f30.org/xbattmon/"
+DOWNLOAD="https://dl.2f30.org/releases/xbattmon-1.1.tar.gz"
MD5SUM="e2110af877e7bcfcb30201fcc2ad69f5"
DOWNLOAD_x86_64=""
MD5SUM_x86_64=""
diff --git a/system/xboxdrv-linux/xboxdrv-linux.SlackBuild b/system/xboxdrv-linux/xboxdrv-linux.SlackBuild
index 3a17678fbc..3c62fb1969 100644
--- a/system/xboxdrv-linux/xboxdrv-linux.SlackBuild
+++ b/system/xboxdrv-linux/xboxdrv-linux.SlackBuild
@@ -25,7 +25,7 @@
PRGNAM=xboxdrv-linux
VERSION=${VERSION:-0.8.8}
-BUILD=${BUILD:-1}
+BUILD=${BUILD:-2}
TAG=${TAG:-_SBo}
if [ -z "$ARCH" ]; then
@@ -61,7 +61,8 @@ rm -rf $PKG
mkdir -p $TMP $PKG $OUTPUT
cd $TMP
rm -rf $PRGNAM-$VERSION
-tar xvf $CWD/$PRGNAM-$VERSION.tar.bz2
+mkdir $PRGNAM-$VERSION
+tar xvf $CWD/6e5e8a57628095d8d0c8bbb38187afb0f3a42112.tar.gz --strip-components 1 -C $PRGNAM-$VERSION
cd $PRGNAM-$VERSION
chown -R root:root .
find -L . \
diff --git a/system/xboxdrv-linux/xboxdrv-linux.info b/system/xboxdrv-linux/xboxdrv-linux.info
index eef98e33fd..467f0b7a1d 100644
--- a/system/xboxdrv-linux/xboxdrv-linux.info
+++ b/system/xboxdrv-linux/xboxdrv-linux.info
@@ -1,10 +1,10 @@
PRGNAM="xboxdrv-linux"
VERSION="0.8.8"
HOMEPAGE="https://pingus.seul.org/~grumbel/xboxdrv/"
-DOWNLOAD="https://pingus.seul.org/~grumbel/xboxdrv/xboxdrv-linux-0.8.8.tar.bz2"
-MD5SUM="a62703eda7d59393538b2f22d5b0c791"
+DOWNLOAD="https://github.com/chewi/xboxdrv/archive/6e5e8a57628095d8d0c8bbb38187afb0f3a42112.tar.gz"
+MD5SUM="f0cfa15f509a3858ccae94a0d0da3d6a"
DOWNLOAD_x86_64=""
MD5SUM_x86_64=""
REQUIRES=""
-MAINTAINER="Erik Hanson"
-EMAIL="erik@slackbuilds.org"
+MAINTAINER="Zach Lewis"
+EMAIL="koni@archlinux.us"
diff --git a/system/xbrightness/slack-desc b/system/xbrightness/slack-desc
index b99356aace..b3ed334c60 100644
--- a/system/xbrightness/slack-desc
+++ b/system/xbrightness/slack-desc
@@ -9,10 +9,10 @@
xbrightness: xbrightness (adjusts brightness of the X server display)
xbrightness:
xbrightness: xbrightness sets the overall brightness of a monitor via the XFree86
-xbrightness: X server video mode extension (XFree86-VidModâ€Extension).
+xbrightness: X server video mode extension (XFree86-VidMod-Extension).
xbrightness:
xbrightness: It uses the XF86VidModeSetGammaRamp function, which provides a
-xbrightness: more flexible control than the old XF86VidModeâ€SetGamma. The latter
+xbrightness: more flexible control than the old XF86VidMode-SetGamma. The latter
xbrightness: function cannot change the endpoints of the gamma curve, only the
xbrightness: middle, so full brightness remains full brightness no matter how you
xbrightness: set the gamma.
diff --git a/system/xcdroast/README b/system/xcdroast/README
index b62f6406ea..72bb5a0d7d 100644
--- a/system/xcdroast/README
+++ b/system/xcdroast/README
@@ -1,6 +1,6 @@
xcdroast (Graphical frontend for cdrtools)
-X-CD-Roast tries to be the most flexible CD and DVD burning software
-ever. It allows even the unexperienced user to create or copy a CD or
-a DVD with a few mouse clicks in a intuitive and nice looking
-graphical user interface.
+X-CD-Roast tries to be the most flexible CD and DVD burning software
+ever. It allows even the unexperienced user to create or copy a CD or a
+DVD with a few mouse clicks in a intuitive and nice looking graphical
+user interface.
diff --git a/system/xcdroast/io_compile.patch b/system/xcdroast/io_compile.patch
deleted file mode 100644
index 7285bd335d..0000000000
--- a/system/xcdroast/io_compile.patch
+++ /dev/null
@@ -1,21 +0,0 @@
---- src/io.c.org 2009-02-24 09:38:27.000000000 +0100
-+++ src/io.c 2009-02-24 09:45:18.000000000 +0100
-@@ -1903,7 +1903,8 @@
- }
-
- strcpy(str,"");
-- fgets(str,MAXLINE,fpin);
-+ if (fgets(str,MAXLINE,fpin) == NULL)
-+ g_error("fgets error\n");
-
- if (pclose(fpin) == -1) {
- g_error("pclose error\n");
-@@ -4720,7 +4721,7 @@
- dolog(3, "Saving extended output to %s\n", fname);
-
- /* write to file */
-- fd = open(fname,O_WRONLY | O_CREAT);
-+ fd = open(fname, O_WRONLY | O_CREAT, S_IRUSR | S_IWUSR);
- if (fd < 0) {
- g_warning("Can't open file %s for writing\n",fname);
- return 1;
diff --git a/system/xcdroast/xcdroast.SlackBuild b/system/xcdroast/xcdroast.SlackBuild
index 22fcc90522..c0feb67938 100644
--- a/system/xcdroast/xcdroast.SlackBuild
+++ b/system/xcdroast/xcdroast.SlackBuild
@@ -1,12 +1,35 @@
#!/bin/sh
# Slackware build script for xcdroast
+# GUI frontend for optical disc authoring.
+# Copyright 2019 Fernando Lopez Jr. <fernando.lopezjr@gmail.com>
+# All rights reserved.
+#
# Written by Georgios Efstathiou gefst@yahoo.com
# Heavily based on original slackware script.
+#
+# 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.
+
+# Revision date: 2020/Nov/22
PRGNAM=xcdroast
-VERSION=${VERSION:-0.98alpha16}
+VERSION=${VERSION:-1.19}
BUILD=${BUILD:-2}
TAG=${TAG:-_SBo}
@@ -52,14 +75,15 @@ find -L . \
\( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \
-exec chmod 644 {} \;
-patch -p0 < $CWD/io_compile.patch
-
CFLAGS="$SLKCFLAGS" \
CXXFLAGS="$SLKCFLAGS" \
./configure \
--prefix=/usr \
--libdir=/usr/lib${LIBDIRSUFFIX} \
--sysconfdir=/etc \
+ --localstatedir=/var \
+ --mandir=/usr/man \
+ --docdir=/usr/doc/$PRGNAM-$VERSION \
--enable-gtk2 \
--build=$ARCH-slackware-linux
@@ -72,17 +96,15 @@ cat $CWD/xcdroast.desktop > $PKG/usr/share/applications/xcdroast.desktop
ln -s ../../lib${LIBDIRSUFFIX}/xcdroast/icons/xcdricon.png xcdroast.png
)
-find $PKG | xargs file | grep -e "executable" -e "shared object" | grep ELF \
+find $PKG -print0 | xargs -0 file | grep -e "executable" -e "shared object" | grep ELF \
| cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null || true
-( cd $PKG/usr/man
- find . -type f -exec gzip -9 {} \;
- for i in $( find . -type l ) ; do ln -s $( readlink $i ).gz $i.gz ; rm $i ; done
-)
+find $PKG/usr/man -type f -exec gzip -9 {} \;
+for i in $( find $PKG/usr/man -type l ) ; do ln -s $( readlink $i ).gz $i.gz ; rm $i ; done
mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION
cp -a \
- COPYING ChangeLog INSTALL README AUTHORS \
+ COPYING ChangeLog INSTALL README AUTHORS NEWS \
$PKG/usr/doc/$PRGNAM-$VERSION
cat $CWD/$PRGNAM.SlackBuild > $PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM.SlackBuild
diff --git a/system/xcdroast/xcdroast.info b/system/xcdroast/xcdroast.info
index e0f2ce67ee..3d9e65081c 100644
--- a/system/xcdroast/xcdroast.info
+++ b/system/xcdroast/xcdroast.info
@@ -1,10 +1,10 @@
PRGNAM="xcdroast"
-VERSION="0.98alpha16"
+VERSION="1.19"
HOMEPAGE="http://www.xcdroast.org/"
-DOWNLOAD="http://downloads.sourceforge.net/xcdroast/xcdroast-0.98alpha16.tar.gz"
-MD5SUM="bc3d335a30f292067eaaf1ea03ebaf17"
+DOWNLOAD="http://downloads.sourceforge.net/xcdroast/xcdroast-1.19.tar.gz"
+MD5SUM="435f178db53e14452e923cba6afbb687"
DOWNLOAD_x86_64=""
MD5SUM_x86_64=""
REQUIRES=""
-MAINTAINER="Georgios Efstathiou"
-EMAIL="gefst@yahoo.com"
+MAINTAINER="Fernando Lopez Jr."
+EMAIL="fernando.lopezjr@gmail.com"
diff --git a/system/xen/README b/system/xen/README
index f5f8c96b6d..2999a8e54d 100644
--- a/system/xen/README
+++ b/system/xen/README
@@ -7,7 +7,8 @@ Solaris, and various versions of the BSD operating systems.
This script has a few optional dependencies:
mbootpack - creates LILO compatible kernel images
- libssh2 - mostly used by libvirt, enable with USE_LIBSSH2=yes
+ libssh - mostly used by libvirt, enable with USE_LIBSSH=yes
+ (previously known as USE_LIBSSH2)
ocaml-findlib - autodetected, builds oxenstored binary
spice - enable with USE_SPICE=yes
@@ -15,6 +16,8 @@ Linking with the stock libraries:
bluez - enable with USE_BLUEZ=yes
gtk - enable with USE_GTK=yes
+ audio - enable with USE_AUDIO=yes
+ (or a comma-delimited list: oss alsa sdl pa)
Reading material:
diff --git a/system/xen/dom0/README.dom0 b/system/xen/dom0/README.dom0
index 728e3bae79..68dbf815fb 100644
--- a/system/xen/dom0/README.dom0
+++ b/system/xen/dom0/README.dom0
@@ -46,7 +46,7 @@ Xen EFI binary.
To make things a bit easier, a copy of Xen EFI binary can be found here:
- http://slackware.hr/~mario/xen/xen-4.12.1.efi.gz
+ http://slackware.hr/~mario/xen/xen-4.13.1.efi.gz
If an automatic boot to Xen kernel is desired, the binary should be renamed and
copied to the following location: /boot/efi/EFI/BOOT/bootx64.efi
diff --git a/system/xen/dom0/config-4.4.202-xen.i686 b/system/xen/dom0/config-4.4.240-xen.i686
index b31c558e37..4bc001ee58 100644
--- a/system/xen/dom0/config-4.4.202-xen.i686
+++ b/system/xen/dom0/config-4.4.240-xen.i686
@@ -1,6 +1,6 @@
#
# Automatically generated file; DO NOT EDIT.
-# Linux/x86 4.4.202 Kernel Configuration
+# Linux/x86 4.4.240 Kernel Configuration
#
# CONFIG_64BIT is not set
CONFIG_X86_32=y
@@ -5127,8 +5127,6 @@ CONFIG_HDMI=y
# Console display driver support
#
CONFIG_VGA_CONSOLE=y
-CONFIG_VGACON_SOFT_SCROLLBACK=y
-CONFIG_VGACON_SOFT_SCROLLBACK_SIZE=64
CONFIG_MDA_CONSOLE=m
CONFIG_DUMMY_CONSOLE=y
CONFIG_DUMMY_CONSOLE_COLUMNS=80
@@ -7113,6 +7111,7 @@ CONFIG_DOUBLEFAULT=y
# CONFIG_DEBUG_TLBFLUSH is not set
# CONFIG_IOMMU_STRESS is not set
CONFIG_HAVE_MMIOTRACE_SUPPORT=y
+# CONFIG_X86_DECODER_SELFTEST is not set
CONFIG_IO_DELAY_TYPE_0X80=0
CONFIG_IO_DELAY_TYPE_0XED=1
CONFIG_IO_DELAY_TYPE_UDELAY=2
diff --git a/system/xen/dom0/config-4.4.202-xen.x86_64 b/system/xen/dom0/config-4.4.240-xen.x86_64
index f81a31b9ab..ea3a34d322 100644
--- a/system/xen/dom0/config-4.4.202-xen.x86_64
+++ b/system/xen/dom0/config-4.4.240-xen.x86_64
@@ -1,6 +1,6 @@
#
# Automatically generated file; DO NOT EDIT.
-# Linux/x86 4.4.202 Kernel Configuration
+# Linux/x86 4.4.240 Kernel Configuration
#
CONFIG_64BIT=y
CONFIG_X86_64=y
@@ -4971,8 +4971,6 @@ CONFIG_HDMI=y
# Console display driver support
#
CONFIG_VGA_CONSOLE=y
-CONFIG_VGACON_SOFT_SCROLLBACK=y
-CONFIG_VGACON_SOFT_SCROLLBACK_SIZE=64
CONFIG_DUMMY_CONSOLE=y
CONFIG_DUMMY_CONSOLE_COLUMNS=80
CONFIG_DUMMY_CONSOLE_ROWS=25
@@ -6925,6 +6923,7 @@ CONFIG_DOUBLEFAULT=y
# CONFIG_IOMMU_DEBUG is not set
# CONFIG_IOMMU_STRESS is not set
CONFIG_HAVE_MMIOTRACE_SUPPORT=y
+# CONFIG_X86_DECODER_SELFTEST is not set
CONFIG_IO_DELAY_TYPE_0X80=0
CONFIG_IO_DELAY_TYPE_0XED=1
CONFIG_IO_DELAY_TYPE_UDELAY=2
diff --git a/system/xen/dom0/kernel-xen.sh b/system/xen/dom0/kernel-xen.sh
index 7228dcc541..ce4c95e783 100644
--- a/system/xen/dom0/kernel-xen.sh
+++ b/system/xen/dom0/kernel-xen.sh
@@ -5,8 +5,8 @@
# Written by Chris Abela <chris.abela@maltats.com>, 20100515
# Modified by Mario Preksavec <mario@slackware.hr>
-KERNEL=${KERNEL:-4.4.202}
-XEN=${XEN:-4.12.1}
+KERNEL=${KERNEL:-4.4.240}
+XEN=${XEN:-4.13.1}
BOOTLOADER=${BOOTLOADER:-lilo}
ROOTMOD=${ROOTMOD:-ext4}
diff --git a/system/xen/domU/domU.sh b/system/xen/domU/domU.sh
index f017c1bd23..e49e3d58b9 100644
--- a/system/xen/domU/domU.sh
+++ b/system/xen/domU/domU.sh
@@ -7,7 +7,7 @@
set -e
-KERNEL=${KERNEL:-4.4.202}
+KERNEL=${KERNEL:-4.4.240}
# Build an image for the root file system and another for the swap
# Default values : 8GB and 500MB resepectively.
diff --git a/system/xen/xen.SlackBuild b/system/xen/xen.SlackBuild
index 52bec8230e..5c90056af9 100644
--- a/system/xen/xen.SlackBuild
+++ b/system/xen/xen.SlackBuild
@@ -2,7 +2,7 @@
# Slackware build script for xen
-# Copyright 2010, 2011, 2013, 2014, 2015, 2016, 2017, 2018, 2019 Mario Preksavec, Zagreb, Croatia
+# Copyright 2010, 2011, 2013, 2014, 2015, 2016, 2017, 2018, 2019, 2020 Mario Preksavec, Zagreb, Croatia
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
@@ -23,13 +23,13 @@
# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
PRGNAM=xen
-VERSION=${VERSION:-4.12.1}
-BUILD=${BUILD:-1}
+VERSION=${VERSION:-4.13.1}
+BUILD=${BUILD:-3}
TAG=${TAG:-_SBo}
-SEABIOS=${SEABIOS:-1.12.0}
-OVMF=${OVMF:-20180725_ef529e6ab7}
-IPXE=${IPXE:-d2063b7693e0e35db97b2264aa987eb6341ae779}
+SEABIOS=${SEABIOS:-1.12.1}
+OVMF=${OVMF:-20190606_20d2e5a125}
+IPXE=${IPXE:-1dd56dbd11082fb622c2ed21cfaced4f47d798a6}
if [ -z "$ARCH" ]; then
case "$( uname -m )" in
@@ -90,9 +90,9 @@ EOF
esac
esac
-case "${USE_LIBSSH2:-no}" in
- yes) CONF_QEMUU+=" --enable-libssh2" ;;
- *) CONF_QEMUU+=" --disable-libssh2" ;;
+case "${USE_LIBSSH:-no}" in
+ yes) CONF_QEMUU+=" --enable-libssh" ;;
+ *) CONF_QEMUU+=" --disable-libssh" ;;
esac
case "${USE_BLUEZ:-no}" in
@@ -110,6 +110,12 @@ case "${USE_SPICE:-no}" in
*) CONF_QEMUU+=" --disable-spice" ;;
esac
+case "${USE_AUDIO:-no}" in
+ yes) CONF_QEMUU+="" ;;
+ no) CONF_QEMUU+=" --audio-drv-list=" ;;
+ *) CONF_QEMUU+=" --audio-drv-list=$USE_AUDIO" ;;
+esac
+
set -e
rm -rf $PKG
@@ -142,8 +148,8 @@ cp $CWD/ipxe-git-$IPXE.tar.gz tools/firmware/etherboot/_ipxe.tar.gz
(
# Seabios
cd tools/firmware
- tar -xf $CWD/seabios-$SEABIOS.tar.?z
- mv seabios-$SEABIOS seabios-dir-remote
+ tar -xf $CWD/seabios-$SEABIOS.tar.?z || tar -xf $CWD/seabios-rel-$SEABIOS.tar.?z
+ mv seabios-$SEABIOS seabios-dir-remote || mv seabios-rel-$SEABIOS seabios-dir-remote
ln -s seabios-dir-remote seabios-dir
make -C seabios-dir defconfig
# OVMF
diff --git a/system/xen/xen.info b/system/xen/xen.info
index e0ee8e6f20..c74e7f07d1 100644
--- a/system/xen/xen.info
+++ b/system/xen/xen.info
@@ -1,8 +1,8 @@
PRGNAM="xen"
-VERSION="4.12.1"
+VERSION="4.13.1"
HOMEPAGE="http://www.xenproject.org/"
-DOWNLOAD="http://mirror.slackware.hr/sources/xen/xen-4.12.1.tar.gz \
- http://mirror.slackware.hr/sources/xen-extfiles/ipxe-git-d2063b7693e0e35db97b2264aa987eb6341ae779.tar.gz \
+DOWNLOAD="http://mirror.slackware.hr/sources/xen/xen-4.13.1.tar.gz \
+ http://mirror.slackware.hr/sources/xen-extfiles/ipxe-git-1dd56dbd11082fb622c2ed21cfaced4f47d798a6.tar.gz \
http://mirror.slackware.hr/sources/xen-extfiles/lwip-1.3.0.tar.gz \
http://mirror.slackware.hr/sources/xen-extfiles/zlib-1.2.3.tar.gz \
http://mirror.slackware.hr/sources/xen-extfiles/newlib-1.16.0.tar.gz \
@@ -11,10 +11,10 @@ DOWNLOAD="http://mirror.slackware.hr/sources/xen/xen-4.12.1.tar.gz \
http://mirror.slackware.hr/sources/xen-extfiles/polarssl-1.1.4-gpl.tgz \
http://mirror.slackware.hr/sources/xen-extfiles/gmp-4.3.2.tar.bz2 \
http://mirror.slackware.hr/sources/xen-extfiles/tpm_emulator-0.7.4.tar.gz \
- http://mirror.slackware.hr/sources/xen-seabios/seabios-1.12.0.tar.gz \
- http://mirror.slackware.hr/sources/xen-ovmf/xen-ovmf-20180725_ef529e6ab7.tar.bz2"
-MD5SUM="3f96ae93a5d6a3dd89bdf1398e30895e \
- 0de05da7aec358881bb1dff815ecca14 \
+ http://mirror.slackware.hr/sources/xen-seabios/seabios-1.12.1.tar.gz \
+ http://mirror.slackware.hr/sources/xen-ovmf/xen-ovmf-20190606_20d2e5a125.tar.bz2"
+MD5SUM="e26fe8f9ce39463734e6ede45c6e11b8 \
+ b3ab0488a989a089207302111d12e1a0 \
36cc57650cffda9a0269493be2a169bb \
debc62758716a169df9f62e6ab2bc634 \
bf8f1f9e3ca83d732c00a79a6ef29bc4 \
@@ -23,8 +23,8 @@ MD5SUM="3f96ae93a5d6a3dd89bdf1398e30895e \
7b72caf22b01464ee7d6165f2fd85f44 \
dd60683d7057917e34630b4a787932e8 \
e26becb8a6a2b6695f6b3e8097593db8 \
- 2fd637b323d247a0948556104a2121c9 \
- 75df1ed5ad9e08b1fb0be78c8b5234b9"
+ 6cb6cba431fd725126ddb5ec529ab85c \
+ a6063a0d3d45e6f77deea8c80569653e"
DOWNLOAD_x86_64=""
MD5SUM_x86_64=""
REQUIRES="acpica yajl"
diff --git a/system/xen/xsa/xsa296.patch b/system/xen/xsa/xsa296.patch
deleted file mode 100644
index e71ea7f790..0000000000
--- a/system/xen/xsa/xsa296.patch
+++ /dev/null
@@ -1,195 +0,0 @@
-From: Andrew Cooper <andrew.cooper3@citrix.com>
-Subject: xen/hypercall: Don't use BUG() for parameter checking in hypercall_create_continuation()
-
-Since c/s 1d429034 "hypercall: update vcpu_op to take an unsigned vcpuid",
-which incorrectly swapped 'i' for 'u' in the parameter type list, guests have
-been able to hit the BUG() in next_args()'s default case.
-
-Correct these back to 'i'.
-
-In addition, make adjustments to prevent this class of issue from occurring in
-the future - crashing Xen is not an appropriate form of parameter checking.
-
-Capitalise NEXT_ARG() to catch all uses, to highlight that it is a macro doing
-non-function-like things behind the scenes, and undef it when appropriate.
-Implement a bad_fmt: block which prints an error, asserts unreachable, and
-crashes the guest.
-
-On the ARM side, drop all parameter checking of p. It is asymmetric with the
-x86 side, and akin to expecting memcpy() or sprintf() to check their src/fmt
-parameter before use. A caller passing "" or something other than a string
-literal will be obvious during code review.
-
-This is XSA-296.
-
-Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
-Acked-by: Julien Grall <julien.grall@arm.com>
-
-diff --git a/xen/arch/arm/domain.c b/xen/arch/arm/domain.c
-index 941bbff4fe..a3da8e9c08 100644
---- a/xen/arch/arm/domain.c
-+++ b/xen/arch/arm/domain.c
-@@ -383,14 +383,15 @@ void sync_vcpu_execstate(struct vcpu *v)
- /* Nothing to do -- no lazy switching */
- }
-
--#define next_arg(fmt, args) ({ \
-+#define NEXT_ARG(fmt, args) \
-+({ \
- unsigned long __arg; \
- switch ( *(fmt)++ ) \
- { \
- case 'i': __arg = (unsigned long)va_arg(args, unsigned int); break; \
- case 'l': __arg = (unsigned long)va_arg(args, unsigned long); break; \
- case 'h': __arg = (unsigned long)va_arg(args, void *); break; \
-- default: __arg = 0; BUG(); \
-+ default: goto bad_fmt; \
- } \
- __arg; \
- })
-@@ -405,9 +406,6 @@ unsigned long hypercall_create_continuation(
- unsigned int i;
- va_list args;
-
-- /* All hypercalls take at least one argument */
-- BUG_ON( !p || *p == '\0' );
--
- current->hcall_preempted = true;
-
- va_start(args, format);
-@@ -415,7 +413,7 @@ unsigned long hypercall_create_continuation(
- if ( mcs->flags & MCSF_in_multicall )
- {
- for ( i = 0; *p != '\0'; i++ )
-- mcs->call.args[i] = next_arg(p, args);
-+ mcs->call.args[i] = NEXT_ARG(p, args);
-
- /* Return value gets written back to mcs->call.result */
- rc = mcs->call.result;
-@@ -431,7 +429,7 @@ unsigned long hypercall_create_continuation(
-
- for ( i = 0; *p != '\0'; i++ )
- {
-- arg = next_arg(p, args);
-+ arg = NEXT_ARG(p, args);
-
- switch ( i )
- {
-@@ -454,7 +452,7 @@ unsigned long hypercall_create_continuation(
-
- for ( i = 0; *p != '\0'; i++ )
- {
-- arg = next_arg(p, args);
-+ arg = NEXT_ARG(p, args);
-
- switch ( i )
- {
-@@ -475,8 +473,16 @@ unsigned long hypercall_create_continuation(
- va_end(args);
-
- return rc;
-+
-+ bad_fmt:
-+ gprintk(XENLOG_ERR, "Bad hypercall continuation format '%c'\n", *p);
-+ ASSERT_UNREACHABLE();
-+ domain_crash(current->domain);
-+ return 0;
- }
-
-+#undef NEXT_ARG
-+
- void startup_cpu_idle_loop(void)
- {
- struct vcpu *v = current;
-diff --git a/xen/arch/x86/hypercall.c b/xen/arch/x86/hypercall.c
-index d483dbaa6b..4643e5eb43 100644
---- a/xen/arch/x86/hypercall.c
-+++ b/xen/arch/x86/hypercall.c
-@@ -80,14 +80,15 @@ const hypercall_args_t hypercall_args_table[NR_hypercalls] =
- #undef COMP
- #undef ARGS
-
--#define next_arg(fmt, args) ({ \
-+#define NEXT_ARG(fmt, args) \
-+({ \
- unsigned long __arg; \
- switch ( *(fmt)++ ) \
- { \
- case 'i': __arg = (unsigned long)va_arg(args, unsigned int); break; \
- case 'l': __arg = (unsigned long)va_arg(args, unsigned long); break; \
- case 'h': __arg = (unsigned long)va_arg(args, void *); break; \
-- default: __arg = 0; BUG(); \
-+ default: goto bad_fmt; \
- } \
- __arg; \
- })
-@@ -109,7 +110,7 @@ unsigned long hypercall_create_continuation(
- if ( mcs->flags & MCSF_in_multicall )
- {
- for ( i = 0; *p != '\0'; i++ )
-- mcs->call.args[i] = next_arg(p, args);
-+ mcs->call.args[i] = NEXT_ARG(p, args);
- }
- else
- {
-@@ -121,7 +122,7 @@ unsigned long hypercall_create_continuation(
- {
- for ( i = 0; *p != '\0'; i++ )
- {
-- arg = next_arg(p, args);
-+ arg = NEXT_ARG(p, args);
- switch ( i )
- {
- case 0: regs->rdi = arg; break;
-@@ -137,7 +138,7 @@ unsigned long hypercall_create_continuation(
- {
- for ( i = 0; *p != '\0'; i++ )
- {
-- arg = next_arg(p, args);
-+ arg = NEXT_ARG(p, args);
- switch ( i )
- {
- case 0: regs->rbx = arg; break;
-@@ -154,8 +155,16 @@ unsigned long hypercall_create_continuation(
- va_end(args);
-
- return op;
-+
-+ bad_fmt:
-+ gprintk(XENLOG_ERR, "Bad hypercall continuation format '%c'\n", *p);
-+ ASSERT_UNREACHABLE();
-+ domain_crash(curr->domain);
-+ return 0;
- }
-
-+#undef NEXT_ARG
-+
- int hypercall_xlat_continuation(unsigned int *id, unsigned int nr,
- unsigned int mask, ...)
- {
-diff --git a/xen/common/compat/domain.c b/xen/common/compat/domain.c
-index 39877b3ab2..2531fa7421 100644
---- a/xen/common/compat/domain.c
-+++ b/xen/common/compat/domain.c
-@@ -81,7 +81,7 @@ int compat_vcpu_op(int cmd, unsigned int vcpuid, XEN_GUEST_HANDLE_PARAM(void) ar
- }
-
- if ( rc == -ERESTART )
-- rc = hypercall_create_continuation(__HYPERVISOR_vcpu_op, "iuh",
-+ rc = hypercall_create_continuation(__HYPERVISOR_vcpu_op, "iih",
- cmd, vcpuid, arg);
-
- break;
-diff --git a/xen/common/domain.c b/xen/common/domain.c
-index 2308588052..65bcd85e34 100644
---- a/xen/common/domain.c
-+++ b/xen/common/domain.c
-@@ -1411,7 +1411,7 @@ long do_vcpu_op(int cmd, unsigned int vcpuid, XEN_GUEST_HANDLE_PARAM(void) arg)
-
- rc = arch_initialise_vcpu(v, arg);
- if ( rc == -ERESTART )
-- rc = hypercall_create_continuation(__HYPERVISOR_vcpu_op, "iuh",
-+ rc = hypercall_create_continuation(__HYPERVISOR_vcpu_op, "iih",
- cmd, vcpuid, arg);
-
- break;
diff --git a/system/xen/xsa/xsa298.patch b/system/xen/xsa/xsa298.patch
deleted file mode 100644
index aa39042be5..0000000000
--- a/system/xen/xsa/xsa298.patch
+++ /dev/null
@@ -1,89 +0,0 @@
-From: Jan Beulich <jbeulich@suse.com>
-Subject: x86/PV: check GDT/LDT limits during emulation
-
-Accesses beyond the LDT limit originating from emulation would trigger
-the ASSERT() in pv_map_ldt_shadow_page(). On production builds such
-accesses would cause an attempt to promote the touched page (offset from
-the present LDT base address) to a segment descriptor one. If this
-happens to succeed, guest user mode would be able to elevate its
-privileges to that of the guest kernel. This is particularly easy when
-there's no LDT at all, in which case the LDT base stored internally to
-Xen is simply zero.
-
-Also adjust the ASSERT() that was triggering: It was off by one to
-begin with, and for production builds we also better use
-ASSERT_UNREACHABLE() instead with suitable recovery code afterwards.
-
-This is XSA-298.
-
-Reported-by: Andrew Cooper <andrew.cooper3@citrix.com>
-Signed-off-by: Jan Beulich <jbeulich@suse.com>
-Reviewed-by: Andrew Cooper <andrew.cooper3@citrix.com>
----
-v2: Correct 64-bit-only limit check (by folding into the common one).
-
---- a/xen/arch/x86/pv/emul-gate-op.c
-+++ b/xen/arch/x86/pv/emul-gate-op.c
-@@ -51,7 +51,13 @@ static int read_gate_descriptor(unsigned
- const seg_desc_t *pdesc = gdt_ldt_desc_ptr(gate_sel);
-
- if ( (gate_sel < 4) ||
-- ((gate_sel >= FIRST_RESERVED_GDT_BYTE) && !(gate_sel & 4)) ||
-+ /*
-+ * We're interested in call gates only, which occupy a single
-+ * seg_desc_t for 32-bit and a consecutive pair of them for 64-bit.
-+ */
-+ ((gate_sel >> 3) + !is_pv_32bit_vcpu(v) >=
-+ (gate_sel & 4 ? v->arch.pv.ldt_ents
-+ : v->arch.pv.gdt_ents)) ||
- __get_user(desc, pdesc) )
- return 0;
-
-@@ -70,7 +76,7 @@ static int read_gate_descriptor(unsigned
- if ( !is_pv_32bit_vcpu(v) )
- {
- if ( (*ar & 0x1f00) != 0x0c00 ||
-- (gate_sel >= FIRST_RESERVED_GDT_BYTE - 8 && !(gate_sel & 4)) ||
-+ /* Limit check done above already. */
- __get_user(desc, pdesc + 1) ||
- (desc.b & 0x1f00) )
- return 0;
---- a/xen/arch/x86/pv/emulate.c
-+++ b/xen/arch/x86/pv/emulate.c
-@@ -31,7 +31,14 @@ int pv_emul_read_descriptor(unsigned int
- {
- seg_desc_t desc;
-
-- if ( sel < 4)
-+ if ( sel < 4 ||
-+ /*
-+ * Don't apply the GDT limit here, as the selector may be a Xen
-+ * provided one. __get_user() will fail (without taking further
-+ * action) for ones falling in the gap between guest populated
-+ * and Xen ones.
-+ */
-+ ((sel & 4) && (sel >> 3) >= v->arch.pv.ldt_ents) )
- desc.b = desc.a = 0;
- else if ( __get_user(desc, gdt_ldt_desc_ptr(sel)) )
- return 0;
---- a/xen/arch/x86/pv/mm.c
-+++ b/xen/arch/x86/pv/mm.c
-@@ -92,12 +92,16 @@ bool pv_map_ldt_shadow_page(unsigned int
- BUG_ON(unlikely(in_irq()));
-
- /*
-- * Hardware limit checking should guarantee this property. NB. This is
-+ * Prior limit checking should guarantee this property. NB. This is
- * safe as updates to the LDT can only be made by MMUEXT_SET_LDT to the
- * current vcpu, and vcpu_reset() will block until this vcpu has been
- * descheduled before continuing.
- */
-- ASSERT((offset >> 3) <= curr->arch.pv.ldt_ents);
-+ if ( unlikely((offset >> 3) >= curr->arch.pv.ldt_ents) )
-+ {
-+ ASSERT_UNREACHABLE();
-+ return false;
-+ }
-
- if ( is_pv_32bit_domain(currd) )
- linear = (uint32_t)linear;
diff --git a/system/xen/xsa/xsa299-4.12-0001-x86-mm-L1TF-checks-don-t-leave-a-partial-entry.patch b/system/xen/xsa/xsa299-4.12-0001-x86-mm-L1TF-checks-don-t-leave-a-partial-entry.patch
deleted file mode 100644
index fbb9d8086b..0000000000
--- a/system/xen/xsa/xsa299-4.12-0001-x86-mm-L1TF-checks-don-t-leave-a-partial-entry.patch
+++ /dev/null
@@ -1,94 +0,0 @@
-From 33d051917d5ef38f678b507a3c832afde48b9b49 Mon Sep 17 00:00:00 2001
-From: George Dunlap <george.dunlap@citrix.com>
-Date: Thu, 10 Oct 2019 17:57:49 +0100
-Subject: [PATCH 01/11] x86/mm: L1TF checks don't leave a partial entry
-
-On detection of a potential L1TF issue, most validation code returns
--ERESTART to allow the switch to shadow mode to happen and cause the
-original operation to be restarted.
-
-However, in the validation code, the return value -ERESTART has been
-repurposed to indicate 1) the function has partially completed
-something which needs to be undone, and 2) calling put_page_type()
-should cleanly undo it. This causes problems in several places.
-
-For L1 tables, on receiving an -ERESTART return from alloc_l1_table(),
-alloc_page_type() will set PGT_partial on the page. If for some
-reason the original operation never restarts, then on domain
-destruction, relinquish_memory() will call free_page_type() on the
-page.
-
-Unfortunately, alloc_ and free_l1_table() aren't set up to deal with
-PGT_partial. When returning a failure, alloc_l1_table() always
-de-validates whatever it's validated so far, and free_l1_table()
-always devalidates the whole page. This means that if
-relinquish_memory() calls free_page_type() on an L1 that didn't
-complete due to an L1TF, it will call put_page_from_l1e() on "page
-entries" that have never been validated.
-
-For L2+ tables, setting rc to ERESTART causes the rest of the
-alloc_lN_table() function to *think* that the entry in question will
-have PGT_partial set. This will cause it to set partial_pte = 1. If
-relinqush_memory() then calls free_page_type() on one of those pages,
-then free_lN_table() will call put_page_from_lNe() on the entry when
-it shouldn't.
-
-Rather than indicating -ERESTART, indicate -EINTR. This is the code
-to indicate that nothing has changed from when you started the call
-(which is effectively how alloc_l1_table() handles errors).
-
-mod_lN_entry() shouldn't have any of these types of problems, so leave
-potential changes there for a clean-up patch later.
-
-This is part of XSA-299.
-
-Reported-by: George Dunlap <george.dunlap@citrix.com>
-Signed-off-by: George Dunlap <george.dunlap@citrix.com>
-Reviewed-by: Jan Beulich <jbeulich@suse.com>
----
- xen/arch/x86/mm.c | 8 ++++----
- 1 file changed, 4 insertions(+), 4 deletions(-)
-
-diff --git a/xen/arch/x86/mm.c b/xen/arch/x86/mm.c
-index 3557cd1178..a1b55c10ff 100644
---- a/xen/arch/x86/mm.c
-+++ b/xen/arch/x86/mm.c
-@@ -1409,7 +1409,7 @@ static int alloc_l1_table(struct page_info *page)
- {
- if ( !(l1e_get_flags(pl1e[i]) & _PAGE_PRESENT) )
- {
-- ret = pv_l1tf_check_l1e(d, pl1e[i]) ? -ERESTART : 0;
-+ ret = pv_l1tf_check_l1e(d, pl1e[i]) ? -EINTR : 0;
- if ( ret )
- goto out;
- }
-@@ -1517,7 +1517,7 @@ static int alloc_l2_table(struct page_info *page, unsigned long type)
- {
- if ( !pv_l1tf_check_l2e(d, l2e) )
- continue;
-- rc = -ERESTART;
-+ rc = -EINTR;
- }
- else
- rc = get_page_from_l2e(l2e, pfn, d, partial);
-@@ -1603,7 +1603,7 @@ static int alloc_l3_table(struct page_info *page)
- {
- if ( !pv_l1tf_check_l3e(d, l3e) )
- continue;
-- rc = -ERESTART;
-+ rc = -EINTR;
- }
- else
- rc = get_page_from_l3e(l3e, pfn, d, partial);
-@@ -1783,7 +1783,7 @@ static int alloc_l4_table(struct page_info *page)
- {
- if ( !pv_l1tf_check_l4e(d, l4e) )
- continue;
-- rc = -ERESTART;
-+ rc = -EINTR;
- }
- else
- rc = get_page_from_l4e(l4e, pfn, d, partial);
---
-2.23.0
-
diff --git a/system/xen/xsa/xsa299-4.12-0002-x86-mm-Don-t-re-set-PGT_pinned-on-a-partially-de-val.patch b/system/xen/xsa/xsa299-4.12-0002-x86-mm-Don-t-re-set-PGT_pinned-on-a-partially-de-val.patch
deleted file mode 100644
index a74598e597..0000000000
--- a/system/xen/xsa/xsa299-4.12-0002-x86-mm-Don-t-re-set-PGT_pinned-on-a-partially-de-val.patch
+++ /dev/null
@@ -1,99 +0,0 @@
-From b490792c18f74b76ec8161721c1e07f810e36309 Mon Sep 17 00:00:00 2001
-From: George Dunlap <george.dunlap@citrix.com>
-Date: Thu, 10 Oct 2019 17:57:49 +0100
-Subject: [PATCH 02/11] x86/mm: Don't re-set PGT_pinned on a partially
- de-validated page
-
-When unpinning pagetables, if an operation is interrupted,
-relinquish_memory() re-sets PGT_pinned so that the un-pin will
-pickedup again when the hypercall restarts.
-
-This is appropriate when put_page_and_type_preemptible() returns
--EINTR, which indicates that the page is back in its initial state
-(i.e., completely validated). However, for -ERESTART, this leads to a
-state where a page has both PGT_pinned and PGT_partial set.
-
-This happens to work at the moment, although it's not really a
-"canonical" state; but in subsequent patches, where we need to make a
-distinction in handling between PGT_validated and PGT_partial pages,
-this causes issues.
-
-Move to a "canonical" state by:
-- Only re-setting PGT_pinned on -EINTR
-- Re-dropping the refcount held by PGT_pinned on -ERESTART
-
-In the latter case, the PGT_partial bit will be cleared further down
-with the rest of the other PGT_partial pages.
-
-While here, clean up some trainling whitespace.
-
-This is part of XSA-299.
-
-Reported-by: George Dunlap <george.dunlap@citrix.com>
-Signed-off-by: George Dunlap <george.dunlap@citrix.com>
-Reviewed-by: Jan Beulich <jbeulich@suse.com>
----
- xen/arch/x86/domain.c | 31 ++++++++++++++++++++++++++++---
- 1 file changed, 28 insertions(+), 3 deletions(-)
-
-diff --git a/xen/arch/x86/domain.c b/xen/arch/x86/domain.c
-index 2585327834..59df8a6d8d 100644
---- a/xen/arch/x86/domain.c
-+++ b/xen/arch/x86/domain.c
-@@ -114,7 +114,7 @@ static void play_dead(void)
- * this case, heap corruption or #PF can occur (when heap debugging is
- * enabled). For example, even printk() can involve tasklet scheduling,
- * which touches per-cpu vars.
-- *
-+ *
- * Consider very carefully when adding code to *dead_idle. Most hypervisor
- * subsystems are unsafe to call.
- */
-@@ -1909,9 +1909,34 @@ static int relinquish_memory(
- break;
- case -ERESTART:
- case -EINTR:
-+ /*
-+ * -EINTR means PGT_validated has been re-set; re-set
-+ * PGT_pinned again so that it gets picked up next time
-+ * around.
-+ *
-+ * -ERESTART, OTOH, means PGT_partial is set instead. Put
-+ * it back on the list, but don't set PGT_pinned; the
-+ * section below will finish off de-validation. But we do
-+ * need to drop the general ref associated with
-+ * PGT_pinned, since put_page_and_type_preemptible()
-+ * didn't do it.
-+ *
-+ * NB we can do an ASSERT for PGT_validated, since we
-+ * "own" the type ref; but theoretically, the PGT_partial
-+ * could be cleared by someone else.
-+ */
-+ if ( ret == -EINTR )
-+ {
-+ ASSERT(page->u.inuse.type_info & PGT_validated);
-+ set_bit(_PGT_pinned, &page->u.inuse.type_info);
-+ }
-+ else
-+ put_page(page);
-+
- ret = -ERESTART;
-+
-+ /* Put the page back on the list and drop the ref we grabbed above */
- page_list_add(page, list);
-- set_bit(_PGT_pinned, &page->u.inuse.type_info);
- put_page(page);
- goto out;
- default:
-@@ -2161,7 +2186,7 @@ void vcpu_kick(struct vcpu *v)
- * pending flag. These values may fluctuate (after all, we hold no
- * locks) but the key insight is that each change will cause
- * evtchn_upcall_pending to be polled.
-- *
-+ *
- * NB2. We save the running flag across the unblock to avoid a needless
- * IPI for domains that we IPI'd to unblock.
- */
---
-2.23.0
-
diff --git a/system/xen/xsa/xsa299-4.12-0003-x86-mm-Separate-out-partial_pte-tristate-into-indivi.patch b/system/xen/xsa/xsa299-4.12-0003-x86-mm-Separate-out-partial_pte-tristate-into-indivi.patch
deleted file mode 100644
index 226e5487b1..0000000000
--- a/system/xen/xsa/xsa299-4.12-0003-x86-mm-Separate-out-partial_pte-tristate-into-indivi.patch
+++ /dev/null
@@ -1,618 +0,0 @@
-From 0f9f61e5737fdd346550ec6e30161fa99e4653fa Mon Sep 17 00:00:00 2001
-From: George Dunlap <george.dunlap@citrix.com>
-Date: Thu, 10 Oct 2019 17:57:49 +0100
-Subject: [PATCH 03/11] x86/mm: Separate out partial_pte tristate into
- individual flags
-
-At the moment, partial_pte is a tri-state that contains two distinct bits
-of information:
-
-1. If zero, the pte at index [nr_validated_ptes] is un-validated. If
- non-zero, the pte was last seen with PGT_partial set.
-
-2. If positive, the pte at index [nr_validated_ptes] does not hold a
- general reference count. If negative, it does.
-
-To make future patches more clear, separate out this functionality
-into two distinct, named bits: PTF_partial_set (for #1) and
-PTF_partial_general_ref (for #2).
-
-Additionally, a number of functions which need this information also
-take other flags to control behavior (such as `preemptible` and
-`defer`). These are hard to read in the caller (since you only see
-'true' or 'false'), and ugly when many are added together. In
-preparation for adding yet another flag in a future patch, collapse
-all of these into a single `flag` variable.
-
-NB that this does mean checking for what was previously the '-1'
-condition a bit more ugly in the put_page_from_lNe functions (since
-you have to check for both partial_set and general ref); but this
-clause will go away in a future patch.
-
-Also note that the original comment had an off-by-one error:
-partial_flags (like partial_pte before it) concerns
-plNe[nr_validated_ptes], not plNe[nr_validated_ptes+1].
-
-No functional change intended.
-
-This is part of XSA-299.
-
-Reported-by: George Dunlap <george.dunlap@citrix.com>
-Signed-off-by: George Dunlap <george.dunlap@citrix.com>
-Reviewed-by: Jan Beulich <jbeulich@suse.com>
----
- xen/arch/x86/mm.c | 165 ++++++++++++++++++++++++---------------
- xen/include/asm-x86/mm.h | 41 +++++++---
- 2 files changed, 128 insertions(+), 78 deletions(-)
-
-diff --git a/xen/arch/x86/mm.c b/xen/arch/x86/mm.c
-index a1b55c10ff..3f6f8cc9b8 100644
---- a/xen/arch/x86/mm.c
-+++ b/xen/arch/x86/mm.c
-@@ -1094,20 +1094,35 @@ get_page_from_l1e(
- }
-
- #ifdef CONFIG_PV
-+
-+/*
-+ * The following flags are used to specify behavior of various get and
-+ * put commands. The first two are also stored in page->partial_flags
-+ * to indicate the state of the page pointed to by
-+ * page->pte[page->nr_validated_entries]. See the comment in mm.h for
-+ * more information.
-+ */
-+#define PTF_partial_set (1 << 0)
-+#define PTF_partial_general_ref (1 << 1)
-+#define PTF_preemptible (1 << 2)
-+#define PTF_defer (1 << 3)
-+
- static int get_page_and_type_from_mfn(
- mfn_t mfn, unsigned long type, struct domain *d,
-- int partial, int preemptible)
-+ unsigned int flags)
- {
- struct page_info *page = mfn_to_page(mfn);
- int rc;
-+ bool preemptible = flags & PTF_preemptible,
-+ partial_ref = flags & PTF_partial_general_ref;
-
-- if ( likely(partial >= 0) &&
-+ if ( likely(!partial_ref) &&
- unlikely(!get_page_from_mfn(mfn, d)) )
- return -EINVAL;
-
- rc = _get_page_type(page, type, preemptible);
-
-- if ( unlikely(rc) && partial >= 0 &&
-+ if ( unlikely(rc) && !partial_ref &&
- (!preemptible || page != current->arch.old_guest_table) )
- put_page(page);
-
-@@ -1117,7 +1132,7 @@ static int get_page_and_type_from_mfn(
- define_get_linear_pagetable(l2);
- static int
- get_page_from_l2e(
-- l2_pgentry_t l2e, unsigned long pfn, struct domain *d, int partial)
-+ l2_pgentry_t l2e, unsigned long pfn, struct domain *d, unsigned int flags)
- {
- unsigned long mfn = l2e_get_pfn(l2e);
- int rc;
-@@ -1129,8 +1144,9 @@ get_page_from_l2e(
- return -EINVAL;
- }
-
-- rc = get_page_and_type_from_mfn(_mfn(mfn), PGT_l1_page_table, d,
-- partial, false);
-+ ASSERT(!(flags & PTF_preemptible));
-+
-+ rc = get_page_and_type_from_mfn(_mfn(mfn), PGT_l1_page_table, d, flags);
- if ( unlikely(rc == -EINVAL) && get_l2_linear_pagetable(l2e, pfn, d) )
- rc = 0;
-
-@@ -1140,7 +1156,7 @@ get_page_from_l2e(
- define_get_linear_pagetable(l3);
- static int
- get_page_from_l3e(
-- l3_pgentry_t l3e, unsigned long pfn, struct domain *d, int partial)
-+ l3_pgentry_t l3e, unsigned long pfn, struct domain *d, unsigned int flags)
- {
- int rc;
-
-@@ -1152,7 +1168,7 @@ get_page_from_l3e(
- }
-
- rc = get_page_and_type_from_mfn(
-- l3e_get_mfn(l3e), PGT_l2_page_table, d, partial, 1);
-+ l3e_get_mfn(l3e), PGT_l2_page_table, d, flags | PTF_preemptible);
- if ( unlikely(rc == -EINVAL) &&
- !is_pv_32bit_domain(d) &&
- get_l3_linear_pagetable(l3e, pfn, d) )
-@@ -1164,7 +1180,7 @@ get_page_from_l3e(
- define_get_linear_pagetable(l4);
- static int
- get_page_from_l4e(
-- l4_pgentry_t l4e, unsigned long pfn, struct domain *d, int partial)
-+ l4_pgentry_t l4e, unsigned long pfn, struct domain *d, unsigned int flags)
- {
- int rc;
-
-@@ -1176,7 +1192,7 @@ get_page_from_l4e(
- }
-
- rc = get_page_and_type_from_mfn(
-- l4e_get_mfn(l4e), PGT_l3_page_table, d, partial, 1);
-+ l4e_get_mfn(l4e), PGT_l3_page_table, d, flags | PTF_preemptible);
- if ( unlikely(rc == -EINVAL) && get_l4_linear_pagetable(l4e, pfn, d) )
- rc = 0;
-
-@@ -1277,7 +1293,7 @@ static void put_data_page(struct page_info *page, bool writeable)
- * Note also that this automatically deals correctly with linear p.t.'s.
- */
- static int put_page_from_l2e(l2_pgentry_t l2e, unsigned long pfn,
-- int partial, bool defer)
-+ unsigned int flags)
- {
- int rc = 0;
-
-@@ -1300,12 +1316,13 @@ static int put_page_from_l2e(l2_pgentry_t l2e, unsigned long pfn,
- struct page_info *pg = l2e_get_page(l2e);
- struct page_info *ptpg = mfn_to_page(_mfn(pfn));
-
-- if ( unlikely(partial > 0) )
-+ if ( (flags & (PTF_partial_set | PTF_partial_general_ref)) ==
-+ PTF_partial_set )
- {
-- ASSERT(!defer);
-+ ASSERT(!(flags & PTF_defer));
- rc = _put_page_type(pg, true, ptpg);
- }
-- else if ( defer )
-+ else if ( flags & PTF_defer )
- {
- current->arch.old_guest_ptpg = ptpg;
- current->arch.old_guest_table = pg;
-@@ -1322,7 +1339,7 @@ static int put_page_from_l2e(l2_pgentry_t l2e, unsigned long pfn,
- }
-
- static int put_page_from_l3e(l3_pgentry_t l3e, unsigned long pfn,
-- int partial, bool defer)
-+ unsigned int flags)
- {
- struct page_info *pg;
- int rc;
-@@ -1345,13 +1362,14 @@ static int put_page_from_l3e(l3_pgentry_t l3e, unsigned long pfn,
-
- pg = l3e_get_page(l3e);
-
-- if ( unlikely(partial > 0) )
-+ if ( (flags & (PTF_partial_set | PTF_partial_general_ref)) ==
-+ PTF_partial_set )
- {
-- ASSERT(!defer);
-+ ASSERT(!(flags & PTF_defer));
- return _put_page_type(pg, true, mfn_to_page(_mfn(pfn)));
- }
-
-- if ( defer )
-+ if ( flags & PTF_defer )
- {
- current->arch.old_guest_ptpg = mfn_to_page(_mfn(pfn));
- current->arch.old_guest_table = pg;
-@@ -1366,7 +1384,7 @@ static int put_page_from_l3e(l3_pgentry_t l3e, unsigned long pfn,
- }
-
- static int put_page_from_l4e(l4_pgentry_t l4e, unsigned long pfn,
-- int partial, bool defer)
-+ unsigned int flags)
- {
- int rc = 1;
-
-@@ -1375,13 +1393,14 @@ static int put_page_from_l4e(l4_pgentry_t l4e, unsigned long pfn,
- {
- struct page_info *pg = l4e_get_page(l4e);
-
-- if ( unlikely(partial > 0) )
-+ if ( (flags & (PTF_partial_set | PTF_partial_general_ref)) ==
-+ PTF_partial_set )
- {
-- ASSERT(!defer);
-+ ASSERT(!(flags & PTF_defer));
- return _put_page_type(pg, true, mfn_to_page(_mfn(pfn)));
- }
-
-- if ( defer )
-+ if ( flags & PTF_defer )
- {
- current->arch.old_guest_ptpg = mfn_to_page(_mfn(pfn));
- current->arch.old_guest_table = pg;
-@@ -1492,12 +1511,13 @@ static int alloc_l2_table(struct page_info *page, unsigned long type)
- unsigned long pfn = mfn_x(page_to_mfn(page));
- l2_pgentry_t *pl2e;
- unsigned int i;
-- int rc = 0, partial = page->partial_pte;
-+ int rc = 0;
-+ unsigned int partial_flags = page->partial_flags;
-
- pl2e = map_domain_page(_mfn(pfn));
-
- for ( i = page->nr_validated_ptes; i < L2_PAGETABLE_ENTRIES;
-- i++, partial = 0 )
-+ i++, partial_flags = 0 )
- {
- l2_pgentry_t l2e;
-
-@@ -1520,17 +1540,18 @@ static int alloc_l2_table(struct page_info *page, unsigned long type)
- rc = -EINTR;
- }
- else
-- rc = get_page_from_l2e(l2e, pfn, d, partial);
-+ rc = get_page_from_l2e(l2e, pfn, d, partial_flags);
-
- if ( rc == -ERESTART )
- {
- page->nr_validated_ptes = i;
-- page->partial_pte = partial ?: 1;
-+ /* Set 'set', retain 'general ref' */
-+ page->partial_flags = partial_flags | PTF_partial_set;
- }
- else if ( rc == -EINTR && i )
- {
- page->nr_validated_ptes = i;
-- page->partial_pte = 0;
-+ page->partial_flags = 0;
- rc = -ERESTART;
- }
- else if ( rc < 0 && rc != -EINTR )
-@@ -1539,7 +1560,7 @@ static int alloc_l2_table(struct page_info *page, unsigned long type)
- if ( i )
- {
- page->nr_validated_ptes = i;
-- page->partial_pte = 0;
-+ page->partial_flags = 0;
- current->arch.old_guest_ptpg = NULL;
- current->arch.old_guest_table = page;
- }
-@@ -1563,7 +1584,8 @@ static int alloc_l3_table(struct page_info *page)
- unsigned long pfn = mfn_x(page_to_mfn(page));
- l3_pgentry_t *pl3e;
- unsigned int i;
-- int rc = 0, partial = page->partial_pte;
-+ int rc = 0;
-+ unsigned int partial_flags = page->partial_flags;
-
- pl3e = map_domain_page(_mfn(pfn));
-
-@@ -1578,7 +1600,7 @@ static int alloc_l3_table(struct page_info *page)
- memset(pl3e + 4, 0, (L3_PAGETABLE_ENTRIES - 4) * sizeof(*pl3e));
-
- for ( i = page->nr_validated_ptes; i < L3_PAGETABLE_ENTRIES;
-- i++, partial = 0 )
-+ i++, partial_flags = 0 )
- {
- l3_pgentry_t l3e = pl3e[i];
-
-@@ -1597,7 +1619,8 @@ static int alloc_l3_table(struct page_info *page)
- else
- rc = get_page_and_type_from_mfn(
- l3e_get_mfn(l3e),
-- PGT_l2_page_table | PGT_pae_xen_l2, d, partial, 1);
-+ PGT_l2_page_table | PGT_pae_xen_l2, d,
-+ partial_flags | PTF_preemptible);
- }
- else if ( !(l3e_get_flags(l3e) & _PAGE_PRESENT) )
- {
-@@ -1606,17 +1629,18 @@ static int alloc_l3_table(struct page_info *page)
- rc = -EINTR;
- }
- else
-- rc = get_page_from_l3e(l3e, pfn, d, partial);
-+ rc = get_page_from_l3e(l3e, pfn, d, partial_flags);
-
- if ( rc == -ERESTART )
- {
- page->nr_validated_ptes = i;
-- page->partial_pte = partial ?: 1;
-+ /* Set 'set', leave 'general ref' set if this entry was set */
-+ page->partial_flags = partial_flags | PTF_partial_set;
- }
- else if ( rc == -EINTR && i )
- {
- page->nr_validated_ptes = i;
-- page->partial_pte = 0;
-+ page->partial_flags = 0;
- rc = -ERESTART;
- }
- if ( rc < 0 )
-@@ -1633,7 +1657,7 @@ static int alloc_l3_table(struct page_info *page)
- if ( i )
- {
- page->nr_validated_ptes = i;
-- page->partial_pte = 0;
-+ page->partial_flags = 0;
- current->arch.old_guest_ptpg = NULL;
- current->arch.old_guest_table = page;
- }
-@@ -1767,10 +1791,11 @@ static int alloc_l4_table(struct page_info *page)
- unsigned long pfn = mfn_x(page_to_mfn(page));
- l4_pgentry_t *pl4e = map_domain_page(_mfn(pfn));
- unsigned int i;
-- int rc = 0, partial = page->partial_pte;
-+ int rc = 0;
-+ unsigned int partial_flags = page->partial_flags;
-
- for ( i = page->nr_validated_ptes; i < L4_PAGETABLE_ENTRIES;
-- i++, partial = 0 )
-+ i++, partial_flags = 0 )
- {
- l4_pgentry_t l4e;
-
-@@ -1786,12 +1811,13 @@ static int alloc_l4_table(struct page_info *page)
- rc = -EINTR;
- }
- else
-- rc = get_page_from_l4e(l4e, pfn, d, partial);
-+ rc = get_page_from_l4e(l4e, pfn, d, partial_flags);
-
- if ( rc == -ERESTART )
- {
- page->nr_validated_ptes = i;
-- page->partial_pte = partial ?: 1;
-+ /* Set 'set', leave 'general ref' set if this entry was set */
-+ page->partial_flags = partial_flags | PTF_partial_set;
- }
- else if ( rc < 0 )
- {
-@@ -1801,7 +1827,7 @@ static int alloc_l4_table(struct page_info *page)
- if ( i )
- {
- page->nr_validated_ptes = i;
-- page->partial_pte = 0;
-+ page->partial_flags = 0;
- if ( rc == -EINTR )
- rc = -ERESTART;
- else
-@@ -1853,19 +1879,20 @@ static int free_l2_table(struct page_info *page)
- struct domain *d = page_get_owner(page);
- unsigned long pfn = mfn_x(page_to_mfn(page));
- l2_pgentry_t *pl2e;
-- int rc = 0, partial = page->partial_pte;
-- unsigned int i = page->nr_validated_ptes - !partial;
-+ int rc = 0;
-+ unsigned int partial_flags = page->partial_flags,
-+ i = page->nr_validated_ptes - !(partial_flags & PTF_partial_set);
-
- pl2e = map_domain_page(_mfn(pfn));
-
- for ( ; ; )
- {
- if ( is_guest_l2_slot(d, page->u.inuse.type_info, i) )
-- rc = put_page_from_l2e(pl2e[i], pfn, partial, false);
-+ rc = put_page_from_l2e(pl2e[i], pfn, partial_flags);
- if ( rc < 0 )
- break;
-
-- partial = 0;
-+ partial_flags = 0;
-
- if ( !i-- )
- break;
-@@ -1887,12 +1914,14 @@ static int free_l2_table(struct page_info *page)
- else if ( rc == -ERESTART )
- {
- page->nr_validated_ptes = i;
-- page->partial_pte = partial ?: -1;
-+ page->partial_flags = (partial_flags & PTF_partial_set) ?
-+ partial_flags :
-+ (PTF_partial_set | PTF_partial_general_ref);
- }
- else if ( rc == -EINTR && i < L2_PAGETABLE_ENTRIES - 1 )
- {
- page->nr_validated_ptes = i + 1;
-- page->partial_pte = 0;
-+ page->partial_flags = 0;
- rc = -ERESTART;
- }
-
-@@ -1904,18 +1933,19 @@ static int free_l3_table(struct page_info *page)
- struct domain *d = page_get_owner(page);
- unsigned long pfn = mfn_x(page_to_mfn(page));
- l3_pgentry_t *pl3e;
-- int rc = 0, partial = page->partial_pte;
-- unsigned int i = page->nr_validated_ptes - !partial;
-+ int rc = 0;
-+ unsigned int partial_flags = page->partial_flags,
-+ i = page->nr_validated_ptes - !(partial_flags & PTF_partial_set);
-
- pl3e = map_domain_page(_mfn(pfn));
-
- for ( ; ; )
- {
-- rc = put_page_from_l3e(pl3e[i], pfn, partial, 0);
-+ rc = put_page_from_l3e(pl3e[i], pfn, partial_flags);
- if ( rc < 0 )
- break;
-
-- partial = 0;
-+ partial_flags = 0;
- if ( rc == 0 )
- pl3e[i] = unadjust_guest_l3e(pl3e[i], d);
-
-@@ -1934,12 +1964,14 @@ static int free_l3_table(struct page_info *page)
- if ( rc == -ERESTART )
- {
- page->nr_validated_ptes = i;
-- page->partial_pte = partial ?: -1;
-+ page->partial_flags = (partial_flags & PTF_partial_set) ?
-+ partial_flags :
-+ (PTF_partial_set | PTF_partial_general_ref);
- }
- else if ( rc == -EINTR && i < L3_PAGETABLE_ENTRIES - 1 )
- {
- page->nr_validated_ptes = i + 1;
-- page->partial_pte = 0;
-+ page->partial_flags = 0;
- rc = -ERESTART;
- }
- return rc > 0 ? 0 : rc;
-@@ -1950,26 +1982,29 @@ static int free_l4_table(struct page_info *page)
- struct domain *d = page_get_owner(page);
- unsigned long pfn = mfn_x(page_to_mfn(page));
- l4_pgentry_t *pl4e = map_domain_page(_mfn(pfn));
-- int rc = 0, partial = page->partial_pte;
-- unsigned int i = page->nr_validated_ptes - !partial;
-+ int rc = 0;
-+ unsigned partial_flags = page->partial_flags,
-+ i = page->nr_validated_ptes - !(partial_flags & PTF_partial_set);
-
- do {
- if ( is_guest_l4_slot(d, i) )
-- rc = put_page_from_l4e(pl4e[i], pfn, partial, 0);
-+ rc = put_page_from_l4e(pl4e[i], pfn, partial_flags);
- if ( rc < 0 )
- break;
-- partial = 0;
-+ partial_flags = 0;
- } while ( i-- );
-
- if ( rc == -ERESTART )
- {
- page->nr_validated_ptes = i;
-- page->partial_pte = partial ?: -1;
-+ page->partial_flags = (partial_flags & PTF_partial_set) ?
-+ partial_flags :
-+ (PTF_partial_set | PTF_partial_general_ref);
- }
- else if ( rc == -EINTR && i < L4_PAGETABLE_ENTRIES - 1 )
- {
- page->nr_validated_ptes = i + 1;
-- page->partial_pte = 0;
-+ page->partial_flags = 0;
- rc = -ERESTART;
- }
-
-@@ -2247,7 +2282,7 @@ static int mod_l2_entry(l2_pgentry_t *pl2e,
- return -EBUSY;
- }
-
-- put_page_from_l2e(ol2e, pfn, 0, true);
-+ put_page_from_l2e(ol2e, pfn, PTF_defer);
-
- return rc;
- }
-@@ -2315,7 +2350,7 @@ static int mod_l3_entry(l3_pgentry_t *pl3e,
- if ( !create_pae_xen_mappings(d, pl3e) )
- BUG();
-
-- put_page_from_l3e(ol3e, pfn, 0, 1);
-+ put_page_from_l3e(ol3e, pfn, PTF_defer);
- return rc;
- }
-
-@@ -2378,7 +2413,7 @@ static int mod_l4_entry(l4_pgentry_t *pl4e,
- return -EFAULT;
- }
-
-- put_page_from_l4e(ol4e, pfn, 0, 1);
-+ put_page_from_l4e(ol4e, pfn, PTF_defer);
- return rc;
- }
- #endif /* CONFIG_PV */
-@@ -2649,7 +2684,7 @@ int free_page_type(struct page_info *page, unsigned long type,
- if ( !(type & PGT_partial) )
- {
- page->nr_validated_ptes = 1U << PAGETABLE_ORDER;
-- page->partial_pte = 0;
-+ page->partial_flags = 0;
- }
-
- switch ( type & PGT_type_mask )
-@@ -2946,7 +2981,7 @@ static int _get_page_type(struct page_info *page, unsigned long type,
- if ( !(x & PGT_partial) )
- {
- page->nr_validated_ptes = 0;
-- page->partial_pte = 0;
-+ page->partial_flags = 0;
- }
- page->linear_pt_count = 0;
- rc = alloc_page_type(page, type, preemptible);
-@@ -3122,7 +3157,7 @@ int new_guest_cr3(mfn_t mfn)
- return 0;
- }
-
-- rc = get_page_and_type_from_mfn(mfn, PGT_root_page_table, d, 0, 1);
-+ rc = get_page_and_type_from_mfn(mfn, PGT_root_page_table, d, PTF_preemptible);
- switch ( rc )
- {
- case 0:
-@@ -3473,7 +3508,7 @@ long do_mmuext_op(
- if ( op.arg1.mfn != 0 )
- {
- rc = get_page_and_type_from_mfn(
-- _mfn(op.arg1.mfn), PGT_root_page_table, currd, 0, 1);
-+ _mfn(op.arg1.mfn), PGT_root_page_table, currd, PTF_preemptible);
-
- if ( unlikely(rc) )
- {
-diff --git a/xen/include/asm-x86/mm.h b/xen/include/asm-x86/mm.h
-index 6faa563167..8406ac3c37 100644
---- a/xen/include/asm-x86/mm.h
-+++ b/xen/include/asm-x86/mm.h
-@@ -228,19 +228,34 @@ struct page_info
- * setting the flag must not drop that reference, whereas the instance
- * clearing it will have to.
- *
-- * If @partial_pte is positive then PTE at @nr_validated_ptes+1 has
-- * been partially validated. This implies that the general reference
-- * to the page (acquired from get_page_from_lNe()) would be dropped
-- * (again due to the apparent failure) and hence must be re-acquired
-- * when resuming the validation, but must not be dropped when picking
-- * up the page for invalidation.
-+ * If partial_flags & PTF_partial_set is set, then the page at
-+ * at @nr_validated_ptes had PGT_partial set as a result of an
-+ * operation on the current page. (That page may or may not
-+ * still have PGT_partial set.)
- *
-- * If @partial_pte is negative then PTE at @nr_validated_ptes+1 has
-- * been partially invalidated. This is basically the opposite case of
-- * above, i.e. the general reference to the page was not dropped in
-- * put_page_from_lNe() (due to the apparent failure), and hence it
-- * must be dropped when the put operation is resumed (and completes),
-- * but it must not be acquired if picking up the page for validation.
-+ * If PTF_partial_general_ref is set, then the PTE at
-+ * @nr_validated_ptef holds a general reference count for the
-+ * page.
-+ *
-+ * This happens:
-+ * - During de-validation, if de-validation of the page was
-+ * interrupted
-+ * - During validation, if an invalid entry is encountered and
-+ * validation is preemptible
-+ * - During validation, if PTF_partial_general_ref was set on
-+ * this entry to begin with (perhaps because we're picking
-+ * up from a partial de-validation).
-+ *
-+ * When resuming validation, if PTF_partial_general_ref is clear,
-+ * then a general reference must be re-acquired; if it is set, no
-+ * reference should be acquired.
-+ *
-+ * When resuming de-validation, if PTF_partial_general_ref is
-+ * clear, no reference should be dropped; if it is set, a
-+ * reference should be dropped.
-+ *
-+ * NB that PTF_partial_set and PTF_partial_general_ref are
-+ * defined in mm.c, the only place where they are used.
- *
- * The 3rd field, @linear_pt_count, indicates
- * - by a positive value, how many same-level page table entries a page
-@@ -251,7 +266,7 @@ struct page_info
- struct {
- u16 nr_validated_ptes:PAGETABLE_ORDER + 1;
- u16 :16 - PAGETABLE_ORDER - 1 - 2;
-- s16 partial_pte:2;
-+ u16 partial_flags:2;
- s16 linear_pt_count;
- };
-
---
-2.23.0
-
diff --git a/system/xen/xsa/xsa299-4.12-0004-x86-mm-Use-flags-for-_put_page_type-rather-than-a-bo.patch b/system/xen/xsa/xsa299-4.12-0004-x86-mm-Use-flags-for-_put_page_type-rather-than-a-bo.patch
deleted file mode 100644
index d07c233225..0000000000
--- a/system/xen/xsa/xsa299-4.12-0004-x86-mm-Use-flags-for-_put_page_type-rather-than-a-bo.patch
+++ /dev/null
@@ -1,140 +0,0 @@
-From db1d801aa8dcb918a27486a6e8d9cf5d7307dec3 Mon Sep 17 00:00:00 2001
-From: George Dunlap <george.dunlap@citrix.com>
-Date: Thu, 10 Oct 2019 17:57:49 +0100
-Subject: [PATCH 04/11] x86/mm: Use flags for _put_page_type rather than a
- boolean
-
-This is in mainly in preparation for _put_page_type taking the
-partial_flags value in the future. It also makes it easier to read in
-the caller (since you see a flag name rather than `true` or `false`).
-
-No functional change intended.
-
-This is part of XSA-299.
-
-Reported-by: George Dunlap <george.dunlap@citrix.com>
-Signed-off-by: George Dunlap <george.dunlap@citrix.com>
-Reviewed-by: Jan Beulich <jbeulich@suse.com>
----
- xen/arch/x86/mm.c | 25 +++++++++++++------------
- 1 file changed, 13 insertions(+), 12 deletions(-)
-
-diff --git a/xen/arch/x86/mm.c b/xen/arch/x86/mm.c
-index 3f6f8cc9b8..0740b61af8 100644
---- a/xen/arch/x86/mm.c
-+++ b/xen/arch/x86/mm.c
-@@ -1200,7 +1200,7 @@ get_page_from_l4e(
- }
- #endif /* CONFIG_PV */
-
--static int _put_page_type(struct page_info *page, bool preemptible,
-+static int _put_page_type(struct page_info *page, unsigned int flags,
- struct page_info *ptpg);
-
- void put_page_from_l1e(l1_pgentry_t l1e, struct domain *l1e_owner)
-@@ -1320,7 +1320,7 @@ static int put_page_from_l2e(l2_pgentry_t l2e, unsigned long pfn,
- PTF_partial_set )
- {
- ASSERT(!(flags & PTF_defer));
-- rc = _put_page_type(pg, true, ptpg);
-+ rc = _put_page_type(pg, PTF_preemptible, ptpg);
- }
- else if ( flags & PTF_defer )
- {
-@@ -1329,7 +1329,7 @@ static int put_page_from_l2e(l2_pgentry_t l2e, unsigned long pfn,
- }
- else
- {
-- rc = _put_page_type(pg, true, ptpg);
-+ rc = _put_page_type(pg, PTF_preemptible, ptpg);
- if ( likely(!rc) )
- put_page(pg);
- }
-@@ -1366,7 +1366,7 @@ static int put_page_from_l3e(l3_pgentry_t l3e, unsigned long pfn,
- PTF_partial_set )
- {
- ASSERT(!(flags & PTF_defer));
-- return _put_page_type(pg, true, mfn_to_page(_mfn(pfn)));
-+ return _put_page_type(pg, PTF_preemptible, mfn_to_page(_mfn(pfn)));
- }
-
- if ( flags & PTF_defer )
-@@ -1376,7 +1376,7 @@ static int put_page_from_l3e(l3_pgentry_t l3e, unsigned long pfn,
- return 0;
- }
-
-- rc = _put_page_type(pg, true, mfn_to_page(_mfn(pfn)));
-+ rc = _put_page_type(pg, PTF_preemptible, mfn_to_page(_mfn(pfn)));
- if ( likely(!rc) )
- put_page(pg);
-
-@@ -1397,7 +1397,7 @@ static int put_page_from_l4e(l4_pgentry_t l4e, unsigned long pfn,
- PTF_partial_set )
- {
- ASSERT(!(flags & PTF_defer));
-- return _put_page_type(pg, true, mfn_to_page(_mfn(pfn)));
-+ return _put_page_type(pg, PTF_preemptible, mfn_to_page(_mfn(pfn)));
- }
-
- if ( flags & PTF_defer )
-@@ -1407,7 +1407,7 @@ static int put_page_from_l4e(l4_pgentry_t l4e, unsigned long pfn,
- return 0;
- }
-
-- rc = _put_page_type(pg, true, mfn_to_page(_mfn(pfn)));
-+ rc = _put_page_type(pg, PTF_preemptible, mfn_to_page(_mfn(pfn)));
- if ( likely(!rc) )
- put_page(pg);
- }
-@@ -2757,10 +2757,11 @@ static int _put_final_page_type(struct page_info *page, unsigned long type,
- }
-
-
--static int _put_page_type(struct page_info *page, bool preemptible,
-+static int _put_page_type(struct page_info *page, unsigned int flags,
- struct page_info *ptpg)
- {
- unsigned long nx, x, y = page->u.inuse.type_info;
-+ bool preemptible = flags & PTF_preemptible;
-
- ASSERT(current_locked_page_ne_check(page));
-
-@@ -2969,7 +2970,7 @@ static int _get_page_type(struct page_info *page, unsigned long type,
-
- if ( unlikely(iommu_ret) )
- {
-- _put_page_type(page, false, NULL);
-+ _put_page_type(page, 0, NULL);
- rc = iommu_ret;
- goto out;
- }
-@@ -2996,7 +2997,7 @@ static int _get_page_type(struct page_info *page, unsigned long type,
-
- void put_page_type(struct page_info *page)
- {
-- int rc = _put_page_type(page, false, NULL);
-+ int rc = _put_page_type(page, 0, NULL);
- ASSERT(rc == 0);
- (void)rc;
- }
-@@ -3013,7 +3014,7 @@ int get_page_type(struct page_info *page, unsigned long type)
-
- int put_page_type_preemptible(struct page_info *page)
- {
-- return _put_page_type(page, true, NULL);
-+ return _put_page_type(page, PTF_preemptible, NULL);
- }
-
- int get_page_type_preemptible(struct page_info *page, unsigned long type)
-@@ -3030,7 +3031,7 @@ int put_old_guest_table(struct vcpu *v)
- if ( !v->arch.old_guest_table )
- return 0;
-
-- switch ( rc = _put_page_type(v->arch.old_guest_table, true,
-+ switch ( rc = _put_page_type(v->arch.old_guest_table, PTF_preemptible,
- v->arch.old_guest_ptpg) )
- {
- case -EINTR:
---
-2.23.0
-
diff --git a/system/xen/xsa/xsa299-4.12-0005-x86-mm-Rework-get_page_and_type_from_mfn-conditional.patch b/system/xen/xsa/xsa299-4.12-0005-x86-mm-Rework-get_page_and_type_from_mfn-conditional.patch
deleted file mode 100644
index 9cfbb73907..0000000000
--- a/system/xen/xsa/xsa299-4.12-0005-x86-mm-Rework-get_page_and_type_from_mfn-conditional.patch
+++ /dev/null
@@ -1,79 +0,0 @@
-From 6f257854c8778774210281c5c21028c4b7739b44 Mon Sep 17 00:00:00 2001
-From: George Dunlap <george.dunlap@citrix.com>
-Date: Thu, 10 Oct 2019 17:57:49 +0100
-Subject: [PATCH 05/11] x86/mm: Rework get_page_and_type_from_mfn conditional
-
-Make it easier to read by declaring the conditions in which we will
-retain the ref, rather than the conditions under which we release it.
-
-The only way (page == current->arch.old_guest_table) can be true is if
-preemptible is true; so remove this from the query itself, and add an
-ASSERT() to that effect on the opposite path.
-
-No functional change intended.
-
-NB that alloc_lN_table() mishandle the "linear pt failure" situation
-described in the comment; this will be addressed in a future patch.
-
-This is part of XSA-299.
-
-Reported-by: George Dunlap <george.dunlap@citrix.com>
-Signed-off-by: George Dunlap <george.dunlap@citrix.com>
-Reviewed-by: Jan Beulich <jbeulich@suse.com>
----
- xen/arch/x86/mm.c | 39 +++++++++++++++++++++++++++++++++++++--
- 1 file changed, 37 insertions(+), 2 deletions(-)
-
-diff --git a/xen/arch/x86/mm.c b/xen/arch/x86/mm.c
-index 0740b61af8..0a4d39a2c3 100644
---- a/xen/arch/x86/mm.c
-+++ b/xen/arch/x86/mm.c
-@@ -1122,8 +1122,43 @@ static int get_page_and_type_from_mfn(
-
- rc = _get_page_type(page, type, preemptible);
-
-- if ( unlikely(rc) && !partial_ref &&
-- (!preemptible || page != current->arch.old_guest_table) )
-+ /*
-+ * Retain the refcount if:
-+ * - page is fully validated (rc == 0)
-+ * - page is not validated (rc < 0) but:
-+ * - We came in with a reference (partial_ref)
-+ * - page is partially validated but there's been an error
-+ * (page == current->arch.old_guest_table)
-+ *
-+ * The partial_ref-on-error clause is worth an explanation. There
-+ * are two scenarios where partial_ref might be true coming in:
-+ * - mfn has been partially demoted as type `type`; i.e. has
-+ * PGT_partial set
-+ * - mfn has been partially demoted as L(type+1) (i.e., a linear
-+ * page; e.g. we're being called from get_page_from_l2e with
-+ * type == PGT_l1_table, but the mfn is PGT_l2_table)
-+ *
-+ * If there's an error, in the first case, _get_page_type will
-+ * either return -ERESTART, in which case we want to retain the
-+ * ref (as the caller will consider it retained), or -EINVAL, in
-+ * which case old_guest_table will be set; in both cases, we need
-+ * to retain the ref.
-+ *
-+ * In the second case, if there's an error, _get_page_type() can
-+ * *only* return -EINVAL, and *never* set old_guest_table. In
-+ * that case we also want to retain the reference, to allow the
-+ * page to continue to be torn down (i.e., PGT_partial cleared)
-+ * safely.
-+ *
-+ * Also note that we shouldn't be able to leave with the reference
-+ * count retained unless we succeeded, or the operation was
-+ * preemptible.
-+ */
-+ if ( likely(!rc) || partial_ref )
-+ /* nothing */;
-+ else if ( page == current->arch.old_guest_table )
-+ ASSERT(preemptible);
-+ else
- put_page(page);
-
- return rc;
---
-2.23.0
-
diff --git a/system/xen/xsa/xsa299-4.12-0006-x86-mm-Have-alloc_l-23-_table-clear-partial_flags-wh.patch b/system/xen/xsa/xsa299-4.12-0006-x86-mm-Have-alloc_l-23-_table-clear-partial_flags-wh.patch
deleted file mode 100644
index 72ee3eac9e..0000000000
--- a/system/xen/xsa/xsa299-4.12-0006-x86-mm-Have-alloc_l-23-_table-clear-partial_flags-wh.patch
+++ /dev/null
@@ -1,111 +0,0 @@
-From 4ad70553611a7a4e4494d5a3b51b5cc295a488e0 Mon Sep 17 00:00:00 2001
-From: George Dunlap <george.dunlap@citrix.com>
-Date: Thu, 10 Oct 2019 17:57:49 +0100
-Subject: [PATCH 06/11] x86/mm: Have alloc_l[23]_table clear partial_flags when
- preempting
-
-In order to allow recursive pagetable promotions and demotions to be
-interrupted, Xen must keep track of the state of the sub-pages
-promoted or demoted. This is stored in two elements in the page
-struct: nr_entries_validated and partial_flags.
-
-The rule is that entries [0, nr_entries_validated) should always be
-validated and hold a general reference count. If partial_flags is
-zero, then [nr_entries_validated] is not validated and no reference
-count is held. If PTF_partial_set is set, then [nr_entries_validated]
-is partially validated.
-
-At the moment, a distinction is made between promotion and demotion
-with regard to whether the entry itself "holds" a general reference
-count: when entry promotion is interrupted (i.e., returns -ERESTART),
-the entry is not considered to hold a reference; when entry demotion
-is interrupted, the entry is still considered to hold a general
-reference.
-
-PTF_partial_general_ref is used to distinguish between these cases.
-If clear, it's a partial promotion => no general reference count held
-by the entry; if set, it's partial demotion, so a general reference
-count held. Because promotions and demotions can be interleaved, this
-value is passed to get_page_and_type_from_mfn and put_page_from_l*e,
-to be able to properly handle reference counts.
-
-Unfortunately, when alloc_l[23]_table check hypercall_preempt_check()
-and return -ERESTART, they set nr_entries_validated, but don't clear
-partial_flags.
-
-If we were picking up from a previously-interrupted promotion, that
-means that PTF_partial_set would be set even though
-[nr_entries_validated] was not partially validated. This means that
-if the page in this state were de-validated, put_page_type() would
-erroneously be called on that entry.
-
-Perhaps worse, if we were racing with a de-validation, then we might
-leave both PTF_partial_set and PTF_partial_general_ref; and when
-de-validation picked up again, both the type and the general ref would
-be erroneously dropped from [nr_entries_validated].
-
-In a sense, the real issue here is code duplication. Rather than
-duplicate the interruption code, set rc to -EINTR and fall through to
-the code which already handles that case correctly.
-
-Given the logic at this point, it should be impossible for
-partial_flags to be non-zero; add an ASSERT() to catch any changes.
-
-This is part of XSA-299.
-
-Reported-by: George Dunlap <george.dunlap@citrix.com>
-Signed-off-by: George Dunlap <george.dunlap@citrix.com>
-Reviewed-by: Jan Beulich <jbeulich@suse.com>
----
- xen/arch/x86/mm.c | 25 ++++++-------------------
- 1 file changed, 6 insertions(+), 19 deletions(-)
-
-diff --git a/xen/arch/x86/mm.c b/xen/arch/x86/mm.c
-index 0a4d39a2c3..bbd29a68f4 100644
---- a/xen/arch/x86/mm.c
-+++ b/xen/arch/x86/mm.c
-@@ -1554,21 +1554,13 @@ static int alloc_l2_table(struct page_info *page, unsigned long type)
- for ( i = page->nr_validated_ptes; i < L2_PAGETABLE_ENTRIES;
- i++, partial_flags = 0 )
- {
-- l2_pgentry_t l2e;
-+ l2_pgentry_t l2e = pl2e[i];
-
- if ( i > page->nr_validated_ptes && hypercall_preempt_check() )
-- {
-- page->nr_validated_ptes = i;
-- rc = -ERESTART;
-- break;
-- }
--
-- if ( !is_guest_l2_slot(d, type, i) )
-+ rc = -EINTR;
-+ else if ( !is_guest_l2_slot(d, type, i) )
- continue;
--
-- l2e = pl2e[i];
--
-- if ( !(l2e_get_flags(l2e) & _PAGE_PRESENT) )
-+ else if ( !(l2e_get_flags(l2e) & _PAGE_PRESENT) )
- {
- if ( !pv_l1tf_check_l2e(d, l2e) )
- continue;
-@@ -1640,13 +1632,8 @@ static int alloc_l3_table(struct page_info *page)
- l3_pgentry_t l3e = pl3e[i];
-
- if ( i > page->nr_validated_ptes && hypercall_preempt_check() )
-- {
-- page->nr_validated_ptes = i;
-- rc = -ERESTART;
-- break;
-- }
--
-- if ( is_pv_32bit_domain(d) && (i == 3) )
-+ rc = -EINTR;
-+ else if ( is_pv_32bit_domain(d) && (i == 3) )
- {
- if ( !(l3e_get_flags(l3e) & _PAGE_PRESENT) ||
- (l3e_get_flags(l3e) & l3_disallow_mask(d)) )
---
-2.23.0
-
diff --git a/system/xen/xsa/xsa299-4.12-0007-x86-mm-Always-retain-a-general-ref-on-partial.patch b/system/xen/xsa/xsa299-4.12-0007-x86-mm-Always-retain-a-general-ref-on-partial.patch
deleted file mode 100644
index ef390e2b13..0000000000
--- a/system/xen/xsa/xsa299-4.12-0007-x86-mm-Always-retain-a-general-ref-on-partial.patch
+++ /dev/null
@@ -1,378 +0,0 @@
-From 51fe4e67d954649fcf103116be6206a769f0db1e Mon Sep 17 00:00:00 2001
-From: George Dunlap <george.dunlap@citrix.com>
-Date: Thu, 10 Oct 2019 17:57:49 +0100
-Subject: [PATCH 07/11] x86/mm: Always retain a general ref on partial
-
-In order to allow recursive pagetable promotions and demotions to be
-interrupted, Xen must keep track of the state of the sub-pages
-promoted or demoted. This is stored in two elements in the page struct:
-nr_entries_validated and partial_flags.
-
-The rule is that entries [0, nr_entries_validated) should always be
-validated and hold a general reference count. If partial_flags is
-zero, then [nr_entries_validated] is not validated and no reference
-count is held. If PTF_partial_set is set, then [nr_entries_validated]
-is partially validated.
-
-At the moment, a distinction is made between promotion and demotion
-with regard to whether the entry itself "holds" a general reference
-count: when entry promotion is interrupted (i.e., returns -ERESTART),
-the entry is not considered to hold a reference; when entry demotion
-is interrupted, the entry is still considered to hold a general
-reference.
-
-PTF_partial_general_ref is used to distinguish between these cases.
-If clear, it's a partial promotion => no general reference count held
-by the entry; if set, it's partial demotion, so a general reference
-count held. Because promotions and demotions can be interleaved, this
-value is passed to get_page_and_type_from_mfn and put_page_from_l*e,
-to be able to properly handle reference counts.
-
-Unfortunately, because a refcount is not held, it is possible to
-engineer a situation where PFT_partial_set is set but the page in
-question has been assigned to another domain. A sketch is provided in
-the appendix.
-
-Fix this by having the parent page table entry hold a general
-reference count whenever PFT_partial_set is set. (For clarity of
-change, keep two separate flags. These will be collapsed in a
-subsequent changeset.)
-
-This has two basic implications. On the put_page_from_lNe() side,
-this mean that the (partial_set && !partial_ref) case can never happen,
-and no longer needs to be special-cased.
-
-Secondly, because both flags are set together, there's no need to carry over
-existing bits from partial_pte.
-
-(NB there is still another issue with calling _put_page_type() on a
-page which had PGT_partial set; that will be handled in a subsequent
-patch.)
-
-On the get_page_and_type_from_mfn() side, we need to distinguish
-between callers which hold a reference on partial (i.e.,
-alloc_lN_table()), and those which do not (new_cr3, PIN_LN_TABLE, and
-so on): pass a flag if the type should be retained on interruption.
-
-NB that since l1 promotion can't be preempted, that get_page_from_l2e
-can't return -ERESTART.
-
-This is part of XSA-299.
-
-Reported-by: George Dunlap <george.dunlap@citrix.com>
-Signed-off-by: George Dunlap <george.dunlap@citrix.com>
-Reviewed-by: Jan Beulich <jbeulich@suse.com>
------
-* Appendix: Engineering PTF_partial_set while a page belongs to a
- foreign domain
-
-Suppose A is a page which can be promoted to an l3, and B is a page
-which can be promoted to an l2, and A[x] points to B. B has
-PGC_allocated set but no other general references.
-
-V1: PIN_L3 A.
- A is validated, B is validated.
- A.type_count = 1 | PGT_validated | PGT_pinned
- B.type_count = 1 | PGT_validated
- B.count = 2 | PGC_allocated (A[x] holds a general ref)
-
-V1: UNPIN A.
- A begins de-validation.
- Arrange to be interrupted when i < x
- V1->old_guest_table = A
- V1->old_guest_table_ref_held = false
- A.type_count = 1 | PGT_partial
- A.nr_validated_entries = i < x
- B.type_count = 0
- B.count = 1 | PGC_allocated
-
-V2: MOD_L4_ENTRY to point some l4e to A.
- Picks up re-validation of A.
- Arrange to be interrupted halfway through B's validation
- B.type_count = 1 | PGT_partial
- B.count = 2 | PGC_allocated (PGT_partial holds a general ref)
- A.type_count = 1 | PGT_partial
- A.nr_validated_entries = x
- A.partial_pte = PTF_partial_set
-
-V3: MOD_L3_ENTRY to point some other l3e (not in A) to B.
- Validates B.
- B.type_count = 1 | PGT_validated
- B.count = 2 | PGC_allocated ("other l3e" holds a general ref)
-
-V3: MOD_L3_ENTRY to clear l3e pointing to B.
- Devalidates B.
- B.type_count = 0
- B.count = 1 | PGC_allocated
-
-V3: decrease_reservation(B)
- Clears PGC_allocated
- B.count = 0 => B is freed
-
-B gets assigned to a different domain
-
-V1: Restarts UNPIN of A
- put_old_guest_table(A)
- ...
- free_l3_table(A)
-
-Now since A.partial_flags has PTF_partial_set, free_l3_table() will
-call put_page_from_l3e() on A[x], which points to B, while B is owned
-by another domain.
-
-If A[x] held a general refcount for B on partial validation, as it does
-for partial de-validation, then B would still have a reference count of
-1 after PGC_allocated was freed; so B wouldn't be freed until after
-put_page_from_l3e() had happend on A[x].
----
- xen/arch/x86/mm.c | 84 +++++++++++++++++++++++-----------------
- xen/include/asm-x86/mm.h | 15 ++++---
- 2 files changed, 58 insertions(+), 41 deletions(-)
-
-diff --git a/xen/arch/x86/mm.c b/xen/arch/x86/mm.c
-index bbd29a68f4..4d3ebf341d 100644
---- a/xen/arch/x86/mm.c
-+++ b/xen/arch/x86/mm.c
-@@ -1102,10 +1102,11 @@ get_page_from_l1e(
- * page->pte[page->nr_validated_entries]. See the comment in mm.h for
- * more information.
- */
--#define PTF_partial_set (1 << 0)
--#define PTF_partial_general_ref (1 << 1)
--#define PTF_preemptible (1 << 2)
--#define PTF_defer (1 << 3)
-+#define PTF_partial_set (1 << 0)
-+#define PTF_partial_general_ref (1 << 1)
-+#define PTF_preemptible (1 << 2)
-+#define PTF_defer (1 << 3)
-+#define PTF_retain_ref_on_restart (1 << 4)
-
- static int get_page_and_type_from_mfn(
- mfn_t mfn, unsigned long type, struct domain *d,
-@@ -1114,7 +1115,11 @@ static int get_page_and_type_from_mfn(
- struct page_info *page = mfn_to_page(mfn);
- int rc;
- bool preemptible = flags & PTF_preemptible,
-- partial_ref = flags & PTF_partial_general_ref;
-+ partial_ref = flags & PTF_partial_general_ref,
-+ partial_set = flags & PTF_partial_set,
-+ retain_ref = flags & PTF_retain_ref_on_restart;
-+
-+ ASSERT(partial_ref == partial_set);
-
- if ( likely(!partial_ref) &&
- unlikely(!get_page_from_mfn(mfn, d)) )
-@@ -1127,13 +1132,15 @@ static int get_page_and_type_from_mfn(
- * - page is fully validated (rc == 0)
- * - page is not validated (rc < 0) but:
- * - We came in with a reference (partial_ref)
-+ * - page is partially validated (rc == -ERESTART), and the
-+ * caller has asked the ref to be retained in that case
- * - page is partially validated but there's been an error
- * (page == current->arch.old_guest_table)
- *
- * The partial_ref-on-error clause is worth an explanation. There
- * are two scenarios where partial_ref might be true coming in:
-- * - mfn has been partially demoted as type `type`; i.e. has
-- * PGT_partial set
-+ * - mfn has been partially promoted / demoted as type `type`;
-+ * i.e. has PGT_partial set
- * - mfn has been partially demoted as L(type+1) (i.e., a linear
- * page; e.g. we're being called from get_page_from_l2e with
- * type == PGT_l1_table, but the mfn is PGT_l2_table)
-@@ -1156,7 +1163,8 @@ static int get_page_and_type_from_mfn(
- */
- if ( likely(!rc) || partial_ref )
- /* nothing */;
-- else if ( page == current->arch.old_guest_table )
-+ else if ( page == current->arch.old_guest_table ||
-+ (retain_ref && rc == -ERESTART) )
- ASSERT(preemptible);
- else
- put_page(page);
-@@ -1354,8 +1362,8 @@ static int put_page_from_l2e(l2_pgentry_t l2e, unsigned long pfn,
- if ( (flags & (PTF_partial_set | PTF_partial_general_ref)) ==
- PTF_partial_set )
- {
-- ASSERT(!(flags & PTF_defer));
-- rc = _put_page_type(pg, PTF_preemptible, ptpg);
-+ /* partial_set should always imply partial_ref */
-+ BUG();
- }
- else if ( flags & PTF_defer )
- {
-@@ -1400,8 +1408,8 @@ static int put_page_from_l3e(l3_pgentry_t l3e, unsigned long pfn,
- if ( (flags & (PTF_partial_set | PTF_partial_general_ref)) ==
- PTF_partial_set )
- {
-- ASSERT(!(flags & PTF_defer));
-- return _put_page_type(pg, PTF_preemptible, mfn_to_page(_mfn(pfn)));
-+ /* partial_set should always imply partial_ref */
-+ BUG();
- }
-
- if ( flags & PTF_defer )
-@@ -1431,8 +1439,8 @@ static int put_page_from_l4e(l4_pgentry_t l4e, unsigned long pfn,
- if ( (flags & (PTF_partial_set | PTF_partial_general_ref)) ==
- PTF_partial_set )
- {
-- ASSERT(!(flags & PTF_defer));
-- return _put_page_type(pg, PTF_preemptible, mfn_to_page(_mfn(pfn)));
-+ /* partial_set should always imply partial_ref */
-+ BUG();
- }
-
- if ( flags & PTF_defer )
-@@ -1569,13 +1577,22 @@ static int alloc_l2_table(struct page_info *page, unsigned long type)
- else
- rc = get_page_from_l2e(l2e, pfn, d, partial_flags);
-
-- if ( rc == -ERESTART )
-- {
-- page->nr_validated_ptes = i;
-- /* Set 'set', retain 'general ref' */
-- page->partial_flags = partial_flags | PTF_partial_set;
-- }
-- else if ( rc == -EINTR && i )
-+ /*
-+ * It shouldn't be possible for get_page_from_l2e to return
-+ * -ERESTART, since we never call this with PTF_preemptible.
-+ * (alloc_l1_table may return -EINTR on an L1TF-vulnerable
-+ * entry.)
-+ *
-+ * NB that while on a "clean" promotion, we can never get
-+ * PGT_partial. It is possible to arrange for an l2e to
-+ * contain a partially-devalidated l2; but in that case, both
-+ * of the following functions will fail anyway (the first
-+ * because the page in question is not an l1; the second
-+ * because the page is not fully validated).
-+ */
-+ ASSERT(rc != -ERESTART);
-+
-+ if ( rc == -EINTR && i )
- {
- page->nr_validated_ptes = i;
- page->partial_flags = 0;
-@@ -1584,6 +1601,7 @@ static int alloc_l2_table(struct page_info *page, unsigned long type)
- else if ( rc < 0 && rc != -EINTR )
- {
- gdprintk(XENLOG_WARNING, "Failure in alloc_l2_table: slot %#x\n", i);
-+ ASSERT(current->arch.old_guest_table == NULL);
- if ( i )
- {
- page->nr_validated_ptes = i;
-@@ -1642,7 +1660,7 @@ static int alloc_l3_table(struct page_info *page)
- rc = get_page_and_type_from_mfn(
- l3e_get_mfn(l3e),
- PGT_l2_page_table | PGT_pae_xen_l2, d,
-- partial_flags | PTF_preemptible);
-+ partial_flags | PTF_preemptible | PTF_retain_ref_on_restart);
- }
- else if ( !(l3e_get_flags(l3e) & _PAGE_PRESENT) )
- {
-@@ -1651,13 +1669,14 @@ static int alloc_l3_table(struct page_info *page)
- rc = -EINTR;
- }
- else
-- rc = get_page_from_l3e(l3e, pfn, d, partial_flags);
-+ rc = get_page_from_l3e(l3e, pfn, d,
-+ partial_flags | PTF_retain_ref_on_restart);
-
- if ( rc == -ERESTART )
- {
- page->nr_validated_ptes = i;
- /* Set 'set', leave 'general ref' set if this entry was set */
-- page->partial_flags = partial_flags | PTF_partial_set;
-+ page->partial_flags = PTF_partial_set | PTF_partial_general_ref;
- }
- else if ( rc == -EINTR && i )
- {
-@@ -1833,13 +1852,14 @@ static int alloc_l4_table(struct page_info *page)
- rc = -EINTR;
- }
- else
-- rc = get_page_from_l4e(l4e, pfn, d, partial_flags);
-+ rc = get_page_from_l4e(l4e, pfn, d,
-+ partial_flags | PTF_retain_ref_on_restart);
-
- if ( rc == -ERESTART )
- {
- page->nr_validated_ptes = i;
- /* Set 'set', leave 'general ref' set if this entry was set */
-- page->partial_flags = partial_flags | PTF_partial_set;
-+ page->partial_flags = PTF_partial_set | PTF_partial_general_ref;
- }
- else if ( rc < 0 )
- {
-@@ -1936,9 +1956,7 @@ static int free_l2_table(struct page_info *page)
- else if ( rc == -ERESTART )
- {
- page->nr_validated_ptes = i;
-- page->partial_flags = (partial_flags & PTF_partial_set) ?
-- partial_flags :
-- (PTF_partial_set | PTF_partial_general_ref);
-+ page->partial_flags = PTF_partial_set | PTF_partial_general_ref;
- }
- else if ( rc == -EINTR && i < L2_PAGETABLE_ENTRIES - 1 )
- {
-@@ -1986,9 +2004,7 @@ static int free_l3_table(struct page_info *page)
- if ( rc == -ERESTART )
- {
- page->nr_validated_ptes = i;
-- page->partial_flags = (partial_flags & PTF_partial_set) ?
-- partial_flags :
-- (PTF_partial_set | PTF_partial_general_ref);
-+ page->partial_flags = PTF_partial_set | PTF_partial_general_ref;
- }
- else if ( rc == -EINTR && i < L3_PAGETABLE_ENTRIES - 1 )
- {
-@@ -2019,9 +2035,7 @@ static int free_l4_table(struct page_info *page)
- if ( rc == -ERESTART )
- {
- page->nr_validated_ptes = i;
-- page->partial_flags = (partial_flags & PTF_partial_set) ?
-- partial_flags :
-- (PTF_partial_set | PTF_partial_general_ref);
-+ page->partial_flags = PTF_partial_set | PTF_partial_general_ref;
- }
- else if ( rc == -EINTR && i < L4_PAGETABLE_ENTRIES - 1 )
- {
-diff --git a/xen/include/asm-x86/mm.h b/xen/include/asm-x86/mm.h
-index 8406ac3c37..02079e1324 100644
---- a/xen/include/asm-x86/mm.h
-+++ b/xen/include/asm-x86/mm.h
-@@ -238,22 +238,25 @@ struct page_info
- * page.
- *
- * This happens:
-- * - During de-validation, if de-validation of the page was
-+ * - During validation or de-validation, if the operation was
- * interrupted
- * - During validation, if an invalid entry is encountered and
- * validation is preemptible
- * - During validation, if PTF_partial_general_ref was set on
-- * this entry to begin with (perhaps because we're picking
-- * up from a partial de-validation).
-+ * this entry to begin with (perhaps because it picked up a
-+ * previous operation)
- *
-- * When resuming validation, if PTF_partial_general_ref is clear,
-- * then a general reference must be re-acquired; if it is set, no
-- * reference should be acquired.
-+ * When resuming validation, if PTF_partial_general_ref is
-+ * clear, then a general reference must be re-acquired; if it
-+ * is set, no reference should be acquired.
- *
- * When resuming de-validation, if PTF_partial_general_ref is
- * clear, no reference should be dropped; if it is set, a
- * reference should be dropped.
- *
-+ * NB at the moment, PTF_partial_set should be set if and only if
-+ * PTF_partial_general_ref is set.
-+ *
- * NB that PTF_partial_set and PTF_partial_general_ref are
- * defined in mm.c, the only place where they are used.
- *
---
-2.23.0
-
diff --git a/system/xen/xsa/xsa299-4.12-0008-x86-mm-Collapse-PTF_partial_set-and-PTF_partial_gene.patch b/system/xen/xsa/xsa299-4.12-0008-x86-mm-Collapse-PTF_partial_set-and-PTF_partial_gene.patch
deleted file mode 100644
index 6cf41d1cd6..0000000000
--- a/system/xen/xsa/xsa299-4.12-0008-x86-mm-Collapse-PTF_partial_set-and-PTF_partial_gene.patch
+++ /dev/null
@@ -1,227 +0,0 @@
-From 8a8d836f7f7418e659d37817a66cd7a6b115042b Mon Sep 17 00:00:00 2001
-From: George Dunlap <george.dunlap@citrix.com>
-Date: Thu, 10 Oct 2019 17:57:49 +0100
-Subject: [PATCH 08/11] x86/mm: Collapse PTF_partial_set and
- PTF_partial_general_ref into one
-
-...now that they are equivalent. No functional change intended.
-
-Reported-by: George Dunlap <george.dunlap@citrix.com>
-Signed-off-by: George Dunlap <george.dunlap@citrix.com>
-Reviewed-by: Jan Beulich <jbeulich@suse.com>
----
- xen/arch/x86/mm.c | 50 +++++++++++-----------------------------
- xen/include/asm-x86/mm.h | 29 +++++++++++------------
- 2 files changed, 26 insertions(+), 53 deletions(-)
-
-diff --git a/xen/arch/x86/mm.c b/xen/arch/x86/mm.c
-index 4d3ebf341d..886e93b8aa 100644
---- a/xen/arch/x86/mm.c
-+++ b/xen/arch/x86/mm.c
-@@ -1097,13 +1097,12 @@ get_page_from_l1e(
-
- /*
- * The following flags are used to specify behavior of various get and
-- * put commands. The first two are also stored in page->partial_flags
-- * to indicate the state of the page pointed to by
-+ * put commands. The first is also stored in page->partial_flags to
-+ * indicate the state of the page pointed to by
- * page->pte[page->nr_validated_entries]. See the comment in mm.h for
- * more information.
- */
- #define PTF_partial_set (1 << 0)
--#define PTF_partial_general_ref (1 << 1)
- #define PTF_preemptible (1 << 2)
- #define PTF_defer (1 << 3)
- #define PTF_retain_ref_on_restart (1 << 4)
-@@ -1115,13 +1114,10 @@ static int get_page_and_type_from_mfn(
- struct page_info *page = mfn_to_page(mfn);
- int rc;
- bool preemptible = flags & PTF_preemptible,
-- partial_ref = flags & PTF_partial_general_ref,
- partial_set = flags & PTF_partial_set,
- retain_ref = flags & PTF_retain_ref_on_restart;
-
-- ASSERT(partial_ref == partial_set);
--
-- if ( likely(!partial_ref) &&
-+ if ( likely(!partial_set) &&
- unlikely(!get_page_from_mfn(mfn, d)) )
- return -EINVAL;
-
-@@ -1131,14 +1127,14 @@ static int get_page_and_type_from_mfn(
- * Retain the refcount if:
- * - page is fully validated (rc == 0)
- * - page is not validated (rc < 0) but:
-- * - We came in with a reference (partial_ref)
-+ * - We came in with a reference (partial_set)
- * - page is partially validated (rc == -ERESTART), and the
- * caller has asked the ref to be retained in that case
- * - page is partially validated but there's been an error
- * (page == current->arch.old_guest_table)
- *
-- * The partial_ref-on-error clause is worth an explanation. There
-- * are two scenarios where partial_ref might be true coming in:
-+ * The partial_set-on-error clause is worth an explanation. There
-+ * are two scenarios where partial_set might be true coming in:
- * - mfn has been partially promoted / demoted as type `type`;
- * i.e. has PGT_partial set
- * - mfn has been partially demoted as L(type+1) (i.e., a linear
-@@ -1161,7 +1157,7 @@ static int get_page_and_type_from_mfn(
- * count retained unless we succeeded, or the operation was
- * preemptible.
- */
-- if ( likely(!rc) || partial_ref )
-+ if ( likely(!rc) || partial_set )
- /* nothing */;
- else if ( page == current->arch.old_guest_table ||
- (retain_ref && rc == -ERESTART) )
-@@ -1359,13 +1355,7 @@ static int put_page_from_l2e(l2_pgentry_t l2e, unsigned long pfn,
- struct page_info *pg = l2e_get_page(l2e);
- struct page_info *ptpg = mfn_to_page(_mfn(pfn));
-
-- if ( (flags & (PTF_partial_set | PTF_partial_general_ref)) ==
-- PTF_partial_set )
-- {
-- /* partial_set should always imply partial_ref */
-- BUG();
-- }
-- else if ( flags & PTF_defer )
-+ if ( flags & PTF_defer )
- {
- current->arch.old_guest_ptpg = ptpg;
- current->arch.old_guest_table = pg;
-@@ -1405,13 +1395,6 @@ static int put_page_from_l3e(l3_pgentry_t l3e, unsigned long pfn,
-
- pg = l3e_get_page(l3e);
-
-- if ( (flags & (PTF_partial_set | PTF_partial_general_ref)) ==
-- PTF_partial_set )
-- {
-- /* partial_set should always imply partial_ref */
-- BUG();
-- }
--
- if ( flags & PTF_defer )
- {
- current->arch.old_guest_ptpg = mfn_to_page(_mfn(pfn));
-@@ -1436,13 +1419,6 @@ static int put_page_from_l4e(l4_pgentry_t l4e, unsigned long pfn,
- {
- struct page_info *pg = l4e_get_page(l4e);
-
-- if ( (flags & (PTF_partial_set | PTF_partial_general_ref)) ==
-- PTF_partial_set )
-- {
-- /* partial_set should always imply partial_ref */
-- BUG();
-- }
--
- if ( flags & PTF_defer )
- {
- current->arch.old_guest_ptpg = mfn_to_page(_mfn(pfn));
-@@ -1676,7 +1652,7 @@ static int alloc_l3_table(struct page_info *page)
- {
- page->nr_validated_ptes = i;
- /* Set 'set', leave 'general ref' set if this entry was set */
-- page->partial_flags = PTF_partial_set | PTF_partial_general_ref;
-+ page->partial_flags = PTF_partial_set;
- }
- else if ( rc == -EINTR && i )
- {
-@@ -1859,7 +1835,7 @@ static int alloc_l4_table(struct page_info *page)
- {
- page->nr_validated_ptes = i;
- /* Set 'set', leave 'general ref' set if this entry was set */
-- page->partial_flags = PTF_partial_set | PTF_partial_general_ref;
-+ page->partial_flags = PTF_partial_set;
- }
- else if ( rc < 0 )
- {
-@@ -1956,7 +1932,7 @@ static int free_l2_table(struct page_info *page)
- else if ( rc == -ERESTART )
- {
- page->nr_validated_ptes = i;
-- page->partial_flags = PTF_partial_set | PTF_partial_general_ref;
-+ page->partial_flags = PTF_partial_set;
- }
- else if ( rc == -EINTR && i < L2_PAGETABLE_ENTRIES - 1 )
- {
-@@ -2004,7 +1980,7 @@ static int free_l3_table(struct page_info *page)
- if ( rc == -ERESTART )
- {
- page->nr_validated_ptes = i;
-- page->partial_flags = PTF_partial_set | PTF_partial_general_ref;
-+ page->partial_flags = PTF_partial_set;
- }
- else if ( rc == -EINTR && i < L3_PAGETABLE_ENTRIES - 1 )
- {
-@@ -2035,7 +2011,7 @@ static int free_l4_table(struct page_info *page)
- if ( rc == -ERESTART )
- {
- page->nr_validated_ptes = i;
-- page->partial_flags = PTF_partial_set | PTF_partial_general_ref;
-+ page->partial_flags = PTF_partial_set;
- }
- else if ( rc == -EINTR && i < L4_PAGETABLE_ENTRIES - 1 )
- {
-diff --git a/xen/include/asm-x86/mm.h b/xen/include/asm-x86/mm.h
-index 02079e1324..f0fd35bf6b 100644
---- a/xen/include/asm-x86/mm.h
-+++ b/xen/include/asm-x86/mm.h
-@@ -233,7 +233,7 @@ struct page_info
- * operation on the current page. (That page may or may not
- * still have PGT_partial set.)
- *
-- * If PTF_partial_general_ref is set, then the PTE at
-+ * Additionally, if PTF_partial_set is set, then the PTE at
- * @nr_validated_ptef holds a general reference count for the
- * page.
- *
-@@ -242,23 +242,20 @@ struct page_info
- * interrupted
- * - During validation, if an invalid entry is encountered and
- * validation is preemptible
-- * - During validation, if PTF_partial_general_ref was set on
-- * this entry to begin with (perhaps because it picked up a
-+ * - During validation, if PTF_partial_set was set on this
-+ * entry to begin with (perhaps because it picked up a
- * previous operation)
- *
-- * When resuming validation, if PTF_partial_general_ref is
-- * clear, then a general reference must be re-acquired; if it
-- * is set, no reference should be acquired.
-+ * When resuming validation, if PTF_partial_set is clear, then
-+ * a general reference must be re-acquired; if it is set, no
-+ * reference should be acquired.
- *
-- * When resuming de-validation, if PTF_partial_general_ref is
-- * clear, no reference should be dropped; if it is set, a
-- * reference should be dropped.
-+ * When resuming de-validation, if PTF_partial_set is clear,
-+ * no reference should be dropped; if it is set, a reference
-+ * should be dropped.
- *
-- * NB at the moment, PTF_partial_set should be set if and only if
-- * PTF_partial_general_ref is set.
-- *
-- * NB that PTF_partial_set and PTF_partial_general_ref are
-- * defined in mm.c, the only place where they are used.
-+ * NB that PTF_partial_set is defined in mm.c, the only place
-+ * where it is used.
- *
- * The 3rd field, @linear_pt_count, indicates
- * - by a positive value, how many same-level page table entries a page
-@@ -268,8 +265,8 @@ struct page_info
- */
- struct {
- u16 nr_validated_ptes:PAGETABLE_ORDER + 1;
-- u16 :16 - PAGETABLE_ORDER - 1 - 2;
-- u16 partial_flags:2;
-+ u16 :16 - PAGETABLE_ORDER - 1 - 1;
-+ u16 partial_flags:1;
- s16 linear_pt_count;
- };
-
---
-2.23.0
-
diff --git a/system/xen/xsa/xsa299-4.12-0009-x86-mm-Properly-handle-linear-pagetable-promotion-fa.patch b/system/xen/xsa/xsa299-4.12-0009-x86-mm-Properly-handle-linear-pagetable-promotion-fa.patch
deleted file mode 100644
index bbaba794fc..0000000000
--- a/system/xen/xsa/xsa299-4.12-0009-x86-mm-Properly-handle-linear-pagetable-promotion-fa.patch
+++ /dev/null
@@ -1,106 +0,0 @@
-From da3d1d258e54fe600f7f75287183b74d957ec63b Mon Sep 17 00:00:00 2001
-From: George Dunlap <george.dunlap@citrix.com>
-Date: Thu, 10 Oct 2019 17:57:49 +0100
-Subject: [PATCH 09/11] x86/mm: Properly handle linear pagetable promotion
- failures
-
-In order to allow recursive pagetable promotions and demotions to be
-interrupted, Xen must keep track of the state of the sub-pages
-promoted or demoted. This is stored in two elements in the page
-struct: nr_entries_validated and partial_flags.
-
-The rule is that entries [0, nr_entries_validated) should always be
-validated and hold a general reference count. If partial_flags is
-zero, then [nr_entries_validated] is not validated and no reference
-count is held. If PTF_partial_set is set, then [nr_entries_validated]
-is partially validated, and a general reference count is held.
-
-Unfortunately, in cases where an entry began with PTF_partial_set set,
-and get_page_from_lNe() returns -EINVAL, the PTF_partial_set bit is
-erroneously dropped. (This scenario can be engineered mainly by the
-use of interleaving of promoting and demoting a page which has "linear
-pagetable" entries; see the appendix for a sketch.) This means that
-we will "leak" a general reference count on the page in question,
-preventing the page from being freed.
-
-Fix this by setting page->partial_flags to the partial_flags local
-variable.
-
-This is part of XSA-299.
-
-Reported-by: George Dunlap <george.dunlap@citrix.com>
-Signed-off-by: George Dunlap <george.dunlap@citrix.com>
-Reviewed-by: Jan Beulich <jbeulich@suse.com>
------
-Appendix
-
-Suppose A and B can both be promoted to L2 pages, and A[x] points to B.
-
-V1: PIN_L2 B.
- B.type_count = 1 | PGT_validated
- B.count = 2 | PGC_allocated
-
-V1: MOD_L3_ENTRY pointing something to A.
- In the process of validating A[x], grab an extra type / ref on B:
- B.type_count = 2 | PGT_validated
- B.count = 3 | PGC_allocated
- A.type_count = 1 | PGT_validated
- A.count = 2 | PGC_allocated
-
-V1: UNPIN B.
- B.type_count = 1 | PGT_validate
- B.count = 2 | PGC_allocated
-
-V1: MOD_L3_ENTRY removing the reference to A.
- De-validate A, down to A[x], which points to B.
- Drop the final type on B. Arrange to be interrupted.
- B.type_count = 1 | PGT_partial
- B.count = 2 | PGC_allocated
- A.type_count = 1 | PGT_partial
- A.nr_validated_entries = x
- A.partial_pte = -1
-
-V2: MOD_L3_ENTRY adds a reference to A.
-
-At this point, get_page_from_l2e(A[x]) tries
-get_page_and_type_from_mfn(), which fails because it's the wrong type;
-and get_l2_linear_pagetable() also fails, because B isn't validated as
-an l2 anymore.
----
- xen/arch/x86/mm.c | 6 +++---
- 1 file changed, 3 insertions(+), 3 deletions(-)
-
-diff --git a/xen/arch/x86/mm.c b/xen/arch/x86/mm.c
-index 886e93b8aa..0a094291da 100644
---- a/xen/arch/x86/mm.c
-+++ b/xen/arch/x86/mm.c
-@@ -1581,7 +1581,7 @@ static int alloc_l2_table(struct page_info *page, unsigned long type)
- if ( i )
- {
- page->nr_validated_ptes = i;
-- page->partial_flags = 0;
-+ page->partial_flags = partial_flags;
- current->arch.old_guest_ptpg = NULL;
- current->arch.old_guest_table = page;
- }
-@@ -1674,7 +1674,7 @@ static int alloc_l3_table(struct page_info *page)
- if ( i )
- {
- page->nr_validated_ptes = i;
-- page->partial_flags = 0;
-+ page->partial_flags = partial_flags;
- current->arch.old_guest_ptpg = NULL;
- current->arch.old_guest_table = page;
- }
-@@ -1845,7 +1845,7 @@ static int alloc_l4_table(struct page_info *page)
- if ( i )
- {
- page->nr_validated_ptes = i;
-- page->partial_flags = 0;
-+ page->partial_flags = partial_flags;
- if ( rc == -EINTR )
- rc = -ERESTART;
- else
---
-2.23.0
-
diff --git a/system/xen/xsa/xsa299-4.12-0010-x86-mm-Fix-nested-de-validation-on-error.patch b/system/xen/xsa/xsa299-4.12-0010-x86-mm-Fix-nested-de-validation-on-error.patch
deleted file mode 100644
index 7d5f022e89..0000000000
--- a/system/xen/xsa/xsa299-4.12-0010-x86-mm-Fix-nested-de-validation-on-error.patch
+++ /dev/null
@@ -1,166 +0,0 @@
-From b3e169dc8daeae85b0b51c25fdb142e2e552ec7f Mon Sep 17 00:00:00 2001
-From: George Dunlap <george.dunlap@citrix.com>
-Date: Thu, 10 Oct 2019 17:57:49 +0100
-Subject: [PATCH 10/11] x86/mm: Fix nested de-validation on error
-
-If an invalid entry is discovered when validating a page-table tree,
-the entire tree which has so far been validated must be de-validated.
-Since this may take a long time, alloc_l[2-4]_table() set current
-vcpu's old_guest_table immediately; put_old_guest_table() will make
-sure that put_page_type() will be called to finish off the
-de-validation before any other MMU operations can happen on the vcpu.
-
-The invariant for partial pages should be:
-
-* Entries [0, nr_validated_ptes) should be completely validated;
- put_page_type() will de-validate these.
-
-* If [nr_validated_ptes] is partially validated, partial_flags should
- set PTF_partiaL_set. put_page_type() will be called on this page to
- finish off devalidation, and the appropriate refcount adjustments
- will be done.
-
-alloc_l[2-3]_table() indicates partial validation to its callers by
-setting current->old_guest_table.
-
-Unfortunately, this is mishandled.
-
-Take the case where validating lNe[x] returns an error.
-
-First, alloc_l3_table() doesn't check old_guest_table at all; as a
-result, partial_flags is not set when it should be. nr_validated_ptes
-is set to x; and since PFT_partial_set clear, de-validation resumes at
-nr_validated_ptes-1. This means that the l2 page at pl3e[x] will not
-have put_page_type() called on it when de-validating the rest of the
-l3: it will be stuck in the PGT_partial state until the domain is
-destroyed, or until it is re-used as an l2. (Any other page type will
-fail.)
-
-Worse, alloc_l4_table(), rather than setting PTF_partial_set as it
-should, sets nr_validated_ptes to x+1. When de-validating, since
-partial is 0, this will correctly resume calling put_page_type at [x];
-but, if the put_page_type() is never called, but instead
-get_page_type() is called, validation will pick up at [x+1],
-neglecting to validate [x]. If the rest of the validation succeeds,
-the l4 will be validated even though [x] is invalid.
-
-Fix this in both cases by setting PTF_partial_set if old_guest_table
-is set.
-
-While here, add some safety catches:
-- old_guest_table must point to the page contained in
- [nr_validated_ptes].
-- alloc_l1_page shouldn't set old_guest_table
-
-If we experience one of these situations in production builds, it's
-safer to avoid calling put_page_type for the pages in question. If
-they have PGT_partial set, they will be cleaned up on domain
-destruction; if not, we have no idea whether a type count is safe to
-drop. Retaining an extra type ref that should have been dropped may
-trigger a BUG() on the free_domain_page() path, but dropping a type
-count that shouldn't be dropped may cause a privilege escalation.
-
-This is part of XSA-299.
-
-Reported-by: George Dunlap <george.dunlap@citrix.com>
-Signed-off-by: George Dunlap <george.dunlap@citrix.com>
-Reviewed-by: Jan Beulich <jbeulich@suse.com>
----
- xen/arch/x86/mm.c | 53 +++++++++++++++++++++++++++++++++++++++++++++--
- 1 file changed, 51 insertions(+), 2 deletions(-)
-
-diff --git a/xen/arch/x86/mm.c b/xen/arch/x86/mm.c
-index 0a094291da..a432e69c74 100644
---- a/xen/arch/x86/mm.c
-+++ b/xen/arch/x86/mm.c
-@@ -1580,6 +1580,20 @@ static int alloc_l2_table(struct page_info *page, unsigned long type)
- ASSERT(current->arch.old_guest_table == NULL);
- if ( i )
- {
-+ /*
-+ * alloc_l1_table() doesn't set old_guest_table; it does
-+ * its own tear-down immediately on failure. If it
-+ * did we'd need to check it and set partial_flags as we
-+ * do in alloc_l[34]_table().
-+ *
-+ * Note on the use of ASSERT: if it's non-null and
-+ * hasn't been cleaned up yet, it should have
-+ * PGT_partial set; and so the type will be cleaned up
-+ * on domain destruction. Unfortunately, we would
-+ * leak the general ref held by old_guest_table; but
-+ * leaking a page is less bad than a host crash.
-+ */
-+ ASSERT(current->arch.old_guest_table == NULL);
- page->nr_validated_ptes = i;
- page->partial_flags = partial_flags;
- current->arch.old_guest_ptpg = NULL;
-@@ -1607,6 +1621,7 @@ static int alloc_l3_table(struct page_info *page)
- unsigned int i;
- int rc = 0;
- unsigned int partial_flags = page->partial_flags;
-+ l3_pgentry_t l3e = l3e_empty();
-
- pl3e = map_domain_page(_mfn(pfn));
-
-@@ -1623,7 +1638,7 @@ static int alloc_l3_table(struct page_info *page)
- for ( i = page->nr_validated_ptes; i < L3_PAGETABLE_ENTRIES;
- i++, partial_flags = 0 )
- {
-- l3_pgentry_t l3e = pl3e[i];
-+ l3e = pl3e[i];
-
- if ( i > page->nr_validated_ptes && hypercall_preempt_check() )
- rc = -EINTR;
-@@ -1675,6 +1690,24 @@ static int alloc_l3_table(struct page_info *page)
- {
- page->nr_validated_ptes = i;
- page->partial_flags = partial_flags;
-+ if ( current->arch.old_guest_table )
-+ {
-+ /*
-+ * We've experienced a validation failure. If
-+ * old_guest_table is set, "transfer" the general
-+ * reference count to pl3e[nr_validated_ptes] by
-+ * setting PTF_partial_set.
-+ *
-+ * As a precaution, check that old_guest_table is the
-+ * page pointed to by pl3e[nr_validated_ptes]. If
-+ * not, it's safer to leak a type ref on production
-+ * builds.
-+ */
-+ if ( current->arch.old_guest_table == l3e_get_page(l3e) )
-+ page->partial_flags = PTF_partial_set;
-+ else
-+ ASSERT_UNREACHABLE();
-+ }
- current->arch.old_guest_ptpg = NULL;
- current->arch.old_guest_table = page;
- }
-@@ -1851,7 +1884,23 @@ static int alloc_l4_table(struct page_info *page)
- else
- {
- if ( current->arch.old_guest_table )
-- page->nr_validated_ptes++;
-+ {
-+ /*
-+ * We've experienced a validation failure. If
-+ * old_guest_table is set, "transfer" the general
-+ * reference count to pl3e[nr_validated_ptes] by
-+ * setting PTF_partial_set.
-+ *
-+ * As a precaution, check that old_guest_table is the
-+ * page pointed to by pl4e[nr_validated_ptes]. If
-+ * not, it's safer to leak a type ref on production
-+ * builds.
-+ */
-+ if ( current->arch.old_guest_table == l4e_get_page(l4e) )
-+ page->partial_flags = PTF_partial_set;
-+ else
-+ ASSERT_UNREACHABLE();
-+ }
- current->arch.old_guest_ptpg = NULL;
- current->arch.old_guest_table = page;
- }
---
-2.23.0
-
diff --git a/system/xen/xsa/xsa299-4.12-0011-x86-mm-Don-t-drop-a-type-ref-unless-you-held-a-ref-t.patch b/system/xen/xsa/xsa299-4.12-0011-x86-mm-Don-t-drop-a-type-ref-unless-you-held-a-ref-t.patch
deleted file mode 100644
index ad7e6fee1b..0000000000
--- a/system/xen/xsa/xsa299-4.12-0011-x86-mm-Don-t-drop-a-type-ref-unless-you-held-a-ref-t.patch
+++ /dev/null
@@ -1,413 +0,0 @@
-From ea3dc624c5e6325a9c2f079e52a85965d4ab6ce8 Mon Sep 17 00:00:00 2001
-From: George Dunlap <george.dunlap@citrix.com>
-Date: Thu, 10 Oct 2019 17:57:50 +0100
-Subject: [PATCH 11/11] x86/mm: Don't drop a type ref unless you held a ref to
- begin with
-
-Validation and de-validation of pagetable trees may take arbitrarily
-large amounts of time, and so must be preemptible. This is indicated
-by setting the PGT_partial bit in the type_info, and setting
-nr_validated_entries and partial_flags appropriately. Specifically,
-if the entry at [nr_validated_entries] is partially validated,
-partial_flags should have the PGT_partial_set bit set, and the entry
-should hold a general reference count. During de-validation,
-put_page_type() is called on partially validated entries.
-
-Unfortunately, there are a number of issues with the current algorithm.
-
-First, doing a "normal" put_page_type() is not safe when no type ref
-is held: there is nothing to stop another vcpu from coming along and
-picking up validation again: at which point the put_page_type may drop
-the only page ref on an in-use page. Some examples are listed in the
-appendix.
-
-The core issue is that put_page_type() is being called both to clean
-up PGT_partial, and to drop a type count; and has no way of knowing
-which is which; and so if in between, PGT_partial is cleared,
-put_page_type() will drop the type ref erroneously.
-
-What is needed is to distinguish between two states:
-- Dropping a type ref which is held
-- Cleaning up a page which has been partially de/validated
-
-Fix this by telling put_page_type() which of the two activities you
-intend.
-
-When cleaning up a partial de/validation, take no action unless you
-find a page partially validated.
-
-If put_page_type() is called without PTF_partial_set, and finds the
-page in a PGT_partial state anyway, then there's certainly been a
-misaccounting somewhere, and carrying on would almost certainly cause
-a security issue, so crash the host instead.
-
-In put_page_from_lNe, pass partial_flags on to _put_page_type().
-
-old_guest_table may be set either with a fully validated page (when
-using the "deferred put" pattern), or with a partially validated page
-(when a normal "de-validation" is interrupted, or when a validation
-fails part-way through due to invalid entries). Add a flag,
-old_guest_table_partial, to indicate which of these it is, and use
-that to pass the appropriate flag to _put_page_type().
-
-While here, delete stray trailing whitespace.
-
-This is part of XSA-299.
-
-Reported-by: George Dunlap <george.dunlap@citrix.com>
-Signed-off-by: George Dunlap <george.dunlap@citrix.com>
-Reviewed-by: Jan Beulich <jbeulich@suse.com>
------
-Appendix:
-
-Suppose page A, when interpreted as an l3 pagetable, contains all
-valid entries; and suppose A[x] points to page B, which when
-interpreted as an l2 pagetable, contains all valid entries.
-
-P1: PIN_L3_TABLE
- A -> PGT_l3_table | 1 | valid
- B -> PGT_l2_table | 1 | valid
-
-P1: UNPIN_TABLE
- > Arrange to interrupt after B has been de-validated
- B:
- type_info -> PGT_l2_table | 0
- A:
- type_info -> PGT_l3_table | 1 | partial
- nr_validated_enties -> (less than x)
-
-P2: mod_l4_entry to point to A
- > Arrange for this to be interrupted while B is being validated
- B:
- type_info -> PGT_l2_table | 1 | partial
- (nr_validated_entires &c set as appropriate)
- A:
- type_info -> PGT_l3_table | 1 | partial
- nr_validated_entries -> x
- partial_pte = 1
-
-P3: mod_l3_entry some other unrelated l3 to point to B:
- B:
- type_info -> PGT_l2_table | 1
-
-P1: Restart UNPIN_TABLE
-
-At this point, since A.nr_validate_entries == x and A.partial_pte !=
-0, free_l3_table() will call put_page_from_l3e() on pl3e[x], dropping
-its type count to 0 while it's still being pointed to by some other l3
-
-A similar issue arises with old_guest_table. Consider the following
-scenario:
-
-Suppose A is a page which, when interpreted as an l2, has valid entries
-until entry x, which is invalid.
-
-V1: PIN_L2_TABLE(A)
- <Validate until we try to validate [x], get -EINVAL>
- A -> PGT_l2_table | 1 | PGT_partial
- V1 -> old_guest_table = A
- <delayed>
-
-V2: PIN_L2_TABLE(A)
- <Pick up where V1 left off, try to re-validate [x], get -EINVAL>
- A -> PGT_l2_table | 1 | PGT_partial
- V2 -> old_guest_table = A
- <restart>
- put_old_guest_table()
- _put_page_type(A)
- A -> PGT_l2_table | 0
-
-V1: <restart>
- put_old_guest_table()
- _put_page_type(A) # UNDERFLOW
-
-Indeed, it is possible to engineer for old_guest_table for every vcpu
-a guest has to point to the same page.
----
- xen/arch/x86/domain.c | 6 +++
- xen/arch/x86/mm.c | 99 +++++++++++++++++++++++++++++++-----
- xen/include/asm-x86/domain.h | 4 +-
- 3 files changed, 95 insertions(+), 14 deletions(-)
-
-diff --git a/xen/arch/x86/domain.c b/xen/arch/x86/domain.c
-index 59df8a6d8d..f1ae5f89f5 100644
---- a/xen/arch/x86/domain.c
-+++ b/xen/arch/x86/domain.c
-@@ -1104,9 +1104,15 @@ int arch_set_info_guest(
- rc = -ERESTART;
- /* Fallthrough */
- case -ERESTART:
-+ /*
-+ * NB that we're putting the kernel-mode table
-+ * here, which we've already successfully
-+ * validated above; hence partial = false;
-+ */
- v->arch.old_guest_ptpg = NULL;
- v->arch.old_guest_table =
- pagetable_get_page(v->arch.guest_table);
-+ v->arch.old_guest_table_partial = false;
- v->arch.guest_table = pagetable_null();
- break;
- default:
-diff --git a/xen/arch/x86/mm.c b/xen/arch/x86/mm.c
-index a432e69c74..81774368a0 100644
---- a/xen/arch/x86/mm.c
-+++ b/xen/arch/x86/mm.c
-@@ -1359,10 +1359,11 @@ static int put_page_from_l2e(l2_pgentry_t l2e, unsigned long pfn,
- {
- current->arch.old_guest_ptpg = ptpg;
- current->arch.old_guest_table = pg;
-+ current->arch.old_guest_table_partial = false;
- }
- else
- {
-- rc = _put_page_type(pg, PTF_preemptible, ptpg);
-+ rc = _put_page_type(pg, flags | PTF_preemptible, ptpg);
- if ( likely(!rc) )
- put_page(pg);
- }
-@@ -1385,6 +1386,7 @@ static int put_page_from_l3e(l3_pgentry_t l3e, unsigned long pfn,
- unsigned long mfn = l3e_get_pfn(l3e);
- bool writeable = l3e_get_flags(l3e) & _PAGE_RW;
-
-+ ASSERT(!(flags & PTF_partial_set));
- ASSERT(!(mfn & ((1UL << (L3_PAGETABLE_SHIFT - PAGE_SHIFT)) - 1)));
- do {
- put_data_page(mfn_to_page(_mfn(mfn)), writeable);
-@@ -1397,12 +1399,14 @@ static int put_page_from_l3e(l3_pgentry_t l3e, unsigned long pfn,
-
- if ( flags & PTF_defer )
- {
-+ ASSERT(!(flags & PTF_partial_set));
- current->arch.old_guest_ptpg = mfn_to_page(_mfn(pfn));
- current->arch.old_guest_table = pg;
-+ current->arch.old_guest_table_partial = false;
- return 0;
- }
-
-- rc = _put_page_type(pg, PTF_preemptible, mfn_to_page(_mfn(pfn)));
-+ rc = _put_page_type(pg, flags | PTF_preemptible, mfn_to_page(_mfn(pfn)));
- if ( likely(!rc) )
- put_page(pg);
-
-@@ -1421,12 +1425,15 @@ static int put_page_from_l4e(l4_pgentry_t l4e, unsigned long pfn,
-
- if ( flags & PTF_defer )
- {
-+ ASSERT(!(flags & PTF_partial_set));
- current->arch.old_guest_ptpg = mfn_to_page(_mfn(pfn));
- current->arch.old_guest_table = pg;
-+ current->arch.old_guest_table_partial = false;
- return 0;
- }
-
-- rc = _put_page_type(pg, PTF_preemptible, mfn_to_page(_mfn(pfn)));
-+ rc = _put_page_type(pg, flags | PTF_preemptible,
-+ mfn_to_page(_mfn(pfn)));
- if ( likely(!rc) )
- put_page(pg);
- }
-@@ -1535,6 +1542,14 @@ static int alloc_l2_table(struct page_info *page, unsigned long type)
-
- pl2e = map_domain_page(_mfn(pfn));
-
-+ /*
-+ * NB that alloc_l2_table will never set partial_pte on an l2; but
-+ * free_l2_table might if a linear_pagetable entry is interrupted
-+ * partway through de-validation. In that circumstance,
-+ * get_page_from_l2e() will always return -EINVAL; and we must
-+ * retain the type ref by doing the normal partial_flags tracking.
-+ */
-+
- for ( i = page->nr_validated_ptes; i < L2_PAGETABLE_ENTRIES;
- i++, partial_flags = 0 )
- {
-@@ -1598,6 +1613,7 @@ static int alloc_l2_table(struct page_info *page, unsigned long type)
- page->partial_flags = partial_flags;
- current->arch.old_guest_ptpg = NULL;
- current->arch.old_guest_table = page;
-+ current->arch.old_guest_table_partial = true;
- }
- }
- if ( rc < 0 )
-@@ -1704,12 +1720,16 @@ static int alloc_l3_table(struct page_info *page)
- * builds.
- */
- if ( current->arch.old_guest_table == l3e_get_page(l3e) )
-+ {
-+ ASSERT(current->arch.old_guest_table_partial);
- page->partial_flags = PTF_partial_set;
-+ }
- else
- ASSERT_UNREACHABLE();
- }
- current->arch.old_guest_ptpg = NULL;
- current->arch.old_guest_table = page;
-+ current->arch.old_guest_table_partial = true;
- }
- while ( i-- > 0 )
- pl3e[i] = unadjust_guest_l3e(pl3e[i], d);
-@@ -1897,12 +1917,16 @@ static int alloc_l4_table(struct page_info *page)
- * builds.
- */
- if ( current->arch.old_guest_table == l4e_get_page(l4e) )
-+ {
-+ ASSERT(current->arch.old_guest_table_partial);
- page->partial_flags = PTF_partial_set;
-+ }
- else
- ASSERT_UNREACHABLE();
- }
- current->arch.old_guest_ptpg = NULL;
- current->arch.old_guest_table = page;
-+ current->arch.old_guest_table_partial = true;
- }
- }
- }
-@@ -2831,6 +2855,28 @@ static int _put_page_type(struct page_info *page, unsigned int flags,
- x = y;
- nx = x - 1;
-
-+ /*
-+ * Is this expected to do a full reference drop, or only
-+ * cleanup partial validation / devalidation?
-+ *
-+ * If the former, the caller must hold a "full" type ref;
-+ * which means the page must be validated. If the page is
-+ * *not* fully validated, continuing would almost certainly
-+ * open up a security hole. An exception to this is during
-+ * domain destruction, where PGT_validated can be dropped
-+ * without dropping a type ref.
-+ *
-+ * If the latter, do nothing unless type PGT_partial is set.
-+ * If it is set, the type count must be 1.
-+ */
-+ if ( !(flags & PTF_partial_set) )
-+ BUG_ON((x & PGT_partial) ||
-+ !((x & PGT_validated) || page_get_owner(page)->is_dying));
-+ else if ( !(x & PGT_partial) )
-+ return 0;
-+ else
-+ BUG_ON((x & PGT_count_mask) != 1);
-+
- ASSERT((x & PGT_count_mask) != 0);
-
- switch ( nx & (PGT_locked | PGT_count_mask) )
-@@ -3092,17 +3138,34 @@ int put_old_guest_table(struct vcpu *v)
- if ( !v->arch.old_guest_table )
- return 0;
-
-- switch ( rc = _put_page_type(v->arch.old_guest_table, PTF_preemptible,
-- v->arch.old_guest_ptpg) )
-+ rc = _put_page_type(v->arch.old_guest_table,
-+ PTF_preemptible |
-+ ( v->arch.old_guest_table_partial ?
-+ PTF_partial_set : 0 ),
-+ v->arch.old_guest_ptpg);
-+
-+ if ( rc == -ERESTART || rc == -EINTR )
- {
-- case -EINTR:
-- case -ERESTART:
-+ v->arch.old_guest_table_partial = (rc == -ERESTART);
- return -ERESTART;
-- case 0:
-- put_page(v->arch.old_guest_table);
- }
-
-+ /*
-+ * It shouldn't be possible for _put_page_type() to return
-+ * anything else at the moment; but if it does happen in
-+ * production, leaking the type ref is probably the best thing to
-+ * do. Either way, drop the general ref held by old_guest_table.
-+ */
-+ ASSERT(rc == 0);
-+
-+ put_page(v->arch.old_guest_table);
- v->arch.old_guest_table = NULL;
-+ v->arch.old_guest_ptpg = NULL;
-+ /*
-+ * Safest default if someone sets old_guest_table without
-+ * explicitly setting old_guest_table_partial.
-+ */
-+ v->arch.old_guest_table_partial = true;
-
- return rc;
- }
-@@ -3253,11 +3316,11 @@ int new_guest_cr3(mfn_t mfn)
- switch ( rc = put_page_and_type_preemptible(page) )
- {
- case -EINTR:
-- rc = -ERESTART;
-- /* fallthrough */
- case -ERESTART:
- curr->arch.old_guest_ptpg = NULL;
- curr->arch.old_guest_table = page;
-+ curr->arch.old_guest_table_partial = (rc == -ERESTART);
-+ rc = -ERESTART;
- break;
- default:
- BUG_ON(rc);
-@@ -3494,6 +3557,7 @@ long do_mmuext_op(
- {
- curr->arch.old_guest_ptpg = NULL;
- curr->arch.old_guest_table = page;
-+ curr->arch.old_guest_table_partial = false;
- }
- }
- }
-@@ -3528,6 +3592,11 @@ long do_mmuext_op(
- case -ERESTART:
- curr->arch.old_guest_ptpg = NULL;
- curr->arch.old_guest_table = page;
-+ /*
-+ * EINTR means we still hold the type ref; ERESTART
-+ * means PGT_partial holds the type ref
-+ */
-+ curr->arch.old_guest_table_partial = (rc == -ERESTART);
- rc = 0;
- break;
- default:
-@@ -3596,11 +3665,15 @@ long do_mmuext_op(
- switch ( rc = put_page_and_type_preemptible(page) )
- {
- case -EINTR:
-- rc = -ERESTART;
-- /* fallthrough */
- case -ERESTART:
- curr->arch.old_guest_ptpg = NULL;
- curr->arch.old_guest_table = page;
-+ /*
-+ * EINTR means we still hold the type ref;
-+ * ERESTART means PGT_partial holds the ref
-+ */
-+ curr->arch.old_guest_table_partial = (rc == -ERESTART);
-+ rc = -ERESTART;
- break;
- default:
- BUG_ON(rc);
-diff --git a/xen/include/asm-x86/domain.h b/xen/include/asm-x86/domain.h
-index 214e44ce1c..2cfce7b36b 100644
---- a/xen/include/asm-x86/domain.h
-+++ b/xen/include/asm-x86/domain.h
-@@ -307,7 +307,7 @@ struct arch_domain
-
- struct paging_domain paging;
- struct p2m_domain *p2m;
-- /* To enforce lock ordering in the pod code wrt the
-+ /* To enforce lock ordering in the pod code wrt the
- * page_alloc lock */
- int page_alloc_unlock_level;
-
-@@ -581,6 +581,8 @@ struct arch_vcpu
- struct page_info *old_guest_table; /* partially destructed pagetable */
- struct page_info *old_guest_ptpg; /* containing page table of the */
- /* former, if any */
-+ bool old_guest_table_partial; /* Are we dropping a type ref, or just
-+ * finishing up a partial de-validation? */
- /* guest_table holds a ref to the page, and also a type-count unless
- * shadow refcounts are in use */
- pagetable_t shadow_table[4]; /* (MFN) shadow(s) of guest */
---
-2.23.0
-
diff --git a/system/xen/xsa/xsa301-master-1.patch b/system/xen/xsa/xsa301-master-1.patch
deleted file mode 100644
index 54cce2ce28..0000000000
--- a/system/xen/xsa/xsa301-master-1.patch
+++ /dev/null
@@ -1,80 +0,0 @@
-From 19d6330f142cb941b6340a88592e8a294de0ff8c Mon Sep 17 00:00:00 2001
-From: Julien Grall <julien.grall@arm.com>
-Date: Tue, 15 Oct 2019 17:10:40 +0100
-Subject: [PATCH 1/3] xen/arm: p2m: Avoid aliasing guest physical frame
-
-The P2M helpers implementation is quite lax and will end up to ignore
-the unused top bits of a guest physical frame.
-
-This effectively means that p2m_set_entry() will create a mapping for a
-different frame (it is always equal to gfn & (mask unused bits)). Yet
-p2m->max_mapped_gfn will be updated using the original frame.
-
-At the moment, p2m_get_entry() and p2m_resolve_translation_fault()
-assume that p2m_get_root_pointer() will always return a non-NULL pointer
-when the GFN is smaller than p2m->max_mapped_gfn.
-
-Unfortunately, because of the aliasing described above, it would be
-possible to set p2m->max_mapped_gfn high enough so it covers frame that
-would lead p2m_get_root_pointer() to return NULL.
-
-As we don't sanity check the guest physical frame provided by a guest, a
-malicious guest could craft a series of hypercalls that will hit the
-BUG_ON() and therefore DoS Xen.
-
-To prevent aliasing, the function p2m_get_root_pointer() is now reworked
-to return NULL If any of the unused top bits are not zero. The caller
-can then decide what's the appropriate action to do. Since the two paths
-(i.e. P2M_ROOT_PAGES == 1 and P2M_ROOT_PAGES != 1) are now very
-similarly, take the opportunity to consolidate them making the code a
-bit simpler.
-
-With this change, p2m_get_entry() will not try to insert a mapping as
-the root pointer is invalid.
-
-Note that root_table is now switch to unsigned long as unsigned int is
-not enough to hold part of a GFN.
-
-This is part of XSA-301.
-
-Reported-by: Julien Grall <Julien.Grall@arm.com>
-Signed-off-by: Julien Grall <julien.grall@arm.com>
-Reviewed-by: Stefano Stabellini <sstabellini@kernel.org>
----
- xen/arch/arm/p2m.c | 17 +++++------------
- 1 file changed, 5 insertions(+), 12 deletions(-)
-
-diff --git a/xen/arch/arm/p2m.c b/xen/arch/arm/p2m.c
-index a2749d9b6f..d0045a8b28 100644
---- a/xen/arch/arm/p2m.c
-+++ b/xen/arch/arm/p2m.c
-@@ -229,21 +229,14 @@ void p2m_tlb_flush_sync(struct p2m_domain *p2m)
- static lpae_t *p2m_get_root_pointer(struct p2m_domain *p2m,
- gfn_t gfn)
- {
-- unsigned int root_table;
--
-- if ( P2M_ROOT_PAGES == 1 )
-- return __map_domain_page(p2m->root);
-+ unsigned long root_table;
-
- /*
-- * Concatenated root-level tables. The table number will be the
-- * offset at the previous level. It is not possible to
-- * concatenate a level-0 root.
-+ * While the root table index is the offset from the previous level,
-+ * we can't use (P2M_ROOT_LEVEL - 1) because the root level might be
-+ * 0. Yet we still want to check if all the unused bits are zeroed.
- */
-- ASSERT(P2M_ROOT_LEVEL > 0);
--
-- root_table = gfn_x(gfn) >> (level_orders[P2M_ROOT_LEVEL - 1]);
-- root_table &= LPAE_ENTRY_MASK;
--
-+ root_table = gfn_x(gfn) >> (level_orders[P2M_ROOT_LEVEL] + LPAE_SHIFT);
- if ( root_table >= P2M_ROOT_PAGES )
- return NULL;
-
---
-2.23.0
-
diff --git a/system/xen/xsa/xsa301-master-2.patch b/system/xen/xsa/xsa301-master-2.patch
deleted file mode 100644
index baedc9c297..0000000000
--- a/system/xen/xsa/xsa301-master-2.patch
+++ /dev/null
@@ -1,92 +0,0 @@
-From 3b896936f7505e929dd869d14afcb185d0ee75f8 Mon Sep 17 00:00:00 2001
-From: Julien Grall <julien.grall@arm.com>
-Date: Tue, 15 Oct 2019 17:10:41 +0100
-Subject: [PATCH 2/3] xen/arm: p2m: Avoid off-by-one check on
- p2m->max_mapped_gfn
-
-The code base is using inconsistently the field p2m->max_mapped_gfn.
-Some of the useres expect that p2m->max_guest_gfn contain the highest
-mapped GFN while others expect highest + 1.
-
-p2m->max_guest_gfn is set as highest + 1, because of that the sanity
-check on the GFN in p2m_resolved_translation_fault() and
-p2m_get_entry() can be bypassed when GFN == p2m->max_guest_gfn.
-
-p2m_get_root_pointer(p2m->max_guest_gfn) may return NULL if it is
-outside of address range supported and therefore the BUG_ON() could be
-hit.
-
-The current value hold in p2m->max_mapped_gfn is inconsistent with the
-expectation of the common code (see domain_get_maximum_gpfn()) and also
-the documentation of the field.
-
-Rather than changing the check in p2m_translation_fault() and
-p2m_get_entry(), p2m->max_mapped_gfn is now containing the highest
-mapped GFN and the callers assuming "highest + 1" are now adjusted.
-
-Take the opportunity to use 1UL rather than 1 as page_order could
-theoritically big enough to overflow a 32-bit integer.
-
-Lastly, the documentation of the field max_guest_gfn to reflect how it
-is computed.
-
-This is part of XSA-301.
-
-Reported-by: Julien Grall <Julien.Grall@arm.com>
-Signed-off-by: Julien Grall <julien.grall@arm.com>
-Reviewed-by: Stefano Stabellini <sstabellini@kernel.org>
----
- xen/arch/arm/p2m.c | 6 +++---
- xen/include/asm-arm/p2m.h | 5 +----
- 2 files changed, 4 insertions(+), 7 deletions(-)
-
-diff --git a/xen/arch/arm/p2m.c b/xen/arch/arm/p2m.c
-index d0045a8b28..8d20d27961 100644
---- a/xen/arch/arm/p2m.c
-+++ b/xen/arch/arm/p2m.c
-@@ -1041,7 +1041,7 @@ static int __p2m_set_entry(struct p2m_domain *p2m,
- p2m_write_pte(entry, pte, p2m->clean_pte);
-
- p2m->max_mapped_gfn = gfn_max(p2m->max_mapped_gfn,
-- gfn_add(sgfn, 1 << page_order));
-+ gfn_add(sgfn, (1UL << page_order) - 1));
- p2m->lowest_mapped_gfn = gfn_min(p2m->lowest_mapped_gfn, sgfn);
- }
-
-@@ -1572,7 +1572,7 @@ int relinquish_p2m_mapping(struct domain *d)
- p2m_write_lock(p2m);
-
- start = p2m->lowest_mapped_gfn;
-- end = p2m->max_mapped_gfn;
-+ end = gfn_add(p2m->max_mapped_gfn, 1);
-
- for ( ; gfn_x(start) < gfn_x(end);
- start = gfn_next_boundary(start, order) )
-@@ -1641,7 +1641,7 @@ int p2m_cache_flush_range(struct domain *d, gfn_t *pstart, gfn_t end)
- p2m_read_lock(p2m);
-
- start = gfn_max(start, p2m->lowest_mapped_gfn);
-- end = gfn_min(end, p2m->max_mapped_gfn);
-+ end = gfn_min(end, gfn_add(p2m->max_mapped_gfn, 1));
-
- next_block_gfn = start;
-
-diff --git a/xen/include/asm-arm/p2m.h b/xen/include/asm-arm/p2m.h
-index 89f82df380..5fdb6e8183 100644
---- a/xen/include/asm-arm/p2m.h
-+++ b/xen/include/asm-arm/p2m.h
-@@ -36,10 +36,7 @@ struct p2m_domain {
- /* Current Translation Table Base Register for the p2m */
- uint64_t vttbr;
-
-- /*
-- * Highest guest frame that's ever been mapped in the p2m
-- * Only takes into account ram and foreign mapping
-- */
-+ /* Highest guest frame that's ever been mapped in the p2m */
- gfn_t max_mapped_gfn;
-
- /*
---
-2.23.0
-
diff --git a/system/xen/xsa/xsa301-master-3.patch b/system/xen/xsa/xsa301-master-3.patch
deleted file mode 100644
index 9f137b89f6..0000000000
--- a/system/xen/xsa/xsa301-master-3.patch
+++ /dev/null
@@ -1,67 +0,0 @@
-From 060c2dd3b7c2674a019d94afb2b4ebf3663f6c6e Mon Sep 17 00:00:00 2001
-From: Julien Grall <julien.grall@arm.com>
-Date: Tue, 15 Oct 2019 17:10:42 +0100
-Subject: [PATCH 3/3] xen/arm: p2m: Don't check the return of
- p2m_get_root_pointer() with BUG_ON()
-
-It turns out that the BUG_ON() was actually reachable with well-crafted
-hypercalls. The BUG_ON() is here to prevent catch logical error, so
-crashing Xen is a bit over the top.
-
-While all the holes should now be fixed, it would be better to downgrade
-the BUG_ON() to something less fatal to prevent any more DoS.
-
-The BUG_ON() in p2m_get_entry() is now replaced by ASSERT_UNREACHABLE()
-to catch mistake in debug build and return INVALID_MFN for production
-build. The interface also requires to set page_order to give an idea of
-the size of "hole". So 'level' is now set so we report a hole of size of
-the an entry of the root page-table. This stays inline with what happen
-when the GFN is higher than p2m->max_mapped_gfn.
-
-The BUG_ON() in p2m_resolve_translation_fault() is now replaced by
-ASSERT_UNREACHABLE() to catch mistake in debug build and just report a
-fault for producion build.
-
-This is part of XSA-301.
-
-Reported-by: Julien Grall <Julien.Grall@arm.com>
-Signed-off-by: Julien Grall <julien.grall@arm.com>
-Reviewed-by: Stefano Stabellini <sstabellini@kernel.org>
----
- xen/arch/arm/p2m.c | 13 +++++++++++--
- 1 file changed, 11 insertions(+), 2 deletions(-)
-
-diff --git a/xen/arch/arm/p2m.c b/xen/arch/arm/p2m.c
-index 8d20d27961..ce59f2b503 100644
---- a/xen/arch/arm/p2m.c
-+++ b/xen/arch/arm/p2m.c
-@@ -395,7 +395,12 @@ mfn_t p2m_get_entry(struct p2m_domain *p2m, gfn_t gfn,
- * the table should always be non-NULL because the gfn is below
- * p2m->max_mapped_gfn and the root table pages are always present.
- */
-- BUG_ON(table == NULL);
-+ if ( !table )
-+ {
-+ ASSERT_UNREACHABLE();
-+ level = P2M_ROOT_LEVEL;
-+ goto out;
-+ }
-
- for ( level = P2M_ROOT_LEVEL; level < 3; level++ )
- {
-@@ -1196,7 +1201,11 @@ bool p2m_resolve_translation_fault(struct domain *d, gfn_t gfn)
- * The table should always be non-NULL because the gfn is below
- * p2m->max_mapped_gfn and the root table pages are always present.
- */
-- BUG_ON(table == NULL);
-+ if ( !table )
-+ {
-+ ASSERT_UNREACHABLE();
-+ goto out;
-+ }
-
- /*
- * Go down the page-tables until an entry has the valid bit unset or
---
-2.23.0
-
diff --git a/system/xen/xsa/xsa302-4.12-0001-IOMMU-add-missing-HVM-check.patch b/system/xen/xsa/xsa302-4.12-0001-IOMMU-add-missing-HVM-check.patch
deleted file mode 100644
index 5d52163406..0000000000
--- a/system/xen/xsa/xsa302-4.12-0001-IOMMU-add-missing-HVM-check.patch
+++ /dev/null
@@ -1,37 +0,0 @@
-From 0c9c0fbb356e3210cb77b3d738be50981b26058a Mon Sep 17 00:00:00 2001
-From: Jan Beulich <jbeulich@suse.com>
-Date: Wed, 2 Oct 2019 13:36:59 +0200
-Subject: [PATCH 1/2] IOMMU: add missing HVM check
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-Fix an unguarded d->arch.hvm access in assign_device().
-
-Signed-off-by: Jan Beulich <jbeulich@suse.com>
-Reviewed-by: Roger Pau Monné <roger.pau@citrix.com>
-Acked-by: Andrew Cooper <andrew.cooper3@citrix.com>
-
-(cherry picked from commit 41fd1009cd7416b73d745a77c24b4e8d1a296fe6)
-Signed-off-by: Ian Jackson <ian.jackson@eu.citrix.com>
----
- xen/drivers/passthrough/pci.c | 3 ++-
- 1 file changed, 2 insertions(+), 1 deletion(-)
-
-diff --git a/xen/drivers/passthrough/pci.c b/xen/drivers/passthrough/pci.c
-index 8108ed5f9a..d7420bd8bf 100644
---- a/xen/drivers/passthrough/pci.c
-+++ b/xen/drivers/passthrough/pci.c
-@@ -1452,7 +1452,8 @@ static int assign_device(struct domain *d, u16 seg, u8 bus, u8 devfn, u32 flag)
-
- /* Prevent device assign if mem paging or mem sharing have been
- * enabled for this domain */
-- if ( unlikely(d->arch.hvm.mem_sharing_enabled ||
-+ if ( unlikely((is_hvm_domain(d) &&
-+ d->arch.hvm.mem_sharing_enabled) ||
- vm_event_check_ring(d->vm_event_paging) ||
- p2m_get_hostp2m(d)->global_logdirty) )
- return -EXDEV;
---
-2.11.0
-
diff --git a/system/xen/xsa/xsa302-4.12-0002-passthrough-quarantine-PCI-devices.patch b/system/xen/xsa/xsa302-4.12-0002-passthrough-quarantine-PCI-devices.patch
deleted file mode 100644
index 181ece3bb7..0000000000
--- a/system/xen/xsa/xsa302-4.12-0002-passthrough-quarantine-PCI-devices.patch
+++ /dev/null
@@ -1,499 +0,0 @@
-From 278d8e585a9f110a1af0bd92a9fc43733c9c7227 Mon Sep 17 00:00:00 2001
-From: Paul Durrant <paul.durrant@citrix.com>
-Date: Mon, 14 Oct 2019 17:52:59 +0100
-Subject: [PATCH 2/2] passthrough: quarantine PCI devices
-
-When a PCI device is assigned to an untrusted domain, it is possible for
-that domain to program the device to DMA to an arbitrary address. The
-IOMMU is used to protect the host from malicious DMA by making sure that
-the device addresses can only target memory assigned to the guest. However,
-when the guest domain is torn down the device is assigned back to dom0,
-thus allowing any in-flight DMA to potentially target critical host data.
-
-This patch introduces a 'quarantine' for PCI devices using dom_io. When
-the toolstack makes a device assignable (by binding it to pciback), it
-will now also assign it to DOMID_IO and the device will only be assigned
-back to dom0 when the device is made unassignable again. Whilst device is
-assignable it will only ever transfer between dom_io and guest domains.
-dom_io is actually only used as a sentinel domain for quarantining purposes;
-it is not configured with any IOMMU mappings. Assignment to dom_io simply
-means that the device's initiator (requestor) identifier is not present in
-the IOMMU's device table and thus any DMA transactions issued will be
-terminated with a fault condition.
-
-In addition, a fix to assignment handling is made for VT-d. Failure
-during the assignment step should not lead to a device still being
-associated with its prior owner. Hand the device to DomIO temporarily,
-until the assignment step has completed successfully. Remove the PI
-hooks from the source domain then earlier as well.
-
-Failure of the recovery reassign_device_ownership() may not go silent:
-There e.g. may still be left over RMRR mappings in the domain assignment
-to which has failed, and hence we can't allow that domain to continue
-executing.
-
-NOTE: This patch also includes one printk() cleanup; the
- "XEN_DOMCTL_assign_device: " tag is dropped in iommu_do_pci_domctl(),
- since similar printk()-s elsewhere also don't log such a tag.
-
-This is XSA-302.
-
-Signed-off-by: Paul Durrant <paul.durrant@citrix.com>
-Signed-off-by: Jan Beulich <jbeulich@suse.com>
-Signed-off-by: Ian Jackson <ian.jackson@eu.citrix.com>
-(cherry picked from commit ec99857f59f7f06236f11ca8b0b2303e5e745cc4)
----
- tools/libxl/libxl_pci.c | 25 +++++++++++-
- xen/arch/x86/mm.c | 2 +
- xen/common/domctl.c | 14 ++++++-
- xen/drivers/passthrough/amd/pci_amd_iommu.c | 10 ++++-
- xen/drivers/passthrough/iommu.c | 9 +++++
- xen/drivers/passthrough/pci.c | 59 ++++++++++++++++++++++-------
- xen/drivers/passthrough/vtd/iommu.c | 40 ++++++++++++++++---
- xen/include/xen/pci.h | 3 ++
- 8 files changed, 138 insertions(+), 24 deletions(-)
-
-diff --git a/tools/libxl/libxl_pci.c b/tools/libxl/libxl_pci.c
-index 88c324ea23..d6a23fb5f8 100644
---- a/tools/libxl/libxl_pci.c
-+++ b/tools/libxl/libxl_pci.c
-@@ -754,6 +754,7 @@ static int libxl__device_pci_assignable_add(libxl__gc *gc,
- libxl_device_pci *pcidev,
- int rebind)
- {
-+ libxl_ctx *ctx = libxl__gc_owner(gc);
- unsigned dom, bus, dev, func;
- char *spath, *driver_path = NULL;
- int rc;
-@@ -779,7 +780,7 @@ static int libxl__device_pci_assignable_add(libxl__gc *gc,
- }
- if ( rc ) {
- LOG(WARN, PCI_BDF" already assigned to pciback", dom, bus, dev, func);
-- return 0;
-+ goto quarantine;
- }
-
- /* Check to see if there's already a driver that we need to unbind from */
-@@ -810,6 +811,19 @@ static int libxl__device_pci_assignable_add(libxl__gc *gc,
- return ERROR_FAIL;
- }
-
-+quarantine:
-+ /*
-+ * DOMID_IO is just a sentinel domain, without any actual mappings,
-+ * so always pass XEN_DOMCTL_DEV_RDM_RELAXED to avoid assignment being
-+ * unnecessarily denied.
-+ */
-+ rc = xc_assign_device(ctx->xch, DOMID_IO, pcidev_encode_bdf(pcidev),
-+ XEN_DOMCTL_DEV_RDM_RELAXED);
-+ if ( rc < 0 ) {
-+ LOG(ERROR, "failed to quarantine "PCI_BDF, dom, bus, dev, func);
-+ return ERROR_FAIL;
-+ }
-+
- return 0;
- }
-
-@@ -817,9 +831,18 @@ static int libxl__device_pci_assignable_remove(libxl__gc *gc,
- libxl_device_pci *pcidev,
- int rebind)
- {
-+ libxl_ctx *ctx = libxl__gc_owner(gc);
- int rc;
- char *driver_path;
-
-+ /* De-quarantine */
-+ rc = xc_deassign_device(ctx->xch, DOMID_IO, pcidev_encode_bdf(pcidev));
-+ if ( rc < 0 ) {
-+ LOG(ERROR, "failed to de-quarantine "PCI_BDF, pcidev->domain, pcidev->bus,
-+ pcidev->dev, pcidev->func);
-+ return ERROR_FAIL;
-+ }
-+
- /* Unbind from pciback */
- if ( (rc=pciback_dev_is_assigned(gc, pcidev)) < 0 ) {
- return ERROR_FAIL;
-diff --git a/xen/arch/x86/mm.c b/xen/arch/x86/mm.c
-index 3557cd1178..11d753d8d2 100644
---- a/xen/arch/x86/mm.c
-+++ b/xen/arch/x86/mm.c
-@@ -295,9 +295,11 @@ void __init arch_init_memory(void)
- * Initialise our DOMID_IO domain.
- * This domain owns I/O pages that are within the range of the page_info
- * array. Mappings occur at the priv of the caller.
-+ * Quarantined PCI devices will be associated with this domain.
- */
- dom_io = domain_create(DOMID_IO, NULL, false);
- BUG_ON(IS_ERR(dom_io));
-+ INIT_LIST_HEAD(&dom_io->arch.pdev_list);
-
- /*
- * Initialise our COW domain.
-diff --git a/xen/common/domctl.c b/xen/common/domctl.c
-index d08b6274e2..e3c4be2b48 100644
---- a/xen/common/domctl.c
-+++ b/xen/common/domctl.c
-@@ -391,6 +391,16 @@ long do_domctl(XEN_GUEST_HANDLE_PARAM(xen_domctl_t) u_domctl)
-
- switch ( op->cmd )
- {
-+ case XEN_DOMCTL_assign_device:
-+ case XEN_DOMCTL_deassign_device:
-+ if ( op->domain == DOMID_IO )
-+ {
-+ d = dom_io;
-+ break;
-+ }
-+ else if ( op->domain == DOMID_INVALID )
-+ return -ESRCH;
-+ /* fall through */
- case XEN_DOMCTL_test_assign_device:
- if ( op->domain == DOMID_INVALID )
- {
-@@ -412,7 +422,7 @@ long do_domctl(XEN_GUEST_HANDLE_PARAM(xen_domctl_t) u_domctl)
-
- if ( !domctl_lock_acquire() )
- {
-- if ( d )
-+ if ( d && d != dom_io )
- rcu_unlock_domain(d);
- return hypercall_create_continuation(
- __HYPERVISOR_domctl, "h", u_domctl);
-@@ -1074,7 +1084,7 @@ long do_domctl(XEN_GUEST_HANDLE_PARAM(xen_domctl_t) u_domctl)
- domctl_lock_release();
-
- domctl_out_unlock_domonly:
-- if ( d )
-+ if ( d && d != dom_io )
- rcu_unlock_domain(d);
-
- if ( copyback && __copy_to_guest(u_domctl, op, 1) )
-diff --git a/xen/drivers/passthrough/amd/pci_amd_iommu.c b/xen/drivers/passthrough/amd/pci_amd_iommu.c
-index 33a3798f36..15c13e1163 100644
---- a/xen/drivers/passthrough/amd/pci_amd_iommu.c
-+++ b/xen/drivers/passthrough/amd/pci_amd_iommu.c
-@@ -120,6 +120,10 @@ static void amd_iommu_setup_domain_device(
- u8 bus = pdev->bus;
- const struct domain_iommu *hd = dom_iommu(domain);
-
-+ /* dom_io is used as a sentinel for quarantined devices */
-+ if ( domain == dom_io )
-+ return;
-+
- BUG_ON( !hd->arch.root_table || !hd->arch.paging_mode ||
- !iommu->dev_table.buffer );
-
-@@ -277,6 +281,10 @@ void amd_iommu_disable_domain_device(struct domain *domain,
- int req_id;
- u8 bus = pdev->bus;
-
-+ /* dom_io is used as a sentinel for quarantined devices */
-+ if ( domain == dom_io )
-+ return;
-+
- BUG_ON ( iommu->dev_table.buffer == NULL );
- req_id = get_dma_requestor_id(iommu->seg, PCI_BDF2(bus, devfn));
- dte = iommu->dev_table.buffer + (req_id * IOMMU_DEV_TABLE_ENTRY_SIZE);
-@@ -363,7 +371,7 @@ static int amd_iommu_assign_device(struct domain *d, u8 devfn,
- ivrs_mappings[req_id].read_permission);
- }
-
-- return reassign_device(hardware_domain, d, devfn, pdev);
-+ return reassign_device(pdev->domain, d, devfn, pdev);
- }
-
- static void deallocate_next_page_table(struct page_info *pg, int level)
-diff --git a/xen/drivers/passthrough/iommu.c b/xen/drivers/passthrough/iommu.c
-index a6697d58fb..2762e1342f 100644
---- a/xen/drivers/passthrough/iommu.c
-+++ b/xen/drivers/passthrough/iommu.c
-@@ -232,6 +232,9 @@ void iommu_teardown(struct domain *d)
- {
- struct domain_iommu *hd = dom_iommu(d);
-
-+ if ( d == dom_io )
-+ return;
-+
- hd->status = IOMMU_STATUS_disabled;
- hd->platform_ops->teardown(d);
- tasklet_schedule(&iommu_pt_cleanup_tasklet);
-@@ -241,6 +244,9 @@ int iommu_construct(struct domain *d)
- {
- struct domain_iommu *hd = dom_iommu(d);
-
-+ if ( d == dom_io )
-+ return 0;
-+
- if ( hd->status == IOMMU_STATUS_initialized )
- return 0;
-
-@@ -521,6 +527,9 @@ int __init iommu_setup(void)
- printk("I/O virtualisation %sabled\n", iommu_enabled ? "en" : "dis");
- if ( iommu_enabled )
- {
-+ if ( iommu_domain_init(dom_io) )
-+ panic("Could not set up quarantine\n");
-+
- printk(" - Dom0 mode: %s\n",
- iommu_hwdom_passthrough ? "Passthrough" :
- iommu_hwdom_strict ? "Strict" : "Relaxed");
-diff --git a/xen/drivers/passthrough/pci.c b/xen/drivers/passthrough/pci.c
-index d7420bd8bf..d66a8a1daf 100644
---- a/xen/drivers/passthrough/pci.c
-+++ b/xen/drivers/passthrough/pci.c
-@@ -1426,19 +1426,29 @@ static int iommu_remove_device(struct pci_dev *pdev)
- return hd->platform_ops->remove_device(pdev->devfn, pci_to_dev(pdev));
- }
-
--/*
-- * If the device isn't owned by the hardware domain, it means it already
-- * has been assigned to other domain, or it doesn't exist.
-- */
- static int device_assigned(u16 seg, u8 bus, u8 devfn)
- {
- struct pci_dev *pdev;
-+ int rc = 0;
-
- pcidevs_lock();
-- pdev = pci_get_pdev_by_domain(hardware_domain, seg, bus, devfn);
-+
-+ pdev = pci_get_pdev(seg, bus, devfn);
-+
-+ if ( !pdev )
-+ rc = -ENODEV;
-+ /*
-+ * If the device exists and it is not owned by either the hardware
-+ * domain or dom_io then it must be assigned to a guest, or be
-+ * hidden (owned by dom_xen).
-+ */
-+ else if ( pdev->domain != hardware_domain &&
-+ pdev->domain != dom_io )
-+ rc = -EBUSY;
-+
- pcidevs_unlock();
-
-- return pdev ? 0 : -EBUSY;
-+ return rc;
- }
-
- static int assign_device(struct domain *d, u16 seg, u8 bus, u8 devfn, u32 flag)
-@@ -1452,7 +1462,8 @@ static int assign_device(struct domain *d, u16 seg, u8 bus, u8 devfn, u32 flag)
-
- /* Prevent device assign if mem paging or mem sharing have been
- * enabled for this domain */
-- if ( unlikely((is_hvm_domain(d) &&
-+ if ( d != dom_io &&
-+ unlikely((is_hvm_domain(d) &&
- d->arch.hvm.mem_sharing_enabled) ||
- vm_event_check_ring(d->vm_event_paging) ||
- p2m_get_hostp2m(d)->global_logdirty) )
-@@ -1468,12 +1479,20 @@ static int assign_device(struct domain *d, u16 seg, u8 bus, u8 devfn, u32 flag)
- return rc;
- }
-
-- pdev = pci_get_pdev_by_domain(hardware_domain, seg, bus, devfn);
-+ pdev = pci_get_pdev(seg, bus, devfn);
-+
-+ rc = -ENODEV;
- if ( !pdev )
-- {
-- rc = pci_get_pdev(seg, bus, devfn) ? -EBUSY : -ENODEV;
- goto done;
-- }
-+
-+ rc = 0;
-+ if ( d == pdev->domain )
-+ goto done;
-+
-+ rc = -EBUSY;
-+ if ( pdev->domain != hardware_domain &&
-+ pdev->domain != dom_io )
-+ goto done;
-
- if ( pdev->msix )
- msixtbl_init(d);
-@@ -1496,6 +1515,10 @@ static int assign_device(struct domain *d, u16 seg, u8 bus, u8 devfn, u32 flag)
- }
-
- done:
-+ /* The device is assigned to dom_io so mark it as quarantined */
-+ if ( !rc && d == dom_io )
-+ pdev->quarantine = true;
-+
- if ( !has_arch_pdevs(d) && has_iommu_pt(d) )
- iommu_teardown(d);
- pcidevs_unlock();
-@@ -1508,6 +1531,7 @@ int deassign_device(struct domain *d, u16 seg, u8 bus, u8 devfn)
- {
- const struct domain_iommu *hd = dom_iommu(d);
- struct pci_dev *pdev = NULL;
-+ struct domain *target;
- int ret = 0;
-
- if ( !iommu_enabled || !hd->platform_ops )
-@@ -1518,12 +1542,16 @@ int deassign_device(struct domain *d, u16 seg, u8 bus, u8 devfn)
- if ( !pdev )
- return -ENODEV;
-
-+ /* De-assignment from dom_io should de-quarantine the device */
-+ target = (pdev->quarantine && pdev->domain != dom_io) ?
-+ dom_io : hardware_domain;
-+
- while ( pdev->phantom_stride )
- {
- devfn += pdev->phantom_stride;
- if ( PCI_SLOT(devfn) != PCI_SLOT(pdev->devfn) )
- break;
-- ret = hd->platform_ops->reassign_device(d, hardware_domain, devfn,
-+ ret = hd->platform_ops->reassign_device(d, target, devfn,
- pci_to_dev(pdev));
- if ( !ret )
- continue;
-@@ -1534,7 +1562,7 @@ int deassign_device(struct domain *d, u16 seg, u8 bus, u8 devfn)
- }
-
- devfn = pdev->devfn;
-- ret = hd->platform_ops->reassign_device(d, hardware_domain, devfn,
-+ ret = hd->platform_ops->reassign_device(d, target, devfn,
- pci_to_dev(pdev));
- if ( ret )
- {
-@@ -1544,6 +1572,9 @@ int deassign_device(struct domain *d, u16 seg, u8 bus, u8 devfn)
- return ret;
- }
-
-+ if ( pdev->domain == hardware_domain )
-+ pdev->quarantine = false;
-+
- pdev->fault.count = 0;
-
- if ( !has_arch_pdevs(d) && has_iommu_pt(d) )
-@@ -1722,7 +1753,7 @@ int iommu_do_pci_domctl(
- ret = hypercall_create_continuation(__HYPERVISOR_domctl,
- "h", u_domctl);
- else if ( ret )
-- printk(XENLOG_G_ERR "XEN_DOMCTL_assign_device: "
-+ printk(XENLOG_G_ERR
- "assign %04x:%02x:%02x.%u to dom%d failed (%d)\n",
- seg, bus, PCI_SLOT(devfn), PCI_FUNC(devfn),
- d->domain_id, ret);
-diff --git a/xen/drivers/passthrough/vtd/iommu.c b/xen/drivers/passthrough/vtd/iommu.c
-index 1db1cd9f2d..a8d1baa064 100644
---- a/xen/drivers/passthrough/vtd/iommu.c
-+++ b/xen/drivers/passthrough/vtd/iommu.c
-@@ -1338,6 +1338,10 @@ int domain_context_mapping_one(
- int agaw, rc, ret;
- bool_t flush_dev_iotlb;
-
-+ /* dom_io is used as a sentinel for quarantined devices */
-+ if ( domain == dom_io )
-+ return 0;
-+
- ASSERT(pcidevs_locked());
- spin_lock(&iommu->lock);
- maddr = bus_to_context_maddr(iommu, bus);
-@@ -1573,6 +1577,10 @@ int domain_context_unmap_one(
- int iommu_domid, rc, ret;
- bool_t flush_dev_iotlb;
-
-+ /* dom_io is used as a sentinel for quarantined devices */
-+ if ( domain == dom_io )
-+ return 0;
-+
- ASSERT(pcidevs_locked());
- spin_lock(&iommu->lock);
-
-@@ -1705,6 +1713,10 @@ static int domain_context_unmap(struct domain *domain, u8 devfn,
- goto out;
- }
-
-+ /* dom_io is used as a sentinel for quarantined devices */
-+ if ( domain == dom_io )
-+ goto out;
-+
- /*
- * if no other devices under the same iommu owned by this domain,
- * clear iommu in iommu_bitmap and clear domain_id in domid_bitmp
-@@ -2441,6 +2453,15 @@ static int reassign_device_ownership(
- if ( ret )
- return ret;
-
-+ if ( devfn == pdev->devfn )
-+ {
-+ list_move(&pdev->domain_list, &dom_io->arch.pdev_list);
-+ pdev->domain = dom_io;
-+ }
-+
-+ if ( !has_arch_pdevs(source) )
-+ vmx_pi_hooks_deassign(source);
-+
- if ( !has_arch_pdevs(target) )
- vmx_pi_hooks_assign(target);
-
-@@ -2459,15 +2480,13 @@ static int reassign_device_ownership(
- pdev->domain = target;
- }
-
-- if ( !has_arch_pdevs(source) )
-- vmx_pi_hooks_deassign(source);
--
- return ret;
- }
-
- static int intel_iommu_assign_device(
- struct domain *d, u8 devfn, struct pci_dev *pdev, u32 flag)
- {
-+ struct domain *s = pdev->domain;
- struct acpi_rmrr_unit *rmrr;
- int ret = 0, i;
- u16 bdf, seg;
-@@ -2510,8 +2529,8 @@ static int intel_iommu_assign_device(
- }
- }
-
-- ret = reassign_device_ownership(hardware_domain, d, devfn, pdev);
-- if ( ret )
-+ ret = reassign_device_ownership(s, d, devfn, pdev);
-+ if ( ret || d == dom_io )
- return ret;
-
- /* Setup rmrr identity mapping */
-@@ -2524,11 +2543,20 @@ static int intel_iommu_assign_device(
- ret = rmrr_identity_mapping(d, 1, rmrr, flag);
- if ( ret )
- {
-- reassign_device_ownership(d, hardware_domain, devfn, pdev);
-+ int rc;
-+
-+ rc = reassign_device_ownership(d, s, devfn, pdev);
- printk(XENLOG_G_ERR VTDPREFIX
- " cannot map reserved region (%"PRIx64",%"PRIx64"] for Dom%d (%d)\n",
- rmrr->base_address, rmrr->end_address,
- d->domain_id, ret);
-+ if ( rc )
-+ {
-+ printk(XENLOG_ERR VTDPREFIX
-+ " failed to reclaim %04x:%02x:%02x.%u from %pd (%d)\n",
-+ seg, bus, PCI_SLOT(devfn), PCI_FUNC(devfn), d, rc);
-+ domain_crash(d);
-+ }
- break;
- }
- }
-diff --git a/xen/include/xen/pci.h b/xen/include/xen/pci.h
-index 8b21e8dc84..a031fd6020 100644
---- a/xen/include/xen/pci.h
-+++ b/xen/include/xen/pci.h
-@@ -88,6 +88,9 @@ struct pci_dev {
-
- nodeid_t node; /* NUMA node */
-
-+ /* Device to be quarantined, don't automatically re-assign to dom0 */
-+ bool quarantine;
-+
- /* Device with errata, ignore the BARs. */
- bool ignore_bars;
-
---
-2.11.0
-
diff --git a/system/xen/xsa/xsa303-0001-xen-arm32-entry-Split-__DEFINE_ENTRY_TRAP-in-two.patch b/system/xen/xsa/xsa303-0001-xen-arm32-entry-Split-__DEFINE_ENTRY_TRAP-in-two.patch
deleted file mode 100644
index afb1096c1d..0000000000
--- a/system/xen/xsa/xsa303-0001-xen-arm32-entry-Split-__DEFINE_ENTRY_TRAP-in-two.patch
+++ /dev/null
@@ -1,74 +0,0 @@
-From c8cb33fa64c9ccbfa2a494a9dad2e0a763c09176 Mon Sep 17 00:00:00 2001
-From: Julien Grall <julien.grall@arm.com>
-Date: Tue, 1 Oct 2019 13:07:53 +0100
-Subject: [PATCH 1/4] xen/arm32: entry: Split __DEFINE_ENTRY_TRAP in two
-
-The preprocessing macro __DEFINE_ENTRY_TRAP is used to generate trap
-entry function. While the macro is fairly small today, follow-up patches
-will increase the size signicantly.
-
-In general, assembly macros are more readable as they allow you to name
-parameters and avoid '\'. So the actual implementation of the trap is
-now switched to an assembly macro.
-
-This is part of XSA-303.
-
-Reported-by: Julien Grall <Julien.Grall@arm.com>
-Signed-off-by: Julien Grall <julien.grall@arm.com>
-Reviewed-by: Stefano Stabellini <sstabellini@kernel.org>
-Reviewed-by: Andre Przywara <andre.przywara@arm.com>
----
- xen/arch/arm/arm32/entry.S | 34 +++++++++++++++++++---------------
- 1 file changed, 19 insertions(+), 15 deletions(-)
-
-diff --git a/xen/arch/arm/arm32/entry.S b/xen/arch/arm/arm32/entry.S
-index 0b4cd19abd..4a762e04f1 100644
---- a/xen/arch/arm/arm32/entry.S
-+++ b/xen/arch/arm/arm32/entry.S
-@@ -126,24 +126,28 @@ abort_guest_exit_end:
- skip_check:
- mov pc, lr
-
--/*
-- * Macro to define trap entry. The iflags corresponds to the list of
-- * interrupts (Asynchronous Abort, IRQ, FIQ) to unmask.
-- */
-+ /*
-+ * Macro to define trap entry. The iflags corresponds to the list of
-+ * interrupts (Asynchronous Abort, IRQ, FIQ) to unmask.
-+ */
-+ .macro vector trap, iflags
-+ SAVE_ALL
-+ cpsie \iflags
-+ adr lr, return_from_trap
-+ mov r0, sp
-+ /*
-+ * Save the stack pointer in r11. It will be restored after the
-+ * trap has been handled (see return_from_trap).
-+ */
-+ mov r11, sp
-+ bic sp, #7 /* Align the stack pointer (noop on guest trap) */
-+ b do_trap_\trap
-+ .endm
-+
- #define __DEFINE_TRAP_ENTRY(trap, iflags) \
- ALIGN; \
- trap_##trap: \
-- SAVE_ALL; \
-- cpsie iflags; \
-- adr lr, return_from_trap; \
-- mov r0, sp; \
-- /* \
-- * Save the stack pointer in r11. It will be restored after the \
-- * trap has been handled (see return_from_trap). \
-- */ \
-- mov r11, sp; \
-- bic sp, #7; /* Align the stack pointer (noop on guest trap) */ \
-- b do_trap_##trap
-+ vector trap, iflags
-
- /* Trap handler which unmask IRQ/Abort, keep FIQ masked */
- #define DEFINE_TRAP_ENTRY(trap) __DEFINE_TRAP_ENTRY(trap, ai)
---
-2.11.0
-
diff --git a/system/xen/xsa/xsa303-0002-xen-arm32-entry-Fold-the-macro-SAVE_ALL-in-the-macro.patch b/system/xen/xsa/xsa303-0002-xen-arm32-entry-Fold-the-macro-SAVE_ALL-in-the-macro.patch
deleted file mode 100644
index 35f9c0475e..0000000000
--- a/system/xen/xsa/xsa303-0002-xen-arm32-entry-Fold-the-macro-SAVE_ALL-in-the-macro.patch
+++ /dev/null
@@ -1,97 +0,0 @@
-From be7379207c83fa74f8a6c22a8ea213f02714776f Mon Sep 17 00:00:00 2001
-From: Julien Grall <julien.grall@arm.com>
-Date: Tue, 1 Oct 2019 13:15:48 +0100
-Subject: [PATCH 2/4] xen/arm32: entry: Fold the macro SAVE_ALL in the macro
- vector
-
-Follow-up rework will require the macro vector to distinguish between
-a trap from a guest vs while in the hypervisor.
-
-The macro SAVE_ALL already has code to distinguish between the two and
-it is only called by the vector macro. So fold the former into the
-latter. This will help to avoid duplicating the check.
-
-This is part of XSA-303.
-
-Reported-by: Julien Grall <Julien.Grall@arm.com>
-Signed-off-by: Julien Grall <julien.grall@arm.com>
-Reviewed-by: Stefano Stabellini <sstabellini@kernel.org>
-Reviewed-by: Andre Przywara <andre.przywara@arm.com>
----
- xen/arch/arm/arm32/entry.S | 46 +++++++++++++++++++++++-----------------------
- 1 file changed, 23 insertions(+), 23 deletions(-)
-
-diff --git a/xen/arch/arm/arm32/entry.S b/xen/arch/arm/arm32/entry.S
-index 4a762e04f1..150cbc0b4b 100644
---- a/xen/arch/arm/arm32/entry.S
-+++ b/xen/arch/arm/arm32/entry.S
-@@ -13,27 +13,6 @@
- #define RESTORE_BANKED(mode) \
- RESTORE_ONE_BANKED(SP_##mode) ; RESTORE_ONE_BANKED(LR_##mode) ; RESTORE_ONE_BANKED(SPSR_##mode)
-
--#define SAVE_ALL \
-- sub sp, #(UREGS_SP_usr - UREGS_sp); /* SP, LR, SPSR, PC */ \
-- push {r0-r12}; /* Save R0-R12 */ \
-- \
-- mrs r11, ELR_hyp; /* ELR_hyp is return address. */\
-- str r11, [sp, #UREGS_pc]; \
-- \
-- str lr, [sp, #UREGS_lr]; \
-- \
-- add r11, sp, #UREGS_kernel_sizeof+4; \
-- str r11, [sp, #UREGS_sp]; \
-- \
-- mrc CP32(r11, HSR); /* Save exception syndrome */ \
-- str r11, [sp, #UREGS_hsr]; \
-- \
-- mrs r11, SPSR_hyp; \
-- str r11, [sp, #UREGS_cpsr]; \
-- and r11, #PSR_MODE_MASK; \
-- cmp r11, #PSR_MODE_HYP; \
-- blne save_guest_regs
--
- save_guest_regs:
- #ifdef CONFIG_ARM32_HARDEN_BRANCH_PREDICTOR
- /*
-@@ -52,7 +31,7 @@ save_guest_regs:
- ldr r11, =0xffffffff /* Clobber SP which is only valid for hypervisor frames. */
- str r11, [sp, #UREGS_sp]
- SAVE_ONE_BANKED(SP_usr)
-- /* LR_usr is the same physical register as lr and is saved in SAVE_ALL */
-+ /* LR_usr is the same physical register as lr and is saved by the caller */
- SAVE_BANKED(svc)
- SAVE_BANKED(abt)
- SAVE_BANKED(und)
-@@ -131,7 +110,28 @@ skip_check:
- * interrupts (Asynchronous Abort, IRQ, FIQ) to unmask.
- */
- .macro vector trap, iflags
-- SAVE_ALL
-+ /* Save registers in the stack */
-+ sub sp, #(UREGS_SP_usr - UREGS_sp) /* SP, LR, SPSR, PC */
-+ push {r0-r12} /* Save R0-R12 */
-+ mrs r11, ELR_hyp /* ELR_hyp is return address */
-+ str r11, [sp, #UREGS_pc]
-+
-+ str lr, [sp, #UREGS_lr]
-+
-+ add r11, sp, #(UREGS_kernel_sizeof + 4)
-+
-+ str r11, [sp, #UREGS_sp]
-+
-+ mrc CP32(r11, HSR) /* Save exception syndrome */
-+ str r11, [sp, #UREGS_hsr]
-+
-+ mrs r11, SPSR_hyp
-+ str r11, [sp, #UREGS_cpsr]
-+ and r11, #PSR_MODE_MASK
-+ cmp r11, #PSR_MODE_HYP
-+ blne save_guest_regs
-+
-+ /* We are ready to handle the trap, setup the registers and jump. */
- cpsie \iflags
- adr lr, return_from_trap
- mov r0, sp
---
-2.11.0
-
diff --git a/system/xen/xsa/xsa303-0003-xen-arm32-Don-t-blindly-unmask-interrupts-on-trap-wi.patch b/system/xen/xsa/xsa303-0003-xen-arm32-Don-t-blindly-unmask-interrupts-on-trap-wi.patch
deleted file mode 100644
index 5168452148..0000000000
--- a/system/xen/xsa/xsa303-0003-xen-arm32-Don-t-blindly-unmask-interrupts-on-trap-wi.patch
+++ /dev/null
@@ -1,226 +0,0 @@
-From 098fe877967870ffda2dfd9629a5fd272f6aacdc Mon Sep 17 00:00:00 2001
-From: Julien Grall <julien.grall@arm.com>
-Date: Fri, 11 Oct 2019 17:49:28 +0100
-Subject: [PATCH 3/4] xen/arm32: Don't blindly unmask interrupts on trap
- without a change of level
-
-Exception vectors will unmask interrupts regardless the state of them in
-the interrupted context.
-
-One of the consequences is IRQ will be unmasked when receiving an
-undefined instruction exception (used by WARN*) from the hypervisor.
-This could result to unexpected behavior such as deadlock (if a lock was
-shared with interrupts).
-
-In a nutshell, interrupts should only be unmasked when it is safe to do.
-Xen only unmask IRQ and Abort interrupts, so the logic can stay simple.
-
-As vectors exceptions may be shared between guest and hypervisor, we now
-need to have a different policy for the interrupts.
-
-On exception from hypervisor, each vector will select the list of
-interrupts to inherit from the interrupted context. Any interrupts not
-listed will be kept masked.
-
-On exception from the guest, the Abort and IRQ will be unmasked
-depending on the exact vector.
-
-The interrupts will be kept unmasked when the vector cannot used by
-either guest or hypervisor.
-
-Note that each vector is not anymore preceded by ALIGN. This is fine
-because the alignment is already bigger than what we need.
-
-This is part of XSA-303.
-
-Reported-by: Julien Grall <Julien.Grall@arm.com>
-Signed-off-by: Julien Grall <julien.grall@arm.com>
-Reviewed-by: Stefano Stabellini <sstabellini@kernel.org>
-Reviewed-by: Andre Przywara <andre.przywara@arm.com>
----
- xen/arch/arm/arm32/entry.S | 138 +++++++++++++++++++++++++++++++++++----------
- 1 file changed, 109 insertions(+), 29 deletions(-)
-
-diff --git a/xen/arch/arm/arm32/entry.S b/xen/arch/arm/arm32/entry.S
-index 150cbc0b4b..ec90cca093 100644
---- a/xen/arch/arm/arm32/entry.S
-+++ b/xen/arch/arm/arm32/entry.S
-@@ -4,6 +4,17 @@
- #include <asm/alternative.h>
- #include <public/xen.h>
-
-+/*
-+ * Short-hands to defined the interrupts (A, I, F)
-+ *
-+ * _ means the interrupt state will not change
-+ * X means the state of interrupt X will change
-+ *
-+ * To be used with msr cpsr_* only
-+ */
-+#define IFLAGS_AIF PSR_ABT_MASK | PSR_IRQ_MASK | PSR_FIQ_MASK
-+#define IFLAGS_A_F PSR_ABT_MASK | PSR_FIQ_MASK
-+
- #define SAVE_ONE_BANKED(reg) mrs r11, reg; str r11, [sp, #UREGS_##reg]
- #define RESTORE_ONE_BANKED(reg) ldr r11, [sp, #UREGS_##reg]; msr reg, r11
-
-@@ -106,10 +117,18 @@ skip_check:
- mov pc, lr
-
- /*
-- * Macro to define trap entry. The iflags corresponds to the list of
-- * interrupts (Asynchronous Abort, IRQ, FIQ) to unmask.
-+ * Macro to define a trap entry.
-+ *
-+ * @guest_iflags: Optional list of interrupts to unmask when
-+ * entering from guest context. As this is used with cpsie,
-+ * the letter (a, i, f) should be used.
-+ *
-+ * @hyp_iflags: Optional list of interrupts to inherit when
-+ * entering from hypervisor context. Any interrupts not
-+ * listed will be kept unchanged. As this is used with cpsr_*,
-+ * IFLAGS_* short-hands should be used.
- */
-- .macro vector trap, iflags
-+ .macro vector trap, guest_iflags=n, hyp_iflags=0
- /* Save registers in the stack */
- sub sp, #(UREGS_SP_usr - UREGS_sp) /* SP, LR, SPSR, PC */
- push {r0-r12} /* Save R0-R12 */
-@@ -127,12 +146,39 @@ skip_check:
-
- mrs r11, SPSR_hyp
- str r11, [sp, #UREGS_cpsr]
-- and r11, #PSR_MODE_MASK
-- cmp r11, #PSR_MODE_HYP
-- blne save_guest_regs
-
-+ /*
-+ * We need to distinguish whether we came from guest or
-+ * hypervisor context.
-+ */
-+ and r0, r11, #PSR_MODE_MASK
-+ cmp r0, #PSR_MODE_HYP
-+
-+ bne 1f
-+ /*
-+ * Trap from the hypervisor
-+ *
-+ * Inherit the state of the interrupts from the hypervisor
-+ * context. For that we need to use SPSR (stored in r11) and
-+ * modify CPSR accordingly.
-+ *
-+ * CPSR = (CPSR & ~hyp_iflags) | (SPSR & hyp_iflags)
-+ */
-+ mrs r10, cpsr
-+ bic r10, r10, #\hyp_iflags
-+ and r11, r11, #\hyp_iflags
-+ orr r10, r10, r11
-+ msr cpsr_cx, r10
-+ b 2f
-+
-+1:
-+ /* Trap from the guest */
-+ bl save_guest_regs
-+ .if \guest_iflags != n
-+ cpsie \guest_iflags
-+ .endif
-+2:
- /* We are ready to handle the trap, setup the registers and jump. */
-- cpsie \iflags
- adr lr, return_from_trap
- mov r0, sp
- /*
-@@ -144,20 +190,6 @@ skip_check:
- b do_trap_\trap
- .endm
-
--#define __DEFINE_TRAP_ENTRY(trap, iflags) \
-- ALIGN; \
--trap_##trap: \
-- vector trap, iflags
--
--/* Trap handler which unmask IRQ/Abort, keep FIQ masked */
--#define DEFINE_TRAP_ENTRY(trap) __DEFINE_TRAP_ENTRY(trap, ai)
--
--/* Trap handler which unmask Abort, keep IRQ/FIQ masked */
--#define DEFINE_TRAP_ENTRY_NOIRQ(trap) __DEFINE_TRAP_ENTRY(trap, a)
--
--/* Trap handler which unmask IRQ, keep Abort/FIQ masked */
--#define DEFINE_TRAP_ENTRY_NOABORT(trap) __DEFINE_TRAP_ENTRY(trap, i)
--
- .align 5
- GLOBAL(hyp_traps_vector)
- b trap_reset /* 0x00 - Reset */
-@@ -228,14 +260,62 @@ decode_vectors:
-
- #endif /* CONFIG_HARDEN_BRANCH_PREDICTOR */
-
--DEFINE_TRAP_ENTRY(reset)
--DEFINE_TRAP_ENTRY(undefined_instruction)
--DEFINE_TRAP_ENTRY(hypervisor_call)
--DEFINE_TRAP_ENTRY(prefetch_abort)
--DEFINE_TRAP_ENTRY(guest_sync)
--DEFINE_TRAP_ENTRY_NOIRQ(irq)
--DEFINE_TRAP_ENTRY_NOIRQ(fiq)
--DEFINE_TRAP_ENTRY_NOABORT(data_abort)
-+/* Vector not used by the Hypervisor. */
-+trap_reset:
-+ vector reset
-+
-+/*
-+ * Vector only used by the Hypervisor.
-+ *
-+ * While the exception can be executed with all the interrupts (e.g.
-+ * IRQ) unmasked, the interrupted context may have purposefully masked
-+ * some of them. So we want to inherit the state from the interrupted
-+ * context.
-+ */
-+trap_undefined_instruction:
-+ vector undefined_instruction, hyp_iflags=IFLAGS_AIF
-+
-+/* We should never reach this trap */
-+trap_hypervisor_call:
-+ vector hypervisor_call
-+
-+/*
-+ * Vector only used by the hypervisor.
-+ *
-+ * While the exception can be executed with all the interrupts (e.g.
-+ * IRQ) unmasked, the interrupted context may have purposefully masked
-+ * some of them. So we want to inherit the state from the interrupted
-+ * context.
-+ */
-+trap_prefetch_abort:
-+ vector prefetch_abort, hyp_iflags=IFLAGS_AIF
-+
-+/*
-+ * Vector only used by the hypervisor.
-+ *
-+ * Data Abort should be rare and most likely fatal. It is best to not
-+ * unmask any interrupts to limit the amount of code that can run before
-+ * the Data Abort is treated.
-+ */
-+trap_data_abort:
-+ vector data_abort
-+
-+/* Vector only used by the guest. We can unmask Abort/IRQ. */
-+trap_guest_sync:
-+ vector guest_sync, guest_iflags=ai
-+
-+
-+/* Vector used by the hypervisor and the guest. */
-+trap_irq:
-+ vector irq, guest_iflags=a, hyp_iflags=IFLAGS_A_F
-+
-+/*
-+ * Vector used by the hypervisor and the guest.
-+ *
-+ * FIQ are not meant to happen, so we don't unmask any interrupts.
-+ */
-+trap_fiq:
-+ vector fiq
-
- return_from_trap:
- /*
---
-2.11.0
-
diff --git a/system/xen/xsa/xsa303-0004-xen-arm64-Don-t-blindly-unmask-interrupts-on-trap-wi.patch b/system/xen/xsa/xsa303-0004-xen-arm64-Don-t-blindly-unmask-interrupts-on-trap-wi.patch
deleted file mode 100644
index 106cbf98f1..0000000000
--- a/system/xen/xsa/xsa303-0004-xen-arm64-Don-t-blindly-unmask-interrupts-on-trap-wi.patch
+++ /dev/null
@@ -1,114 +0,0 @@
-From c6d290ce157a044dec417fdda8db71e41a37d744 Mon Sep 17 00:00:00 2001
-From: Julien Grall <julien.grall@arm.com>
-Date: Mon, 7 Oct 2019 18:10:56 +0100
-Subject: [PATCH 4/4] xen/arm64: Don't blindly unmask interrupts on trap
- without a change of level
-
-Some of the traps without a change of the level (i.e. hypervisor ->
-hypervisor) will unmask interrupts regardless the state of them in the
-interrupted context.
-
-One of the consequences is IRQ will be unmasked when receiving a
-synchronous exception (used by WARN*()). This could result to unexpected
-behavior such as deadlock (if a lock was shared with interrupts).
-
-In a nutshell, interrupts should only be unmasked when it is safe to
-do. Xen only unmask IRQ and Abort interrupts, so the logic can stay
-simple:
- - hyp_error: All the interrupts are now kept masked. SError should
- be pretty rare and if ever happen then we most likely want to
- avoid any other interrupts to be generated. The potential main
- "caller" is during virtual SError synchronization on the exit
- path from the guest (see check_pending_vserror).
-
- - hyp_sync: The interrupts state is inherited from the interrupted
- context.
-
- - hyp_irq: All the interrupts but IRQ state are inherited from the
- interrupted context. IRQ is kept masked.
-
-This is part of XSA-303.
-
-Reported-by: Julien Grall <Julien.Grall@arm.com>
-Signed-off-by: Julien Grall <julien.grall@arm.com>
-Reviewed-by: Stefano Stabellini <sstabellini@kernel.org>
-Reviewed-by: Andre Przywara <andre.przywara@arm.com>
----
- xen/arch/arm/arm64/entry.S | 47 ++++++++++++++++++++++++++++++++++++++++++----
- 1 file changed, 43 insertions(+), 4 deletions(-)
-
-diff --git a/xen/arch/arm/arm64/entry.S b/xen/arch/arm/arm64/entry.S
-index 2d9a2713a1..3e41ba65b6 100644
---- a/xen/arch/arm/arm64/entry.S
-+++ b/xen/arch/arm/arm64/entry.S
-@@ -188,24 +188,63 @@ hyp_error_invalid:
- entry hyp=1
- invalid BAD_ERROR
-
-+/*
-+ * SError received while running in the hypervisor mode.
-+ *
-+ * Technically, we could unmask the IRQ if it were unmasked in the
-+ * interrupted context. However, this require to check the PSTATE. For
-+ * simplicity, as SError should be rare and potentially fatal,
-+ * all interrupts are kept masked.
-+ */
- hyp_error:
- entry hyp=1
-- msr daifclr, #2
- mov x0, sp
- bl do_trap_hyp_serror
- exit hyp=1
-
--/* Traps taken in Current EL with SP_ELx */
-+/*
-+ * Synchronous exception received while running in the hypervisor mode.
-+ *
-+ * While the exception could be executed with all the interrupts (e.g.
-+ * IRQ) unmasked, the interrupted context may have purposefully masked
-+ * some of them. So we want to inherit the state from the interrupted
-+ * context.
-+ */
- hyp_sync:
- entry hyp=1
-- msr daifclr, #6
-+
-+ /* Inherit interrupts */
-+ mrs x0, SPSR_el2
-+ and x0, x0, #(PSR_DBG_MASK | PSR_ABT_MASK | PSR_IRQ_MASK | PSR_FIQ_MASK)
-+ msr daif, x0
-+
- mov x0, sp
- bl do_trap_hyp_sync
- exit hyp=1
-
-+/*
-+ * IRQ received while running in the hypervisor mode.
-+ *
-+ * While the exception could be executed with all the interrupts but IRQ
-+ * unmasked, the interrupted context may have purposefully masked some
-+ * of them. So we want to inherit the state from the interrupt context
-+ * and keep IRQ masked.
-+ *
-+ * XXX: We may want to consider an ordering between interrupts (e.g. if
-+ * SError are masked, then IRQ should be masked too). However, this
-+ * would require some rework in some paths (e.g. panic, livepatch) to
-+ * ensure the ordering is enforced everywhere.
-+ */
- hyp_irq:
- entry hyp=1
-- msr daifclr, #4
-+
-+ /* Inherit D, A, F interrupts and keep I masked */
-+ mrs x0, SPSR_el2
-+ mov x1, #(PSR_DBG_MASK | PSR_ABT_MASK | PSR_FIQ_MASK)
-+ and x0, x0, x1
-+ orr x0, x0, #PSR_IRQ_MASK
-+ msr daif, x0
-+
- mov x0, sp
- bl do_trap_irq
- exit hyp=1
---
-2.11.0
-
diff --git a/system/xen/xsa/xsa304-4.12-1.patch b/system/xen/xsa/xsa304-4.12-1.patch
deleted file mode 100644
index c2ed2c2ced..0000000000
--- a/system/xen/xsa/xsa304-4.12-1.patch
+++ /dev/null
@@ -1,71 +0,0 @@
-From: Andrew Cooper <andrew.cooper3@citrix.com>
-Subject: x86/vtd: Hide superpage support for SandyBridge IOMMUs
-
-Something causes SandyBridge IOMMUs to choke when sharing EPT pagetables, and
-an EPT superpage gets shattered. The root cause is still under investigation,
-but the end result is unusable in combination with CVE-2018-12207 protections.
-
-This is part of XSA-304 / CVE-2018-12207
-
-Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
-Reviewed-by: Jan Beulich <jbeulich@suse.com>
-
-diff --git a/xen/drivers/passthrough/vtd/extern.h b/xen/drivers/passthrough/vtd/extern.h
-index 16eada9fa2..a71c8b0f84 100644
---- a/xen/drivers/passthrough/vtd/extern.h
-+++ b/xen/drivers/passthrough/vtd/extern.h
-@@ -97,6 +97,8 @@ void vtd_ops_postamble_quirk(struct iommu* iommu);
- int __must_check me_wifi_quirk(struct domain *domain,
- u8 bus, u8 devfn, int map);
- void pci_vtd_quirk(const struct pci_dev *);
-+void quirk_iommu_caps(struct iommu *iommu);
-+
- bool_t platform_supports_intremap(void);
- bool_t platform_supports_x2apic(void);
-
-diff --git a/xen/drivers/passthrough/vtd/iommu.c b/xen/drivers/passthrough/vtd/iommu.c
-index b3664ecbe0..5d34f75306 100644
---- a/xen/drivers/passthrough/vtd/iommu.c
-+++ b/xen/drivers/passthrough/vtd/iommu.c
-@@ -1215,6 +1215,8 @@ int __init iommu_alloc(struct acpi_drhd_unit *drhd)
- if ( !(iommu->cap + 1) || !(iommu->ecap + 1) )
- return -ENODEV;
-
-+ quirk_iommu_caps(iommu);
-+
- if ( cap_fault_reg_offset(iommu->cap) +
- cap_num_fault_regs(iommu->cap) * PRIMARY_FAULT_REG_LEN >= PAGE_SIZE ||
- ecap_iotlb_offset(iommu->ecap) >= PAGE_SIZE )
-diff --git a/xen/drivers/passthrough/vtd/quirks.c b/xen/drivers/passthrough/vtd/quirks.c
-index d6db862678..b02688e316 100644
---- a/xen/drivers/passthrough/vtd/quirks.c
-+++ b/xen/drivers/passthrough/vtd/quirks.c
-@@ -540,3 +540,28 @@ void pci_vtd_quirk(const struct pci_dev *pdev)
- break;
- }
- }
-+
-+void __init quirk_iommu_caps(struct iommu *iommu)
-+{
-+ /*
-+ * IOMMU Quirks:
-+ *
-+ * SandyBridge IOMMUs claim support for 2M and 1G superpages, but don't
-+ * implement superpages internally.
-+ *
-+ * There are issues changing the walk length under in-flight DMA, which
-+ * has manifested as incompatibility between EPT/IOMMU sharing and the
-+ * workaround for CVE-2018-12207 / XSA-304. Hide the superpages
-+ * capabilities in the IOMMU, which will prevent Xen from sharing the EPT
-+ * and IOMMU pagetables.
-+ *
-+ * Detection of SandyBridge unfortunately has to be done by processor
-+ * model because the client parts don't expose their IOMMUs as PCI devices
-+ * we could match with a Device ID.
-+ */
-+ if ( boot_cpu_data.x86_vendor == X86_VENDOR_INTEL &&
-+ boot_cpu_data.x86 == 6 &&
-+ (boot_cpu_data.x86_model == 0x2a ||
-+ boot_cpu_data.x86_model == 0x2d) )
-+ iommu->cap &= ~(0xful << 34);
-+}
diff --git a/system/xen/xsa/xsa304-4.12-2.patch b/system/xen/xsa/xsa304-4.12-2.patch
deleted file mode 100644
index 66d4301838..0000000000
--- a/system/xen/xsa/xsa304-4.12-2.patch
+++ /dev/null
@@ -1,272 +0,0 @@
-From: Andrew Cooper <andrew.cooper3@citrix.com>
-Subject: x86/vtx: Disable executable EPT superpages to work around
- CVE-2018-12207
-
-CVE-2018-12207 covers a set of errata on various Intel processors, whereby a
-machine check exception can be generated in a corner case when an executable
-mapping changes size or cacheability without TLB invalidation. HVM guest
-kernels can trigger this to DoS the host.
-
-To mitigate, in affected hardware, all EPT superpages are marked NX. When an
-instruction fetch violation is observed against the superpage, the superpage
-is shattered to 4k and has execute permissions restored. This prevents the
-guest kernel from being able to create the necessary preconditions in the iTLB
-to exploit the vulnerability.
-
-This does come with a workload-dependent performance overhead, caused by
-increased TLB pressure. Performance can be restored, if guest kernels are
-trusted not to mount an attack, by specifying ept=exec-sp on the command line.
-
-This is part of XSA-304 / CVE-2018-12207
-
-Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
-Acked-by: George Dunlap <george.dunlap@citrix.com>
-Reviewed-by: Jan Beulich <jbeulich@suse.com>
-
-diff --git a/docs/misc/xen-command-line.pandoc b/docs/misc/xen-command-line.pandoc
-index 85081fdc94..e283017015 100644
---- a/docs/misc/xen-command-line.pandoc
-+++ b/docs/misc/xen-command-line.pandoc
-@@ -895,7 +895,7 @@ Controls for interacting with the system Extended Firmware Interface.
- uncacheable.
-
- ### ept
--> `= List of [ ad=<bool>, pml=<bool> ]`
-+> `= List of [ ad=<bool>, pml=<bool>, exec-sp=<bool> ]`
-
- > Applicability: Intel
-
-@@ -926,6 +926,16 @@ introduced with the Nehalem architecture.
- disable PML. `pml=0` can be used to prevent the use of PML on otherwise
- capable hardware.
-
-+* The `exec-sp` boolean controls whether EPT superpages with execute
-+ permissions are permitted. In general this is good for performance.
-+
-+ However, on processors vulnerable CVE-2018-12207, HVM guest kernels can
-+ use executable superpages to crash the host. By default, executable
-+ superpages are disabled on affected hardware.
-+
-+ If HVM guest kernels are trusted not to mount a DoS against the system,
-+ this option can enabled to regain performance.
-+
- ### extra_guest_irqs
- > `= [<domU number>][,<dom0 number>]`
-
-diff --git a/xen/arch/x86/hvm/hvm.c b/xen/arch/x86/hvm/hvm.c
-index 2089a77270..84191d4e4b 100644
---- a/xen/arch/x86/hvm/hvm.c
-+++ b/xen/arch/x86/hvm/hvm.c
-@@ -1814,6 +1814,24 @@ int hvm_hap_nested_page_fault(paddr_t gpa, unsigned long gla,
- break;
- }
-
-+ /*
-+ * Workaround for XSA-304 / CVE-2018-12207. If we take an execution
-+ * fault against a non-executable superpage, shatter it to regain
-+ * execute permissions.
-+ */
-+ if ( page_order > 0 && npfec.insn_fetch && npfec.present && !violation )
-+ {
-+ int res = p2m_set_entry(p2m, _gfn(gfn), mfn, PAGE_ORDER_4K,
-+ p2mt, p2ma);
-+
-+ if ( res )
-+ printk(XENLOG_ERR "Failed to shatter gfn %"PRI_gfn": %d\n",
-+ gfn, res);
-+
-+ rc = !res;
-+ goto out_put_gfn;
-+ }
-+
- if ( violation )
- {
- /* Should #VE be emulated for this fault? */
-diff --git a/xen/arch/x86/hvm/vmx/vmcs.c b/xen/arch/x86/hvm/vmx/vmcs.c
-index 56519fee84..ec5ab860ad 100644
---- a/xen/arch/x86/hvm/vmx/vmcs.c
-+++ b/xen/arch/x86/hvm/vmx/vmcs.c
-@@ -67,6 +67,7 @@ integer_param("ple_window", ple_window);
-
- static bool __read_mostly opt_ept_pml = true;
- static s8 __read_mostly opt_ept_ad = -1;
-+int8_t __read_mostly opt_ept_exec_sp = -1;
-
- static int __init parse_ept_param(const char *s)
- {
-@@ -82,6 +83,8 @@ static int __init parse_ept_param(const char *s)
- opt_ept_ad = val;
- else if ( (val = parse_boolean("pml", s, ss)) >= 0 )
- opt_ept_pml = val;
-+ else if ( (val = parse_boolean("exec-sp", s, ss)) >= 0 )
-+ opt_ept_exec_sp = val;
- else
- rc = -EINVAL;
-
-diff --git a/xen/arch/x86/hvm/vmx/vmx.c b/xen/arch/x86/hvm/vmx/vmx.c
-index 26b7ddb5fe..28cba8ec28 100644
---- a/xen/arch/x86/hvm/vmx/vmx.c
-+++ b/xen/arch/x86/hvm/vmx/vmx.c
-@@ -2445,6 +2445,102 @@ static void pi_notification_interrupt(struct cpu_user_regs *regs)
- static void __init lbr_tsx_fixup_check(void);
- static void __init bdw_erratum_bdf14_fixup_check(void);
-
-+/*
-+ * Calculate whether the CPU is vulnerable to Instruction Fetch page
-+ * size-change MCEs.
-+ */
-+static bool __init has_if_pschange_mc(void)
-+{
-+ uint64_t caps = 0;
-+
-+ /*
-+ * If we are virtualised, there is nothing we can do. Our EPT tables are
-+ * shadowed by our hypervisor, and not walked by hardware.
-+ */
-+ if ( cpu_has_hypervisor )
-+ return false;
-+
-+ if ( boot_cpu_has(X86_FEATURE_ARCH_CAPS) )
-+ rdmsrl(MSR_ARCH_CAPABILITIES, caps);
-+
-+ if ( caps & ARCH_CAPS_IF_PSCHANGE_MC_NO )
-+ return false;
-+
-+ /*
-+ * IF_PSCHANGE_MC is only known to affect Intel Family 6 processors at
-+ * this time.
-+ */
-+ if ( boot_cpu_data.x86_vendor != X86_VENDOR_INTEL ||
-+ boot_cpu_data.x86 != 6 )
-+ return false;
-+
-+ switch ( boot_cpu_data.x86_model )
-+ {
-+ /*
-+ * Core processors since at least Nehalem are vulnerable.
-+ */
-+ case 0x1f: /* Auburndale / Havendale */
-+ case 0x1e: /* Nehalem */
-+ case 0x1a: /* Nehalem EP */
-+ case 0x2e: /* Nehalem EX */
-+ case 0x25: /* Westmere */
-+ case 0x2c: /* Westmere EP */
-+ case 0x2f: /* Westmere EX */
-+ case 0x2a: /* SandyBridge */
-+ case 0x2d: /* SandyBridge EP/EX */
-+ case 0x3a: /* IvyBridge */
-+ case 0x3e: /* IvyBridge EP/EX */
-+ case 0x3c: /* Haswell */
-+ case 0x3f: /* Haswell EX/EP */
-+ case 0x45: /* Haswell D */
-+ case 0x46: /* Haswell H */
-+ case 0x3d: /* Broadwell */
-+ case 0x47: /* Broadwell H */
-+ case 0x4f: /* Broadwell EP/EX */
-+ case 0x56: /* Broadwell D */
-+ case 0x4e: /* Skylake M */
-+ case 0x5e: /* Skylake D */
-+ case 0x55: /* Skylake-X / Cascade Lake */
-+ case 0x8e: /* Kaby / Coffee / Whiskey Lake M */
-+ case 0x9e: /* Kaby / Coffee / Whiskey Lake D */
-+ return true;
-+
-+ /*
-+ * Atom processors are not vulnerable.
-+ */
-+ case 0x1c: /* Pineview */
-+ case 0x26: /* Lincroft */
-+ case 0x27: /* Penwell */
-+ case 0x35: /* Cloverview */
-+ case 0x36: /* Cedarview */
-+ case 0x37: /* Baytrail / Valleyview (Silvermont) */
-+ case 0x4d: /* Avaton / Rangely (Silvermont) */
-+ case 0x4c: /* Cherrytrail / Brasswell */
-+ case 0x4a: /* Merrifield */
-+ case 0x5a: /* Moorefield */
-+ case 0x5c: /* Goldmont */
-+ case 0x5d: /* SoFIA 3G Granite/ES2.1 */
-+ case 0x65: /* SoFIA LTE AOSP */
-+ case 0x5f: /* Denverton */
-+ case 0x6e: /* Cougar Mountain */
-+ case 0x75: /* Lightning Mountain */
-+ case 0x7a: /* Gemini Lake */
-+ case 0x86: /* Jacobsville */
-+
-+ /*
-+ * Knights processors are not vulnerable.
-+ */
-+ case 0x57: /* Knights Landing */
-+ case 0x85: /* Knights Mill */
-+ return false;
-+
-+ default:
-+ printk("Unrecognised CPU model %#x - assuming vulnerable to IF_PSCHANGE_MC\n",
-+ boot_cpu_data.x86_model);
-+ return true;
-+ }
-+}
-+
- const struct hvm_function_table * __init start_vmx(void)
- {
- set_in_cr4(X86_CR4_VMXE);
-@@ -2465,6 +2561,17 @@ const struct hvm_function_table * __init start_vmx(void)
- */
- if ( cpu_has_vmx_ept && (cpu_has_vmx_pat || opt_force_ept) )
- {
-+ bool cpu_has_bug_pschange_mc = has_if_pschange_mc();
-+
-+ if ( opt_ept_exec_sp == -1 )
-+ {
-+ /* Default to non-executable superpages on vulnerable hardware. */
-+ opt_ept_exec_sp = !cpu_has_bug_pschange_mc;
-+
-+ if ( cpu_has_bug_pschange_mc )
-+ printk("VMX: Disabling executable EPT superpages due to CVE-2018-12207\n");
-+ }
-+
- vmx_function_table.hap_supported = 1;
- vmx_function_table.altp2m_supported = 1;
-
-diff --git a/xen/arch/x86/mm/p2m-ept.c b/xen/arch/x86/mm/p2m-ept.c
-index 952ebad82f..834d4798c8 100644
---- a/xen/arch/x86/mm/p2m-ept.c
-+++ b/xen/arch/x86/mm/p2m-ept.c
-@@ -174,6 +174,12 @@ static void ept_p2m_type_to_flags(struct p2m_domain *p2m, ept_entry_t *entry,
- break;
- }
-
-+ /*
-+ * Don't create executable superpages if we need to shatter them to
-+ * protect against CVE-2018-12207.
-+ */
-+ if ( !opt_ept_exec_sp && is_epte_superpage(entry) )
-+ entry->x = 0;
- }
-
- #define GUEST_TABLE_MAP_FAILED 0
-diff --git a/xen/include/asm-x86/hvm/vmx/vmx.h b/xen/include/asm-x86/hvm/vmx/vmx.h
-index ebaa74449b..371b912887 100644
---- a/xen/include/asm-x86/hvm/vmx/vmx.h
-+++ b/xen/include/asm-x86/hvm/vmx/vmx.h
-@@ -28,6 +28,8 @@
- #include <asm/hvm/trace.h>
- #include <asm/hvm/vmx/vmcs.h>
-
-+extern int8_t opt_ept_exec_sp;
-+
- typedef union {
- struct {
- u64 r : 1, /* bit 0 - Read permission */
-diff --git a/xen/include/asm-x86/msr-index.h b/xen/include/asm-x86/msr-index.h
-index 637259bd1f..32746aa8ae 100644
---- a/xen/include/asm-x86/msr-index.h
-+++ b/xen/include/asm-x86/msr-index.h
-@@ -52,6 +52,7 @@
- #define ARCH_CAPS_SKIP_L1DFL (_AC(1, ULL) << 3)
- #define ARCH_CAPS_SSB_NO (_AC(1, ULL) << 4)
- #define ARCH_CAPS_MDS_NO (_AC(1, ULL) << 5)
-+#define ARCH_CAPS_IF_PSCHANGE_MC_NO (_AC(1, ULL) << 6)
-
- #define MSR_FLUSH_CMD 0x0000010b
- #define FLUSH_CMD_L1D (_AC(1, ULL) << 0)
diff --git a/system/xen/xsa/xsa304-4.12-3.patch b/system/xen/xsa/xsa304-4.12-3.patch
deleted file mode 100644
index 04b4c454f2..0000000000
--- a/system/xen/xsa/xsa304-4.12-3.patch
+++ /dev/null
@@ -1,108 +0,0 @@
-From: Andrew Cooper <andrew.cooper3@citrix.com>
-Subject: x86/vtx: Allow runtime modification of the exec-sp setting
-
-See patch for details.
-
-Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
-Reviewed-by: Jan Beulich <jbeulich@suse.com>
-Reviewed-by: George Dunlap <george.dunlap@citrix.com>
-
-diff --git a/docs/misc/xen-command-line.pandoc b/docs/misc/xen-command-line.pandoc
-index e283017015..84221fe60a 100644
---- a/docs/misc/xen-command-line.pandoc
-+++ b/docs/misc/xen-command-line.pandoc
-@@ -936,6 +936,21 @@ introduced with the Nehalem architecture.
- If HVM guest kernels are trusted not to mount a DoS against the system,
- this option can enabled to regain performance.
-
-+ This boolean may be modified at runtime using `xl set-parameters
-+ ept=[no-]exec-sp` to switch between fast and secure.
-+
-+ * When switching from secure to fast, preexisting HVM domains will run
-+ at their current performance until they are rebooted; new domains will
-+ run without any overhead.
-+
-+ * When switching from fast to secure, all HVM domains will immediately
-+ suffer a performance penalty.
-+
-+ **Warning: No guarantee is made that this runtime option will be retained
-+ indefinitely, or that it will retain this exact behaviour. It is
-+ intended as an emergency option for people who first chose fast, then
-+ change their minds to secure, and wish not to reboot.**
-+
- ### extra_guest_irqs
- > `= [<domU number>][,<dom0 number>]`
-
-diff --git a/xen/arch/x86/hvm/vmx/vmcs.c b/xen/arch/x86/hvm/vmx/vmcs.c
-index ec5ab860ad..c4d8a5ba78 100644
---- a/xen/arch/x86/hvm/vmx/vmcs.c
-+++ b/xen/arch/x86/hvm/vmx/vmcs.c
-@@ -95,6 +95,41 @@ static int __init parse_ept_param(const char *s)
- }
- custom_param("ept", parse_ept_param);
-
-+static int parse_ept_param_runtime(const char *s)
-+{
-+ int val;
-+
-+ if ( !cpu_has_vmx_ept || !hvm_funcs.hap_supported ||
-+ !(hvm_funcs.hap_capabilities &
-+ (HVM_HAP_SUPERPAGE_2MB | HVM_HAP_SUPERPAGE_1GB)) )
-+ {
-+ printk("VMX: EPT not available, or not in use - ignoring\n");
-+ return 0;
-+ }
-+
-+ if ( (val = parse_boolean("exec-sp", s, NULL)) < 0 )
-+ return -EINVAL;
-+
-+ if ( val != opt_ept_exec_sp )
-+ {
-+ struct domain *d;
-+
-+ opt_ept_exec_sp = val;
-+
-+ rcu_read_lock(&domlist_read_lock);
-+ for_each_domain ( d )
-+ if ( paging_mode_hap(d) )
-+ p2m_change_entry_type_global(d, p2m_ram_rw, p2m_ram_rw);
-+ rcu_read_unlock(&domlist_read_lock);
-+ }
-+
-+ printk("VMX: EPT executable superpages %sabled\n",
-+ val ? "en" : "dis");
-+
-+ return 0;
-+}
-+custom_runtime_only_param("ept", parse_ept_param_runtime);
-+
- /* Dynamic (run-time adjusted) execution control flags. */
- u32 vmx_pin_based_exec_control __read_mostly;
- u32 vmx_cpu_based_exec_control __read_mostly;
-diff --git a/xen/arch/x86/mm/p2m.c b/xen/arch/x86/mm/p2m.c
-index f518f86493..16608098b1 100644
---- a/xen/arch/x86/mm/p2m.c
-+++ b/xen/arch/x86/mm/p2m.c
-@@ -289,15 +289,20 @@ static void change_entry_type_global(struct p2m_domain *p2m,
- p2m_type_t ot, p2m_type_t nt)
- {
- p2m->change_entry_type_global(p2m, ot, nt);
-- p2m->global_logdirty = (nt == p2m_ram_logdirty);
-+ /* Don't allow 'recalculate' operations to change the logdirty state. */
-+ if ( ot != nt )
-+ p2m->global_logdirty = (nt == p2m_ram_logdirty);
- }
-
-+/*
-+ * May be called with ot = nt = p2m_ram_rw for its side effect of
-+ * recalculating all PTEs in the p2m.
-+ */
- void p2m_change_entry_type_global(struct domain *d,
- p2m_type_t ot, p2m_type_t nt)
- {
- struct p2m_domain *hostp2m = p2m_get_hostp2m(d);
-
-- ASSERT(ot != nt);
- ASSERT(p2m_is_changeable(ot) && p2m_is_changeable(nt));
-
- p2m_lock(hostp2m);
diff --git a/system/xen/xsa/xsa305-4.12-1.patch b/system/xen/xsa/xsa305-4.12-1.patch
deleted file mode 100644
index e1a91a5264..0000000000
--- a/system/xen/xsa/xsa305-4.12-1.patch
+++ /dev/null
@@ -1,288 +0,0 @@
-From: Andrew Cooper <andrew.cooper3@citrix.com>
-Subject: x86/tsx: Introduce tsx= to use MSR_TSX_CTRL when available
-
-To protect against the TSX Async Abort speculative vulnerability, Intel have
-released new microcode for affected parts which introduce the MSR_TSX_CTRL
-control, which allows TSX to be turned off. This will be architectural on
-future parts.
-
-Introduce tsx= to provide a global on/off for TSX, including its enumeration
-via CPUID. Provide stub virtualisation of this MSR, as it is not exposed to
-guests at the moment.
-
-VMs may have booted before microcode is loaded, or before hosts have rebooted,
-and they still want to migrate freely. A VM which booted seeing TSX can
-migrate safely to hosts with TSX disabled - TSX will start unconditionally
-aborting, but still behave in a manner compatible with the ABI.
-
-The guest-visible behaviour is equivalent to late loading the microcode and
-setting the RTM_DISABLE bit in the course of live patching.
-
-This is part of XSA-305 / CVE-2019-11135
-
-Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
-Reviewed-by: Jan Beulich <jbeulich@suse.com>
-
-diff --git a/docs/misc/xen-command-line.pandoc b/docs/misc/xen-command-line.pandoc
-index e283017015..b7e1bf8e8b 100644
---- a/docs/misc/xen-command-line.pandoc
-+++ b/docs/misc/xen-command-line.pandoc
-@@ -2033,6 +2033,20 @@ Xen version.
- ### tsc (x86)
- > `= unstable | skewed | stable:socket`
-
-+### tsx
-+ = <bool>
-+
-+ Applicability: x86
-+ Default: true
-+
-+Controls for the use of Transactional Synchronization eXtensions.
-+
-+On Intel parts released in Q3 2019 (with updated microcode), and future parts,
-+a control has been introduced which allows TSX to be turned off.
-+
-+On systems with the ability to turn TSX off, this boolean offers system wide
-+control of whether TSX is enabled or disabled.
-+
- ### ucode (x86)
- > `= [<integer> | scan]`
-
-diff --git a/xen/arch/x86/Makefile b/xen/arch/x86/Makefile
-index 8a8d8f060f..9b9a4435fb 100644
---- a/xen/arch/x86/Makefile
-+++ b/xen/arch/x86/Makefile
-@@ -66,6 +66,7 @@ obj-y += sysctl.o
- obj-y += time.o
- obj-y += trace.o
- obj-y += traps.o
-+obj-y += tsx.o
- obj-y += usercopy.o
- obj-y += x86_emulate.o
- obj-$(CONFIG_TBOOT) += tboot.o
-diff --git a/xen/arch/x86/cpuid.c b/xen/arch/x86/cpuid.c
-index 57e80694f2..1727497459 100644
---- a/xen/arch/x86/cpuid.c
-+++ b/xen/arch/x86/cpuid.c
-@@ -524,6 +524,20 @@ void recalculate_cpuid_policy(struct domain *d)
- if ( cpu_has_itsc && (d->disable_migrate || d->arch.vtsc) )
- __set_bit(X86_FEATURE_ITSC, max_fs);
-
-+ /*
-+ * On hardware with MSR_TSX_CTRL, the admin may have elected to disable
-+ * TSX and hide the feature bits. Migrating-in VMs may have been booted
-+ * pre-mitigation when the TSX features were visbile.
-+ *
-+ * This situation is compatible (albeit with a perf hit to any TSX code in
-+ * the guest), so allow the feature bits to remain set.
-+ */
-+ if ( cpu_has_tsx_ctrl )
-+ {
-+ __set_bit(X86_FEATURE_HLE, max_fs);
-+ __set_bit(X86_FEATURE_RTM, max_fs);
-+ }
-+
- /* Clamp the toolstacks choices to reality. */
- for ( i = 0; i < ARRAY_SIZE(fs); i++ )
- fs[i] &= max_fs[i];
-diff --git a/xen/arch/x86/msr.c b/xen/arch/x86/msr.c
-index 56de0fe9e1..c2722d7c73 100644
---- a/xen/arch/x86/msr.c
-+++ b/xen/arch/x86/msr.c
-@@ -132,6 +132,7 @@ int guest_rdmsr(const struct vcpu *v, uint32_t msr, uint64_t *val)
- case MSR_FLUSH_CMD:
- /* Write-only */
- case MSR_TSX_FORCE_ABORT:
-+ case MSR_TSX_CTRL:
- /* Not offered to guests. */
- goto gp_fault;
-
-@@ -260,6 +261,7 @@ int guest_wrmsr(struct vcpu *v, uint32_t msr, uint64_t val)
- case MSR_ARCH_CAPABILITIES:
- /* Read-only */
- case MSR_TSX_FORCE_ABORT:
-+ case MSR_TSX_CTRL:
- /* Not offered to guests. */
- goto gp_fault;
-
-diff --git a/xen/arch/x86/setup.c b/xen/arch/x86/setup.c
-index cf790f36ef..c1c7c44000 100644
---- a/xen/arch/x86/setup.c
-+++ b/xen/arch/x86/setup.c
-@@ -1594,6 +1594,8 @@ void __init noreturn __start_xen(unsigned long mbi_p)
-
- early_microcode_init();
-
-+ tsx_init(); /* Needs microcode. May change HLE/RTM feature bits. */
-+
- identify_cpu(&boot_cpu_data);
-
- set_in_cr4(X86_CR4_OSFXSR | X86_CR4_OSXMMEXCPT);
-diff --git a/xen/arch/x86/smpboot.c b/xen/arch/x86/smpboot.c
-index 737a44f055..e21cf0a310 100644
---- a/xen/arch/x86/smpboot.c
-+++ b/xen/arch/x86/smpboot.c
-@@ -376,6 +376,8 @@ void start_secondary(void *unused)
- if ( boot_cpu_has(X86_FEATURE_IBRSB) )
- wrmsrl(MSR_SPEC_CTRL, default_xen_spec_ctrl);
-
-+ tsx_init(); /* Needs microcode. May change HLE/RTM feature bits. */
-+
- if ( xen_guest )
- hypervisor_ap_setup();
-
-diff --git a/xen/arch/x86/tsx.c b/xen/arch/x86/tsx.c
-new file mode 100644
-index 0000000000..a8ec2ccc69
---- /dev/null
-+++ b/xen/arch/x86/tsx.c
-@@ -0,0 +1,74 @@
-+#include <xen/init.h>
-+#include <asm/msr.h>
-+
-+/*
-+ * Valid values:
-+ * 1 => Explicit tsx=1
-+ * 0 => Explicit tsx=0
-+ * -1 => Default, implicit tsx=1
-+ *
-+ * This is arranged such that the bottom bit encodes whether TSX is actually
-+ * disabled, while identifying various explicit (>=0) and implicit (<0)
-+ * conditions.
-+ */
-+int8_t __read_mostly opt_tsx = -1;
-+int8_t __read_mostly cpu_has_tsx_ctrl = -1;
-+
-+static int __init parse_tsx(const char *s)
-+{
-+ int rc = 0, val = parse_bool(s, NULL);
-+
-+ if ( val >= 0 )
-+ opt_tsx = val;
-+ else
-+ rc = -EINVAL;
-+
-+ return rc;
-+}
-+custom_param("tsx", parse_tsx);
-+
-+void tsx_init(void)
-+{
-+ /*
-+ * This function is first called between microcode being loaded, and CPUID
-+ * being scanned generally. Calculate from raw data whether MSR_TSX_CTRL
-+ * is available.
-+ */
-+ if ( unlikely(cpu_has_tsx_ctrl < 0) )
-+ {
-+ uint64_t caps = 0;
-+
-+ if ( boot_cpu_data.cpuid_level >= 7 &&
-+ (cpuid_count_edx(7, 0) & cpufeat_mask(X86_FEATURE_ARCH_CAPS)) )
-+ rdmsrl(MSR_ARCH_CAPABILITIES, caps);
-+
-+ cpu_has_tsx_ctrl = !!(caps & ARCH_CAPS_TSX_CTRL);
-+ }
-+
-+ if ( cpu_has_tsx_ctrl )
-+ {
-+ uint64_t val;
-+
-+ rdmsrl(MSR_TSX_CTRL, val);
-+
-+ val &= ~(TSX_CTRL_RTM_DISABLE | TSX_CTRL_CPUID_CLEAR);
-+ /* Check bottom bit only. Higher bits are various sentinals. */
-+ if ( !(opt_tsx & 1) )
-+ val |= TSX_CTRL_RTM_DISABLE | TSX_CTRL_CPUID_CLEAR;
-+
-+ wrmsrl(MSR_TSX_CTRL, val);
-+ }
-+ else if ( opt_tsx >= 0 )
-+ printk_once(XENLOG_WARNING
-+ "MSR_TSX_CTRL not available - Ignoring tsx= setting\n");
-+}
-+
-+/*
-+ * Local variables:
-+ * mode: C
-+ * c-file-style: "BSD"
-+ * c-basic-offset: 4
-+ * tab-width: 4
-+ * indent-tabs-mode: nil
-+ * End:
-+ */
-diff --git a/xen/include/asm-x86/msr-index.h b/xen/include/asm-x86/msr-index.h
-index 32746aa8ae..d5f3899f73 100644
---- a/xen/include/asm-x86/msr-index.h
-+++ b/xen/include/asm-x86/msr-index.h
-@@ -53,6 +53,7 @@
- #define ARCH_CAPS_SSB_NO (_AC(1, ULL) << 4)
- #define ARCH_CAPS_MDS_NO (_AC(1, ULL) << 5)
- #define ARCH_CAPS_IF_PSCHANGE_MC_NO (_AC(1, ULL) << 6)
-+#define ARCH_CAPS_TSX_CTRL (_AC(1, ULL) << 7)
-
- #define MSR_FLUSH_CMD 0x0000010b
- #define FLUSH_CMD_L1D (_AC(1, ULL) << 0)
-@@ -60,6 +61,10 @@
- #define MSR_TSX_FORCE_ABORT 0x0000010f
- #define TSX_FORCE_ABORT_RTM (_AC(1, ULL) << 0)
-
-+#define MSR_TSX_CTRL 0x00000122
-+#define TSX_CTRL_RTM_DISABLE (_AC(1, ULL) << 0)
-+#define TSX_CTRL_CPUID_CLEAR (_AC(1, ULL) << 1)
-+
- /* Intel MSRs. Some also available on other CPUs */
- #define MSR_IA32_PERFCTR0 0x000000c1
- #define MSR_IA32_A_PERFCTR0 0x000004c1
-diff --git a/xen/include/asm-x86/processor.h b/xen/include/asm-x86/processor.h
-index d33ac34d29..1b52712180 100644
---- a/xen/include/asm-x86/processor.h
-+++ b/xen/include/asm-x86/processor.h
-@@ -263,6 +263,16 @@ static always_inline unsigned int cpuid_count_ebx(
- return ebx;
- }
-
-+static always_inline unsigned int cpuid_count_edx(
-+ unsigned int leaf, unsigned int subleaf)
-+{
-+ unsigned int edx, tmp;
-+
-+ cpuid_count(leaf, subleaf, &tmp, &tmp, &tmp, &edx);
-+
-+ return edx;
-+}
-+
- static inline unsigned long read_cr0(void)
- {
- unsigned long cr0;
-@@ -609,6 +619,9 @@ static inline uint8_t get_cpu_family(uint32_t raw, uint8_t *model,
- return fam;
- }
-
-+extern int8_t opt_tsx, cpu_has_tsx_ctrl;
-+void tsx_init(void);
-+
- #endif /* !__ASSEMBLY__ */
-
- #endif /* __ASM_X86_PROCESSOR_H */
-diff --git a/xen/include/xen/lib.h b/xen/include/xen/lib.h
-index 89939f43c8..6529f12dae 100644
---- a/xen/include/xen/lib.h
-+++ b/xen/include/xen/lib.h
-@@ -114,6 +114,16 @@ extern int printk_ratelimit(void);
- #define gprintk(lvl, fmt, args...) \
- printk(XENLOG_GUEST lvl "%pv " fmt, current, ## args)
-
-+#define printk_once(fmt, args...) \
-+({ \
-+ static bool __read_mostly once_; \
-+ if ( unlikely(!once_) ) \
-+ { \
-+ once_ = true; \
-+ printk(fmt, ## args); \
-+ } \
-+})
-+
- #ifdef NDEBUG
-
- static inline void
diff --git a/system/xen/xsa/xsa305-4.12-2.patch b/system/xen/xsa/xsa305-4.12-2.patch
deleted file mode 100644
index 07fba86287..0000000000
--- a/system/xen/xsa/xsa305-4.12-2.patch
+++ /dev/null
@@ -1,192 +0,0 @@
-From: Andrew Cooper <andrew.cooper3@citrix.com>
-Subject: x86/spec-ctrl: Mitigate the TSX Asynchronous Abort sidechannel
-
-See patch documentation and comments.
-
-This is part of XSA-305 / CVE-2019-11135
-
-Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
-Reviewed-by: Jan Beulich <jbeulich@suse.com>
-
-diff --git a/docs/misc/xen-command-line.pandoc b/docs/misc/xen-command-line.pandoc
-index b7e1bf8e8b..74e1e35b88 100644
---- a/docs/misc/xen-command-line.pandoc
-+++ b/docs/misc/xen-command-line.pandoc
-@@ -1920,7 +1920,7 @@ extreme care.**
- An overall boolean value, `spec-ctrl=no`, can be specified to turn off all
- mitigations, including pieces of infrastructure used to virtualise certain
- mitigation features for guests. This also includes settings which `xpti`,
--`smt`, `pv-l1tf` control, unless the respective option(s) have been
-+`smt`, `pv-l1tf`, `tsx` control, unless the respective option(s) have been
- specified earlier on the command line.
-
- Alternatively, a slightly more restricted `spec-ctrl=no-xen` can be used to
-@@ -2037,7 +2037,7 @@ Xen version.
- = <bool>
-
- Applicability: x86
-- Default: true
-+ Default: false on parts vulnerable to TAA, true otherwise
-
- Controls for the use of Transactional Synchronization eXtensions.
-
-@@ -2047,6 +2047,19 @@ a control has been introduced which allows TSX to be turned off.
- On systems with the ability to turn TSX off, this boolean offers system wide
- control of whether TSX is enabled or disabled.
-
-+On parts vulnerable to CVE-2019-11135 / TSX Asynchronous Abort, the following
-+logic applies:
-+
-+ * An explicit `tsx=` choice is honoured, even if it is `true` and would
-+ result in a vulnerable system.
-+
-+ * When no explicit `tsx=` choice is given, parts vulnerable to TAA will be
-+ mitigated by disabling TSX, as this is the lowest overhead option.
-+
-+ * If the use of TSX is important, the more expensive TAA mitigations can be
-+ opted in to with `smt=0 spec-ctrl=md-clear`, at which point TSX will remain
-+ active by default.
-+
- ### ucode (x86)
- > `= [<integer> | scan]`
-
-diff --git a/xen/arch/x86/spec_ctrl.c b/xen/arch/x86/spec_ctrl.c
-index b37d40e643..800139d79c 100644
---- a/xen/arch/x86/spec_ctrl.c
-+++ b/xen/arch/x86/spec_ctrl.c
-@@ -96,6 +96,9 @@ static int __init parse_spec_ctrl(const char *s)
- if ( opt_pv_l1tf_domu < 0 )
- opt_pv_l1tf_domu = 0;
-
-+ if ( opt_tsx == -1 )
-+ opt_tsx = -3;
-+
- disable_common:
- opt_rsb_pv = false;
- opt_rsb_hvm = false;
-@@ -306,7 +309,7 @@ static void __init print_details(enum ind_thunk thunk, uint64_t caps)
- printk("Speculative mitigation facilities:\n");
-
- /* Hardware features which pertain to speculative mitigations. */
-- printk(" Hardware features:%s%s%s%s%s%s%s%s%s%s%s%s\n",
-+ printk(" Hardware features:%s%s%s%s%s%s%s%s%s%s%s%s%s%s\n",
- (_7d0 & cpufeat_mask(X86_FEATURE_IBRSB)) ? " IBRS/IBPB" : "",
- (_7d0 & cpufeat_mask(X86_FEATURE_STIBP)) ? " STIBP" : "",
- (_7d0 & cpufeat_mask(X86_FEATURE_L1D_FLUSH)) ? " L1D_FLUSH" : "",
-@@ -318,7 +321,9 @@ static void __init print_details(enum ind_thunk thunk, uint64_t caps)
- (caps & ARCH_CAPS_RSBA) ? " RSBA" : "",
- (caps & ARCH_CAPS_SKIP_L1DFL) ? " SKIP_L1DFL": "",
- (caps & ARCH_CAPS_SSB_NO) ? " SSB_NO" : "",
-- (caps & ARCH_CAPS_MDS_NO) ? " MDS_NO" : "");
-+ (caps & ARCH_CAPS_MDS_NO) ? " MDS_NO" : "",
-+ (caps & ARCH_CAPS_TSX_CTRL) ? " TSX_CTRL" : "",
-+ (caps & ARCH_CAPS_TAA_NO) ? " TAA_NO" : "");
-
- /* Compiled-in support which pertains to mitigations. */
- if ( IS_ENABLED(CONFIG_INDIRECT_THUNK) || IS_ENABLED(CONFIG_SHADOW_PAGING) )
-@@ -332,7 +337,7 @@ static void __init print_details(enum ind_thunk thunk, uint64_t caps)
- "\n");
-
- /* Settings for Xen's protection, irrespective of guests. */
-- printk(" Xen settings: BTI-Thunk %s, SPEC_CTRL: %s%s, Other:%s%s%s\n",
-+ printk(" Xen settings: BTI-Thunk %s, SPEC_CTRL: %s%s%s, Other:%s%s%s\n",
- thunk == THUNK_NONE ? "N/A" :
- thunk == THUNK_RETPOLINE ? "RETPOLINE" :
- thunk == THUNK_LFENCE ? "LFENCE" :
-@@ -341,6 +346,8 @@ static void __init print_details(enum ind_thunk thunk, uint64_t caps)
- (default_xen_spec_ctrl & SPEC_CTRL_IBRS) ? "IBRS+" : "IBRS-",
- !boot_cpu_has(X86_FEATURE_SSBD) ? "" :
- (default_xen_spec_ctrl & SPEC_CTRL_SSBD) ? " SSBD+" : " SSBD-",
-+ !(caps & ARCH_CAPS_TSX_CTRL) ? "" :
-+ (opt_tsx & 1) ? " TSX+" : " TSX-",
- opt_ibpb ? " IBPB" : "",
- opt_l1d_flush ? " L1D_FLUSH" : "",
- opt_md_clear_pv || opt_md_clear_hvm ? " VERW" : "");
-@@ -862,6 +869,7 @@ void __init init_speculation_mitigations(void)
- {
- enum ind_thunk thunk = THUNK_DEFAULT;
- bool use_spec_ctrl = false, ibrs = false, hw_smt_enabled;
-+ bool cpu_has_bug_taa;
- uint64_t caps = 0;
-
- if ( boot_cpu_has(X86_FEATURE_ARCH_CAPS) )
-@@ -1086,6 +1094,53 @@ void __init init_speculation_mitigations(void)
- "enabled. Mitigations will not be fully effective. Please\n"
- "choose an explicit smt=<bool> setting. See XSA-297.\n");
-
-+ /*
-+ * Vulnerability to TAA is a little complicated to quantify.
-+ *
-+ * In the pipeline, it is just another way to get speculative access to
-+ * stale load port, store buffer or fill buffer data, and therefore can be
-+ * considered a superset of MDS (on TSX-capable parts). On parts which
-+ * predate MDS_NO, the existing VERW flushing will mitigate this
-+ * sidechannel as well.
-+ *
-+ * On parts which contain MDS_NO, the lack of VERW flushing means that an
-+ * attacker can still use TSX to target microarchitectural buffers to leak
-+ * secrets. Therefore, we consider TAA to be the set of TSX-capable parts
-+ * which have MDS_NO but lack TAA_NO.
-+ *
-+ * Note: cpu_has_rtm (== hle) could already be hidden by `tsx=0` on the
-+ * cmdline. MSR_TSX_CTRL will only appear on TSX-capable parts, so
-+ * we check both to spot TSX in a microcode/cmdline independent way.
-+ */
-+ cpu_has_bug_taa =
-+ (cpu_has_rtm || (caps & ARCH_CAPS_TSX_CTRL)) &&
-+ (caps & (ARCH_CAPS_MDS_NO | ARCH_CAPS_TAA_NO)) == ARCH_CAPS_MDS_NO;
-+
-+ /*
-+ * On TAA-affected hardware, disabling TSX is the preferred mitigation, vs
-+ * the MDS mitigation of disabling HT and using VERW flushing.
-+ *
-+ * On CPUs which advertise MDS_NO, VERW has no flushing side effect until
-+ * the TSX_CTRL microcode is loaded, despite the MD_CLEAR CPUID bit being
-+ * advertised, and there isn't a MD_CLEAR_2 flag to use...
-+ *
-+ * If we're on affected hardware, able to do something about it (which
-+ * implies that VERW now works), no explicit TSX choice and traditional
-+ * MDS mitigations (no-SMT, VERW) not obviosuly in use (someone might
-+ * plausibly value TSX higher than Hyperthreading...), disable TSX to
-+ * mitigate TAA.
-+ */
-+ if ( opt_tsx == -1 && cpu_has_bug_taa && (caps & ARCH_CAPS_TSX_CTRL) &&
-+ ((hw_smt_enabled && opt_smt) ||
-+ !boot_cpu_has(X86_FEATURE_SC_VERW_IDLE)) )
-+ {
-+ setup_clear_cpu_cap(X86_FEATURE_HLE);
-+ setup_clear_cpu_cap(X86_FEATURE_RTM);
-+
-+ opt_tsx = 0;
-+ tsx_init();
-+ }
-+
- print_details(thunk, caps);
-
- /*
-diff --git a/xen/arch/x86/tsx.c b/xen/arch/x86/tsx.c
-index a8ec2ccc69..2d202a0d4e 100644
---- a/xen/arch/x86/tsx.c
-+++ b/xen/arch/x86/tsx.c
-@@ -5,7 +5,8 @@
- * Valid values:
- * 1 => Explicit tsx=1
- * 0 => Explicit tsx=0
-- * -1 => Default, implicit tsx=1
-+ * -1 => Default, implicit tsx=1, may change to 0 to mitigate TAA
-+ * -3 => Implicit tsx=1 (feed-through from spec-ctrl=0)
- *
- * This is arranged such that the bottom bit encodes whether TSX is actually
- * disabled, while identifying various explicit (>=0) and implicit (<0)
-diff --git a/xen/include/asm-x86/msr-index.h b/xen/include/asm-x86/msr-index.h
-index d5f3899f73..3971b992d3 100644
---- a/xen/include/asm-x86/msr-index.h
-+++ b/xen/include/asm-x86/msr-index.h
-@@ -54,6 +54,7 @@
- #define ARCH_CAPS_MDS_NO (_AC(1, ULL) << 5)
- #define ARCH_CAPS_IF_PSCHANGE_MC_NO (_AC(1, ULL) << 6)
- #define ARCH_CAPS_TSX_CTRL (_AC(1, ULL) << 7)
-+#define ARCH_CAPS_TAA_NO (_AC(1, ULL) << 8)
-
- #define MSR_FLUSH_CMD 0x0000010b
- #define FLUSH_CMD_L1D (_AC(1, ULL) << 0)
diff --git a/system/xen/xsa/xsa317.patch b/system/xen/xsa/xsa317.patch
new file mode 100644
index 0000000000..20e2c643d0
--- /dev/null
+++ b/system/xen/xsa/xsa317.patch
@@ -0,0 +1,50 @@
+From aeb46e92f915f19a61d5a8a1f4b696793f64e6fb Mon Sep 17 00:00:00 2001
+From: Julien Grall <jgrall@amazon.com>
+Date: Thu, 19 Mar 2020 13:17:31 +0000
+Subject: [PATCH] xen/common: event_channel: Don't ignore error in
+ get_free_port()
+
+Currently, get_free_port() is assuming that the port has been allocated
+when evtchn_allocate_port() is not return -EBUSY.
+
+However, the function may return an error when:
+ - We exhausted all the event channels. This can happen if the limit
+ configured by the administrator for the guest ('max_event_channels'
+ in xl cfg) is higher than the ABI used by the guest. For instance,
+ if the guest is using 2L, the limit should not be higher than 4095.
+ - We cannot allocate memory (e.g Xen has not more memory).
+
+Users of get_free_port() (such as EVTCHNOP_alloc_unbound) will validly
+assuming the port was valid and will next call evtchn_from_port(). This
+will result to a crash as the memory backing the event channel structure
+is not present.
+
+Fixes: 368ae9a05fe ("xen/pvshim: forward evtchn ops between L0 Xen and L2 DomU")
+Signed-off-by: Julien Grall <jgrall@amazon.com>
+Reviewed-by: Jan Beulich <jbeulich@suse.com>
+---
+ xen/common/event_channel.c | 8 ++++----
+ 1 file changed, 4 insertions(+), 4 deletions(-)
+
+diff --git a/xen/common/event_channel.c b/xen/common/event_channel.c
+index e86e2bfab0..a8d182b584 100644
+--- a/xen/common/event_channel.c
++++ b/xen/common/event_channel.c
+@@ -195,10 +195,10 @@ static int get_free_port(struct domain *d)
+ {
+ int rc = evtchn_allocate_port(d, port);
+
+- if ( rc == -EBUSY )
+- continue;
+-
+- return port;
++ if ( rc == 0 )
++ return port;
++ else if ( rc != -EBUSY )
++ return rc;
+ }
+
+ return -ENOSPC;
+--
+2.17.1
+
diff --git a/system/xen/xsa/xsa319.patch b/system/xen/xsa/xsa319.patch
new file mode 100644
index 0000000000..769443c900
--- /dev/null
+++ b/system/xen/xsa/xsa319.patch
@@ -0,0 +1,27 @@
+From: Jan Beulich <jbeulich@suse.com>
+Subject: x86/shadow: correct an inverted conditional in dirty VRAM tracking
+
+This originally was "mfn_x(mfn) == INVALID_MFN". Make it like this
+again, taking the opportunity to also drop the unnecessary nearby
+braces.
+
+This is XSA-319.
+
+Fixes: 246a5a3377c2 ("xen: Use a typesafe to define INVALID_MFN")
+Signed-off-by: Jan Beulich <jbeulich@suse.com>
+Reviewed-by: Andrew Cooper <andrew.cooper3@citrix.com>
+
+--- a/xen/arch/x86/mm/shadow/common.c
++++ b/xen/arch/x86/mm/shadow/common.c
+@@ -3252,10 +3252,8 @@ int shadow_track_dirty_vram(struct domai
+ int dirty = 0;
+ paddr_t sl1ma = dirty_vram->sl1ma[i];
+
+- if ( !mfn_eq(mfn, INVALID_MFN) )
+- {
++ if ( mfn_eq(mfn, INVALID_MFN) )
+ dirty = 1;
+- }
+ else
+ {
+ page = mfn_to_page(mfn);
diff --git a/system/xen/xsa/xsa320-4.13-1.patch b/system/xen/xsa/xsa320-4.13-1.patch
new file mode 100644
index 0000000000..09eb8ea98e
--- /dev/null
+++ b/system/xen/xsa/xsa320-4.13-1.patch
@@ -0,0 +1,117 @@
+From: Andrew Cooper <andrew.cooper3@citrix.com>
+Subject: x86/spec-ctrl: CPUID/MSR definitions for Special Register Buffer Data Sampling
+
+This is part of XSA-320 / CVE-2020-0543
+
+Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
+Reviewed-by: Jan Beulich <jbeulich@suse.com>
+Acked-by: Wei Liu <wl@xen.org>
+
+diff --git a/docs/misc/xen-command-line.pandoc b/docs/misc/xen-command-line.pandoc
+index 1d9d816622..9268454297 100644
+--- a/docs/misc/xen-command-line.pandoc
++++ b/docs/misc/xen-command-line.pandoc
+@@ -483,10 +483,10 @@ accounting for hardware capabilities as enumerated via CPUID.
+
+ Currently accepted:
+
+-The Speculation Control hardware features `md-clear`, `ibrsb`, `stibp`, `ibpb`,
+-`l1d-flush` and `ssbd` are used by default if available and applicable. They can
+-be ignored, e.g. `no-ibrsb`, at which point Xen won't use them itself, and
+-won't offer them to guests.
++The Speculation Control hardware features `srbds-ctrl`, `md-clear`, `ibrsb`,
++`stibp`, `ibpb`, `l1d-flush` and `ssbd` are used by default if available and
++applicable. They can be ignored, e.g. `no-ibrsb`, at which point Xen won't
++use them itself, and won't offer them to guests.
+
+ ### cpuid_mask_cpu
+ > `= fam_0f_rev_[cdefg] | fam_10_rev_[bc] | fam_11_rev_b`
+diff --git a/tools/libxl/libxl_cpuid.c b/tools/libxl/libxl_cpuid.c
+index 6cea4227ba..a78f08b927 100644
+--- a/tools/libxl/libxl_cpuid.c
++++ b/tools/libxl/libxl_cpuid.c
+@@ -213,6 +213,7 @@ int libxl_cpuid_parse_config(libxl_cpuid_policy_list *cpuid, const char* str)
+
+ {"avx512-4vnniw",0x00000007, 0, CPUID_REG_EDX, 2, 1},
+ {"avx512-4fmaps",0x00000007, 0, CPUID_REG_EDX, 3, 1},
++ {"srbds-ctrl", 0x00000007, 0, CPUID_REG_EDX, 9, 1},
+ {"md-clear", 0x00000007, 0, CPUID_REG_EDX, 10, 1},
+ {"cet-ibt", 0x00000007, 0, CPUID_REG_EDX, 20, 1},
+ {"ibrsb", 0x00000007, 0, CPUID_REG_EDX, 26, 1},
+diff --git a/tools/misc/xen-cpuid.c b/tools/misc/xen-cpuid.c
+index 603e1d65fd..a09440813b 100644
+--- a/tools/misc/xen-cpuid.c
++++ b/tools/misc/xen-cpuid.c
+@@ -157,6 +157,7 @@ static const char *const str_7d0[32] =
+ [ 2] = "avx512_4vnniw", [ 3] = "avx512_4fmaps",
+ [ 4] = "fsrm",
+
++ /* 8 */ [ 9] = "srbds-ctrl",
+ [10] = "md-clear",
+ /* 12 */ [13] = "tsx-force-abort",
+
+diff --git a/xen/arch/x86/msr.c b/xen/arch/x86/msr.c
+index 4b12103482..0cded3c0ad 100644
+--- a/xen/arch/x86/msr.c
++++ b/xen/arch/x86/msr.c
+@@ -134,6 +134,7 @@ int guest_rdmsr(struct vcpu *v, uint32_t msr, uint64_t *val)
+ /* Write-only */
+ case MSR_TSX_FORCE_ABORT:
+ case MSR_TSX_CTRL:
++ case MSR_MCU_OPT_CTRL:
+ case MSR_U_CET:
+ case MSR_S_CET:
+ case MSR_PL0_SSP ... MSR_INTERRUPT_SSP_TABLE:
+@@ -288,6 +289,7 @@ int guest_wrmsr(struct vcpu *v, uint32_t msr, uint64_t val)
+ /* Read-only */
+ case MSR_TSX_FORCE_ABORT:
+ case MSR_TSX_CTRL:
++ case MSR_MCU_OPT_CTRL:
+ case MSR_U_CET:
+ case MSR_S_CET:
+ case MSR_PL0_SSP ... MSR_INTERRUPT_SSP_TABLE:
+diff --git a/xen/arch/x86/spec_ctrl.c b/xen/arch/x86/spec_ctrl.c
+index 6656c44aec..5fc1c6827e 100644
+--- a/xen/arch/x86/spec_ctrl.c
++++ b/xen/arch/x86/spec_ctrl.c
+@@ -312,12 +312,13 @@ static void __init print_details(enum ind_thunk thunk, uint64_t caps)
+ printk("Speculative mitigation facilities:\n");
+
+ /* Hardware features which pertain to speculative mitigations. */
+- printk(" Hardware features:%s%s%s%s%s%s%s%s%s%s%s%s%s%s\n",
++ printk(" Hardware features:%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s\n",
+ (_7d0 & cpufeat_mask(X86_FEATURE_IBRSB)) ? " IBRS/IBPB" : "",
+ (_7d0 & cpufeat_mask(X86_FEATURE_STIBP)) ? " STIBP" : "",
+ (_7d0 & cpufeat_mask(X86_FEATURE_L1D_FLUSH)) ? " L1D_FLUSH" : "",
+ (_7d0 & cpufeat_mask(X86_FEATURE_SSBD)) ? " SSBD" : "",
+ (_7d0 & cpufeat_mask(X86_FEATURE_MD_CLEAR)) ? " MD_CLEAR" : "",
++ (_7d0 & cpufeat_mask(X86_FEATURE_SRBDS_CTRL)) ? " SRBDS_CTRL" : "",
+ (e8b & cpufeat_mask(X86_FEATURE_IBPB)) ? " IBPB" : "",
+ (caps & ARCH_CAPS_IBRS_ALL) ? " IBRS_ALL" : "",
+ (caps & ARCH_CAPS_RDCL_NO) ? " RDCL_NO" : "",
+diff --git a/xen/include/asm-x86/msr-index.h b/xen/include/asm-x86/msr-index.h
+index 7693c4a71a..91994669e1 100644
+--- a/xen/include/asm-x86/msr-index.h
++++ b/xen/include/asm-x86/msr-index.h
+@@ -179,6 +179,9 @@
+ #define MSR_IA32_VMX_TRUE_ENTRY_CTLS 0x490
+ #define MSR_IA32_VMX_VMFUNC 0x491
+
++#define MSR_MCU_OPT_CTRL 0x00000123
++#define MCU_OPT_CTRL_RNGDS_MITG_DIS (_AC(1, ULL) << 0)
++
+ #define MSR_U_CET 0x000006a0
+ #define MSR_S_CET 0x000006a2
+ #define MSR_PL0_SSP 0x000006a4
+diff --git a/xen/include/public/arch-x86/cpufeatureset.h b/xen/include/public/arch-x86/cpufeatureset.h
+index 2835688f1c..a2482c3627 100644
+--- a/xen/include/public/arch-x86/cpufeatureset.h
++++ b/xen/include/public/arch-x86/cpufeatureset.h
+@@ -252,6 +252,7 @@ XEN_CPUFEATURE(IBPB, 8*32+12) /*A IBPB support only (no IBRS, used by
+ /* Intel-defined CPU features, CPUID level 0x00000007:0.edx, word 9 */
+ XEN_CPUFEATURE(AVX512_4VNNIW, 9*32+ 2) /*A AVX512 Neural Network Instructions */
+ XEN_CPUFEATURE(AVX512_4FMAPS, 9*32+ 3) /*A AVX512 Multiply Accumulation Single Precision */
++XEN_CPUFEATURE(SRBDS_CTRL, 9*32+ 9) /* MSR_MCU_OPT_CTRL and RNGDS_MITG_DIS. */
+ XEN_CPUFEATURE(MD_CLEAR, 9*32+10) /*A VERW clears microarchitectural buffers */
+ XEN_CPUFEATURE(TSX_FORCE_ABORT, 9*32+13) /* MSR_TSX_FORCE_ABORT.RTM_ABORT */
+ XEN_CPUFEATURE(CET_IBT, 9*32+20) /* CET - Indirect Branch Tracking */
diff --git a/system/xen/xsa/xsa320-4.13-2.patch b/system/xen/xsa/xsa320-4.13-2.patch
new file mode 100644
index 0000000000..8a8080a312
--- /dev/null
+++ b/system/xen/xsa/xsa320-4.13-2.patch
@@ -0,0 +1,179 @@
+From: Andrew Cooper <andrew.cooper3@citrix.com>
+Subject: x86/spec-ctrl: Mitigate the Special Register Buffer Data Sampling sidechannel
+
+See patch documentation and comments.
+
+This is part of XSA-320 / CVE-2020-0543
+
+Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
+Reviewed-by: Jan Beulich <jbeulich@suse.com>
+
+diff --git a/docs/misc/xen-command-line.pandoc b/docs/misc/xen-command-line.pandoc
+index 9268454297..c780312531 100644
+--- a/docs/misc/xen-command-line.pandoc
++++ b/docs/misc/xen-command-line.pandoc
+@@ -1991,7 +1991,7 @@ By default SSBD will be mitigated at runtime (i.e `ssbd=runtime`).
+ ### spec-ctrl (x86)
+ > `= List of [ <bool>, xen=<bool>, {pv,hvm,msr-sc,rsb,md-clear}=<bool>,
+ > bti-thunk=retpoline|lfence|jmp, {ibrs,ibpb,ssbd,eager-fpu,
+-> l1d-flush,branch-harden}=<bool> ]`
++> l1d-flush,branch-harden,srb-lock}=<bool> ]`
+
+ Controls for speculative execution sidechannel mitigations. By default, Xen
+ will pick the most appropriate mitigations based on compiled in support,
+@@ -2068,6 +2068,12 @@ If Xen is compiled with `CONFIG_SPECULATIVE_HARDEN_BRANCH`, the
+ speculation barriers to protect selected conditional branches. By default,
+ Xen will enable this mitigation.
+
++On hardware supporting SRBDS_CTRL, the `srb-lock=` option can be used to force
++or prevent Xen from protect the Special Register Buffer from leaking stale
++data. By default, Xen will enable this mitigation, except on parts where MDS
++is fixed and TAA is fixed/mitigated (in which case, there is believed to be no
++way for an attacker to obtain the stale data).
++
+ ### sync_console
+ > `= <boolean>`
+
+diff --git a/xen/arch/x86/acpi/power.c b/xen/arch/x86/acpi/power.c
+index feb0f6ce20..75c6e34164 100644
+--- a/xen/arch/x86/acpi/power.c
++++ b/xen/arch/x86/acpi/power.c
+@@ -295,6 +295,9 @@ static int enter_state(u32 state)
+ ci->spec_ctrl_flags |= (default_spec_ctrl_flags & SCF_ist_wrmsr);
+ spec_ctrl_exit_idle(ci);
+
++ if ( boot_cpu_has(X86_FEATURE_SRBDS_CTRL) )
++ wrmsrl(MSR_MCU_OPT_CTRL, default_xen_mcu_opt_ctrl);
++
+ done:
+ spin_debug_enable();
+ local_irq_restore(flags);
+diff --git a/xen/arch/x86/smpboot.c b/xen/arch/x86/smpboot.c
+index dc8fdac1a1..b1e51b3aff 100644
+--- a/xen/arch/x86/smpboot.c
++++ b/xen/arch/x86/smpboot.c
+@@ -361,12 +361,14 @@ void start_secondary(void *unused)
+ microcode_update_one(false);
+
+ /*
+- * If MSR_SPEC_CTRL is available, apply Xen's default setting and discard
+- * any firmware settings. Note: MSR_SPEC_CTRL may only become available
+- * after loading microcode.
++ * If any speculative control MSRs are available, apply Xen's default
++ * settings. Note: These MSRs may only become available after loading
++ * microcode.
+ */
+ if ( boot_cpu_has(X86_FEATURE_IBRSB) )
+ wrmsrl(MSR_SPEC_CTRL, default_xen_spec_ctrl);
++ if ( boot_cpu_has(X86_FEATURE_SRBDS_CTRL) )
++ wrmsrl(MSR_MCU_OPT_CTRL, default_xen_mcu_opt_ctrl);
+
+ tsx_init(); /* Needs microcode. May change HLE/RTM feature bits. */
+
+diff --git a/xen/arch/x86/spec_ctrl.c b/xen/arch/x86/spec_ctrl.c
+index 5fc1c6827e..33343062a7 100644
+--- a/xen/arch/x86/spec_ctrl.c
++++ b/xen/arch/x86/spec_ctrl.c
+@@ -65,6 +65,9 @@ static unsigned int __initdata l1d_maxphysaddr;
+ static bool __initdata cpu_has_bug_msbds_only; /* => minimal HT impact. */
+ static bool __initdata cpu_has_bug_mds; /* Any other M{LP,SB,FB}DS combination. */
+
++static int8_t __initdata opt_srb_lock = -1;
++uint64_t __read_mostly default_xen_mcu_opt_ctrl;
++
+ static int __init parse_spec_ctrl(const char *s)
+ {
+ const char *ss;
+@@ -112,6 +115,7 @@ static int __init parse_spec_ctrl(const char *s)
+ opt_ssbd = false;
+ opt_l1d_flush = 0;
+ opt_branch_harden = false;
++ opt_srb_lock = 0;
+ }
+ else if ( val > 0 )
+ rc = -EINVAL;
+@@ -178,6 +182,8 @@ static int __init parse_spec_ctrl(const char *s)
+ opt_l1d_flush = val;
+ else if ( (val = parse_boolean("branch-harden", s, ss)) >= 0 )
+ opt_branch_harden = val;
++ else if ( (val = parse_boolean("srb-lock", s, ss)) >= 0 )
++ opt_srb_lock = val;
+ else
+ rc = -EINVAL;
+
+@@ -341,7 +347,7 @@ static void __init print_details(enum ind_thunk thunk, uint64_t caps)
+ "\n");
+
+ /* Settings for Xen's protection, irrespective of guests. */
+- printk(" Xen settings: BTI-Thunk %s, SPEC_CTRL: %s%s%s, Other:%s%s%s%s\n",
++ printk(" Xen settings: BTI-Thunk %s, SPEC_CTRL: %s%s%s, Other:%s%s%s%s%s\n",
+ thunk == THUNK_NONE ? "N/A" :
+ thunk == THUNK_RETPOLINE ? "RETPOLINE" :
+ thunk == THUNK_LFENCE ? "LFENCE" :
+@@ -352,6 +358,8 @@ static void __init print_details(enum ind_thunk thunk, uint64_t caps)
+ (default_xen_spec_ctrl & SPEC_CTRL_SSBD) ? " SSBD+" : " SSBD-",
+ !(caps & ARCH_CAPS_TSX_CTRL) ? "" :
+ (opt_tsx & 1) ? " TSX+" : " TSX-",
++ !boot_cpu_has(X86_FEATURE_SRBDS_CTRL) ? "" :
++ opt_srb_lock ? " SRB_LOCK+" : " SRB_LOCK-",
+ opt_ibpb ? " IBPB" : "",
+ opt_l1d_flush ? " L1D_FLUSH" : "",
+ opt_md_clear_pv || opt_md_clear_hvm ? " VERW" : "",
+@@ -1149,6 +1157,34 @@ void __init init_speculation_mitigations(void)
+ tsx_init();
+ }
+
++ /* Calculate suitable defaults for MSR_MCU_OPT_CTRL */
++ if ( boot_cpu_has(X86_FEATURE_SRBDS_CTRL) )
++ {
++ uint64_t val;
++
++ rdmsrl(MSR_MCU_OPT_CTRL, val);
++
++ /*
++ * On some SRBDS-affected hardware, it may be safe to relax srb-lock
++ * by default.
++ *
++ * On parts which enumerate MDS_NO and not TAA_NO, TSX is the only way
++ * to access the Fill Buffer. If TSX isn't available (inc. SKU
++ * reasons on some models), or TSX is explicitly disabled, then there
++ * is no need for the extra overhead to protect RDRAND/RDSEED.
++ */
++ if ( opt_srb_lock == -1 &&
++ (caps & (ARCH_CAPS_MDS_NO|ARCH_CAPS_TAA_NO)) == ARCH_CAPS_MDS_NO &&
++ (!cpu_has_hle || ((caps & ARCH_CAPS_TSX_CTRL) && opt_tsx == 0)) )
++ opt_srb_lock = 0;
++
++ val &= ~MCU_OPT_CTRL_RNGDS_MITG_DIS;
++ if ( !opt_srb_lock )
++ val |= MCU_OPT_CTRL_RNGDS_MITG_DIS;
++
++ default_xen_mcu_opt_ctrl = val;
++ }
++
+ print_details(thunk, caps);
+
+ /*
+@@ -1180,6 +1216,9 @@ void __init init_speculation_mitigations(void)
+
+ wrmsrl(MSR_SPEC_CTRL, bsp_delay_spec_ctrl ? 0 : default_xen_spec_ctrl);
+ }
++
++ if ( boot_cpu_has(X86_FEATURE_SRBDS_CTRL) )
++ wrmsrl(MSR_MCU_OPT_CTRL, default_xen_mcu_opt_ctrl);
+ }
+
+ static void __init __maybe_unused build_assertions(void)
+diff --git a/xen/include/asm-x86/spec_ctrl.h b/xen/include/asm-x86/spec_ctrl.h
+index 9caecddfec..b252bb8631 100644
+--- a/xen/include/asm-x86/spec_ctrl.h
++++ b/xen/include/asm-x86/spec_ctrl.h
+@@ -54,6 +54,8 @@ extern int8_t opt_pv_l1tf_hwdom, opt_pv_l1tf_domu;
+ */
+ extern paddr_t l1tf_addr_mask, l1tf_safe_maddr;
+
++extern uint64_t default_xen_mcu_opt_ctrl;
++
+ static inline void init_shadow_spec_ctrl_state(void)
+ {
+ struct cpu_info *info = get_cpu_info();
diff --git a/system/xen/xsa/xsa320-4.13-3.patch b/system/xen/xsa/xsa320-4.13-3.patch
new file mode 100644
index 0000000000..b52eeb338a
--- /dev/null
+++ b/system/xen/xsa/xsa320-4.13-3.patch
@@ -0,0 +1,36 @@
+From: Andrew Cooper <andrew.cooper3@citrix.com>
+Subject: x86/spec-ctrl: Update docs with SRBDS workaround
+
+RDRAND/RDSEED can be hidden using cpuid= to mitigate SRBDS if microcode
+isn't available.
+
+This is part of XSA-320 / CVE-2020-0543.
+
+Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
+Acked-by: Julien Grall <jgrall@amazon.com>
+
+diff --git a/docs/misc/xen-command-line.pandoc b/docs/misc/xen-command-line.pandoc
+index c780312531..81e12d053c 100644
+--- a/docs/misc/xen-command-line.pandoc
++++ b/docs/misc/xen-command-line.pandoc
+@@ -481,12 +481,18 @@ choice of `dom0-kernel` is deprecated and not supported by all Dom0 kernels.
+ This option allows for fine tuning of the facilities Xen will use, after
+ accounting for hardware capabilities as enumerated via CPUID.
+
++Unless otherwise noted, options only have any effect in their negative form,
++to hide the named feature(s). Ignoring a feature using this mechanism will
++cause Xen not to use the feature, nor offer them as usable to guests.
++
+ Currently accepted:
+
+ The Speculation Control hardware features `srbds-ctrl`, `md-clear`, `ibrsb`,
+ `stibp`, `ibpb`, `l1d-flush` and `ssbd` are used by default if available and
+-applicable. They can be ignored, e.g. `no-ibrsb`, at which point Xen won't
+-use them itself, and won't offer them to guests.
++applicable. They can all be ignored.
++
++`rdrand` and `rdseed` can be ignored, as a mitigation to XSA-320 /
++CVE-2020-0543.
+
+ ### cpuid_mask_cpu
+ > `= fam_0f_rev_[cdefg] | fam_10_rev_[bc] | fam_11_rev_b`
diff --git a/system/xen/xsa/xsa327.patch b/system/xen/xsa/xsa327.patch
new file mode 100644
index 0000000000..0541cfa0df
--- /dev/null
+++ b/system/xen/xsa/xsa327.patch
@@ -0,0 +1,63 @@
+From 030300ebbb86c40c12db038714479d746167c767 Mon Sep 17 00:00:00 2001
+From: Julien Grall <jgrall@amazon.com>
+Date: Tue, 26 May 2020 18:31:33 +0100
+Subject: [PATCH] xen: Check the alignment of the offset pased via
+ VCPUOP_register_vcpu_info
+
+Currently a guest is able to register any guest physical address to use
+for the vcpu_info structure as long as the structure can fits in the
+rest of the frame.
+
+This means a guest can provide an address that is not aligned to the
+natural alignment of the structure.
+
+On Arm 32-bit, unaligned access are completely forbidden by the
+hypervisor. This will result to a data abort which is fatal.
+
+On Arm 64-bit, unaligned access are only forbidden when used for atomic
+access. As the structure contains fields (such as evtchn_pending_self)
+that are updated using atomic operations, any unaligned access will be
+fatal as well.
+
+While the misalignment is only fatal on Arm, a generic check is added
+as an x86 guest shouldn't sensibly pass an unaligned address (this
+would result to a split lock).
+
+This is XSA-327.
+
+Reported-by: Julien Grall <jgrall@amazon.com>
+Signed-off-by: Julien Grall <jgrall@amazon.com>
+Reviewed-by: Andrew Cooper <andrew.cooper3@citrix.com>
+Reviewed-by: Stefano Stabellini <sstabellini@kernel.org>
+---
+ xen/common/domain.c | 10 ++++++++++
+ 1 file changed, 10 insertions(+)
+
+diff --git a/xen/common/domain.c b/xen/common/domain.c
+index 7cc9526139a6..e9be05f1d05f 100644
+--- a/xen/common/domain.c
++++ b/xen/common/domain.c
+@@ -1227,10 +1227,20 @@ int map_vcpu_info(struct vcpu *v, unsigned long gfn, unsigned offset)
+ void *mapping;
+ vcpu_info_t *new_info;
+ struct page_info *page;
++ unsigned int align;
+
+ if ( offset > (PAGE_SIZE - sizeof(vcpu_info_t)) )
+ return -EINVAL;
+
++#ifdef CONFIG_COMPAT
++ if ( has_32bit_shinfo(d) )
++ align = alignof(new_info->compat);
++ else
++#endif
++ align = alignof(*new_info);
++ if ( offset & (align - 1) )
++ return -EINVAL;
++
+ if ( !mfn_eq(v->vcpu_info_mfn, INVALID_MFN) )
+ return -EINVAL;
+
+--
+2.17.1
+
diff --git a/system/xen/xsa/xsa328-4.13-1.patch b/system/xen/xsa/xsa328-4.13-1.patch
new file mode 100644
index 0000000000..56e48de3e9
--- /dev/null
+++ b/system/xen/xsa/xsa328-4.13-1.patch
@@ -0,0 +1,118 @@
+From: Jan Beulich <jbeulich@suse.com>
+Subject: x86/EPT: ept_set_middle_entry() related adjustments
+
+ept_split_super_page() wants to further modify the newly allocated
+table, so have ept_set_middle_entry() return the mapped pointer rather
+than tearing it down and then getting re-established right again.
+
+Similarly ept_next_level() wants to hand back a mapped pointer of
+the next level page, so re-use the one established by
+ept_set_middle_entry() in case that path was taken.
+
+Pull the setting of suppress_ve ahead of insertion into the higher level
+table, and don't have ept_split_super_page() set the field a 2nd time.
+
+This is part of XSA-328.
+
+Signed-off-by: Jan Beulich <jbeulich@suse.com>
+
+--- a/xen/arch/x86/mm/p2m-ept.c
++++ b/xen/arch/x86/mm/p2m-ept.c
+@@ -187,8 +187,9 @@ static void ept_p2m_type_to_flags(struct
+ #define GUEST_TABLE_SUPER_PAGE 2
+ #define GUEST_TABLE_POD_PAGE 3
+
+-/* Fill in middle levels of ept table */
+-static int ept_set_middle_entry(struct p2m_domain *p2m, ept_entry_t *ept_entry)
++/* Fill in middle level of ept table; return pointer to mapped new table. */
++static ept_entry_t *ept_set_middle_entry(struct p2m_domain *p2m,
++ ept_entry_t *ept_entry)
+ {
+ mfn_t mfn;
+ ept_entry_t *table;
+@@ -196,7 +197,12 @@ static int ept_set_middle_entry(struct p
+
+ mfn = p2m_alloc_ptp(p2m, 0);
+ if ( mfn_eq(mfn, INVALID_MFN) )
+- return 0;
++ return NULL;
++
++ table = map_domain_page(mfn);
++
++ for ( i = 0; i < EPT_PAGETABLE_ENTRIES; i++ )
++ table[i].suppress_ve = 1;
+
+ ept_entry->epte = 0;
+ ept_entry->mfn = mfn_x(mfn);
+@@ -208,14 +214,7 @@ static int ept_set_middle_entry(struct p
+
+ ept_entry->suppress_ve = 1;
+
+- table = map_domain_page(mfn);
+-
+- for ( i = 0; i < EPT_PAGETABLE_ENTRIES; i++ )
+- table[i].suppress_ve = 1;
+-
+- unmap_domain_page(table);
+-
+- return 1;
++ return table;
+ }
+
+ /* free ept sub tree behind an entry */
+@@ -253,10 +252,10 @@ static bool_t ept_split_super_page(struc
+
+ ASSERT(is_epte_superpage(ept_entry));
+
+- if ( !ept_set_middle_entry(p2m, &new_ept) )
++ table = ept_set_middle_entry(p2m, &new_ept);
++ if ( !table )
+ return 0;
+
+- table = map_domain_page(_mfn(new_ept.mfn));
+ trunk = 1UL << ((level - 1) * EPT_TABLE_ORDER);
+
+ for ( i = 0; i < EPT_PAGETABLE_ENTRIES; i++ )
+@@ -267,7 +266,6 @@ static bool_t ept_split_super_page(struc
+ epte->sp = (level > 1);
+ epte->mfn += i * trunk;
+ epte->snp = is_iommu_enabled(p2m->domain) && iommu_snoop;
+- epte->suppress_ve = 1;
+
+ ept_p2m_type_to_flags(p2m, epte, epte->sa_p2mt, epte->access);
+
+@@ -306,8 +304,7 @@ static int ept_next_level(struct p2m_dom
+ ept_entry_t **table, unsigned long *gfn_remainder,
+ int next_level)
+ {
+- unsigned long mfn;
+- ept_entry_t *ept_entry, e;
++ ept_entry_t *ept_entry, *next = NULL, e;
+ u32 shift, index;
+
+ shift = next_level * EPT_TABLE_ORDER;
+@@ -332,19 +329,17 @@ static int ept_next_level(struct p2m_dom
+ if ( read_only )
+ return GUEST_TABLE_MAP_FAILED;
+
+- if ( !ept_set_middle_entry(p2m, ept_entry) )
++ next = ept_set_middle_entry(p2m, ept_entry);
++ if ( !next )
+ return GUEST_TABLE_MAP_FAILED;
+- else
+- e = atomic_read_ept_entry(ept_entry); /* Refresh */
++ /* e is now stale and hence may not be used anymore below. */
+ }
+-
+ /* The only time sp would be set here is if we had hit a superpage */
+- if ( is_epte_superpage(&e) )
++ else if ( is_epte_superpage(&e) )
+ return GUEST_TABLE_SUPER_PAGE;
+
+- mfn = e.mfn;
+ unmap_domain_page(*table);
+- *table = map_domain_page(_mfn(mfn));
++ *table = next ?: map_domain_page(_mfn(e.mfn));
+ *gfn_remainder &= (1UL << shift) - 1;
+ return GUEST_TABLE_NORMAL_PAGE;
+ }
diff --git a/system/xen/xsa/xsa328-4.13-2.patch b/system/xen/xsa/xsa328-4.13-2.patch
new file mode 100644
index 0000000000..c4f437f625
--- /dev/null
+++ b/system/xen/xsa/xsa328-4.13-2.patch
@@ -0,0 +1,48 @@
+From: <security@xenproject.org>
+Subject: x86/ept: atomically modify entries in ept_next_level
+
+ept_next_level was passing a live PTE pointer to ept_set_middle_entry,
+which was then modified without taking into account that the PTE could
+be part of a live EPT table. This wasn't a security issue because the
+pages returned by p2m_alloc_ptp are zeroed, so adding such an entry
+before actually initializing it didn't allow a guest to access
+physical memory addresses it wasn't supposed to access.
+
+This is part of XSA-328.
+
+Reviewed-by: Jan Beulich <jbeulich@suse.com>
+
+--- a/xen/arch/x86/mm/p2m-ept.c
++++ b/xen/arch/x86/mm/p2m-ept.c
+@@ -307,6 +307,8 @@ static int ept_next_level(struct p2m_dom
+ ept_entry_t *ept_entry, *next = NULL, e;
+ u32 shift, index;
+
++ ASSERT(next_level);
++
+ shift = next_level * EPT_TABLE_ORDER;
+
+ index = *gfn_remainder >> shift;
+@@ -323,16 +325,20 @@ static int ept_next_level(struct p2m_dom
+
+ if ( !is_epte_present(&e) )
+ {
++ int rc;
++
+ if ( e.sa_p2mt == p2m_populate_on_demand )
+ return GUEST_TABLE_POD_PAGE;
+
+ if ( read_only )
+ return GUEST_TABLE_MAP_FAILED;
+
+- next = ept_set_middle_entry(p2m, ept_entry);
++ next = ept_set_middle_entry(p2m, &e);
+ if ( !next )
+ return GUEST_TABLE_MAP_FAILED;
+- /* e is now stale and hence may not be used anymore below. */
++
++ rc = atomic_write_ept_entry(p2m, ept_entry, e, next_level);
++ ASSERT(rc == 0);
+ }
+ /* The only time sp would be set here is if we had hit a superpage */
+ else if ( is_epte_superpage(&e) )
diff --git a/system/xen/xsa/xsa328-post-xsa321-4.13-1.patch b/system/xen/xsa/xsa328-post-xsa321-4.13-1.patch
new file mode 100644
index 0000000000..9a08ab240e
--- /dev/null
+++ b/system/xen/xsa/xsa328-post-xsa321-4.13-1.patch
@@ -0,0 +1,31 @@
+From: Jan Beulich <jbeulich@suse.com>
+Subject: vtd: improve IOMMU TLB flush
+
+Do not limit PSI flushes to order 0 pages, in order to avoid doing a
+full TLB flush if the passed in page has an order greater than 0 and
+is aligned. Should increase the performance of IOMMU TLB flushes when
+dealing with page orders greater than 0.
+
+This is part of XSA-321.
+
+Signed-off-by: Jan Beulich <jbeulich@suse.com>
+
+--- a/xen/drivers/passthrough/vtd/iommu.c
++++ b/xen/drivers/passthrough/vtd/iommu.c
+@@ -570,13 +570,14 @@ static int __must_check iommu_flush_iotl
+ if ( iommu_domid == -1 )
+ continue;
+
+- if ( page_count != 1 || dfn_eq(dfn, INVALID_DFN) )
++ if ( !page_count || (page_count & (page_count - 1)) ||
++ dfn_eq(dfn, INVALID_DFN) || !IS_ALIGNED(dfn_x(dfn), page_count) )
+ rc = iommu_flush_iotlb_dsi(iommu, iommu_domid,
+ 0, flush_dev_iotlb);
+ else
+ rc = iommu_flush_iotlb_psi(iommu, iommu_domid,
+ dfn_to_daddr(dfn),
+- PAGE_ORDER_4K,
++ get_order_from_pages(page_count),
+ !dma_old_pte_present,
+ flush_dev_iotlb);
+
diff --git a/system/xen/xsa/xsa328-post-xsa321-4.13-2.patch b/system/xen/xsa/xsa328-post-xsa321-4.13-2.patch
new file mode 100644
index 0000000000..1e48615f2b
--- /dev/null
+++ b/system/xen/xsa/xsa328-post-xsa321-4.13-2.patch
@@ -0,0 +1,175 @@
+From: <security@xenproject.org>
+Subject: vtd: prune (and rename) cache flush functions
+
+Rename __iommu_flush_cache to iommu_sync_cache and remove
+iommu_flush_cache_page. Also remove the iommu_flush_cache_entry
+wrapper and just use iommu_sync_cache instead. Note the _entry suffix
+was meaningless as the wrapper was already taking a size parameter in
+bytes. While there also constify the addr parameter.
+
+No functional change intended.
+
+This is part of XSA-321.
+
+Reviewed-by: Jan Beulich <jbeulich@suse.com>
+
+--- a/xen/drivers/passthrough/vtd/extern.h
++++ b/xen/drivers/passthrough/vtd/extern.h
+@@ -43,8 +43,7 @@ void disable_qinval(struct vtd_iommu *io
+ int enable_intremap(struct vtd_iommu *iommu, int eim);
+ void disable_intremap(struct vtd_iommu *iommu);
+
+-void iommu_flush_cache_entry(void *addr, unsigned int size);
+-void iommu_flush_cache_page(void *addr, unsigned long npages);
++void iommu_sync_cache(const void *addr, unsigned int size);
+ int iommu_alloc(struct acpi_drhd_unit *drhd);
+ void iommu_free(struct acpi_drhd_unit *drhd);
+
+--- a/xen/drivers/passthrough/vtd/intremap.c
++++ b/xen/drivers/passthrough/vtd/intremap.c
+@@ -230,7 +230,7 @@ static void free_remap_entry(struct vtd_
+ iremap_entries, iremap_entry);
+
+ update_irte(iommu, iremap_entry, &new_ire, false);
+- iommu_flush_cache_entry(iremap_entry, sizeof(*iremap_entry));
++ iommu_sync_cache(iremap_entry, sizeof(*iremap_entry));
+ iommu_flush_iec_index(iommu, 0, index);
+
+ unmap_vtd_domain_page(iremap_entries);
+@@ -406,7 +406,7 @@ static int ioapic_rte_to_remap_entry(str
+ }
+
+ update_irte(iommu, iremap_entry, &new_ire, !init);
+- iommu_flush_cache_entry(iremap_entry, sizeof(*iremap_entry));
++ iommu_sync_cache(iremap_entry, sizeof(*iremap_entry));
+ iommu_flush_iec_index(iommu, 0, index);
+
+ unmap_vtd_domain_page(iremap_entries);
+@@ -695,7 +695,7 @@ static int msi_msg_to_remap_entry(
+ update_irte(iommu, iremap_entry, &new_ire, msi_desc->irte_initialized);
+ msi_desc->irte_initialized = true;
+
+- iommu_flush_cache_entry(iremap_entry, sizeof(*iremap_entry));
++ iommu_sync_cache(iremap_entry, sizeof(*iremap_entry));
+ iommu_flush_iec_index(iommu, 0, index);
+
+ unmap_vtd_domain_page(iremap_entries);
+--- a/xen/drivers/passthrough/vtd/iommu.c
++++ b/xen/drivers/passthrough/vtd/iommu.c
+@@ -140,7 +140,8 @@ static int context_get_domain_id(struct
+ }
+
+ static int iommus_incoherent;
+-static void __iommu_flush_cache(void *addr, unsigned int size)
++
++void iommu_sync_cache(const void *addr, unsigned int size)
+ {
+ int i;
+ static unsigned int clflush_size = 0;
+@@ -155,16 +156,6 @@ static void __iommu_flush_cache(void *ad
+ cacheline_flush((char *)addr + i);
+ }
+
+-void iommu_flush_cache_entry(void *addr, unsigned int size)
+-{
+- __iommu_flush_cache(addr, size);
+-}
+-
+-void iommu_flush_cache_page(void *addr, unsigned long npages)
+-{
+- __iommu_flush_cache(addr, PAGE_SIZE * npages);
+-}
+-
+ /* Allocate page table, return its machine address */
+ uint64_t alloc_pgtable_maddr(unsigned long npages, nodeid_t node)
+ {
+@@ -183,7 +174,7 @@ uint64_t alloc_pgtable_maddr(unsigned lo
+ vaddr = __map_domain_page(cur_pg);
+ memset(vaddr, 0, PAGE_SIZE);
+
+- iommu_flush_cache_page(vaddr, 1);
++ iommu_sync_cache(vaddr, PAGE_SIZE);
+ unmap_domain_page(vaddr);
+ cur_pg++;
+ }
+@@ -216,7 +207,7 @@ static u64 bus_to_context_maddr(struct v
+ }
+ set_root_value(*root, maddr);
+ set_root_present(*root);
+- iommu_flush_cache_entry(root, sizeof(struct root_entry));
++ iommu_sync_cache(root, sizeof(struct root_entry));
+ }
+ maddr = (u64) get_context_addr(*root);
+ unmap_vtd_domain_page(root_entries);
+@@ -263,7 +254,7 @@ static u64 addr_to_dma_page_maddr(struct
+ */
+ dma_set_pte_readable(*pte);
+ dma_set_pte_writable(*pte);
+- iommu_flush_cache_entry(pte, sizeof(struct dma_pte));
++ iommu_sync_cache(pte, sizeof(struct dma_pte));
+ }
+
+ if ( level == 2 )
+@@ -640,7 +631,7 @@ static int __must_check dma_pte_clear_on
+ *flush_flags |= IOMMU_FLUSHF_modified;
+
+ spin_unlock(&hd->arch.mapping_lock);
+- iommu_flush_cache_entry(pte, sizeof(struct dma_pte));
++ iommu_sync_cache(pte, sizeof(struct dma_pte));
+
+ unmap_vtd_domain_page(page);
+
+@@ -679,7 +670,7 @@ static void iommu_free_page_table(struct
+ iommu_free_pagetable(dma_pte_addr(*pte), next_level);
+
+ dma_clear_pte(*pte);
+- iommu_flush_cache_entry(pte, sizeof(struct dma_pte));
++ iommu_sync_cache(pte, sizeof(struct dma_pte));
+ }
+
+ unmap_vtd_domain_page(pt_vaddr);
+@@ -1400,7 +1391,7 @@ int domain_context_mapping_one(
+ context_set_address_width(*context, agaw);
+ context_set_fault_enable(*context);
+ context_set_present(*context);
+- iommu_flush_cache_entry(context, sizeof(struct context_entry));
++ iommu_sync_cache(context, sizeof(struct context_entry));
+ spin_unlock(&iommu->lock);
+
+ /* Context entry was previously non-present (with domid 0). */
+@@ -1564,7 +1555,7 @@ int domain_context_unmap_one(
+
+ context_clear_present(*context);
+ context_clear_entry(*context);
+- iommu_flush_cache_entry(context, sizeof(struct context_entry));
++ iommu_sync_cache(context, sizeof(struct context_entry));
+
+ iommu_domid= domain_iommu_domid(domain, iommu);
+ if ( iommu_domid == -1 )
+@@ -1791,7 +1782,7 @@ static int __must_check intel_iommu_map_
+
+ *pte = new;
+
+- iommu_flush_cache_entry(pte, sizeof(struct dma_pte));
++ iommu_sync_cache(pte, sizeof(struct dma_pte));
+ spin_unlock(&hd->arch.mapping_lock);
+ unmap_vtd_domain_page(page);
+
+@@ -1866,7 +1857,7 @@ int iommu_pte_flush(struct domain *d, ui
+ int iommu_domid;
+ int rc = 0;
+
+- iommu_flush_cache_entry(pte, sizeof(struct dma_pte));
++ iommu_sync_cache(pte, sizeof(struct dma_pte));
+
+ for_each_drhd_unit ( drhd )
+ {
+@@ -2724,7 +2715,7 @@ static int __init intel_iommu_quarantine
+ dma_set_pte_addr(*pte, maddr);
+ dma_set_pte_readable(*pte);
+ }
+- iommu_flush_cache_page(parent, 1);
++ iommu_sync_cache(parent, PAGE_SIZE);
+
+ unmap_vtd_domain_page(parent);
+ parent = map_vtd_domain_page(maddr);
diff --git a/system/xen/xsa/xsa328-post-xsa321-4.13-3.patch b/system/xen/xsa/xsa328-post-xsa321-4.13-3.patch
new file mode 100644
index 0000000000..c141c4b785
--- /dev/null
+++ b/system/xen/xsa/xsa328-post-xsa321-4.13-3.patch
@@ -0,0 +1,82 @@
+From: <security@xenproject.org>
+Subject: x86/iommu: introduce a cache sync hook
+
+The hook is only implemented for VT-d and it uses the already existing
+iommu_sync_cache function present in VT-d code. The new hook is
+added so that the cache can be flushed by code outside of VT-d when
+using shared page tables.
+
+Note that alloc_pgtable_maddr must use the now locally defined
+sync_cache function, because IOMMU ops are not yet setup the first
+time the function gets called during IOMMU initialization.
+
+No functional change intended.
+
+This is part of XSA-321.
+
+Reviewed-by: Jan Beulich <jbeulich@suse.com>
+
+--- a/xen/drivers/passthrough/vtd/extern.h
++++ b/xen/drivers/passthrough/vtd/extern.h
+@@ -43,7 +43,6 @@ void disable_qinval(struct vtd_iommu *io
+ int enable_intremap(struct vtd_iommu *iommu, int eim);
+ void disable_intremap(struct vtd_iommu *iommu);
+
+-void iommu_sync_cache(const void *addr, unsigned int size);
+ int iommu_alloc(struct acpi_drhd_unit *drhd);
+ void iommu_free(struct acpi_drhd_unit *drhd);
+
+--- a/xen/drivers/passthrough/vtd/iommu.c
++++ b/xen/drivers/passthrough/vtd/iommu.c
+@@ -141,7 +141,7 @@ static int context_get_domain_id(struct
+
+ static int iommus_incoherent;
+
+-void iommu_sync_cache(const void *addr, unsigned int size)
++static void sync_cache(const void *addr, unsigned int size)
+ {
+ int i;
+ static unsigned int clflush_size = 0;
+@@ -174,7 +174,7 @@ uint64_t alloc_pgtable_maddr(unsigned lo
+ vaddr = __map_domain_page(cur_pg);
+ memset(vaddr, 0, PAGE_SIZE);
+
+- iommu_sync_cache(vaddr, PAGE_SIZE);
++ sync_cache(vaddr, PAGE_SIZE);
+ unmap_domain_page(vaddr);
+ cur_pg++;
+ }
+@@ -2763,6 +2763,7 @@ const struct iommu_ops __initconstrel in
+ .iotlb_flush_all = iommu_flush_iotlb_all,
+ .get_reserved_device_memory = intel_iommu_get_reserved_device_memory,
+ .dump_p2m_table = vtd_dump_p2m_table,
++ .sync_cache = sync_cache,
+ };
+
+ const struct iommu_init_ops __initconstrel intel_iommu_init_ops = {
+--- a/xen/include/asm-x86/iommu.h
++++ b/xen/include/asm-x86/iommu.h
+@@ -121,6 +121,13 @@ extern bool untrusted_msi;
+ int pi_update_irte(const struct pi_desc *pi_desc, const struct pirq *pirq,
+ const uint8_t gvec);
+
++#define iommu_sync_cache(addr, size) ({ \
++ const struct iommu_ops *ops = iommu_get_ops(); \
++ \
++ if ( ops->sync_cache ) \
++ iommu_vcall(ops, sync_cache, addr, size); \
++})
++
+ #endif /* !__ARCH_X86_IOMMU_H__ */
+ /*
+ * Local variables:
+--- a/xen/include/xen/iommu.h
++++ b/xen/include/xen/iommu.h
+@@ -250,6 +250,7 @@ struct iommu_ops {
+ int (*setup_hpet_msi)(struct msi_desc *);
+
+ int (*adjust_irq_affinities)(void);
++ void (*sync_cache)(const void *addr, unsigned int size);
+ #endif /* CONFIG_X86 */
+
+ int __must_check (*suspend)(void);
diff --git a/system/xen/xsa/xsa328-post-xsa321-4.13-4.patch b/system/xen/xsa/xsa328-post-xsa321-4.13-4.patch
new file mode 100644
index 0000000000..62bbcc7271
--- /dev/null
+++ b/system/xen/xsa/xsa328-post-xsa321-4.13-4.patch
@@ -0,0 +1,36 @@
+From: <security@xenproject.org>
+Subject: vtd: don't assume addresses are aligned in sync_cache
+
+Current code in sync_cache assume that the address passed in is
+aligned to a cache line size. Fix the code to support passing in
+arbitrary addresses not necessarily aligned to a cache line size.
+
+This is part of XSA-321.
+
+Reviewed-by: Jan Beulich <jbeulich@suse.com>
+
+--- a/xen/drivers/passthrough/vtd/iommu.c
++++ b/xen/drivers/passthrough/vtd/iommu.c
+@@ -143,8 +143,8 @@ static int iommus_incoherent;
+
+ static void sync_cache(const void *addr, unsigned int size)
+ {
+- int i;
+- static unsigned int clflush_size = 0;
++ static unsigned long clflush_size = 0;
++ const void *end = addr + size;
+
+ if ( !iommus_incoherent )
+ return;
+@@ -152,8 +152,9 @@ static void sync_cache(const void *addr,
+ if ( clflush_size == 0 )
+ clflush_size = get_cache_line_size();
+
+- for ( i = 0; i < size; i += clflush_size )
+- cacheline_flush((char *)addr + i);
++ addr -= (unsigned long)addr & (clflush_size - 1);
++ for ( ; addr < end; addr += clflush_size )
++ cacheline_flush((char *)addr);
+ }
+
+ /* Allocate page table, return its machine address */
diff --git a/system/xen/xsa/xsa328-post-xsa321-4.13-5.patch b/system/xen/xsa/xsa328-post-xsa321-4.13-5.patch
new file mode 100644
index 0000000000..60cfe6ccdf
--- /dev/null
+++ b/system/xen/xsa/xsa328-post-xsa321-4.13-5.patch
@@ -0,0 +1,24 @@
+From: <security@xenproject.org>
+Subject: x86/alternative: introduce alternative_2
+
+It's based on alternative_io_2 without inputs or outputs but with an
+added memory clobber.
+
+This is part of XSA-321.
+
+Acked-by: Jan Beulich <jbeulich@suse.com>
+
+--- a/xen/include/asm-x86/alternative.h
++++ b/xen/include/asm-x86/alternative.h
+@@ -114,6 +114,11 @@ extern void alternative_branches(void);
+ #define alternative(oldinstr, newinstr, feature) \
+ asm volatile (ALTERNATIVE(oldinstr, newinstr, feature) : : : "memory")
+
++#define alternative_2(oldinstr, newinstr1, feature1, newinstr2, feature2) \
++ asm volatile (ALTERNATIVE_2(oldinstr, newinstr1, feature1, \
++ newinstr2, feature2) \
++ : : : "memory")
++
+ /*
+ * Alternative inline assembly with input.
+ *
diff --git a/system/xen/xsa/xsa328-post-xsa321-4.13-6.patch b/system/xen/xsa/xsa328-post-xsa321-4.13-6.patch
new file mode 100644
index 0000000000..4c5c5ab0ba
--- /dev/null
+++ b/system/xen/xsa/xsa328-post-xsa321-4.13-6.patch
@@ -0,0 +1,91 @@
+From: <security@xenproject.org>
+Subject: vtd: optimize CPU cache sync
+
+Some VT-d IOMMUs are non-coherent, which requires a cache write back
+in order for the changes made by the CPU to be visible to the IOMMU.
+This cache write back was unconditionally done using clflush, but there are
+other more efficient instructions to do so, hence implement support
+for them using the alternative framework.
+
+This is part of XSA-321.
+
+Reviewed-by: Jan Beulich <jbeulich@suse.com>
+
+--- a/xen/drivers/passthrough/vtd/extern.h
++++ b/xen/drivers/passthrough/vtd/extern.h
+@@ -68,7 +68,6 @@ int __must_check qinval_device_iotlb_syn
+ u16 did, u16 size, u64 addr);
+
+ unsigned int get_cache_line_size(void);
+-void cacheline_flush(char *);
+ void flush_all_cache(void);
+
+ uint64_t alloc_pgtable_maddr(unsigned long npages, nodeid_t node);
+--- a/xen/drivers/passthrough/vtd/iommu.c
++++ b/xen/drivers/passthrough/vtd/iommu.c
+@@ -31,6 +31,7 @@
+ #include <xen/pci_regs.h>
+ #include <xen/keyhandler.h>
+ #include <asm/msi.h>
++#include <asm/nops.h>
+ #include <asm/irq.h>
+ #include <asm/hvm/vmx/vmx.h>
+ #include <asm/p2m.h>
+@@ -154,7 +155,42 @@ static void sync_cache(const void *addr,
+
+ addr -= (unsigned long)addr & (clflush_size - 1);
+ for ( ; addr < end; addr += clflush_size )
+- cacheline_flush((char *)addr);
++/*
++ * The arguments to a macro must not include preprocessor directives. Doing so
++ * results in undefined behavior, so we have to create some defines here in
++ * order to avoid it.
++ */
++#if defined(HAVE_AS_CLWB)
++# define CLWB_ENCODING "clwb %[p]"
++#elif defined(HAVE_AS_XSAVEOPT)
++# define CLWB_ENCODING "data16 xsaveopt %[p]" /* clwb */
++#else
++# define CLWB_ENCODING ".byte 0x66, 0x0f, 0xae, 0x30" /* clwb (%%rax) */
++#endif
++
++#define BASE_INPUT(addr) [p] "m" (*(const char *)(addr))
++#if defined(HAVE_AS_CLWB) || defined(HAVE_AS_XSAVEOPT)
++# define INPUT BASE_INPUT
++#else
++# define INPUT(addr) "a" (addr), BASE_INPUT(addr)
++#endif
++ /*
++ * Note regarding the use of NOP_DS_PREFIX: it's faster to do a clflush
++ * + prefix than a clflush + nop, and hence the prefix is added instead
++ * of letting the alternative framework fill the gap by appending nops.
++ */
++ alternative_io_2(".byte " __stringify(NOP_DS_PREFIX) "; clflush %[p]",
++ "data16 clflush %[p]", /* clflushopt */
++ X86_FEATURE_CLFLUSHOPT,
++ CLWB_ENCODING,
++ X86_FEATURE_CLWB, /* no outputs */,
++ INPUT(addr));
++#undef INPUT
++#undef BASE_INPUT
++#undef CLWB_ENCODING
++
++ alternative_2("", "sfence", X86_FEATURE_CLFLUSHOPT,
++ "sfence", X86_FEATURE_CLWB);
+ }
+
+ /* Allocate page table, return its machine address */
+--- a/xen/drivers/passthrough/vtd/x86/vtd.c
++++ b/xen/drivers/passthrough/vtd/x86/vtd.c
+@@ -51,11 +51,6 @@ unsigned int get_cache_line_size(void)
+ return ((cpuid_ebx(1) >> 8) & 0xff) * 8;
+ }
+
+-void cacheline_flush(char * addr)
+-{
+- clflush(addr);
+-}
+-
+ void flush_all_cache()
+ {
+ wbinvd();
diff --git a/system/xen/xsa/xsa328-post-xsa321-4.13-7.patch b/system/xen/xsa/xsa328-post-xsa321-4.13-7.patch
new file mode 100644
index 0000000000..0bd018f972
--- /dev/null
+++ b/system/xen/xsa/xsa328-post-xsa321-4.13-7.patch
@@ -0,0 +1,153 @@
+From: <security@xenproject.org>
+Subject: x86/ept: flush cache when modifying PTEs and sharing page tables
+
+Modifications made to the page tables by EPT code need to be written
+to memory when the page tables are shared with the IOMMU, as Intel
+IOMMUs can be non-coherent and thus require changes to be written to
+memory in order to be visible to the IOMMU.
+
+In order to achieve this make sure data is written back to memory
+after writing an EPT entry when the recalc bit is not set in
+atomic_write_ept_entry. If such bit is set, the entry will be
+adjusted and atomic_write_ept_entry will be called a second time
+without the recalc bit set. Note that when splitting a super page the
+new tables resulting of the split should also be written back.
+
+Failure to do so can allow devices behind the IOMMU access to the
+stale super page, or cause coherency issues as changes made by the
+processor to the page tables are not visible to the IOMMU.
+
+This allows to remove the VT-d specific iommu_pte_flush helper, since
+the cache write back is now performed by atomic_write_ept_entry, and
+hence iommu_iotlb_flush can be used to flush the IOMMU TLB. The newly
+used method (iommu_iotlb_flush) can result in less flushes, since it
+might sometimes be called rightly with 0 flags, in which case it
+becomes a no-op.
+
+This is part of XSA-321.
+
+Reviewed-by: Jan Beulich <jbeulich@suse.com>
+
+--- a/xen/arch/x86/mm/p2m-ept.c
++++ b/xen/arch/x86/mm/p2m-ept.c
+@@ -58,6 +58,19 @@ static int atomic_write_ept_entry(struct
+
+ write_atomic(&entryptr->epte, new.epte);
+
++ /*
++ * The recalc field on the EPT is used to signal either that a
++ * recalculation of the EMT field is required (which doesn't effect the
++ * IOMMU), or a type change. Type changes can only be between ram_rw,
++ * logdirty and ioreq_server: changes to/from logdirty won't work well with
++ * an IOMMU anyway, as IOMMU #PFs are not synchronous and will lead to
++ * aborts, and changes to/from ioreq_server are already fully flushed
++ * before returning to guest context (see
++ * XEN_DMOP_map_mem_type_to_ioreq_server).
++ */
++ if ( !new.recalc && iommu_use_hap_pt(p2m->domain) )
++ iommu_sync_cache(entryptr, sizeof(*entryptr));
++
+ return 0;
+ }
+
+@@ -278,6 +291,9 @@ static bool_t ept_split_super_page(struc
+ break;
+ }
+
++ if ( iommu_use_hap_pt(p2m->domain) )
++ iommu_sync_cache(table, EPT_PAGETABLE_ENTRIES * sizeof(ept_entry_t));
++
+ unmap_domain_page(table);
+
+ /* Even failed we should install the newly allocated ept page. */
+@@ -337,6 +353,9 @@ static int ept_next_level(struct p2m_dom
+ if ( !next )
+ return GUEST_TABLE_MAP_FAILED;
+
++ if ( iommu_use_hap_pt(p2m->domain) )
++ iommu_sync_cache(next, EPT_PAGETABLE_ENTRIES * sizeof(ept_entry_t));
++
+ rc = atomic_write_ept_entry(p2m, ept_entry, e, next_level);
+ ASSERT(rc == 0);
+ }
+@@ -821,7 +840,10 @@ out:
+ need_modify_vtd_table )
+ {
+ if ( iommu_use_hap_pt(d) )
+- rc = iommu_pte_flush(d, gfn, &ept_entry->epte, order, vtd_pte_present);
++ rc = iommu_iotlb_flush(d, _dfn(gfn), (1u << order),
++ (iommu_flags ? IOMMU_FLUSHF_added : 0) |
++ (vtd_pte_present ? IOMMU_FLUSHF_modified
++ : 0));
+ else if ( need_iommu_pt_sync(d) )
+ rc = iommu_flags ?
+ iommu_legacy_map(d, _dfn(gfn), mfn, order, iommu_flags) :
+--- a/xen/drivers/passthrough/vtd/iommu.c
++++ b/xen/drivers/passthrough/vtd/iommu.c
+@@ -1884,53 +1884,6 @@ static int intel_iommu_lookup_page(struc
+ return 0;
+ }
+
+-int iommu_pte_flush(struct domain *d, uint64_t dfn, uint64_t *pte,
+- int order, int present)
+-{
+- struct acpi_drhd_unit *drhd;
+- struct vtd_iommu *iommu = NULL;
+- struct domain_iommu *hd = dom_iommu(d);
+- bool_t flush_dev_iotlb;
+- int iommu_domid;
+- int rc = 0;
+-
+- iommu_sync_cache(pte, sizeof(struct dma_pte));
+-
+- for_each_drhd_unit ( drhd )
+- {
+- iommu = drhd->iommu;
+- if ( !test_bit(iommu->index, &hd->arch.iommu_bitmap) )
+- continue;
+-
+- flush_dev_iotlb = !!find_ats_dev_drhd(iommu);
+- iommu_domid= domain_iommu_domid(d, iommu);
+- if ( iommu_domid == -1 )
+- continue;
+-
+- rc = iommu_flush_iotlb_psi(iommu, iommu_domid,
+- __dfn_to_daddr(dfn),
+- order, !present, flush_dev_iotlb);
+- if ( rc > 0 )
+- {
+- iommu_flush_write_buffer(iommu);
+- rc = 0;
+- }
+- }
+-
+- if ( unlikely(rc) )
+- {
+- if ( !d->is_shutting_down && printk_ratelimit() )
+- printk(XENLOG_ERR VTDPREFIX
+- " d%d: IOMMU pages flush failed: %d\n",
+- d->domain_id, rc);
+-
+- if ( !is_hardware_domain(d) )
+- domain_crash(d);
+- }
+-
+- return rc;
+-}
+-
+ static int __init vtd_ept_page_compatible(struct vtd_iommu *iommu)
+ {
+ u64 ept_cap, vtd_cap = iommu->cap;
+--- a/xen/include/asm-x86/iommu.h
++++ b/xen/include/asm-x86/iommu.h
+@@ -97,10 +97,6 @@ static inline int iommu_adjust_irq_affin
+ : 0;
+ }
+
+-/* While VT-d specific, this must get declared in a generic header. */
+-int __must_check iommu_pte_flush(struct domain *d, u64 gfn, u64 *pte,
+- int order, int present);
+-
+ static inline bool iommu_supports_x2apic(void)
+ {
+ return iommu_init_ops && iommu_init_ops->supports_x2apic
diff --git a/system/xen/xsa/xsa333.patch b/system/xen/xsa/xsa333.patch
new file mode 100644
index 0000000000..6b86c942fa
--- /dev/null
+++ b/system/xen/xsa/xsa333.patch
@@ -0,0 +1,39 @@
+From: Andrew Cooper <andrew.cooper3@citrix.com>
+Subject: x86/pv: Handle the Intel-specific MSR_MISC_ENABLE correctly
+
+This MSR doesn't exist on AMD hardware, and switching away from the safe
+functions in the common MSR path was an erroneous change.
+
+Partially revert the change.
+
+This is XSA-333.
+
+Fixes: 4fdc932b3cc ("x86/Intel: drop another 32-bit leftover")
+Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
+Reviewed-by: Jan Beulich <jbeulich@suse.com>
+Reviewed-by: Wei Liu <wl@xen.org>
+
+diff --git a/xen/arch/x86/pv/emul-priv-op.c b/xen/arch/x86/pv/emul-priv-op.c
+index efeb2a727e..6332c74b80 100644
+--- a/xen/arch/x86/pv/emul-priv-op.c
++++ b/xen/arch/x86/pv/emul-priv-op.c
+@@ -924,7 +924,8 @@ static int read_msr(unsigned int reg, uint64_t *val,
+ return X86EMUL_OKAY;
+
+ case MSR_IA32_MISC_ENABLE:
+- rdmsrl(reg, *val);
++ if ( rdmsr_safe(reg, *val) )
++ break;
+ *val = guest_misc_enable(*val);
+ return X86EMUL_OKAY;
+
+@@ -1059,7 +1060,8 @@ static int write_msr(unsigned int reg, uint64_t val,
+ break;
+
+ case MSR_IA32_MISC_ENABLE:
+- rdmsrl(reg, temp);
++ if ( rdmsr_safe(reg, temp) )
++ break;
+ if ( val != guest_misc_enable(temp) )
+ goto invalid;
+ return X86EMUL_OKAY;
diff --git a/system/xen/xsa/xsa334.patch b/system/xen/xsa/xsa334.patch
new file mode 100644
index 0000000000..4260cdb2b2
--- /dev/null
+++ b/system/xen/xsa/xsa334.patch
@@ -0,0 +1,51 @@
+From: Andrew Cooper <andrew.cooper3@citrix.com>
+Subject: xen/memory: Don't skip the RCU unlock path in acquire_resource()
+
+In the case that an HVM Stubdomain makes an XENMEM_acquire_resource hypercall,
+the FIXME path will bypass rcu_unlock_domain() on the way out of the function.
+
+Move the check to the start of the function. This does change the behaviour
+of the get-size path for HVM Stubdomains, but that functionality is currently
+broken and unused anyway, as well as being quite useless to entities which
+can't actually map the resource anyway.
+
+This is XSA-334.
+
+Fixes: 83fa6552ce ("common: add a new mappable resource type: XENMEM_resource_grant_table")
+Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
+Reviewed-by: Jan Beulich <jbeulich@suse.com>
+
+diff --git a/xen/common/memory.c b/xen/common/memory.c
+index 1a3c9ffb30..29741d8904 100644
+--- a/xen/common/memory.c
++++ b/xen/common/memory.c
+@@ -1058,6 +1058,14 @@ static int acquire_resource(
+ xen_pfn_t mfn_list[32];
+ int rc;
+
++ /*
++ * FIXME: Until foreign pages inserted into the P2M are properly
++ * reference counted, it is unsafe to allow mapping of
++ * resource pages unless the caller is the hardware domain.
++ */
++ if ( paging_mode_translate(currd) && !is_hardware_domain(currd) )
++ return -EACCES;
++
+ if ( copy_from_guest(&xmar, arg, 1) )
+ return -EFAULT;
+
+@@ -1114,14 +1122,6 @@ static int acquire_resource(
+ xen_pfn_t gfn_list[ARRAY_SIZE(mfn_list)];
+ unsigned int i;
+
+- /*
+- * FIXME: Until foreign pages inserted into the P2M are properly
+- * reference counted, it is unsafe to allow mapping of
+- * resource pages unless the caller is the hardware domain.
+- */
+- if ( !is_hardware_domain(currd) )
+- return -EACCES;
+-
+ if ( copy_from_guest(gfn_list, xmar.frame_list, xmar.nr_frames) )
+ rc = -EFAULT;
+
diff --git a/system/xen/xsa/xsa335-qemu.patch b/system/xen/xsa/xsa335-qemu.patch
new file mode 100644
index 0000000000..5617502359
--- /dev/null
+++ b/system/xen/xsa/xsa335-qemu.patch
@@ -0,0 +1,84 @@
+From c5bd2924c6d6a5bcbffb8b5e7798a88970131c07 Mon Sep 17 00:00:00 2001
+From: Gerd Hoffmann <kraxel@redhat.com>
+Date: Mon, 17 Aug 2020 08:34:22 +0200
+Subject: [PATCH] usb: fix setup_len init (CVE-2020-14364)
+
+Store calculated setup_len in a local variable, verify it, and only
+write it to the struct (USBDevice->setup_len) in case it passed the
+sanity checks.
+
+This prevents other code (do_token_{in,out} functions specifically)
+from working with invalid USBDevice->setup_len values and overrunning
+the USBDevice->setup_buf[] buffer.
+
+Fixes: CVE-2020-14364
+Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
+---
+ hw/usb/core.c | 16 ++++++++++------
+ 1 file changed, 10 insertions(+), 6 deletions(-)
+
+diff --git a/hw/usb/core.c b/hw/usb/core.c
+index 5abd128b6bc5..5234dcc73fea 100644
+--- a/hw/usb/core.c
++++ b/hw/usb/core.c
+@@ -129,6 +129,7 @@ void usb_wakeup(USBEndpoint *ep, unsigned int stream)
+ static void do_token_setup(USBDevice *s, USBPacket *p)
+ {
+ int request, value, index;
++ unsigned int setup_len;
+
+ if (p->iov.size != 8) {
+ p->status = USB_RET_STALL;
+@@ -138,14 +139,15 @@ static void do_token_setup(USBDevice *s, USBPacket *p)
+ usb_packet_copy(p, s->setup_buf, p->iov.size);
+ s->setup_index = 0;
+ p->actual_length = 0;
+- s->setup_len = (s->setup_buf[7] << 8) | s->setup_buf[6];
+- if (s->setup_len > sizeof(s->data_buf)) {
++ setup_len = (s->setup_buf[7] << 8) | s->setup_buf[6];
++ if (setup_len > sizeof(s->data_buf)) {
+ fprintf(stderr,
+ "usb_generic_handle_packet: ctrl buffer too small (%d > %zu)\n",
+- s->setup_len, sizeof(s->data_buf));
++ setup_len, sizeof(s->data_buf));
+ p->status = USB_RET_STALL;
+ return;
+ }
++ s->setup_len = setup_len;
+
+ request = (s->setup_buf[0] << 8) | s->setup_buf[1];
+ value = (s->setup_buf[3] << 8) | s->setup_buf[2];
+@@ -259,26 +261,28 @@ static void do_token_out(USBDevice *s, USBPacket *p)
+ static void do_parameter(USBDevice *s, USBPacket *p)
+ {
+ int i, request, value, index;
++ unsigned int setup_len;
+
+ for (i = 0; i < 8; i++) {
+ s->setup_buf[i] = p->parameter >> (i*8);
+ }
+
+ s->setup_state = SETUP_STATE_PARAM;
+- s->setup_len = (s->setup_buf[7] << 8) | s->setup_buf[6];
+ s->setup_index = 0;
+
+ request = (s->setup_buf[0] << 8) | s->setup_buf[1];
+ value = (s->setup_buf[3] << 8) | s->setup_buf[2];
+ index = (s->setup_buf[5] << 8) | s->setup_buf[4];
+
+- if (s->setup_len > sizeof(s->data_buf)) {
++ setup_len = (s->setup_buf[7] << 8) | s->setup_buf[6];
++ if (setup_len > sizeof(s->data_buf)) {
+ fprintf(stderr,
+ "usb_generic_handle_packet: ctrl buffer too small (%d > %zu)\n",
+- s->setup_len, sizeof(s->data_buf));
++ setup_len, sizeof(s->data_buf));
+ p->status = USB_RET_STALL;
+ return;
+ }
++ s->setup_len = setup_len;
+
+ if (p->pid == USB_TOKEN_OUT) {
+ usb_packet_copy(p, s->data_buf, s->setup_len);
+--
+2.18.4
diff --git a/system/xen/xsa/xsa336.patch b/system/xen/xsa/xsa336.patch
new file mode 100644
index 0000000000..b44c298b70
--- /dev/null
+++ b/system/xen/xsa/xsa336.patch
@@ -0,0 +1,283 @@
+From: Roger Pau Monné <roger.pau@citrix.com>
+Subject: x86/vpt: fix race when migrating timers between vCPUs
+
+The current vPT code will migrate the emulated timers between vCPUs
+(change the pt->vcpu field) while just holding the destination lock,
+either from create_periodic_time or pt_adjust_global_vcpu_target if
+the global target is adjusted. Changing the periodic_timer vCPU field
+in this way creates a race where a third party could grab the lock in
+the unlocked region of pt_adjust_global_vcpu_target (or before
+create_periodic_time performs the vcpu change) and then release the
+lock from a different vCPU, creating a locking imbalance.
+
+Introduce a per-domain rwlock in order to protect periodic_time
+migration between vCPU lists. Taking the lock in read mode prevents
+any timer from being migrated to a different vCPU, while taking it in
+write mode allows performing migration of timers across vCPUs. The
+per-vcpu locks are still used to protect all the other fields from the
+periodic_timer struct.
+
+Note that such migration shouldn't happen frequently, and hence
+there's no performance drop as a result of such locking.
+
+This is XSA-336.
+
+Reported-by: Igor Druzhinin <igor.druzhinin@citrix.com>
+Tested-by: Igor Druzhinin <igor.druzhinin@citrix.com>
+Signed-off-by: Roger Pau Monné <roger.pau@citrix.com>
+Reviewed-by: Jan Beulich <jbeulich@suse.com>
+---
+Changes since v2:
+ - Re-order pt_adjust_vcpu to remove one if.
+ - Fix pt_lock to not call pt_vcpu_lock, as we might end up using a
+ stale value of pt->vcpu when taking the per-vcpu lock.
+
+Changes since v1:
+ - Use a per-domain rwlock to protect timer vCPU migration.
+
+--- a/xen/arch/x86/hvm/hvm.c
++++ b/xen/arch/x86/hvm/hvm.c
+@@ -658,6 +658,8 @@ int hvm_domain_initialise(struct domain
+ /* need link to containing domain */
+ d->arch.hvm.pl_time->domain = d;
+
++ rwlock_init(&d->arch.hvm.pl_time->pt_migrate);
++
+ /* Set the default IO Bitmap. */
+ if ( is_hardware_domain(d) )
+ {
+--- a/xen/arch/x86/hvm/vpt.c
++++ b/xen/arch/x86/hvm/vpt.c
+@@ -153,23 +153,32 @@ static int pt_irq_masked(struct periodic
+ return 1;
+ }
+
+-static void pt_lock(struct periodic_time *pt)
++static void pt_vcpu_lock(struct vcpu *v)
+ {
+- struct vcpu *v;
++ read_lock(&v->domain->arch.hvm.pl_time->pt_migrate);
++ spin_lock(&v->arch.hvm.tm_lock);
++}
+
+- for ( ; ; )
+- {
+- v = pt->vcpu;
+- spin_lock(&v->arch.hvm.tm_lock);
+- if ( likely(pt->vcpu == v) )
+- break;
+- spin_unlock(&v->arch.hvm.tm_lock);
+- }
++static void pt_vcpu_unlock(struct vcpu *v)
++{
++ spin_unlock(&v->arch.hvm.tm_lock);
++ read_unlock(&v->domain->arch.hvm.pl_time->pt_migrate);
++}
++
++static void pt_lock(struct periodic_time *pt)
++{
++ /*
++ * We cannot use pt_vcpu_lock here, because we need to acquire the
++ * per-domain lock first and then (re-)fetch the value of pt->vcpu, or
++ * else we might be using a stale value of pt->vcpu.
++ */
++ read_lock(&pt->vcpu->domain->arch.hvm.pl_time->pt_migrate);
++ spin_lock(&pt->vcpu->arch.hvm.tm_lock);
+ }
+
+ static void pt_unlock(struct periodic_time *pt)
+ {
+- spin_unlock(&pt->vcpu->arch.hvm.tm_lock);
++ pt_vcpu_unlock(pt->vcpu);
+ }
+
+ static void pt_process_missed_ticks(struct periodic_time *pt)
+@@ -219,7 +228,7 @@ void pt_save_timer(struct vcpu *v)
+ if ( v->pause_flags & VPF_blocked )
+ return;
+
+- spin_lock(&v->arch.hvm.tm_lock);
++ pt_vcpu_lock(v);
+
+ list_for_each_entry ( pt, head, list )
+ if ( !pt->do_not_freeze )
+@@ -227,7 +236,7 @@ void pt_save_timer(struct vcpu *v)
+
+ pt_freeze_time(v);
+
+- spin_unlock(&v->arch.hvm.tm_lock);
++ pt_vcpu_unlock(v);
+ }
+
+ void pt_restore_timer(struct vcpu *v)
+@@ -235,7 +244,7 @@ void pt_restore_timer(struct vcpu *v)
+ struct list_head *head = &v->arch.hvm.tm_list;
+ struct periodic_time *pt;
+
+- spin_lock(&v->arch.hvm.tm_lock);
++ pt_vcpu_lock(v);
+
+ list_for_each_entry ( pt, head, list )
+ {
+@@ -248,7 +257,7 @@ void pt_restore_timer(struct vcpu *v)
+
+ pt_thaw_time(v);
+
+- spin_unlock(&v->arch.hvm.tm_lock);
++ pt_vcpu_unlock(v);
+ }
+
+ static void pt_timer_fn(void *data)
+@@ -309,7 +318,7 @@ int pt_update_irq(struct vcpu *v)
+ int irq, pt_vector = -1;
+ bool level;
+
+- spin_lock(&v->arch.hvm.tm_lock);
++ pt_vcpu_lock(v);
+
+ earliest_pt = NULL;
+ max_lag = -1ULL;
+@@ -339,7 +348,7 @@ int pt_update_irq(struct vcpu *v)
+
+ if ( earliest_pt == NULL )
+ {
+- spin_unlock(&v->arch.hvm.tm_lock);
++ pt_vcpu_unlock(v);
+ return -1;
+ }
+
+@@ -347,7 +356,7 @@ int pt_update_irq(struct vcpu *v)
+ irq = earliest_pt->irq;
+ level = earliest_pt->level;
+
+- spin_unlock(&v->arch.hvm.tm_lock);
++ pt_vcpu_unlock(v);
+
+ switch ( earliest_pt->source )
+ {
+@@ -394,7 +403,7 @@ int pt_update_irq(struct vcpu *v)
+ time_cb *cb = NULL;
+ void *cb_priv;
+
+- spin_lock(&v->arch.hvm.tm_lock);
++ pt_vcpu_lock(v);
+ /* Make sure the timer is still on the list. */
+ list_for_each_entry ( pt, &v->arch.hvm.tm_list, list )
+ if ( pt == earliest_pt )
+@@ -404,7 +413,7 @@ int pt_update_irq(struct vcpu *v)
+ cb_priv = pt->priv;
+ break;
+ }
+- spin_unlock(&v->arch.hvm.tm_lock);
++ pt_vcpu_unlock(v);
+
+ if ( cb != NULL )
+ cb(v, cb_priv);
+@@ -441,12 +450,12 @@ void pt_intr_post(struct vcpu *v, struct
+ if ( intack.source == hvm_intsrc_vector )
+ return;
+
+- spin_lock(&v->arch.hvm.tm_lock);
++ pt_vcpu_lock(v);
+
+ pt = is_pt_irq(v, intack);
+ if ( pt == NULL )
+ {
+- spin_unlock(&v->arch.hvm.tm_lock);
++ pt_vcpu_unlock(v);
+ return;
+ }
+
+@@ -455,7 +464,7 @@ void pt_intr_post(struct vcpu *v, struct
+ cb = pt->cb;
+ cb_priv = pt->priv;
+
+- spin_unlock(&v->arch.hvm.tm_lock);
++ pt_vcpu_unlock(v);
+
+ if ( cb != NULL )
+ cb(v, cb_priv);
+@@ -466,12 +475,12 @@ void pt_migrate(struct vcpu *v)
+ struct list_head *head = &v->arch.hvm.tm_list;
+ struct periodic_time *pt;
+
+- spin_lock(&v->arch.hvm.tm_lock);
++ pt_vcpu_lock(v);
+
+ list_for_each_entry ( pt, head, list )
+ migrate_timer(&pt->timer, v->processor);
+
+- spin_unlock(&v->arch.hvm.tm_lock);
++ pt_vcpu_unlock(v);
+ }
+
+ void create_periodic_time(
+@@ -490,7 +499,7 @@ void create_periodic_time(
+
+ destroy_periodic_time(pt);
+
+- spin_lock(&v->arch.hvm.tm_lock);
++ write_lock(&v->domain->arch.hvm.pl_time->pt_migrate);
+
+ pt->pending_intr_nr = 0;
+ pt->do_not_freeze = 0;
+@@ -540,7 +549,7 @@ void create_periodic_time(
+ init_timer(&pt->timer, pt_timer_fn, pt, v->processor);
+ set_timer(&pt->timer, pt->scheduled);
+
+- spin_unlock(&v->arch.hvm.tm_lock);
++ write_unlock(&v->domain->arch.hvm.pl_time->pt_migrate);
+ }
+
+ void destroy_periodic_time(struct periodic_time *pt)
+@@ -565,30 +574,20 @@ void destroy_periodic_time(struct period
+
+ static void pt_adjust_vcpu(struct periodic_time *pt, struct vcpu *v)
+ {
+- int on_list;
+-
+ ASSERT(pt->source == PTSRC_isa || pt->source == PTSRC_ioapic);
+
+ if ( pt->vcpu == NULL )
+ return;
+
+- pt_lock(pt);
+- on_list = pt->on_list;
+- if ( pt->on_list )
+- list_del(&pt->list);
+- pt->on_list = 0;
+- pt_unlock(pt);
+-
+- spin_lock(&v->arch.hvm.tm_lock);
++ write_lock(&pt->vcpu->domain->arch.hvm.pl_time->pt_migrate);
+ pt->vcpu = v;
+- if ( on_list )
++ if ( pt->on_list )
+ {
+- pt->on_list = 1;
++ list_del(&pt->list);
+ list_add(&pt->list, &v->arch.hvm.tm_list);
+-
+ migrate_timer(&pt->timer, v->processor);
+ }
+- spin_unlock(&v->arch.hvm.tm_lock);
++ write_unlock(&pt->vcpu->domain->arch.hvm.pl_time->pt_migrate);
+ }
+
+ void pt_adjust_global_vcpu_target(struct vcpu *v)
+--- a/xen/include/asm-x86/hvm/vpt.h
++++ b/xen/include/asm-x86/hvm/vpt.h
+@@ -128,6 +128,13 @@ struct pl_time { /* platform time */
+ struct RTCState vrtc;
+ struct HPETState vhpet;
+ struct PMTState vpmt;
++ /*
++ * rwlock to prevent periodic_time vCPU migration. Take the lock in read
++ * mode in order to prevent the vcpu field of periodic_time from changing.
++ * Lock must be taken in write mode when changes to the vcpu field are
++ * performed, as it allows exclusive access to all the timers of a domain.
++ */
++ rwlock_t pt_migrate;
+ /* guest_time = Xen sys time + stime_offset */
+ int64_t stime_offset;
+ /* Ensures monotonicity in appropriate timer modes. */
diff --git a/system/xen/xsa/xsa337-4.13-1.patch b/system/xen/xsa/xsa337-4.13-1.patch
new file mode 100644
index 0000000000..2091626f4f
--- /dev/null
+++ b/system/xen/xsa/xsa337-4.13-1.patch
@@ -0,0 +1,87 @@
+From: Roger Pau Monné <roger.pau@citrix.com>
+Subject: x86/msi: get rid of read_msi_msg
+
+It's safer and faster to just use the cached last written
+(untranslated) MSI message stored in msi_desc for the single user that
+calls read_msi_msg.
+
+This also prevents relying on the data read from the device MSI
+registers in order to figure out the index into the IOMMU interrupt
+remapping table, which is not safe.
+
+This is part of XSA-337.
+
+Reported-by: Andrew Cooper <andrew.cooper3@citrix.com>
+Requested-by: Andrew Cooper <andrew.cooper3@citrix.com>
+Signed-off-by: Roger Pau Monné <roger.pau@citrix.com>
+Reviewed-by: Jan Beulich <jbeulich@suse.com>
+
+--- a/xen/arch/x86/msi.c
++++ b/xen/arch/x86/msi.c
+@@ -183,54 +183,6 @@ void msi_compose_msg(unsigned vector, co
+ MSI_DATA_VECTOR(vector);
+ }
+
+-static bool read_msi_msg(struct msi_desc *entry, struct msi_msg *msg)
+-{
+- switch ( entry->msi_attrib.type )
+- {
+- case PCI_CAP_ID_MSI:
+- {
+- struct pci_dev *dev = entry->dev;
+- int pos = entry->msi_attrib.pos;
+- uint16_t data;
+-
+- msg->address_lo = pci_conf_read32(dev->sbdf,
+- msi_lower_address_reg(pos));
+- if ( entry->msi_attrib.is_64 )
+- {
+- msg->address_hi = pci_conf_read32(dev->sbdf,
+- msi_upper_address_reg(pos));
+- data = pci_conf_read16(dev->sbdf, msi_data_reg(pos, 1));
+- }
+- else
+- {
+- msg->address_hi = 0;
+- data = pci_conf_read16(dev->sbdf, msi_data_reg(pos, 0));
+- }
+- msg->data = data;
+- break;
+- }
+- case PCI_CAP_ID_MSIX:
+- {
+- void __iomem *base = entry->mask_base;
+-
+- if ( unlikely(!msix_memory_decoded(entry->dev,
+- entry->msi_attrib.pos)) )
+- return false;
+- msg->address_lo = readl(base + PCI_MSIX_ENTRY_LOWER_ADDR_OFFSET);
+- msg->address_hi = readl(base + PCI_MSIX_ENTRY_UPPER_ADDR_OFFSET);
+- msg->data = readl(base + PCI_MSIX_ENTRY_DATA_OFFSET);
+- break;
+- }
+- default:
+- BUG();
+- }
+-
+- if ( iommu_intremap )
+- iommu_read_msi_from_ire(entry, msg);
+-
+- return true;
+-}
+-
+ static int write_msi_msg(struct msi_desc *entry, struct msi_msg *msg)
+ {
+ entry->msg = *msg;
+@@ -302,10 +254,7 @@ void set_msi_affinity(struct irq_desc *d
+
+ ASSERT(spin_is_locked(&desc->lock));
+
+- memset(&msg, 0, sizeof(msg));
+- if ( !read_msi_msg(msi_desc, &msg) )
+- return;
+-
++ msg = msi_desc->msg;
+ msg.data &= ~MSI_DATA_VECTOR_MASK;
+ msg.data |= MSI_DATA_VECTOR(desc->arch.vector);
+ msg.address_lo &= ~MSI_ADDR_DEST_ID_MASK;
diff --git a/system/xen/xsa/xsa337-4.13-2.patch b/system/xen/xsa/xsa337-4.13-2.patch
new file mode 100644
index 0000000000..bdefd37cdc
--- /dev/null
+++ b/system/xen/xsa/xsa337-4.13-2.patch
@@ -0,0 +1,181 @@
+From: Jan Beulich <jbeulich@suse.com>
+Subject: x86/MSI-X: restrict reading of table/PBA bases from BARs
+
+When assigned to less trusted or un-trusted guests, devices may change
+state behind our backs (they may e.g. get reset by means we may not know
+about). Therefore we should avoid reading BARs from hardware once a
+device is no longer owned by Dom0. Furthermore when we can't read a BAR,
+or when we read zero, we shouldn't instead use the caller provided
+address unless that caller can be trusted.
+
+Re-arrange the logic in msix_capability_init() such that only Dom0 (and
+only if the device isn't DomU-owned yet) or calls through
+PHYSDEVOP_prepare_msix will actually result in the reading of the
+respective BAR register(s). Additionally do so only as long as in-use
+table entries are known (note that invocation of PHYSDEVOP_prepare_msix
+counts as a "pseudo" entry). In all other uses the value already
+recorded will get used instead.
+
+Clear the recorded values in _pci_cleanup_msix() as well as on the one
+affected error path. (Adjust this error path to also avoid blindly
+disabling MSI-X when it was enabled on entry to the function.)
+
+While moving around variable declarations (in many cases to reduce their
+scopes), also adjust some of their types.
+
+This is part of XSA-337.
+
+Signed-off-by: Jan Beulich <jbeulich@suse.com>
+Reviewed-by: Roger Pau Monné <roger.pau@citrix.com>
+
+--- a/xen/arch/x86/msi.c
++++ b/xen/arch/x86/msi.c
+@@ -769,16 +769,14 @@ static int msix_capability_init(struct p
+ {
+ struct arch_msix *msix = dev->msix;
+ struct msi_desc *entry = NULL;
+- int vf;
+ u16 control;
+ u64 table_paddr;
+ u32 table_offset;
+- u8 bir, pbus, pslot, pfunc;
+ u16 seg = dev->seg;
+ u8 bus = dev->bus;
+ u8 slot = PCI_SLOT(dev->devfn);
+ u8 func = PCI_FUNC(dev->devfn);
+- bool maskall = msix->host_maskall;
++ bool maskall = msix->host_maskall, zap_on_error = false;
+ unsigned int pos = pci_find_cap_offset(seg, bus, slot, func,
+ PCI_CAP_ID_MSIX);
+
+@@ -820,43 +818,45 @@ static int msix_capability_init(struct p
+
+ /* Locate MSI-X table region */
+ table_offset = pci_conf_read32(dev->sbdf, msix_table_offset_reg(pos));
+- bir = (u8)(table_offset & PCI_MSIX_BIRMASK);
+- table_offset &= ~PCI_MSIX_BIRMASK;
++ if ( !msix->used_entries &&
++ (!msi ||
++ (is_hardware_domain(current->domain) &&
++ (dev->domain == current->domain || dev->domain == dom_io))) )
++ {
++ unsigned int bir = table_offset & PCI_MSIX_BIRMASK, pbus, pslot, pfunc;
++ int vf;
++ paddr_t pba_paddr;
++ unsigned int pba_offset;
+
+- if ( !dev->info.is_virtfn )
+- {
+- pbus = bus;
+- pslot = slot;
+- pfunc = func;
+- vf = -1;
+- }
+- else
+- {
+- pbus = dev->info.physfn.bus;
+- pslot = PCI_SLOT(dev->info.physfn.devfn);
+- pfunc = PCI_FUNC(dev->info.physfn.devfn);
+- vf = PCI_BDF2(dev->bus, dev->devfn);
+- }
+-
+- table_paddr = read_pci_mem_bar(seg, pbus, pslot, pfunc, bir, vf);
+- WARN_ON(msi && msi->table_base != table_paddr);
+- if ( !table_paddr )
+- {
+- if ( !msi || !msi->table_base )
++ if ( !dev->info.is_virtfn )
+ {
+- pci_conf_write16(dev->sbdf, msix_control_reg(pos),
+- control & ~PCI_MSIX_FLAGS_ENABLE);
+- xfree(entry);
+- return -ENXIO;
++ pbus = bus;
++ pslot = slot;
++ pfunc = func;
++ vf = -1;
++ }
++ else
++ {
++ pbus = dev->info.physfn.bus;
++ pslot = PCI_SLOT(dev->info.physfn.devfn);
++ pfunc = PCI_FUNC(dev->info.physfn.devfn);
++ vf = PCI_BDF2(dev->bus, dev->devfn);
+ }
+- table_paddr = msi->table_base;
+- }
+- table_paddr += table_offset;
+
+- if ( !msix->used_entries )
+- {
+- u64 pba_paddr;
+- u32 pba_offset;
++ table_paddr = read_pci_mem_bar(seg, pbus, pslot, pfunc, bir, vf);
++ WARN_ON(msi && msi->table_base != table_paddr);
++ if ( !table_paddr )
++ {
++ if ( !msi || !msi->table_base )
++ {
++ pci_conf_write16(dev->sbdf, msix_control_reg(pos),
++ control & ~PCI_MSIX_FLAGS_ENABLE);
++ xfree(entry);
++ return -ENXIO;
++ }
++ table_paddr = msi->table_base;
++ }
++ table_paddr += table_offset & ~PCI_MSIX_BIRMASK;
+
+ msix->table.first = PFN_DOWN(table_paddr);
+ msix->table.last = PFN_DOWN(table_paddr +
+@@ -875,7 +875,18 @@ static int msix_capability_init(struct p
+ BITS_TO_LONGS(msix->nr_entries) - 1);
+ WARN_ON(rangeset_overlaps_range(mmio_ro_ranges, msix->pba.first,
+ msix->pba.last));
++
++ zap_on_error = true;
++ }
++ else if ( !msix->table.first )
++ {
++ pci_conf_write16(dev->sbdf, msix_control_reg(pos), control);
++ xfree(entry);
++ return -ENODATA;
+ }
++ else
++ table_paddr = (msix->table.first << PAGE_SHIFT) +
++ (table_offset & ~PCI_MSIX_BIRMASK & ~PAGE_MASK);
+
+ if ( entry )
+ {
+@@ -886,8 +897,15 @@ static int msix_capability_init(struct p
+
+ if ( idx < 0 )
+ {
+- pci_conf_write16(dev->sbdf, msix_control_reg(pos),
+- control & ~PCI_MSIX_FLAGS_ENABLE);
++ if ( zap_on_error )
++ {
++ msix->table.first = 0;
++ msix->pba.first = 0;
++
++ control &= ~PCI_MSIX_FLAGS_ENABLE;
++ }
++
++ pci_conf_write16(dev->sbdf, msix_control_reg(pos), control);
+ xfree(entry);
+ return idx;
+ }
+@@ -1076,9 +1094,14 @@ static void _pci_cleanup_msix(struct arc
+ if ( rangeset_remove_range(mmio_ro_ranges, msix->table.first,
+ msix->table.last) )
+ WARN();
++ msix->table.first = 0;
++ msix->table.last = 0;
++
+ if ( rangeset_remove_range(mmio_ro_ranges, msix->pba.first,
+ msix->pba.last) )
+ WARN();
++ msix->pba.first = 0;
++ msix->pba.last = 0;
+ }
+ }
+
diff --git a/system/xen/xsa/xsa338.patch b/system/xen/xsa/xsa338.patch
new file mode 100644
index 0000000000..776521990e
--- /dev/null
+++ b/system/xen/xsa/xsa338.patch
@@ -0,0 +1,42 @@
+From: Jan Beulich <jbeulich@suse.com>
+Subject: evtchn: relax port_is_valid()
+
+To avoid ports potentially becoming invalid behind the back of certain
+other functions (due to ->max_evtchn shrinking) because of
+- a guest invoking evtchn_reset() and from a 2nd vCPU opening new
+ channels in parallel (see also XSA-343),
+- alloc_unbound_xen_event_channel() produced channels living above the
+ 2-level range (see also XSA-342),
+drop the max_evtchns check from port_is_valid(). For a port for which
+the function once returned "true", the returned value may not turn into
+"false" later on. The function's result may only depend on bounds which
+can only ever grow (which is the case for d->valid_evtchns).
+
+This also eliminates a false sense of safety, utilized by some of the
+users (see again XSA-343): Without a suitable lock held, d->max_evtchns
+may change at any time, and hence deducing that certain other operations
+are safe when port_is_valid() returned true is not legitimate. The
+opportunities to abuse this may get widened by the change here
+(depending on guest and host configuration), but will be taken care of
+by the other XSA.
+
+This is XSA-338.
+
+Fixes: 48974e6ce52e ("evtchn: use a per-domain variable for the max number of event channels")
+Signed-off-by: Jan Beulich <jbeulich@suse.com>
+Reviewed-by: Stefano Stabellini <sstabellini@kernel.org>
+Reviewed-by: Julien Grall <jgrall@amazon.com>
+---
+v5: New, split from larger patch.
+
+--- a/xen/include/xen/event.h
++++ b/xen/include/xen/event.h
+@@ -107,8 +107,6 @@ void notify_via_xen_event_channel(struct
+
+ static inline bool_t port_is_valid(struct domain *d, unsigned int p)
+ {
+- if ( p >= d->max_evtchns )
+- return 0;
+ return p < read_atomic(&d->valid_evtchns);
+ }
+
diff --git a/system/xen/xsa/xsa339.patch b/system/xen/xsa/xsa339.patch
new file mode 100644
index 0000000000..3311ae093f
--- /dev/null
+++ b/system/xen/xsa/xsa339.patch
@@ -0,0 +1,76 @@
+From: Andrew Cooper <andrew.cooper3@citrix.com>
+Subject: x86/pv: Avoid double exception injection
+
+There is at least one path (SYSENTER with NT set, Xen converts to #GP) which
+ends up injecting the #GP fault twice, first in compat_sysenter(), and then a
+second time in compat_test_all_events(), due to the stale TBF_EXCEPTION left
+in TRAPBOUNCE_flags.
+
+The guest kernel sees the second fault first, which is a kernel level #GP
+pointing at the head of the #GP handler, and is therefore a userspace
+trigger-able DoS.
+
+This particular bug has bitten us several times before, so rearrange
+{compat_,}create_bounce_frame() to clobber TRAPBOUNCE on success, rather than
+leaving this task to one area of code which isn't used uniformly.
+
+Other scenarios which might result in a double injection (e.g. two calls
+directly to compat_create_bounce_frame) will now crash the guest, which is far
+more obvious than letting the kernel run with corrupt state.
+
+This is XSA-339
+
+Fixes: fdac9515607b ("x86: clear EFLAGS.NT in SYSENTER entry path")
+Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
+Reviewed-by: Jan Beulich <jbeulich@suse.com>
+
+diff --git a/xen/arch/x86/x86_64/compat/entry.S b/xen/arch/x86/x86_64/compat/entry.S
+index c3e62f8734..73619f57ca 100644
+--- a/xen/arch/x86/x86_64/compat/entry.S
++++ b/xen/arch/x86/x86_64/compat/entry.S
+@@ -78,7 +78,6 @@ compat_process_softirqs:
+ sti
+ .Lcompat_bounce_exception:
+ call compat_create_bounce_frame
+- movb $0, TRAPBOUNCE_flags(%rdx)
+ jmp compat_test_all_events
+
+ ALIGN
+@@ -352,7 +351,13 @@ __UNLIKELY_END(compat_bounce_null_selector)
+ movl %eax,UREGS_cs+8(%rsp)
+ movl TRAPBOUNCE_eip(%rdx),%eax
+ movl %eax,UREGS_rip+8(%rsp)
++
++ /* Trapbounce complete. Clobber state to avoid an erroneous second injection. */
++ xor %eax, %eax
++ mov %ax, TRAPBOUNCE_cs(%rdx)
++ mov %al, TRAPBOUNCE_flags(%rdx)
+ ret
++
+ .section .fixup,"ax"
+ .Lfx13:
+ xorl %edi,%edi
+diff --git a/xen/arch/x86/x86_64/entry.S b/xen/arch/x86/x86_64/entry.S
+index 1e880eb9f6..71a00e846b 100644
+--- a/xen/arch/x86/x86_64/entry.S
++++ b/xen/arch/x86/x86_64/entry.S
+@@ -90,7 +90,6 @@ process_softirqs:
+ sti
+ .Lbounce_exception:
+ call create_bounce_frame
+- movb $0, TRAPBOUNCE_flags(%rdx)
+ jmp test_all_events
+
+ ALIGN
+@@ -512,6 +511,11 @@ UNLIKELY_START(z, create_bounce_frame_bad_bounce_ip)
+ jmp asm_domain_crash_synchronous /* Does not return */
+ __UNLIKELY_END(create_bounce_frame_bad_bounce_ip)
+ movq %rax,UREGS_rip+8(%rsp)
++
++ /* Trapbounce complete. Clobber state to avoid an erroneous second injection. */
++ xor %eax, %eax
++ mov %rax, TRAPBOUNCE_eip(%rdx)
++ mov %al, TRAPBOUNCE_flags(%rdx)
+ ret
+
+ .pushsection .fixup, "ax", @progbits
diff --git a/system/xen/xsa/xsa340.patch b/system/xen/xsa/xsa340.patch
new file mode 100644
index 0000000000..38d04da465
--- /dev/null
+++ b/system/xen/xsa/xsa340.patch
@@ -0,0 +1,65 @@
+From: Julien Grall <jgrall@amazon.com>
+Subject: xen/evtchn: Add missing barriers when accessing/allocating an event channel
+
+While the allocation of a bucket is always performed with the per-domain
+lock, the bucket may be accessed without the lock taken (for instance, see
+evtchn_send()).
+
+Instead such sites relies on port_is_valid() to return a non-zero value
+when the port has a struct evtchn associated to it. The function will
+mostly check whether the port is less than d->valid_evtchns as all the
+buckets/event channels should be allocated up to that point.
+
+Unfortunately a compiler is free to re-order the assignment in
+evtchn_allocate_port() so it would be possible to have d->valid_evtchns
+updated before the new bucket has finish to allocate.
+
+Additionally on Arm, even if this was compiled "correctly", the
+processor can still re-order the memory access.
+
+Add a write memory barrier in the allocation side and a read memory
+barrier when the port is valid to prevent any re-ordering issue.
+
+This is XSA-340.
+
+Reported-by: Julien Grall <jgrall@amazon.com>
+Signed-off-by: Julien Grall <jgrall@amazon.com>
+Reviewed-by: Stefano Stabellini <sstabellini@kernel.org>
+
+--- a/xen/common/event_channel.c
++++ b/xen/common/event_channel.c
+@@ -178,6 +178,13 @@ int evtchn_allocate_port(struct domain *
+ return -ENOMEM;
+ bucket_from_port(d, port) = chn;
+
++ /*
++ * d->valid_evtchns is used to check whether the bucket can be
++ * accessed without the per-domain lock. Therefore,
++ * d->valid_evtchns should be seen *after* the new bucket has
++ * been setup.
++ */
++ smp_wmb();
+ write_atomic(&d->valid_evtchns, d->valid_evtchns + EVTCHNS_PER_BUCKET);
+ }
+
+--- a/xen/include/xen/event.h
++++ b/xen/include/xen/event.h
+@@ -107,7 +107,17 @@ void notify_via_xen_event_channel(struct
+
+ static inline bool_t port_is_valid(struct domain *d, unsigned int p)
+ {
+- return p < read_atomic(&d->valid_evtchns);
++ if ( p >= read_atomic(&d->valid_evtchns) )
++ return false;
++
++ /*
++ * The caller will usually access the event channel afterwards and
++ * may be done without taking the per-domain lock. The barrier is
++ * going in pair the smp_wmb() barrier in evtchn_allocate_port().
++ */
++ smp_rmb();
++
++ return true;
+ }
+
+ static inline struct evtchn *evtchn_from_port(struct domain *d, unsigned int p)
diff --git a/system/xen/xsa/xsa342-4.13.patch b/system/xen/xsa/xsa342-4.13.patch
new file mode 100644
index 0000000000..334baf1b69
--- /dev/null
+++ b/system/xen/xsa/xsa342-4.13.patch
@@ -0,0 +1,145 @@
+From: Jan Beulich <jbeulich@suse.com>
+Subject: evtchn/x86: enforce correct upper limit for 32-bit guests
+
+The recording of d->max_evtchns in evtchn_2l_init(), in particular with
+the limited set of callers of the function, is insufficient. Neither for
+PV nor for HVM guests the bitness is known at domain_create() time, yet
+the upper bound in 2-level mode depends upon guest bitness. Recording
+too high a limit "allows" x86 32-bit domains to open not properly usable
+event channels, management of which (inside Xen) would then result in
+corruption of the shared info and vCPU info structures.
+
+Keep the upper limit dynamic for the 2-level case, introducing a helper
+function to retrieve the effective limit. This helper is now supposed to
+be private to the event channel code. The used in do_poll() and
+domain_dump_evtchn_info() weren't consistent with port uses elsewhere
+and hence get switched to port_is_valid().
+
+Furthermore FIFO mode's setup_ports() gets adjusted to loop only up to
+the prior ABI limit, rather than all the way up to the new one.
+
+Finally a word on the change to do_poll(): Accessing ->max_evtchns
+without holding a suitable lock was never safe, as it as well as
+->evtchn_port_ops may change behind do_poll()'s back. Using
+port_is_valid() instead widens some the window for potential abuse,
+until we've dealt with the race altogether (see XSA-343).
+
+This is XSA-342.
+
+Reported-by: Julien Grall <jgrall@amazon.com>
+Fixes: 48974e6ce52e ("evtchn: use a per-domain variable for the max number of event channels")
+Signed-off-by: Jan Beulich <jbeulich@suse.com>
+Reviewed-by: Stefano Stabellini <sstabellini@kernel.org>
+Reviewed-by: Julien Grall <jgrall@amazon.com>
+
+--- a/xen/common/event_2l.c
++++ b/xen/common/event_2l.c
+@@ -103,7 +103,6 @@ static const struct evtchn_port_ops evtc
+ void evtchn_2l_init(struct domain *d)
+ {
+ d->evtchn_port_ops = &evtchn_port_ops_2l;
+- d->max_evtchns = BITS_PER_EVTCHN_WORD(d) * BITS_PER_EVTCHN_WORD(d);
+ }
+
+ /*
+--- a/xen/common/event_channel.c
++++ b/xen/common/event_channel.c
+@@ -151,7 +151,7 @@ static void free_evtchn_bucket(struct do
+
+ int evtchn_allocate_port(struct domain *d, evtchn_port_t port)
+ {
+- if ( port > d->max_evtchn_port || port >= d->max_evtchns )
++ if ( port > d->max_evtchn_port || port >= max_evtchns(d) )
+ return -ENOSPC;
+
+ if ( port_is_valid(d, port) )
+@@ -1396,13 +1396,11 @@ static void domain_dump_evtchn_info(stru
+
+ spin_lock(&d->event_lock);
+
+- for ( port = 1; port < d->max_evtchns; ++port )
++ for ( port = 1; port_is_valid(d, port); ++port )
+ {
+ const struct evtchn *chn;
+ char *ssid;
+
+- if ( !port_is_valid(d, port) )
+- continue;
+ chn = evtchn_from_port(d, port);
+ if ( chn->state == ECS_FREE )
+ continue;
+--- a/xen/common/event_fifo.c
++++ b/xen/common/event_fifo.c
+@@ -478,7 +478,7 @@ static void cleanup_event_array(struct d
+ d->evtchn_fifo = NULL;
+ }
+
+-static void setup_ports(struct domain *d)
++static void setup_ports(struct domain *d, unsigned int prev_evtchns)
+ {
+ unsigned int port;
+
+@@ -488,7 +488,7 @@ static void setup_ports(struct domain *d
+ * - save its pending state.
+ * - set default priority.
+ */
+- for ( port = 1; port < d->max_evtchns; port++ )
++ for ( port = 1; port < prev_evtchns; port++ )
+ {
+ struct evtchn *evtchn;
+
+@@ -546,6 +546,8 @@ int evtchn_fifo_init_control(struct evtc
+ if ( !d->evtchn_fifo )
+ {
+ struct vcpu *vcb;
++ /* Latch the value before it changes during setup_event_array(). */
++ unsigned int prev_evtchns = max_evtchns(d);
+
+ for_each_vcpu ( d, vcb ) {
+ rc = setup_control_block(vcb);
+@@ -562,8 +564,7 @@ int evtchn_fifo_init_control(struct evtc
+ goto error;
+
+ d->evtchn_port_ops = &evtchn_port_ops_fifo;
+- d->max_evtchns = EVTCHN_FIFO_NR_CHANNELS;
+- setup_ports(d);
++ setup_ports(d, prev_evtchns);
+ }
+ else
+ rc = map_control_block(v, gfn, offset);
+--- a/xen/common/schedule.c
++++ b/xen/common/schedule.c
+@@ -1434,7 +1434,7 @@ static long do_poll(struct sched_poll *s
+ goto out;
+
+ rc = -EINVAL;
+- if ( port >= d->max_evtchns )
++ if ( !port_is_valid(d, port) )
+ goto out;
+
+ rc = 0;
+--- a/xen/include/xen/event.h
++++ b/xen/include/xen/event.h
+@@ -105,6 +105,12 @@ void notify_via_xen_event_channel(struct
+ #define bucket_from_port(d, p) \
+ ((group_from_port(d, p))[((p) % EVTCHNS_PER_GROUP) / EVTCHNS_PER_BUCKET])
+
++static inline unsigned int max_evtchns(const struct domain *d)
++{
++ return d->evtchn_fifo ? EVTCHN_FIFO_NR_CHANNELS
++ : BITS_PER_EVTCHN_WORD(d) * BITS_PER_EVTCHN_WORD(d);
++}
++
+ static inline bool_t port_is_valid(struct domain *d, unsigned int p)
+ {
+ if ( p >= read_atomic(&d->valid_evtchns) )
+--- a/xen/include/xen/sched.h
++++ b/xen/include/xen/sched.h
+@@ -382,7 +382,6 @@ struct domain
+ /* Event channel information. */
+ struct evtchn *evtchn; /* first bucket only */
+ struct evtchn **evtchn_group[NR_EVTCHN_GROUPS]; /* all other buckets */
+- unsigned int max_evtchns; /* number supported by ABI */
+ unsigned int max_evtchn_port; /* max permitted port number */
+ unsigned int valid_evtchns; /* number of allocated event channels */
+ spinlock_t event_lock;
diff --git a/system/xen/xsa/xsa343-1.patch b/system/xen/xsa/xsa343-1.patch
new file mode 100644
index 0000000000..0abbc03e8d
--- /dev/null
+++ b/system/xen/xsa/xsa343-1.patch
@@ -0,0 +1,199 @@
+From: Jan Beulich <jbeulich@suse.com>
+Subject: evtchn: evtchn_reset() shouldn't succeed with still-open ports
+
+While the function closes all ports, it does so without holding any
+lock, and hence racing requests may be issued causing new ports to get
+opened. This would have been problematic in particular if such a newly
+opened port had a port number above the new implementation limit (i.e.
+when switching from FIFO to 2-level) after the reset, as prior to
+"evtchn: relax port_is_valid()" this could have led to e.g.
+evtchn_close()'s "BUG_ON(!port_is_valid(d2, port2))" to trigger.
+
+Introduce a counter of active ports and check that it's (still) no
+larger then the number of Xen internally used ones after obtaining the
+necessary lock in evtchn_reset().
+
+As to the access model of the new {active,xen}_evtchns fields - while
+all writes get done using write_atomic(), reads ought to use
+read_atomic() only when outside of a suitably locked region.
+
+Note that as of now evtchn_bind_virq() and evtchn_bind_ipi() don't have
+a need to call check_free_port().
+
+This is part of XSA-343.
+
+Signed-off-by: Jan Beulich <jbeulich@suse.com>
+Reviewed-by: Stefano Stabellini <sstabellini@kernel.org>
+Reviewed-by: Julien Grall <jgrall@amazon.com>
+---
+v7: Drop optimization from evtchn_reset().
+v6: Fix loop exit condition in evtchn_reset(). Use {read,write}_atomic()
+ also for xen_evtchns.
+v5: Move increment in alloc_unbound_xen_event_channel() out of the inner
+ locked region.
+v4: Account for Xen internal ports.
+v3: Document intended access next to new struct field.
+v2: Add comment to check_free_port(). Drop commented out calls.
+
+--- a/xen/common/event_channel.c
++++ b/xen/common/event_channel.c
+@@ -188,6 +188,8 @@ int evtchn_allocate_port(struct domain *
+ write_atomic(&d->valid_evtchns, d->valid_evtchns + EVTCHNS_PER_BUCKET);
+ }
+
++ write_atomic(&d->active_evtchns, d->active_evtchns + 1);
++
+ return 0;
+ }
+
+@@ -211,11 +213,26 @@ static int get_free_port(struct domain *
+ return -ENOSPC;
+ }
+
++/*
++ * Check whether a port is still marked free, and if so update the domain
++ * counter accordingly. To be used on function exit paths.
++ */
++static void check_free_port(struct domain *d, evtchn_port_t port)
++{
++ if ( port_is_valid(d, port) &&
++ evtchn_from_port(d, port)->state == ECS_FREE )
++ write_atomic(&d->active_evtchns, d->active_evtchns - 1);
++}
++
+ void evtchn_free(struct domain *d, struct evtchn *chn)
+ {
+ /* Clear pending event to avoid unexpected behavior on re-bind. */
+ evtchn_port_clear_pending(d, chn);
+
++ if ( consumer_is_xen(chn) )
++ write_atomic(&d->xen_evtchns, d->xen_evtchns - 1);
++ write_atomic(&d->active_evtchns, d->active_evtchns - 1);
++
+ /* Reset binding to vcpu0 when the channel is freed. */
+ chn->state = ECS_FREE;
+ chn->notify_vcpu_id = 0;
+@@ -258,6 +275,7 @@ static long evtchn_alloc_unbound(evtchn_
+ alloc->port = port;
+
+ out:
++ check_free_port(d, port);
+ spin_unlock(&d->event_lock);
+ rcu_unlock_domain(d);
+
+@@ -351,6 +369,7 @@ static long evtchn_bind_interdomain(evtc
+ bind->local_port = lport;
+
+ out:
++ check_free_port(ld, lport);
+ spin_unlock(&ld->event_lock);
+ if ( ld != rd )
+ spin_unlock(&rd->event_lock);
+@@ -488,7 +507,7 @@ static long evtchn_bind_pirq(evtchn_bind
+ struct domain *d = current->domain;
+ struct vcpu *v = d->vcpu[0];
+ struct pirq *info;
+- int port, pirq = bind->pirq;
++ int port = 0, pirq = bind->pirq;
+ long rc;
+
+ if ( (pirq < 0) || (pirq >= d->nr_pirqs) )
+@@ -536,6 +555,7 @@ static long evtchn_bind_pirq(evtchn_bind
+ arch_evtchn_bind_pirq(d, pirq);
+
+ out:
++ check_free_port(d, port);
+ spin_unlock(&d->event_lock);
+
+ return rc;
+@@ -1011,10 +1031,10 @@ int evtchn_unmask(unsigned int port)
+ return 0;
+ }
+
+-
+ int evtchn_reset(struct domain *d)
+ {
+ unsigned int i;
++ int rc = 0;
+
+ if ( d != current->domain && !d->controller_pause_count )
+ return -EINVAL;
+@@ -1024,7 +1044,9 @@ int evtchn_reset(struct domain *d)
+
+ spin_lock(&d->event_lock);
+
+- if ( d->evtchn_fifo )
++ if ( d->active_evtchns > d->xen_evtchns )
++ rc = -EAGAIN;
++ else if ( d->evtchn_fifo )
+ {
+ /* Switching back to 2-level ABI. */
+ evtchn_fifo_destroy(d);
+@@ -1033,7 +1055,7 @@ int evtchn_reset(struct domain *d)
+
+ spin_unlock(&d->event_lock);
+
+- return 0;
++ return rc;
+ }
+
+ static long evtchn_set_priority(const struct evtchn_set_priority *set_priority)
+@@ -1219,10 +1241,9 @@ int alloc_unbound_xen_event_channel(
+
+ spin_lock(&ld->event_lock);
+
+- rc = get_free_port(ld);
++ port = rc = get_free_port(ld);
+ if ( rc < 0 )
+ goto out;
+- port = rc;
+ chn = evtchn_from_port(ld, port);
+
+ rc = xsm_evtchn_unbound(XSM_TARGET, ld, chn, remote_domid);
+@@ -1238,7 +1259,10 @@ int alloc_unbound_xen_event_channel(
+
+ spin_unlock(&chn->lock);
+
++ write_atomic(&ld->xen_evtchns, ld->xen_evtchns + 1);
++
+ out:
++ check_free_port(ld, port);
+ spin_unlock(&ld->event_lock);
+
+ return rc < 0 ? rc : port;
+@@ -1314,6 +1338,7 @@ int evtchn_init(struct domain *d, unsign
+ return -EINVAL;
+ }
+ evtchn_from_port(d, 0)->state = ECS_RESERVED;
++ write_atomic(&d->active_evtchns, 0);
+
+ #if MAX_VIRT_CPUS > BITS_PER_LONG
+ d->poll_mask = xzalloc_array(unsigned long, BITS_TO_LONGS(d->max_vcpus));
+@@ -1340,6 +1365,8 @@ void evtchn_destroy(struct domain *d)
+ for ( i = 0; port_is_valid(d, i); i++ )
+ evtchn_close(d, i, 0);
+
++ ASSERT(!d->active_evtchns);
++
+ clear_global_virq_handlers(d);
+
+ evtchn_fifo_destroy(d);
+--- a/xen/include/xen/sched.h
++++ b/xen/include/xen/sched.h
+@@ -361,6 +361,16 @@ struct domain
+ struct evtchn **evtchn_group[NR_EVTCHN_GROUPS]; /* all other buckets */
+ unsigned int max_evtchn_port; /* max permitted port number */
+ unsigned int valid_evtchns; /* number of allocated event channels */
++ /*
++ * Number of in-use event channels. Writers should use write_atomic().
++ * Readers need to use read_atomic() only when not holding event_lock.
++ */
++ unsigned int active_evtchns;
++ /*
++ * Number of event channels used internally by Xen (not subject to
++ * EVTCHNOP_reset). Read/write access like for active_evtchns.
++ */
++ unsigned int xen_evtchns;
+ spinlock_t event_lock;
+ const struct evtchn_port_ops *evtchn_port_ops;
+ struct evtchn_fifo_domain *evtchn_fifo;
diff --git a/system/xen/xsa/xsa343-2.patch b/system/xen/xsa/xsa343-2.patch
new file mode 100644
index 0000000000..b8eb4998f1
--- /dev/null
+++ b/system/xen/xsa/xsa343-2.patch
@@ -0,0 +1,295 @@
+From: Jan Beulich <jbeulich@suse.com>
+Subject: evtchn: convert per-channel lock to be IRQ-safe
+
+... in order for send_guest_{global,vcpu}_virq() to be able to make use
+of it.
+
+This is part of XSA-343.
+
+Signed-off-by: Jan Beulich <jbeulich@suse.com>
+Acked-by: Julien Grall <jgrall@amazon.com>
+---
+v6: New.
+---
+TBD: This is the "dumb" conversion variant. In a couple of cases the
+ slightly simpler spin_{,un}lock_irq() could apparently be used.
+
+--- a/xen/common/event_channel.c
++++ b/xen/common/event_channel.c
+@@ -248,6 +248,7 @@ static long evtchn_alloc_unbound(evtchn_
+ int port;
+ domid_t dom = alloc->dom;
+ long rc;
++ unsigned long flags;
+
+ d = rcu_lock_domain_by_any_id(dom);
+ if ( d == NULL )
+@@ -263,14 +264,14 @@ static long evtchn_alloc_unbound(evtchn_
+ if ( rc )
+ goto out;
+
+- spin_lock(&chn->lock);
++ spin_lock_irqsave(&chn->lock, flags);
+
+ chn->state = ECS_UNBOUND;
+ if ( (chn->u.unbound.remote_domid = alloc->remote_dom) == DOMID_SELF )
+ chn->u.unbound.remote_domid = current->domain->domain_id;
+ evtchn_port_init(d, chn);
+
+- spin_unlock(&chn->lock);
++ spin_unlock_irqrestore(&chn->lock, flags);
+
+ alloc->port = port;
+
+@@ -283,26 +284,32 @@ static long evtchn_alloc_unbound(evtchn_
+ }
+
+
+-static void double_evtchn_lock(struct evtchn *lchn, struct evtchn *rchn)
++static unsigned long double_evtchn_lock(struct evtchn *lchn,
++ struct evtchn *rchn)
+ {
+- if ( lchn < rchn )
++ unsigned long flags;
++
++ if ( lchn <= rchn )
+ {
+- spin_lock(&lchn->lock);
+- spin_lock(&rchn->lock);
++ spin_lock_irqsave(&lchn->lock, flags);
++ if ( lchn != rchn )
++ spin_lock(&rchn->lock);
+ }
+ else
+ {
+- if ( lchn != rchn )
+- spin_lock(&rchn->lock);
++ spin_lock_irqsave(&rchn->lock, flags);
+ spin_lock(&lchn->lock);
+ }
++
++ return flags;
+ }
+
+-static void double_evtchn_unlock(struct evtchn *lchn, struct evtchn *rchn)
++static void double_evtchn_unlock(struct evtchn *lchn, struct evtchn *rchn,
++ unsigned long flags)
+ {
+- spin_unlock(&lchn->lock);
+ if ( lchn != rchn )
+- spin_unlock(&rchn->lock);
++ spin_unlock(&lchn->lock);
++ spin_unlock_irqrestore(&rchn->lock, flags);
+ }
+
+ static long evtchn_bind_interdomain(evtchn_bind_interdomain_t *bind)
+@@ -312,6 +319,7 @@ static long evtchn_bind_interdomain(evtc
+ int lport, rport = bind->remote_port;
+ domid_t rdom = bind->remote_dom;
+ long rc;
++ unsigned long flags;
+
+ if ( rdom == DOMID_SELF )
+ rdom = current->domain->domain_id;
+@@ -347,7 +355,7 @@ static long evtchn_bind_interdomain(evtc
+ if ( rc )
+ goto out;
+
+- double_evtchn_lock(lchn, rchn);
++ flags = double_evtchn_lock(lchn, rchn);
+
+ lchn->u.interdomain.remote_dom = rd;
+ lchn->u.interdomain.remote_port = rport;
+@@ -364,7 +372,7 @@ static long evtchn_bind_interdomain(evtc
+ */
+ evtchn_port_set_pending(ld, lchn->notify_vcpu_id, lchn);
+
+- double_evtchn_unlock(lchn, rchn);
++ double_evtchn_unlock(lchn, rchn, flags);
+
+ bind->local_port = lport;
+
+@@ -387,6 +395,7 @@ int evtchn_bind_virq(evtchn_bind_virq_t
+ struct domain *d = current->domain;
+ int virq = bind->virq, vcpu = bind->vcpu;
+ int rc = 0;
++ unsigned long flags;
+
+ if ( (virq < 0) || (virq >= ARRAY_SIZE(v->virq_to_evtchn)) )
+ return -EINVAL;
+@@ -424,14 +433,14 @@ int evtchn_bind_virq(evtchn_bind_virq_t
+
+ chn = evtchn_from_port(d, port);
+
+- spin_lock(&chn->lock);
++ spin_lock_irqsave(&chn->lock, flags);
+
+ chn->state = ECS_VIRQ;
+ chn->notify_vcpu_id = vcpu;
+ chn->u.virq = virq;
+ evtchn_port_init(d, chn);
+
+- spin_unlock(&chn->lock);
++ spin_unlock_irqrestore(&chn->lock, flags);
+
+ v->virq_to_evtchn[virq] = bind->port = port;
+
+@@ -448,6 +457,7 @@ static long evtchn_bind_ipi(evtchn_bind_
+ struct domain *d = current->domain;
+ int port, vcpu = bind->vcpu;
+ long rc = 0;
++ unsigned long flags;
+
+ if ( domain_vcpu(d, vcpu) == NULL )
+ return -ENOENT;
+@@ -459,13 +469,13 @@ static long evtchn_bind_ipi(evtchn_bind_
+
+ chn = evtchn_from_port(d, port);
+
+- spin_lock(&chn->lock);
++ spin_lock_irqsave(&chn->lock, flags);
+
+ chn->state = ECS_IPI;
+ chn->notify_vcpu_id = vcpu;
+ evtchn_port_init(d, chn);
+
+- spin_unlock(&chn->lock);
++ spin_unlock_irqrestore(&chn->lock, flags);
+
+ bind->port = port;
+
+@@ -509,6 +519,7 @@ static long evtchn_bind_pirq(evtchn_bind
+ struct pirq *info;
+ int port = 0, pirq = bind->pirq;
+ long rc;
++ unsigned long flags;
+
+ if ( (pirq < 0) || (pirq >= d->nr_pirqs) )
+ return -EINVAL;
+@@ -541,14 +552,14 @@ static long evtchn_bind_pirq(evtchn_bind
+ goto out;
+ }
+
+- spin_lock(&chn->lock);
++ spin_lock_irqsave(&chn->lock, flags);
+
+ chn->state = ECS_PIRQ;
+ chn->u.pirq.irq = pirq;
+ link_pirq_port(port, chn, v);
+ evtchn_port_init(d, chn);
+
+- spin_unlock(&chn->lock);
++ spin_unlock_irqrestore(&chn->lock, flags);
+
+ bind->port = port;
+
+@@ -569,6 +580,7 @@ int evtchn_close(struct domain *d1, int
+ struct evtchn *chn1, *chn2;
+ int port2;
+ long rc = 0;
++ unsigned long flags;
+
+ again:
+ spin_lock(&d1->event_lock);
+@@ -668,14 +680,14 @@ int evtchn_close(struct domain *d1, int
+ BUG_ON(chn2->state != ECS_INTERDOMAIN);
+ BUG_ON(chn2->u.interdomain.remote_dom != d1);
+
+- double_evtchn_lock(chn1, chn2);
++ flags = double_evtchn_lock(chn1, chn2);
+
+ evtchn_free(d1, chn1);
+
+ chn2->state = ECS_UNBOUND;
+ chn2->u.unbound.remote_domid = d1->domain_id;
+
+- double_evtchn_unlock(chn1, chn2);
++ double_evtchn_unlock(chn1, chn2, flags);
+
+ goto out;
+
+@@ -683,9 +695,9 @@ int evtchn_close(struct domain *d1, int
+ BUG();
+ }
+
+- spin_lock(&chn1->lock);
++ spin_lock_irqsave(&chn1->lock, flags);
+ evtchn_free(d1, chn1);
+- spin_unlock(&chn1->lock);
++ spin_unlock_irqrestore(&chn1->lock, flags);
+
+ out:
+ if ( d2 != NULL )
+@@ -705,13 +717,14 @@ int evtchn_send(struct domain *ld, unsig
+ struct evtchn *lchn, *rchn;
+ struct domain *rd;
+ int rport, ret = 0;
++ unsigned long flags;
+
+ if ( !port_is_valid(ld, lport) )
+ return -EINVAL;
+
+ lchn = evtchn_from_port(ld, lport);
+
+- spin_lock(&lchn->lock);
++ spin_lock_irqsave(&lchn->lock, flags);
+
+ /* Guest cannot send via a Xen-attached event channel. */
+ if ( unlikely(consumer_is_xen(lchn)) )
+@@ -746,7 +759,7 @@ int evtchn_send(struct domain *ld, unsig
+ }
+
+ out:
+- spin_unlock(&lchn->lock);
++ spin_unlock_irqrestore(&lchn->lock, flags);
+
+ return ret;
+ }
+@@ -1238,6 +1251,7 @@ int alloc_unbound_xen_event_channel(
+ {
+ struct evtchn *chn;
+ int port, rc;
++ unsigned long flags;
+
+ spin_lock(&ld->event_lock);
+
+@@ -1250,14 +1264,14 @@ int alloc_unbound_xen_event_channel(
+ if ( rc )
+ goto out;
+
+- spin_lock(&chn->lock);
++ spin_lock_irqsave(&chn->lock, flags);
+
+ chn->state = ECS_UNBOUND;
+ chn->xen_consumer = get_xen_consumer(notification_fn);
+ chn->notify_vcpu_id = lvcpu;
+ chn->u.unbound.remote_domid = remote_domid;
+
+- spin_unlock(&chn->lock);
++ spin_unlock_irqrestore(&chn->lock, flags);
+
+ write_atomic(&ld->xen_evtchns, ld->xen_evtchns + 1);
+
+@@ -1280,11 +1294,12 @@ void notify_via_xen_event_channel(struct
+ {
+ struct evtchn *lchn, *rchn;
+ struct domain *rd;
++ unsigned long flags;
+
+ ASSERT(port_is_valid(ld, lport));
+ lchn = evtchn_from_port(ld, lport);
+
+- spin_lock(&lchn->lock);
++ spin_lock_irqsave(&lchn->lock, flags);
+
+ if ( likely(lchn->state == ECS_INTERDOMAIN) )
+ {
+@@ -1294,7 +1309,7 @@ void notify_via_xen_event_channel(struct
+ evtchn_port_set_pending(rd, rchn->notify_vcpu_id, rchn);
+ }
+
+- spin_unlock(&lchn->lock);
++ spin_unlock_irqrestore(&lchn->lock, flags);
+ }
+
+ void evtchn_check_pollers(struct domain *d, unsigned int port)
diff --git a/system/xen/xsa/xsa343-3.patch b/system/xen/xsa/xsa343-3.patch
new file mode 100644
index 0000000000..e513e308eb
--- /dev/null
+++ b/system/xen/xsa/xsa343-3.patch
@@ -0,0 +1,392 @@
+From: Jan Beulich <jbeulich@suse.com>
+Subject: evtchn: address races with evtchn_reset()
+
+Neither d->evtchn_port_ops nor max_evtchns(d) may be used in an entirely
+lock-less manner, as both may change by a racing evtchn_reset(). In the
+common case, at least one of the domain's event lock or the per-channel
+lock needs to be held. In the specific case of the inter-domain sending
+by evtchn_send() and notify_via_xen_event_channel() holding the other
+side's per-channel lock is sufficient, as the channel can't change state
+without both per-channel locks held. Without such a channel changing
+state, evtchn_reset() can't complete successfully.
+
+Lock-free accesses continue to be permitted for the shim (calling some
+otherwise internal event channel functions), as this happens while the
+domain is in effectively single-threaded mode. Special care also needs
+taking for the shim's marking of in-use ports as ECS_RESERVED (allowing
+use of such ports in the shim case is okay because switching into and
+hence also out of FIFO mode is impossihble there).
+
+As a side effect, certain operations on Xen bound event channels which
+were mistakenly permitted so far (e.g. unmask or poll) will be refused
+now.
+
+This is part of XSA-343.
+
+Reported-by: Julien Grall <jgrall@amazon.com>
+Signed-off-by: Jan Beulich <jbeulich@suse.com>
+Acked-by: Julien Grall <jgrall@amazon.com>
+---
+v9: Add arch_evtchn_is_special() to fix PV shim.
+v8: Add BUILD_BUG_ON() in evtchn_usable().
+v7: Add locking related comment ahead of struct evtchn_port_ops.
+v6: New.
+---
+TBD: I've been considering to move some of the wrappers from xen/event.h
+ into event_channel.c (or even drop them altogether), when they
+ require external locking (e.g. evtchn_port_init() or
+ evtchn_port_set_priority()). Does anyone have a strong opinion
+ either way?
+
+--- a/xen/arch/x86/irq.c
++++ b/xen/arch/x86/irq.c
+@@ -2488,14 +2488,24 @@ static void dump_irqs(unsigned char key)
+
+ for ( i = 0; i < action->nr_guests; )
+ {
++ struct evtchn *evtchn;
++ unsigned int pending = 2, masked = 2;
++
+ d = action->guest[i++];
+ pirq = domain_irq_to_pirq(d, irq);
+ info = pirq_info(d, pirq);
++ evtchn = evtchn_from_port(d, info->evtchn);
++ local_irq_disable();
++ if ( spin_trylock(&evtchn->lock) )
++ {
++ pending = evtchn_is_pending(d, evtchn);
++ masked = evtchn_is_masked(d, evtchn);
++ spin_unlock(&evtchn->lock);
++ }
++ local_irq_enable();
+ printk("d%d:%3d(%c%c%c)%c",
+- d->domain_id, pirq,
+- evtchn_port_is_pending(d, info->evtchn) ? 'P' : '-',
+- evtchn_port_is_masked(d, info->evtchn) ? 'M' : '-',
+- info->masked ? 'M' : '-',
++ d->domain_id, pirq, "-P?"[pending],
++ "-M?"[masked], info->masked ? 'M' : '-',
+ i < action->nr_guests ? ',' : '\n');
+ }
+ }
+--- a/xen/arch/x86/pv/shim.c
++++ b/xen/arch/x86/pv/shim.c
+@@ -660,8 +660,11 @@ void pv_shim_inject_evtchn(unsigned int
+ if ( port_is_valid(guest, port) )
+ {
+ struct evtchn *chn = evtchn_from_port(guest, port);
++ unsigned long flags;
+
++ spin_lock_irqsave(&chn->lock, flags);
+ evtchn_port_set_pending(guest, chn->notify_vcpu_id, chn);
++ spin_unlock_irqrestore(&chn->lock, flags);
+ }
+ }
+
+--- a/xen/common/event_2l.c
++++ b/xen/common/event_2l.c
+@@ -63,8 +63,10 @@ static void evtchn_2l_unmask(struct doma
+ }
+ }
+
+-static bool evtchn_2l_is_pending(const struct domain *d, evtchn_port_t port)
++static bool evtchn_2l_is_pending(const struct domain *d,
++ const struct evtchn *evtchn)
+ {
++ evtchn_port_t port = evtchn->port;
+ unsigned int max_ports = BITS_PER_EVTCHN_WORD(d) * BITS_PER_EVTCHN_WORD(d);
+
+ ASSERT(port < max_ports);
+@@ -72,8 +74,10 @@ static bool evtchn_2l_is_pending(const s
+ guest_test_bit(d, port, &shared_info(d, evtchn_pending)));
+ }
+
+-static bool evtchn_2l_is_masked(const struct domain *d, evtchn_port_t port)
++static bool evtchn_2l_is_masked(const struct domain *d,
++ const struct evtchn *evtchn)
+ {
++ evtchn_port_t port = evtchn->port;
+ unsigned int max_ports = BITS_PER_EVTCHN_WORD(d) * BITS_PER_EVTCHN_WORD(d);
+
+ ASSERT(port < max_ports);
+--- a/xen/common/event_channel.c
++++ b/xen/common/event_channel.c
+@@ -156,8 +156,9 @@ int evtchn_allocate_port(struct domain *
+
+ if ( port_is_valid(d, port) )
+ {
+- if ( evtchn_from_port(d, port)->state != ECS_FREE ||
+- evtchn_port_is_busy(d, port) )
++ const struct evtchn *chn = evtchn_from_port(d, port);
++
++ if ( chn->state != ECS_FREE || evtchn_is_busy(d, chn) )
+ return -EBUSY;
+ }
+ else
+@@ -774,6 +775,7 @@ void send_guest_vcpu_virq(struct vcpu *v
+ unsigned long flags;
+ int port;
+ struct domain *d;
++ struct evtchn *chn;
+
+ ASSERT(!virq_is_global(virq));
+
+@@ -784,7 +786,10 @@ void send_guest_vcpu_virq(struct vcpu *v
+ goto out;
+
+ d = v->domain;
+- evtchn_port_set_pending(d, v->vcpu_id, evtchn_from_port(d, port));
++ chn = evtchn_from_port(d, port);
++ spin_lock(&chn->lock);
++ evtchn_port_set_pending(d, v->vcpu_id, chn);
++ spin_unlock(&chn->lock);
+
+ out:
+ spin_unlock_irqrestore(&v->virq_lock, flags);
+@@ -813,7 +818,9 @@ void send_guest_global_virq(struct domai
+ goto out;
+
+ chn = evtchn_from_port(d, port);
++ spin_lock(&chn->lock);
+ evtchn_port_set_pending(d, chn->notify_vcpu_id, chn);
++ spin_unlock(&chn->lock);
+
+ out:
+ spin_unlock_irqrestore(&v->virq_lock, flags);
+@@ -823,6 +830,7 @@ void send_guest_pirq(struct domain *d, c
+ {
+ int port;
+ struct evtchn *chn;
++ unsigned long flags;
+
+ /*
+ * PV guests: It should not be possible to race with __evtchn_close(). The
+@@ -837,7 +845,9 @@ void send_guest_pirq(struct domain *d, c
+ }
+
+ chn = evtchn_from_port(d, port);
++ spin_lock_irqsave(&chn->lock, flags);
+ evtchn_port_set_pending(d, chn->notify_vcpu_id, chn);
++ spin_unlock_irqrestore(&chn->lock, flags);
+ }
+
+ static struct domain *global_virq_handlers[NR_VIRQS] __read_mostly;
+@@ -1034,12 +1044,15 @@ int evtchn_unmask(unsigned int port)
+ {
+ struct domain *d = current->domain;
+ struct evtchn *evtchn;
++ unsigned long flags;
+
+ if ( unlikely(!port_is_valid(d, port)) )
+ return -EINVAL;
+
+ evtchn = evtchn_from_port(d, port);
++ spin_lock_irqsave(&evtchn->lock, flags);
+ evtchn_port_unmask(d, evtchn);
++ spin_unlock_irqrestore(&evtchn->lock, flags);
+
+ return 0;
+ }
+@@ -1449,8 +1462,8 @@ static void domain_dump_evtchn_info(stru
+
+ printk(" %4u [%d/%d/",
+ port,
+- evtchn_port_is_pending(d, port),
+- evtchn_port_is_masked(d, port));
++ evtchn_is_pending(d, chn),
++ evtchn_is_masked(d, chn));
+ evtchn_port_print_state(d, chn);
+ printk("]: s=%d n=%d x=%d",
+ chn->state, chn->notify_vcpu_id, chn->xen_consumer);
+--- a/xen/common/event_fifo.c
++++ b/xen/common/event_fifo.c
+@@ -296,23 +296,26 @@ static void evtchn_fifo_unmask(struct do
+ evtchn_fifo_set_pending(v, evtchn);
+ }
+
+-static bool evtchn_fifo_is_pending(const struct domain *d, evtchn_port_t port)
++static bool evtchn_fifo_is_pending(const struct domain *d,
++ const struct evtchn *evtchn)
+ {
+- const event_word_t *word = evtchn_fifo_word_from_port(d, port);
++ const event_word_t *word = evtchn_fifo_word_from_port(d, evtchn->port);
+
+ return word && guest_test_bit(d, EVTCHN_FIFO_PENDING, word);
+ }
+
+-static bool_t evtchn_fifo_is_masked(const struct domain *d, evtchn_port_t port)
++static bool_t evtchn_fifo_is_masked(const struct domain *d,
++ const struct evtchn *evtchn)
+ {
+- const event_word_t *word = evtchn_fifo_word_from_port(d, port);
++ const event_word_t *word = evtchn_fifo_word_from_port(d, evtchn->port);
+
+ return !word || guest_test_bit(d, EVTCHN_FIFO_MASKED, word);
+ }
+
+-static bool_t evtchn_fifo_is_busy(const struct domain *d, evtchn_port_t port)
++static bool_t evtchn_fifo_is_busy(const struct domain *d,
++ const struct evtchn *evtchn)
+ {
+- const event_word_t *word = evtchn_fifo_word_from_port(d, port);
++ const event_word_t *word = evtchn_fifo_word_from_port(d, evtchn->port);
+
+ return word && guest_test_bit(d, EVTCHN_FIFO_LINKED, word);
+ }
+--- a/xen/include/asm-x86/event.h
++++ b/xen/include/asm-x86/event.h
+@@ -47,4 +47,10 @@ static inline bool arch_virq_is_global(u
+ return true;
+ }
+
++#ifdef CONFIG_PV_SHIM
++# include <asm/pv/shim.h>
++# define arch_evtchn_is_special(chn) \
++ (pv_shim && (chn)->port && (chn)->state == ECS_RESERVED)
++#endif
++
+ #endif
+--- a/xen/include/xen/event.h
++++ b/xen/include/xen/event.h
+@@ -133,6 +133,24 @@ static inline struct evtchn *evtchn_from
+ return bucket_from_port(d, p) + (p % EVTCHNS_PER_BUCKET);
+ }
+
++/*
++ * "usable" as in "by a guest", i.e. Xen consumed channels are assumed to be
++ * taken care of separately where used for Xen's internal purposes.
++ */
++static bool evtchn_usable(const struct evtchn *evtchn)
++{
++ if ( evtchn->xen_consumer )
++ return false;
++
++#ifdef arch_evtchn_is_special
++ if ( arch_evtchn_is_special(evtchn) )
++ return true;
++#endif
++
++ BUILD_BUG_ON(ECS_FREE > ECS_RESERVED);
++ return evtchn->state > ECS_RESERVED;
++}
++
+ /* Wait on a Xen-attached event channel. */
+ #define wait_on_xen_event_channel(port, condition) \
+ do { \
+@@ -165,19 +183,24 @@ int evtchn_reset(struct domain *d);
+
+ /*
+ * Low-level event channel port ops.
++ *
++ * All hooks have to be called with a lock held which prevents the channel
++ * from changing state. This may be the domain event lock, the per-channel
++ * lock, or in the case of sending interdomain events also the other side's
++ * per-channel lock. Exceptions apply in certain cases for the PV shim.
+ */
+ struct evtchn_port_ops {
+ void (*init)(struct domain *d, struct evtchn *evtchn);
+ void (*set_pending)(struct vcpu *v, struct evtchn *evtchn);
+ void (*clear_pending)(struct domain *d, struct evtchn *evtchn);
+ void (*unmask)(struct domain *d, struct evtchn *evtchn);
+- bool (*is_pending)(const struct domain *d, evtchn_port_t port);
+- bool (*is_masked)(const struct domain *d, evtchn_port_t port);
++ bool (*is_pending)(const struct domain *d, const struct evtchn *evtchn);
++ bool (*is_masked)(const struct domain *d, const struct evtchn *evtchn);
+ /*
+ * Is the port unavailable because it's still being cleaned up
+ * after being closed?
+ */
+- bool (*is_busy)(const struct domain *d, evtchn_port_t port);
++ bool (*is_busy)(const struct domain *d, const struct evtchn *evtchn);
+ int (*set_priority)(struct domain *d, struct evtchn *evtchn,
+ unsigned int priority);
+ void (*print_state)(struct domain *d, const struct evtchn *evtchn);
+@@ -193,38 +216,67 @@ static inline void evtchn_port_set_pendi
+ unsigned int vcpu_id,
+ struct evtchn *evtchn)
+ {
+- d->evtchn_port_ops->set_pending(d->vcpu[vcpu_id], evtchn);
++ if ( evtchn_usable(evtchn) )
++ d->evtchn_port_ops->set_pending(d->vcpu[vcpu_id], evtchn);
+ }
+
+ static inline void evtchn_port_clear_pending(struct domain *d,
+ struct evtchn *evtchn)
+ {
+- d->evtchn_port_ops->clear_pending(d, evtchn);
++ if ( evtchn_usable(evtchn) )
++ d->evtchn_port_ops->clear_pending(d, evtchn);
+ }
+
+ static inline void evtchn_port_unmask(struct domain *d,
+ struct evtchn *evtchn)
+ {
+- d->evtchn_port_ops->unmask(d, evtchn);
++ if ( evtchn_usable(evtchn) )
++ d->evtchn_port_ops->unmask(d, evtchn);
+ }
+
+-static inline bool evtchn_port_is_pending(const struct domain *d,
+- evtchn_port_t port)
++static inline bool evtchn_is_pending(const struct domain *d,
++ const struct evtchn *evtchn)
+ {
+- return d->evtchn_port_ops->is_pending(d, port);
++ return evtchn_usable(evtchn) && d->evtchn_port_ops->is_pending(d, evtchn);
+ }
+
+-static inline bool evtchn_port_is_masked(const struct domain *d,
+- evtchn_port_t port)
++static inline bool evtchn_port_is_pending(struct domain *d, evtchn_port_t port)
+ {
+- return d->evtchn_port_ops->is_masked(d, port);
++ struct evtchn *evtchn = evtchn_from_port(d, port);
++ bool rc;
++ unsigned long flags;
++
++ spin_lock_irqsave(&evtchn->lock, flags);
++ rc = evtchn_is_pending(d, evtchn);
++ spin_unlock_irqrestore(&evtchn->lock, flags);
++
++ return rc;
++}
++
++static inline bool evtchn_is_masked(const struct domain *d,
++ const struct evtchn *evtchn)
++{
++ return !evtchn_usable(evtchn) || d->evtchn_port_ops->is_masked(d, evtchn);
++}
++
++static inline bool evtchn_port_is_masked(struct domain *d, evtchn_port_t port)
++{
++ struct evtchn *evtchn = evtchn_from_port(d, port);
++ bool rc;
++ unsigned long flags;
++
++ spin_lock_irqsave(&evtchn->lock, flags);
++ rc = evtchn_is_masked(d, evtchn);
++ spin_unlock_irqrestore(&evtchn->lock, flags);
++
++ return rc;
+ }
+
+-static inline bool evtchn_port_is_busy(const struct domain *d,
+- evtchn_port_t port)
++static inline bool evtchn_is_busy(const struct domain *d,
++ const struct evtchn *evtchn)
+ {
+ return d->evtchn_port_ops->is_busy &&
+- d->evtchn_port_ops->is_busy(d, port);
++ d->evtchn_port_ops->is_busy(d, evtchn);
+ }
+
+ static inline int evtchn_port_set_priority(struct domain *d,
+@@ -233,6 +285,8 @@ static inline int evtchn_port_set_priori
+ {
+ if ( !d->evtchn_port_ops->set_priority )
+ return -ENOSYS;
++ if ( !evtchn_usable(evtchn) )
++ return -EACCES;
+ return d->evtchn_port_ops->set_priority(d, evtchn, priority);
+ }
+
diff --git a/system/xen/xsa/xsa344-4.13-1.patch b/system/xen/xsa/xsa344-4.13-1.patch
new file mode 100644
index 0000000000..d8e9b3f43f
--- /dev/null
+++ b/system/xen/xsa/xsa344-4.13-1.patch
@@ -0,0 +1,130 @@
+From: Jan Beulich <jbeulich@suse.com>
+Subject: evtchn: arrange for preemption in evtchn_destroy()
+
+Especially closing of fully established interdomain channels can take
+quite some time, due to the locking involved. Therefore we shouldn't
+assume we can clean up still active ports all in one go. Besides adding
+the necessary preemption check, also avoid pointlessly starting from
+(or now really ending at) 0; 1 is the lowest numbered port which may
+need closing.
+
+Since we're now reducing ->valid_evtchns, free_xen_event_channel(),
+and (at least to be on the safe side) notify_via_xen_event_channel()
+need to cope with attempts to close / unbind from / send through already
+closed (and no longer valid, as per port_is_valid()) ports.
+
+This is part of XSA-344.
+
+Signed-off-by: Jan Beulich <jbeulich@suse.com>
+Acked-by: Julien Grall <jgrall@amazon.com>
+Reviewed-by: Stefano Stabellini <sstabellini@kernel.org>
+
+--- a/xen/common/domain.c
++++ b/xen/common/domain.c
+@@ -770,12 +770,14 @@ int domain_kill(struct domain *d)
+ return domain_kill(d);
+ d->is_dying = DOMDYING_dying;
+ argo_destroy(d);
+- evtchn_destroy(d);
+ gnttab_release_mappings(d);
+ vnuma_destroy(d->vnuma);
+ domain_set_outstanding_pages(d, 0);
+ /* fallthrough */
+ case DOMDYING_dying:
++ rc = evtchn_destroy(d);
++ if ( rc )
++ break;
+ rc = domain_relinquish_resources(d);
+ if ( rc != 0 )
+ break;
+--- a/xen/common/event_channel.c
++++ b/xen/common/event_channel.c
+@@ -1297,7 +1297,16 @@ int alloc_unbound_xen_event_channel(
+
+ void free_xen_event_channel(struct domain *d, int port)
+ {
+- BUG_ON(!port_is_valid(d, port));
++ if ( !port_is_valid(d, port) )
++ {
++ /*
++ * Make sure ->is_dying is read /after/ ->valid_evtchns, pairing
++ * with the spin_barrier() and BUG_ON() in evtchn_destroy().
++ */
++ smp_rmb();
++ BUG_ON(!d->is_dying);
++ return;
++ }
+
+ evtchn_close(d, port, 0);
+ }
+@@ -1309,7 +1318,17 @@ void notify_via_xen_event_channel(struct
+ struct domain *rd;
+ unsigned long flags;
+
+- ASSERT(port_is_valid(ld, lport));
++ if ( !port_is_valid(ld, lport) )
++ {
++ /*
++ * Make sure ->is_dying is read /after/ ->valid_evtchns, pairing
++ * with the spin_barrier() and BUG_ON() in evtchn_destroy().
++ */
++ smp_rmb();
++ ASSERT(ld->is_dying);
++ return;
++ }
++
+ lchn = evtchn_from_port(ld, lport);
+
+ spin_lock_irqsave(&lchn->lock, flags);
+@@ -1380,8 +1399,7 @@ int evtchn_init(struct domain *d, unsign
+ return 0;
+ }
+
+-
+-void evtchn_destroy(struct domain *d)
++int evtchn_destroy(struct domain *d)
+ {
+ unsigned int i;
+
+@@ -1390,14 +1408,29 @@ void evtchn_destroy(struct domain *d)
+ spin_barrier(&d->event_lock);
+
+ /* Close all existing event channels. */
+- for ( i = 0; port_is_valid(d, i); i++ )
++ for ( i = d->valid_evtchns; --i; )
++ {
+ evtchn_close(d, i, 0);
+
++ /*
++ * Avoid preempting when called from domain_create()'s error path,
++ * and don't check too often (choice of frequency is arbitrary).
++ */
++ if ( i && !(i & 0x3f) && d->is_dying != DOMDYING_dead &&
++ hypercall_preempt_check() )
++ {
++ write_atomic(&d->valid_evtchns, i);
++ return -ERESTART;
++ }
++ }
++
+ ASSERT(!d->active_evtchns);
+
+ clear_global_virq_handlers(d);
+
+ evtchn_fifo_destroy(d);
++
++ return 0;
+ }
+
+
+--- a/xen/include/xen/sched.h
++++ b/xen/include/xen/sched.h
+@@ -136,7 +136,7 @@ struct evtchn
+ } __attribute__((aligned(64)));
+
+ int evtchn_init(struct domain *d, unsigned int max_port);
+-void evtchn_destroy(struct domain *d); /* from domain_kill */
++int evtchn_destroy(struct domain *d); /* from domain_kill */
+ void evtchn_destroy_final(struct domain *d); /* from complete_domain_destroy */
+
+ struct waitqueue_vcpu;
diff --git a/system/xen/xsa/xsa344-4.13-2.patch b/system/xen/xsa/xsa344-4.13-2.patch
new file mode 100644
index 0000000000..3f0339498f
--- /dev/null
+++ b/system/xen/xsa/xsa344-4.13-2.patch
@@ -0,0 +1,203 @@
+From: Jan Beulich <jbeulich@suse.com>
+Subject: evtchn: arrange for preemption in evtchn_reset()
+
+Like for evtchn_destroy() looping over all possible event channels to
+close them can take a significant amount of time. Unlike done there, we
+can't alter domain properties (i.e. d->valid_evtchns) here. Borrow, in a
+lightweight form, the paging domctl continuation concept, redirecting
+the continuations to different sub-ops. Just like there this is to be
+able to allow for predictable overall results of the involved sub-ops:
+Racing requests should either complete or be refused.
+
+Note that a domain can't interfere with an already started (by a remote
+domain) reset, due to being paused. It can prevent a remote reset from
+happening by leaving a reset unfinished, but that's only going to affect
+itself.
+
+This is part of XSA-344.
+
+Signed-off-by: Jan Beulich <jbeulich@suse.com>
+Acked-by: Julien Grall <jgrall@amazon.com>
+Reviewed-by: Stefano Stabellini <sstabellini@kernel.org>
+
+--- a/xen/common/domain.c
++++ b/xen/common/domain.c
+@@ -1214,7 +1214,7 @@ void domain_unpause_except_self(struct d
+ domain_unpause(d);
+ }
+
+-int domain_soft_reset(struct domain *d)
++int domain_soft_reset(struct domain *d, bool resuming)
+ {
+ struct vcpu *v;
+ int rc;
+@@ -1228,7 +1228,7 @@ int domain_soft_reset(struct domain *d)
+ }
+ spin_unlock(&d->shutdown_lock);
+
+- rc = evtchn_reset(d);
++ rc = evtchn_reset(d, resuming);
+ if ( rc )
+ return rc;
+
+--- a/xen/common/domctl.c
++++ b/xen/common/domctl.c
+@@ -572,12 +572,22 @@ long do_domctl(XEN_GUEST_HANDLE_PARAM(xe
+ }
+
+ case XEN_DOMCTL_soft_reset:
++ case XEN_DOMCTL_soft_reset_cont:
+ if ( d == current->domain ) /* no domain_pause() */
+ {
+ ret = -EINVAL;
+ break;
+ }
+- ret = domain_soft_reset(d);
++ ret = domain_soft_reset(d, op->cmd == XEN_DOMCTL_soft_reset_cont);
++ if ( ret == -ERESTART )
++ {
++ op->cmd = XEN_DOMCTL_soft_reset_cont;
++ if ( !__copy_field_to_guest(u_domctl, op, cmd) )
++ ret = hypercall_create_continuation(__HYPERVISOR_domctl,
++ "h", u_domctl);
++ else
++ ret = -EFAULT;
++ }
+ break;
+
+ case XEN_DOMCTL_destroydomain:
+--- a/xen/common/event_channel.c
++++ b/xen/common/event_channel.c
+@@ -1057,7 +1057,7 @@ int evtchn_unmask(unsigned int port)
+ return 0;
+ }
+
+-int evtchn_reset(struct domain *d)
++int evtchn_reset(struct domain *d, bool resuming)
+ {
+ unsigned int i;
+ int rc = 0;
+@@ -1065,11 +1065,40 @@ int evtchn_reset(struct domain *d)
+ if ( d != current->domain && !d->controller_pause_count )
+ return -EINVAL;
+
+- for ( i = 0; port_is_valid(d, i); i++ )
++ spin_lock(&d->event_lock);
++
++ /*
++ * If we are resuming, then start where we stopped. Otherwise, check
++ * that a reset operation is not already in progress, and if none is,
++ * record that this is now the case.
++ */
++ i = resuming ? d->next_evtchn : !d->next_evtchn;
++ if ( i > d->next_evtchn )
++ d->next_evtchn = i;
++
++ spin_unlock(&d->event_lock);
++
++ if ( !i )
++ return -EBUSY;
++
++ for ( ; port_is_valid(d, i); i++ )
++ {
+ evtchn_close(d, i, 1);
+
++ /* NB: Choice of frequency is arbitrary. */
++ if ( !(i & 0x3f) && hypercall_preempt_check() )
++ {
++ spin_lock(&d->event_lock);
++ d->next_evtchn = i;
++ spin_unlock(&d->event_lock);
++ return -ERESTART;
++ }
++ }
++
+ spin_lock(&d->event_lock);
+
++ d->next_evtchn = 0;
++
+ if ( d->active_evtchns > d->xen_evtchns )
+ rc = -EAGAIN;
+ else if ( d->evtchn_fifo )
+@@ -1204,7 +1233,8 @@ long do_event_channel_op(int cmd, XEN_GU
+ break;
+ }
+
+- case EVTCHNOP_reset: {
++ case EVTCHNOP_reset:
++ case EVTCHNOP_reset_cont: {
+ struct evtchn_reset reset;
+ struct domain *d;
+
+@@ -1217,9 +1247,13 @@ long do_event_channel_op(int cmd, XEN_GU
+
+ rc = xsm_evtchn_reset(XSM_TARGET, current->domain, d);
+ if ( !rc )
+- rc = evtchn_reset(d);
++ rc = evtchn_reset(d, cmd == EVTCHNOP_reset_cont);
+
+ rcu_unlock_domain(d);
++
++ if ( rc == -ERESTART )
++ rc = hypercall_create_continuation(__HYPERVISOR_event_channel_op,
++ "ih", EVTCHNOP_reset_cont, arg);
+ break;
+ }
+
+--- a/xen/include/public/domctl.h
++++ b/xen/include/public/domctl.h
+@@ -1152,7 +1152,10 @@ struct xen_domctl {
+ #define XEN_DOMCTL_iomem_permission 20
+ #define XEN_DOMCTL_ioport_permission 21
+ #define XEN_DOMCTL_hypercall_init 22
+-#define XEN_DOMCTL_arch_setup 23 /* Obsolete IA64 only */
++#ifdef __XEN__
++/* #define XEN_DOMCTL_arch_setup 23 Obsolete IA64 only */
++#define XEN_DOMCTL_soft_reset_cont 23
++#endif
+ #define XEN_DOMCTL_settimeoffset 24
+ #define XEN_DOMCTL_getvcpuaffinity 25
+ #define XEN_DOMCTL_real_mode_area 26 /* Obsolete PPC only */
+--- a/xen/include/public/event_channel.h
++++ b/xen/include/public/event_channel.h
+@@ -74,6 +74,9 @@
+ #define EVTCHNOP_init_control 11
+ #define EVTCHNOP_expand_array 12
+ #define EVTCHNOP_set_priority 13
++#ifdef __XEN__
++#define EVTCHNOP_reset_cont 14
++#endif
+ /* ` } */
+
+ typedef uint32_t evtchn_port_t;
+--- a/xen/include/xen/event.h
++++ b/xen/include/xen/event.h
+@@ -171,7 +171,7 @@ void evtchn_check_pollers(struct domain
+ void evtchn_2l_init(struct domain *d);
+
+ /* Close all event channels and reset to 2-level ABI. */
+-int evtchn_reset(struct domain *d);
++int evtchn_reset(struct domain *d, bool resuming);
+
+ /*
+ * Low-level event channel port ops.
+--- a/xen/include/xen/sched.h
++++ b/xen/include/xen/sched.h
+@@ -394,6 +394,8 @@ struct domain
+ * EVTCHNOP_reset). Read/write access like for active_evtchns.
+ */
+ unsigned int xen_evtchns;
++ /* Port to resume from in evtchn_reset(), when in a continuation. */
++ unsigned int next_evtchn;
+ spinlock_t event_lock;
+ const struct evtchn_port_ops *evtchn_port_ops;
+ struct evtchn_fifo_domain *evtchn_fifo;
+@@ -663,7 +665,7 @@ int domain_shutdown(struct domain *d, u8
+ void domain_resume(struct domain *d);
+ void domain_pause_for_debugger(void);
+
+-int domain_soft_reset(struct domain *d);
++int domain_soft_reset(struct domain *d, bool resuming);
+
+ int vcpu_start_shutdown_deferral(struct vcpu *v);
+ void vcpu_end_shutdown_deferral(struct vcpu *v);
diff --git a/system/xen/xsa/xsa345-0001-x86-mm-Refactor-map_pages_to_xen-to-have-only-a-sing.patch b/system/xen/xsa/xsa345-0001-x86-mm-Refactor-map_pages_to_xen-to-have-only-a-sing.patch
new file mode 100644
index 0000000000..d325385a56
--- /dev/null
+++ b/system/xen/xsa/xsa345-0001-x86-mm-Refactor-map_pages_to_xen-to-have-only-a-sing.patch
@@ -0,0 +1,94 @@
+From b3e0d4e37b7902533a463812374947d4d6d2e463 Mon Sep 17 00:00:00 2001
+From: Wei Liu <wei.liu2@citrix.com>
+Date: Sat, 11 Jan 2020 21:57:41 +0000
+Subject: [PATCH 1/3] x86/mm: Refactor map_pages_to_xen to have only a single
+ exit path
+
+We will soon need to perform clean-ups before returning.
+
+No functional change.
+
+This is part of XSA-345.
+
+Reported-by: Hongyan Xia <hongyxia@amazon.com>
+Signed-off-by: Wei Liu <wei.liu2@citrix.com>
+Signed-off-by: Hongyan Xia <hongyxia@amazon.com>
+Signed-off-by: George Dunlap <george.dunlap@citrix.com>
+Acked-by: Jan Beulich <jbeulich@suse.com>
+---
+ xen/arch/x86/mm.c | 17 +++++++++++------
+ 1 file changed, 11 insertions(+), 6 deletions(-)
+
+diff --git a/xen/arch/x86/mm.c b/xen/arch/x86/mm.c
+index 30dffb68e8..133a393875 100644
+--- a/xen/arch/x86/mm.c
++++ b/xen/arch/x86/mm.c
+@@ -5187,6 +5187,7 @@ int map_pages_to_xen(
+ l2_pgentry_t *pl2e, ol2e;
+ l1_pgentry_t *pl1e, ol1e;
+ unsigned int i;
++ int rc = -ENOMEM;
+
+ #define flush_flags(oldf) do { \
+ unsigned int o_ = (oldf); \
+@@ -5207,7 +5208,8 @@ int map_pages_to_xen(
+ l3_pgentry_t ol3e, *pl3e = virt_to_xen_l3e(virt);
+
+ if ( !pl3e )
+- return -ENOMEM;
++ goto out;
++
+ ol3e = *pl3e;
+
+ if ( cpu_has_page1gb &&
+@@ -5295,7 +5297,7 @@ int map_pages_to_xen(
+
+ pl2e = alloc_xen_pagetable();
+ if ( pl2e == NULL )
+- return -ENOMEM;
++ goto out;
+
+ for ( i = 0; i < L2_PAGETABLE_ENTRIES; i++ )
+ l2e_write(pl2e + i,
+@@ -5324,7 +5326,7 @@ int map_pages_to_xen(
+
+ pl2e = virt_to_xen_l2e(virt);
+ if ( !pl2e )
+- return -ENOMEM;
++ goto out;
+
+ if ( ((((virt >> PAGE_SHIFT) | mfn_x(mfn)) &
+ ((1u << PAGETABLE_ORDER) - 1)) == 0) &&
+@@ -5367,7 +5369,7 @@ int map_pages_to_xen(
+ {
+ pl1e = virt_to_xen_l1e(virt);
+ if ( pl1e == NULL )
+- return -ENOMEM;
++ goto out;
+ }
+ else if ( l2e_get_flags(*pl2e) & _PAGE_PSE )
+ {
+@@ -5394,7 +5396,7 @@ int map_pages_to_xen(
+
+ pl1e = alloc_xen_pagetable();
+ if ( pl1e == NULL )
+- return -ENOMEM;
++ goto out;
+
+ for ( i = 0; i < L1_PAGETABLE_ENTRIES; i++ )
+ l1e_write(&pl1e[i],
+@@ -5538,7 +5540,10 @@ int map_pages_to_xen(
+
+ #undef flush_flags
+
+- return 0;
++ rc = 0;
++
++ out:
++ return rc;
+ }
+
+ int populate_pt_range(unsigned long virt, unsigned long nr_mfns)
+--
+2.25.1
+
diff --git a/system/xen/xsa/xsa345-0002-x86-mm-Refactor-modify_xen_mappings-to-have-one-exit.patch b/system/xen/xsa/xsa345-0002-x86-mm-Refactor-modify_xen_mappings-to-have-one-exit.patch
new file mode 100644
index 0000000000..836bed681a
--- /dev/null
+++ b/system/xen/xsa/xsa345-0002-x86-mm-Refactor-modify_xen_mappings-to-have-one-exit.patch
@@ -0,0 +1,68 @@
+From 9f6f35b833d295acaaa2d8ff8cf309bf688cfd50 Mon Sep 17 00:00:00 2001
+From: Wei Liu <wei.liu2@citrix.com>
+Date: Sat, 11 Jan 2020 21:57:42 +0000
+Subject: [PATCH 2/3] x86/mm: Refactor modify_xen_mappings to have one exit
+ path
+
+We will soon need to perform clean-ups before returning.
+
+No functional change.
+
+This is part of XSA-345.
+
+Reported-by: Hongyan Xia <hongyxia@amazon.com>
+Signed-off-by: Wei Liu <wei.liu2@citrix.com>
+Signed-off-by: Hongyan Xia <hongyxia@amazon.com>
+Signed-off-by: George Dunlap <george.dunlap@citrix.com>
+Acked-by: Jan Beulich <jbeulich@suse.com>
+---
+ xen/arch/x86/mm.c | 12 +++++++++---
+ 1 file changed, 9 insertions(+), 3 deletions(-)
+
+diff --git a/xen/arch/x86/mm.c b/xen/arch/x86/mm.c
+index 133a393875..af726d3274 100644
+--- a/xen/arch/x86/mm.c
++++ b/xen/arch/x86/mm.c
+@@ -5570,6 +5570,7 @@ int modify_xen_mappings(unsigned long s, unsigned long e, unsigned int nf)
+ l1_pgentry_t *pl1e;
+ unsigned int i;
+ unsigned long v = s;
++ int rc = -ENOMEM;
+
+ /* Set of valid PTE bits which may be altered. */
+ #define FLAGS_MASK (_PAGE_NX|_PAGE_RW|_PAGE_PRESENT)
+@@ -5611,7 +5612,8 @@ int modify_xen_mappings(unsigned long s, unsigned long e, unsigned int nf)
+ /* PAGE1GB: shatter the superpage and fall through. */
+ pl2e = alloc_xen_pagetable();
+ if ( !pl2e )
+- return -ENOMEM;
++ goto out;
++
+ for ( i = 0; i < L2_PAGETABLE_ENTRIES; i++ )
+ l2e_write(pl2e + i,
+ l2e_from_pfn(l3e_get_pfn(*pl3e) +
+@@ -5666,7 +5668,8 @@ int modify_xen_mappings(unsigned long s, unsigned long e, unsigned int nf)
+ /* PSE: shatter the superpage and try again. */
+ pl1e = alloc_xen_pagetable();
+ if ( !pl1e )
+- return -ENOMEM;
++ goto out;
++
+ for ( i = 0; i < L1_PAGETABLE_ENTRIES; i++ )
+ l1e_write(&pl1e[i],
+ l1e_from_pfn(l2e_get_pfn(*pl2e) + i,
+@@ -5795,7 +5798,10 @@ int modify_xen_mappings(unsigned long s, unsigned long e, unsigned int nf)
+ flush_area(NULL, FLUSH_TLB_GLOBAL);
+
+ #undef FLAGS_MASK
+- return 0;
++ rc = 0;
++
++ out:
++ return rc;
+ }
+
+ #undef flush_area
+--
+2.25.1
+
diff --git a/system/xen/xsa/xsa345-0003-x86-mm-Prevent-some-races-in-hypervisor-mapping-upda.patch b/system/xen/xsa/xsa345-0003-x86-mm-Prevent-some-races-in-hypervisor-mapping-upda.patch
new file mode 100644
index 0000000000..db407416b9
--- /dev/null
+++ b/system/xen/xsa/xsa345-0003-x86-mm-Prevent-some-races-in-hypervisor-mapping-upda.patch
@@ -0,0 +1,249 @@
+From 0ff9a8453dc47cd47eee9659d5916afb5094e871 Mon Sep 17 00:00:00 2001
+From: Hongyan Xia <hongyxia@amazon.com>
+Date: Sat, 11 Jan 2020 21:57:43 +0000
+Subject: [PATCH 3/3] x86/mm: Prevent some races in hypervisor mapping updates
+
+map_pages_to_xen will attempt to coalesce mappings into 2MiB and 1GiB
+superpages if possible, to maximize TLB efficiency. This means both
+replacing superpage entries with smaller entries, and replacing
+smaller entries with superpages.
+
+Unfortunately, while some potential races are handled correctly,
+others are not. These include:
+
+1. When one processor modifies a sub-superpage mapping while another
+processor replaces the entire range with a superpage.
+
+Take the following example:
+
+Suppose L3[N] points to L2. And suppose we have two processors, A and
+B.
+
+* A walks the pagetables, get a pointer to L2.
+* B replaces L3[N] with a 1GiB mapping.
+* B Frees L2
+* A writes L2[M] #
+
+This is race exacerbated by the fact that virt_to_xen_l[21]e doesn't
+handle higher-level superpages properly: If you call virt_xen_to_l2e
+on a virtual address within an L3 superpage, you'll either hit a BUG()
+(most likely), or get a pointer into the middle of a data page; same
+with virt_xen_to_l1 on a virtual address within either an L3 or L2
+superpage.
+
+So take the following example:
+
+* A reads pl3e and discovers it to point to an L2.
+* B replaces L3[N] with a 1GiB mapping
+* A calls virt_to_xen_l2e() and hits the BUG_ON() #
+
+2. When two processors simultaneously try to replace a sub-superpage
+mapping with a superpage mapping.
+
+Take the following example:
+
+Suppose L3[N] points to L2. And suppose we have two processors, A and B,
+both trying to replace L3[N] with a superpage.
+
+* A walks the pagetables, get a pointer to pl3e, and takes a copy ol3e pointing to L2.
+* B walks the pagetables, gets a pointre to pl3e, and takes a copy ol3e pointing to L2.
+* A writes the new value into L3[N]
+* B writes the new value into L3[N]
+* A recursively frees all the L1's under L2, then frees L2
+* B recursively double-frees all the L1's under L2, then double-frees L2 #
+
+Fix this by grabbing a lock for the entirety of the mapping update
+operation.
+
+Rather than grabbing map_pgdir_lock for the entire operation, however,
+repurpose the PGT_locked bit from L3's page->type_info as a lock.
+This means that rather than locking the entire address space, we
+"only" lock a single 512GiB chunk of hypervisor address space at a
+time.
+
+There was a proposal for a lock-and-reverify approach, where we walk
+the pagetables to the point where we decide what to do; then grab the
+map_pgdir_lock, re-verify the information we collected without the
+lock, and finally make the change (starting over again if anything had
+changed). Without being able to guarantee that the L2 table wasn't
+freed, however, that means every read would need to be considered
+potentially unsafe. Thinking carefully about that is probably
+something that wants to be done on public, not under time pressure.
+
+This is part of XSA-345.
+
+Reported-by: Hongyan Xia <hongyxia@amazon.com>
+Signed-off-by: Hongyan Xia <hongyxia@amazon.com>
+Signed-off-by: George Dunlap <george.dunlap@citrix.com>
+Reviewed-by: Jan Beulich <jbeulich@suse.com>
+---
+ xen/arch/x86/mm.c | 92 +++++++++++++++++++++++++++++++++++++++++++++--
+ 1 file changed, 89 insertions(+), 3 deletions(-)
+
+diff --git a/xen/arch/x86/mm.c b/xen/arch/x86/mm.c
+index af726d3274..d6a0761f43 100644
+--- a/xen/arch/x86/mm.c
++++ b/xen/arch/x86/mm.c
+@@ -2167,6 +2167,50 @@ void page_unlock(struct page_info *page)
+ current_locked_page_set(NULL);
+ }
+
++/*
++ * L3 table locks:
++ *
++ * Used for serialization in map_pages_to_xen() and modify_xen_mappings().
++ *
++ * For Xen PT pages, the page->u.inuse.type_info is unused and it is safe to
++ * reuse the PGT_locked flag. This lock is taken only when we move down to L3
++ * tables and below, since L4 (and above, for 5-level paging) is still globally
++ * protected by map_pgdir_lock.
++ *
++ * PV MMU update hypercalls call map_pages_to_xen while holding a page's page_lock().
++ * This has two implications:
++ * - We cannot reuse reuse current_locked_page_* for debugging
++ * - To avoid the chance of deadlock, even for different pages, we
++ * must never grab page_lock() after grabbing l3t_lock(). This
++ * includes any page_lock()-based locks, such as
++ * mem_sharing_page_lock().
++ *
++ * Also note that we grab the map_pgdir_lock while holding the
++ * l3t_lock(), so to avoid deadlock we must avoid grabbing them in
++ * reverse order.
++ */
++static void l3t_lock(struct page_info *page)
++{
++ unsigned long x, nx;
++
++ do {
++ while ( (x = page->u.inuse.type_info) & PGT_locked )
++ cpu_relax();
++ nx = x | PGT_locked;
++ } while ( cmpxchg(&page->u.inuse.type_info, x, nx) != x );
++}
++
++static void l3t_unlock(struct page_info *page)
++{
++ unsigned long x, nx, y = page->u.inuse.type_info;
++
++ do {
++ x = y;
++ BUG_ON(!(x & PGT_locked));
++ nx = x & ~PGT_locked;
++ } while ( (y = cmpxchg(&page->u.inuse.type_info, x, nx)) != x );
++}
++
+ #ifdef CONFIG_PV
+ /*
+ * PTE flags that a guest may change without re-validating the PTE.
+@@ -5177,6 +5221,23 @@ l1_pgentry_t *virt_to_xen_l1e(unsigned long v)
+ flush_area_local((const void *)v, f) : \
+ flush_area_all((const void *)v, f))
+
++#define L3T_INIT(page) (page) = ZERO_BLOCK_PTR
++
++#define L3T_LOCK(page) \
++ do { \
++ if ( locking ) \
++ l3t_lock(page); \
++ } while ( false )
++
++#define L3T_UNLOCK(page) \
++ do { \
++ if ( locking && (page) != ZERO_BLOCK_PTR ) \
++ { \
++ l3t_unlock(page); \
++ (page) = ZERO_BLOCK_PTR; \
++ } \
++ } while ( false )
++
+ int map_pages_to_xen(
+ unsigned long virt,
+ mfn_t mfn,
+@@ -5188,6 +5249,7 @@ int map_pages_to_xen(
+ l1_pgentry_t *pl1e, ol1e;
+ unsigned int i;
+ int rc = -ENOMEM;
++ struct page_info *current_l3page;
+
+ #define flush_flags(oldf) do { \
+ unsigned int o_ = (oldf); \
+@@ -5203,13 +5265,20 @@ int map_pages_to_xen(
+ } \
+ } while (0)
+
++ L3T_INIT(current_l3page);
++
+ while ( nr_mfns != 0 )
+ {
+- l3_pgentry_t ol3e, *pl3e = virt_to_xen_l3e(virt);
++ l3_pgentry_t *pl3e, ol3e;
+
++ L3T_UNLOCK(current_l3page);
++
++ pl3e = virt_to_xen_l3e(virt);
+ if ( !pl3e )
+ goto out;
+
++ current_l3page = virt_to_page(pl3e);
++ L3T_LOCK(current_l3page);
+ ol3e = *pl3e;
+
+ if ( cpu_has_page1gb &&
+@@ -5543,6 +5612,7 @@ int map_pages_to_xen(
+ rc = 0;
+
+ out:
++ L3T_UNLOCK(current_l3page);
+ return rc;
+ }
+
+@@ -5571,6 +5641,7 @@ int modify_xen_mappings(unsigned long s, unsigned long e, unsigned int nf)
+ unsigned int i;
+ unsigned long v = s;
+ int rc = -ENOMEM;
++ struct page_info *current_l3page;
+
+ /* Set of valid PTE bits which may be altered. */
+ #define FLAGS_MASK (_PAGE_NX|_PAGE_RW|_PAGE_PRESENT)
+@@ -5579,11 +5650,22 @@ int modify_xen_mappings(unsigned long s, unsigned long e, unsigned int nf)
+ ASSERT(IS_ALIGNED(s, PAGE_SIZE));
+ ASSERT(IS_ALIGNED(e, PAGE_SIZE));
+
++ L3T_INIT(current_l3page);
++
+ while ( v < e )
+ {
+- l3_pgentry_t *pl3e = virt_to_xen_l3e(v);
++ l3_pgentry_t *pl3e;
++
++ L3T_UNLOCK(current_l3page);
+
+- if ( !pl3e || !(l3e_get_flags(*pl3e) & _PAGE_PRESENT) )
++ pl3e = virt_to_xen_l3e(v);
++ if ( !pl3e )
++ goto out;
++
++ current_l3page = virt_to_page(pl3e);
++ L3T_LOCK(current_l3page);
++
++ if ( !(l3e_get_flags(*pl3e) & _PAGE_PRESENT) )
+ {
+ /* Confirm the caller isn't trying to create new mappings. */
+ ASSERT(!(nf & _PAGE_PRESENT));
+@@ -5801,9 +5883,13 @@ int modify_xen_mappings(unsigned long s, unsigned long e, unsigned int nf)
+ rc = 0;
+
+ out:
++ L3T_UNLOCK(current_l3page);
+ return rc;
+ }
+
++#undef L3T_LOCK
++#undef L3T_UNLOCK
++
+ #undef flush_area
+
+ int destroy_xen_mappings(unsigned long s, unsigned long e)
+--
+2.25.1
+
diff --git a/system/xen/xsa/xsa346-4.13-1.patch b/system/xen/xsa/xsa346-4.13-1.patch
new file mode 100644
index 0000000000..a32e658e80
--- /dev/null
+++ b/system/xen/xsa/xsa346-4.13-1.patch
@@ -0,0 +1,50 @@
+From: Jan Beulich <jbeulich@suse.com>
+Subject: IOMMU: suppress "iommu_dont_flush_iotlb" when about to free a page
+
+Deferring flushes to a single, wide range one - as is done when
+handling XENMAPSPACE_gmfn_range - is okay only as long as
+pages don't get freed ahead of the eventual flush. While the only
+function setting the flag (xenmem_add_to_physmap()) suggests by its name
+that it's only mapping new entries, in reality the way
+xenmem_add_to_physmap_one() works means an unmap would happen not only
+for the page being moved (but not freed) but, if the destination GFN is
+populated, also for the page being displaced from that GFN. Collapsing
+the two flushes for this GFN into just one (end even more so deferring
+it to a batched invocation) is not correct.
+
+This is part of XSA-346.
+
+Fixes: cf95b2a9fd5a ("iommu: Introduce per cpu flag (iommu_dont_flush_iotlb) to avoid unnecessary iotlb... ")
+Signed-off-by: Jan Beulich <jbeulich@suse.com>
+Reviewed-by: Paul Durrant <paul@xen.org>
+Acked-by: Julien Grall <jgrall@amazon.com>
+
+--- a/xen/common/memory.c
++++ b/xen/common/memory.c
+@@ -292,6 +292,7 @@ int guest_remove_page(struct domain *d,
+ p2m_type_t p2mt;
+ #endif
+ mfn_t mfn;
++ bool *dont_flush_p, dont_flush;
+ int rc;
+
+ #ifdef CONFIG_X86
+@@ -378,8 +379,18 @@ int guest_remove_page(struct domain *d,
+ return -ENXIO;
+ }
+
++ /*
++ * Since we're likely to free the page below, we need to suspend
++ * xenmem_add_to_physmap()'s suppressing of IOMMU TLB flushes.
++ */
++ dont_flush_p = &this_cpu(iommu_dont_flush_iotlb);
++ dont_flush = *dont_flush_p;
++ *dont_flush_p = false;
++
+ rc = guest_physmap_remove_page(d, _gfn(gmfn), mfn, 0);
+
++ *dont_flush_p = dont_flush;
++
+ /*
+ * With the lack of an IOMMU on some platforms, domains with DMA-capable
+ * device must retrieve the same pfn when the hypercall populate_physmap
diff --git a/system/xen/xsa/xsa346-4.13-2.patch b/system/xen/xsa/xsa346-4.13-2.patch
new file mode 100644
index 0000000000..6371b5c3db
--- /dev/null
+++ b/system/xen/xsa/xsa346-4.13-2.patch
@@ -0,0 +1,204 @@
+From: Jan Beulich <jbeulich@suse.com>
+Subject: IOMMU: hold page ref until after deferred TLB flush
+
+When moving around a page via XENMAPSPACE_gmfn_range, deferring the TLB
+flush for the "from" GFN range requires that the page remains allocated
+to the guest until the TLB flush has actually occurred. Otherwise a
+parallel hypercall to remove the page would only flush the TLB for the
+GFN it has been moved to, but not the one is was mapped at originally.
+
+This is part of XSA-346.
+
+Fixes: cf95b2a9fd5a ("iommu: Introduce per cpu flag (iommu_dont_flush_iotlb) to avoid unnecessary iotlb... ")
+Reported-by: Julien Grall <jgrall@amazon.com>
+Signed-off-by: Jan Beulich <jbeulich@suse.com>
+Acked-by: Julien Grall <jgrall@amazon.com>
+
+--- a/xen/arch/arm/mm.c
++++ b/xen/arch/arm/mm.c
+@@ -1407,7 +1407,7 @@ void share_xen_page_with_guest(struct pa
+ int xenmem_add_to_physmap_one(
+ struct domain *d,
+ unsigned int space,
+- union xen_add_to_physmap_batch_extra extra,
++ union add_to_physmap_extra extra,
+ unsigned long idx,
+ gfn_t gfn)
+ {
+@@ -1480,10 +1480,6 @@ int xenmem_add_to_physmap_one(
+ break;
+ }
+ case XENMAPSPACE_dev_mmio:
+- /* extra should be 0. Reserved for future use. */
+- if ( extra.res0 )
+- return -EOPNOTSUPP;
+-
+ rc = map_dev_mmio_region(d, gfn, 1, _mfn(idx));
+ return rc;
+
+--- a/xen/arch/x86/mm.c
++++ b/xen/arch/x86/mm.c
+@@ -4617,7 +4617,7 @@ static int handle_iomem_range(unsigned l
+ int xenmem_add_to_physmap_one(
+ struct domain *d,
+ unsigned int space,
+- union xen_add_to_physmap_batch_extra extra,
++ union add_to_physmap_extra extra,
+ unsigned long idx,
+ gfn_t gpfn)
+ {
+@@ -4701,9 +4701,20 @@ int xenmem_add_to_physmap_one(
+ rc = guest_physmap_add_page(d, gpfn, mfn, PAGE_ORDER_4K);
+
+ put_both:
+- /* In the XENMAPSPACE_gmfn case, we took a ref of the gfn at the top. */
++ /*
++ * In the XENMAPSPACE_gmfn case, we took a ref of the gfn at the top.
++ * We also may need to transfer ownership of the page reference to our
++ * caller.
++ */
+ if ( space == XENMAPSPACE_gmfn )
++ {
+ put_gfn(d, gfn);
++ if ( !rc && extra.ppage )
++ {
++ *extra.ppage = page;
++ page = NULL;
++ }
++ }
+
+ if ( page )
+ put_page(page);
+--- a/xen/common/memory.c
++++ b/xen/common/memory.c
+@@ -814,13 +814,12 @@ int xenmem_add_to_physmap(struct domain
+ {
+ unsigned int done = 0;
+ long rc = 0;
+- union xen_add_to_physmap_batch_extra extra;
++ union add_to_physmap_extra extra = {};
++ struct page_info *pages[16];
+
+ ASSERT(paging_mode_translate(d));
+
+- if ( xatp->space != XENMAPSPACE_gmfn_foreign )
+- extra.res0 = 0;
+- else
++ if ( xatp->space == XENMAPSPACE_gmfn_foreign )
+ extra.foreign_domid = DOMID_INVALID;
+
+ if ( xatp->space != XENMAPSPACE_gmfn_range )
+@@ -835,7 +834,10 @@ int xenmem_add_to_physmap(struct domain
+ xatp->size -= start;
+
+ if ( is_iommu_enabled(d) )
++ {
+ this_cpu(iommu_dont_flush_iotlb) = 1;
++ extra.ppage = &pages[0];
++ }
+
+ while ( xatp->size > done )
+ {
+@@ -847,8 +849,12 @@ int xenmem_add_to_physmap(struct domain
+ xatp->idx++;
+ xatp->gpfn++;
+
++ if ( extra.ppage )
++ ++extra.ppage;
++
+ /* Check for continuation if it's not the last iteration. */
+- if ( xatp->size > ++done && hypercall_preempt_check() )
++ if ( (++done > ARRAY_SIZE(pages) && extra.ppage) ||
++ (xatp->size > done && hypercall_preempt_check()) )
+ {
+ rc = start + done;
+ break;
+@@ -858,6 +864,7 @@ int xenmem_add_to_physmap(struct domain
+ if ( is_iommu_enabled(d) )
+ {
+ int ret;
++ unsigned int i;
+
+ this_cpu(iommu_dont_flush_iotlb) = 0;
+
+@@ -866,6 +873,15 @@ int xenmem_add_to_physmap(struct domain
+ if ( unlikely(ret) && rc >= 0 )
+ rc = ret;
+
++ /*
++ * Now that the IOMMU TLB flush was done for the original GFN, drop
++ * the page references. The 2nd flush below is fine to make later, as
++ * whoever removes the page again from its new GFN will have to do
++ * another flush anyway.
++ */
++ for ( i = 0; i < done; ++i )
++ put_page(pages[i]);
++
+ ret = iommu_iotlb_flush(d, _dfn(xatp->gpfn - done), done,
+ IOMMU_FLUSHF_added | IOMMU_FLUSHF_modified);
+ if ( unlikely(ret) && rc >= 0 )
+@@ -879,6 +895,8 @@ static int xenmem_add_to_physmap_batch(s
+ struct xen_add_to_physmap_batch *xatpb,
+ unsigned int extent)
+ {
++ union add_to_physmap_extra extra = {};
++
+ if ( unlikely(xatpb->size < extent) )
+ return -EILSEQ;
+
+@@ -890,6 +908,19 @@ static int xenmem_add_to_physmap_batch(s
+ !guest_handle_subrange_okay(xatpb->errs, extent, xatpb->size - 1) )
+ return -EFAULT;
+
++ switch ( xatpb->space )
++ {
++ case XENMAPSPACE_dev_mmio:
++ /* res0 is reserved for future use. */
++ if ( xatpb->u.res0 )
++ return -EOPNOTSUPP;
++ break;
++
++ case XENMAPSPACE_gmfn_foreign:
++ extra.foreign_domid = xatpb->u.foreign_domid;
++ break;
++ }
++
+ while ( xatpb->size > extent )
+ {
+ xen_ulong_t idx;
+@@ -902,8 +933,7 @@ static int xenmem_add_to_physmap_batch(s
+ extent, 1)) )
+ return -EFAULT;
+
+- rc = xenmem_add_to_physmap_one(d, xatpb->space,
+- xatpb->u,
++ rc = xenmem_add_to_physmap_one(d, xatpb->space, extra,
+ idx, _gfn(gpfn));
+
+ if ( unlikely(__copy_to_guest_offset(xatpb->errs, extent, &rc, 1)) )
+--- a/xen/include/xen/mm.h
++++ b/xen/include/xen/mm.h
+@@ -588,8 +588,22 @@ void scrub_one_page(struct page_info *);
+ &(d)->xenpage_list : &(d)->page_list)
+ #endif
+
++union add_to_physmap_extra {
++ /*
++ * XENMAPSPACE_gmfn: When deferring TLB flushes, a page reference needs
++ * to be kept until after the flush, so the page can't get removed from
++ * the domain (and re-used for another purpose) beforehand. By passing
++ * non-NULL, the caller of xenmem_add_to_physmap_one() indicates it wants
++ * to have ownership of such a reference transferred in the success case.
++ */
++ struct page_info **ppage;
++
++ /* XENMAPSPACE_gmfn_foreign */
++ domid_t foreign_domid;
++};
++
+ int xenmem_add_to_physmap_one(struct domain *d, unsigned int space,
+- union xen_add_to_physmap_batch_extra extra,
++ union add_to_physmap_extra extra,
+ unsigned long idx, gfn_t gfn);
+
+ int xenmem_add_to_physmap(struct domain *d, struct xen_add_to_physmap *xatp,
diff --git a/system/xen/xsa/xsa347-4.13-1.patch b/system/xen/xsa/xsa347-4.13-1.patch
new file mode 100644
index 0000000000..e9f31a151f
--- /dev/null
+++ b/system/xen/xsa/xsa347-4.13-1.patch
@@ -0,0 +1,149 @@
+From: Jan Beulich <jbeulich@suse.com>
+Subject: AMD/IOMMU: convert amd_iommu_pte from struct to union
+
+This is to add a "raw" counterpart to the bitfield equivalent. Take the
+opportunity and
+ - convert fields to bool / unsigned int,
+ - drop the naming of the reserved field,
+ - shorten the names of the ignored ones.
+
+This is part of XSA-347.
+
+Signed-off-by: Jan Beulich <jbeulich@suse.com>
+Reviewed-by: Andrew Cooper <andrew.cooper3@citrix.com>
+Reviewed-by: Paul Durrant <paul@xen.org>
+
+--- a/xen/drivers/passthrough/amd/iommu_map.c
++++ b/xen/drivers/passthrough/amd/iommu_map.c
+@@ -38,7 +38,7 @@ static unsigned int pfn_to_pde_idx(unsig
+ static unsigned int clear_iommu_pte_present(unsigned long l1_mfn,
+ unsigned long dfn)
+ {
+- struct amd_iommu_pte *table, *pte;
++ union amd_iommu_pte *table, *pte;
+ unsigned int flush_flags;
+
+ table = map_domain_page(_mfn(l1_mfn));
+@@ -52,7 +52,7 @@ static unsigned int clear_iommu_pte_pres
+ return flush_flags;
+ }
+
+-static unsigned int set_iommu_pde_present(struct amd_iommu_pte *pte,
++static unsigned int set_iommu_pde_present(union amd_iommu_pte *pte,
+ unsigned long next_mfn,
+ unsigned int next_level, bool iw,
+ bool ir)
+@@ -87,7 +87,7 @@ static unsigned int set_iommu_pte_presen
+ int pde_level,
+ bool iw, bool ir)
+ {
+- struct amd_iommu_pte *table, *pde;
++ union amd_iommu_pte *table, *pde;
+ unsigned int flush_flags;
+
+ table = map_domain_page(_mfn(pt_mfn));
+@@ -178,7 +178,7 @@ void iommu_dte_set_guest_cr3(struct amd_
+ static int iommu_pde_from_dfn(struct domain *d, unsigned long dfn,
+ unsigned long pt_mfn[], bool map)
+ {
+- struct amd_iommu_pte *pde, *next_table_vaddr;
++ union amd_iommu_pte *pde, *next_table_vaddr;
+ unsigned long next_table_mfn;
+ unsigned int level;
+ struct page_info *table;
+@@ -458,7 +458,7 @@ int __init amd_iommu_quarantine_init(str
+ unsigned long end_gfn =
+ 1ul << (DEFAULT_DOMAIN_ADDRESS_WIDTH - PAGE_SHIFT);
+ unsigned int level = amd_iommu_get_paging_mode(end_gfn);
+- struct amd_iommu_pte *table;
++ union amd_iommu_pte *table;
+
+ if ( hd->arch.root_table )
+ {
+@@ -489,7 +489,7 @@ int __init amd_iommu_quarantine_init(str
+
+ for ( i = 0; i < PTE_PER_TABLE_SIZE; i++ )
+ {
+- struct amd_iommu_pte *pde = &table[i];
++ union amd_iommu_pte *pde = &table[i];
+
+ /*
+ * PDEs are essentially a subset of PTEs, so this function
+--- a/xen/drivers/passthrough/amd/pci_amd_iommu.c
++++ b/xen/drivers/passthrough/amd/pci_amd_iommu.c
+@@ -390,7 +390,7 @@ static void deallocate_next_page_table(s
+
+ static void deallocate_page_table(struct page_info *pg)
+ {
+- struct amd_iommu_pte *table_vaddr;
++ union amd_iommu_pte *table_vaddr;
+ unsigned int index, level = PFN_ORDER(pg);
+
+ PFN_ORDER(pg) = 0;
+@@ -405,7 +405,7 @@ static void deallocate_page_table(struct
+
+ for ( index = 0; index < PTE_PER_TABLE_SIZE; index++ )
+ {
+- struct amd_iommu_pte *pde = &table_vaddr[index];
++ union amd_iommu_pte *pde = &table_vaddr[index];
+
+ if ( pde->mfn && pde->next_level && pde->pr )
+ {
+@@ -557,7 +557,7 @@ static void amd_dump_p2m_table_level(str
+ paddr_t gpa, int indent)
+ {
+ paddr_t address;
+- struct amd_iommu_pte *table_vaddr;
++ const union amd_iommu_pte *table_vaddr;
+ int index;
+
+ if ( level < 1 )
+@@ -573,7 +573,7 @@ static void amd_dump_p2m_table_level(str
+
+ for ( index = 0; index < PTE_PER_TABLE_SIZE; index++ )
+ {
+- struct amd_iommu_pte *pde = &table_vaddr[index];
++ const union amd_iommu_pte *pde = &table_vaddr[index];
+
+ if ( !(index % 2) )
+ process_pending_softirqs();
+--- a/xen/include/asm-x86/hvm/svm/amd-iommu-defs.h
++++ b/xen/include/asm-x86/hvm/svm/amd-iommu-defs.h
+@@ -465,20 +465,23 @@ union amd_iommu_x2apic_control {
+ #define IOMMU_PAGE_TABLE_U32_PER_ENTRY (IOMMU_PAGE_TABLE_ENTRY_SIZE / 4)
+ #define IOMMU_PAGE_TABLE_ALIGNMENT 4096
+
+-struct amd_iommu_pte {
+- uint64_t pr:1;
+- uint64_t ignored0:4;
+- uint64_t a:1;
+- uint64_t d:1;
+- uint64_t ignored1:2;
+- uint64_t next_level:3;
+- uint64_t mfn:40;
+- uint64_t reserved:7;
+- uint64_t u:1;
+- uint64_t fc:1;
+- uint64_t ir:1;
+- uint64_t iw:1;
+- uint64_t ignored2:1;
++union amd_iommu_pte {
++ uint64_t raw;
++ struct {
++ bool pr:1;
++ unsigned int ign0:4;
++ bool a:1;
++ bool d:1;
++ unsigned int ign1:2;
++ unsigned int next_level:3;
++ uint64_t mfn:40;
++ unsigned int :7;
++ bool u:1;
++ bool fc:1;
++ bool ir:1;
++ bool iw:1;
++ unsigned int ign2:1;
++ };
+ };
+
+ /* Paging modes */
diff --git a/system/xen/xsa/xsa347-4.13-2.patch b/system/xen/xsa/xsa347-4.13-2.patch
new file mode 100644
index 0000000000..fbe7461636
--- /dev/null
+++ b/system/xen/xsa/xsa347-4.13-2.patch
@@ -0,0 +1,72 @@
+From: Jan Beulich <jbeulich@suse.com>
+Subject: AMD/IOMMU: update live PTEs atomically
+
+Updating a live PTE bitfield by bitfield risks the compiler re-ordering
+the individual updates as well as splitting individual updates into
+multiple memory writes. Construct the new entry fully in a local
+variable, do the check to determine the flushing needs on the thus
+established new entry, and then write the new entry by a single insn.
+
+Similarly using memset() to clear a PTE is unsafe, as the order of
+writes the function does is, at least in principle, undefined.
+
+This is part of XSA-347.
+
+Signed-off-by: Jan Beulich <jbeulich@suse.com>
+Reviewed-by: Paul Durrant <paul@xen.org>
+
+--- a/xen/drivers/passthrough/amd/iommu_map.c
++++ b/xen/drivers/passthrough/amd/iommu_map.c
+@@ -45,7 +45,7 @@ static unsigned int clear_iommu_pte_pres
+ pte = &table[pfn_to_pde_idx(dfn, 1)];
+
+ flush_flags = pte->pr ? IOMMU_FLUSHF_modified : 0;
+- memset(pte, 0, sizeof(*pte));
++ write_atomic(&pte->raw, 0);
+
+ unmap_domain_page(table);
+
+@@ -57,26 +57,30 @@ static unsigned int set_iommu_pde_presen
+ unsigned int next_level, bool iw,
+ bool ir)
+ {
++ union amd_iommu_pte new = {}, old;
+ unsigned int flush_flags = IOMMU_FLUSHF_added;
+
+- if ( pte->pr &&
+- (pte->mfn != next_mfn ||
+- pte->iw != iw ||
+- pte->ir != ir ||
+- pte->next_level != next_level) )
+- flush_flags |= IOMMU_FLUSHF_modified;
+-
+ /*
+ * FC bit should be enabled in PTE, this helps to solve potential
+ * issues with ATS devices
+ */
+- pte->fc = !next_level;
++ new.fc = !next_level;
++
++ new.mfn = next_mfn;
++ new.iw = iw;
++ new.ir = ir;
++ new.next_level = next_level;
++ new.pr = true;
++
++ old.raw = read_atomic(&pte->raw);
++ old.ign0 = 0;
++ old.ign1 = 0;
++ old.ign2 = 0;
++
++ if ( old.pr && old.raw != new.raw )
++ flush_flags |= IOMMU_FLUSHF_modified;
+
+- pte->mfn = next_mfn;
+- pte->iw = iw;
+- pte->ir = ir;
+- pte->next_level = next_level;
+- pte->pr = 1;
++ write_atomic(&pte->raw, new.raw);
+
+ return flush_flags;
+ }
diff --git a/system/xen/xsa/xsa347-4.13-3.patch b/system/xen/xsa/xsa347-4.13-3.patch
new file mode 100644
index 0000000000..90c8e66020
--- /dev/null
+++ b/system/xen/xsa/xsa347-4.13-3.patch
@@ -0,0 +1,59 @@
+From: Jan Beulich <jbeulich@suse.com>
+Subject: AMD/IOMMU: ensure suitable ordering of DTE modifications
+
+DMA and interrupt translation should be enabled only after other
+applicable DTE fields have been written. Similarly when disabling
+translation or when moving a device between domains, translation should
+first be disabled, before other entry fields get modified. Note however
+that the "moving" aspect doesn't apply to the interrupt remapping side,
+as domain specifics are maintained in the IRTEs here, not the DTE. We
+also never disable interrupt remapping once it got enabled for a device
+(the respective argument passed is always the immutable iommu_intremap).
+
+This is part of XSA-347.
+
+Signed-off-by: Jan Beulich <jbeulich@suse.com>
+Reviewed-by: Paul Durrant <paul@xen.org>
+
+--- a/xen/drivers/passthrough/amd/iommu_map.c
++++ b/xen/drivers/passthrough/amd/iommu_map.c
+@@ -107,11 +107,18 @@ void amd_iommu_set_root_page_table(struc
+ uint64_t root_ptr, uint16_t domain_id,
+ uint8_t paging_mode, bool valid)
+ {
++ if ( valid || dte->v )
++ {
++ dte->tv = false;
++ dte->v = true;
++ smp_wmb();
++ }
+ dte->domain_id = domain_id;
+ dte->pt_root = paddr_to_pfn(root_ptr);
+ dte->iw = true;
+ dte->ir = true;
+ dte->paging_mode = paging_mode;
++ smp_wmb();
+ dte->tv = true;
+ dte->v = valid;
+ }
+@@ -134,6 +141,7 @@ void amd_iommu_set_intremap_table(
+ }
+
+ dte->ig = false; /* unmapped interrupts result in i/o page faults */
++ smp_wmb();
+ dte->iv = valid;
+ }
+
+--- a/xen/drivers/passthrough/amd/pci_amd_iommu.c
++++ b/xen/drivers/passthrough/amd/pci_amd_iommu.c
+@@ -120,7 +120,10 @@ static void amd_iommu_setup_domain_devic
+ /* Undo what amd_iommu_disable_domain_device() may have done. */
+ ivrs_dev = &get_ivrs_mappings(iommu->seg)[req_id];
+ if ( dte->it_root )
++ {
+ dte->int_ctl = IOMMU_DEV_TABLE_INT_CONTROL_TRANSLATED;
++ smp_wmb();
++ }
+ dte->iv = iommu_intremap;
+ dte->ex = ivrs_dev->dte_allow_exclusion;
+ dte->sys_mgt = MASK_EXTR(ivrs_dev->device_flags, ACPI_IVHD_SYSTEM_MGMT);
diff --git a/system/xidel/README b/system/xidel/README
new file mode 100644
index 0000000000..34602c26d4
--- /dev/null
+++ b/system/xidel/README
@@ -0,0 +1,28 @@
+xidel (tool to extract data from HTML/XML/JSON files or pages)
+
+Xidel is a command line tool to query data from HTML/XML web pages,
+JSON-APIs and local files. It implements interpreters for XPath 2,
+XPath 3, XQuery 1, XQuery 3, JSONiq, CSS selectors and custom pattern
+matching.
+
+XPath and CSS selectors are the most efficient way to select certain
+elements from XML/HTML documents. JSONiq (with custom extensions)
+is an easy way to select data from JSON. XQuery is a Turing-complete
+superset of XPath and allows arbitrary data transformations and the
+creation of new documents.
+
+Pattern matching is for XML/HTML documents what regular expressions
+are for plaintext, i.e. pattern matching behaves like a regular
+expression over the space of tags, instead over the space of
+characters.
+
+Xidel implements a kind of internal pipes to pipe HTTP requests from
+one query to the next, so there is no need to distinguish selecting
+links and downloading the data referenced by them. Therefore arbitrary
+complex queries going over arbitrary many pages can be executed with a
+single call of Xidel.
+
+Xidel is a powerful and complex tool, with a steep learning
+curve. For examples, see the man page xidel(1), and also
+/usr/doc/xidel-$VERSION/examples/. The full documentation is available
+via "xidel --usage | less".
diff --git a/system/xidel/slack-desc b/system/xidel/slack-desc
new file mode 100644
index 0000000000..0b969a8317
--- /dev/null
+++ b/system/xidel/slack-desc
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description.
+# Line up the first '|' above the ':' following the base package name, and
+# the '|' on the right side marks the last column you can put a character in.
+# You must make exactly 11 lines for the formatting to be correct. It's also
+# customary to leave one space after the ':' except on otherwise blank lines.
+
+ |-----handy-ruler------------------------------------------------------|
+xidel: xidel (tool to extract data from HTML/XML/JSON files or pages)
+xidel:
+xidel: Xidel is a command line tool to query data from HTML/XML web pages,
+xidel: JSON-APIs and local files. It implements interpreters for XPath 2,
+xidel: XPath 3, XQuery 1, XQuery 3, JSONiq, CSS selectors and custom pattern
+xidel: matching.
+xidel:
+xidel:
+xidel:
+xidel:
+xidel:
diff --git a/system/xidel/xidel.SlackBuild b/system/xidel/xidel.SlackBuild
new file mode 100644
index 0000000000..a13c4c6979
--- /dev/null
+++ b/system/xidel/xidel.SlackBuild
@@ -0,0 +1,62 @@
+#!/bin/sh
+
+# Slackware build script for xidel
+
+# Written by B. Watson (yalhcru@gmail.com)
+
+# Licensed under the WTFPL. See http://www.wtfpl.net/txt/copying/ for details.
+
+PRGNAM=xidel
+VERSION=${VERSION:-0.9.8}
+BUILD=${BUILD:-1}
+TAG=${TAG:-_SBo}
+
+if [ -z "$ARCH" ]; then
+ case "$( uname -m )" in
+ i?86) ARCH=i586 ;;
+ arm*) ARCH=arm ;;
+ *) ARCH=$( uname -m ) ;;
+ esac
+fi
+
+CWD=$(pwd)
+TMP=${TMP:-/tmp/SBo}
+PKG=$TMP/package-$PRGNAM
+OUTPUT=${OUTPUT:-/tmp}
+
+# No CFLAGS (Pascal, not C), no need for LIBDIRSUFFIX. Upstream
+# uses fpc's -O3 option, for whatever that's worth.
+
+set -e
+
+rm -rf $PKG
+mkdir -p $TMP $PKG $OUTPUT
+cd $TMP
+rm -rf $PRGNAM-$VERSION-src
+tar xvf $CWD/$PRGNAM-$VERSION.src.tar.gz
+cd $PRGNAM-$VERSION-src
+chown -R root:root .
+find -L . -perm /111 -a \! -perm 755 -a -exec chmod 755 {} \+ -o \
+ \! -perm /111 -a \! -perm 644 -a -exec chmod 644 {} \+
+
+# Fairly weird build process, but simple enough. -s means strip. Tests
+# require internet access, so disabled by default.
+[ "${TESTS:-no}" = "yes" ] && T="-t"
+
+cd programs/internet/$PRGNAM
+./build.sh -s $T
+mkdir -p $PKG/usr/bin
+cp -a $PRGNAM $PKG/usr/bin
+
+mkdir -p $PKG/usr/man/man1
+gzip -9c < meta/$PRGNAM.1 > $PKG/usr/man/man1/$PRGNAM.1.gz
+
+mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION
+cp -a README* COPYING changelog examples $PKG/usr/doc/$PRGNAM-$VERSION
+cat $CWD/$PRGNAM.SlackBuild > $PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM.SlackBuild
+
+mkdir -p $PKG/install
+cat $CWD/slack-desc > $PKG/install/slack-desc
+
+cd $PKG
+/sbin/makepkg -l y -c n $OUTPUT/$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.${PKGTYPE:-tgz}
diff --git a/system/xidel/xidel.info b/system/xidel/xidel.info
new file mode 100644
index 0000000000..b07650eb41
--- /dev/null
+++ b/system/xidel/xidel.info
@@ -0,0 +1,10 @@
+PRGNAM="xidel"
+VERSION="0.9.8"
+HOMEPAGE="http://videlibri.sourceforge.net/xidel.html"
+DOWNLOAD="https://github.com/benibela/xidel/releases/download/Xidel_0.9.8/xidel-0.9.8.src.tar.gz"
+MD5SUM="bd82db9878784d2621b37baca914b777"
+DOWNLOAD_x86_64=""
+MD5SUM_x86_64=""
+REQUIRES="fpc"
+MAINTAINER="B. Watson"
+EMAIL="yalhcru@gmail.com"
diff --git a/system/xldconfig/xldconfig.SlackBuild b/system/xldconfig/xldconfig.SlackBuild
index 24f0bd054f..519b8c7747 100644
--- a/system/xldconfig/xldconfig.SlackBuild
+++ b/system/xldconfig/xldconfig.SlackBuild
@@ -24,7 +24,7 @@
PRGNAM=xldconfig
-VERSION=${VERSION:-0.6}
+VERSION=${VERSION:-0.7}
BUILD=${BUILD:-1}
TAG=${TAG:-_SBo}
diff --git a/system/xldconfig/xldconfig.info b/system/xldconfig/xldconfig.info
index 0bf7efca4b..3524de9603 100644
--- a/system/xldconfig/xldconfig.info
+++ b/system/xldconfig/xldconfig.info
@@ -1,8 +1,8 @@
PRGNAM="xldconfig"
-VERSION="0.6"
+VERSION="0.7"
HOMEPAGE="https://www.jagda.eu/linux/xldxonfig"
-DOWNLOAD="https://www.jagda.eu/linux/xldxonfig/xldconfig-0.6.tgz"
-MD5SUM="42b2034e05d64d5adf3c6576cd5cf048"
+DOWNLOAD="https://www.jagda.eu/linux/xldxonfig/xldconfig-0.7.tgz"
+MD5SUM="49693d184e56714c4fb474a99bb2e3ba"
DOWNLOAD_x86_64=""
MD5SUM_x86_64=""
REQUIRES=""
diff --git a/system/xorgxrdp/README b/system/xorgxrdp/README
new file mode 100644
index 0000000000..ebd375e8cc
--- /dev/null
+++ b/system/xorgxrdp/README
@@ -0,0 +1,8 @@
+** xorgxrdp ** is a collection of modules to be used with a pre-existing X.Org
+install to make the X server act like X11rdp. Unlike X11rdp, you don't have to
+recompile the whole X Window System. Instead, additional modules are installed to
+a location where the existing Xorg installation would pick them.
+
+xorgxrdp is to be used together with xrdp and X.Org Server.
+It is pretty useless using xorgxrdp alone.
+xrdp needs to be installed before xorgxrdp.
diff --git a/system/xorgxrdp/doinst.sh b/system/xorgxrdp/doinst.sh
new file mode 100644
index 0000000000..0795323810
--- /dev/null
+++ b/system/xorgxrdp/doinst.sh
@@ -0,0 +1,14 @@
+config() {
+ NEW="$1"
+ OLD="$(dirname $NEW)/$(basename $NEW .new)"
+ # If there's no config file by that name, mv it over:
+ if [ ! -r $OLD ]; then
+ mv $NEW $OLD
+ elif [ "$(cat $OLD | md5sum)" = "$(cat $NEW | md5sum)" ]; then
+ # toss the redundant copy
+ rm $NEW
+ fi
+ # Otherwise, we leave the .new copy for the admin to consider...
+}
+
+config etc/X11/xrdp/xorg.conf.new
diff --git a/system/xorgxrdp/slack-desc b/system/xorgxrdp/slack-desc
new file mode 100644
index 0000000000..1f61e59055
--- /dev/null
+++ b/system/xorgxrdp/slack-desc
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description.
+# Line up the first '|' above the ':' following the base package name, and
+# the '|' on the right side marks the last column you can put a character in.
+# You must make exactly 11 lines for the formatting to be correct. It's also
+# customary to leave one space after the ':' except on otherwise blank lines.
+
+ |-----handy-ruler------------------------------------------------------|
+xorgxrdp: xorgxrdp (support files for xrdp)
+xorgxrdp:
+xorgxrdp: xrdp is a Remote Desktop Server for Linux
+xorgxrdp:
+xorgxrdp: xorgxrdp is a collection of modules to be used with a
+xorgxrdp: pre-existing X.Org install to make the X server act like X11rdp.
+xorgxrdp: Unlike X11rdp, you don't have to recompile the whole X Window
+xorgxrdp: System. Instead, additional modules are installed to a location
+xorgxrdp: where the existing Xorg installation would pick them.
+xorgxrdp:
+xorgxrdp: xorgxrdp: Homepage: http://www.xrdp.org/
diff --git a/system/xorgxrdp/xorgxrdp.SlackBuild b/system/xorgxrdp/xorgxrdp.SlackBuild
new file mode 100644
index 0000000000..273efbc7d8
--- /dev/null
+++ b/system/xorgxrdp/xorgxrdp.SlackBuild
@@ -0,0 +1,86 @@
+#!/bin/sh
+
+# Slackware build script for xorgxrdp
+# Inspired by Phillip Warner <pc_warner@yahoo.com>
+# Written by David Allen <david.a58@optusnet.com.au>
+
+PRGNAM=xorgxrdp
+VERSION=${VERSION:-0.2.12}
+BUILD=${BUILD:-1}
+TAG=${TAG:-_SBo}
+
+if [ -z "$ARCH" ]; then
+ case "$( uname -m )" in
+ i?86) ARCH=i586 ;;
+ arm*) ARCH=arm ;;
+ *) ARCH=$( uname -m ) ;;
+ esac
+fi
+
+CWD=$(pwd)
+TMP=${TMP:-/tmp/SBo}
+PKG=$TMP/package-$PRGNAM
+OUTPUT=${OUTPUT:-/tmp}
+
+if [ "$ARCH" = "i586" ]; then
+ SLKCFLAGS="-O2 -march=i586 -mtune=i686"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "i686" ]; then
+ SLKCFLAGS="-O2 -march=i686 -mtune=i686"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "x86_64" ]; then
+ SLKCFLAGS="-O2 -fPIC"
+ LIBDIRSUFFIX="64"
+else
+ SLKCFLAGS="-O2"
+ LIBDIRSUFFIX=""
+fi
+
+set -e
+
+rm -rf $PKG
+mkdir -p $TMP $PKG $OUTPUT
+cd $TMP
+rm -rf $PRGNAM-$VERSION
+tar xvf $CWD/$PRGNAM-$VERSION.tar.gz
+cd $PRGNAM-$VERSION
+chown -R root:root .
+find -L . \
+ \( -perm 777 -o -perm 775 -o -perm 750 -o -perm 711 -o -perm 555 -o -perm 511 \) \
+ -exec chmod 755 {} \; -o \
+ \( -perm 666 -o -perm 664 -o -perm 640 -o -perm 600 -o -perm 444 \
+ -o -perm 440 -o -perm 400 \) -exec chmod 644 {} \;
+
+# uses autoreconf now
+autoreconf -vfi
+
+CFLAGS="$SLKCFLAGS" \
+CPPFLAGS="$SLKCFLAGS" \
+./configure \
+ --prefix=/usr \
+ --libdir=/usr/lib${LIBDIRSUFFIX} \
+ --sysconfdir=/etc \
+ --localstatedir=/var \
+ --mandir=/usr/man \
+ --docdir=/usr/doc/$PRGNAM-$VERSION \
+ --build=$ARCH-slackware-linux \
+ --disable-static
+
+make
+make install DESTDIR=$PKG
+
+find $PKG | xargs file | grep -e "executable" -e "shared object" | grep ELF \
+ | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null || true
+
+mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION
+cp -a COPYING README.md $PKG/usr/doc/$PRGNAM-$VERSION
+
+mkdir -p $PKG/install
+cat $CWD/slack-desc > $PKG/install/slack-desc
+cat $CWD/doinst.sh > $PKG/install/doinst.sh
+
+cd $PKG
+# Let's not clobber existing config
+mv etc/X11/xrdp/xorg.conf etc/X11/xrdp/xorg.conf.new
+
+/sbin/makepkg -l y -c n $OUTPUT/$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.${PKGTYPE:-tgz}
diff --git a/system/xorgxrdp/xorgxrdp.info b/system/xorgxrdp/xorgxrdp.info
new file mode 100644
index 0000000000..daa7989344
--- /dev/null
+++ b/system/xorgxrdp/xorgxrdp.info
@@ -0,0 +1,10 @@
+PRGNAM="xorgxrdp"
+VERSION="0.2.12"
+HOMEPAGE="http://www.xrdp.org/"
+DOWNLOAD="https://github.com/neutrinolabs/xorgxrdp/archive/v0.2.12/xorgxrdp-0.2.12.tar.gz"
+MD5SUM="40bdedde9e33395f3703fa9507a109fb"
+DOWNLOAD_x86_64=""
+MD5SUM_x86_64=""
+REQUIRES="xrdp"
+MAINTAINER="Phillip Warner"
+EMAIL="pc_warner@yahoo.com"
diff --git a/system/xrdp/README b/system/xrdp/README
index dbefe66f47..e127d9d09a 100644
--- a/system/xrdp/README
+++ b/system/xrdp/README
@@ -1,47 +1,64 @@
-Xrdp provides a fully functional Linux terminal server, capable of accepting
-connections from rdesktop and Microsoft's own terminal server/remote desktop
-clients. Xrdp uses Xvnc or X11rdp (which are installed separately) to manage
-the X session. This means a RDP client can connect to a VNC server on the
-xrdp server machine in addition to the RDP server. Xrdp can also act as a
-bridging server, allowing RDP clients to connect to other RDP or VNC servers
+Xrdp provides a fully functional Linux terminal server, capable of accepting
+connections from rdesktop and Microsoft's own terminal server/remote desktop
+clients. Xrdp uses Xvnc or xorgxrdp (which are installed separately) to manage
+the X session. This means a RDP client can connect to a VNC server on the
+xrdp server machine in addition to the RDP server. Xrdp can also act as a
+bridging server, allowing RDP clients to connect to other RDP or VNC servers
through the xrdp server.
-Xvnc is included with tightvnc (in Slackware /extra).
-X11rdp can be compiled and installed by following the directions in the
-thread at http://tinyurl.com/2ufoz2 (link to LinuxQuestions.org).
+Xvnc is included with tigervnc (in Slackware /extra).
+xorgxrdp can be compiled and installed after installing xrdp.
-By default, this script will make xrdp without PAM support since PAM is not
+By default, this script will make xrdp without PAM support since PAM is not
installed in Slackware by default. The script supports building with PAM,
but it is completely untested by us. If you want to enable PAM, run the
script as follows:
USE_PAM=YES ./xrdp.SlackBuild
-After installing xrdp there are some configuration files in /etc/xrdp that
+By default, this script will make xrdp without GVFS support, as it can cause
+a problem if a session is unexpectedly terminated leaving an orphan GVFS
+mount. (This can be corrected by logging into the server hosting xrdp and
+running 'fusermount -uz ~/thinclient_drives').
+If you want to use drive redirection and shared clipboard support,
+run the script as follows:
+ USE_GVFS=YES ./xrdp.SlackBuild
+
+After installing xrdp there are some configuration files in /etc/xrdp that
can be modified:
** sesman.ini **
-sesman.ini has some useful options to take note of such as the ability to
+sesman.ini has some useful options to take note of such as the ability to
allow xrdp use by only a certain group and to specify the log location.
-*NOTE:* The default log location is now /var/log/xrdp-sesman.log.
+*NOTE:* The default log location is now /var/log/xrdp-sesman.log, and
+the logs are rotated according to /etc/logrotate.d/xrdp-sesman added
+by the script.
** xrdp.ini **
-xrdp.ini should be modified so that you have the options you want at the
-server login screen. For instance, if you want xrdp's default options to be
-like those of a Windows RDP server then change xrdp.ini so that the default
-set of options under [xrdp1] corresponds to sesman-X11rdp. Similarly, you
-might want to change the options (eg. port number) for VNC (listed as
-"console" by default). The man page for xrdp.ini has more details on the
-file.
+xrdp.ini should be modified so that you have the options you want.
+For instance, the server login screen can be customised.
+The default protocol settings is 'ssl_protocols=TLSv1.2, TLSv1.3'.
+OpenSSL 1.0.2 in Slackware 14.2 does not support TLSv1.3, which can
+cause a harmless debug message.
+The remote desktop client in Windows XP requires TLSv1 to connect.
+When released, Windows 7 did not support TLSv1.2, but an official update
+was released.
+The man page for xrdp.ini has more details on the file.
+*NOTE:* The default log location is now /var/log/xrdp.log, and
+the logs are rotated according to /etc/logrotate.d/xrdp added
+by the script.
** xrdp-xinitrc **
-xrdp-xinitrc by default tries to load one of several DE/WMs in order to
-start a X11rdp session. Change this as desired to load a specific DE/WM.
-A similar script can be executed on a per-user basis by creating an
-executable script at ~/.xrdp-xinitrc. A utility program, xrdp-xwmconfig,
-is included to allow you to use your xinit scripts during X11rdp sessions.
-It works just like xwmconfig, so run it as root to set the global default,
-or run it as a normal user to set only the default for that user. See the
-sesman.ini man page for details about defining different names or locations
-for the X11rdp startup scripts.
-
-FreeRDP is an optional dependency.
+xrdp-xinitrc by default tries to load one of several DE/WMs in order to
+start a X11rdp session. Change this as desired to load a specific DE/WM.
+A similar script can be executed on a per-user basis by creating an
+executable script at ~/.xrdp-xinitrc. A utility program, xrdp-xwmconfig,
+is included to allow you to use your xinit scripts during sessions.
+It works just like xwmconfig, so run it as root to set the global default,
+or run it as a normal user to set only the default for that user. See the
+sesman.ini man page for details about defining different names or locations
+for the startup scripts.
+
+If using xorgxrdp, you will likely need a /etc/X11/Xwrapper.config wrapper
+script containing a line:
+ allowed_users = anybody
+(See 'man Xwrapper.config' for details)
diff --git a/system/xrdp/doinst.sh b/system/xrdp/doinst.sh
index f2aaf8f5b1..5e27a33eb6 100644
--- a/system/xrdp/doinst.sh
+++ b/system/xrdp/doinst.sh
@@ -11,19 +11,39 @@ config() {
# Otherwise, we leave the .new copy for the admin to consider...
}
-preserve_perms() {
- NEW="$1"
- OLD="$(dirname $NEW)/$(basename $NEW .new)"
- if [ -e $OLD ]; then
- cp -a $OLD ${NEW}.incoming
- cat $NEW > ${NEW}.incoming
- mv ${NEW}.incoming $NEW
- fi
- config $NEW
-}
+# Keep same perms on rc.xrdp.new:
+if [ -e etc/rc.d/rc.xrdp ]; then
+ cp -a etc/rc.d/rc.xrdp etc/rc.d/rc.xrdp.new.incoming
+ cat etc/rc.d/rc.xrdp.new > etc/rc.d/rc.xrdp.new.incoming
+ mv etc/rc.d/rc.xrdp.new.incoming etc/rc.d/rc.xrdp.new
+fi
+config etc/rc.d/rc.xrdp.new
config etc/xrdp/xrdp-xinitrc.new
+config etc/xrdp/reconnectwm.sh.new
config etc/xrdp/rsakeys.ini.new
config etc/xrdp/sesman.ini.new
config etc/xrdp/xrdp.ini.new
-preserve_perms etc/rc.d/rc.xrdp.new
+config etc/xrdp/xrdp_keyboard.ini.new
+config etc/xrdp/km-00000406.ini.new
+config etc/xrdp/km-00000407.ini.new
+config etc/xrdp/km-00000409.ini.new
+config etc/xrdp/km-0000040a.ini.new
+config etc/xrdp/km-0000040b.ini.new
+config etc/xrdp/km-0000040c.ini.new
+config etc/xrdp/km-00000410.ini.new
+config etc/xrdp/km-00000411.ini.new
+config etc/xrdp/km-00000412.ini.new
+config etc/xrdp/km-00000414.ini.new
+config etc/xrdp/km-00000415.ini.new
+config etc/xrdp/km-00000416.ini.new
+config etc/xrdp/km-00000419.ini.new
+config etc/xrdp/km-0000041d.ini.new
+config etc/xrdp/km-00000807.ini.new
+config etc/xrdp/km-00000809.ini.new
+config etc/xrdp/km-0000080a.ini.new
+config etc/xrdp/km-0000080c.ini.new
+config etc/xrdp/km-00000813.ini.new
+config etc/xrdp/km-00000816.ini.new
+config etc/xrdp/km-0000100c.ini.new
+config etc/xrdp/km-00010409.ini.new
diff --git a/system/xrdp/rc.xrdp b/system/xrdp/rc.xrdp
new file mode 100644
index 0000000000..d68ac6ac95
--- /dev/null
+++ b/system/xrdp/rc.xrdp
@@ -0,0 +1,153 @@
+#!/bin/sh
+# xrdp control script
+# Written : 1-13-2006 - Mark Balliet - posicat@pobox.com
+# maintaned by Jay Sorg
+# chkconfig: 2345 11 89
+# description: starts xrdp
+
+### BEGIN INIT INFO
+# Provides: xrdp
+# Required-Start:
+# Required-Stop:
+# Should-Start:
+# Should-Stop:
+# Default-Start: 2 3 4 5
+# Default-Stop: 0 1 6
+# Short-Description: Start and stop xrdp
+# Description: starts xrdp
+### END INIT INFO
+
+SBINDIR=/usr/sbin
+LOG=/dev/null
+CFGDIR=/etc/xrdp
+
+if ! test -x $SBINDIR/xrdp
+then
+ echo "xrdp is not executable"
+ exit 0
+fi
+if ! test -x $SBINDIR/xrdp-sesman
+then
+ echo "xrdp-sesman is not executable"
+ exit 0
+fi
+if ! test -x $CFGDIR/xrdp-xinitrc
+then
+ echo "xrdp-xinitrc is not executable"
+ exit 0
+fi
+
+xrdp_start()
+{
+ echo -n "Starting: xrdp and sesman . . "
+ $SBINDIR/xrdp >> $LOG
+ $SBINDIR/xrdp-sesman >> $LOG
+ echo "."
+ sleep 1
+ return 0;
+}
+
+xrdp_stop()
+{
+ echo -n "Stopping: xrdp and sesman . . "
+ $SBINDIR/xrdp-sesman --kill >> $LOG
+ $SBINDIR/xrdp --kill >> $LOG
+ echo "."
+ return 0;
+}
+
+is_xrdp_running()
+{
+ ps u --noheading -C xrdp | grep -q -i xrdp
+ if test $? -eq 0
+ then
+ return 1;
+ else
+ return 0;
+ fi
+}
+
+is_sesman_running()
+{
+ ps u --noheading -C xrdp-sesman | grep -q -i xrdp-sesman
+ if test $? -eq 0
+ then
+ return 1;
+ else
+ return 0;
+ fi
+}
+
+check_up()
+{
+ # Cleanup : If sesman isn't running, but the pid exists, erase it.
+ is_sesman_running
+ if test $? -eq 0
+ then
+ if test -e /var/run/xrdp-sesman.pid
+ then
+ rm /var/run/xrdp-sesman.pid
+ fi
+ fi
+ # Cleanup : If xrdp isn't running, but the pid exists, erase it.
+ is_xrdp_running
+ if test $? -eq 0
+ then
+ if test -e /var/run/xrdp.pid
+ then
+ rm /var/run/xrdp.pid
+ fi
+ fi
+ return 0;
+}
+
+case "$1" in
+ start)
+ check_up
+ is_xrdp_running
+ if ! test $? -eq 0
+ then
+ echo "xrdp is already loaded"
+ exit 1
+ fi
+ is_sesman_running
+ if ! test $? -eq 0
+ then
+ echo "sesman is already loaded"
+ exit 1
+ fi
+ xrdp_start
+ ;;
+ stop)
+ check_up
+ is_xrdp_running
+ if test $? -eq 0
+ then
+ echo "xrdp is not loaded."
+ fi
+ is_sesman_running
+ if test $? -eq 0
+ then
+ echo "sesman is not loaded."
+ fi
+ xrdp_stop
+ ;;
+ force-reload|restart)
+ check_up
+ echo "Restarting xrdp ..."
+ xrdp_stop
+ is_xrdp_running
+ while ! test $? -eq 0
+ do
+ check_up
+ sleep 1
+ is_xrdp_running
+ done
+ xrdp_start
+ ;;
+ *)
+ echo "Usage: xrdp.sh {start|stop|restart|force-reload}"
+ exit 1
+esac
+
+exit 0
diff --git a/system/xrdp/slack-desc b/system/xrdp/slack-desc
index 5ba7b8ab8f..ed9364f6a9 100644
--- a/system/xrdp/slack-desc
+++ b/system/xrdp/slack-desc
@@ -8,12 +8,12 @@
|-----handy-ruler------------------------------------------------------|
xrdp: xrdp (Remote Desktop Server for Linux)
xrdp:
-xrdp: Xrdp provides a fully functional Linux terminal server, capable of
-xrdp: accepting connections from rdesktop and Microsoft's own terminal
-xrdp: server and/or remote desktop clients.
+xrdp: xrdp provides a graphical login to remote machines using Microsoft
+xrdp: Remote Desktop Protocol (RDP). xrdp accepts connections from a
+xrdp: variety of RDP clients: FreeRDP, rdesktop, NeutrinoRDP and Microsoft
+xrdp: Remote Desktop Client (for Windows, Mac OS, iOS and Android).
xrdp:
-xrdp: Xrdp uses Xvnc or X11rdp (installed separately) to manage the
-xrdp: X session.
+xrdp: RDP transport is encrypted using TLS by default.
xrdp:
-xrdp: Homepage: http://xrdp.sourceforge.net/
+xrdp: Homepage: http://www.xrdp.org/
xrdp:
diff --git a/system/xrdp/xrdp b/system/xrdp/xrdp
new file mode 100644
index 0000000000..32b6aca2cd
--- /dev/null
+++ b/system/xrdp/xrdp
@@ -0,0 +1,11 @@
+/var/log/xrdp.log {
+ # create 644 root root
+ daily
+ # compress
+ # rotate 7
+ missingok
+ # postrotate
+ # /bin/kill -HUP `cat /var/run/xrdp.pid 2>/dev/null` 2> /dev/null || true
+ # endscript
+}
+
diff --git a/system/xrdp/xrdp-sesman b/system/xrdp/xrdp-sesman
new file mode 100644
index 0000000000..8b2984f8f5
--- /dev/null
+++ b/system/xrdp/xrdp-sesman
@@ -0,0 +1,11 @@
+/var/log/xrdp-sesman.log {
+ # create 644 root root
+ daily
+ # compress
+ # rotate 7
+ missingok
+ postrotate
+ /bin/kill -HUP `cat /var/run/xrdp-sesman.pid 2>/dev/null` 2> /dev/null || true
+ endscript
+}
+
diff --git a/system/xrdp/xrdp.SlackBuild b/system/xrdp/xrdp.SlackBuild
index d5ff39cc11..520cda33c9 100644
--- a/system/xrdp/xrdp.SlackBuild
+++ b/system/xrdp/xrdp.SlackBuild
@@ -2,9 +2,10 @@
# Slackware build script for xrdp
# Written by Phillip Warner <pc_warner@yahoo.com>
+# Amended by David Allen <david.a58@optusnet.com.au>
PRGNAM=xrdp
-VERSION=${VERSION:-0.9.4}
+VERSION=${VERSION:-0.9.12}
BUILD=${BUILD:-1}
TAG=${TAG:-_SBo}
@@ -25,6 +26,10 @@ OUTPUT=${OUTPUT:-/tmp}
# then run this script as: "USE_PAM=YES ./xrdp.SlackBuild"
USE_PAM=${USE_PAM:-NO}
+# If you want drive redirection and shared clipboard support,
+# then run this script as: "USE_GVFS=YES ./xrdp.SlackBuild"
+USE_GVFS=${USE_GVFS:-NO}
+
if [ "$ARCH" = "i586" ]; then
SLKCFLAGS="-O2 -march=i586 -mtune=i686"
LIBDIRSUFFIX=""
@@ -63,9 +68,12 @@ else
NOPAM_OPT=""
fi
-# Optional config options if built with FreeRDP:
-# --enable-freerdp Build freerdp module (default: no)
-# --enable-freerdp1 Build freerdp1 module (default: no)
+if [ "$USE_GVFS" = "NO" ]; then
+ NOGVFS_OPT="--disable-fuse"
+else
+ NOGVFS_OPT="--enable-fuse"
+fi
+
CFLAGS="$SLKCFLAGS" \
CPPFLAGS="$SLKCFLAGS" \
./configure \
@@ -78,16 +86,21 @@ CPPFLAGS="$SLKCFLAGS" \
--build=$ARCH-slackware-linux \
--disable-painter \
--disable-rfxcodec \
+ --disable-static \
+ $NOGVFS_OPT \
$NOPAM_OPT
-# Fix path in what will become the init script
-sed -i "s/SBINDIR=\/usr\/local\/sbin/SBINDIR=\/usr\/sbin/" instfiles/xrdp.sh
-
-# Change xinit script name to xrdp-xinitrc
-sed -i "s/startwm.sh/xrdp-xinitrc/" instfiles/xrdp.sh
-
-# Build fails if a copy of config.{c,h} is not in sesman/tools/
-cp -v sesman/config.{c,h} sesman/tools/
+## Use sed rather than patch as line locations change between versions
+# Change LogLevel to INFO instead of DEBUG
+sed -i "s/LogLevel=DEBUG/LogLevel=INFO/" xrdp/xrdp.ini
+sed -i "s/SyslogLevel=DEBUG/SyslogLevel=INFO/" xrdp/xrdp.ini
+sed -i "s/LogLevel=DEBUG/LogLevel=INFO/" sesman/sesman.ini
+sed -i "s/SyslogLevel=DEBUG/SyslogLevel=INFO/" sesman/sesman.ini
+# Disable Root logins by default
+sed -i "s/AllowRootLogin=true/AllowRootLogin=false/" sesman/sesman.ini
+# Set default RDP session xinit script to /etc/xrdp/xrdp-xinitrc
+sed -i "s/UserWindowManager=startwm.sh/UserWindowManager=.xrdp-xinitrc/" sesman/sesman.ini
+sed -i "s/DefaultWindowManager=startwm.sh/DefaultWindowManager=xrdp-xinitrc/" sesman/sesman.ini
make
make install DESTDIR=$PKG
@@ -95,24 +108,35 @@ make install DESTDIR=$PKG
# Make sure log directory is there
mkdir -p $PKG/var/log
-# Let's make the xrdp_control.sh script the init script
-mkdir -p $PKG/etc/rc.d
-mv $PKG/etc/$PRGNAM/xrdp.sh $PKG/etc/rc.d/rc.$PRGNAM.new
-
# Change startwm.sh name for more consistency with previous SlackBuild
# and corresponding user file name
mv $PKG/etc/$PRGNAM/startwm.sh $PKG/etc/$PRGNAM/xrdp-xinitrc.new
+# Install the xrdp-xwmconfig utility
+install -D -m 0755 -o root -g root $CWD/xrdp-xwmconfig \
+ $PKG/usr/bin/xrdp-xwmconfig
+
# Let's not clobber existing configs
( cd $PKG/etc/$PRGNAM
mv rsakeys.ini rsakeys.ini.new
mv sesman.ini sesman.ini.new
mv xrdp.ini xrdp.ini.new
+ mv xrdp_keyboard.ini xrdp_keyboard.ini.new
+ mv reconnectwm.sh reconnectwm.sh.new
+ rename ini ini.new km-????????.ini
)
-# Install the xrdp-xwmconfig utility
-install -D -m 0755 $CWD/xrdp-xwmconfig \
- $PKG/usr/bin/xrdp-xwmconfig
+# Used to make the init script from instfiles/xrdp.sh,
+# but it was removed from xrdp-0.9.12,
+# so it is included in the SlackBuild files
+install -D -m 0755 -o root -g root $CWD/rc.xrdp \
+ $PKG/etc/rc.d/rc.xrdp.new
+
+# Install logrotate scripts
+install -D -m 0644 -o root -g root $CWD/xrdp \
+ $PKG/etc/logrotate.d/xrdp.new
+install -D -m 0644 -o root -g root $CWD/xrdp-sesman \
+ $PKG/etc/logrotate.d/xrdp-sesman.new
find $PKG | xargs file | grep -e "executable" -e "shared object" | grep ELF \
| cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null || true
@@ -121,7 +145,6 @@ find $PKG/usr/man -type f -exec gzip -9 {} \;
mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION
cp -a COPYING design.txt install.txt README.md faq-*.txt $PKG/usr/doc/$PRGNAM-$VERSION
-
# Keep a backup copy of startwm.sh in the docs
cat sesman/startwm.sh > $PKG/usr/doc/$PRGNAM-$VERSION/startwm.sh-example
cat $CWD/$PRGNAM.SlackBuild > $PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM.SlackBuild
diff --git a/system/xrdp/xrdp.info b/system/xrdp/xrdp.info
index b35d21b43b..c65f289043 100644
--- a/system/xrdp/xrdp.info
+++ b/system/xrdp/xrdp.info
@@ -1,8 +1,8 @@
PRGNAM="xrdp"
-VERSION="0.9.4"
-HOMEPAGE="http://xrdp.sourceforge.net/"
-DOWNLOAD="https://github.com/neutrinolabs/xrdp/archive/v0.9.4/xrdp-0.9.4.tar.gz"
-MD5SUM="d6e5b1b3222716feda18e620a590c9e5"
+VERSION="0.9.12"
+HOMEPAGE="http://www.xrdp.org/"
+DOWNLOAD="https://github.com/neutrinolabs/xrdp/releases/download/v0.9.12/xrdp-0.9.12.tar.gz"
+MD5SUM="cf6507a8d3f44408bead7bdcdfb9f742"
DOWNLOAD_x86_64=""
MD5SUM_x86_64=""
REQUIRES=""
diff --git a/system/xvfb-run/README b/system/xvfb-run/README
new file mode 100644
index 0000000000..aafb4f39bc
--- /dev/null
+++ b/system/xvfb-run/README
@@ -0,0 +1 @@
+Run a command in a virtual X server environment.
diff --git a/system/xvfb-run/slack-desc b/system/xvfb-run/slack-desc
new file mode 100644
index 0000000000..e871d8c5f0
--- /dev/null
+++ b/system/xvfb-run/slack-desc
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description.
+# Line up the first '|' above the ':' following the base package name, and
+# the '|' on the right side marks the last column you can put a character in.
+# You must make exactly 11 lines for the formatting to be correct. It's also
+# customary to leave one space after the ':' except on otherwise blank lines.
+
+ |-----handy-ruler------------------------------------------------------|
+xvfb-run: xvfb-run (Run a command in a virtual X server environment)
+xvfb-run:
+xvfb-run: xvfb-run is a script using virtual framebufer X server
+xvfb-run: to run X programs from command line.
+xvfb-run:
+xvfb-run:
+xvfb-run:
+xvfb-run:
+xvfb-run:
+xvfb-run:
+xvfb-run:
diff --git a/system/xvfb-run/xvfb-run.SlackBuild b/system/xvfb-run/xvfb-run.SlackBuild
new file mode 100644
index 0000000000..9f1c3a092d
--- /dev/null
+++ b/system/xvfb-run/xvfb-run.SlackBuild
@@ -0,0 +1,60 @@
+#!/bin/sh
+
+# Slackware build script for xvfb-run
+
+# Copyright 2020 Jan F, Chadima <jfch.jagda.eu>
+# 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.
+
+PRGNAM=xvfb-run
+VERSION=${VERSION:-1.19.2}
+BUILD=${BUILD:-1}
+TAG=${TAG:-_SBo}
+
+ARCH=noarch
+
+CWD=$(pwd)
+TMP=${TMP:-/tmp/SBo}
+PKG=$TMP/package-$PRGNAM
+OUTPUT=${OUTPUT:-/tmp}
+
+set -e
+
+rm -rf $PKG
+mkdir -p $TMP $PKG $OUTPUT
+cd $TMP
+rm -rf $PRGNAM-$VERSION
+mkdir $PRGNAM-$VERSION
+cd $PRGNAM-$VERSION
+ar x $CWD/xvfb_$VERSION-*.deb
+cd $PKG
+tar xvf $TMP/$PRGNAM-$VERSION/data.tar.xz
+
+rm -f usr/bin/Xvfb
+mv usr/share/* usr
+rmdir usr/share
+rm -f usr/doc/xvfb/changelog*
+mv usr/doc/xvfb usr/doc/xvfb-bin-$VERSION
+rm -f usr/man/man1/Xvfb.1.gz
+mkdir install
+
+cat $CWD/slack-desc > install/slack-desc
+
+cd $PKG
+/sbin/makepkg -l y -c n $OUTPUT/$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.${PKGTYPE:-tgz}
diff --git a/system/xvfb-run/xvfb-run.info b/system/xvfb-run/xvfb-run.info
new file mode 100644
index 0000000000..7ad63a27c7
--- /dev/null
+++ b/system/xvfb-run/xvfb-run.info
@@ -0,0 +1,10 @@
+PRGNAM="xvfb-run"
+VERSION="1.19.2"
+HOMEPAGE="https://packages.gentoo.org/packages/x11-misc/xvfb-run"
+DOWNLOAD="http://ftp.us.debian.org/debian/pool/main/x/xorg-server/xvfb_1.19.2-1+deb9u5_i386.deb"
+MD5SUM="4b467ff96d94ad07b5550d052466449c"
+DOWNLOAD_x86_64=""
+MD5SUM_x86_64=""
+REQUIRES=""
+MAINTAINER="Jan F. Chadima"
+EMAIL="jfch@jagda.eu"
diff --git a/system/yaft/README b/system/yaft/README
new file mode 100644
index 0000000000..751cd4f635
--- /dev/null
+++ b/system/yaft/README
@@ -0,0 +1,23 @@
+Yet another framebuffer terminal (aka "yaft") is simple terminal emulator for minimalist,
+living without X.
+This software is being developed to replace Linux console for personal use.
+
+Features:
+
+* various framebuffer types (8/15/16/24/32bpp)
+* compatible with vt102 and Linux console (detail)
+* UTF-8 encoding and UCS2 glyphs
+* 256 colors (same as xterm)
+* wallpaper
+* DRCS (DECDLD/DRCSMMv1) (experimental)
+* sixel (experimental)
+
+OPTIONS
+
+If you need active Background Draw (always draw even if vt is not active):
+
+ BACKGROUND_DRAW=yes sh yaft.SlackBuild
+
+
+!!! NOTE !!!
+sbo-patches/background-draw.patch : For activate the BACKGROUND DRAW option
diff --git a/system/yaft/sbo-patches/background-drawm.patch b/system/yaft/sbo-patches/background-drawm.patch
new file mode 100644
index 0000000000..0ffeb7cf9f
--- /dev/null
+++ b/system/yaft/sbo-patches/background-drawm.patch
@@ -0,0 +1,11 @@
+--- conf.h 2020-09-12 15:40:06.962795268 -0300
++++ b/conf.h 2020-09-12 15:54:57.712812014 -0300
+@@ -14,7 +14,7 @@
+ VERBOSE = false, /* write dump of input to stdout, debug message to stderr */
+ TABSTOP = 8, /* hardware tabstop */
+ LAZY_DRAW = true, /* don't draw when input data size is larger than BUFSIZE */
+- BACKGROUND_DRAW = false, /* always draw even if vt is not active */
++ BACKGROUND_DRAW = true, /* always draw even if vt is not active */
+ VT_CONTROL = true, /* handle vt switching */
+ FORCE_TEXT_MODE = false, /* force KD_TEXT mode (not use KD_GRAPHICS mode) */
+ SUBSTITUTE_HALF = 0x0020, /* used for missing glyph(single width): U+0020 (SPACE) */
diff --git a/system/yaft/slack-desc b/system/yaft/slack-desc
new file mode 100644
index 0000000000..5d312533f1
--- /dev/null
+++ b/system/yaft/slack-desc
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|' on
+# the right side marks the last column you can put a character in. You must make
+# exactly 11 lines for the formatting to be correct. It's also customary to
+# leave one space after the ':'.
+
+ |-----handy-ruler------------------------------------------------------|
+yaft: yaft (Yet another framebuffer terminal)
+yaft:
+yaft: Simple terminal emulator for minimalist. Living without X.
+yaft:
+yaft:
+yaft:
+yaft:
+yaft:
+yaft:
+yaft: https://github.com/uobikiemukot/yaft
+yaft:
diff --git a/system/yaft/yaft.SlackBuild b/system/yaft/yaft.SlackBuild
new file mode 100644
index 0000000000..bc1dd40caa
--- /dev/null
+++ b/system/yaft/yaft.SlackBuild
@@ -0,0 +1,74 @@
+#!/bin/sh
+# Slackware build script for abella
+# Copyright 2020 Jefferson Rocha <jeffersoncarneiro@slackjeff.com.br>
+# 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.
+
+PRGNAM=yaft
+VERSION=${VERSION:-0.2.9}
+UNPACK=${UNPACK:-v}
+BUILD=${BUILD:-1}
+TAG=${TAG:-_SBo}
+ARCH=noarch
+
+CWD=$(pwd)
+TMP=${TMP:-/tmp/SBo}
+PKG=$TMP/package-$PRGNAM
+OUTPUT=${OUTPUT:-/tmp}
+
+set -e
+
+rm -rf $PKG
+mkdir -p $TMP $PKG $OUTPUT
+cd $TMP
+rm -rf $PRGNAM-$VERSION
+tar xvf $CWD/$PRGNAM-$VERSION.tar.gz
+cd $PRGNAM-$VERSION
+chown -R root:root .
+find -L . \
+ \( -perm 777 -o -perm 775 -o -perm 750 -o -perm 711 -o -perm 555 \
+ -o -perm 511 \) -exec chmod 755 {} \; -o \
+ \( -perm 666 -o -perm 664 -o -perm 640 -o -perm 600 -o -perm 444 \
+ -o -perm 440 -o -perm 400 \) -exec chmod 644 {} \;
+
+# Enable Backgroun Draw!
+BACKGROUND_DRAW=${BACKGROUND_DRAW:-no}
+[ "$BACKGROUND_DRAW" = 'yes' ] && patch -p1 <${CWD}/sbo-patches/background-drawm.patch
+
+# Var MANDIR not work.
+sed -i 's|$(DESTDIR)/usr/share/man|$(DESTDIR)/usr/man|' makefile
+
+# Generate bin and install
+make PREFIX=/usr
+
+make install DESTDIR=$PKG
+
+find $PKG/usr/man -type f -exec gzip -9 {} \;
+for i in $( find $PKG/usr/man -type l ) ; do ln -s $( readlink $i ).gz $i.gz ; rm $i ; done
+
+# Send original Docs and archives
+mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION
+cp -a ChangeLog LICENSE $PKG/usr/doc/$PRGNAM-$VERSION
+cat $CWD/$PRGNAM.SlackBuild > $PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM.SlackBuild
+
+mkdir -p $PKG/install
+cat $CWD/slack-desc > $PKG/install/slack-desc
+
+cd $PKG
+/sbin/makepkg -l y -c n $OUTPUT/$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.${PKGTYPE:-tgz}
diff --git a/system/yaft/yaft.info b/system/yaft/yaft.info
new file mode 100644
index 0000000000..7e02516027
--- /dev/null
+++ b/system/yaft/yaft.info
@@ -0,0 +1,10 @@
+PRGNAM="yaft"
+VERSION="0.2.9"
+HOMEPAGE="https://github.com/uobikiemukot/yaft"
+DOWNLOAD="https://github.com/uobikiemukot/yaft/archive/v0.2.9/yaft-0.2.9.tar.gz"
+MD5SUM="ddcbe929c51c453b01e3d18579b0860a"
+DOWNLOAD_x86_64=""
+MD5SUM_x86_64=""
+REQUIRES=""
+MAINTAINER="Jefferson Rocha"
+EMAIL="jeffersoncarneiro@slackjeff.com.br"
diff --git a/system/yash/yash.SlackBuild b/system/yash/yash.SlackBuild
index cabe3bca8d..5a93ecb8d4 100644
--- a/system/yash/yash.SlackBuild
+++ b/system/yash/yash.SlackBuild
@@ -3,7 +3,7 @@
# Slackware build script for yash
# Copyright 2015-2018 Leonard Schmidt <lems@gmx.net>
-# Copyright 2018-2019 Hunter Sezen <orbea@riseup.net>
+# Copyright 2018-2020 Hunter Sezen <orbea@riseup.net>
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
@@ -24,7 +24,7 @@
# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
PRGNAM=yash
-VERSION=${VERSION:-2.49}
+VERSION=${VERSION:-2.51}
BUILD=${BUILD:-1}
TAG=${TAG:-_SBo}
@@ -77,6 +77,8 @@ CFLAGS="$SLKCFLAGS" \
--mandir=/usr/man
make
+# make test is problematic on 14.2
+#make test
make install DESTDIR=$PKG
mkdir -p $PKG/usr/bin
diff --git a/system/yash/yash.info b/system/yash/yash.info
index 4dfe162189..1267972a88 100644
--- a/system/yash/yash.info
+++ b/system/yash/yash.info
@@ -1,8 +1,8 @@
PRGNAM="yash"
-VERSION="2.49"
+VERSION="2.51"
HOMEPAGE="https://yash.osdn.jp/index.html.en"
-DOWNLOAD="https://osdn.net/dl/yash/yash-2.49.tar.xz"
-MD5SUM="38ff1fad5775906e62bb1b4e4fdb7255"
+DOWNLOAD="https://osdn.net/dl/yash/yash-2.51.tar.xz"
+MD5SUM="91d0c0fa548c9c9a081893f515b4f049"
DOWNLOAD_x86_64=""
MD5SUM_x86_64=""
REQUIRES=""
diff --git a/system/zfs-on-linux/README b/system/zfs-on-linux/README
index 09041c45f9..fe11a0407f 100644
--- a/system/zfs-on-linux/README
+++ b/system/zfs-on-linux/README
@@ -2,14 +2,14 @@ ZFS is a modern filesystem originally developed for SOLARIS.
It provides many functionalities such as snapshots, data compression,
data recovery, filesystem (snapshot) sending/reveiving, and more.
-For more information about ZFS on linux, visit http://zfsonlinux.org
+For more information about ZFS on Linux, please visit
+https://zfsonlinux.org.
NOTE: You'll need the kernel source code to be able to compile this.
This package is kernel dependent, so you'll need to recompile it for
every new kernel you choose to run.
-If you're building this for a kernel that isn't currently running,
-you'll need to pass what that kernel's 'uname -r' output will be
-to the KERN variable when running the build script, e.g. KERN=4.19.46
+Please use KERN environment variable if target kernel version differs
+from that's of the build machine, e.g. `export KERN=5.4.51`.
-NOTE: you should run this on x86_64 systems.
+NOTE: you should run ZFS on 64-bit systems.
diff --git a/system/zfs-on-linux/zfs-on-linux.SlackBuild b/system/zfs-on-linux/zfs-on-linux.SlackBuild
index dc86898486..48027407a7 100644
--- a/system/zfs-on-linux/zfs-on-linux.SlackBuild
+++ b/system/zfs-on-linux/zfs-on-linux.SlackBuild
@@ -2,6 +2,7 @@
# Slackware build script for zfs-on-linux
+# Copyright 2021 Markus Reichelt <slackbuilds@mareichelt.de>, Germany
# Copyright 2017 Marcin Szychowski <szycha@gmail.com>, Poland
# Copyright 2016 Kevin Paulus <goarilla@gmail.com>, Belgium
# Copyright 2013-2014 Petr Hejl - Czech Republic
@@ -28,8 +29,8 @@
PRGNAM=zfs-on-linux
SRCNAM=zfs
-VERSION=${VERSION:-0.8.2}
-BUILD=${BUILD:-1}
+VERSION=${VERSION:-0.8.6}
+BUILD=${BUILD:-2}
TAG=${TAG:-_SBo}
KERN=${KERN:-"$(uname -r)"}
@@ -100,6 +101,8 @@ env -u ARCH make install DESTDIR=$PKG
# no such thing here
rm -fr $PKG/usr/lib/dracut
+# no use to keep header files; the Module.symvers file would need the correct path anyway.
+rm -r $PKG/usr/src
mkdir -p $PKG/etc/rc.d/init.d
rm -fr $PKG/etc/init.d
diff --git a/system/zfs-on-linux/zfs-on-linux.info b/system/zfs-on-linux/zfs-on-linux.info
index 9349523856..ac5850c145 100644
--- a/system/zfs-on-linux/zfs-on-linux.info
+++ b/system/zfs-on-linux/zfs-on-linux.info
@@ -1,10 +1,10 @@
PRGNAM="zfs-on-linux"
-VERSION="0.8.2"
+VERSION="0.8.6"
HOMEPAGE="https://zfsonlinux.org"
-DOWNLOAD="https://github.com/zfsonlinux/zfs/releases/download/zfs-0.8.2/zfs-0.8.2.tar.gz"
-MD5SUM="9952c0fb48bf55df18053aa7084ea405"
+DOWNLOAD="https://github.com/zfsonlinux/zfs/releases/download/zfs-0.8.6/zfs-0.8.6.tar.gz"
+MD5SUM="e3ca8d66af6e2d7a214e92bf6c733082"
DOWNLOAD_x86_64=""
MD5SUM_x86_64=""
REQUIRES=""
-MAINTAINER="Marcin Szychowski"
-EMAIL="szycha@gmail.com"
+MAINTAINER="Markus Reichelt"
+EMAIL="slackbuilds@mareichelt.de"
diff --git a/system/znapzend/slack-desc b/system/znapzend/slack-desc
index bce758c963..4eca1f6027 100644
--- a/system/znapzend/slack-desc
+++ b/system/znapzend/slack-desc
@@ -7,12 +7,13 @@
|-----handy-ruler------------------------------------------------------|
znapzend: znapzend (zfs backup helper tool)
-znapzend:
-znapzend: ZnapZend is a ZFS centric backup tool to create snapshots and send
+znapzend:
+znapzend: ZnapZend is a ZFS centric backup tool to create snapshots and send
znapzend: them to backup locations. It relies on the ZFS tools snapshot, send
-znapzend: and receive to do its work. It has the built-in ability to manage
-znapzend: both local snapshots as well as remote copies by thinning them out
+znapzend: and receive to do its work. It has the built-in ability to manage
+znapzend: both local snapshots as well as remote copies by thinning them out
znapzend: as time progresses.
znapzend:
znapzend: https://github.com/oetiker/znapzend
znapzend:
+znapzend:
diff --git a/system/zsh-completions/zsh-completions.SlackBuild b/system/zsh-completions/zsh-completions.SlackBuild
index a53d32a362..3f7d830057 100644
--- a/system/zsh-completions/zsh-completions.SlackBuild
+++ b/system/zsh-completions/zsh-completions.SlackBuild
@@ -2,7 +2,7 @@
#
# Slackware build script for the zsh-completions.
#
-# Copyright 2018-2019 Edinaldo P. Silva, Rio de Janeiro, Brazil.
+# Copyright 2018-2020 Edinaldo P. Silva, Rio de Janeiro, Brazil.
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
@@ -23,7 +23,7 @@
# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
PRGNAM=zsh-completions
-VERSION=${VERSION:-0.31.0}
+VERSION=${VERSION:-0.32.0}
BUILD=${BUILD:-1}
TAG=${TAG:-_SBo}
diff --git a/system/zsh-completions/zsh-completions.info b/system/zsh-completions/zsh-completions.info
index 6da19aa364..b33d141a83 100644
--- a/system/zsh-completions/zsh-completions.info
+++ b/system/zsh-completions/zsh-completions.info
@@ -1,8 +1,8 @@
PRGNAM="zsh-completions"
-VERSION="0.31.0"
+VERSION="0.32.0"
HOMEPAGE="https://github.com/zsh-users/zsh-completions"
-DOWNLOAD="https://github.com/zsh-users/zsh-completions/archive/0.31.0/zsh-completions-0.31.0.tar.gz"
-MD5SUM="a0fdd1166fe691e980623c069f0b9cf7"
+DOWNLOAD="https://github.com/zsh-users/zsh-completions/archive/0.32.0/zsh-completions-0.32.0.tar.gz"
+MD5SUM="6dd2963013700d6024cf3e292cc1110c"
DOWNLOAD_x86_64=""
MD5SUM_x86_64=""
REQUIRES=""
diff --git a/system/zsh-syntax-highlighting/zsh-syntax-highlighting.SlackBuild b/system/zsh-syntax-highlighting/zsh-syntax-highlighting.SlackBuild
index ed79ce63c0..e7f8830af0 100644
--- a/system/zsh-syntax-highlighting/zsh-syntax-highlighting.SlackBuild
+++ b/system/zsh-syntax-highlighting/zsh-syntax-highlighting.SlackBuild
@@ -2,7 +2,7 @@
#
# Slackware build script for the zsh-syntax-highlighting.
#
-# Copyright 2018 Edinaldo P. Silva, Rio de Janeiro, Brazil.
+# Copyright 2018-2020 Edinaldo P. Silva, Rio de Janeiro, Brazil.
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
@@ -23,7 +23,7 @@
# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
PRGNAM=zsh-syntax-highlighting
-VERSION=${VERSION:-20181101}
+VERSION=${VERSION:-0.7.1}
BUILD=${BUILD:-1}
TAG=${TAG:-_SBo}
@@ -54,16 +54,14 @@ else
LIBDIRSUFFIX=""
fi
-SRCVER=${SRCVER:-e900ad8bad53501689afcb050456400d7a8466e5}
-
set -e
rm -rf $PKG
mkdir -p $TMP $PKG $OUTPUT
cd $TMP
-rm -rf $PRGNAM-$SRCVER
-tar xvf $CWD/$PRGNAM-$SRCVER.tar.gz
-cd $PRGNAM-$SRCVER
+rm -rf $PRGNAM-$VERSION
+tar xvf $CWD/$PRGNAM-$VERSION.tar.gz
+cd $PRGNAM-$VERSION
chown -R root:root .
find -L . \
\( -perm 777 -o -perm 775 -o -perm 750 -o -perm 711 -o -perm 555 \
diff --git a/system/zsh-syntax-highlighting/zsh-syntax-highlighting.info b/system/zsh-syntax-highlighting/zsh-syntax-highlighting.info
index 4f7b58ef4a..74c7ba4fe5 100644
--- a/system/zsh-syntax-highlighting/zsh-syntax-highlighting.info
+++ b/system/zsh-syntax-highlighting/zsh-syntax-highlighting.info
@@ -1,8 +1,8 @@
PRGNAM="zsh-syntax-highlighting"
-VERSION="20181101"
+VERSION="0.7.1"
HOMEPAGE="https://github.com/zsh-users/zsh-syntax-highlighting"
-DOWNLOAD="https://github.com/zsh-users/zsh-syntax-highlighting/archive/e900ad8bad53501689afcb050456400d7a8466e5/zsh-syntax-highlighting-e900ad8bad53501689afcb050456400d7a8466e5.tar.gz"
-MD5SUM="d4ef3fa7e33e83f0e969270488d45f3c"
+DOWNLOAD="https://github.com/zsh-users/zsh-syntax-highlighting/archive/0.7.1/zsh-syntax-highlighting-0.7.1.tar.gz"
+MD5SUM="a271f8f290c4173eb056d7f2d6229eb1"
DOWNLOAD_x86_64=""
MD5SUM_x86_64=""
REQUIRES=""
diff --git a/system/zuluCrypt/zuluCrypt.SlackBuild b/system/zuluCrypt/zuluCrypt.SlackBuild
index 4a747e8ad7..7628512bfe 100644
--- a/system/zuluCrypt/zuluCrypt.SlackBuild
+++ b/system/zuluCrypt/zuluCrypt.SlackBuild
@@ -2,7 +2,7 @@
#
# Slackware build script for zuluCrypt.
#
-# Copyright 2015-2019 Edinaldo P. Silva, Rio de Janeiro, Brazil.
+# Copyright 2015-2020 Edinaldo P. Silva, Rio de Janeiro, Brazil.
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
diff --git a/system/zuluCrypt/zuluCrypt.info b/system/zuluCrypt/zuluCrypt.info
index d6ea41dbac..013b62b239 100644
--- a/system/zuluCrypt/zuluCrypt.info
+++ b/system/zuluCrypt/zuluCrypt.info
@@ -6,5 +6,5 @@ MD5SUM="cc388dc0eefee86e40b19f8e42ce280e"
DOWNLOAD_x86_64=""
MD5SUM_x86_64=""
REQUIRES="qt5 libpwquality zuluplay"
-MAINTAINER="Edinaldo P. Silva"
-EMAIL="edps.mundognu@gmail.com"
+MAINTAINER="orphaned - no maintainer"
+EMAIL="nobody@nowhere"